From 7bbf6c80e8775c012ef9080103789a773cf232be Mon Sep 17 00:00:00 2001 From: jendave Date: Sat, 6 Aug 2011 23:42:47 +0000 Subject: [PATCH] Equipment that becomes a creature will now fall off of what it is equipping as a state-based effect. --- src/forge/GameAction.java | 19 ++++++++++++------- 1 file changed, 12 insertions(+), 7 deletions(-) diff --git a/src/forge/GameAction.java b/src/forge/GameAction.java index 8b592032d9d..03823ece606 100644 --- a/src/forge/GameAction.java +++ b/src/forge/GameAction.java @@ -564,15 +564,20 @@ public class GameAction { //Make sure all equipment stops equipping previously equipped creatures that have left play. CardList equip = AllZoneUtil.getCardsInPlay(); - equip = equip.filter(AllZoneUtil.equipment); - + + //don't filter, so we catch cases where a card loses the subtype "Equipment" + //equip = equip.filter(AllZoneUtil.equipment); + Iterator iter = equip.iterator(); while(iter.hasNext()) { - c = iter.next(); - if(c.isEquipping()) { - Card equippedCreature = c.getEquipping().get(0); - if(!AllZoneUtil.isCardInPlay(equippedCreature)) c.unEquipCard(equippedCreature); - } + c = iter.next(); + if(c.isEquipping()) { + Card equippedCreature = c.getEquipping().get(0); + if(!AllZoneUtil.isCardInPlay(equippedCreature)) c.unEquipCard(equippedCreature); + + //make sure any equipment that has become a creature stops equipping + if(c.isCreature()) c.unEquipCard(equippedCreature); + } }//while iter.hasNext() }//for q=0;q<2