the equipment is supposed to fall of as a statebased effect.
this is also true for auras, tho the fix for auras will be alot more complex, and im not reffering to the "protected against" bug which we have reason to not fix.
this is a rule that states
303.4b - If an Aura is enchanting an illegal object or player, the object it was attached to no longer exists, or the player it was attached to has left the game, the Aura is put into its owner's graveyard. (This is a state-based action. See Rule 704.) [CompRules 2009/07/08]
an aura that targets a creature that suddenly becomes a land and loses creature is supposed to fall off, an aura that targets a green creature that suddenly becomes black and loses green is supposed to fall off.
this rule is the same for both auras and equipment, but due to how we handle auras, only equipments will be fixed in this commit.
first, while hunting down easter eggs in the todo.dat i started trying to code some un-added equipment...noticed that thisforeach was exhabiting strange behavior.
what was happening was in the changed line, abilities.size() was a non-static number, so on most abilities, thisforeach was actually stopping prematurely. which explains why there was no test added for thisforeach, becuase it really wasnt working correctly.
what i did to correct the issue was set "i" as an unsigned int = abilities.size()..this way abilities being added don't stop it prematurely in the process of adding the matches.
2nd, this one is geared towards equipment only, it is a bug fix, not a "lets recode all equipment to use this"...i noticed that alot of equipment was suffering from double entries of activated abilities, the first entry was always targeted at the equipment and did nothing in most cases, the 2nd was always added during the getabilities call.
to fix, i added autoskill= ...what this line is used for it activated abilities or abilities that otherwise shouldnt exist when the card is not equipped, it is called on when getabilities function is called by equip() and for removel purposes.
auto={C(-0/-1,1)}:all(this) Add{G} limit:1
other wise it parsed as a non=activated ability, don't worry tho, i change activated manaproducers a long time ago so that they dont use the stack, so all this will do is enable using "limit:"...
Angelic Chorus
Lavaborn Muse
Pestilence
Living Artifact
Hypnotic Specter
there is test for each of these.
btw living artifact hard code was wrong, it was allowing you to remove counters at any phase, the soft code is actually correct. updated living artifact test to the correct version in next rev
also fixed a case where "thatmuch" was never set, i now also store the amount on the source of the trigger as well.
the old method was fine when wagic only supported 200 cards, this is so far from the case now. this will avoid bugs being introduced when we add support for a card in soft code.
what this was essentially doing was it would load every set but the hardcode card as soft code, and if you used the card which was originally hard coded, you get a bug where soft and hard code are both loaded.
auto=lord(*[saproling;forest]) transforms((saproling forest creature land,setpower=1,settoughness=1,newability[{t}:add{g}]))
this is close enough for me, its 99% correct in my books, you can declare either forest and saprolings as attackers, target them as thier respective new types, the only thing that is not correct about it is that they can tap for mana the turn they come into play, however they have summoning sickness and can not attack.
im am not going to change the attack/block rules or manaproducer reactToClick just to satisfy this bug in the only card in MTG that does this.
Temporary Insanity
Tower of Coireall
Tower of the Magistrate
Transguild Courier
Unified Strike
Vampiric Sliver
Verdeloth the Ancient
Veteran's Voice
Warbreak Trumpeter
Waterspout Djinn
Weight of Spires
Wild Growth
Withering Wisps
Wrap in Vigor
Yore-Tiller Nephilim
Zirilan of the Claw
Zombie Mob