Also fixed the project includes so that we don't need to always use the indirect include path, ie: #include "../include/foo.h" -> #include "foo.h" I'm don't know much about make files - if I busted the linux build, mea culpa, but I think we're okay on that front too. For future reference, here's the most straightforward link on the topic of adding pch support to make files: http://www.mercs-eng.com/~hulud/index.php?2008/06/13/6-writing-a-good-makefile-for-a-c-project
44 lines
1.0 KiB
C++
44 lines
1.0 KiB
C++
#ifndef _REPLACEMENT_EFFECTS_H_
|
|
#define _REPLACEMENT_EFFECTS_H_
|
|
|
|
#include <list>
|
|
using namespace std;
|
|
#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
|