[wagic] r4887 committed - Changed the owner of ManaCost in LifeorManaCost to itself

1 view
Skip to first unread message

wa...@googlecode.com

unread,
Oct 18, 2013, 2:44:34 AM10/18/13
to wagi...@googlegroups.com
Revision: 4887
Author: pankdm
Date: Fri Oct 18 06:37:31 2013 UTC
Log: Changed the owner of ManaCost in LifeorManaCost to itself
http://code.google.com/p/wagic/source/detail?r=4887

Modified:
/trunk/projects/mtg/include/ExtraCost.h
/trunk/projects/mtg/src/ExtraCost.cpp
/trunk/projects/mtg/src/ManaCost.cpp

=======================================
--- /trunk/projects/mtg/include/ExtraCost.h Fri Oct 18 06:37:09 2013 UTC
+++ /trunk/projects/mtg/include/ExtraCost.h Fri Oct 18 06:37:31 2013 UTC
@@ -95,6 +95,7 @@
{
private:
string manaType;
+ ManaCost manaCost;

public:
LifeorManaCost(TargetChooser *_tc = NULL, string manaType = "");
=======================================
--- /trunk/projects/mtg/src/ExtraCost.cpp Fri Oct 18 06:37:09 2013 UTC
+++ /trunk/projects/mtg/src/ExtraCost.cpp Fri Oct 18 06:37:31 2013 UTC
@@ -162,22 +162,23 @@

ManaCost * LifeorManaCost::getManaCost()
{
- string buildType ="{";
- buildType.append(manaType);
- buildType.append("}");
- return ManaCost::parseManaCost(buildType);
+ return &manaCost;
}

LifeorManaCost::LifeorManaCost(TargetChooser *_tc, string manaType)
: ExtraCost("Phyrexian Mana", _tc), manaType(manaType)
{
+ string buildType ="{";
+ buildType.append(manaType);
+ buildType.append("}");
+ boost::scoped_ptr<ManaCost> cost(ManaCost::parseManaCost(buildType));
+ manaCost.copy(cost.get());
}

int LifeorManaCost::canPay()
{
MTGCardInstance * _target = (MTGCardInstance *) target;
- boost::scoped_ptr<ManaCost> manaCost(getManaCost());
- if (_target->controller()->getManaPool()->canAfford(manaCost.get()) ||
_target->controller()->life > 1)
+ if (_target->controller()->getManaPool()->canAfford(getManaCost()) ||
_target->controller()->life > 1)
{
return 1;
}
@@ -190,16 +191,14 @@
return 0;

MTGCardInstance * _target = (MTGCardInstance *) target;
- ManaCost * manaCost = getManaCost();
- if (_target->controller()->getManaPool()->canAfford(manaCost))
+ if (_target->controller()->getManaPool()->canAfford(&manaCost))
{
- _target->controller()->getManaPool()->pay(manaCost);
+ _target->controller()->getManaPool()->pay(&manaCost);
}
else
{
_target->controller()->loseLife(2);
}
- SAFE_DELETE(manaCost);
target = NULL;
if (tc)
tc->initTargets();
=======================================
--- /trunk/projects/mtg/src/ManaCost.cpp Fri Oct 18 06:37:09 2013 UTC
+++ /trunk/projects/mtg/src/ManaCost.cpp Fri Oct 18 06:37:31 2013 UTC
@@ -8,7 +8,6 @@
#include "WEvent.h"
#include "MTGAbility.h"
#include "iterator"
-#include <boost/scoped_ptr.hpp>

SUPPORT_OBJECT_ANALYTICS(ManaCost)

@@ -594,8 +593,7 @@
LifeorManaCost * phyrexianMana =
dynamic_cast<LifeorManaCost*>(extraCosts->costs[i]);
if (phyrexianMana)
{
- boost::scoped_ptr<ManaCost>
manaCost(phyrexianMana->getManaCost());
- result += manaCost->getManaSymbols(color);
+ result +=
phyrexianMana->getManaCost()->getManaSymbols(color);
}
}
}
Reply all
Reply to author
Forward
0 new messages