Fix a bunch of bugs.

This commit is contained in:
Greyson Parrelli
2026-07-24 09:51:25 -04:00
parent ceab30dc2e
commit 094f38593e
8 changed files with 308 additions and 79 deletions
+12 -3
View File
@@ -258,6 +258,15 @@ type Effect struct {
// effect to fire (Golden pack). It's auto-paid when affordable and the
// effect is skipped otherwise — battles take no player input.
CostTrumpet int `json:"costTrumpet,omitempty"`
// SurviveOnly marks a Hurt effect that fires only when the pet lives through
// the hit. By default a Hurt effect still fires on a fatal hit (the Lizard
// drops its Bee even when killed); self-buffs that are pointless once the
// pet is gone (Peacock's apple, Gorilla's shield) opt out with this.
SurviveOnly bool `json:"surviveOnly,omitempty"`
// Posthumous marks a Play effect that still resolves even after its own pet
// has left play — so the Manatee still adds its Apples after rocking itself
// to death.
Posthumous bool `json:"posthumous,omitempty"`
}
// count normalizes the zero value to 1.
@@ -361,7 +370,7 @@ var petTiers = [MaxRounds][]petTemplate{
},
{
Name: "Peacock", Power: 2, Suits: []Suit{SuitBlue, SuitRed},
Effects: []Effect{{Trigger: TriggerHurt, Action: ActionEatApple}},
Effects: []Effect{{Trigger: TriggerHurt, Action: ActionEatApple, SurviveOnly: true}},
EffectText: "Hurt: if this pet hasn't fainted, it eats 1 Apple",
},
{
@@ -500,7 +509,7 @@ var petTiers = [MaxRounds][]petTemplate{
{ // Tier 6
{
Name: "Gorilla", Power: 6, Suits: []Suit{SuitBlue, SuitYellow},
Effects: []Effect{{Trigger: TriggerHurt, Action: ActionShieldSelf}},
Effects: []Effect{{Trigger: TriggerHurt, Action: ActionShieldSelf, SurviveOnly: true}},
EffectText: "Hurt: the next time this pet is hit, prevent all damage",
},
{
@@ -727,7 +736,7 @@ var goldenPetTiers = [MaxRounds][]petTemplate{
Name: "Manatee", Power: 3, Suits: []Suit{SuitBlue, SuitYellow},
Effects: []Effect{
{Trigger: TriggerPlay, Action: ActionThrowRock, Count: 2, Target: "self"},
{Trigger: TriggerPlay, Action: ActionSummonTop, Card: "apple", Count: 4},
{Trigger: TriggerPlay, Action: ActionSummonTop, Card: "apple", Count: 4, Posthumous: true},
},
EffectText: "Play: throw 2 Rocks at itself, then add 4 Apples on top of your deck",
},