Merge pull request #627 from kevlahnota/master

PT colors, Token and Cloner Indicators
This commit is contained in:
Anthony Calosa
2015-09-20 15:28:54 +08:00
7 changed files with 33 additions and 23 deletions

View File

@@ -6267,8 +6267,7 @@ abilities=flying,double strike
facedown={3} facedown={3}
autofacedown={4}{W}:morph autofacedown={4}{W}:morph
autofaceup=counter(1/1,1) autofaceup=counter(1/1,1)
text=Flying text=Flying -- Double strike (This creature deals both first-strike and regular combat damage.) -- Megamorph {4}{W} (You may cast this card face down as a 2/2 creature for {3}. Turn it face up any time for its megamorph cost and put a +1/+1 counter on it.)
Double strike (This creature deals both first-strike and regular combat damage.) -- Megamorph {4}{W} (You may cast this card face down as a 2/2 creature for {3}. Turn it face up any time for its megamorph cost and put a +1/+1 counter on it.)
mana={1}{W}{W} mana={1}{W}{W}
type=Creature type=Creature
subtype=Bird Warrior subtype=Bird Warrior
@@ -18318,8 +18317,7 @@ name=Contradict
target=*|stack target=*|stack
auto=fizzle auto=fizzle
auto=draw:1 controller auto=draw:1 controller
text=Counter target spell. text=Counter target spell. Draw a card.
Draw a card.
mana={3}{U}{U} mana={3}{U}{U}
type=Instant type=Instant
[/card] [/card]
@@ -23463,8 +23461,7 @@ facedown={3}
autofacedown={1}{G}:morph autofacedown={1}{G}:morph
autofaceup=counter(1/1,1) autofaceup=counter(1/1,1)
autofaceup=moveto(ownerhand) target(*|mygraveyard) autofaceup=moveto(ownerhand) target(*|mygraveyard)
text=Creatures with power less than Den Protector's power can't block it. text=Creatures with power less than Den Protector's power can't block it. Megamorph {1}{G} (You may cast this card face down as a 2/2 creature for {3}. Turn it face up any time for its megamorph cost and put a +1/+1 counter on it.) -- When Den Protector is turned face up, return target card from your graveyard to your hand.
Megamorph {1}{G} (You may cast this card face down as a 2/2 creature for {3}. Turn it face up any time for its megamorph cost and put a +1/+1 counter on it.) -- When Den Protector is turned face up, return target card from your graveyard to your hand.
mana={1}{G} mana={1}{G}
type=Creature type=Creature
subtype=Human Warrior subtype=Human Warrior
@@ -54467,8 +54464,7 @@ name=Learn from the Past
target=player target=player
auto=moveTo(ownerlibrary) and!(shuffle)! all(*|targetedpersonsgraveyard) auto=moveTo(ownerlibrary) and!(shuffle)! all(*|targetedpersonsgraveyard)
auto=draw:1 controller auto=draw:1 controller
text=Target player shuffles his or her graveyard into his or her library. text=Target player shuffles his or her graveyard into his or her library. Draw a card.
Draw a card.
mana={3}{U} mana={3}{U}
type=Instant type=Instant
[/card] [/card]
@@ -77324,8 +77320,7 @@ name=Rending Volley
abilities=nofizzle abilities=nofizzle
target=creature[white;blue]|battlefield target=creature[white;blue]|battlefield
auto=damage:4 auto=damage:4
text=Rending Volley can't be countered by spells or abilities. text=Rending Volley can't be countered by spells or abilities. Rending Volley deals 4 damage to target white or blue creature.
Rending Volley deals 4 damage to target white or blue creature.
mana={R} mana={R}
type=Instant type=Instant
[/card] [/card]
@@ -87132,7 +87127,7 @@ toughness=7
[/card] [/card]
[card] [card]
name=Silumgar Assassin name=Silumgar Assassin
abilities=strong abilities=evadebigger
facedown={3} facedown={3}
autofacedown={2}{B}:morph autofacedown={2}{B}:morph
autofaceup=counter(1/1,1) autofaceup=counter(1/1,1)

View File

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

View File

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

View File

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

View File

@@ -287,29 +287,37 @@ void CardGui::Render()
ARGB(((static_cast<unsigned char>(actA))/2),0,0,0)); ARGB(((static_cast<unsigned char>(actA))/2),0,0,0));
//damaged or buffed or powered down //damaged or buffed or powered down
if(card->wasDealtDamage && card->life <= 2) 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) else if(!card->wasDealtDamage && card->pbonus < 0)
mFont->SetColor(ARGB(static_cast<unsigned char>(actA),216,191,216));//thistle mFont->SetColor(ARGB(static_cast<unsigned char>(actA),216,191,216));//thistle powered down
else if(card->getRarity() == Constants::RARITY_T) else if(!card->wasDealtDamage && card->pbonus >= 3)
mFont->SetColor(ARGB(static_cast<unsigned char>(actA),245,245,245));//smoke mFont->SetColor(ARGB(static_cast<unsigned char>(actA),255,255,0));//yellow buff
else if(card->hasType("legendary") && card->hasType("eldrazi")) 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 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->SetScale(actZ); mFont->SetScale(actZ);
mFont->DrawString(buffer, actX - 10 * actZ, actY + 8 * actZ); mFont->DrawString(buffer, actX - 10 * actZ, actY + 8 * actZ);
mFont->SetScale(1); 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); mFont->SetScale(DEFAULT_MAIN_FONT_SCALE);
char buffer[200]; char buffer[200];
sprintf(buffer, "T"); sprintf(buffer, "%s", buff.c_str());
mFont->SetColor(ARGB(static_cast<unsigned char>(actA),255,222,173));//Navajo mFont->SetColor(ARGB(static_cast<unsigned char>(actA),255,182,193));//Light Pink indicator
mFont->SetScale(0.8f); 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); mFont->SetScale(1);
} }

View File

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

View File

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