- Added a few cards
- Creature attacks, blocks, is re-ordered in blocking list events
This commit is contained in:
wagic.the.homebrew@gmail.com
2009-07-12 12:27:55 +00:00
parent feedb16eae
commit ab445c9758
19 changed files with 280 additions and 148 deletions
+45 -2
View File
@@ -5,6 +5,7 @@ class MTGCardInstance;
class MTGGameZone;
class Damage;
class Phase;
class Targetable;
class WEvent{
public:
@@ -14,7 +15,7 @@ public:
DAMAGE = 2,
CHANGE_PHASE = 3,
};
int type;
int type; //Deprecated, use dynamic casting instead
WEvent(int _type = NOT_SPECIFIED);
virtual ~WEvent() {};
};
@@ -42,12 +43,54 @@ public:
WEventPhaseChange(Phase * _from, Phase * _to);
};
class WEventCardTap: public WEvent{
//Abstract class of event when a card's status changes
class WEventCardUpdate: public WEvent{
public:
MTGCardInstance * card;
WEventCardUpdate(MTGCardInstance * card):WEvent(),card(card){};
};
//Event when a card is tapped/untapped
class WEventCardTap: public WEventCardUpdate{
public:
bool before;
bool after;
WEventCardTap(MTGCardInstance * card, bool before, bool after);
};
//Event when a card's "attacker" status changes
//before:Player/Planeswalker that card was attacking previously
//after: Player/Planeswalker that card is attacking now
class WEventCreatureAttacker: public WEventCardUpdate{
public:
Targetable * before;
Targetable * after;
WEventCreatureAttacker(MTGCardInstance * card,Targetable * from, Targetable * to);
};
//Event when a card's "defenser" status changes
//before : attacker that card was blocking previously
//after: attacker that card is blocking now
class WEventCreatureBlocker: public WEventCardUpdate{
public:
MTGCardInstance * before;
MTGCardInstance * after;
WEventCreatureBlocker(MTGCardInstance * card,MTGCardInstance * from,MTGCardInstance * to);
};
//Event when a blocker is reordered
//exchangeWith: exchange card's position with exchangeWith's position
//attacker:both card and exchangeWith *should* be in attacker's "blockers" list.
class WEventCreatureBlockerRank: public WEventCardUpdate{
public:
MTGCardInstance * exchangeWith;
MTGCardInstance * attacker;
WEventCreatureBlockerRank(MTGCardInstance * card,MTGCardInstance * exchangeWith, MTGCardInstance * attacker);
};
#endif