mirror of
https://github.com/prosolis/gogobee.git
synced 2026-07-15 08:32:41 +00:00
expedition-sim: -pet-level flag to model a base housing pet
Synthetic sim chars are vanilla base-class (no pet, no subclass), so the per-round pet attack/deflect/whiff path was never exercised in the sim. Add -pet-level N (1-10) which stamps a base Massive Dog (no armor) onto the AdventureCharacter via the normal save path before the run, so combat's DerivePlayerStats sees HasPet()==true. 0 (default) stays petless. Measured lift (n=40, 10 classes x L3/7/12 x 3 zones): overall clear-rate 38.3% petless -> 47.8% at pet L10 (+9.4pp); biggest gains go to the caster trailers (bard +13.3, warlock +11.9, cleric +11.4), narrowing class spread.
This commit is contained in:
@@ -43,10 +43,17 @@ func main() {
|
||||
runs = flag.Int("runs", 1, "replicates per (class,level,zone) cell (matrix mode)")
|
||||
|
||||
trace = flag.Bool("trace", false, "include raw per-round CombatEvent stream on the LAST combat of each expedition (boss room) — for J2 diagnostic sweeps")
|
||||
|
||||
petLevel = flag.Int("pet-level", 0, "attach a base housing pet at this level (1-10) to every sim character; 0 = no pet (default, matches prod char-creation)")
|
||||
)
|
||||
flag.Parse()
|
||||
|
||||
if *petLevel < 0 || *petLevel > 10 {
|
||||
fail("pet-level must be 0-10, got", *petLevel)
|
||||
}
|
||||
|
||||
plugin.SetSimIncludeTrace(*trace)
|
||||
plugin.SetSimPetLevel(*petLevel)
|
||||
|
||||
if *matrix {
|
||||
// Matrix default: drop log to keep stdout manageable; explicit
|
||||
|
||||
Reference in New Issue
Block a user