mirror of
https://github.com/prosolis/gogobee.git
synced 2026-07-16 00:52:40 +00:00
Adv 2.0 D&D Phase 10 SUB3a-ii: Battle Master L10/L15
L10 Improved Combat Superiority — superiority dice grow d8 → d10. The two scalar maneuvers (Precision Attack +4→+5; Rally heal +4→+5) bump in their Apply hooks; Trip Attack has no scalar to scale. L15 Relentless — 5e regenerates one die when initiative is rolled with an empty pool. Proxied as +1 max pool size (4→5), which gives the same "always at least one die per encounter" guarantee across the long-rest cycle without introducing per-fight regen state. subclassResourceMax now takes level; initSubclassResources upserts the max (and bumps current by the delta) so existing characters grow on level-up. Hooked into the dnd_xp level-up loop so Battle Masters crossing L15 see the new die without waiting for a long rest. 4 new tests; no regression in subclass/resource/level-up paths. Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
This commit is contained in:
@@ -221,9 +221,15 @@ func init() {
|
||||
Class: ClassFighter,
|
||||
Subclass: SubclassBattleMaster,
|
||||
Resource: "superiority",
|
||||
Description: "Add +d8 (≈+4) to your first attack roll this combat (consumes 1 superiority die).",
|
||||
Description: "Add +d8 (≈+4, +5 at L10) to your first attack roll this combat (consumes 1 superiority die).",
|
||||
Apply: func(c *DnDCharacter, mods *CombatModifiers) {
|
||||
mods.FirstAttackBonus += 4
|
||||
// Phase 10 SUB3a-ii — L10 Improved Combat Superiority bumps the
|
||||
// die from d8 (avg 4.5) to d10 (avg 5.5).
|
||||
bonus := 4
|
||||
if c != nil && c.Level >= 10 {
|
||||
bonus = 5
|
||||
}
|
||||
mods.FirstAttackBonus += bonus
|
||||
},
|
||||
}
|
||||
dndActiveAbilities["trip_attack"] = DnDAbility{
|
||||
@@ -243,9 +249,14 @@ func init() {
|
||||
Class: ClassFighter,
|
||||
Subclass: SubclassBattleMaster,
|
||||
Resource: "superiority",
|
||||
Description: "Steel yourself for the fight: heal at low HP for d8 + CHA mod (consumes 1 superiority die).",
|
||||
Description: "Steel yourself for the fight: heal at low HP for d8 + CHA mod (d10 at L10) (consumes 1 superiority die).",
|
||||
Apply: func(c *DnDCharacter, mods *CombatModifiers) {
|
||||
mods.HealItem += 4 + abilityModifier(c.CHA)
|
||||
// Phase 10 SUB3a-ii — L10 Improved Combat Superiority: d8 → d10.
|
||||
base := 4
|
||||
if c != nil && c.Level >= 10 {
|
||||
base = 5
|
||||
}
|
||||
mods.HealItem += base + abilityModifier(c.CHA)
|
||||
},
|
||||
}
|
||||
|
||||
|
||||
Reference in New Issue
Block a user