added "energized" event

energizedof(player):do something
energizedfoeof(player):do something
also some fixes in the primitives
This commit is contained in:
Anthony Calosa
2017-01-23 11:41:19 +08:00
parent 6fe57be115
commit 7f6e96459c
6 changed files with 81 additions and 18 deletions
+7
View File
@@ -1024,7 +1024,14 @@ int AAAlterEnergy::resolve()
{
Player * pTarget = (Player*)_target;
if(pTarget)
{
pTarget->energyCount += energy;
if(energy > 0)
{
WEvent * e = NEW WEventplayerEnergized(pTarget, energy);
game->receiveEvent(e);
}//todo loses enegy event
}
}
return 0;
}
+8
View File
@@ -982,6 +982,14 @@ TriggeredAbility * AbilityFactory::parseTrigger(string s, string, int id, Spell
attackingTrigger,attackedAloneTrigger,notBlockedTrigger,attackBlockedTrigger,blockingTrigger);
}
//energized player - controller of card
if (TargetChooser * tc = parseSimpleTC(s, "energizedof", card))
return NEW TrplayerEnergized(observer, id, card, tc,once,true,false);
//energized player - opponent of card controller
if (TargetChooser * tc = parseSimpleTC(s, "energizedfoeof", card))
return NEW TrplayerEnergized(observer, id, card, tc,once,false,true);
//drawn player - controller of card - dynamic version drawof(player) -> returns current controller even with exchange of card controller
if (TargetChooser * tc = parseSimpleTC(s, "drawof", card))
+11
View File
@@ -240,6 +240,11 @@ WEventCombatStepChange::WEventCombatStepChange(CombatStep step) :
WEvent(), step(step)
{
}
WEventplayerEnergized::WEventplayerEnergized(Player * player, int nb_count) :
player(player), nb_count(nb_count)
{
}
;
Targetable * WEventDamage::getTarget(int target)
@@ -408,6 +413,12 @@ Targetable * WEventCardTransforms::getTarget(int target)
return NULL;
}
Targetable * WEventplayerEnergized::getTarget(Player * player)
{
if (player) return player;
return NULL;
}
std::ostream& WEvent::toString(std::ostream& out) const
{
return out << "EVENT";