this commit adds AVRs new ability soulbond.
it requires an update to your mtg rules txt...
the coding is as follows
[card]
name=Arbor Elf
mana={g}
auto=soulbond 1/3
auto=soulbond {t}:add{g}
abilities=soulbond
type=Creature
subtype=Elf Druid
power=1
toughness=1
[/card]
auto=soulbond *any ability supported by wagic*
abilities=soulbond
the above arbor elf gives itself and its soulbond creature a 1/3 bonus and the ability to tap for green mana.
This commit is contained in:
@@ -25,6 +25,13 @@ TargetChooser * TargetChooserFactory::createTargetChooser(string s, MTGCardInsta
|
||||
return NEW BlockableChooser(observer, card, maxtargets);
|
||||
}
|
||||
|
||||
found = s.find("pairable");
|
||||
if (found != string::npos)
|
||||
{
|
||||
int maxtargets = 1;
|
||||
return NEW pairableChooser(observer, card, maxtargets);
|
||||
}
|
||||
|
||||
found = s.find("mytgt");
|
||||
if (found == 0)
|
||||
{
|
||||
@@ -1548,6 +1555,40 @@ bool BlockableChooser::equals(TargetChooser * tc)
|
||||
return TypeTargetChooser::equals(tc);
|
||||
}
|
||||
|
||||
/*display cards pairable by source */
|
||||
bool pairableChooser::canTarget(Targetable * target,bool withoutProtections)
|
||||
{
|
||||
if (MTGCardInstance * card = dynamic_cast<MTGCardInstance*>(target))
|
||||
{
|
||||
if(card->myPair || card == source)
|
||||
return false;
|
||||
if(!card->isCreature() || !card->isInPlay(observer))
|
||||
return false;
|
||||
if(card->controller() != source->controller())
|
||||
return false;
|
||||
if(!card->has(Constants::soulbond) && !source->has(Constants::soulbond))
|
||||
return false;
|
||||
return true;
|
||||
}
|
||||
return false;
|
||||
}
|
||||
|
||||
pairableChooser* pairableChooser::clone() const
|
||||
{
|
||||
pairableChooser * a = NEW pairableChooser(*this);
|
||||
return a;
|
||||
}
|
||||
|
||||
bool pairableChooser::equals(TargetChooser * tc)
|
||||
{
|
||||
|
||||
pairableChooser * dtc = dynamic_cast<pairableChooser *> (tc);
|
||||
if (!dtc)
|
||||
return false;
|
||||
|
||||
return TypeTargetChooser::equals(tc);
|
||||
}
|
||||
|
||||
//-----------
|
||||
/*Proliferate Target */
|
||||
bool ProliferateChooser::canTarget(Targetable * target,bool withoutProtections)
|
||||
|
||||
Reference in New Issue
Block a user