Files
wagic/projects/mtg/include/ReplacementEffects.h
wagic.the.homebrew@gmail.com 9ca552093e Erwan
- Added "PreventAllCombatDamage" [from(...)] [to(...)] keyword. Please test it on a few cards before we "mass" use it. As a side effect, fixed issue 155 (ebony horse target).
2009-11-14 11:35:29 +00:00

43 lines
1.0 KiB
C++

#ifndef _REPLACEMENT_EFFECTS_H_
#define _REPLACEMENT_EFFECTS_H_
#include <list>
using namespace std;
#include "../include/Damage.h"
#include "WEvent.h"
class TargetChooser;
class MTGAbility;
class ReplacementEffect {
public:
virtual WEvent * replace (WEvent * e) {return e;};
virtual ~ReplacementEffect(){};
};
class REDamagePrevention: public ReplacementEffect {
protected:
MTGAbility * source;
TargetChooser * tcSource;
TargetChooser * tcTarget;
int damage;
bool oneShot;
int typeOfDamage;
public:
REDamagePrevention(MTGAbility * _source, TargetChooser *_tcSource = NULL,TargetChooser *_tcTarget = NULL, int _damage = -1, bool _oneShot = true, int typeOfDamage = DAMAGE_ALL_TYPES);
WEvent * replace (WEvent *e);
~REDamagePrevention();
};
class ReplacementEffects {
protected:
list<ReplacementEffect *>modifiers;
public:
ReplacementEffects();
WEvent * replace(WEvent *e);
int add(ReplacementEffect * re);
int remove (ReplacementEffect * re);
~ReplacementEffects();
};
#endif