Adv 2.0 D&D Phase 11 D4c: Tier 3 zone flavor files

New additive flavor files (zone_manor_blackspire_flavor.go,
zone_underforge_flavor.go) with elite-room intros, boss ability
callouts, and zone lore. Manor reuses RoomEntryHauntedManor from
twinbee_gm_flavor.go; Underforge had no canonical RoomEntry/BossEntry
pools yet, so both are defined in the new zone file.

  Aldric Blackspire: Multiattack (life drain) / Charm / Children of the
    Night / Mist Form / Phase Two
  Emberlord Thyrak: Molten Strike / Forge Breath / Living Forge /
    Construct Resilience / Phase Two

Wires zoneRoomEntryPool, bossEntryPool, zoneLorePool,
bossSignaturePool, and eliteRoomEntryPool to the new tier-3 pools.
Adds Tier 3 routing tests for boss-entry, elite line, lore, and
room-entry overlays.

Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
This commit is contained in:
prosolis
2026-05-08 13:36:17 -07:00
parent 8eaada5c1b
commit eea3126412
4 changed files with 311 additions and 0 deletions

View File

@@ -81,6 +81,8 @@ func zoneRoomEntryPool(zoneID ZoneID) []string {
return append(append([]string{}, flavor.RoomEntrySunkenTemple...), flavor.RoomEntryGeneric...)
case ZoneManorBlackspire:
return append(append([]string{}, flavor.RoomEntryHauntedManor...), flavor.RoomEntryGeneric...)
case ZoneUnderforge:
return append(append([]string{}, flavor.RoomEntryUnderforge...), flavor.RoomEntryGeneric...)
case ZoneUnderdark:
return append(append([]string{}, flavor.RoomEntryUnderdark...), flavor.RoomEntryGeneric...)
case ZoneDragonsLair:
@@ -101,6 +103,10 @@ func bossEntryPool(zoneID ZoneID) []string {
return flavor.BossEntryHollowKing
case ZoneSunkenTemple:
return flavor.BossEntryDreamingAboleth
case ZoneManorBlackspire:
return flavor.BossEntryAldricBlackspire
case ZoneUnderforge:
return flavor.BossEntryEmberlordThyrak
case ZoneDragonsLair:
return flavor.BossEntryInfernax
case ZoneAbyssPortal:
@@ -155,6 +161,10 @@ func zoneLorePool(zoneID ZoneID) []string {
return append(append([]string{}, flavor.LoreLinesForestShadows...), flavor.LoreLines...)
case ZoneSunkenTemple:
return append(append([]string{}, flavor.LoreLinesSunkenTemple...), flavor.LoreLines...)
case ZoneManorBlackspire:
return append(append([]string{}, flavor.LoreLinesManorBlackspire...), flavor.LoreLines...)
case ZoneUnderforge:
return append(append([]string{}, flavor.LoreLinesUnderforge...), flavor.LoreLines...)
}
return flavor.LoreLines
}
@@ -172,6 +182,10 @@ func bossSignaturePool(zoneID ZoneID) []string {
return flavor.HollowKingSignatureCallouts
case ZoneSunkenTemple:
return flavor.AbolethSignatureCallouts
case ZoneManorBlackspire:
return flavor.AldricSignatureCallouts
case ZoneUnderforge:
return flavor.ThyrakSignatureCallouts
}
return nil
}
@@ -188,6 +202,10 @@ func eliteRoomEntryPool(zoneID ZoneID) []string {
return flavor.EliteRoomEntryForestShadows
case ZoneSunkenTemple:
return flavor.EliteRoomEntrySunkenTemple
case ZoneManorBlackspire:
return flavor.EliteRoomEntryManorBlackspire
case ZoneUnderforge:
return flavor.EliteRoomEntryUnderforge
}
return nil
}