J :
* Fix a number of warnings.
This commit is contained in:
@@ -1,46 +1,46 @@
|
|||||||
#include "../include/Credits.h"
|
#include "../include/Credits.h"
|
||||||
#include "../include/GameApp.h"
|
#include "../include/GameApp.h"
|
||||||
#include "../include/GameOptions.h"
|
#include "../include/GameOptions.h"
|
||||||
#include "../include/config.h"
|
#include "../include/config.h"
|
||||||
#include "../include/PlayerData.h"
|
#include "../include/PlayerData.h"
|
||||||
#include "../include/DeckStats.h"
|
#include "../include/DeckStats.h"
|
||||||
|
|
||||||
CreditBonus::CreditBonus(int _value, string _text){
|
CreditBonus::CreditBonus(int _value, string _text){
|
||||||
value = _value;
|
value = _value;
|
||||||
text = _text;
|
text = _text;
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
void CreditBonus::Render(float x, float y, JLBFont * font){
|
void CreditBonus::Render(float x, float y, JLBFont * font){
|
||||||
char buffer[512];
|
char buffer[512];
|
||||||
sprintf(buffer, "%s: %i", text.c_str(), value);
|
sprintf(buffer, "%s: %i", text.c_str(), value);
|
||||||
font->DrawString(buffer,x,y);
|
font->DrawString(buffer,x,y);
|
||||||
}
|
}
|
||||||
|
|
||||||
Credits::Credits(){
|
Credits::Credits(){
|
||||||
unlockedTex = NULL;
|
unlockedTex = NULL;
|
||||||
unlockedQuad = NULL;
|
unlockedQuad = NULL;
|
||||||
unlocked = -1;
|
unlocked = -1;
|
||||||
}
|
}
|
||||||
|
|
||||||
Credits::~Credits(){
|
Credits::~Credits(){
|
||||||
SAFE_DELETE(unlockedTex);
|
SAFE_DELETE(unlockedTex);
|
||||||
SAFE_DELETE(unlockedQuad);
|
SAFE_DELETE(unlockedQuad);
|
||||||
for (int i=0;i<bonus.size();i++)
|
for (unsigned int i = 0; i<bonus.size(); ++i)
|
||||||
if (bonus[i])
|
if (bonus[i])
|
||||||
delete bonus[i];
|
delete bonus[i];
|
||||||
bonus.clear();
|
bonus.clear();
|
||||||
}
|
}
|
||||||
|
|
||||||
void Credits::compute(Player * _p1, Player * _p2, GameApp * _app){
|
void Credits::compute(Player * _p1, Player * _p2, GameApp * _app){
|
||||||
p1 = _p1;
|
p1 = _p1;
|
||||||
p2 = _p2;
|
p2 = _p2;
|
||||||
app = _app;
|
app = _app;
|
||||||
showMsg = (rand() % 5);
|
showMsg = (rand() % 5);
|
||||||
GameObserver * g = GameObserver::GetInstance();
|
GameObserver * g = GameObserver::GetInstance();
|
||||||
if (!p1->isAI() && p2->isAI() && p1!= g->gameOver){
|
if (!p1->isAI() && p2->isAI() && p1!= g->gameOver){
|
||||||
GameOptions * go = GameOptions::GetInstance();
|
GameOptions * go = GameOptions::GetInstance();
|
||||||
value = 400;
|
value = 400;
|
||||||
if (app->gameType == GAME_TYPE_MOMIR) value = 200;
|
if (app->gameType == GAME_TYPE_MOMIR) value = 200;
|
||||||
int difficulty = go->values[OPTIONS_DIFFICULTY].getIntValue();
|
int difficulty = go->values[OPTIONS_DIFFICULTY].getIntValue();
|
||||||
@@ -73,14 +73,14 @@ void Credits::compute(Player * _p1, Player * _p2, GameApp * _app){
|
|||||||
if (unlocked == -1){
|
if (unlocked == -1){
|
||||||
unlocked = isDifficultyUnlocked();
|
unlocked = isDifficultyUnlocked();
|
||||||
if (unlocked){
|
if (unlocked){
|
||||||
unlockedTex = JRenderer::GetInstance()->LoadTexture("graphics/unlocked.png", TEX_TYPE_USE_VRAM);
|
unlockedTex = JRenderer::GetInstance()->LoadTexture("graphics/unlocked.png", TEX_TYPE_USE_VRAM);
|
||||||
unlockedQuad = NEW JQuad(unlockedTex, 2, 2, 396, 96);
|
unlockedQuad = NEW JQuad(unlockedTex, 2, 2, 396, 96);
|
||||||
GameOptions::GetInstance()->values[OPTIONS_DIFFICULTY_MODE_UNLOCKED] = GameOption(1);
|
GameOptions::GetInstance()->values[OPTIONS_DIFFICULTY_MODE_UNLOCKED] = GameOption(1);
|
||||||
GameOptions::GetInstance()->save();
|
GameOptions::GetInstance()->save();
|
||||||
}else{
|
}else{
|
||||||
unlocked = isMomirUnlocked();
|
unlocked = isMomirUnlocked();
|
||||||
if (unlocked){
|
if (unlocked){
|
||||||
unlockedTex = JRenderer::GetInstance()->LoadTexture("graphics/momir_unlocked.png", TEX_TYPE_USE_VRAM);
|
unlockedTex = JRenderer::GetInstance()->LoadTexture("graphics/momir_unlocked.png", TEX_TYPE_USE_VRAM);
|
||||||
unlockedQuad = NEW JQuad(unlockedTex, 2, 2, 396, 96);
|
unlockedQuad = NEW JQuad(unlockedTex, 2, 2, 396, 96);
|
||||||
GameOptions::GetInstance()->values[OPTIONS_MOMIR_MODE_UNLOCKED] = GameOption(1);
|
GameOptions::GetInstance()->values[OPTIONS_MOMIR_MODE_UNLOCKED] = GameOption(1);
|
||||||
GameOptions::GetInstance()->save();
|
GameOptions::GetInstance()->save();
|
||||||
@@ -88,18 +88,18 @@ void Credits::compute(Player * _p1, Player * _p2, GameApp * _app){
|
|||||||
}
|
}
|
||||||
if (unlocked){
|
if (unlocked){
|
||||||
JSample * sample = SampleCache::GetInstance()->getSample("sound/sfx/bonus.wav");
|
JSample * sample = SampleCache::GetInstance()->getSample("sound/sfx/bonus.wav");
|
||||||
if (sample) JSoundSystem::GetInstance()->PlaySample(sample);
|
if (sample) JSoundSystem::GetInstance()->PlaySample(sample);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
vector<CreditBonus *>::iterator it;
|
vector<CreditBonus *>::iterator it;
|
||||||
if (bonus.size()){
|
if (bonus.size()){
|
||||||
CreditBonus * b = NEW CreditBonus(value, "Victory");
|
CreditBonus * b = NEW CreditBonus(value, "Victory");
|
||||||
bonus.insert(bonus.begin(),b);
|
bonus.insert(bonus.begin(),b);
|
||||||
for ( it=bonus.begin()+1 ; it < bonus.end(); ++it){
|
for ( it=bonus.begin()+1 ; it < bonus.end(); ++it){
|
||||||
value+= (*it)->value;
|
value+= (*it)->value;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
@@ -110,26 +110,26 @@ void Credits::compute(Player * _p1, Player * _p2, GameApp * _app){
|
|||||||
|
|
||||||
}else{
|
}else{
|
||||||
unlocked = 0;
|
unlocked = 0;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
void Credits::Render(){
|
void Credits::Render(){
|
||||||
GameObserver * g = GameObserver::GetInstance();
|
GameObserver * g = GameObserver::GetInstance();
|
||||||
JRenderer * r = JRenderer::GetInstance();
|
JRenderer * r = JRenderer::GetInstance();
|
||||||
JLBFont * f = GameApp::CommonRes->GetJLBFont(Constants::MAIN_FONT);
|
JLBFont * f = GameApp::CommonRes->GetJLBFont(Constants::MAIN_FONT);
|
||||||
JLBFont * f2 = GameApp::CommonRes->GetJLBFont(Constants::MENU_FONT);
|
JLBFont * f2 = GameApp::CommonRes->GetJLBFont(Constants::MENU_FONT);
|
||||||
JLBFont * f3 = GameApp::CommonRes->GetJLBFont(Constants::MAGIC_FONT);
|
JLBFont * f3 = GameApp::CommonRes->GetJLBFont(Constants::MAGIC_FONT);
|
||||||
f->SetScale(1);
|
f->SetScale(1);
|
||||||
f2->SetScale(1);
|
f2->SetScale(1);
|
||||||
f3->SetScale(1);
|
f3->SetScale(1);
|
||||||
char buffer[512];
|
char buffer[512];
|
||||||
if (!p1->isAI() && p2->isAI() ){
|
if (!p1->isAI() && p2->isAI() ){
|
||||||
if (g->gameOver != p1){
|
if (g->gameOver != p1){
|
||||||
sprintf (buffer, "Congratulations! You earn %i credits", value);
|
sprintf (buffer, "Congratulations! You earn %i credits", value);
|
||||||
if (unlockedQuad){
|
if (unlockedQuad){
|
||||||
showMsg = 0;
|
showMsg = 0;
|
||||||
r->RenderQuad(unlockedQuad, 20, 20);
|
r->RenderQuad(unlockedQuad, 20, 20);
|
||||||
}
|
}
|
||||||
}else{
|
}else{
|
||||||
sprintf (buffer, "You have been defeated");
|
sprintf (buffer, "You have been defeated");
|
||||||
}
|
}
|
||||||
@@ -141,18 +141,18 @@ void Credits::Render(){
|
|||||||
int p0life = p1->life;
|
int p0life = p1->life;
|
||||||
sprintf(buffer, "Player %i wins (%i)", winner, p0life );
|
sprintf(buffer, "Player %i wins (%i)", winner, p0life );
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
float y = 130;
|
float y = 130;
|
||||||
if (showMsg == 1) y = 50;
|
if (showMsg == 1) y = 50;
|
||||||
vector<CreditBonus *>:: iterator it;
|
vector<CreditBonus *>:: iterator it;
|
||||||
for ( it=bonus.begin() ; it < bonus.end(); ++it){
|
for ( it=bonus.begin() ; it < bonus.end(); ++it){
|
||||||
(*it)->Render(10,y,f3);
|
(*it)->Render(10,y,f3);
|
||||||
y+=12;
|
y+=12;
|
||||||
}
|
}
|
||||||
f2->DrawString(buffer, 10, y);
|
f2->DrawString(buffer, 10, y);
|
||||||
y+=15;
|
y+=15;
|
||||||
|
|
||||||
if (showMsg == 1){
|
if (showMsg == 1){
|
||||||
f2->DrawString("Please support this project !" ,10,y+15);
|
f2->DrawString("Please support this project !" ,10,y+15);
|
||||||
f->DrawString("Wagic is free, open source, and developed on the little free time I have" ,10,y+30);
|
f->DrawString("Wagic is free, open source, and developed on the little free time I have" ,10,y+30);
|
||||||
@@ -160,10 +160,10 @@ void Credits::Render(){
|
|||||||
f->DrawString("(Seriously, donate or I'll kill this cute little bunny)" ,10,y+54);
|
f->DrawString("(Seriously, donate or I'll kill this cute little bunny)" ,10,y+54);
|
||||||
f->DrawString("Thanks in advance for your support." ,10,y+66);
|
f->DrawString("Thanks in advance for your support." ,10,y+66);
|
||||||
f2->DrawString("-> http://wololo.net/wagic" ,10,y+78);
|
f2->DrawString("-> http://wololo.net/wagic" ,10,y+78);
|
||||||
}
|
}
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
int Credits::isDifficultyUnlocked(){
|
int Credits::isDifficultyUnlocked(){
|
||||||
if (GameOptions::GetInstance()->values[OPTIONS_DIFFICULTY_MODE_UNLOCKED].getIntValue()) return 0;
|
if (GameOptions::GetInstance()->values[OPTIONS_DIFFICULTY_MODE_UNLOCKED].getIntValue()) return 0;
|
||||||
@@ -180,7 +180,7 @@ int Credits::isDifficultyUnlocked(){
|
|||||||
if(fileExists(buffer)){
|
if(fileExists(buffer)){
|
||||||
found = 1;
|
found = 1;
|
||||||
nbAIDecks++;
|
nbAIDecks++;
|
||||||
sprintf(aiSmallDeckName, "ai_baka_deck%i",nbAIDecks);
|
sprintf(aiSmallDeckName, "ai_baka_deck%i",nbAIDecks);
|
||||||
int percentVictories = stats->percentVictories(string(aiSmallDeckName));
|
int percentVictories = stats->percentVictories(string(aiSmallDeckName));
|
||||||
if (percentVictories >=67) wins++;
|
if (percentVictories >=67) wins++;
|
||||||
if (wins >= 10) return 1;
|
if (wins >= 10) return 1;
|
||||||
@@ -193,4 +193,4 @@ int Credits::isMomirUnlocked(){
|
|||||||
if (GameOptions::GetInstance()->values[OPTIONS_MOMIR_MODE_UNLOCKED].getIntValue()) return 0;
|
if (GameOptions::GetInstance()->values[OPTIONS_MOMIR_MODE_UNLOCKED].getIntValue()) return 0;
|
||||||
if (p1->game->inPlay->countByType("land") == 8) return 1;
|
if (p1->game->inPlay->countByType("land") == 8) return 1;
|
||||||
return 0;
|
return 0;
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -112,14 +112,15 @@ void GameStateDuel::Start()
|
|||||||
|
|
||||||
|
|
||||||
void GameStateDuel::loadPlayerMomir(int playerId, int isAI){
|
void GameStateDuel::loadPlayerMomir(int playerId, int isAI){
|
||||||
char * deckFile = RESPATH"/player/momir.txt";
|
char deckFile[] = RESPATH"/player/momir.txt";
|
||||||
char * deckFileSmall = "momir";
|
char deckFileSmall[] = "momir";
|
||||||
|
char empty[] = "";
|
||||||
MTGDeck * tempDeck = NEW MTGDeck(deckFile, NULL, mParent->collection);
|
MTGDeck * tempDeck = NEW MTGDeck(deckFile, NULL, mParent->collection);
|
||||||
deck[playerId] = NEW MTGPlayerCards(mParent->collection,tempDeck);
|
deck[playerId] = NEW MTGPlayerCards(mParent->collection,tempDeck);
|
||||||
if (!isAI){ //Human Player
|
if (!isAI){ //Human Player
|
||||||
mPlayers[playerId] = NEW HumanPlayer(deck[playerId],deckFileSmall);
|
mPlayers[playerId] = NEW HumanPlayer(deck[playerId],deckFileSmall);
|
||||||
}else{
|
}else{
|
||||||
mPlayers[playerId] = NEW AIMomirPlayer(deck[playerId],deckFile,"");
|
mPlayers[playerId] = NEW AIMomirPlayer(deck[playerId],deckFile,empty);
|
||||||
}
|
}
|
||||||
delete tempDeck;
|
delete tempDeck;
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -163,7 +163,7 @@ int AbilityFactory::magicText(int id, Spell * spell, MTGCardInstance * card){
|
|||||||
OutputDebugString("Cost is null\n");
|
OutputDebugString("Cost is null\n");
|
||||||
SAFE_DELETE(cost);
|
SAFE_DELETE(cost);
|
||||||
}
|
}
|
||||||
|
|
||||||
int may = 0;
|
int may = 0;
|
||||||
if (line.find("may ") != string::npos) may = 1;
|
if (line.find("may ") != string::npos) may = 1;
|
||||||
|
|
||||||
@@ -171,9 +171,9 @@ int AbilityFactory::magicText(int id, Spell * spell, MTGCardInstance * card){
|
|||||||
//Tap in the cost ?
|
//Tap in the cost ?
|
||||||
if (line.find("{t}") != string::npos) doTap = 1;
|
if (line.find("{t}") != string::npos) doTap = 1;
|
||||||
|
|
||||||
TargetChooser * tc;
|
TargetChooser * tc = NULL;
|
||||||
TargetChooser * lordTargets;
|
TargetChooser * lordTargets = NULL;
|
||||||
Trigger * trigger;
|
Trigger * trigger = NULL;
|
||||||
while (line.size()){
|
while (line.size()){
|
||||||
string s;
|
string s;
|
||||||
found = line.find("&&");
|
found = line.find("&&");
|
||||||
@@ -383,7 +383,7 @@ int AbilityFactory::magicText(int id, Spell * spell, MTGCardInstance * card){
|
|||||||
dryModeResult = BAKA_EFFECT_GOOD;
|
dryModeResult = BAKA_EFFECT_GOOD;
|
||||||
dryModeResultSet = 1;
|
dryModeResultSet = 1;
|
||||||
break;
|
break;
|
||||||
} //TODO :
|
} //TODO :
|
||||||
if (tc){
|
if (tc){
|
||||||
ACopier * a = NEW ACopier(id,card,tc,cost);
|
ACopier * a = NEW ACopier(id,card,tc,cost);
|
||||||
if (may){
|
if (may){
|
||||||
@@ -727,7 +727,7 @@ int AbilityFactory::magicText(int id, Spell * spell, MTGCardInstance * card){
|
|||||||
sprintf(buf, "AUTO ACTION PARSED: %s\n", line.c_str());
|
sprintf(buf, "AUTO ACTION PARSED: %s\n", line.c_str());
|
||||||
OutputDebugString(buf);
|
OutputDebugString(buf);
|
||||||
#endif
|
#endif
|
||||||
}
|
}
|
||||||
if (dryMode){
|
if (dryMode){
|
||||||
SAFE_DELETE(tc);
|
SAFE_DELETE(tc);
|
||||||
SAFE_DELETE(lordTargets);
|
SAFE_DELETE(lordTargets);
|
||||||
@@ -1736,7 +1736,7 @@ int ActivatedAbility::reactToClick(MTGCardInstance * card){
|
|||||||
OutputDebugString("React To click 2\n");
|
OutputDebugString("React To click 2\n");
|
||||||
if (!cost->isExtraPaymentSet()){
|
if (!cost->isExtraPaymentSet()){
|
||||||
OutputDebugString("React To click 3\n");
|
OutputDebugString("React To click 3\n");
|
||||||
|
|
||||||
game->waitForExtraPayment = cost->extraCosts;
|
game->waitForExtraPayment = cost->extraCosts;
|
||||||
return 0;
|
return 0;
|
||||||
}
|
}
|
||||||
@@ -1757,12 +1757,12 @@ int ActivatedAbility::reactToTargetClick(Targetable * object){
|
|||||||
if (object->typeAsTarget() == TARGET_CARD) cost->setExtraCostsAction(this, (MTGCardInstance *) object);
|
if (object->typeAsTarget() == TARGET_CARD) cost->setExtraCostsAction(this, (MTGCardInstance *) object);
|
||||||
OutputDebugString("React To click 2\n");
|
OutputDebugString("React To click 2\n");
|
||||||
if (!cost->isExtraPaymentSet()){
|
if (!cost->isExtraPaymentSet()){
|
||||||
OutputDebugString("React To click 3\n");
|
OutputDebugString("React To click 3\n");
|
||||||
game->waitForExtraPayment = cost->extraCosts;
|
game->waitForExtraPayment = cost->extraCosts;
|
||||||
return 0;
|
return 0;
|
||||||
}
|
}
|
||||||
game->currentlyActing()->getManaPool()->pay(cost);
|
game->currentlyActing()->getManaPool()->pay(cost);
|
||||||
cost->doPayExtra();
|
cost->doPayExtra();
|
||||||
}
|
}
|
||||||
fireAbility();
|
fireAbility();
|
||||||
return 1;
|
return 1;
|
||||||
@@ -1771,7 +1771,7 @@ int ActivatedAbility::reactToTargetClick(Targetable * object){
|
|||||||
|
|
||||||
|
|
||||||
|
|
||||||
//The whole targetAbility mechanism is messed up, mainly because of its interactions with
|
//The whole targetAbility mechanism is messed up, mainly because of its interactions with
|
||||||
// the ActionLayer, GameObserver, and parent class ActivatedAbility.
|
// the ActionLayer, GameObserver, and parent class ActivatedAbility.
|
||||||
// Currently choosing a target is a complete different mechanism for put into play and for other abilities.
|
// Currently choosing a target is a complete different mechanism for put into play and for other abilities.
|
||||||
// It probably shouldn't be the case.
|
// It probably shouldn't be the case.
|
||||||
@@ -1802,7 +1802,7 @@ int TargetAbility::reactToTargetClick(Targetable * object){
|
|||||||
if (tc->toggleTarget(object) == TARGET_OK_FULL){
|
if (tc->toggleTarget(object) == TARGET_OK_FULL){
|
||||||
waitingForAnswer = 0;
|
waitingForAnswer = 0;
|
||||||
return ActivatedAbility::reactToClick(source);
|
return ActivatedAbility::reactToClick(source);
|
||||||
}
|
}
|
||||||
return 1;
|
return 1;
|
||||||
}
|
}
|
||||||
return 0;
|
return 0;
|
||||||
@@ -1822,11 +1822,11 @@ int TargetAbility::reactToClick(MTGCardInstance * card){
|
|||||||
return ActivatedAbility::reactToClick(source);
|
return ActivatedAbility::reactToClick(source);
|
||||||
}else{
|
}else{
|
||||||
if (tc->toggleTarget(card) == TARGET_OK_FULL){
|
if (tc->toggleTarget(card) == TARGET_OK_FULL){
|
||||||
|
|
||||||
int result = ActivatedAbility::reactToClick(source);
|
int result = ActivatedAbility::reactToClick(source);
|
||||||
if (result) waitingForAnswer = 0;
|
if (result) waitingForAnswer = 0;
|
||||||
return result;
|
return result;
|
||||||
}
|
}
|
||||||
return 1;
|
return 1;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@@ -2076,7 +2076,7 @@ other solutions need to be provided for abilities that add mana (ex: mana flare)
|
|||||||
|
|
||||||
|
|
||||||
AManaProducer::AManaProducer(int id, MTGCardInstance * card, ManaCost * _output, ManaCost * _cost , int doTap):MTGAbility(id, card), tap(doTap){
|
AManaProducer::AManaProducer(int id, MTGCardInstance * card, ManaCost * _output, ManaCost * _cost , int doTap):MTGAbility(id, card), tap(doTap){
|
||||||
|
|
||||||
LOG("==Creating ManaProducer Object");
|
LOG("==Creating ManaProducer Object");
|
||||||
aType=MTGAbility::MANA_PRODUCER;
|
aType=MTGAbility::MANA_PRODUCER;
|
||||||
cost = _cost;
|
cost = _cost;
|
||||||
@@ -2165,13 +2165,13 @@ other solutions need to be provided for abilities that add mana (ex: mana flare)
|
|||||||
OutputDebugString("React To click 2\n");
|
OutputDebugString("React To click 2\n");
|
||||||
if (!cost->isExtraPaymentSet()){
|
if (!cost->isExtraPaymentSet()){
|
||||||
OutputDebugString("React To click 3\n");
|
OutputDebugString("React To click 3\n");
|
||||||
|
|
||||||
GameObserver::GetInstance()->waitForExtraPayment = cost->extraCosts;
|
GameObserver::GetInstance()->waitForExtraPayment = cost->extraCosts;
|
||||||
return 0;
|
return 0;
|
||||||
}
|
}
|
||||||
GameObserver::GetInstance()->currentlyActing()->getManaPool()->pay(cost);
|
GameObserver::GetInstance()->currentlyActing()->getManaPool()->pay(cost);
|
||||||
cost->doPayExtra();
|
cost->doPayExtra();
|
||||||
}
|
}
|
||||||
if (tap) source->tapped = 1;
|
if (tap) source->tapped = 1;
|
||||||
currentlyTapping++;
|
currentlyTapping++;
|
||||||
|
|
||||||
@@ -2240,4 +2240,4 @@ other solutions need to be provided for abilities that add mana (ex: mana flare)
|
|||||||
LOG("==Destroying ManaProducer Object Successful!");
|
LOG("==Destroying ManaProducer Object Successful!");
|
||||||
}
|
}
|
||||||
|
|
||||||
int AManaProducer::currentlyTapping = 0;
|
int AManaProducer::currentlyTapping = 0;
|
||||||
|
|||||||
@@ -120,7 +120,7 @@ MTGCardInstance * MTGPlayerCards::putInZone(MTGCardInstance * card, MTGGameZone
|
|||||||
GameObserver *g = GameObserver::GetInstance();
|
GameObserver *g = GameObserver::GetInstance();
|
||||||
if (!from || !to) return card; //Error check
|
if (!from || !to) return card; //Error check
|
||||||
|
|
||||||
if (copy = from->removeCard(card)){
|
if ((copy = from->removeCard(card))){
|
||||||
|
|
||||||
if (GameOptions::GetInstance()->values[OPTIONS_SFXVOLUME].getIntValue() > 0){
|
if (GameOptions::GetInstance()->values[OPTIONS_SFXVOLUME].getIntValue() > 0){
|
||||||
if (to == graveyard){
|
if (to == graveyard){
|
||||||
|
|||||||
Reference in New Issue
Block a user