M9b: folk, filer, reklam, sorl och vagnval
All checks were successful
release / build-release (push) Successful in 1m33s
All checks were successful
release / build-release (push) Successful in 1m33s
Folk på stationen (NPC:er som vandrar, kliver av tåg och går mot utgången, blockerar spelaren men inte varandra), vänster-/högerfiler som bromsar på fel sida, bredare gångar, reklamaffischer (clutter), japanskt sorl i loop (noise), vagnval med kvinnovagn (stort avdrag med man i sällskapet, tidsstyrd), kömarkeringar på perrongen, trängsel per vagn (bonus för tom vagn, svettig-debuff och svårare resa i full vagn, släpp förbi passagerare) och att folk kliver av innan man får gå på. Ny bana 005 Ueno. Skärmdumpsverktyget kan filtrera på bana/skript. Co-Authored-By: Claude Fable 5.1 <noreply@anthropic.com>
This commit is contained in:
@@ -45,6 +45,7 @@ func (m Meters) Lowest() (Urge, float64) {
|
||||
// Member är en i sällskapet. Members[0] är spelaren själv.
|
||||
type Member struct {
|
||||
Name string
|
||||
Gender string // "f", "m" eller "" (okänt) – kvinnovagnar bryr sig
|
||||
Meters Meters
|
||||
Urge Urge
|
||||
UrgeAt float64 // när behovet uppstod
|
||||
@@ -61,6 +62,9 @@ type Rates struct{ Thirst, Toilet float64 }
|
||||
// PartyNames är namnen i den ordning de följer med.
|
||||
var PartyNames = []string{"Du", "Anna", "Ville", "Sara", "Omar"}
|
||||
|
||||
// partyGenders hör ihop med PartyNames. Spelaren själv är okänd ("").
|
||||
var partyGenders = []string{"", "f", "m", "f", "m"}
|
||||
|
||||
// Takter och trösklar. Mätarna går från 100 till 0 på ungefär 10/7/8 minuter.
|
||||
const (
|
||||
FoodPerSec = 100.0 / 600
|
||||
@@ -94,7 +98,7 @@ func NewParty(n int, start level.Point, seed rng.Seed) *Party {
|
||||
n = max(1, min(n, len(PartyNames)))
|
||||
p := &Party{rand: seed.New(), Rates: Rates{1, 1}}
|
||||
for i := 0; i < n; i++ {
|
||||
p.Members = append(p.Members, &Member{Name: PartyNames[i], Meters: Meters{100, 100, 100}, Card: MemberCardYen})
|
||||
p.Members = append(p.Members, &Member{Name: PartyNames[i], Gender: partyGenders[i], Meters: Meters{100, 100, 100}, Card: MemberCardYen})
|
||||
}
|
||||
p.trail = []level.Point{start}
|
||||
p.nextEventAt = p.interval() * (0.5 + p.rand.Float64())
|
||||
@@ -194,6 +198,16 @@ func (p *Party) SpeedFactor() float64 {
|
||||
return f
|
||||
}
|
||||
|
||||
// HasMen rapporterar om någon i sällskapet är man (kvinnovagnen).
|
||||
func (p *Party) HasMen() bool {
|
||||
for _, m := range p.Members {
|
||||
if m.Gender == "m" {
|
||||
return true
|
||||
}
|
||||
}
|
||||
return false
|
||||
}
|
||||
|
||||
// Names är medlemmarnas namn i ordning.
|
||||
func (p *Party) Names() []string {
|
||||
out := make([]string, len(p.Members))
|
||||
|
||||
Reference in New Issue
Block a user