Support for Silumgar Assassin, Minor PT color and Token, Clone Indicators

When a creature is damaged and has critical life, PT turns to
red(critical life is 2 and below), if a card has a powered down status
like from -1/-1 counter, the PT turns to thistle, if powered up above 4,
the PT turns into yellow, default is white. legendary eldrazi pt is
violet. Token Indicator is T, and C for cards with copy abilities(so we
can differentiate them from originals), TC for both token and copy cat
cards.
This commit is contained in:
Anthony Calosa
2015-09-20 13:19:03 +08:00
parent c372ffa111
commit 0e90426cff
7 changed files with 28 additions and 13 deletions

View File

@@ -87132,7 +87132,7 @@ toughness=7
[/card]
[card]
name=Silumgar Assassin
abilities=strong
abilities=evadebigger
facedown={3}
autofacedown={2}{B}:morph
autofaceup=counter(1/1,1)

View File

@@ -239,6 +239,7 @@ public:
int swapP;
int swapT;
bool isSwitchedPT;
bool isACopier;
void eventattacked();
void eventattackedAlone();

View File

@@ -225,7 +225,8 @@ class Constants
LIBRARYDEATH = 107,
SHUFFLELIBRARYDEATH = 108,
OFFERING = 109,
NB_BASIC_ABILITIES = 110,
EVADEBIGGER = 110,
NB_BASIC_ABILITIES = 111,
RARITY_S = 'S', //Special Rarity

View File

@@ -384,6 +384,7 @@ int AACopier::resolve()
if (_target)
{
source->copy(_target);
source->isACopier = true;
return 1;
}
return 0;

View File

@@ -287,29 +287,37 @@ void CardGui::Render()
ARGB(((static_cast<unsigned char>(actA))/2),0,0,0));
//damaged or buffed or powered down
if(card->wasDealtDamage && card->life <= 2)
mFont->SetColor(ARGB(static_cast<unsigned char>(actA),255,0,0));//red
mFont->SetColor(ARGB(static_cast<unsigned char>(actA),255,0,0));//red critical and damaged
else if(!card->wasDealtDamage && card->pbonus < 0)
mFont->SetColor(ARGB(static_cast<unsigned char>(actA),216,191,216));//thistle
else if(card->getRarity() == Constants::RARITY_T)
mFont->SetColor(ARGB(static_cast<unsigned char>(actA),245,245,245));//smoke
mFont->SetColor(ARGB(static_cast<unsigned char>(actA),216,191,216));//thistle powered down
else if(!card->wasDealtDamage && card->pbonus >= 3)
mFont->SetColor(ARGB(static_cast<unsigned char>(actA),255,255,0));//yellow buff
else if(card->hasType("legendary") && card->hasType("eldrazi"))
mFont->SetColor(ARGB(static_cast<unsigned char>(actA),238,130,238));//violet
mFont->SetColor(ARGB(static_cast<unsigned char>(actA),238,130,238));//violet legendary eldrazi
else
mFont->SetColor(ARGB(static_cast<unsigned char>(actA),255,255,255));//white
mFont->SetColor(ARGB(static_cast<unsigned char>(actA),255,255,255));//white default
mFont->SetScale(actZ);
mFont->SetScale(actZ);
mFont->DrawString(buffer, actX - 10 * actZ, actY + 8 * actZ);
mFont->SetScale(1);
}
if(card->getRarity() == Constants::RARITY_T)
string buff = "";
if(card->isToken && !card->isACopier)
buff = "T";
if(card->isToken && card->isACopier)
buff = "CT";
if(!card->isToken && card->isACopier)
buff = "C";
if(!alternate && buff != "")
{
mFont->SetScale(DEFAULT_MAIN_FONT_SCALE);
char buffer[200];
sprintf(buffer, "T");
mFont->SetColor(ARGB(static_cast<unsigned char>(actA),255,222,173));//Navajo
sprintf(buffer, "%c", buff);
mFont->SetColor(ARGB(static_cast<unsigned char>(actA),255,182,193));//Light Pink indicator
mFont->SetScale(0.8f);
mFont->DrawString(buffer, actX - 10 * actZ, actY - (18 * actZ));
mFont->DrawString(buffer, actX - 10 * actZ, actY - (16 * actZ));
mFont->SetScale(1);
}

View File

@@ -56,6 +56,7 @@ MTGCardInstance::MTGCardInstance(MTGCard * card, MTGPlayerCards * arg_belongs_to
isSettingBase = 0;
isCDA = false;
isSwitchedPT = false;
isACopier = false;
}
MTGCardInstance * MTGCardInstance::createSnapShot()
@@ -750,6 +751,8 @@ int MTGCardInstance::canBlock(MTGCardInstance * opponent)
return 0;
if (opponent->basicAbilities[(int)Constants::ONEBLOCKER] && opponent->blocked)
return 0;
if(opponent->basicAbilities[(int)Constants::EVADEBIGGER] && power > opponent->power)
return 0;
if(opponent->basicAbilities[(int)Constants::STRONG] && power < opponent->power)
return 0;
if(this->basicAbilities[(int)Constants::WEAK] && power < opponent->power)

View File

@@ -138,7 +138,8 @@ const char* Constants::MTGBasicAbilities[] = {
"oppgraveexiler",
"librarydeath",
"shufflelibrarydeath",
"offering"
"offering",
"evadebigger"
};
map<string,int> Constants::MTGBasicAbilitiesMap;