Adv 2.0 D&D Phase 11 D3c: Tier 2 zone flavor files

New additive flavor files (zone_forest_shadows_flavor.go,
zone_sunken_temple_flavor.go) with elite-room intros, boss ability
callouts, and zone lore. Reuses existing RoomEntryForestShadows and
BossEntryHollowKing from twinbee_gm_flavor.go. The Sunken Temple had
no canonical RoomEntry/BossEntry pools yet, so both are defined in the
new zone file.

  Hollow King: Corrupting Aura / Root Surge / Devour Light / Phase Two
  Dreaming Aboleth: Tentacle Multiattack / Enslave / Mucus Cloud /
    Legendary Actions

Wires zoneRoomEntryPool, bossEntryPool, zoneLorePool,
bossSignaturePool, and eliteRoomEntryPool to the new tier-2 pools.
Updates the D2b "no callout pool" test to use Dragon's Lair (still
unflavored) and adds Tier 2 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:11:22 -07:00
parent 4ef152fbe6
commit df3110e2d7
4 changed files with 288 additions and 7 deletions

View File

@@ -77,6 +77,8 @@ func zoneRoomEntryPool(zoneID ZoneID) []string {
return append(append([]string{}, flavor.RoomEntryCryptValdris...), flavor.RoomEntryGeneric...)
case ZoneForestShadows:
return append(append([]string{}, flavor.RoomEntryForestShadows...), flavor.RoomEntryGeneric...)
case ZoneSunkenTemple:
return append(append([]string{}, flavor.RoomEntrySunkenTemple...), flavor.RoomEntryGeneric...)
case ZoneManorBlackspire:
return append(append([]string{}, flavor.RoomEntryHauntedManor...), flavor.RoomEntryGeneric...)
case ZoneUnderdark:
@@ -97,6 +99,8 @@ func bossEntryPool(zoneID ZoneID) []string {
return flavor.BossEntryValdris
case ZoneForestShadows:
return flavor.BossEntryHollowKing
case ZoneSunkenTemple:
return flavor.BossEntryDreamingAboleth
case ZoneDragonsLair:
return flavor.BossEntryInfernax
case ZoneAbyssPortal:
@@ -147,6 +151,10 @@ func zoneLorePool(zoneID ZoneID) []string {
return append(append([]string{}, flavor.LoreLinesWarrens...), flavor.LoreLines...)
case ZoneCryptValdris:
return append(append([]string{}, flavor.LoreLinesCrypt...), flavor.LoreLines...)
case ZoneForestShadows:
return append(append([]string{}, flavor.LoreLinesForestShadows...), flavor.LoreLines...)
case ZoneSunkenTemple:
return append(append([]string{}, flavor.LoreLinesSunkenTemple...), flavor.LoreLines...)
}
return flavor.LoreLines
}
@@ -160,6 +168,10 @@ func bossSignaturePool(zoneID ZoneID) []string {
return flavor.GrolSignatureCallouts
case ZoneCryptValdris:
return flavor.ValdrisSignatureCallouts
case ZoneForestShadows:
return flavor.HollowKingSignatureCallouts
case ZoneSunkenTemple:
return flavor.AbolethSignatureCallouts
}
return nil
}
@@ -172,6 +184,10 @@ func eliteRoomEntryPool(zoneID ZoneID) []string {
return flavor.EliteRoomEntryWarrens
case ZoneCryptValdris:
return flavor.EliteRoomEntryCrypt
case ZoneForestShadows:
return flavor.EliteRoomEntryForestShadows
case ZoneSunkenTemple:
return flavor.EliteRoomEntrySunkenTemple
}
return nil
}