From 7c21912cd4dfb9302d082d0bc885395e019fbce0 Mon Sep 17 00:00:00 2001 From: Florian Fischer Date: Fri, 15 Aug 2025 21:36:14 +0200 Subject: fix armor parsing and effective XEffect calculation --- go/game/cardImplementations_test.go | 23 +++++++++++++++++++++++ 1 file changed, 23 insertions(+) (limited to 'go/game/cardImplementations_test.go') 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") + } +} -- cgit v1.2.3