added "energized" event
energizedof(player):do something energizedfoeof(player):do something also some fixes in the primitives
This commit is contained in:
@@ -1464,6 +1464,34 @@ public:
|
||||
return NEW TrCombatTrigger(*this);
|
||||
}
|
||||
};
|
||||
class TrplayerEnergized: public Trigger
|
||||
{
|
||||
public:
|
||||
bool thiscontroller, thisopponent;
|
||||
TrplayerEnergized(GameObserver* observer, int id, MTGCardInstance * source, TargetChooser * tc,bool once = false, bool thiscontroller = false, bool thisopponent = false) :
|
||||
Trigger(observer, id, source,once, tc),thiscontroller(thiscontroller),thisopponent(thisopponent)
|
||||
{
|
||||
}
|
||||
|
||||
int triggerOnEventImpl(WEvent * event)
|
||||
{
|
||||
WEventplayerEnergized * e = dynamic_cast<WEventplayerEnergized *> (event);
|
||||
if (!e) return 0;
|
||||
if (!tc->canTarget(e->player)) return 0;
|
||||
if(thiscontroller)
|
||||
if(e->player != source->controller())
|
||||
return 0;
|
||||
if(thisopponent)
|
||||
if(e->player == source->controller())
|
||||
return 0;
|
||||
return 1;
|
||||
}
|
||||
|
||||
TrplayerEnergized * clone() const
|
||||
{
|
||||
return NEW TrplayerEnergized(*this);
|
||||
}
|
||||
};
|
||||
|
||||
class TrcardDrawn: public Trigger
|
||||
{
|
||||
|
||||
@@ -306,6 +306,15 @@ struct WEventCardTransforms : public WEventCardUpdate {
|
||||
virtual Targetable * getTarget(int target);
|
||||
};
|
||||
|
||||
//alterenergy event
|
||||
struct WEventplayerEnergized : public WEvent {
|
||||
WEventplayerEnergized(Player * player,int nb_count);
|
||||
Player * player;
|
||||
int nb_count;
|
||||
using WEvent::getTarget;
|
||||
virtual Targetable * getTarget(Player * player);
|
||||
};
|
||||
|
||||
std::ostream& operator<<(std::ostream&, const WEvent&);
|
||||
|
||||
#endif
|
||||
|
||||
Reference in New Issue
Block a user