Board index
Programs with AI or Rules Enforcement
Magic: The Gathering - Duels of the Planeswalkers
New MTG Cards and Decks (2010, 2012, 2013, 2014, 2015, Magic Duels)
2014




MTG - BORN OF THE GODS - COMPLETE SET - UPDATE DXT1
Moderator: CCGHQ Admins
Re: BORN OF THE GODS - CARDS SPOILER
by NeoAnderson » 15 Jan 2014, 00:31
Ok guys, i have made an alternative solution.
It works for all the official permanents who has Hybrid mana into casting cost.
I have used the site magiccards.info to retrieve all the permanents with hybrid mana into casting cost.
Here you can check the list ( i have excluded not permanent cards)http://magiccards.info/query?q=has%3Asplitmana+is%3Apermanent&v=olist&s=cname
With some macro edits i have turned the card named into format normally used by DOTP cards.
Then i made a function who set the right dual devotion for each card.
Obviously if will come out new cards we need to keep the function updated.
THE CARD MUST HAVE OFFICIAL NAME, SAME WE GET FROM FIREMIND WEBGENERATOR.
The working idea is :
Firs of all we could need to check different devotions for each card so i defined how many dual devotions we can have :
So i have made a function who set the right devotion value into a chest for each card, So for example you want to know the dual devotion Blue-Black for CardA you have just to call my function in this way : NEO_ReturnDualDevotion(CardName, 4).
I have tested and it works.
It works for all the official permanents who has Hybrid mana into casting cost.
I have used the site magiccards.info to retrieve all the permanents with hybrid mana into casting cost.
Here you can check the list ( i have excluded not permanent cards)http://magiccards.info/query?q=has%3Asplitmana+is%3Apermanent&v=olist&s=cname
With some macro edits i have turned the card named into format normally used by DOTP cards.
Then i made a function who set the right dual devotion for each card.
Obviously if will come out new cards we need to keep the function updated.
THE CARD MUST HAVE OFFICIAL NAME, SAME WE GET FROM FIREMIND WEBGENERATOR.
The working idea is :
Firs of all we could need to check different devotions for each card so i defined how many dual devotions we can have :
- DUAL DEVOTIONS KINDS | Open
- 0 WHITE-BLU
1 WHITE-BLACK
2 WHITE-RED
3 WHITE-GREEN
4 BLUE-BLACK
5 BLUE-RED
6 BLUE-GREEN
7 BLACK-RED
8 BLACK-GREEN
9 RED-GREEN
So i have made a function who set the right devotion value into a chest for each card, So for example you want to know the dual devotion Blue-Black for CardA you have just to call my function in this way : NEO_ReturnDualDevotion(CardName, 4).
I have tested and it works.
- NEO_ReturnDualDevotion Function | Open
- Code: Select all
NEO_ReturnDualDevotion = function(dVal, DevotionType)
local dChest = EffectDC():Make_Chest(0)
dChest:Set_Int(0,0)
dChest:Set_Int(1,0)
dChest:Set_Int(2,0)
dChest:Set_Int(3,0)
dChest:Set_Int(4,0)
dChest:Set_Int(5,0)
dChest:Set_Int(6,0)
dChest:Set_Int(7,0)
dChest:Set_Int(8,0)
dChest:Set_Int(9,0)
if (dVal == "BATTLEGATE_MIMIC") or (dVal == "BELLIGERENT_HATCHLING") or (dVal == "BOROS_RECRUIT") or (dVal == "DUERGAR_ASSAILANT") or (dVal == "DUERGAR_HEDGEMAGE") or (dVal == "DUERGAR_MINECAPTAIN") or (dVal == "FIGURE_OF_DESTINY") or (dVal == "HOBGOBLIN_DRAGOON") or (dVal == "SCOURGE_OF_THE_NOBILIS") then
-- DEVOTION : {R/W}
dChest:Set_Int(0,1)
dChest:Set_Int(1,1)
dChest:Set_Int(2,1)
dChest:Set_Int(3,1)
dChest:Set_Int(4,0)
dChest:Set_Int(5,1)
dChest:Set_Int(6,0)
dChest:Set_Int(7,1)
dChest:Set_Int(8,0)
dChest:Set_Int(9,1)
elseif (dVal == "SCUZZBACK_SCRAPPER") or (dVal == "TATTERMUNGE_MANIAC") or (dVal == "WILD_CANTOR") or (dVal == "TATTERMUNGE_WITCH") or (dVal == "TATTERMUNGE_DUO") or (dVal == "IMPROMPTU_RAID") or (dVal == "ROSHEEN_MEANDERER") or (dVal == "RUNES_OF_THE_DEUS") or (dVal == "SCUZZBACK_MARAUDERS") or (dVal == "VALLEYMAKER") then
-- DEVOTION : {R/G}
dChest:Set_Int(0,0)
dChest:Set_Int(1,0)
dChest:Set_Int(2,1)
dChest:Set_Int(3,1)
dChest:Set_Int(4,0)
dChest:Set_Int(5,1)
dChest:Set_Int(6,1)
dChest:Set_Int(7,1)
dChest:Set_Int(8,1)
dChest:Set_Int(9,1)
elseif (dVal == "CURSE_OF_CHAINS") or (dVal == "GLAMER_SPINNERS") or (dVal == "JUDGES_FAMILIAR") or (dVal == "ZEALOUS_GUARDIAN") or (dVal == "MISTMEADOW_WITCH") or (dVal == "SOMNOMANCER") or (dVal == "MINISTER_OF_IMPEDIMENTS") or (dVal == "SILKBIND_FAERIE") or (dVal == "STEEL_OF_THE_GODHEAD") or (dVal == "THISTLEDOWN_DUO") then
-- DEVOTION : {W/U}
dChest:Set_Int(0,1)
dChest:Set_Int(1,1)
dChest:Set_Int(2,1)
dChest:Set_Int(3,1)
dChest:Set_Int(4,1)
dChest:Set_Int(5,1)
dChest:Set_Int(6,1)
dChest:Set_Int(7,0)
dChest:Set_Int(8,0)
dChest:Set_Int(9,0)
elseif (dVal == "EDGE_OF_THE_DIVINITY") or (dVal == "NIP_GWYLLION") or (dVal == "MOURNING_THRULL") or (dVal == "NIGHTSKY_MIMIC") or (dVal == "GWYLLION_HEDGEMAGE") or (dVal == "VORACIOUS_HATCHLING") then
-- DEVOTION : {W/B}
dChest:Set_Int(0,1)
dChest:Set_Int(1,1)
dChest:Set_Int(2,1)
dChest:Set_Int(3,1)
dChest:Set_Int(4,1)
dChest:Set_Int(5,0)
dChest:Set_Int(6,0)
dChest:Set_Int(7,1)
dChest:Set_Int(8,1)
dChest:Set_Int(9,0)
elseif (dVal == "BLISTERCOIL_WEIRD") or (dVal == "CLOUT_OF_THE_DOMINUS") or (dVal == "NIVMAGUS_ELEMENTAL") or (dVal == "STREAM_HOPPER") or (dVal == "RIVERFALL_MIMIC") or (dVal == "NOGGLE_HEDGEMAGE") or (dVal == "NOGGLE_RANSACKER") or (dVal == "PETRAHYDROX") or (dVal == "SHREWD_HATCHLING") then
-- DEVOTION : {U/R}
dChest:Set_Int(0,1)
dChest:Set_Int(1,0)
dChest:Set_Int(2,1)
dChest:Set_Int(3,0)
dChest:Set_Int(4,1)
dChest:Set_Int(5,1)
dChest:Set_Int(6,1)
dChest:Set_Int(7,1)
dChest:Set_Int(8,0)
dChest:Set_Int(9,1)
elseif (dVal == "OONAS_GATEWARDEN") or (dVal == "INKFATHOM_WITCH") or (dVal == "LURKING_INFORMANT") or (dVal == "GRAVELGILL_DUO") or (dVal == "TORPOR_DUST") or (dVal == "HELM_OF_THE_GHASTLORD") or (dVal == "MERROW_GRIMEBLOTTER") or (dVal == "GRAVELGILL_AXESHARK") then
-- DEVOTION : {U/B}
dChest:Set_Int(0,1)
dChest:Set_Int(1,1)
dChest:Set_Int(2,0)
dChest:Set_Int(3,0)
dChest:Set_Int(4,1)
dChest:Set_Int(5,1)
dChest:Set_Int(6,1)
dChest:Set_Int(7,1)
dChest:Set_Int(8,1)
dChest:Set_Int(9,0)
elseif (dVal == "CULTBRAND_CINDER") or (dVal == "EMBERSTRIKE_DUO") or (dVal == "EVERLASTING_TORMENT") or (dVal == "FISTS_OF_THE_DEMIGOD") or (dVal == "MANAFORGE_CINDER") or (dVal == "RAKDOS_CACKLER") or (dVal == "RIOT_SPIKES") or (dVal == "SOOTSTOKE_KINDLER") or (dVal == "SPITEFLAME_WITCH") or (dVal == "GRIEF_TYRANT") then
-- DEVOTION : {B/R}
dChest:Set_Int(0,0)
dChest:Set_Int(1,1)
dChest:Set_Int(2,1)
dChest:Set_Int(3,0)
dChest:Set_Int(4,1)
dChest:Set_Int(5,1)
dChest:Set_Int(6,0)
dChest:Set_Int(7,1)
dChest:Set_Int(8,1)
dChest:Set_Int(9,1)
elseif (dVal == "DEATHRITE_SHAMAN") or (dVal == "GIFT_OF_THE_DEITY") or (dVal == "ODIOUS_TROW") or (dVal == "SLITHERHEAD") or (dVal == "WOODLURKER_MIMIC") or (dVal == "HAG_HEDGEMAGE") or (dVal == "QUILLSPIKE") or (dVal == "RENDCLAW_TROW") or (dVal == "NOXIOUS_HATCHLING") then
-- DEVOTION : {B/G}
dChest:Set_Int(0,0)
dChest:Set_Int(1,1)
dChest:Set_Int(2,0)
dChest:Set_Int(3,1)
dChest:Set_Int(4,1)
dChest:Set_Int(5,0)
dChest:Set_Int(6,1)
dChest:Set_Int(7,1)
dChest:Set_Int(8,1)
dChest:Set_Int(9,1)
elseif (dVal == "CENTAUR_SAFEGUARD") or (dVal == "DRYAD_MILITANT") or (dVal == "ELVISH_HEXHUNTER") or (dVal == "RHYS_THE_REDEEMED") or (dVal == "SEEDCRADLE_WITCH") or (dVal == "MEDICINE_RUNNER") or (dVal == "SAFEHOLD_ELITE") or (dVal == "ORACLE_OF_NECTARS") or (dVal == "SHIELD_OF_THE_OVERSOUL") or (dVal == "SAFEHOLD_DUO") then
-- DEVOTION : {G/W}
dChest:Set_Int(0,1)
dChest:Set_Int(1,1)
dChest:Set_Int(2,1)
dChest:Set_Int(3,1)
dChest:Set_Int(4,0)
dChest:Set_Int(5,0)
dChest:Set_Int(6,1)
dChest:Set_Int(7,0)
dChest:Set_Int(8,1)
dChest:Set_Int(9,1)
elseif (dVal == "FAVOR_OF_THE_OVERBEING") or (dVal == "SLIPPERY_BOGLE") or (dVal == "GROUNDLING_POUNCER") or (dVal == "SHORECRASHER_MIMIC") or (dVal == "SELKIE_HEDGEMAGE") or (dVal == "SHIELDING_PLAX") or (dVal == "GRAZING_KELPIE") or (dVal == "STURDY_HATCHLING") then
-- DEVOTION : {G/U}
dChest:Set_Int(0,1)
dChest:Set_Int(1,0)
dChest:Set_Int(2,0)
dChest:Set_Int(3,1)
dChest:Set_Int(4,1)
dChest:Set_Int(5,1)
dChest:Set_Int(6,1)
dChest:Set_Int(7,0)
dChest:Set_Int(8,1)
dChest:Set_Int(9,1)
elseif (dVal == "NAYA_HUSHBLADE") or (dVal == "TRACE_OF_ABUNDANCE") or (dVal == "MARISIS_TWINCLAWS") then
-- DEVOTION : {R/W}{G}
dChest:Set_Int(0,1)
dChest:Set_Int(1,1)
dChest:Set_Int(2,1)
dChest:Set_Int(3,2)
dChest:Set_Int(4,0)
dChest:Set_Int(5,1)
dChest:Set_Int(6,1)
dChest:Set_Int(7,1)
dChest:Set_Int(8,1)
dChest:Set_Int(9,2)
elseif (dVal == "ARSENAL_THRESHER") or (dVal == "ESPER_STORMBLADE") or (dVal == "THOPTER_FOUNDRY") then
-- DEVOTION : {W/B}{U}
dChest:Set_Int(0,2)
dChest:Set_Int(1,1)
dChest:Set_Int(2,1)
dChest:Set_Int(3,1)
dChest:Set_Int(4,2)
dChest:Set_Int(5,1)
dChest:Set_Int(6,1)
dChest:Set_Int(7,1)
dChest:Set_Int(8,1)
dChest:Set_Int(9,0)
elseif (dVal == "GRIXIS_GRIMBLADE") or (dVal == "SEWNEYE_DRAKE") then
-- DEVOTION : {U/R}{B}
dChest:Set_Int(0,1)
dChest:Set_Int(1,1)
dChest:Set_Int(2,1)
dChest:Set_Int(3,0)
dChest:Set_Int(4,2)
dChest:Set_Int(5,1)
dChest:Set_Int(6,1)
dChest:Set_Int(7,2)
dChest:Set_Int(8,1)
dChest:Set_Int(9,1)
elseif (dVal == "BANT_SUREBLADE") or (dVal == "CRYSTALLIZATION") or (dVal == "MESSENGER_FALCONS") then
-- DEVOTION : {G/U}{W}
dChest:Set_Int(0,2)
dChest:Set_Int(1,1)
dChest:Set_Int(2,1)
dChest:Set_Int(3,2)
dChest:Set_Int(4,1)
dChest:Set_Int(5,1)
dChest:Set_Int(6,1)
dChest:Set_Int(7,0)
dChest:Set_Int(8,1)
dChest:Set_Int(9,1)
elseif (dVal == "GIANT_AMBUSH_BEETLE") or (dVal == "JUND_HACKBLADE") or (dVal == "SANGRITE_BACKLASH") then
-- DEVOTION : {B/G}{R}
dChest:Set_Int(0,0)
dChest:Set_Int(1,1)
dChest:Set_Int(2,1)
dChest:Set_Int(3,1)
dChest:Set_Int(4,1)
dChest:Set_Int(5,1)
dChest:Set_Int(6,1)
dChest:Set_Int(7,2)
dChest:Set_Int(8,1)
dChest:Set_Int(9,2)
elseif (dVal == "AUGURY_ADEPT") or (dVal == "AZORS_ELOCUTORS") or (dVal == "AZORIUS_GUILDMAGE") or (dVal == "ENCHANTED_EVENING") or (dVal == "PURESIGHT_MERROW") or (dVal == "VASSAL_SOUL") or (dVal == "SWANS_OF_BRYN_ARGOLL") then
-- DEVOTION : {W/U}{W/U}
dChest:Set_Int(0,2)
dChest:Set_Int(1,2)
dChest:Set_Int(2,2)
dChest:Set_Int(3,2)
dChest:Set_Int(4,2)
dChest:Set_Int(5,2)
dChest:Set_Int(6,2)
dChest:Set_Int(7,0)
dChest:Set_Int(8,0)
dChest:Set_Int(9,0)
elseif (dVal == "BLOODIED_GHOST") or (dVal == "EVERSHRIKE") or (dVal == "GIFT_OF_ORZHOVA") or (dVal == "ORZHOV_GUILDMAGE") or (dVal == "STILLMOON_CAVALIER") or (dVal == "HARVEST_GWYLLION") then
-- DEVOTION : {W/B}{W/B}
dChest:Set_Int(0,2)
dChest:Set_Int(1,2)
dChest:Set_Int(2,2)
dChest:Set_Int(3,2)
dChest:Set_Int(4,2)
dChest:Set_Int(5,0)
dChest:Set_Int(6,0)
dChest:Set_Int(7,2)
dChest:Set_Int(8,2)
dChest:Set_Int(9,0)
elseif (dVal == "CEMETERY_PUCA") or (dVal == "DEATHCULT_ROGUE") or (dVal == "DIMIR_GUILDMAGE") or (dVal == "DIRE_UNDERCURRENTS") or (dVal == "INKFATHOM_INFILTRATOR") or (dVal == "SYGG_RIVER_CUTTHROAT") or (dVal == "WANDERBRINE_ROOTCUTTERS") then
-- DEVOTION : {U/B}{U/B}
dChest:Set_Int(0,2)
dChest:Set_Int(1,2)
dChest:Set_Int(2,0)
dChest:Set_Int(3,0)
dChest:Set_Int(4,2)
dChest:Set_Int(5,2)
dChest:Set_Int(6,2)
dChest:Set_Int(7,2)
dChest:Set_Int(8,2)
dChest:Set_Int(9,0)
elseif (dVal == "CRACKLEBURR") or (dVal == "DJINN_ILLUMINATUS") or (dVal == "FROSTBURN_WEIRD") or (dVal == "IZZET_GUILDMAGE") or (dVal == "MIRROR_SHEEN") or (dVal == "NOGGLE_BANDIT") or (dVal == "NOGGLE_BRIDGEBREAKER") or (dVal == "NUCKLAVEE") then
-- DEVOTION : {U/R}{U/R}
dChest:Set_Int(0,2)
dChest:Set_Int(1,0)
dChest:Set_Int(2,2)
dChest:Set_Int(3,0)
dChest:Set_Int(4,2)
dChest:Set_Int(5,2)
dChest:Set_Int(6,2)
dChest:Set_Int(7,2)
dChest:Set_Int(8,0)
dChest:Set_Int(9,2)
elseif (dVal == "CANKER_ABOMINATION") or (dVal == "DESECRATOR_HAG") or (dVal == "GOLGARI_GUILDMAGE") or (dVal == "GOLGARI_LONGLEGS") or (dVal == "SAPLING_OF_COLFENOR") then
-- DEVOTION : {B/G}{B/G}
dChest:Set_Int(0,0)
dChest:Set_Int(1,2)
dChest:Set_Int(2,0)
dChest:Set_Int(3,2)
dChest:Set_Int(4,2)
dChest:Set_Int(5,0)
dChest:Set_Int(6,2)
dChest:Set_Int(7,2)
dChest:Set_Int(8,2)
dChest:Set_Int(9,2)
elseif (dVal == "CRYPTBORN_HORROR") or (dVal == "FULMINATOR_MAGE") or (dVal == "RAKDOS_GUILDMAGE") or (dVal == "RAKDOS_SHREDFREAK") or (dVal == "MURDEROUS_REDCAP") or (dVal == "SOOTWALKERS") or (dVal == "SPITEFUL_VISIONS") or (dVal == "KULRATH_KNIGHT") then
-- DEVOTION : {B/R}{B/R}
dChest:Set_Int(0,0)
dChest:Set_Int(1,2)
dChest:Set_Int(2,2)
dChest:Set_Int(3,0)
dChest:Set_Int(4,2)
dChest:Set_Int(5,2)
dChest:Set_Int(6,0)
dChest:Set_Int(7,2)
dChest:Set_Int(8,2)
dChest:Set_Int(9,2)
elseif (dVal == "BOROS_GUILDMAGE") or (dVal == "RISE_OF_THE_HOBGOBLINS") or (dVal == "SPITEMARE") then
-- DEVOTION : {R/W}{R/W}
dChest:Set_Int(0,2)
dChest:Set_Int(1,2)
dChest:Set_Int(2,2)
dChest:Set_Int(3,2)
dChest:Set_Int(4,0)
dChest:Set_Int(5,2)
dChest:Set_Int(6,0)
dChest:Set_Int(7,2)
dChest:Set_Int(8,0)
dChest:Set_Int(9,2)
elseif (dVal == "BURNINGTREE_EMISSARY") or (dVal == "GIANT_SOLIFUGE") or (dVal == "GRUUL_GUILDMAGE") or (dVal == "VEXING_SHUSHER") or (dVal == "MUDBRAWLER_RAIDERS") or (dVal == "MORSELHOARDER") or (dVal == "WORT_THE_RAIDMOTHER") then
-- DEVOTION : {R/G}{R/G}
dChest:Set_Int(0,0)
dChest:Set_Int(1,0)
dChest:Set_Int(2,2)
dChest:Set_Int(3,2)
dChest:Set_Int(4,0)
dChest:Set_Int(5,2)
dChest:Set_Int(6,2)
dChest:Set_Int(7,2)
dChest:Set_Int(8,2)
dChest:Set_Int(9,2)
elseif (dVal == "COLDEYED_SELKIE") or (dVal == "GILDER_BAIRN") or (dVal == "SIMIC_GUILDMAGE") or (dVal == "MERFOLK_OF_THE_DEPTHS") or (dVal == "TRAPJAW_KELPIE") then
-- DEVOTION : {G/U}{G/U}
dChest:Set_Int(0,2)
dChest:Set_Int(1,0)
dChest:Set_Int(2,0)
dChest:Set_Int(3,2)
dChest:Set_Int(4,2)
dChest:Set_Int(5,2)
dChest:Set_Int(6,2)
dChest:Set_Int(7,0)
dChest:Set_Int(8,2)
dChest:Set_Int(9,2)
elseif (dVal == "SELESNYA_GUILDMAGE") or (dVal == "WHEEL_OF_SUN_AND_MOON") or (dVal == "KITCHEN_FINKS") or (dVal == "GROWING_RANKS") or (dVal == "HEARTMENDER") or (dVal == "RAVENS_RUN_DRAGOON") or (dVal == "OLD_GHASTBARK") then
-- DEVOTION : {G/W}G/W}
dChest:Set_Int(0,2)
dChest:Set_Int(1,2)
dChest:Set_Int(2,2)
dChest:Set_Int(3,2)
dChest:Set_Int(4,0)
dChest:Set_Int(5,0)
dChest:Set_Int(6,2)
dChest:Set_Int(7,0)
dChest:Set_Int(8,2)
dChest:Set_Int(9,2)
elseif (dVal == "DEATHBRINGER_LIEGE") or (dVal == "DEBTORS_KNELL") or (dVal == "RESTLESS_APPARITION") then
-- DEVOTION : {W/B}{W/B}{W/B}
dChest:Set_Int(0,3)
dChest:Set_Int(1,3)
dChest:Set_Int(2,3)
dChest:Set_Int(3,3)
dChest:Set_Int(4,3)
dChest:Set_Int(5,0)
dChest:Set_Int(6,0)
dChest:Set_Int(7,3)
dChest:Set_Int(8,3)
dChest:Set_Int(9,0)
elseif (dVal == "DOVESCAPE") or (dVal == "PLUMEVEIL") or (dVal == "THISTLEDOWN_LIEGE") then
-- DEVOTION : {W/U}{W/U}{W/U}
dChest:Set_Int(0,3)
dChest:Set_Int(1,3)
dChest:Set_Int(2,3)
dChest:Set_Int(3,3)
dChest:Set_Int(4,3)
dChest:Set_Int(5,3)
dChest:Set_Int(6,3)
dChest:Set_Int(7,0)
dChest:Set_Int(8,0)
dChest:Set_Int(9,0)
elseif (dVal == "ASHENMOOR_GOUGER") or (dVal == "ASHENMOOR_LIEGE") or (dVal == "AVATAR_OF_DISCORD") or (dVal == "BARRENTON_CRAGTREADS") then
-- DEVOTION : {B/R}{B/R}{B/R}
dChest:Set_Int(0,0)
dChest:Set_Int(1,3)
dChest:Set_Int(2,3)
dChest:Set_Int(3,0)
dChest:Set_Int(4,3)
dChest:Set_Int(5,3)
dChest:Set_Int(6,0)
dChest:Set_Int(7,3)
dChest:Set_Int(8,3)
dChest:Set_Int(9,0)
elseif (dVal == "BALEFIRE_LIEGE") or (dVal == "BOROS_RECKONER") or (dVal == "HEARTHFIRE_HOBGOBLIN") then
-- DEVOTION : {R/W}{R/W}{R/W}
dChest:Set_Int(0,3)
dChest:Set_Int(1,3)
dChest:Set_Int(2,3)
dChest:Set_Int(3,3)
dChest:Set_Int(4,0)
dChest:Set_Int(5,3)
dChest:Set_Int(6,0)
dChest:Set_Int(7,3)
dChest:Set_Int(8,0)
dChest:Set_Int(9,3)
elseif (dVal == "BOARTUSK_LIEGE") or (dVal == "BOGGART_RAMGANG") or (dVal == "RUBBLEBELT_RAIDERS") or (dVal == "LOAMDRAGGER_GIANT") then
-- DEVOTION : {R/G}{R/G}{R/G}
dChest:Set_Int(0,0)
dChest:Set_Int(1,0)
dChest:Set_Int(2,3)
dChest:Set_Int(3,3)
dChest:Set_Int(4,0)
dChest:Set_Int(5,3)
dChest:Set_Int(6,3)
dChest:Set_Int(7,3)
dChest:Set_Int(8,3)
dChest:Set_Int(9,3)
elseif (dVal == "CRAG_PUCA") or (dVal == "MINDWRACK_LIEGE") then
-- DEVOTION : {U/R}{U/R}{U/R}
dChest:Set_Int(0,3)
dChest:Set_Int(1,0)
dChest:Set_Int(2,3)
dChest:Set_Int(3,0)
dChest:Set_Int(4,3)
dChest:Set_Int(5,3)
dChest:Set_Int(6,3)
dChest:Set_Int(7,3)
dChest:Set_Int(8,0)
dChest:Set_Int(9,3)
elseif (dVal == "GLEN_ELENDRA_LIEGE") or (dVal == "NIGHTVEIL_SPECTER") or (dVal == "WASP_LANCER") or (dVal == "OONA_QUEEN_OF_THE_FAE") then
-- DEVOTION : {U/B}{U/B}{U/B}
dChest:Set_Int(0,3)
dChest:Set_Int(1,3)
dChest:Set_Int(2,0)
dChest:Set_Int(3,0)
dChest:Set_Int(4,3)
dChest:Set_Int(5,3)
dChest:Set_Int(6,3)
dChest:Set_Int(7,3)
dChest:Set_Int(8,3)
dChest:Set_Int(9,0)
elseif (dVal == "CREAKWOOD_LIEGE") or (dVal == "DOOMGAPE") or (dVal == "GLEANCRAWLER") or (dVal == "STALKER_HAG") then
-- DEVOTION : {B/G}{B/G}B/G}
dChest:Set_Int(0,0)
dChest:Set_Int(1,3)
dChest:Set_Int(2,0)
dChest:Set_Int(3,3)
dChest:Set_Int(4,3)
dChest:Set_Int(5,0)
dChest:Set_Int(6,3)
dChest:Set_Int(7,3)
dChest:Set_Int(8,3)
dChest:Set_Int(9,3)
elseif (dVal == "FABLE_OF_WOLF_AND_OWL") or (dVal == "WISTFUL_SELKIE") or (dVal == "MURKFIEND_LIEGE") then
-- DEVOTION : {G/U}{G/U}{G/U}
dChest:Set_Int(0,3)
dChest:Set_Int(1,0)
dChest:Set_Int(2,0)
dChest:Set_Int(3,3)
dChest:Set_Int(4,3)
dChest:Set_Int(5,3)
dChest:Set_Int(6,3)
dChest:Set_Int(7,0)
dChest:Set_Int(8,3)
dChest:Set_Int(9,3)
elseif (dVal == "WILTLEAF_CAVALIERS") or (dVal == "WILTLEAF_LIEGE") or (dVal == "PRIVILEGED_POSITION") then
-- DEVOTION : {G/W}{G/W}{G/W}
dChest:Set_Int(0,3)
dChest:Set_Int(1,3)
dChest:Set_Int(2,3)
dChest:Set_Int(3,3)
dChest:Set_Int(4,0)
dChest:Set_Int(5,0)
dChest:Set_Int(6,3)
dChest:Set_Int(7,0)
dChest:Set_Int(8,3)
dChest:Set_Int(9,3)
elseif (dVal == "NOBILIS_OF_WAR") then
-- DEVOTION : {R/W}{R/W}{R/W}{R/W}{R/W}
dChest:Set_Int(0,5)
dChest:Set_Int(1,5)
dChest:Set_Int(2,5)
dChest:Set_Int(3,5)
dChest:Set_Int(4,0)
dChest:Set_Int(5,5)
dChest:Set_Int(6,0)
dChest:Set_Int(7,5)
dChest:Set_Int(8,0)
dChest:Set_Int(9,5)
elseif (dVal == "DEITY_OF_SCARS") then
-- DEVOTION : {B/G}{B/G}B/G}{B/G}B/G}
dChest:Set_Int(0,0)
dChest:Set_Int(1,5)
dChest:Set_Int(2,0)
dChest:Set_Int(3,5)
dChest:Set_Int(4,5)
dChest:Set_Int(5,0)
dChest:Set_Int(6,5)
dChest:Set_Int(7,5)
dChest:Set_Int(8,5)
dChest:Set_Int(9,5)
elseif (dVal == "DEMIGOD_OF_REVENGE") then
-- DEVOTION : {B/R}{B/R}{B/R}{B/R}{B/R}
dChest:Set_Int(0,0)
dChest:Set_Int(1,5)
dChest:Set_Int(2,5)
dChest:Set_Int(3,0)
dChest:Set_Int(4,5)
dChest:Set_Int(5,5)
dChest:Set_Int(6,0)
dChest:Set_Int(7,5)
dChest:Set_Int(8,5)
dChest:Set_Int(9,0)
elseif (dVal == "DEUS_OF_CALAMITY") then
-- DEVOTION : {R/G}{R/G}{R/G}{R/G}{R/G}
dChest:Set_Int(0,0)
dChest:Set_Int(1,0)
dChest:Set_Int(2,5)
dChest:Set_Int(3,5)
dChest:Set_Int(4,0)
dChest:Set_Int(5,5)
dChest:Set_Int(6,5)
dChest:Set_Int(7,5)
dChest:Set_Int(8,5)
dChest:Set_Int(9,5)
elseif (dVal == "DIVINITY_OF_PRIDE") then
-- DEVOTION : {W/B}{W/B}{W/B}W/B}{W/B}
dChest:Set_Int(0,5)
dChest:Set_Int(1,5)
dChest:Set_Int(2,5)
dChest:Set_Int(3,5)
dChest:Set_Int(4,5)
dChest:Set_Int(5,0)
dChest:Set_Int(6,0)
dChest:Set_Int(7,5)
dChest:Set_Int(8,5)
dChest:Set_Int(9,0)
elseif (dVal == "GODHEAD_OF_AWE") then
-- DEVOTION : {W/U}{W/U}{W/U}{W/U}{W/U}
dChest:Set_Int(0,5)
dChest:Set_Int(1,5)
dChest:Set_Int(2,5)
dChest:Set_Int(3,5)
dChest:Set_Int(4,5)
dChest:Set_Int(5,5)
dChest:Set_Int(6,5)
dChest:Set_Int(7,0)
dChest:Set_Int(8,0)
dChest:Set_Int(9,0)
elseif (dVal == "DOMINUS_OF_FEALTY") then
-- DEVOTION : {U/R}{U/R}{U/R}{U/R}{U/R}
dChest:Set_Int(0,5)
dChest:Set_Int(1,0)
dChest:Set_Int(2,5)
dChest:Set_Int(3,0)
dChest:Set_Int(4,5)
dChest:Set_Int(5,5)
dChest:Set_Int(6,5)
dChest:Set_Int(7,5)
dChest:Set_Int(8,0)
dChest:Set_Int(9,5)
elseif (dVal == "GHASTLORD_OF_FUGUE") then
-- DEVOTION : {U/B}{U/B}{U/B}{U/B}{U/B}
dChest:Set_Int(0,5)
dChest:Set_Int(1,5)
dChest:Set_Int(2,0)
dChest:Set_Int(3,0)
dChest:Set_Int(4,5)
dChest:Set_Int(5,5)
dChest:Set_Int(6,5)
dChest:Set_Int(7,5)
dChest:Set_Int(8,5)
dChest:Set_Int(9,0)
elseif (dVal == "REAPER_KING") then
-- DEVOTION : {X/W}{X/U}{X/B}{X/R}{X/G}
dChest:Set_Int(0,2)
dChest:Set_Int(1,2)
dChest:Set_Int(2,2)
dChest:Set_Int(3,2)
dChest:Set_Int(4,2)
dChest:Set_Int(5,2)
dChest:Set_Int(6,2)
dChest:Set_Int(7,2)
dChest:Set_Int(8,2)
dChest:Set_Int(9,2)
elseif (dVal == "OVERBEING_OF_MYTH") then
-- DEVOTION : {G/U}{G/U}{G/U}{G/U}{G/U}
dChest:Set_Int(0,5)
dChest:Set_Int(1,0)
dChest:Set_Int(2,0)
dChest:Set_Int(3,5)
dChest:Set_Int(4,5)
dChest:Set_Int(5,5)
dChest:Set_Int(6,5)
dChest:Set_Int(7,0)
dChest:Set_Int(8,5)
dChest:Set_Int(9,5)
elseif (dVal == "OVERSOUL_OF_DUSK") then
-- DEVOTION : {G/W}{G/W}{G/W}{G/W}{G/W}
dChest:Set_Int(0,5)
dChest:Set_Int(1,5)
dChest:Set_Int(2,5)
dChest:Set_Int(3,5)
dChest:Set_Int(4,0)
dChest:Set_Int(5,0)
dChest:Set_Int(6,5)
dChest:Set_Int(7,0)
dChest:Set_Int(8,5)
dChest:Set_Int(9,5)
end
return dChest:Get_Int(DevotionType)
end
- NeoAnderson
- Posts: 914
- Joined: 10 Sep 2013, 07:49
- Has thanked: 18 times
- Been thanked: 139 times
Re: BORN OF THE GODS - CARDS SPOILER
by sumomole » 15 Jan 2014, 00:38
No, the only exception is Reaper King.GrovyleXShinyCelebi wrote:I'm coming up with an idea for this, but I have a question: are there any official MTG cards with more than one type of hybrid mana (i.e. with both {B/R} and {B/G}), and if so, what are they and how many are there?
-
sumomole - Programmer
- Posts: 611
- Joined: 07 Jun 2011, 08:34
- Has thanked: 51 times
- Been thanked: 234 times
Re: BORN OF THE GODS - CARDS SPOILER
by GrovyleXShinyCelebi » 15 Jan 2014, 01:06
OK, I came up with something (untested) that MIGHT allow taking into account hybrid mana after a few modifications.
Basically, my code is this:
-First, we get rid of all the non-colored mana; that won't be taken into account. As such this won't be compatible with cards like Spectral Procession.
-If the sum of the chroma count of all colors is greater than the total amount of colored mana (CMC minus the colorless mana), the difference is the amount of hybrid mana.
-AS LONG AS THERE IS ONLY ONE TYPE OF HYBRID MANA IN A GIVEN CARD, hybrid mana of any two specific colors, given C1 is the first colo, C2 is the second color, and H is the amount of hybrid mana, can be found by this equation:
Total = ((C1+C2) - C1) + ((C1+C2) - C2) + H
The first set of brackets represent the part of mana of only color 1. The second set of brackets represnts the part of mana of only color 2.
-After a quick check, I have confirmed that there are presently no cards with more than one type of hybrid mana. This should work for the time being.
Note that I just came up with this in about an hour, and I'm pretty sure there's a mistake somewhere. I'm hoping someone experienced can fix any mistakes I made here and hopefully come up with a dual devotion function that will serve our purposes for the time being.
Basically, my code is this:
- Code: Select all
local devotion = 0
local count = filter:EvaluateObjects()
for i=0, (count-1) do
local object = filter:GetNthEvaluatedObject()
if object ~= nil then
local cmc = object:GetConvertedManaCost()
local black = object:ChromaCount(COLOUR_BLACK)
local red = object:ChromaCount(COLOUR_RED)
local green = object:ChromaCount(COLOUR_GREEN)
local blue = object:ChromaCount(COLOUR_BLUE)
local white = object:ChromaCount(COLOUR_WHITE)
local none = object:ChromaCount(COLOUR_COLOURLESS)
local colored = black + red + green + blue + white
local total = cmc - none
local rakdos = black + red
if total < colored then
--We have hybrid mana
local hybrid = colored - total
--Testing for red
if red > (green + black + blue + white) then
--Testing for black
if black > (green + white + blue + red ) then
--Rakdos mana found!
local final = (rakdos - red) + (rakdos - black) + hybrid
devotion = devotion + final
else
devotion = devotion + rakdos
end
else
devotion = devotion + rakdos
end
else
devotion = devotion + rakdos
end
end
end
-First, we get rid of all the non-colored mana; that won't be taken into account. As such this won't be compatible with cards like Spectral Procession.
-If the sum of the chroma count of all colors is greater than the total amount of colored mana (CMC minus the colorless mana), the difference is the amount of hybrid mana.
-AS LONG AS THERE IS ONLY ONE TYPE OF HYBRID MANA IN A GIVEN CARD, hybrid mana of any two specific colors, given C1 is the first colo, C2 is the second color, and H is the amount of hybrid mana, can be found by this equation:
Total = ((C1+C2) - C1) + ((C1+C2) - C2) + H
The first set of brackets represent the part of mana of only color 1. The second set of brackets represnts the part of mana of only color 2.
-After a quick check, I have confirmed that there are presently no cards with more than one type of hybrid mana. This should work for the time being.
Note that I just came up with this in about an hour, and I'm pretty sure there's a mistake somewhere. I'm hoping someone experienced can fix any mistakes I made here and hopefully come up with a dual devotion function that will serve our purposes for the time being.
(in Duels 2014)
Duels 2012: viewtopic.php?f=109&t=12152
Duels 2013: viewtopic.php?f=109&t=12481&p=137458#p137458
Duels 2012: viewtopic.php?f=109&t=12152
Duels 2013: viewtopic.php?f=109&t=12481&p=137458#p137458
-
GrovyleXShinyCelebi - Posts: 294
- Joined: 12 Jun 2013, 18:23
- Has thanked: 14 times
- Been thanked: 37 times
Re: BORN OF THE GODS - CARDS SPOILER
by RiiakShiNal » 15 Jan 2014, 02:14
This will run into problems with cards like Esper Stormblade, Arsenal Thresher, Bant Sureblade, Giant Ambush Beetle, etc.... This is due to having 3 colours in the casting cost and being unable to programmatically tell which colours are the hybrid mana colours. There is only one type of hybrid mana in each of them, but each has 3 colours which screws up the calculations.GrovyleXShinyCelebi wrote:-AS LONG AS THERE IS ONLY ONE TYPE OF HYBRID MANA IN A GIVEN CARD, hybrid mana of any two specific colors, given C1 is the first colo, C2 is the second color, and H is the amount of hybrid mana, can be found by this equation:
Total = ((C1+C2) - C1) + ((C1+C2) - C2) + H
The first set of brackets represent the part of mana of only color 1. The second set of brackets represnts the part of mana of only color 2.
Just getting started: Xander9009's DotP 2014 Community Wad
Need a deck builder: DotP 2014 Deck Builder
Problems Modding: DotP 2014 Frequent Modding Mistakes
Need a deck builder: DotP 2014 Deck Builder
Problems Modding: DotP 2014 Frequent Modding Mistakes
- RiiakShiNal
- Programmer
- Posts: 2188
- Joined: 16 May 2011, 21:37
- Has thanked: 75 times
- Been thanked: 497 times
Re: BORN OF THE GODS - CARDS SPOILER
by sumomole » 15 Jan 2014, 02:50
ok, it's my Ephara, hope she's all right.

