aboutsummaryrefslogtreecommitdiff
path: root/go/game/cardImplementations_test.go
diff options
context:
space:
mode:
authorFlorian Fischer <florian.fischer@muhq.space>2025-08-15 20:52:55 +0200
committerFlorian Fischer <florian.fischer@muhq.space>2025-08-20 15:57:38 +0200
commit488f6377e6f6fd3099bb927a986d548fbc1eb63f (patch)
tree6cf6a3daed56b279a1f708cc03e551a387810640 /go/game/cardImplementations_test.go
parent139ad01740eba2ff1e0a9d46593d2278b32310ce (diff)
downloadmuhqs-game-488f6377e6f6fd3099bb927a986d548fbc1eb63f.tar.gz
muhqs-game-488f6377e6f6fd3099bb927a986d548fbc1eb63f.zip
implement mace and add damage dealt events/triggers
Diffstat (limited to 'go/game/cardImplementations_test.go')
-rw-r--r--go/game/cardImplementations_test.go42
1 files changed, 42 insertions, 0 deletions
diff --git a/go/game/cardImplementations_test.go b/go/game/cardImplementations_test.go
index 5160816e..14339df7 100644
--- a/go/game/cardImplementations_test.go
+++ b/go/game/cardImplementations_test.go
@@ -190,3 +190,45 @@ symbols:
// TODO: test return to owner
}
+
+func TestMace(t *testing.T) {
+ s := NewLocalState()
+ m := newEmpty2x2Map()
+ s.SetMap(m)
+
+ player := s.AddNewPlayer("p", NewDeck())
+ ctrl := newMockPlayerControl(player)
+ ctrl.actionToSend = NewPassPriority(player)
+ player.Ctrl = ctrl
+
+ opo := s.AddNewPlayer("o", NewDeck())
+ ctrl = newMockPlayerControl(opo)
+ ctrl.actionToSend = NewPassPriority(opo)
+ opo.Ctrl = ctrl
+
+ k := s.addNewUnit(NewCard("base/knight"), Position{0, 0}, player)
+ p := s.addNewUnit(NewCard("base/pioneer"), Position{0, 1}, opo)
+ mace := newEquipment(NewCard("equipments/mace"), k, player)
+ s.addPermanent(mace)
+
+ if len(s.triggers) == 0 {
+ t.Fatal("mace trigger not registered")
+ }
+
+ s.fight(k, p)
+ s.stateBasedActions()
+ if len(s.stack.Actions) == 0 {
+ t.Fatal("mace not triggered")
+ }
+ s.stack.resolve()
+
+ if p.Marks(UnitStates.Paralysis) != 1 {
+ t.Fatal("pioneer not paralysed")
+ }
+
+ s.destroyPermanent(mace)
+
+ if len(s.triggers) != 0 {
+ t.Fatal("mace trigger not removed")
+ }
+}