you can't pay life which you do not have as life payments.

This commit is contained in:
omegablast2002@yahoo.com
2011-04-17 20:08:08 +00:00
parent 18acf3ad8d
commit 4c90d9e0c2
3 changed files with 23 additions and 2 deletions

View File

@@ -57,7 +57,7 @@ public:
class LifeCost: public ExtraCost{
public:
LifeCost(TargetChooser *_tc = NULL);
virtual int canPay();
virtual int doPay();
virtual LifeCost * clone() const;
};
@@ -66,6 +66,7 @@ class LifeorManaCost: public ExtraCost{
public:
LifeorManaCost(TargetChooser *_tc = NULL,string manaType = "");
string manaType;
virtual int canPay();
virtual int doPay();
virtual LifeorManaCost * clone() const;
};

View File

@@ -74,6 +74,16 @@ LifeCost::LifeCost(TargetChooser *_tc) :
{
}
int LifeCost::canPay()
{
MTGCardInstance * _target = (MTGCardInstance *) target;
if(_target->controller()->life <= 0)
{
return 0;
}
return 1;
}
int LifeCost::doPay()
{
if (!target)
@@ -101,6 +111,16 @@ LifeorManaCost::LifeorManaCost(TargetChooser *_tc,string manaType) :
{
}
int LifeorManaCost::canPay()
{
MTGCardInstance * _target = (MTGCardInstance *) target;
if(_target->controller()->life <= 0)
{
return 0;
}
return 1;
}
int LifeorManaCost::doPay()
{
if (!target)

View File

@@ -487,7 +487,7 @@ void GameObserver::gameStateBasedEffects()
for (int j = 0; j < nbcards; ++j)
{
MTGCardInstance * c = z->cards[j];
if (c->has(Constants::CANTLOSE) || (c->has(Constants::CANTLIFELOSE && players[i]->poisonCount < 10)))
if (c->has(Constants::CANTLOSE) || (c->has(Constants::CANTLIFELOSE) && players[i]->poisonCount < 10))
{
cantlosers++;
}