- Ephara's abilities updated | Open
- Code: Select all
<STATIC_ABILITY>
<LOCALISED_TEXT LanguageCode="en-US"><![CDATA[Indestructible]]></LOCALISED_TEXT>
<INTRINSIC characteristic="CHARACTERISTIC_INDESTRUCTIBLE" />
</STATIC_ABILITY>
<STATIC_ABILITY>
<LOCALISED_TEXT LanguageCode="en-US"><![CDATA[As long as your devotion to white and blue is less than seven, Ephara isn’t a creature.]]></LOCALISED_TEXT>
<CONTINUOUS_ACTION layer="4">
if GetNumOfDevotion(COLOUR_WHITE, COLOUR_BLUE) < 7 then
local characteristics = EffectSource():GetCurrentCharacteristics()
local card_type = characteristics:CardType_GetWritable()
local sub_type = characteristics:SubType_GetWritable()
local current_type = {}
for i = 0,7 do
current_type[i] = EffectSource():GetCardType():Test(i)
end
sub_type:ClearAllOfType( CARD_TYPE_CREATURE )
card_type:Clear()
for i = 0,7 do
if i ~= 1 and current_type[i] then
card_type:Add(i)
end
end
end
</CONTINUOUS_ACTION>
</STATIC_ABILITY>
<TRIGGERED_ABILITY linked_ability_group="1">
<LOCALISED_TEXT LanguageCode="en-US"><![CDATA[At the beginning of each upkeep, if you had another creature enter the battlefield under your control last turn, draw a card.]]></LOCALISED_TEXT>
<TRIGGER value="BEGINNING_OF_STEP">
return MTG():GetStep() == STEP_UPKEEP
</TRIGGER>
<INTERVENING_IF ignore_resolution_check="1">
local num_starting_players = MTG():GetNumberOfStartingPlayers()
for i=0,(num_starting_players-1) do
local player = MTG():GetNthStartingPlayer(i)
if (player ~= nil and player == EffectController() and LinkedDC():Get_Int(i) > 0) then
return true
end
end
return false
</INTERVENING_IF>
<RESOLUTION_TIME_ACTION>
EffectController():DrawCards(1)
</RESOLUTION_TIME_ACTION>
</TRIGGERED_ABILITY>
<TRIGGERED_ABILITY replacement_effect="1" active_zone="ZONE_ANY">
<TRIGGER value="BEGINNING_OF_STEP">
return MTG():GetStep() == STEP_UPKEEP and MTG():GetTurnNumber() == 0
</TRIGGER>
<RESOLUTION_TIME_ACTION>
local delayDC_A = EffectDC():Make_Chest(1)
local delayDC_B = EffectDC():Make_Chest(2)
MTG():CreateDelayedTrigger(1, delayDC_A)
MTG():CreateDelayedTrigger(2, delayDC_B)
</RESOLUTION_TIME_ACTION>
</TRIGGERED_ABILITY>
<TRIGGERED_ABILITY replacement_effect="1" linked_ability_group="1" resource_id="1">
<TRIGGER value="BEGINNING_OF_STEP">
return MTG():GetStep() == STEP_CLEANUP
</TRIGGER>
<RESOLUTION_TIME_ACTION>
local num_starting_players = MTG():GetNumberOfStartingPlayers()
for i=0,(num_starting_players-1) do
local player = MTG():GetNthStartingPlayer(i)
if player ~= nil then
local interrogation = MTG():ClearInterrogationQuery()
interrogation:SetPlayer( player )
interrogation:SetToZone( ZONE_BATTLEFIELD )
interrogation:SetType( CARD_TYPE_CREATURE )
local num_creatures = interrogation:Count( INTERROGATE_CARDS_MOVED_ZONE, INTERROGATE_THIS_TURN, 2 )
interrogation:SetObject( EffectSource() )
num_creatures = num_creatures - interrogation:Count( INTERROGATE_CARDS_MOVED_ZONE, INTERROGATE_THIS_TURN, 1 )
LinkedDC():Set_Int(i, num_creatures)
end
end
</RESOLUTION_TIME_ACTION>
</TRIGGERED_ABILITY>
<TRIGGERED_ABILITY replacement_effect="1" linked_ability_group="1" resource_id="2" priority="-1">
<TRIGGER value="BEGINNING_OF_STEP">
return MTG():GetStep() == STEP_UPKEEP
</TRIGGER>
<RESOLUTION_TIME_ACTION>
LinkedDC():Clear()
</RESOLUTION_TIME_ACTION>
</TRIGGERED_ABILITY>
- devotion functions updated | Open
- Code: Select all
GetNumOfColourSymbol = function(object, colour)
local filter = ClearFilter()
filter:Add( FE_CARD_INSTANCE, OP_IS, object )
return filter:ChromaCount(colour)
end
GetNumOfRedundantDevotion = function(object, colour_A, colour_B)
local cmc = object:GetConvertedManaCost()
local amount = {}
local num_color = 0
local num_colored_mana = 0
local num_total_colored_mana = 0
local num_hybrid_symbol = 0
if cmc > 0 and colour_A ~= colour_B then
for i=0,5 do
amount[i] = GetNumOfColourSymbol(object, i)
if i == 0 then
num_colored_mana = cmc - amount[i]
elseif amount[i] > 0 then
num_total_colored_mana = num_total_colored_mana + amount[i]
num_color = num_color + 1
end
end
if num_total_colored_mana > num_colored_mana and amount[colour_A] > 0 and amount[colour_B] > 0 then
if (num_color == 2 or (num_color == 3 and (colour_A - colour_B == 2 or colour_B - colour_A == 2 or colour_A - colour_B == 3 or colour_B - colour_A == 3))) then
num_hybrid_symbol = num_total_colored_mana - num_colored_mana
end
end
end
return num_hybrid_symbol
end
GetNumOfDevotion = function(colour_A, colour_B)
local devotion = 0
local filter = ClearFilter()
local subfilter = filter:AddSubFilter_Or()
subfilter:Add( FE_TYPE, OP_IS, CARD_TYPE_ARTIFACT )
subfilter:Add( FE_TYPE, OP_IS, CARD_TYPE_CREATURE )
subfilter:Add( FE_TYPE, OP_IS, CARD_TYPE_ENCHANTMENT )
subfilter:Add( FE_TYPE, OP_IS, CARD_TYPE_LAND )
subfilter:Add( FE_TYPE, OP_IS, CARD_TYPE_PLANESWALKER )
filter:Add( FE_CONTROLLER, OP_IS, EffectController() )
if colour_B == nil or colour_A == colour_B then
devotion = filter:ChromaCount(colour_A)
else
devotion = filter:ChromaCount(colour_A)+ filter:ChromaCount(colour_B)
local creatures = {}
local numCards = filter:EvaluateObjects()
for i=0,(numCards-1) do
local card = filter:GetNthEvaluatedObject(i)
if card ~= nil then
creatures[i] = card
end
end
for i=0,(numCards-1) do
devotion = devotion - GetNumOfRedundantDevotion(creatures[i], colour_A, colour_B)
end
end
return devotion
end
Last edited by sumomole on 16 Jan 2014, 05:52, edited 6 times in total.
-
sumomole - Programmer
- Posts: 611
- Joined: 07 Jun 2011, 08:34
- Has thanked: 51 times
- Been thanked: 234 times
Re: BORN OF THE GODS - CARDS SPOILER
by GrovyleXShinyCelebi » 15 Jan 2014, 03:41
Looking through your function, I believe yor function only returns the amount of total hybrid mana in a card. I just realized my equation is void because of how chromas are taken. Ugh.. What you could do is subtract the hybrid amount from chroma of the two colors you're testing, though I believe this again only works on cards with one type of hybrid mana (which appears to be every hybrid mana card currently printed, not saying Wizards might not add cards with multiple types of hybrid in the future... and for these purposes I'm not counting {2/} cards as hybrid).sumomole wrote:ok, it's my Ephara, hope she's all right.![]()
- card abilities | Open
- Code: Select all
<STATIC_ABILITY>
<LOCALISED_TEXT LanguageCode="en-US"><![CDATA[Indestructible]]></LOCALISED_TEXT>
<INTRINSIC characteristic="CHARACTERISTIC_INDESTRUCTIBLE" />
</STATIC_ABILITY>
<STATIC_ABILITY>
<LOCALISED_TEXT LanguageCode="en-US"><![CDATA[As long as your devotion to white and blue is less than seven, Ephara isn’t a creature.]]></LOCALISED_TEXT>
<CONTINUOUS_ACTION layer="4">
if GetNumOfDevotion(COLOUR_WHITE, COLOUR_BLUE) < 7 then
local characteristics = EffectSource():GetCurrentCharacteristics()
local card_type = characteristics:CardType_GetWritable()
local sub_type = characteristics:SubType_GetWritable()
local current_type = {}
for i = 0,7 do
current_type[i] = EffectSource():GetCardType():Test(i)
end
sub_type:ClearAllOfType( CARD_TYPE_CREATURE )
card_type:Clear()
for i = 0,7 do
if i ~= 1 and current_type[i] then
card_type:Add(i)
end
end
end
</CONTINUOUS_ACTION>
</STATIC_ABILITY>
<TRIGGERED_ABILITY linked_ability_group="1">
<LOCALISED_TEXT LanguageCode="en-US"><![CDATA[At the beginning of each upkeep, if you had another creature enter the battlefield under your control last turn, draw a card.]]></LOCALISED_TEXT>
<TRIGGER value="BEGINNING_OF_STEP">
return MTG():GetStep() == STEP_UPKEEP
</TRIGGER>
<INTERVENING_IF ignore_resolution_check="1">
local num_starting_players = MTG():GetNumberOfStartingPlayers()
for i=0,(num_starting_players-1) do
local player = MTG():GetNthStartingPlayer(i)
if (player ~= nil and player == EffectController()) then
local num_creatures = LinkedDC():Get_Int(i) - LinkedDC():Get_Int(4+i)
if num_creatures > 0 then
return true
end
end
end
return false
</INTERVENING_IF>
<RESOLUTION_TIME_ACTION>
EffectController():DrawCards(1)
</RESOLUTION_TIME_ACTION>
</TRIGGERED_ABILITY>
<TRIGGERED_ABILITY replacement_effect="1" active_zone="ZONE_ANY">
<TRIGGER value="BEGINNING_OF_STEP">
return MTG():GetStep() == STEP_UPKEEP and MTG():GetTurnNumber() == 0
</TRIGGER>
<RESOLUTION_TIME_ACTION>
local delayDC_A = EffectDC():Make_Chest(1)
local delayDC_B = EffectDC():Make_Chest(2)
MTG():CreateDelayedTrigger(1, delayDC_A)
MTG():CreateDelayedTrigger(2, delayDC_B)
</RESOLUTION_TIME_ACTION>
</TRIGGERED_ABILITY>
<TRIGGERED_ABILITY replacement_effect="1" linked_ability_group="1" resource_id="1">
<TRIGGER value="BEGINNING_OF_STEP">
return MTG():GetStep() == STEP_CLEANUP
</TRIGGER>
<RESOLUTION_TIME_ACTION>
local num_starting_players = MTG():GetNumberOfStartingPlayers()
for i=0,(num_starting_players-1) do
local player = MTG():GetNthStartingPlayer(i)
if player ~= nil then
local interrogation = MTG():ClearInterrogationQuery()
interrogation:SetPlayer( player )
interrogation:SetToZone( ZONE_BATTLEFIELD )
interrogation:SetType( CARD_TYPE_CREATURE )
local num_creatures = interrogation:Count( INTERROGATE_CARDS_MOVED_ZONE, INTERROGATE_THIS_TURN, 2)
interrogation:SetObject( EffectSource() )
if interrogation:Test( INTERROGATE_CARDS_MOVED_ZONE, INTERROGATE_THIS_TURN ) then
LinkedDC():Set_Int(4+i, 1)
end
LinkedDC():Set_Int(i, num_creatures)
end
end
</RESOLUTION_TIME_ACTION>
</TRIGGERED_ABILITY>
<TRIGGERED_ABILITY replacement_effect="1" linked_ability_group="1" resource_id="2" priority="-1">
<TRIGGER value="BEGINNING_OF_STEP">
return MTG():GetStep() == STEP_UPKEEP
</TRIGGER>
<RESOLUTION_TIME_ACTION>
LinkedDC():Clear()
</RESOLUTION_TIME_ACTION>
</TRIGGERED_ABILITY>
- devotion functions | Open
- Code: Select all
GetNumOfColourSymbol = function(object, colour)
local filter = ClearFilter()
filter:Add( FE_CARD_INSTANCE, OP_IS, object )
return filter:ChromaCount(colour)
end
GetNumOfRedundantDevotion = function(object, colour_A, colour_B)
local cmc = object:GetConvertedManaCost()
local amount = {}
local num_color = 0
local num_colored_mana = 0
local num_total_colored_mana = 0
local num_hybrid_symbol = 0
if cmc > 0 then
for i=0,5 do
amount[i] = GetNumOfColourSymbol(object, i)
if i == 0 then
num_colored_mana = cmc - amount[i]
elseif amount[i] > 0 then
num_total_colored_mana = num_total_colored_mana + amount[i]
num_color = num_color + 1
end
end
if num_total_colored_mana > num_colored_mana and amount[colour_A] > 0 and amount[colour_B] > 0 then
if (num_color == 2 or (num_color == 3 and (colour_A - colour_B == 2 or colour_B - colour_A == 2))) then
num_hybrid_symbol = num_total_colored_mana - num_colored_mana
end
end
end
return num_hybrid_symbol
end
GetNumOfDevotion = function(colour_A, colour_B)
local devotion = 0
local filter = ClearFilter()
local subfilter = filter:AddSubFilter_Or()
subfilter:Add( FE_TYPE, OP_IS, CARD_TYPE_ARTIFACT )
subfilter:Add( FE_TYPE, OP_IS, CARD_TYPE_CREATURE )
subfilter:Add( FE_TYPE, OP_IS, CARD_TYPE_ENCHANTMENT )
subfilter:Add( FE_TYPE, OP_IS, CARD_TYPE_LAND )
subfilter:Add( FE_TYPE, OP_IS, CARD_TYPE_PLANESWALKER )
filter:Add( FE_CONTROLLER, OP_IS, EffectController() )
if colour_B == nil then
devotion = filter:ChromaCount(colour_A)
else
devotion = filter:ChromaCount(colour_A)+ filter:ChromaCount(colour_B)
local creatures = {}
local numCards = filter:EvaluateObjects()
for i=0,(numCards-1) do
local card = filter:GetNthEvaluatedObject(i)
if card ~= nil then
creatures[i] = card
end
end
for i=0,(numCards-1) do
devotion = devotion - GetNumOfRedundantDevotion(creatures[i], colour_A, colour_B)
end
end
return devotion
end
(in Duels 2014)
Duels 2012: viewtopic.php?f=109&t=12152
Duels 2013: viewtopic.php?f=109&t=12481&p=137458#p137458
Duels 2012: viewtopic.php?f=109&t=12152
Duels 2013: viewtopic.php?f=109&t=12481&p=137458#p137458
-
GrovyleXShinyCelebi - Posts: 294
- Joined: 12 Jun 2013, 18:23
- Has thanked: 14 times
- Been thanked: 37 times
Re: BORN OF THE GODS - CARDS SPOILER
by sumomole » 15 Jan 2014, 04:00
Of course, a card can have only one type of hybrid mana symbol, and THS set has no hybrid mana card, as for the future sets, that is DotP2015 thing.GrovyleXShinyCelebi wrote:Looking through your function, I believe yor function only returns the amount of total hybrid mana in a card. I just realized my equation is void because of how chromas are taken. Ugh.. What you could do is subtract the hybrid amount from chroma of the two colors you're testing, though I believe this again only works on cards with one type of hybrid mana (which appears to be every hybrid mana card currently printed, not saying Wizards might not add cards with multiple types of hybrid in the future... and for these purposes I'm not counting {2/} cards as hybrid).

