mirror of
https://github.com/prosolis/gogobee.git
synced 2026-07-15 16:42:41 +00:00
Adv 2.0 D&D Phase 11 D2b: Tier 1 zone flavor files
New additive flavor files (zone_goblin_warrens_flavor.go, zone_crypt_valdris_flavor.go) with elite-room intros, boss ability callouts (Grol: Surprise Attack / Heart of Hruggek / Terrifying Roar; Valdris: Corrupting Touch / Legendary Resistance / Call of the Grave / Phase Two), and zone-specific lore deep-dives. Existing twinbee_gm_flavor.go is untouched per the protected-files contract. Wires three narration helpers in dnd_zone_narration.go: composeBossEntry — boss-entry render plus a one-line ability callout eliteRoomEntryLine — elite-room atmospheric prefix zoneLorePool — zone-specific !lore pool with generic fallback Boss-entry callsite in dnd_zone_cmd.go now uses composeBossEntry; the elite branch of resolveCombatRoom prefixes with the zone's elite line. Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
This commit is contained in:
@@ -349,7 +349,7 @@ func (p *AdventurePlugin) zoneCmdAdvance(ctx MessageContext) error {
|
||||
}
|
||||
b.WriteString(fmt.Sprintf("✓ Cleared room %d (%s).\n\n", prevIdx+1, prettyRoomType(prev)))
|
||||
if next == RoomBoss {
|
||||
if line := twinBeeLine(zone.ID, GMBossEntry, run.RunID, nextIdx); line != "" {
|
||||
if line := composeBossEntry(zone.ID, run.RunID, nextIdx); line != "" {
|
||||
b.WriteString(line)
|
||||
b.WriteString("\n\n")
|
||||
}
|
||||
@@ -400,6 +400,12 @@ func (p *AdventurePlugin) resolveCombatRoom(userID id.UserID, run *DungeonRun, z
|
||||
scanMoodEventsFromCombat(run.RunID, result)
|
||||
|
||||
var b strings.Builder
|
||||
if elite {
|
||||
if line := eliteRoomEntryLine(zone.ID, run.RunID, run.CurrentRoom); line != "" {
|
||||
b.WriteString(line)
|
||||
b.WriteString("\n")
|
||||
}
|
||||
}
|
||||
if line := twinBeeLine(zone.ID, GMCombatStart, run.RunID, run.CurrentRoom); line != "" {
|
||||
b.WriteString(line)
|
||||
b.WriteString("\n")
|
||||
|
||||
Reference in New Issue
Block a user