mirror of
https://github.com/prosolis/gogobee.git
synced 2026-07-16 08:52:42 +00:00
Adv 2.0 D&D Phase 12 E2c: Siege Mode effects + threat-70 warning
§8.3 siege economics: - applyDailyBurn now takes an explicit siege flag and enforces a 2× floor on supply burn even when HarshMod is below 2 (tier-1 zones still get starved out per spec). - currentBurn mirrors the same precedence so status/briefing readouts stay consistent. - Briefing rollover passes e.SiegeMode through, decoupling siege from the harsh-conditions composite. §8.3 threat-70 warning: applyDailyThreatDrift emits a one-time appendApproachingSiegeLog when the level crosses 70 (prevLevel<70 and new level≥70). Pulls from a new flavor.ThreatClockApproachingSiege pool seeded with the spec's verbatim warning beat plus two voice-matched alternates. Other siege effects (boss +20 HP / Legendary Resistance, cleared-room respawn, no-short-rest enforcement) stay deferred to the combat-link phase — ThreatBandInfo already exposes the flags that engine will read. Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
This commit is contained in:
@@ -257,8 +257,17 @@ func (p *AdventurePlugin) expeditionCmdStatus(ctx MessageContext) error {
|
||||
|
||||
func currentBurn(exp *Expedition) float32 {
|
||||
burn := exp.Supplies.DailyBurn
|
||||
if exp.ThreatLevel > 60 || exp.SiegeMode {
|
||||
// Harsh conditions: §4.1 / §8.3.
|
||||
if exp.SiegeMode {
|
||||
// §8.3: siege doubles supply burn outright, overriding HarshMod
|
||||
// (which can be < 2 at low tiers).
|
||||
mult := exp.Supplies.HarshMod
|
||||
if mult < 2 {
|
||||
mult = 2
|
||||
}
|
||||
return burn * mult
|
||||
}
|
||||
if exp.ThreatLevel > 60 {
|
||||
// Harsh conditions: §4.1.
|
||||
mult := exp.Supplies.HarshMod
|
||||
if mult <= 0 {
|
||||
mult = 1
|
||||
|
||||
Reference in New Issue
Block a user