mirror of
https://github.com/prosolis/gogobee.git
synced 2026-07-18 01:42:42 +00:00
adventure: T6 Inversion Stitch (Seamstress) + boss re-strengthen (P8)
Second in-combat Layer-2 mechanic, reusing Amendment's round-end seam. In the Seamstress's phase 2 (<=35% HP) the room sews inside-out in a repeating warn(1)->sting(2) cadence, telegraphed one round ahead: during a pulse player heals (self + ally) invert to damage, floored at 1 HP. State inversionActive/inversionTelegraph round-trips through CombatStatuses so a suspend/resume can't drop or double a pulse. Sim surfaced that unplace is reach-bound (only ~37% reach the boss, then cleared her ~98%), so the mechanic alone is sub-noise. Re-strengthened the Seamstress, the weakest T6 boss (over-softened by P7 for a zone lift that never came): HP 385->460, Atk 39->45, Needle Rain proc 0.40->0.45. Sim-validated at fighter zone 37.5% (in range), and a real boss fight now instead of a victory lap. Claude-Session: https://claude.ai/code/session_0156WqjgsbmSY2U8eQ3Kkb1s
This commit is contained in:
@@ -337,6 +337,12 @@ func renderEvent(e CombatEvent, playerName, enemyName string, result CombatResul
|
||||
return pickRand(narrativeAmendmentRewind)
|
||||
case "midnight_toll":
|
||||
return fmt.Sprintf(pickRand(narrativeMidnightToll), e.Damage)
|
||||
case "inversion_telegraph":
|
||||
return pickRand(narrativeInversionTelegraph)
|
||||
case "inversion_stitch":
|
||||
return pickRand(narrativeInversionStitch)
|
||||
case "heal_inverted":
|
||||
return fmt.Sprintf(pickRand(narrativeHealInverted), e.Damage)
|
||||
case "stat_drain":
|
||||
return fmt.Sprintf(pickRand(narrativeStatDrain), e.Damage)
|
||||
case "debuff":
|
||||
@@ -792,6 +798,27 @@ var narrativeMidnightToll = []string{
|
||||
"🔔 The hour is nearly spent, and so is its patience; each blow lands with more weight now. (+%d attack)",
|
||||
}
|
||||
|
||||
// narrativeInversionTelegraph fires one round before an Inversion Stitch pulse —
|
||||
// the Seamstress's tell. It reads as a warning so a player learns to hold heals.
|
||||
var narrativeInversionTelegraph = []string{
|
||||
"🧵 The Seamstress draws a thread taut and the room *shivers* — walls flexing toward inside-out. Whatever you were about to mend, hold it. (next round, healing turns against you)",
|
||||
"🧵 A seam in the air puckers. The geometry is about to flip; a cure cast into it will run backward. (inversion incoming next round)",
|
||||
}
|
||||
|
||||
// narrativeInversionStitch fires when a pulse activates — the room is sewn
|
||||
// inside-out and healing now wounds for the pulse's duration.
|
||||
var narrativeInversionStitch = []string{
|
||||
"🧵 The stitch pulls through. The room is inside-out now — for a moment, to heal is to hurt.",
|
||||
"🧵 Everything turns wrong-way-round. Mending and wounding have swapped ends of the needle.",
|
||||
}
|
||||
|
||||
// narrativeHealInverted fires each time a heal lands during an active pulse: the
|
||||
// cure runs backward and stings instead. Teaches the mechanic on the spot.
|
||||
var narrativeHealInverted = []string{
|
||||
"🧵 The heal runs backward through the inverted room — the cure opens the wound it meant to close. (%d damage)",
|
||||
"🧵 Healing turns against its target in the sewn-inside-out air; the mend lands as a sting. (%d damage)",
|
||||
}
|
||||
|
||||
var narrativeStatDrain = []string{
|
||||
"🩸 The enemy saps your strength — your swings feel heavier, weaker. (-%d hit damage)",
|
||||
"🩸 Something drains out of your limbs. Your hits won't bite as deep now. (-%d damage)",
|
||||
|
||||
Reference in New Issue
Block a user