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-20 15:57:38 +0200
commitd1d2243527ff2fb7fcbf67f96622e9bd5c279d89 (patch)
tree09aff37ad9ec06e8bfe132cea519bfc54778e9ce /go/game/cardImplementations_test.go
parent5d0b3ee308cd4ef93eeacc90da215cffa856d9e8 (diff)
downloadmuhqs-game-d1d2243527ff2fb7fcbf67f96622e9bd5c279d89.tar.gz
muhqs-game-d1d2243527ff2fb7fcbf67f96622e9bd5c279d89.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")
+ }
+}