-
sumomole - Programmer
- Posts: 611
- Joined: 07 Jun 2011, 08:34
- Has thanked: 51 times
- Been thanked: 234 times
Re: BORN OF THE GODS - CARDS SPOILER
by NeoAnderson » 15 Jan 2014, 06:21
Sumo my friend, honestly i lose my mind trying to read your code, probably i need a guide for dummies
Anyway i finished my version of "Ephara, God of the Polis", thanks also to FireMind for his correction about the trigger ability.
I used my own functions, it will works with all the official cards, including Reaper King.
Here you can find my code :

Anyway i finished my version of "Ephara, God of the Polis", thanks also to FireMind for his correction about the trigger ability.
I used my own functions, it will works with all the official cards, including Reaper King.
Here you can find my code :
- Ephara, God of the Polis | Open
- Code: Select all
<?xml version="1.0" encoding="UTF-8"?>
<CARD_V2 ExportVersion="2">
<FILENAME text="EPHARA_GOD_OF_THE_POLIS_9988773" />
<CARDNAME text="EPHARA_GOD_OF_THE_POLIS" />
<TITLE>
<LOCALISED_TEXT LanguageCode="en-US"><![CDATA[Ephara, God of the Polis]]></LOCALISED_TEXT>
<LOCALISED_TEXT LanguageCode="fr-FR"><![CDATA[Ephara, God of the Polis]]></LOCALISED_TEXT>
<LOCALISED_TEXT LanguageCode="es-ES"><![CDATA[Ephara, God of the Polis]]></LOCALISED_TEXT>
<LOCALISED_TEXT LanguageCode="de-DE"><![CDATA[Ephara, God of the Polis]]></LOCALISED_TEXT>
<LOCALISED_TEXT LanguageCode="it-IT"><![CDATA[Efara, Dea della Polis]]></LOCALISED_TEXT>
<LOCALISED_TEXT LanguageCode="jp-JA"><![CDATA[Ephara, God of the Polis]]></LOCALISED_TEXT>
<LOCALISED_TEXT LanguageCode="ko-KR"><![CDATA[Ephara, God of the Polis]]></LOCALISED_TEXT>
<LOCALISED_TEXT LanguageCode="ru-RU"><![CDATA[Ephara, God of the Polis]]></LOCALISED_TEXT>
<LOCALISED_TEXT LanguageCode="pt-BR"><![CDATA[Ephara, God of the Polis]]></LOCALISED_TEXT>
</TITLE>
<MULTIVERSEID value="9988773" />
<ARTID value="9988773" />
<ARTIST name="Eric Deschamps" />
<CASTING_COST cost="{2}{W}{U}" />
<SUPERTYPE metaname="Legendary" />
<TYPE metaname="Enchantment" />
<TYPE metaname="Creature" />
<SUB_TYPE metaname="God" />
<EXPANSION value="BOG" />
<RARITY metaname="M" />
<POWER value="6" />
<TOUGHNESS value="5" />
<STATIC_ABILITY>
<LOCALISED_TEXT LanguageCode="en-US"><![CDATA[Indestructible]]></LOCALISED_TEXT>
<LOCALISED_TEXT LanguageCode="fr-FR"><![CDATA[Indestructible]]></LOCALISED_TEXT>
<LOCALISED_TEXT LanguageCode="es-ES"><![CDATA[Indestructible.]]></LOCALISED_TEXT>
<LOCALISED_TEXT LanguageCode="de-DE"><![CDATA[Unzerstörbar]]></LOCALISED_TEXT>
<LOCALISED_TEXT LanguageCode="it-IT"><![CDATA[Indistruttibile]]></LOCALISED_TEXT>
<LOCALISED_TEXT LanguageCode="jp-JA"><![CDATA[破壊不能]]></LOCALISED_TEXT>
<LOCALISED_TEXT LanguageCode="ko-KR"><![CDATA[무적]]></LOCALISED_TEXT>
<LOCALISED_TEXT LanguageCode="ru-RU"><![CDATA[Неразрушимость]]></LOCALISED_TEXT>
<LOCALISED_TEXT LanguageCode="pt-BR"><![CDATA[Indestrutível]]></LOCALISED_TEXT>
<INTRINSIC characteristic="CHARACTERISTIC_INDESTRUCTIBLE" />
</STATIC_ABILITY>
<STATIC_ABILITY>
<LOCALISED_TEXT LanguageCode="en-US"><![CDATA[As long as your devotion to white and blue is less than seven, Ephara isn't a creature. ]]></LOCALISED_TEXT>
<LOCALISED_TEXT LanguageCode="fr-FR"><![CDATA[As long as your devotion to white and blue is less than seven, Ephara isn't a creature. ]]></LOCALISED_TEXT>
<LOCALISED_TEXT LanguageCode="es-ES"><![CDATA[As long as your devotion to white and blue is less than seven, Ephara isn't a creature. ]]></LOCALISED_TEXT>
<LOCALISED_TEXT LanguageCode="de-DE"><![CDATA[As long as your devotion to white and blue is less than seven, Ephara isn't a creature. ]]></LOCALISED_TEXT>
<LOCALISED_TEXT LanguageCode="it-IT"><![CDATA[Fintanto che la tua devozione al bianco e al blu è inferiore a sette, Efara non è una creatura. ]]></LOCALISED_TEXT>
<LOCALISED_TEXT LanguageCode="jp-JA"><![CDATA[As long as your devotion to white and blue is less than seven, Ephara isn't a creature. ]]></LOCALISED_TEXT>
<LOCALISED_TEXT LanguageCode="ko-KR"><![CDATA[As long as your devotion to white and blue is less than seven, Ephara isn't a creature. ]]></LOCALISED_TEXT>
<LOCALISED_TEXT LanguageCode="ru-RU"><![CDATA[As long as your devotion to white and blue is less than seven, Ephara isn't a creature. ]]></LOCALISED_TEXT>
<LOCALISED_TEXT LanguageCode="pt-BR"><![CDATA[As long as your devotion to white and blue is less than seven, Ephara isn't a creature. ]]></LOCALISED_TEXT>
<CONTINUOUS_ACTION layer="4">
local source = EffectSource()
if source ~= nil then
local WBDevotion = Devotion_Player_Col_A_Col_B(COLOUR_WHITE, COLOUR_BLUE, EffectController())
if WBDevotion < 7 then
local characteristics = source:GetCurrentCharacteristics()
local card_type = characteristics:CardType_GetWritable()
local sub_type = characteristics:SubType_GetWritable()
sub_type:ClearAllOfType( CARD_TYPE_CREATURE )
card_type:Clear()
card_type:Add( CARD_TYPE_ENCHANTMENT )
end
end
</CONTINUOUS_ACTION>
</STATIC_ABILITY>
<TRIGGERED_ABILITY linked_ability_group="1">
<LOCALISED_TEXT LanguageCode="en-US"><![CDATA[At the beginning of each upkeep, if you had another creature enter the battlefield under your control last turn, draw a card.]]></LOCALISED_TEXT>
<LOCALISED_TEXT LanguageCode="fr-FR"><![CDATA[At the beginning of each upkeep, if you had another creature enter the battlefield under your control last turn, draw a card.]]></LOCALISED_TEXT>
<LOCALISED_TEXT LanguageCode="es-ES"><![CDATA[At the beginning of each upkeep, if you had another creature enter the battlefield under your control last turn, draw a card.]]></LOCALISED_TEXT>
<LOCALISED_TEXT LanguageCode="de-DE"><![CDATA[At the beginning of each upkeep, if you had another creature enter the battlefield under your control last turn, draw a card.]]></LOCALISED_TEXT>
<LOCALISED_TEXT LanguageCode="it-IT"><![CDATA[All'inizio di ogni mantenimento, se hai fatto entrare nel campo di battaglia un'altra creatura sotto il tuo controllo nell'ultimo turno, pesca una carta.]]></LOCALISED_TEXT>
<LOCALISED_TEXT LanguageCode="jp-JA"><![CDATA[At the beginning of each upkeep, if you had another creature enter the battlefield under your control last turn, draw a card.]]></LOCALISED_TEXT>
<LOCALISED_TEXT LanguageCode="ko-KR"><![CDATA[At the beginning of each upkeep, if you had another creature enter the battlefield under your control last turn, draw a card.]]></LOCALISED_TEXT>
<LOCALISED_TEXT LanguageCode="ru-RU"><![CDATA[At the beginning of each upkeep, if you had another creature enter the battlefield under your control last turn, draw a card.]]></LOCALISED_TEXT>
<LOCALISED_TEXT LanguageCode="pt-BR"><![CDATA[At the beginning of each upkeep, if you had another creature enter the battlefield under your control last turn, draw a card.]]></LOCALISED_TEXT>
<TRIGGER value="BEGINNING_OF_STEP">
if MTG():GetStep() == STEP_UPKEEP then
local index = Object():GetRef()
return EffectController():PlayerDataChest():Get_Int(index) == MTG():GetTurnNumber()-1
end
return false
</TRIGGER>
<RESOLUTION_TIME_ACTION>
EffectController():DrawCards(1)
</RESOLUTION_TIME_ACTION>
</TRIGGERED_ABILITY>
<TRIGGERED_ABILITY linked_ability_group="1" replacement_effect="1">
<TRIGGER value="ZONECHANGE_END" simple_qualifier="another" to_zone="ZONE_BATTLEFIELD" from_zone="ZONE_ANY">
if TriggerObject():GetCardType():Test( CARD_TYPE_CREATURE ) then
local index = Object():GetRef()
TriggerObject():GetPlayer():PlayerDataChest():Set_Int( index, MTG():GetTurnNumber() )
end
return false
</TRIGGER>
</TRIGGERED_ABILITY>
<HELP title="MORE_INFO_BADGE_TITLE_8" body="MORE_INFO_BADGE_BODY_8" zone="ZONE_ANY" />
<HELP title="MORE_INFO_TITLE_DEVOTION" body="MORE_INFO_BODY_DEVOTION" zone="ZONE_ANY" />
<SFX text="COMBAT_CHOP_LARGE_ATTACK" power_boundary_min="4" power_boundary_max="-1" />
<SFX text="COMBAT_CHOP_SMALL_ATTACK" power_boundary_min="1" power_boundary_max="3" />
</CARD_V2>
- Needed Functions | Open
- Code: Select all
NEO_ReturnDualDevotion = function(dVal, DevotionType)
local dChest = EffectDC():Make_Chest(0)
dChest:Set_Int(0,0)
dChest:Set_Int(1,0)
dChest:Set_Int(2,0)
dChest:Set_Int(3,0)
dChest:Set_Int(4,0)
dChest:Set_Int(5,0)
dChest:Set_Int(6,0)
dChest:Set_Int(7,0)
dChest:Set_Int(8,0)
dChest:Set_Int(9,0)
if (dVal == "BATTLEGATE_MIMIC") or (dVal == "BELLIGERENT_HATCHLING") or (dVal == "BOROS_RECRUIT") or (dVal == "DUERGAR_ASSAILANT") or (dVal == "DUERGAR_HEDGEMAGE") or (dVal == "DUERGAR_MINECAPTAIN") or (dVal == "FIGURE_OF_DESTINY") or (dVal == "HOBGOBLIN_DRAGOON") or (dVal == "SCOURGE_OF_THE_NOBILIS") then
-- DEVOTION : {R/W}
dChest:Set_Int(0,1)
dChest:Set_Int(1,1)
dChest:Set_Int(2,1)
dChest:Set_Int(3,1)
dChest:Set_Int(4,0)
dChest:Set_Int(5,1)
dChest:Set_Int(6,0)
dChest:Set_Int(7,1)
dChest:Set_Int(8,0)
dChest:Set_Int(9,1)
elseif (dVal == "SCUZZBACK_SCRAPPER") or (dVal == "TATTERMUNGE_MANIAC") or (dVal == "WILD_CANTOR") or (dVal == "TATTERMUNGE_WITCH") or (dVal == "TATTERMUNGE_DUO") or (dVal == "IMPROMPTU_RAID") or (dVal == "ROSHEEN_MEANDERER") or (dVal == "RUNES_OF_THE_DEUS") or (dVal == "SCUZZBACK_MARAUDERS") or (dVal == "VALLEYMAKER") then
-- DEVOTION : {R/G}
dChest:Set_Int(0,0)
dChest:Set_Int(1,0)
dChest:Set_Int(2,1)
dChest:Set_Int(3,1)
dChest:Set_Int(4,0)
dChest:Set_Int(5,1)
dChest:Set_Int(6,1)
dChest:Set_Int(7,1)
dChest:Set_Int(8,1)
dChest:Set_Int(9,1)
elseif (dVal == "CURSE_OF_CHAINS") or (dVal == "GLAMER_SPINNERS") or (dVal == "JUDGES_FAMILIAR") or (dVal == "ZEALOUS_GUARDIAN") or (dVal == "MISTMEADOW_WITCH") or (dVal == "SOMNOMANCER") or (dVal == "MINISTER_OF_IMPEDIMENTS") or (dVal == "SILKBIND_FAERIE") or (dVal == "STEEL_OF_THE_GODHEAD") or (dVal == "THISTLEDOWN_DUO") then
-- DEVOTION : {W/U}
dChest:Set_Int(0,1)
dChest:Set_Int(1,1)
dChest:Set_Int(2,1)
dChest:Set_Int(3,1)
dChest:Set_Int(4,1)
dChest:Set_Int(5,1)
dChest:Set_Int(6,1)
dChest:Set_Int(7,0)
dChest:Set_Int(8,0)
dChest:Set_Int(9,0)
elseif (dVal == "EDGE_OF_THE_DIVINITY") or (dVal == "NIP_GWYLLION") or (dVal == "MOURNING_THRULL") or (dVal == "NIGHTSKY_MIMIC") or (dVal == "GWYLLION_HEDGEMAGE") or (dVal == "VORACIOUS_HATCHLING") then
-- DEVOTION : {W/B}
dChest:Set_Int(0,1)
dChest:Set_Int(1,1)
dChest:Set_Int(2,1)
dChest:Set_Int(3,1)
dChest:Set_Int(4,1)
dChest:Set_Int(5,0)
dChest:Set_Int(6,0)
dChest:Set_Int(7,1)
dChest:Set_Int(8,1)
dChest:Set_Int(9,0)
elseif (dVal == "BLISTERCOIL_WEIRD") or (dVal == "CLOUT_OF_THE_DOMINUS") or (dVal == "NIVMAGUS_ELEMENTAL") or (dVal == "STREAM_HOPPER") or (dVal == "RIVERFALL_MIMIC") or (dVal == "NOGGLE_HEDGEMAGE") or (dVal == "NOGGLE_RANSACKER") or (dVal == "PETRAHYDROX") or (dVal == "SHREWD_HATCHLING") then
-- DEVOTION : {U/R}
dChest:Set_Int(0,1)
dChest:Set_Int(1,0)
dChest:Set_Int(2,1)
dChest:Set_Int(3,0)
dChest:Set_Int(4,1)
dChest:Set_Int(5,1)
dChest:Set_Int(6,1)
dChest:Set_Int(7,1)
dChest:Set_Int(8,0)
dChest:Set_Int(9,1)
elseif (dVal == "OONAS_GATEWARDEN") or (dVal == "INKFATHOM_WITCH") or (dVal == "LURKING_INFORMANT") or (dVal == "GRAVELGILL_DUO") or (dVal == "TORPOR_DUST") or (dVal == "HELM_OF_THE_GHASTLORD") or (dVal == "MERROW_GRIMEBLOTTER") or (dVal == "GRAVELGILL_AXESHARK") then
-- DEVOTION : {U/B}
dChest:Set_Int(0,1)
dChest:Set_Int(1,1)
dChest:Set_Int(2,0)
dChest:Set_Int(3,0)
dChest:Set_Int(4,1)
dChest:Set_Int(5,1)
dChest:Set_Int(6,1)
dChest:Set_Int(7,1)
dChest:Set_Int(8,1)
dChest:Set_Int(9,0)
elseif (dVal == "CULTBRAND_CINDER") or (dVal == "EMBERSTRIKE_DUO") or (dVal == "EVERLASTING_TORMENT") or (dVal == "FISTS_OF_THE_DEMIGOD") or (dVal == "MANAFORGE_CINDER") or (dVal == "RAKDOS_CACKLER") or (dVal == "RIOT_SPIKES") or (dVal == "SOOTSTOKE_KINDLER") or (dVal == "SPITEFLAME_WITCH") or (dVal == "GRIEF_TYRANT") then
-- DEVOTION : {B/R}
dChest:Set_Int(0,0)
dChest:Set_Int(1,1)
dChest:Set_Int(2,1)
dChest:Set_Int(3,0)
dChest:Set_Int(4,1)
dChest:Set_Int(5,1)
dChest:Set_Int(6,0)
dChest:Set_Int(7,1)
dChest:Set_Int(8,1)
dChest:Set_Int(9,1)
elseif (dVal == "DEATHRITE_SHAMAN") or (dVal == "GIFT_OF_THE_DEITY") or (dVal == "ODIOUS_TROW") or (dVal == "SLITHERHEAD") or (dVal == "WOODLURKER_MIMIC") or (dVal == "HAG_HEDGEMAGE") or (dVal == "QUILLSPIKE") or (dVal == "RENDCLAW_TROW") or (dVal == "NOXIOUS_HATCHLING") then
-- DEVOTION : {B/G}
dChest:Set_Int(0,0)
dChest:Set_Int(1,1)
dChest:Set_Int(2,0)
dChest:Set_Int(3,1)
dChest:Set_Int(4,1)
dChest:Set_Int(5,0)
dChest:Set_Int(6,1)
dChest:Set_Int(7,1)
dChest:Set_Int(8,1)
dChest:Set_Int(9,1)
elseif (dVal == "CENTAUR_SAFEGUARD") or (dVal == "DRYAD_MILITANT") or (dVal == "ELVISH_HEXHUNTER") or (dVal == "RHYS_THE_REDEEMED") or (dVal == "SEEDCRADLE_WITCH") or (dVal == "MEDICINE_RUNNER") or (dVal == "SAFEHOLD_ELITE") or (dVal == "ORACLE_OF_NECTARS") or (dVal == "SHIELD_OF_THE_OVERSOUL") or (dVal == "SAFEHOLD_DUO") then
-- DEVOTION : {G/W}
dChest:Set_Int(0,1)
dChest:Set_Int(1,1)
dChest:Set_Int(2,1)
dChest:Set_Int(3,1)
dChest:Set_Int(4,0)
dChest:Set_Int(5,0)
dChest:Set_Int(6,1)
dChest:Set_Int(7,0)
dChest:Set_Int(8,1)
dChest:Set_Int(9,1)
elseif (dVal == "FAVOR_OF_THE_OVERBEING") or (dVal == "SLIPPERY_BOGLE") or (dVal == "GROUNDLING_POUNCER") or (dVal == "SHORECRASHER_MIMIC") or (dVal == "SELKIE_HEDGEMAGE") or (dVal == "SHIELDING_PLAX") or (dVal == "GRAZING_KELPIE") or (dVal == "STURDY_HATCHLING") then
-- DEVOTION : {G/U}
dChest:Set_Int(0,1)
dChest:Set_Int(1,0)
dChest:Set_Int(2,0)
dChest:Set_Int(3,1)
dChest:Set_Int(4,1)
dChest:Set_Int(5,1)
dChest:Set_Int(6,1)
dChest:Set_Int(7,0)
dChest:Set_Int(8,1)
dChest:Set_Int(9,1)
elseif (dVal == "NAYA_HUSHBLADE") or (dVal == "TRACE_OF_ABUNDANCE") or (dVal == "MARISIS_TWINCLAWS") then
-- DEVOTION : {R/W}{G}
dChest:Set_Int(0,1)
dChest:Set_Int(1,1)
dChest:Set_Int(2,1)
dChest:Set_Int(3,2)
dChest:Set_Int(4,0)
dChest:Set_Int(5,1)
dChest:Set_Int(6,1)
dChest:Set_Int(7,1)
dChest:Set_Int(8,1)
dChest:Set_Int(9,2)
elseif (dVal == "ARSENAL_THRESHER") or (dVal == "ESPER_STORMBLADE") or (dVal == "THOPTER_FOUNDRY") then
-- DEVOTION : {W/B}{U}
dChest:Set_Int(0,2)
dChest:Set_Int(1,1)
dChest:Set_Int(2,1)
dChest:Set_Int(3,1)
dChest:Set_Int(4,2)
dChest:Set_Int(5,1)
dChest:Set_Int(6,1)
dChest:Set_Int(7,1)
dChest:Set_Int(8,1)
dChest:Set_Int(9,0)
elseif (dVal == "GRIXIS_GRIMBLADE") or (dVal == "SEWNEYE_DRAKE") then
-- DEVOTION : {U/R}{B}
dChest:Set_Int(0,1)
dChest:Set_Int(1,1)
dChest:Set_Int(2,1)
dChest:Set_Int(3,0)
dChest:Set_Int(4,2)
dChest:Set_Int(5,1)
dChest:Set_Int(6,1)
dChest:Set_Int(7,2)
dChest:Set_Int(8,1)
dChest:Set_Int(9,1)
elseif (dVal == "BANT_SUREBLADE") or (dVal == "CRYSTALLIZATION") or (dVal == "MESSENGER_FALCONS") then
-- DEVOTION : {G/U}{W}
dChest:Set_Int(0,2)
dChest:Set_Int(1,1)
dChest:Set_Int(2,1)
dChest:Set_Int(3,2)
dChest:Set_Int(4,1)
dChest:Set_Int(5,1)
dChest:Set_Int(6,1)
dChest:Set_Int(7,0)
dChest:Set_Int(8,1)
dChest:Set_Int(9,1)
elseif (dVal == "GIANT_AMBUSH_BEETLE") or (dVal == "JUND_HACKBLADE") or (dVal == "SANGRITE_BACKLASH") then
-- DEVOTION : {B/G}{R}
dChest:Set_Int(0,0)
dChest:Set_Int(1,1)
dChest:Set_Int(2,1)
dChest:Set_Int(3,1)
dChest:Set_Int(4,1)
dChest:Set_Int(5,1)
dChest:Set_Int(6,1)
dChest:Set_Int(7,2)
dChest:Set_Int(8,1)
dChest:Set_Int(9,2)
elseif (dVal == "AUGURY_ADEPT") or (dVal == "AZORS_ELOCUTORS") or (dVal == "AZORIUS_GUILDMAGE") or (dVal == "ENCHANTED_EVENING") or (dVal == "PURESIGHT_MERROW") or (dVal == "VASSAL_SOUL") or (dVal == "SWANS_OF_BRYN_ARGOLL") then
-- DEVOTION : {W/U}{W/U}
dChest:Set_Int(0,2)
dChest:Set_Int(1,2)
dChest:Set_Int(2,2)
dChest:Set_Int(3,2)
dChest:Set_Int(4,2)
dChest:Set_Int(5,2)
dChest:Set_Int(6,2)
dChest:Set_Int(7,0)
dChest:Set_Int(8,0)
dChest:Set_Int(9,0)
elseif (dVal == "BLOODIED_GHOST") or (dVal == "EVERSHRIKE") or (dVal == "GIFT_OF_ORZHOVA") or (dVal == "ORZHOV_GUILDMAGE") or (dVal == "STILLMOON_CAVALIER") or (dVal == "HARVEST_GWYLLION") then
-- DEVOTION : {W/B}{W/B}
dChest:Set_Int(0,2)
dChest:Set_Int(1,2)
dChest:Set_Int(2,2)
dChest:Set_Int(3,2)
dChest:Set_Int(4,2)
dChest:Set_Int(5,0)
dChest:Set_Int(6,0)
dChest:Set_Int(7,2)
dChest:Set_Int(8,2)
dChest:Set_Int(9,0)
elseif (dVal == "CEMETERY_PUCA") or (dVal == "DEATHCULT_ROGUE") or (dVal == "DIMIR_GUILDMAGE") or (dVal == "DIRE_UNDERCURRENTS") or (dVal == "INKFATHOM_INFILTRATOR") or (dVal == "SYGG_RIVER_CUTTHROAT") or (dVal == "WANDERBRINE_ROOTCUTTERS") then
-- DEVOTION : {U/B}{U/B}
dChest:Set_Int(0,2)
dChest:Set_Int(1,2)
dChest:Set_Int(2,0)
dChest:Set_Int(3,0)
dChest:Set_Int(4,2)
dChest:Set_Int(5,2)
dChest:Set_Int(6,2)
dChest:Set_Int(7,2)
dChest:Set_Int(8,2)
dChest:Set_Int(9,0)
elseif (dVal == "CRACKLEBURR") or (dVal == "DJINN_ILLUMINATUS") or (dVal == "FROSTBURN_WEIRD") or (dVal == "IZZET_GUILDMAGE") or (dVal == "MIRROR_SHEEN") or (dVal == "NOGGLE_BANDIT") or (dVal == "NOGGLE_BRIDGEBREAKER") or (dVal == "NUCKLAVEE") then
-- DEVOTION : {U/R}{U/R}
dChest:Set_Int(0,2)
dChest:Set_Int(1,0)
dChest:Set_Int(2,2)
dChest:Set_Int(3,0)
dChest:Set_Int(4,2)
dChest:Set_Int(5,2)
dChest:Set_Int(6,2)
dChest:Set_Int(7,2)
dChest:Set_Int(8,0)
dChest:Set_Int(9,2)
elseif (dVal == "CANKER_ABOMINATION") or (dVal == "DESECRATOR_HAG") or (dVal == "GOLGARI_GUILDMAGE") or (dVal == "GOLGARI_LONGLEGS") or (dVal == "SAPLING_OF_COLFENOR") then
-- DEVOTION : {B/G}{B/G}
dChest:Set_Int(0,0)
dChest:Set_Int(1,2)
dChest:Set_Int(2,0)
dChest:Set_Int(3,2)
dChest:Set_Int(4,2)
dChest:Set_Int(5,0)
dChest:Set_Int(6,2)
dChest:Set_Int(7,2)
dChest:Set_Int(8,2)
dChest:Set_Int(9,2)
elseif (dVal == "CRYPTBORN_HORROR") or (dVal == "FULMINATOR_MAGE") or (dVal == "RAKDOS_GUILDMAGE") or (dVal == "RAKDOS_SHREDFREAK") or (dVal == "MURDEROUS_REDCAP") or (dVal == "SOOTWALKERS") or (dVal == "SPITEFUL_VISIONS") or (dVal == "KULRATH_KNIGHT") then
-- DEVOTION : {B/R}{B/R}
dChest:Set_Int(0,0)
dChest:Set_Int(1,2)
dChest:Set_Int(2,2)
dChest:Set_Int(3,0)
dChest:Set_Int(4,2)
dChest:Set_Int(5,2)
dChest:Set_Int(6,0)
dChest:Set_Int(7,2)
dChest:Set_Int(8,2)
dChest:Set_Int(9,2)
elseif (dVal == "BOROS_GUILDMAGE") or (dVal == "RISE_OF_THE_HOBGOBLINS") or (dVal == "SPITEMARE") then
-- DEVOTION : {R/W}{R/W}
dChest:Set_Int(0,2)
dChest:Set_Int(1,2)
dChest:Set_Int(2,2)
dChest:Set_Int(3,2)
dChest:Set_Int(4,0)
dChest:Set_Int(5,2)
dChest:Set_Int(6,0)
dChest:Set_Int(7,2)
dChest:Set_Int(8,0)
dChest:Set_Int(9,2)
elseif (dVal == "BURNINGTREE_EMISSARY") or (dVal == "GIANT_SOLIFUGE") or (dVal == "GRUUL_GUILDMAGE") or (dVal == "VEXING_SHUSHER") or (dVal == "MUDBRAWLER_RAIDERS") or (dVal == "MORSELHOARDER") or (dVal == "WORT_THE_RAIDMOTHER") then
-- DEVOTION : {R/G}{R/G}
dChest:Set_Int(0,0)
dChest:Set_Int(1,0)
dChest:Set_Int(2,2)
dChest:Set_Int(3,2)
dChest:Set_Int(4,0)
dChest:Set_Int(5,2)
dChest:Set_Int(6,2)
dChest:Set_Int(7,2)
dChest:Set_Int(8,2)
dChest:Set_Int(9,2)
elseif (dVal == "COLDEYED_SELKIE") or (dVal == "GILDER_BAIRN") or (dVal == "SIMIC_GUILDMAGE") or (dVal == "MERFOLK_OF_THE_DEPTHS") or (dVal == "TRAPJAW_KELPIE") then
-- DEVOTION : {G/U}{G/U}
dChest:Set_Int(0,2)
dChest:Set_Int(1,0)
dChest:Set_Int(2,0)
dChest:Set_Int(3,2)
dChest:Set_Int(4,2)
dChest:Set_Int(5,2)
dChest:Set_Int(6,2)
dChest:Set_Int(7,0)
dChest:Set_Int(8,2)
dChest:Set_Int(9,2)
elseif (dVal == "SELESNYA_GUILDMAGE") or (dVal == "WHEEL_OF_SUN_AND_MOON") or (dVal == "KITCHEN_FINKS") or (dVal == "GROWING_RANKS") or (dVal == "HEARTMENDER") or (dVal == "RAVENS_RUN_DRAGOON") or (dVal == "OLD_GHASTBARK") then
-- DEVOTION : {G/W}G/W}
dChest:Set_Int(0,2)
dChest:Set_Int(1,2)
dChest:Set_Int(2,2)
dChest:Set_Int(3,2)
dChest:Set_Int(4,0)
dChest:Set_Int(5,0)
dChest:Set_Int(6,2)
dChest:Set_Int(7,0)
dChest:Set_Int(8,2)
dChest:Set_Int(9,2)
elseif (dVal == "DEATHBRINGER_LIEGE") or (dVal == "DEBTORS_KNELL") or (dVal == "RESTLESS_APPARITION") then
-- DEVOTION : {W/B}{W/B}{W/B}
dChest:Set_Int(0,3)
dChest:Set_Int(1,3)
dChest:Set_Int(2,3)
dChest:Set_Int(3,3)
dChest:Set_Int(4,3)
dChest:Set_Int(5,0)
dChest:Set_Int(6,0)
dChest:Set_Int(7,3)
dChest:Set_Int(8,3)
dChest:Set_Int(9,0)
elseif (dVal == "DOVESCAPE") or (dVal == "PLUMEVEIL") or (dVal == "THISTLEDOWN_LIEGE") then
-- DEVOTION : {W/U}{W/U}{W/U}
dChest:Set_Int(0,3)
dChest:Set_Int(1,3)
dChest:Set_Int(2,3)
dChest:Set_Int(3,3)
dChest:Set_Int(4,3)
dChest:Set_Int(5,3)
dChest:Set_Int(6,3)
dChest:Set_Int(7,0)
dChest:Set_Int(8,0)
dChest:Set_Int(9,0)
elseif (dVal == "ASHENMOOR_GOUGER") or (dVal == "ASHENMOOR_LIEGE") or (dVal == "AVATAR_OF_DISCORD") or (dVal == "BARRENTON_CRAGTREADS") then
-- DEVOTION : {B/R}{B/R}{B/R}
dChest:Set_Int(0,0)
dChest:Set_Int(1,3)
dChest:Set_Int(2,3)
dChest:Set_Int(3,0)
dChest:Set_Int(4,3)
dChest:Set_Int(5,3)
dChest:Set_Int(6,0)
dChest:Set_Int(7,3)
dChest:Set_Int(8,3)
dChest:Set_Int(9,0)
elseif (dVal == "BALEFIRE_LIEGE") or (dVal == "BOROS_RECKONER") or (dVal == "HEARTHFIRE_HOBGOBLIN") then
-- DEVOTION : {R/W}{R/W}{R/W}
dChest:Set_Int(0,3)
dChest:Set_Int(1,3)
dChest:Set_Int(2,3)
dChest:Set_Int(3,3)
dChest:Set_Int(4,0)
dChest:Set_Int(5,3)
dChest:Set_Int(6,0)
dChest:Set_Int(7,3)
dChest:Set_Int(8,0)
dChest:Set_Int(9,3)
elseif (dVal == "BOARTUSK_LIEGE") or (dVal == "BOGGART_RAMGANG") or (dVal == "RUBBLEBELT_RAIDERS") or (dVal == "LOAMDRAGGER_GIANT") then
-- DEVOTION : {R/G}{R/G}{R/G}
dChest:Set_Int(0,0)
dChest:Set_Int(1,0)
dChest:Set_Int(2,3)
dChest:Set_Int(3,3)
dChest:Set_Int(4,0)
dChest:Set_Int(5,3)
dChest:Set_Int(6,3)
dChest:Set_Int(7,3)
dChest:Set_Int(8,3)
dChest:Set_Int(9,3)
elseif (dVal == "CRAG_PUCA") or (dVal == "MINDWRACK_LIEGE") then
-- DEVOTION : {U/R}{U/R}{U/R}
dChest:Set_Int(0,3)
dChest:Set_Int(1,0)
dChest:Set_Int(2,3)
dChest:Set_Int(3,0)
dChest:Set_Int(4,3)
dChest:Set_Int(5,3)
dChest:Set_Int(6,3)
dChest:Set_Int(7,3)
dChest:Set_Int(8,0)
dChest:Set_Int(9,3)
elseif (dVal == "GLEN_ELENDRA_LIEGE") or (dVal == "NIGHTVEIL_SPECTER") or (dVal == "WASP_LANCER") or (dVal == "OONA_QUEEN_OF_THE_FAE") then
-- DEVOTION : {U/B}{U/B}{U/B}
dChest:Set_Int(0,3)
dChest:Set_Int(1,3)
dChest:Set_Int(2,0)
dChest:Set_Int(3,0)
dChest:Set_Int(4,3)
dChest:Set_Int(5,3)
dChest:Set_Int(6,3)
dChest:Set_Int(7,3)
dChest:Set_Int(8,3)
dChest:Set_Int(9,0)
elseif (dVal == "CREAKWOOD_LIEGE") or (dVal == "DOOMGAPE") or (dVal == "GLEANCRAWLER") or (dVal == "STALKER_HAG") then
-- DEVOTION : {B/G}{B/G}B/G}
dChest:Set_Int(0,0)
dChest:Set_Int(1,3)
dChest:Set_Int(2,0)
dChest:Set_Int(3,3)
dChest:Set_Int(4,3)
dChest:Set_Int(5,0)
dChest:Set_Int(6,3)
dChest:Set_Int(7,3)
dChest:Set_Int(8,3)
dChest:Set_Int(9,3)
elseif (dVal == "FABLE_OF_WOLF_AND_OWL") or (dVal == "WISTFUL_SELKIE") or (dVal == "MURKFIEND_LIEGE") then
-- DEVOTION : {G/U}{G/U}{G/U}
dChest:Set_Int(0,3)
dChest:Set_Int(1,0)
dChest:Set_Int(2,0)
dChest:Set_Int(3,3)
dChest:Set_Int(4,3)
dChest:Set_Int(5,3)
dChest:Set_Int(6,3)
dChest:Set_Int(7,0)
dChest:Set_Int(8,3)
dChest:Set_Int(9,3)
elseif (dVal == "WILTLEAF_CAVALIERS") or (dVal == "WILTLEAF_LIEGE") or (dVal == "PRIVILEGED_POSITION") then
-- DEVOTION : {G/W}{G/W}{G/W}
dChest:Set_Int(0,3)
dChest:Set_Int(1,3)
dChest:Set_Int(2,3)
dChest:Set_Int(3,3)
dChest:Set_Int(4,0)
dChest:Set_Int(5,0)
dChest:Set_Int(6,3)
dChest:Set_Int(7,0)
dChest:Set_Int(8,3)
dChest:Set_Int(9,3)
elseif (dVal == "NOBILIS_OF_WAR") then
-- DEVOTION : {R/W}{R/W}{R/W}{R/W}{R/W}
dChest:Set_Int(0,5)
dChest:Set_Int(1,5)
dChest:Set_Int(2,5)
dChest:Set_Int(3,5)
dChest:Set_Int(4,0)
dChest:Set_Int(5,5)
dChest:Set_Int(6,0)
dChest:Set_Int(7,5)
dChest:Set_Int(8,0)
dChest:Set_Int(9,5)
elseif (dVal == "DEITY_OF_SCARS") then
-- DEVOTION : {B/G}{B/G}B/G}{B/G}B/G}
dChest:Set_Int(0,0)
dChest:Set_Int(1,5)
dChest:Set_Int(2,0)
dChest:Set_Int(3,5)
dChest:Set_Int(4,5)
dChest:Set_Int(5,0)
dChest:Set_Int(6,5)
dChest:Set_Int(7,5)
dChest:Set_Int(8,5)
dChest:Set_Int(9,5)
elseif (dVal == "DEMIGOD_OF_REVENGE") then
-- DEVOTION : {B/R}{B/R}{B/R}{B/R}{B/R}
dChest:Set_Int(0,0)
dChest:Set_Int(1,5)
dChest:Set_Int(2,5)
dChest:Set_Int(3,0)
dChest:Set_Int(4,5)
dChest:Set_Int(5,5)
dChest:Set_Int(6,0)
dChest:Set_Int(7,5)
dChest:Set_Int(8,5)
dChest:Set_Int(9,0)
elseif (dVal == "DEUS_OF_CALAMITY") then
-- DEVOTION : {R/G}{R/G}{R/G}{R/G}{R/G}
dChest:Set_Int(0,0)
dChest:Set_Int(1,0)
dChest:Set_Int(2,5)
dChest:Set_Int(3,5)
dChest:Set_Int(4,0)
dChest:Set_Int(5,5)
dChest:Set_Int(6,5)
dChest:Set_Int(7,5)
dChest:Set_Int(8,5)
dChest:Set_Int(9,5)
elseif (dVal == "DIVINITY_OF_PRIDE") then
-- DEVOTION : {W/B}{W/B}{W/B}W/B}{W/B}
dChest:Set_Int(0,5)
dChest:Set_Int(1,5)
dChest:Set_Int(2,5)
dChest:Set_Int(3,5)
dChest:Set_Int(4,5)
dChest:Set_Int(5,0)
dChest:Set_Int(6,0)
dChest:Set_Int(7,5)
dChest:Set_Int(8,5)
dChest:Set_Int(9,0)
elseif (dVal == "GODHEAD_OF_AWE") then
-- DEVOTION : {W/U}{W/U}{W/U}{W/U}{W/U}
dChest:Set_Int(0,5)
dChest:Set_Int(1,5)
dChest:Set_Int(2,5)
dChest:Set_Int(3,5)
dChest:Set_Int(4,5)
dChest:Set_Int(5,5)
dChest:Set_Int(6,5)
dChest:Set_Int(7,0)
dChest:Set_Int(8,0)
dChest:Set_Int(9,0)
elseif (dVal == "DOMINUS_OF_FEALTY") then
-- DEVOTION : {U/R}{U/R}{U/R}{U/R}{U/R}
dChest:Set_Int(0,5)
dChest:Set_Int(1,0)
dChest:Set_Int(2,5)
dChest:Set_Int(3,0)
dChest:Set_Int(4,5)
dChest:Set_Int(5,5)
dChest:Set_Int(6,5)
dChest:Set_Int(7,5)
dChest:Set_Int(8,0)
dChest:Set_Int(9,5)
elseif (dVal == "GHASTLORD_OF_FUGUE") then
-- DEVOTION : {U/B}{U/B}{U/B}{U/B}{U/B}
dChest:Set_Int(0,5)
dChest:Set_Int(1,5)
dChest:Set_Int(2,0)
dChest:Set_Int(3,0)
dChest:Set_Int(4,5)
dChest:Set_Int(5,5)
dChest:Set_Int(6,5)
dChest:Set_Int(7,5)
dChest:Set_Int(8,5)
dChest:Set_Int(9,0)
elseif (dVal == "REAPER_KING") then
-- DEVOTION : {X/W}{X/U}{X/B}{X/R}{X/G}
dChest:Set_Int(0,2)
dChest:Set_Int(1,2)
dChest:Set_Int(2,2)
dChest:Set_Int(3,2)
dChest:Set_Int(4,2)
dChest:Set_Int(5,2)
dChest:Set_Int(6,2)
dChest:Set_Int(7,2)
dChest:Set_Int(8,2)
dChest:Set_Int(9,2)
elseif (dVal == "OVERBEING_OF_MYTH") then
-- DEVOTION : {G/U}{G/U}{G/U}{G/U}{G/U}
dChest:Set_Int(0,5)
dChest:Set_Int(1,0)
dChest:Set_Int(2,0)
dChest:Set_Int(3,5)
dChest:Set_Int(4,5)
dChest:Set_Int(5,5)
dChest:Set_Int(6,5)
dChest:Set_Int(7,0)
dChest:Set_Int(8,5)
dChest:Set_Int(9,5)
elseif (dVal == "OVERSOUL_OF_DUSK") then
-- DEVOTION : {G/W}{G/W}{G/W}{G/W}{G/W}
dChest:Set_Int(0,5)
dChest:Set_Int(1,5)
dChest:Set_Int(2,5)
dChest:Set_Int(3,5)
dChest:Set_Int(4,0)
dChest:Set_Int(5,0)
dChest:Set_Int(6,5)
dChest:Set_Int(7,0)
dChest:Set_Int(8,5)
dChest:Set_Int(9,5)
end
return dChest:Get_Int(DevotionType)
end
Return_Dual_DeVotion_Index = function(nColourA, nColourB)
local val = 10
if nColourA == COLOUR_WHITE and nColourB == COLOUR_BLUE then
val = 0
elseif nColourA == COLOUR_BLUE and nColourB == COLOUR_WHITE then
val = 0
elseif nColourA == COLOUR_WHITE and nColourB == COLOUR_BLACK then
val = 1
elseif nColourA == COLOUR_BLACK and nColourB == COLOUR_WHITE then
val = 1
elseif nColourA == COLOUR_WHITE and nColourB == COLOUR_RED then
val = 2
elseif nColourA == COLOUR_RED and nColourB == COLOUR_WHITE then
val = 2
elseif nColourA == COLOUR_WHITE and nColourB == COLOUR_GREEN then
val = 3
elseif nColourA == COLOUR_GREEN and nColourB == COLOUR_WHITE then
val = 3
elseif nColourA == COLOUR_BLUE and nColourB == COLOUR_BLACK then
val = 4
elseif nColourA == COLOUR_BLACK and nColourB == COLOUR_BLUE then
val = 4
elseif nColourA == COLOUR_BLUE and nColourB == COLOUR_RED then
val = 5
elseif nColourA == COLOUR_RED and nColourB == COLOUR_BLUE then
val = 5
elseif nColourA == COLOUR_BLUE and nColourB == COLOUR_GREEN then
val = 6
elseif nColourA == COLOUR_GREEN and nColourB == COLOUR_BLUE then
val = 6
elseif nColourA == COLOUR_BLACK and nColourB == COLOUR_RED then
val = 7
elseif nColourA == COLOUR_RED and nColourB == COLOUR_BLACK then
val = 7
elseif nColourA == COLOUR_BLACK and nColourB == COLOUR_GREEN then
val = 8
elseif nColourA == COLOUR_GREEN and nColourB == COLOUR_BLACK then
val = 8
elseif nColourA == COLOUR_RED and nColourB == COLOUR_GREEN then
val = 9
elseif nColourA == COLOUR_GREEN and nColourB == COLOUR_RED then
val = 9
end
return val
end
Devotion_Player_Col_A_Col_B = function(nColourA, nColourB, nPlayer)
local PDevotion = 0
local filter = ClearFilter()
local subfilter = filter:AddSubFilter_Or()
subfilter:Add( FE_TYPE, OP_IS, CARD_TYPE_ARTIFACT )
subfilter:Add( FE_TYPE, OP_IS, CARD_TYPE_CREATURE )
subfilter:Add( FE_TYPE, OP_IS, CARD_TYPE_ENCHANTMENT )
subfilter:Add( FE_TYPE, OP_IS, CARD_TYPE_LAND )
subfilter:Add( FE_TYPE, OP_IS, CARD_TYPE_PLANESWALKER )
filter:Add( FE_CONTROLLER, OP_IS, nPlayer )
filter:SetZone( ZONE_BATTLEFIELD )
local filter_count = filter:EvaluateObjects()
local devchest = EffectDC():Make_Chest(0)
local Tempchest = EffectDC():Make_Chest(1)
local index = Return_Dual_DeVotion_Index(nColourA, nColourB)
for i=0, (filter_count-1) do
local permanent = filter:GetNthEvaluatedObject(i)
if permanent ~= nil then
devchest:Set_CardPtr(i, permanent)
end
end
for i=0, (filter_count-1) do
local permanent = devchest:Get_CardPtr(i)
if permanent ~= nil then
cmc = permanent:GetConvertedManaCost()
local DevA = ColourManaCountIntoCardIntoZone(nColourA, permanent, nPlayer, ZONE_BATTLEFIELD)
local DevB = ColourManaCountIntoCardIntoZone(nColourB, permanent, nPlayer, ZONE_BATTLEFIELD)
local ClessDev = ColourManaCountIntoCardIntoZone(COLOUR_COLOURLESS, permanent, nPlayer, ZONE_BATTLEFIELD)
local devotion = DevA + DevB
local Difference = cmc - ClessDev
if Difference == devotion then
Tempchest:Set_Int(i, devotion)
else
local Pname = permanent:GetCardName()
local OBDevotion = NEO_ReturnDualDevotion(Pname, index)
Tempchest:Set_Int(i, OBDevotion)
end
end
end
for i=0, (filter_count-1) do
PDevotion = PDevotion + Tempchest:Get_Int(i)
end
return PDevotion
end
- Attachments
-
EPHARA_GOD_OF_THE_POLIS.zip
- WAD FILE INCLUDING NEEDED FUNCTIONS
- (513.08 KiB) Downloaded 458 times
- NeoAnderson
- Posts: 914
- Joined: 10 Sep 2013, 07:49
- Has thanked: 18 times
- Been thanked: 139 times
Re: BORN OF THE GODS - CARDS SPOILER - 5 CARDS CODED
by drleg3nd » 15 Jan 2014, 14:12
Great job getting these cards out early guys..we can actually have a leg up on everyone one else, ironically on a game that gets little support from developers lol..i'll let the pros deal with the hard cards, I'll take care of clean up easy cards lol...can't wait to try inspired mechanic with prophet of kruphix. .I was attempting Kiora but I gave up on it (her name doesn't show up next to creature type, second ability can still be done even if first ability was used, does not go to graveyard when depleted of counters, last ability won't work, my LOL file possibly messed up other planeswalkers like xenagos was able to activate abilities multiple times) i'll let you guys handle it lol
Re: BORN OF THE GODS - CARDS SPOILER
by GrovyleXShinyCelebi » 16 Jan 2014, 00:57
Do'h, I just learned through testing that the idea of taking the chroma and subtracting the hybrid from it is still wrong in cases like Bant Sureblade where it will only count towards, say, 1 in devotion to white and green. Also,sumomole wrote:Of course, a card can have only one type of hybrid mana symbol, and THS set has no hybrid mana card, as for the future sets, that is DotP2015 thing.GrovyleXShinyCelebi wrote:Looking through your function, I believe yor function only returns the amount of total hybrid mana in a card. I just realized my equation is void because of how chromas are taken. Ugh.. What you could do is subtract the hybrid amount from chroma of the two colors you're testing, though I believe this again only works on cards with one type of hybrid mana (which appears to be every hybrid mana card currently printed, not saying Wizards might not add cards with multiple types of hybrid in the future... and for these purposes I'm not counting {2/} cards as hybrid).
- Code: Select all
(num_color == 3 and (colour_A - colour_B == 2 or colour_B - colour_A == 2))
Frankly, looking back at the trail of false leads I've been chasing and several hours testing and trying to fix sumomole's code so it CAN work with said "complex" three color cards, I feel baffled now at how we could incorporate a way to discern the TYPE of hybrid mana from something like Bant Sureblade, seeing as how chroma will only return blue = 1, white = 1, and green = 1, with no way to discern which is which. Other than knowing how much hybrid mana and how much mana of each color there is there really isn't much else I feel we can do. Honestly, right now I just wanna back down from dual devotion for now, as I've tried every way I could think of and I've only succeeded in making myself look like an idiot

(in Duels 2014)
Duels 2012: viewtopic.php?f=109&t=12152
Duels 2013: viewtopic.php?f=109&t=12481&p=137458#p137458
Duels 2012: viewtopic.php?f=109&t=12152
Duels 2013: viewtopic.php?f=109&t=12481&p=137458#p137458
-
GrovyleXShinyCelebi - Posts: 294
- Joined: 12 Jun 2013, 18:23
- Has thanked: 14 times
- Been thanked: 37 times
Re: BORN OF THE GODS - CARDS SPOILER
by NeoAnderson » 16 Jan 2014, 01:15
Don't feel so bad my friend, is not your fault, the bases that make a process reversible is "the lack of information loss"-GrovyleXShinyCelebi wrote:Do'h, I just learned through testing that the idea of taking the chroma and subtracting the hybrid from it is still wrong in cases like Bant Sureblade where it will only count towards, say, 1 in devotion to white and green. Also,sumomole wrote:Of course, a card can have only one type of hybrid mana symbol, and THS set has no hybrid mana card, as for the future sets, that is DotP2015 thing.GrovyleXShinyCelebi wrote:Looking through your function, I believe yor function only returns the amount of total hybrid mana in a card. I just realized my equation is void because of how chromas are taken. Ugh.. What you could do is subtract the hybrid amount from chroma of the two colors you're testing, though I believe this again only works on cards with one type of hybrid mana (which appears to be every hybrid mana card currently printed, not saying Wizards might not add cards with multiple types of hybrid in the future... and for these purposes I'm not counting {2/} cards as hybrid).I believe that line would make it only works for three-colored permanents if the two colors in the hybrid mana for that permanent is two colors away from each other (so, like COLOUR_BLACK and COLOUR_WHITE, the former having a value of 3 and the latter having a value of 1), so with things like Bant Sureblade (after checking, difference between values of COLOUR_GREEN and COLOUR_BLUE is 3), it still won't work, I believe.
- Code: Select all
(num_color == 3 and (colour_A - colour_B == 2 or colour_B - colour_A == 2))
Frankly, looking back at the trail of false leads I've been chasing and several hours testing and trying to fix sumomole's code so it CAN work with said "complex" three color cards, I feel baffled now at how we could incorporate a way to discern the TYPE of hybrid mana from something like Bant Sureblade, seeing as how chroma will only return blue = 1, white = 1, and green = 1, with no way to discern which is which. Other than knowing how much hybrid mana and how much mana of each color there is there really isn't much else I feel we can do. Honestly, right now I just wanna back down from dual devotion for now, as I've tried every way I could think of and I've only succeeded in making myself look like an idiot.
In this case we cannot retrieve any usefull info about Hybryd mana, and this is no sense because if they have coded specific symbols for that mana is really silly to don't implement that symbols into mana management code.
Anyway my function is just a repetitive Cut and Paste, but it works with all the official card already released that have hybrid mana, no matters how many colors they have. It is also easy to update.

- NeoAnderson
- Posts: 914
- Joined: 10 Sep 2013, 07:49
- Has thanked: 18 times
- Been thanked: 139 times
Re: BORN OF THE GODS - CARDS SPOILER
by sumomole » 16 Jan 2014, 01:42
yes, I forgotGrovyleXShinyCelebi wrote:I believe that line would make it only works for three-colored permanents if the two colors in the hybrid mana for that permanent is two colors away from each other (so, like COLOUR_BLACK and COLOUR_WHITE, the former having a value of 3 and the latter having a value of 1), so with things like Bant Sureblade (after checking, difference between values of COLOUR_GREEN and COLOUR_BLUE is 3), it still won't work, I believe.



- Code: Select all
(num_color == 3 and (colour_A - colour_B == 2 or colour_B - colour_A == 2 or colour_A - colour_B == 3 or colour_B - colour_A == 3))

-
sumomole - Programmer
- Posts: 611
- Joined: 07 Jun 2011, 08:34
- Has thanked: 51 times
- Been thanked: 234 times
Re: BORN OF THE GODS - CARDS SPOILER - 11 CARDS CODED
by NeoAnderson » 16 Jan 2014, 18:48
UPDATE : CODED CARDS 11
I made a custom version for this card, could you help me to test it in different circumstances?
The idea is to check some values and set the decision for the AI.
The checks order is :
1. Check if the player has a noncombat damage immunity (If yes, it choose damage, else make next check)
2. Check for creatures under player control immunity, as like indestructible, can't take combat damage, and also player can't lose, or player can't be attacked......(if yes choose counters, else made calculations)
3. Life point and number of counters calculation ( this function will assign a score based on calculation to each choices)
4. Add a bonus score to counters choice if the player control uquals or more creatures than the opponent.
Using this idea is simple to make also new tribute cards (probably we need just to make some other customs functions)
(I know it is not perfect because there are some combination of effects not considered, but i think can be a good base, instead of let the AI take no sense decision)
I made a custom version for this card, could you help me to test it in different circumstances?
The idea is to check some values and set the decision for the AI.
The checks order is :
1. Check if the player has a noncombat damage immunity (If yes, it choose damage, else make next check)
2. Check for creatures under player control immunity, as like indestructible, can't take combat damage, and also player can't lose, or player can't be attacked......(if yes choose counters, else made calculations)
3. Life point and number of counters calculation ( this function will assign a score based on calculation to each choices)
4. Add a bonus score to counters choice if the player control uquals or more creatures than the opponent.
Using this idea is simple to make also new tribute cards (probably we need just to make some other customs functions)
(I know it is not perfect because there are some combination of effects not considered, but i think can be a good base, instead of let the AI take no sense decision)
- Pharagax Giant | Open
- Code: Select all
<?xml version='1.0' encoding='UTF-8'?>
<CARD_V2 ExportVersion="1">
<FILENAME text="PHARAGAX_GIANT_123456" />
<CARDNAME text="PHARAGAX_GIANT" />
<TITLE>
<LOCALISED_TEXT LanguageCode="en-US"><![CDATA[Pharagax Giant]]></LOCALISED_TEXT>
<LOCALISED_TEXT LanguageCode="fr-FR"><![CDATA[Pharagax Giant]]></LOCALISED_TEXT>
<LOCALISED_TEXT LanguageCode="es-ES"><![CDATA[Pharagax Giant]]></LOCALISED_TEXT>
<LOCALISED_TEXT LanguageCode="de-DE"><![CDATA[Pharagax Giant]]></LOCALISED_TEXT>
<LOCALISED_TEXT LanguageCode="it-IT"><![CDATA[Gigante di Faragax]]></LOCALISED_TEXT>
<LOCALISED_TEXT LanguageCode="jp-JA"><![CDATA[Pharagax Giant]]></LOCALISED_TEXT>
<LOCALISED_TEXT LanguageCode="ko-KR"><![CDATA[Pharagax Giant]]></LOCALISED_TEXT>
<LOCALISED_TEXT LanguageCode="ru-RU"><![CDATA[Pharagax Giant]]></LOCALISED_TEXT>
<LOCALISED_TEXT LanguageCode="pt-BR"><![CDATA[Pharagax Giant]]></LOCALISED_TEXT>
</TITLE>
<MULTIVERSEID value="123456" />
<ARTID value="A123456" />
<ARTIST name="Ryan Pancoast" />
<CASTING_COST cost="{4}{R}" />
<TYPE metaname="Creature" />
<SUB_TYPE metaname="Giant" />
<EXPANSION value="DPI" />
<RARITY metaname="C" />
<POWER value="3" />
<TOUGHNESS value="3" />
<TRIGGERED_ABILITY linked_ability_group="1" replacement_query="1" active_zone="ZONE_TRANSITION">
<LOCALISED_TEXT LanguageCode="en-US"><![CDATA[Tribute 2 |(As this creature enters the battlefield, an opponent of your choice may place two +1/+1 counters on it.)|]]></LOCALISED_TEXT>
<LOCALISED_TEXT LanguageCode="fr-FR"><![CDATA[Tribute 2 |(As this creature enters the battlefield, an opponent of your choice may place two +1/+1 counters on it.)|]]></LOCALISED_TEXT>
<LOCALISED_TEXT LanguageCode="es-ES"><![CDATA[Tribute 2 |(As this creature enters the battlefield, an opponent of your choice may place two +1/+1 counters on it.)|]]></LOCALISED_TEXT>
<LOCALISED_TEXT LanguageCode="de-DE"><![CDATA[Tribute 2 |(As this creature enters the battlefield, an opponent of your choice may place two +1/+1 counters on it.)|]]></LOCALISED_TEXT>
<LOCALISED_TEXT LanguageCode="it-IT"><![CDATA[Tribute 2 |(As this creature enters the battlefield, an opponent of your choice may place two +1/+1 counters on it.)|]]></LOCALISED_TEXT>
<LOCALISED_TEXT LanguageCode="jp-JA"><![CDATA[Tribute 2 |(As this creature enters the battlefield, an opponent of your choice may place two +1/+1 counters on it.)|]]></LOCALISED_TEXT>
<LOCALISED_TEXT LanguageCode="ko-KR"><![CDATA[Tribute 2 |(As this creature enters the battlefield, an opponent of your choice may place two +1/+1 counters on it.)|]]></LOCALISED_TEXT>
<LOCALISED_TEXT LanguageCode="ru-RU"><![CDATA[Tribute 2 |(As this creature enters the battlefield, an opponent of your choice may place two +1/+1 counters on it.)|]]></LOCALISED_TEXT>
<LOCALISED_TEXT LanguageCode="pt-BR"><![CDATA[Tribute 2 |(As this creature enters the battlefield, an opponent of your choice may place two +1/+1 counters on it.)|]]></LOCALISED_TEXT>
<TRIGGER value="ZONECHANGE_TRANSITION" simple_qualifier="self" to_zone="ZONE_BATTLEFIELD" from_zone="ZONE_ANY" />
<RESOLUTION_TIME_ACTION>
local filter = ClearFilter()
filter:SetFilterType( FILTER_TYPE_PLAYERS )
filter:Add( FE_TEAM, OP_NOT, EffectController():GetTeam() )
EffectController():ChooseItem( "CARD_QUERY_CHOOSE_OPPONENT", EffectDC():Make_Targets(0) )
</RESOLUTION_TIME_ACTION>
<RESOLUTION_TIME_ACTION>
local player = EffectDC():Get_Targets(0):Get_PlayerPtr(0)
if player ~= nil then
if player:IsAI() == false then
player:BeginNewMultipleChoice()
player:AddMultipleChoiceAnswer( "CARD_QUERY_OPTION_YES" )
player:AddMultipleChoiceAnswer( "CARD_QUERY_INTET_DO_NOT_PAY_MANA" )
player:AskMultipleChoiceQuestion( "UI_CONDITIONAL_QUESTION_BODY" )
end
end
</RESOLUTION_TIME_ACTION>
<RESOLUTION_TIME_ACTION>
local result = 0
local player = EffectDC():Get_Targets(0):Get_PlayerPtr(0)
if player ~= nil then
if player:IsAI() == false then
result = player:GetMultipleChoiceResult()
else
local Immunity = Tribute_ImmunityFromNoCombatDamage(player)
if Immunity == 1 then
result = 1
else
Immunity = Tribute_ImmunityFromCreatures(player)
if Immunity == 1 then
result = 0
else
local chest = Tribute_Calculation1(5, 2, player)
chest = Tribute_Calculation2(chest, player, EffectController())
local DamageScore = chest:Get_Int(10)
local CounterScore = chest:Get_Int(11)
if CounterScore >= DamageScore then
result = 0
else
result = 1
end
end
end
end
if result == 0 then
EffectSource():AddCounters( MTG():PlusOnePlusOneCounters(), 2 )
else
LinkedDC():Set_Int(0,1)
end
end
</RESOLUTION_TIME_ACTION>
</TRIGGERED_ABILITY>
<TRIGGERED_ABILITY linked_ability_group="1">
<LOCALISED_TEXT LanguageCode="en-US"><![CDATA[When Pharagax Giant enters the battlefield, if tribute wasn’t paid, Pharagax Giant deals 5 damage to each opponent.]]></LOCALISED_TEXT>
<LOCALISED_TEXT LanguageCode="fr-FR"><![CDATA[When Pharagax Giant enters the battlefield, if tribute wasn’t paid, Pharagax Giant deals 5 damage to each opponent.]]></LOCALISED_TEXT>
<LOCALISED_TEXT LanguageCode="es-ES"><![CDATA[When Pharagax Giant enters the battlefield, if tribute wasn’t paid, Pharagax Giant deals 5 damage to each opponent.]]></LOCALISED_TEXT>
<LOCALISED_TEXT LanguageCode="de-DE"><![CDATA[When Pharagax Giant enters the battlefield, if tribute wasn’t paid, Pharagax Giant deals 5 damage to each opponent.]]></LOCALISED_TEXT>
<LOCALISED_TEXT LanguageCode="it-IT"><![CDATA[When Pharagax Giant enters the battlefield, if tribute wasn’t paid, Pharagax Giant deals 5 damage to each opponent.]]></LOCALISED_TEXT>
<LOCALISED_TEXT LanguageCode="jp-JA"><![CDATA[When Pharagax Giant enters the battlefield, if tribute wasn’t paid, Pharagax Giant deals 5 damage to each opponent.]]></LOCALISED_TEXT>
<LOCALISED_TEXT LanguageCode="ko-KR"><![CDATA[When Pharagax Giant enters the battlefield, if tribute wasn’t paid, Pharagax Giant deals 5 damage to each opponent.]]></LOCALISED_TEXT>
<LOCALISED_TEXT LanguageCode="ru-RU"><![CDATA[When Pharagax Giant enters the battlefield, if tribute wasn’t paid, Pharagax Giant deals 5 damage to each opponent.]]></LOCALISED_TEXT>
<LOCALISED_TEXT LanguageCode="pt-BR"><![CDATA[When Pharagax Giant enters the battlefield, if tribute wasn’t paid, Pharagax Giant deals 5 damage to each opponent.]]></LOCALISED_TEXT>
<TRIGGER value="ZONECHANGE_END" simple_qualifier="self" to_zone="ZONE_BATTLEFIELD" />
<INTERVENING_IF>
return LinkedDC():Get_Int(0) == 1
</INTERVENING_IF>
<FILTER filter_id="0">
local filter = ClearFilter()
filter:SetFilterType ( FILTER_TYPE_PLAYERS )
filter:Add( FE_TEAM, OP_NOT, EffectController():GetTeam() )
</FILTER>
<RESOLUTION_TIME_ACTION filter_id="0">
EffectSourceLKI():DealDamageTo( 5, FilteredPlayer() )
</RESOLUTION_TIME_ACTION>
</TRIGGERED_ABILITY>
<SFX text="COMBAT_BLUNT_LARGE_ATTACK" power_boundary_min="4" power_boundary_max="-1" />
<SFX text="COMBAT_BLUNT_SMALL_ATTACK" power_boundary_min="1" power_boundary_max="3" />
</CARD_V2>
- Custom Needed Functions | Open
- Code: Select all
Tribute_Calculation1 = function(vDamage, nCounters, nPlayer)
local ValuesChest = EffectDC():Make_Chest(10)
if nPlayer ~= nil then
local LifePoints = nPlayer:GetLifeTotal()
local DamageScore = 0
local CounterScore = 0
DamageScore = (LifePoints - vDamage)/4*1200
CounterScore = (nCounters - LifePoints)*-3/15*1000
--EffectController():DisplayMessage("Damage = "..DamageScore.." Counters = "..CounterScore)
ValuesChest:Set_Int(10,DamageScore)
ValuesChest:Set_Int(11,CounterScore)
end
return ValuesChest
end
Tribute_Calculation2 = function(vChest, nPlayerA, nPlayerB)
local ValuesChest = EffectDC():Make_Chest(11)
local DamageScore = vChest:Get_Int(10)
local CounterScore = vChest:Get_Int(11)
local Bonus = 0
local CreaturesA = CountcardTypeControlledBy(CARD_TYPE_CREATURE, nPlayerA, ZONE_BATTLEFIELD)
local CreaturesB = CountcardTypeControlledBy(CARD_TYPE_CREATURE, nPlayerB, ZONE_BATTLEFIELD)
if CreaturesA > CreaturesB then
Bonus = 800
elseif CreaturesA == CreaturesB then
Bonus = 400
end
ValuesChest:Set_Int(10,DamageScore)
ValuesChest:Set_Int(11,CounterScore+Bonus)
return ValuesChest
end
CheckCreaturesForCharacteristicControlledBy = function(nCharacteristic, nPlayer)
-- returns 1 if there is at least one creature on battlefield controlled by nPlayer with the ability nCharacteristic.
-- else returns 0
local oFilter = ClearFilter()
oFilter:Add(FE_TYPE, OP_IS, CARD_TYPE_CREATURE)
oFilter:Add(FE_CHARACTERISTIC, OP_HAS, nCharacteristic)
oFilter:Add(FE_CONTROLLER, OP_IS, nPlayer)
if (oFilter:Count() > 0) then
return 1
end
return 0
end
CheckPlayerForCharacteristic = function(nCharacteristic, nPlayer)
-- returns 1 if nPlayer has nCharacteristic
-- else returns 0
if nPlayer:GetCurrentCharacteristics():Bool_Get(nCharacteristic) then
return 1
else
return 0
end
end
Tribute_ImmunityFromCreatures = function(nPlayerA)
local value = 0
value = CheckPlayerForCharacteristic(PLAYER_CHARACTERISTIC_CANT_LOSE, nPlayerA)
if value == 1 then
return value
else
value = CheckPlayerForCharacteristic(PLAYER_CHARACTERISTIC_DOESNT_DIE_ON_ZERO_LIFE, nPlayerA)
if value == 1 then
return value
else
value = CheckPlayerForCharacteristic(PLAYER_CHARACTERISTIC_CANT_BE_ATTACKED, nPlayerA)
if value == 1 then
return value
else
value = CheckPlayerForCharacteristic(PLAYER_CHARACTERISTIC_CANT_TAKE_COMBAT_DAMAGE, nPlayerA)
if value == 1 then
return value
else
value = CheckCreaturesForCharacteristicControlledBy(CHARACTERISTIC_DOESNT_RECEIVE_DAMAGE, nPlayerA)
if value == 1 then
return value
else
value = CheckCreaturesForCharacteristicControlledBy(CHARACTERISTIC_DOESNT_RECEIVE_COMBAT_DAMAGE, nPlayerA)
if value == 1 then
return value
else
value = CheckCreaturesForCharacteristicControlledBy(CHARACTERISTIC_INDESTRUCTIBLE, nPlayerA)
return value
end
end
end
end
end
end
end
Tribute_ImmunityFromNoCombatDamage = function(nPlayerA)
local value = 0
value = CheckPlayerForCharacteristic(PLAYER_CHARACTERISTIC_CREATURES_CANT_TAKE_NONCOMBAT_DAMAGE, nPlayerA)
return value
end
- NeoAnderson
- Posts: 914
- Joined: 10 Sep 2013, 07:49
- Has thanked: 18 times
- Been thanked: 139 times
Re: BORN OF THE GODS - CARDS SPOILER - 11 CARDS CODED
by sumomole » 17 Jan 2014, 01:59
good job, but I have a feeling that we have to make a lot of work for tribute, each card requires separate code, and scores also need to continue to improve in the test.NeoAnderson wrote:PRIORITY NOTE : THE TRIBUTE FUNCTION IS JUST A TEST, SO PLEASE HELP ME TO LET ME KNOW HOW IT WORKS AND IF YOU FIND SOME WEIRD BEHAVIOUR, WE CAN MAKE IT BETTER TOGHETER. THIS FUNCTION IS STUDIED FOR THAT KIND OF EFFECT SO TO BE APPLIED TO OTHER TRIBUTE CARDS WITH DIFFERENT EFFECT NEEDS SOME CHANGES.

-
sumomole - Programmer
- Posts: 611
- Joined: 07 Jun 2011, 08:34
- Has thanked: 51 times
- Been thanked: 234 times
Re: BORN OF THE GODS - CARDS SPOILER - 11 CARDS CODED
by NeoAnderson » 17 Jan 2014, 02:11
I have the same feeling of you my friend, i was looking about the other cards with tribute like :sumomole wrote:good job, but I have a feeling that we have to make a lot of work for tribute, each card requires separate code, and scores also need to continue to improve in the test.NeoAnderson wrote:PRIORITY NOTE : THE TRIBUTE FUNCTION IS JUST A TEST, SO PLEASE HELP ME TO LET ME KNOW HOW IT WORKS AND IF YOU FIND SOME WEIRD BEHAVIOUR, WE CAN MAKE IT BETTER TOGHETER. THIS FUNCTION IS STUDIED FOR THAT KIND OF EFFECT SO TO BE APPLIED TO OTHER TRIBUTE CARDS WITH DIFFERENT EFFECT NEEDS SOME CHANGES.
Nessian Wilds Ravager



Creature - Hydra
Tribute 6 (As this creature enters the battlefield, an opponent of your choice may place 6 +1/+1 counters on it.)
When Nessian Wilds Ravager enters the battlefield, if the tribute wasn't paid, you may have Nessian Wilds Ravager fight another target creature.
About this card i am not sure when is appropriate to give it the counters, normally the best solution is the second one.
Probably the only case is when you want to preserve your creatures, because you are able to kill the opponent next turn, but this is a difficult condition to check! You would also give the counters if you have more creatures and one of them has immunity but this is not always true.
Flame-Wreathed Phoenix



Creature - Phoenix
Flying
Tribute 2 (As this creature enters the battlefield, an opponent of your choice may place two +1/+1 counters on it.)
When Flame-Wreathed Phoenix enters the battlefield, if tribute wasn't paid, it gains haste and "When this creature dies, return it to its owners hand."
About this one the you may accept the counters if you control 1 or more creature with flying with the total power enough to kill the phoenix, or if you control a flying creature with immunity, or if the player has immunity.
The second option could be ok if you are able to exile the phoenix but this is really difficult to check!
So as you was saying this ability is really complex to implement and problably need to implement many other function to have a bigger range of effect to apply. This is all caused by a silly A.I.!!!!

- NeoAnderson
- Posts: 914
- Joined: 10 Sep 2013, 07:49
- Has thanked: 18 times
- Been thanked: 139 times
Who is online
Users browsing this forum: No registered users and 12 guests