72
projects/mtg/bin/Res/rules/mtg.txt
Normal file
72
projects/mtg/bin/Res/rules/mtg.txt
Normal file
@@ -0,0 +1,72 @@
|
|||||||
|
# This is the basic rules for MTG.
|
||||||
|
# Do not add any "Draw X cards at startup" or "shuffle" here, as the story mode and the test suite rely on this
|
||||||
|
# file, and they usually don't expect the draw rule or shuffle to happen
|
||||||
|
# If you want shuffle or draw events, put them directly in your own rules file that includes this file, see clasic.txt for example
|
||||||
|
hidden
|
||||||
|
[INIT]
|
||||||
|
mode=mtg
|
||||||
|
|
||||||
|
#MTG Game specific rules
|
||||||
|
auto=bonusrule
|
||||||
|
auto=putinplayrule
|
||||||
|
auto=kickerrule
|
||||||
|
auto=alternativecostrule
|
||||||
|
auto=buybackrule
|
||||||
|
auto=flashbackrule
|
||||||
|
auto=retracerule
|
||||||
|
auto=suspendrule
|
||||||
|
auto=morphrule
|
||||||
|
auto=payzerorule
|
||||||
|
auto=overloadrule
|
||||||
|
auto=attackrule
|
||||||
|
auto=attackcostrule
|
||||||
|
auto=blockrule
|
||||||
|
auto=blockcostrule
|
||||||
|
auto=combattriggerrule
|
||||||
|
auto=legendrule
|
||||||
|
auto=planeswalkerrule
|
||||||
|
auto=planeswalkerdamage
|
||||||
|
auto=planeswalkerattack
|
||||||
|
auto=tokencleanuprule
|
||||||
|
auto=persistrule
|
||||||
|
auto=vampirerule
|
||||||
|
auto=unearthrule
|
||||||
|
auto=lifelinkrule
|
||||||
|
auto=deathtouchrule
|
||||||
|
auto=soulbondrule
|
||||||
|
auto=dredgerule
|
||||||
|
auto=bestowrule
|
||||||
|
|
||||||
|
[PLAYERS]
|
||||||
|
life:20
|
||||||
|
offerinterruptonphase=draw
|
||||||
|
|
||||||
|
auto=sethand:7
|
||||||
|
auto=@each my draw:draw:1
|
||||||
|
auto=maxPlay(land)1
|
||||||
|
|
||||||
|
|
||||||
|
#Lands Mana Rules
|
||||||
|
auto=lord(Plains[-noactivatedability;-nomanaability;-notapability;land]|MyBattlefield) {T}:Add{W}
|
||||||
|
auto=lord(Island[-noactivatedability;-nomanaability;-notapability;land]|MyBattlefield) {T}:Add{U}
|
||||||
|
auto=lord(Swamp[-noactivatedability;-nomanaability;-notapability;land]|MyBattlefield) {T}:Add{B}
|
||||||
|
auto=lord(Mountain[-noactivatedability;-nomanaability;-notapability;land]|MyBattlefield) {T}:Add{R}
|
||||||
|
auto=lord(Forest[-noactivatedability;-nomanaability;-notapability;land]|MyBattlefield) {T}:Add{G}
|
||||||
|
|
||||||
|
|
||||||
|
#Mana Empties from manapool at the end of each phase
|
||||||
|
auto=@each untap:removeMana(*)
|
||||||
|
auto=@each upkeep:removeMana(*)
|
||||||
|
auto=@each draw:removeMana(*)
|
||||||
|
auto=@each firstmain:removeMana(*)
|
||||||
|
auto=@each combatbegins:removeMana(*)
|
||||||
|
auto=@each attackers:removeMana(*)
|
||||||
|
auto=@each blockers:removeMana(*)
|
||||||
|
auto=@each combatdamage:removeMana(*)
|
||||||
|
auto=@each combatEnds:removeMana(*)
|
||||||
|
auto=@each secondmain:removeMana(*)
|
||||||
|
auto=@each end:removeMana(*)
|
||||||
|
auto=@each cleanup:removeMana(*)
|
||||||
|
|
||||||
|
#reset Creature damage at the cleanup phase
|
||||||
|
auto=@each cleanup:all(*|myBattlefield) resetDamage
|
||||||
@@ -2278,7 +2278,7 @@ type=Artifact
|
|||||||
[card]
|
[card]
|
||||||
name=Rhonas's Monument
|
name=Rhonas's Monument
|
||||||
auto=lord(creature[green]|mycastingzone) altercost(colorless,-1)
|
auto=lord(creature[green]|mycastingzone) altercost(colorless,-1)
|
||||||
auto=@movedto(creature|mystack):target(creature|mybattlefield) transforms((,newability[2/2 ueot],newability[trample ueot]))
|
auto=@movedto(creature|mystack):target(creature|mybattlefield) 2/2 ueot && trample ueot
|
||||||
text=Green creature spells you cast cost {1} less to cast. -- Whenever you cast a creature spell, target creature you control gets +2/+2 and gains trample until end of turn.
|
text=Green creature spells you cast cost {1} less to cast. -- Whenever you cast a creature spell, target creature you control gets +2/+2 and gains trample until end of turn.
|
||||||
mana={3}
|
mana={3}
|
||||||
type=Legendary Artifact
|
type=Legendary Artifact
|
||||||
|
|||||||
@@ -288,7 +288,7 @@ auto=draw:7 opponent
|
|||||||
auto=moveto(mylibrary) all(*|myhand)
|
auto=moveto(mylibrary) all(*|myhand)
|
||||||
auto=moveto(mylibrary) all(*|mygraveyard) && shuffle
|
auto=moveto(mylibrary) all(*|mygraveyard) && shuffle
|
||||||
auto=draw:7 controller
|
auto=draw:7 controller
|
||||||
auto=moveto(exile)
|
auto=moveto(exile) all(this)
|
||||||
text=Assist (Another player can pay up to {5} of this spell's cost.) -- Each player shuffles their hand and graveyard into their library, then draws seven cards. Exile Game Plan.
|
text=Assist (Another player can pay up to {5} of this spell's cost.) -- Each player shuffles their hand and graveyard into their library, then draws seven cards. Exile Game Plan.
|
||||||
mana={5}{U}
|
mana={5}{U}
|
||||||
type=Sorcery
|
type=Sorcery
|
||||||
|
|||||||
@@ -238,8 +238,7 @@ toughness=2
|
|||||||
|
|
||||||
[card]
|
[card]
|
||||||
name=Unbreakable Formation
|
name=Unbreakable Formation
|
||||||
auto=if compare(restriction{assorcery}~morethan~0) then all(creature|myBattlefield) counter(1/1)
|
auto=if compare(restriction{assorcery}~morethan~0) then all(creature|myBattlefield) counter(1/1) else
|
||||||
auto=if compare(restriction{assorcery}~morethan~0) then all(creature|myBattlefield) vigilance
|
|
||||||
auto=all(creature|myBattlefield) indestructible ueot
|
auto=all(creature|myBattlefield) indestructible ueot
|
||||||
text=Creatures you control gain indestructible until end of turn. -- Addendum — If you cast this spell during your main phase, put a +1/+1 counter on each of those creatures and they gain vigilance until end of turn.
|
text=Creatures you control gain indestructible until end of turn. -- Addendum — If you cast this spell during your main phase, put a +1/+1 counter on each of those creatures and they gain vigilance until end of turn.
|
||||||
mana={2}{W}
|
mana={2}{W}
|
||||||
|
|||||||
@@ -501,9 +501,7 @@ subtype=Davriel
|
|||||||
[card]
|
[card]
|
||||||
name=Deathsprout
|
name=Deathsprout
|
||||||
target=creature
|
target=creature
|
||||||
auto=destroy
|
auto=destroy and!(moveTo(myBattlefield) and!(tap(noevent))! target(land[basic]|myLibrary))!
|
||||||
aicode=activate moveTo(myBattlefield) and!(tap(noevent))! target(*[basic]|myLibrary)
|
|
||||||
auto=name(search card) reveal:plibrarycount optionone name(choose card) target(*[basic]|reveal) moveto(ownerlibrary) and!( becomes(tobecast) ueot )! optiononeend optiontwo name(put back) target(<1>*|reveal) moveto(ownerlibrary) and!( all(*|reveal) moveto(ownerlibrary) and!(shuffle)! )! optiontwoend afterrevealed all(tobecast|mylibrary) moveto(ownerlibrary) and!(moveTo(myBattlefield) and!(tap(noevent))!)! afterrevealedend revealend
|
|
||||||
text=Destroy target creature. Search your library for a basic land card, put it onto the battlefield tapped, then shuffle your library.
|
text=Destroy target creature. Search your library for a basic land card, put it onto the battlefield tapped, then shuffle your library.
|
||||||
mana={1}{B}{B}{G}
|
mana={1}{B}{B}{G}
|
||||||
type=Instant
|
type=Instant
|
||||||
|
|||||||
@@ -150,7 +150,7 @@ toughness=3
|
|||||||
|
|
||||||
[card]
|
[card]
|
||||||
name=Imperial Lancer
|
name=Imperial Lancer
|
||||||
auto=aslongas(dinosaur|mybattlefield) double strike
|
auto=aslongas type(dinosaur|mybattlefield)~morethan~0 double strike
|
||||||
text=Imperial Lancer has double strike as long as you control a Dinosaur.
|
text=Imperial Lancer has double strike as long as you control a Dinosaur.
|
||||||
mana={W}
|
mana={W}
|
||||||
type=Creature
|
type=Creature
|
||||||
@@ -601,7 +601,7 @@ toughness=2
|
|||||||
name=Lookout's Dispersal
|
name=Lookout's Dispersal
|
||||||
target=*|stack
|
target=*|stack
|
||||||
auto=name(counter spell) target(*|stack) transforms((,newability[pay[[{2}]] name(pay 2 mana) donothing?fizzle])) forever
|
auto=name(counter spell) target(*|stack) transforms((,newability[pay[[{2}]] name(pay 2 mana) donothing?fizzle])) forever
|
||||||
autohand=aslongas(pirate|mybattlefield) altercost(colorless,-1)
|
autohand=aslongas type(pirate|mybattlefield)~morethan~0 altercost(colorless,-1)
|
||||||
text=Lookout's Dispersal costs {1} less to cast if you control a Pirate. -- Counter target spell unless its controller pays {4}.
|
text=Lookout's Dispersal costs {1} less to cast if you control a Pirate. -- Counter target spell unless its controller pays {4}.
|
||||||
mana={2}{U}
|
mana={2}{U}
|
||||||
type=Instant
|
type=Instant
|
||||||
@@ -725,7 +725,7 @@ type=Legendary Land
|
|||||||
|
|
||||||
[card]
|
[card]
|
||||||
name=Shaper Apprentice
|
name=Shaper Apprentice
|
||||||
auto=aslongas(other merfolk|mybattlefield) flying
|
auto=aslongas type(other merfolk|mybattlefield)~morethan~0 then flying
|
||||||
text=Shaper Apprentice has flying as long as you control another Merfolk.
|
text=Shaper Apprentice has flying as long as you control another Merfolk.
|
||||||
mana={1}{U}
|
mana={1}{U}
|
||||||
type=Creature
|
type=Creature
|
||||||
@@ -1004,7 +1004,7 @@ toughness=4
|
|||||||
|
|
||||||
[card]
|
[card]
|
||||||
name=Desperate Castaways
|
name=Desperate Castaways
|
||||||
auto=aslongas(artifact|mybattlefield)<1 cantattack
|
auto=aslongas type(artifact|mybattlefield) ~lessthan~ 0 then cantattack
|
||||||
text=Desperate Castaways can't attack unless you control an artifact.
|
text=Desperate Castaways can't attack unless you control an artifact.
|
||||||
mana={1}{B}
|
mana={1}{B}
|
||||||
type=Creature
|
type=Creature
|
||||||
@@ -1372,6 +1372,7 @@ toughness=2
|
|||||||
|
|
||||||
[card]
|
[card]
|
||||||
name=Captivating Crew
|
name=Captivating Crew
|
||||||
|
abilities=haste
|
||||||
auto={3}{R}:target(creature) untap && haste && alias=129767
|
auto={3}{R}:target(creature) untap && haste && alias=129767
|
||||||
text={3}{R}: Gain control of target creature an opponent controls until end of turn. Untap that creature. It gains haste until end of turn. Activate this ability only any time you could cast a sorcery.
|
text={3}{R}: Gain control of target creature an opponent controls until end of turn. Untap that creature. It gains haste until end of turn. Activate this ability only any time you could cast a sorcery.
|
||||||
mana={3}{R}
|
mana={3}{R}
|
||||||
@@ -1453,7 +1454,7 @@ toughness=2
|
|||||||
[card]
|
[card]
|
||||||
name=Headstrong Brute
|
name=Headstrong Brute
|
||||||
abilities=cantblock
|
abilities=cantblock
|
||||||
auto=aslongas(other pirate|mybattlefield) menace
|
auto=aslongas type(other pirate|mybattlefield)~morethan~0 then menace
|
||||||
text=Headstrong Brute can't block. -- Headstrong Brute has menace as long as you control another Pirate.
|
text=Headstrong Brute can't block. -- Headstrong Brute has menace as long as you control another Pirate.
|
||||||
mana={2}{R}
|
mana={2}{R}
|
||||||
type=Creature
|
type=Creature
|
||||||
@@ -1641,8 +1642,8 @@ subtype=Aura
|
|||||||
|
|
||||||
[card]
|
[card]
|
||||||
name=Thrash of Raptors
|
name=Thrash of Raptors
|
||||||
auto=aslongas(other dinosaur|mybattlefield) 2/0
|
auto=aslongas type(dinosaur|mybattlefield)~morethan~0 then 2/0
|
||||||
auto=aslongas(other dinosaur|mybattlefield) trample
|
auto=aslongas type(dinosaur|mybattlefield)~morethan~0 then trample
|
||||||
text=As long as you control another Dinosaur, Thrash of Raptors gets +2/+0 and has trample.
|
text=As long as you control another Dinosaur, Thrash of Raptors gets +2/+0 and has trample.
|
||||||
mana={3}{R}
|
mana={3}{R}
|
||||||
type=Creature
|
type=Creature
|
||||||
@@ -1950,7 +1951,7 @@ toughness=1
|
|||||||
|
|
||||||
[card]
|
[card]
|
||||||
name=Kumena's Speaker
|
name=Kumena's Speaker
|
||||||
auto=aslongas(other merfolk,island|mybattlefield) 1/1
|
auto=aslongas type(other merfolk,island|mybattlefield)~morethan~0 then 1/1
|
||||||
text=Kumena's Speaker gets +1/+1 as long as you control another Merfolk or an Island.
|
text=Kumena's Speaker gets +1/+1 as long as you control another Merfolk or an Island.
|
||||||
mana={G}
|
mana={G}
|
||||||
type=Creature
|
type=Creature
|
||||||
@@ -2628,8 +2629,8 @@ type=Sorcery
|
|||||||
|
|
||||||
[card]
|
[card]
|
||||||
name=Jace's Sentinel
|
name=Jace's Sentinel
|
||||||
auto=aslongas(jace|mybattlefield) 1/0
|
auto=aslongas type(jace|mybattlefield)~morethan~0 then 1/0
|
||||||
auto=aslongas(jace|mybattlefield) unblockable
|
auto=aslongas type(jace|mybattlefield)~morethan~0 then unblockable
|
||||||
text=As long as you control a Jace planeswalker, Jace's Sentinel gets +1/+0 and can't be blocked.
|
text=As long as you control a Jace planeswalker, Jace's Sentinel gets +1/+0 and can't be blocked.
|
||||||
mana={1}{U}
|
mana={1}{U}
|
||||||
type=Creature
|
type=Creature
|
||||||
|
|||||||
@@ -15273,9 +15273,8 @@ toughness=2
|
|||||||
[/card]
|
[/card]
|
||||||
[card]
|
[card]
|
||||||
name=Brood Birthing
|
name=Brood Birthing
|
||||||
auto=aslongas(eldrazi spawn|myBattlefield) token(Eldrazi Spawn,Creature Eldrazi Spawn,0/1) and!( transforms((,newability[{S}:Add{1}])) forever )!*2
|
auto=aslongas(eldrazi spawn|myBattlefield) token(Eldrazi Spawn,Creature Eldrazi Spawn,0/1) and!( transforms((,newability[{S}:Add{1}])) forever )!*3
|
||||||
auto=token(Eldrazi Spawn,Creature Eldrazi Spawn,0/1) and!( transforms((,newability[{S}:Add{1}])) forever )!
|
text=If you control at least one 0/1 Eldrazi Spawn creature token, put three 0/1 colorless Eldrazi Spawn creature tokens onto the battlefield. They have "Sacrifice this creature: Add {1} to your mana pool."
|
||||||
text=If you control an Eldrazi Spawn, create three 0/1 colorless Eldrazi Spawn creature tokens. They have "Sacrifice this creature: Add {C}." Otherwise, create one of those tokens.
|
|
||||||
mana={1}{R}
|
mana={1}{R}
|
||||||
type=Sorcery
|
type=Sorcery
|
||||||
[/card]
|
[/card]
|
||||||
@@ -19979,7 +19978,7 @@ toughness=1
|
|||||||
[card]
|
[card]
|
||||||
name=Cinder Shade
|
name=Cinder Shade
|
||||||
auto={B}:1/1
|
auto={B}:1/1
|
||||||
auto={R}{S}:target(other creature) dynamicability<!powerstrike!>
|
auto={R}{S}:target(other creature) dynamicability<!powerstrike>!
|
||||||
text={B}: Cinder Shade gets +1/+1 until end of turn. -- {R}, Sacrifice Cinder Shade: Cinder Shade deals damage equal to its power to target creature.
|
text={B}: Cinder Shade gets +1/+1 until end of turn. -- {R}, Sacrifice Cinder Shade: Cinder Shade deals damage equal to its power to target creature.
|
||||||
mana={1}{B}{R}
|
mana={1}{B}{R}
|
||||||
type=Creature
|
type=Creature
|
||||||
@@ -67814,7 +67813,7 @@ toughness=7
|
|||||||
name=Liturgy of Blood
|
name=Liturgy of Blood
|
||||||
target=creature
|
target=creature
|
||||||
auto=destroy
|
auto=destroy
|
||||||
auto=add{B}{B}{B} controller
|
auto=add{B}{B}{B}
|
||||||
text=Destroy target creature. Add {B}{B}{B} to your mana pool.
|
text=Destroy target creature. Add {B}{B}{B} to your mana pool.
|
||||||
mana={3}{B}{B}
|
mana={3}{B}{B}
|
||||||
type=Sorcery
|
type=Sorcery
|
||||||
@@ -68040,7 +68039,7 @@ toughness=1
|
|||||||
[/card]
|
[/card]
|
||||||
[card]
|
[card]
|
||||||
name=Llanowar Empath
|
name=Llanowar Empath
|
||||||
auto=scry:2 scrycore choice name(Choose creature) target(<1>creature|reveal) moveto(myhand) scrycoreend scryend
|
auto=scry:2 scrycore choice name(Choose creature) target(creature|reveal) moveto(myhand) scrycoreend scryend
|
||||||
text=When Llanowar Empath enters the battlefield, scry 2, then reveal the top card of your library. If it's a creature card, put it into your hand. (To scry 2, look at the top two cards of your library, then put any number of them on the bottom of your library and the rest on top in any order.)
|
text=When Llanowar Empath enters the battlefield, scry 2, then reveal the top card of your library. If it's a creature card, put it into your hand. (To scry 2, look at the top two cards of your library, then put any number of them on the bottom of your library and the rest on top in any order.)
|
||||||
mana={3}{G}
|
mana={3}{G}
|
||||||
type=Creature
|
type=Creature
|
||||||
@@ -69588,7 +69587,6 @@ type=Sorcery
|
|||||||
[/card]
|
[/card]
|
||||||
[card]
|
[card]
|
||||||
name=Madcap Skills
|
name=Madcap Skills
|
||||||
target=creature
|
|
||||||
auto=teach(creature) +3/0
|
auto=teach(creature) +3/0
|
||||||
auto=teach(creature) menace
|
auto=teach(creature) menace
|
||||||
text=Enchant creature -- Enchanted creature gets +3/+0 and can't be blocked except by two or more creatures.
|
text=Enchant creature -- Enchanted creature gets +3/+0 and can't be blocked except by two or more creatures.
|
||||||
@@ -81179,7 +81177,7 @@ toughness=1
|
|||||||
[/card]
|
[/card]
|
||||||
[card]
|
[card]
|
||||||
name=Noyan Dar, Roil Shaper
|
name=Noyan Dar, Roil Shaper
|
||||||
auto=@movedto(*[instant;sorcery]|mystack):may target(land|mybattlefield) transforms((Elemental Creature,newability[counter(1/1.3)],newability[haste])) forever
|
auto=@movedto(*[instant;sorcery]|mystack):may target(land|mybattlefield) transforms((Elemental Creature,newability[counter(1/1,3)],newability[haste])) forever
|
||||||
text=Whenever you cast an instant or sorcery spell, you may put three +1/+1 counters on target land you control. If you do, that land becomes a 0/0 Elemental creature with haste that's still a land.
|
text=Whenever you cast an instant or sorcery spell, you may put three +1/+1 counters on target land you control. If you do, that land becomes a 0/0 Elemental creature with haste that's still a land.
|
||||||
mana={3}{W}{U}
|
mana={3}{W}{U}
|
||||||
type=Legendary Creature
|
type=Legendary Creature
|
||||||
@@ -106317,7 +106315,7 @@ type=Instant
|
|||||||
[/card]
|
[/card]
|
||||||
[card]
|
[card]
|
||||||
name=Sin Collector
|
name=Sin Collector
|
||||||
auto=target(opponent) reveal:type:*:targetedpersonshand revealzone(targetedpersonshand) optionone name(choose card) notatarget(<1>*[instant;sorcery]|reveal) moveto(exile) optiononeend optiontwo all(*|reveal) moveto(ownerhand) optiontwoend revealend
|
auto=target(opponent) reveal:type:*:targetedpersonshand revealzone(targetedpersonshand) optionone name(choose card) notatarget(<1>*[instant;sorcery]|reveal) moveto(exile) optiononeend optiontwo name(put back) target(<1>*|reveal) moveto(ownerhand) and!( all(*|reveal) moveto(ownerhand) )! optiontwoend revealend
|
||||||
text=When Sin Collector enters the battlefield target opponent reveals his or her hand. You choose an instant or a sorcery card from it and exile that card.
|
text=When Sin Collector enters the battlefield target opponent reveals his or her hand. You choose an instant or a sorcery card from it and exile that card.
|
||||||
mana={1}{W}{B}
|
mana={1}{W}{B}
|
||||||
type=Creature
|
type=Creature
|
||||||
|
|||||||
@@ -84,7 +84,7 @@ void GuiHandOpponent::Render()
|
|||||||
{
|
{
|
||||||
(*it)->x = x;
|
(*it)->x = x;
|
||||||
(*it)->y = 2;
|
(*it)->y = 2;
|
||||||
(*it)->zoom = 0.35f;
|
(*it)->zoom = 0.3f;
|
||||||
(*it)->Render(quad.get());
|
(*it)->Render(quad.get());
|
||||||
if(cards.size() > 12)
|
if(cards.size() > 12)
|
||||||
x += 240/cards.size();
|
x += 240/cards.size();
|
||||||
|
|||||||
@@ -428,11 +428,11 @@ Player * Rules::loadPlayerHorde(GameObserver* observer, int isAI)
|
|||||||
|
|
||||||
const char* const multicolorTribes[] = { "Ally", "Eldrazi", "Elemental", "Golem", "Hound", "Human", "Knight",
|
const char* const multicolorTribes[] = { "Ally", "Eldrazi", "Elemental", "Golem", "Hound", "Human", "Knight",
|
||||||
"Myr", "Samurai", "Shaman", "Shapeshifter", "Sliver", "Soldier", "Spellshaper", "Spirit", "Warrior", "Wizard" };
|
"Myr", "Samurai", "Shaman", "Shapeshifter", "Sliver", "Soldier", "Spellshaper", "Spirit", "Warrior", "Wizard" };
|
||||||
const char* const whiteTribes[] = { "Angel", "Bird", "Cat", "Cleric", "Griffin", "Kithkin", "Knight", "Soldier", "Spirit", "Wizard" };
|
const char* const whiteTribes[] = { "Angel", "Bird", "Cat", "cleric", "Griffin", "Kithkin", "Knight", "Soldier", "Spirit", "Wizard" };
|
||||||
const char* const blueTribes[] = { "Artificer", "Bird", "Drake", "Faerie", "Illusion", "Merfolk", "Spirit", "Vedalken", "Wizard", "Zombie" };
|
const char* const blueTribes[] = { "Artificer", "Bird", "Drake", "Faerie", "Illusion", "Merfolk", "Spirit", "Vedalken", "Wizard", "Zombie" };
|
||||||
const char* const blackTribes[] = { "Cleric", "Demon", "Faerie", "Horror", "Pirate", "Rat", "Rogue", "Shade", "Skeleton", "Vampire", "Wizard", "Zombie" };
|
const char* const blackTribes[] = { "Cleric", "Demon", "Faerie", "Horror", "Pirate", "Rat", "Rogue", "Shade", "Skeleton", "Vampire", "Wizard", "Zombie" };
|
||||||
const char* const redTribes[] = { "Barbarian", "Berserker", "Cat", "Devil", "Dragon", "Goblin", "Minotaur", "Ogre", "Werewolf", "Wizard" };
|
const char* const redTribes[] = { "Barbarian", "Berserker"," Cat", "Devil", "Dragon", "Goblin", "Minotaur", "Ogre", "Werewolf", "Wizard" };
|
||||||
const char* const greenTribes[] = { "Beast", "Cat", "Centaur", "Dinosaur", "Druid", "Elf", "Fungus", "Plant", "Snake", "Spider", "Treefolk", "Werewolf", "Wizard" };
|
const char* const greenTribes[] = { "Beast", "Cat", "Centaur", "Dinosaur", "Druid", "Elf", "Fungus", "Snake", "Spider", "Treefolk", "Werewolf", "Wizard" };
|
||||||
|
|
||||||
int multicolorTribesSize = sizeof(multicolorTribes)/sizeof(multicolorTribes[0]);
|
int multicolorTribesSize = sizeof(multicolorTribes)/sizeof(multicolorTribes[0]);
|
||||||
int whiteTribesSize = sizeof(whiteTribes)/sizeof(whiteTribes[0]);
|
int whiteTribesSize = sizeof(whiteTribes)/sizeof(whiteTribes[0]);
|
||||||
|
|||||||
Reference in New Issue
Block a user