Implemented "Battle" type from MOM set (they are like planeswalkers), added some new primitives from MOM set, fixed some primitives targeting any target.
This commit is contained in:
@@ -2055,7 +2055,7 @@ int MTGAttackRule::receiveEvent(WEvent *e)
|
||||
if(dtarget->type_as_damageable == Damageable::DAMAGEABLE_MTGCARDINSTANCE)
|
||||
{
|
||||
MTGCardInstance * ctarget = ((MTGCardInstance *)card->isAttacking);
|
||||
if(ctarget->hasType(Subtypes::TYPE_PLANESWALKER))
|
||||
if(ctarget->hasType(Subtypes::TYPE_PLANESWALKER) || ctarget->hasType(Subtypes::TYPE_BATTLE))
|
||||
card->toggleAttacker();//if a card has cantpwattack, then you cant
|
||||
}
|
||||
}
|
||||
@@ -2112,14 +2112,14 @@ int MTGPlaneswalkerAttackRule::isReactingToClick(MTGCardInstance * card, ManaCos
|
||||
{
|
||||
if (currentPhase == MTG_PHASE_COMBATATTACKERS && card->controller() == game->currentPlayer && card->controller() == game->currentlyActing())//on my turn and when I am the acting player.
|
||||
{
|
||||
if(!card->controller()->opponent()->game->inPlay->hasType("planeswalker"))
|
||||
if(!card->controller()->opponent()->game->inPlay->hasType("planeswalker") && !card->controller()->opponent()->game->inPlay->hasType("battle"))
|
||||
return 0;
|
||||
if(card->isPhased)
|
||||
return 0;
|
||||
if ((card->isAttacker()) || (card->canAttack(true) && card->attackPlaneswalkerCost < 1))
|
||||
{
|
||||
if(!card->isAttacker())
|
||||
attackpwmenu = "Attack Planeswalker";
|
||||
attackpwmenu = "Attack Planeswalker or Battle";
|
||||
else
|
||||
attackpwmenu = "Remove Attacker";
|
||||
|
||||
@@ -2158,7 +2158,7 @@ int MTGPlaneswalkerAttackRule::reactToClick(MTGCardInstance * card)
|
||||
for(int i = 0; i < checkWalkers;++i)
|
||||
{
|
||||
check = card->controller()->opponent()->game->battlefield->cards[i];
|
||||
if(check->hasType(Subtypes::TYPE_PLANESWALKER))
|
||||
if(check->hasType(Subtypes::TYPE_PLANESWALKER) || check->hasType(Subtypes::TYPE_BATTLE))
|
||||
{
|
||||
MTGAbility * setPw = NEW AAPlaneswalkerAttacked(game, game->mLayers->actionLayer()->getMaxId(), card,check);
|
||||
MTGAbility * setWalker = setPw->clone();
|
||||
@@ -2168,7 +2168,6 @@ int MTGPlaneswalkerAttackRule::reactToClick(MTGCardInstance * card)
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
if(selection.size())
|
||||
{
|
||||
MTGAbility * a1 = NEW MenuAbility(game, this->GetId(), card, card,false,selection);
|
||||
@@ -3969,6 +3968,15 @@ int MTGPlaneswalkerDamage::receiveEvent(WEvent * event)
|
||||
}
|
||||
return 1;
|
||||
}
|
||||
if (d->damage > 0 && card && card->hasType(Subtypes::TYPE_BATTLE))
|
||||
{
|
||||
int howMany = d->damage;
|
||||
for(int k = 0; k < howMany; k++)
|
||||
{
|
||||
card->counters->removeCounter("defense", 0, 0);
|
||||
}
|
||||
return 1;
|
||||
}
|
||||
}
|
||||
if (WEventCounters * removel = dynamic_cast<WEventCounters*>(event))
|
||||
{
|
||||
@@ -3978,7 +3986,6 @@ int MTGPlaneswalkerDamage::receiveEvent(WEvent * event)
|
||||
removel->targetCard->toGrave(true);
|
||||
return 1;
|
||||
}
|
||||
|
||||
}
|
||||
return 0;
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user