Adding a "loseAbilities" keyword per Dr.Solomat's request. The Goal was to code Evil Presence, but I think there is still some work to do to achieve this. The main concern is that (according to the Miki), neither transforms(( nor "becomes(" allow to lose some subtypes. A land enchanted with Evil Presence is supposed to lose its land subtypes. Since we don't support subtypes that good, I don't think this is possible. Additionally, Evil PResence would require to move "{T}:Add{X}" from the basic lands primitives into the rules (which sounds quite easy to do). I've nevertheless tested this on Gaea's Cradle, and it works. (Gaea's Cradle loses its abilities)

This commit is contained in:
wagic.the.homebrew
2011-05-04 01:33:34 +00:00
parent 810548d816
commit 494bcf3315
6 changed files with 100 additions and 7 deletions

View File

@@ -46,6 +46,8 @@ public:
TargetChooser * getCurrentTargetChooser();
void setCurrentWaitingAction(ActionElement * ae);
MTGAbility * getAbility(int type);
//Removes from game but does not move the element to garbage. The caller must take care of deleting the element.
int removeFromGame(ActionElement * e);
int moveToGarbage(ActionElement * e);
int cleanGarbage();
protected:

View File

@@ -3606,6 +3606,17 @@ public:
~APreventDamageTypes();
};
//Remove all abilities from target
class ALoseAbilities: public MTGAbility
{
public:
vector <MTGAbility *> storedAbilities;
ALoseAbilities(int id, MTGCardInstance * source, MTGCardInstance * target);
int addToGame();
int destroy();
ALoseAbilities * clone() const;
};
//Adds types/abilities/P/T to a card (until end of turn)
class APreventDamageTypesUEOT: public InstantAbility
{