aboutsummaryrefslogtreecommitdiff
path: root/go/game/cardImplementations_test.go
diff options
context:
space:
mode:
authorFlorian Fischer <florian.fischer@muhq.space>2025-08-15 21:36:14 +0200
committerFlorian Fischer <florian.fischer@muhq.space>2025-08-15 23:52:21 +0200
commit7c21912cd4dfb9302d082d0bc885395e019fbce0 (patch)
tree6889bed2d771ba63fb24f5b4e5484fa083b15f6d /go/game/cardImplementations_test.go
parent09ffc6d81ecacddf5b18995e36e13e7190598302 (diff)
downloadmuhqs-game-7c21912cd4dfb9302d082d0bc885395e019fbce0.tar.gz
muhqs-game-7c21912cd4dfb9302d082d0bc885395e019fbce0.zip
fix armor parsing and effective XEffect calculation
Diffstat (limited to 'go/game/cardImplementations_test.go')
-rw-r--r--go/game/cardImplementations_test.go23
1 files changed, 23 insertions, 0 deletions
diff --git a/go/game/cardImplementations_test.go b/go/game/cardImplementations_test.go
index 14339df7..5cef65ca 100644
--- a/go/game/cardImplementations_test.go
+++ b/go/game/cardImplementations_test.go
@@ -232,3 +232,26 @@ func TestMace(t *testing.T) {
t.Fatal("mace trigger not removed")
}
}
+
+func TestArmor(t *testing.T) {
+ s := NewLocalState()
+ m := newEmpty2x2Map()
+ s.SetMap(m)
+
+ player := s.AddNewPlayer("p", NewDeck())
+ opo := s.AddNewPlayer("o", NewDeck())
+
+ a := s.addNewUnit(NewCard("base/archer"), Position{0, 0}, player)
+ p := s.addNewUnit(NewCard("base/pioneer"), Position{0, 1}, opo)
+ armor := newEquipment(NewCard("equipments/armor"), p, opo)
+ s.addPermanent(armor)
+
+ if armor, err := p.XEffect("armor"); armor != 1 {
+ t.Fatal("pioneer not armored", armor, err)
+ }
+
+ s.fight(a, p)
+ if p.Damage() != 0 {
+ t.Fatal("pioneer received damage")
+ }
+}