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 - 20 CARDS CODED
by thefiremind » 22 Jan 2014, 09:35
I was meaning the exact opposite: if you could avoid counting it, it wouldn't be necessary to check if the creature can block. You need to check that ALL creatures can block Tromokratis: if so, then you give it CHARACTERISTIC_ALL_CREATURES_MUST_BLOCK_THIS_IF_ABLE; otherwise, you give it unblockable. But that's all theory because you can't check.NeoAnderson wrote:So do you think that his ability means that if a creature is unable to block it shouldn't be counted.
< Former DotP 2012/2013/2014 modder >
Currently busy with life...
Currently busy with life...
-
thefiremind - Programmer
- Posts: 3515
- Joined: 07 Nov 2011, 10:55
- Has thanked: 118 times
- Been thanked: 722 times
Re: BORN OF THE GODS - SPOILER 69 CARDS +7 TOKENS +7 ANIMATI
by NeoAnderson » 22 Jan 2014, 17:11
22th JANUARY 2014 :
NEW SPOILER CARDS (Coded and included into new download WAD)
UPDATED ALL THE TOKENS WITH OFFICIAL BORN OF THE GODS TOKENS.
NEW SPOILER CARDS (Coded and included into new download WAD)
UPDATED ALL THE TOKENS WITH OFFICIAL BORN OF THE GODS TOKENS.
- NeoAnderson
- Posts: 914
- Joined: 10 Sep 2013, 07:49
- Has thanked: 18 times
- Been thanked: 139 times
Re: BORN OF THE GODS - CARDS SPOILER - 20 CARDS CODED
by NeoAnderson » 22 Jan 2014, 18:16
I was just making some tests i would ask to you if do you know how this trigger works :thefiremind wrote:I was meaning the exact opposite: if you could avoid counting it, it wouldn't be necessary to check if the creature can block. You need to check that ALL creatures can block Tromokratis: if so, then you give it CHARACTERISTIC_ALL_CREATURES_MUST_BLOCK_THIS_IF_ABLE; otherwise, you give it unblockable. But that's all theory because you can't check.NeoAnderson wrote:So do you think that his ability means that if a creature is unable to block it shouldn't be counted.
- Code: Select all
<TRIGGERED_ABILITY replacement_effect="1">
<TRIGGER value="CANT_BLOCK_TEST" pre_trigger="1" />
<RESOLUTION_TIME_ACTION>
if EffectController():MyTurn() and EffectSource():IsAttacking() then
local trname = TriggerObject():GetCardName()
EffectController():DisplayMessage("TR-NAME :"..trname)
end
</RESOLUTION_TIME_ACTION>
</TRIGGERED_ABILITY>
Do you know if it also return a value that we can use? Surely it doesn't have a SecondaryObject() because i tried and it generates a script log.
I have another supposition this trigger could interact with the follow Object functions :
CanBlock_Set
CantBlock_Set
CanOnlyBlock_Set
CanBlock_Clear
CantBlock_Clear
CanOnlyBlock_Clear
CantBeBlockedBy_Set
CantBeBlockedExceptBy_Set
CantBeBlockedBy_Clear
CanOnlyBeBlockedBy_Clear
For Example it checks if the creature can be block by the opponent creature if not it set CantBeBlockedBy_Set(Opponent_Creature_pointer)
- NeoAnderson
- Posts: 914
- Joined: 10 Sep 2013, 07:49
- Has thanked: 18 times
- Been thanked: 139 times
Re: BORN OF THE GODS - SPOILER 69 CARDS +7 TOKENS +7 ANIMATI
by thefiremind » 22 Jan 2014, 19:11
Do you really think that nobody would have found the solution if it were so easy? 
The CANT_BLOCK_TEST trigger is used to prevent a creature from blocking in a certain situation (Goblin Goon uses it in DotP2013). "TEST" means that the test is what you write in the trigger, the game doesn't have a test of its own to run.
The other functions were previously used to define a subset of the restrictions that we can now define with the EVASION_TEST trigger. In DotP2012 they were required even for simple things such as flying, in DotP2013 they were still required for shadow, in DotP2014 someone tried to use them for shadow and they didn't work at all, so I guess they can't be used anymore. Their parameter isn't a pointer, but an EVASION_... constant. Note that they end with "Set" or "Clear" but there's no "Get", so you couldn't check their effects on a creature even when they were working.

The CANT_BLOCK_TEST trigger is used to prevent a creature from blocking in a certain situation (Goblin Goon uses it in DotP2013). "TEST" means that the test is what you write in the trigger, the game doesn't have a test of its own to run.
The other functions were previously used to define a subset of the restrictions that we can now define with the EVASION_TEST trigger. In DotP2012 they were required even for simple things such as flying, in DotP2013 they were still required for shadow, in DotP2014 someone tried to use them for shadow and they didn't work at all, so I guess they can't be used anymore. Their parameter isn't a pointer, but an EVASION_... constant. Note that they end with "Set" or "Clear" but there's no "Get", so you couldn't check their effects on a creature even when they were working.
< Former DotP 2012/2013/2014 modder >
Currently busy with life...
Currently busy with life...
-
thefiremind - Programmer
- Posts: 3515
- Joined: 07 Nov 2011, 10:55
- Has thanked: 118 times
- Been thanked: 722 times
Re: BORN OF THE GODS - SPOILER 69 CARDS +7 TOKENS +7 ANIMATI
by NeoAnderson » 22 Jan 2014, 20:08
Thanks for the explaination my friend, i haven't followed previous versions of dotp so it is a little bit harder to have a complete knowledge of all these functions.thefiremind wrote:Do you really think that nobody would have found the solution if it were so easy?
The CANT_BLOCK_TEST trigger is used to prevent a creature from blocking in a certain situation (Goblin Goon uses it in DotP2013). "TEST" means that the test is what you write in the trigger, the game doesn't have a test of its own to run.
The other functions were previously used to define a subset of the restrictions that we can now define with the EVASION_TEST trigger. In DotP2012 they were required even for simple things such as flying, in DotP2013 they were still required for shadow, in DotP2014 someone tried to use them for shadow and they didn't work at all, so I guess they can't be used anymore. Their parameter isn't a pointer, but an EVASION_... constant. Note that they end with "Set" or "Clear" but there's no "Get", so you couldn't check their effects on a creature even when they were working.
I was not supposing that it is so easy, i know that there are many skilled person, like you that already studied many of these situatios.
So considering what we have said until now is impossible to make a custom function to check the block capability.
- NeoAnderson
- Posts: 914
- Joined: 10 Sep 2013, 07:49
- Has thanked: 18 times
- Been thanked: 139 times
Re: BORN OF THE GODS - CARDS SPOILER - 27 CARDS 4 TOKENS
by sumomole » 23 Jan 2014, 02:11
unfortunately, BNG FQAs released, it's prevent, not override.NeoAnderson wrote:Also because it shouldn't counter the effect who gives the ability, it should override the ability. So the effect is normally played but it does nothing because of the Archetype ability.

-
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 - 27 CARDS 4 TOKENS
by NeoAnderson » 23 Jan 2014, 02:22
I have just seensumomole wrote:unfortunately, BNG FQAs released, it's prevent, not override.NeoAnderson wrote:Also because it shouldn't counter the effect who gives the ability, it should override the ability. So the effect is normally played but it does nothing because of the Archetype ability.

Have you any suggestion?
UPDATE : I am thinking about a possible solution, i found an idea but i still don't know if it will work is just a little bit complicated.
I try to explain the concept so you guys could help me to understand if it could be a good option.
As I have coded the ARCHETYPES, I overwrite the value of the targeted ability of the creatures under opponents' control.
With this trigger :
- Code: Select all
<TRIGGERED_ABILITY replacement_effect="1">
<TRIGGER value="STATE_BASED_EFFECTS">
local filter = ClearFilter()
filter:Add(FE_TYPE, OP_IS, CARD_TYPE_CREATURE)
filter:Add(FE_CHARACTERISTIC, OP_HAS, CHARACTERISTIC_FLYING)
filter:Add( FE_TEAM, OP_NOT, EffectController():GetTeam() )
if filter:CountStopAt(1) == 1 then
return true
end
</TRIGGER>
<FILTER filter_id="1">
local filter = ClearFilter()
filter:Add( FE_TYPE, OP_IS, CARD_TYPE_CREATURE )
filter:Add( FE_TEAM, OP_NOT, EffectController():GetTeam())
</FILTER>
<RESOLUTION_TIME_ACTION filter_id="1">
if FilteredCard() ~= nil then
local characteristics = FilteredCard():GetCurrentCharacteristics()
characteristics:Bool_Set( CHARACTERISTIC_FLYING, 0 )
end
</RESOLUTION_TIME_ACTION>
<CONTINUOUS_ACTION layer="6" filter_id="1">
if FilteredCard() ~= nil then
local characteristics = FilteredCard():GetCurrentCharacteristics()
characteristics:Bool_Set( CHARACTERISTIC_FLYING, 0 )
end
</CONTINUOUS_ACTION>
<DURATION>
if EffectSource() ~= nil then
return (EffectSource():GetZone() ~= ZONE_BATTLEFIELD)
else
return true
end
</DURATION>
</TRIGGERED_ABILITY>
For example the opponent use Flying Carpet on a creature controlled by him while i have the archetype of imagination on the battlefield, the creature will not gain fly, but if the Archetype leave the battlefield that turn it will gain that ability.
Here i try to explain how we can avoid this.
The Trigger above is part of the code of the Archetype because it avoid that a creature could "GAINS" the ability while he is in play. This means that it will act only on the creatures who are targeted by a spell or an ability that tried to give them that ability while he is in play.
We could use this information for our intentions, we could save into a chest these creatures' pointers, when we override their ability value. In this way we will have a list of all the creature who tried to "gain" that ability while the Archetype is in play.
Now when the Archetype is going to leave the battlefield we could make a make a delayed trigger for each creature into that chest : delayed trigger still continue to override that ability for the creatures, with a continuos action with undefined duration, but just once time applied to them.
It means that if another ability or spell will target again one of these creatures the last effect will be considered and the ability could be gain.
I know that problably i am explaining in a bad way but i hope you received the main concept.
Do you think it could work?
UPDATE : I made a modified version now it seems to works compliant to the MTG rules, but i need help to check if i have considered any situations.
Test condition :
Opponent with 3 creatures onto battlefield (1th creature with intrinsic flying, 2th and 3th without flying)
I have flying carpet to give flying ability for test.
Scenario 1 :
1. I cast Archetype of Immagination
2. The only creature with flying ability of my opponent lose flying.
3. I give flying with Flying Carpet to the 2th creature (nothing happen)
4. I return Archetype of Immagination in my hand
5. Only the 1th creature have back the flying ability
Scenario 2 :
1. I give flying with Flying Carpet to the 2th creature (It gains flying)
2. I cast Archetype of Immagination (each opponent creatures lose flying)
3. I return Archetype of Immagination in my hand
4. 1th creature and 2th creature have back the flying ability
- Archetype of Imagination REVISED | Open
- Code: Select all
<?xml version='1.0' encoding='UTF-8'?>
<CARD_V2 ExportVersion="1">
<FILENAME text="ARCHETYPE_OF_IMAGINATION_9988771" />
<CARDNAME text="ARCHETYPE_OF_IMAGINATION" />
<TITLE>
<LOCALISED_TEXT LanguageCode="en-US"><![CDATA[Archetype of Imagination]]></LOCALISED_TEXT>
<LOCALISED_TEXT LanguageCode="fr-FR"><![CDATA[Archetype of Imagination]]></LOCALISED_TEXT>
<LOCALISED_TEXT LanguageCode="es-ES"><![CDATA[Archetype of Imagination]]></LOCALISED_TEXT>
<LOCALISED_TEXT LanguageCode="de-DE"><![CDATA[Archetype of Imagination]]></LOCALISED_TEXT>
<LOCALISED_TEXT LanguageCode="it-IT"><![CDATA[Archetipo dell'Immaginazione]]></LOCALISED_TEXT>
<LOCALISED_TEXT LanguageCode="jp-JA"><![CDATA[Archetype of Imagination]]></LOCALISED_TEXT>
<LOCALISED_TEXT LanguageCode="ko-KR"><![CDATA[Archetype of Imagination]]></LOCALISED_TEXT>
<LOCALISED_TEXT LanguageCode="ru-RU"><![CDATA[Archetype of Imagination]]></LOCALISED_TEXT>
<LOCALISED_TEXT LanguageCode="pt-BR"><![CDATA[Archetype of Imagination]]></LOCALISED_TEXT>
</TITLE>
<MULTIVERSEID value="9988771" />
<ARTID value="9988771" />
<ARTIST name="Robbie Trevino" />
<CASTING_COST cost="{4}{U}{U}" />
<FLAVOURTEXT>
<LOCALISED_TEXT LanguageCode="en-US"><![CDATA["Is it not the embodiment of our aspirations?"
-Prokopios, astronomer of Meletis]]></LOCALISED_TEXT>
<LOCALISED_TEXT LanguageCode="fr-FR"><![CDATA["Is it not the embodiment of our aspirations?"
-Prokopios, astronomer of Meletis]]></LOCALISED_TEXT>
<LOCALISED_TEXT LanguageCode="es-ES"><![CDATA["Is it not the embodiment of our aspirations?"
-Prokopios, astronomer of Meletis]]></LOCALISED_TEXT>
<LOCALISED_TEXT LanguageCode="de-DE"><![CDATA["Is it not the embodiment of our aspirations?"
-Prokopios, astronomer of Meletis]]></LOCALISED_TEXT>
<LOCALISED_TEXT LanguageCode="it-IT"><![CDATA["Non è forse l'incarnazione delle nostre aspirazioni?"
-Filastrio, astronomo di Meletis]]></LOCALISED_TEXT>
<LOCALISED_TEXT LanguageCode="jp-JA"><![CDATA["Is it not the embodiment of our aspirations?"
-Prokopios, astronomer of Meletis]]></LOCALISED_TEXT>
<LOCALISED_TEXT LanguageCode="ko-KR"><![CDATA["Is it not the embodiment of our aspirations?"
-Prokopios, astronomer of Meletis]]></LOCALISED_TEXT>
<LOCALISED_TEXT LanguageCode="ru-RU"><![CDATA["Is it not the embodiment of our aspirations?"
-Prokopios, astronomer of Meletis]]></LOCALISED_TEXT>
<LOCALISED_TEXT LanguageCode="pt-BR"><![CDATA["Is it not the embodiment of our aspirations?"
-Prokopios, astronomer of Meletis]]></LOCALISED_TEXT>
</FLAVOURTEXT>
<TYPE metaname="Enchantment" />
<TYPE metaname="Creature" />
<SUB_TYPE metaname="Human" />
<SUB_TYPE metaname="Wizard" />
<EXPANSION value="BNG" />
<RARITY metaname="U" />
<POWER value="3" />
<TOUGHNESS value="2" />
<TRIGGERED_ABILITY replacement_effect="1" active_zone="ZONE_BATTLEFIELD">
<TRIGGER value="STATE_BASED_EFFECTS">
local filter = ClearFilter()
filter:Add(FE_TYPE, OP_IS, CARD_TYPE_CREATURE)
filter:Add(FE_CHARACTERISTIC, OP_HAS, CHARACTERISTIC_FLYING)
filter:Add( FE_TEAM, OP_NOT, EffectController():GetTeam() )
local filter_count = filter:EvaluateObjects()
if filter_count > 0 then
local delayDC = EffectDC():Make_Chest(1)
delayDC:Set_Int(0,filter_count)
for i=0, (filter_count-1) do
local permanent = filter:GetNthEvaluatedObject(i)
if permanent ~= nil then
delayDC:Set_CardPtr(i+1, permanent)
end
end
MTG():CreateDelayedTrigger(1, delayDC)
return true
end
</TRIGGER>
<FILTER filter_id="1">
local filter = ClearFilter()
filter:Add(FE_TYPE, OP_IS, CARD_TYPE_CREATURE)
filter:Add(FE_CHARACTERISTIC, OP_HAS, CHARACTERISTIC_FLYING)
filter:Add( FE_TEAM, OP_NOT, EffectController():GetTeam() )
</FILTER>
<RESOLUTION_TIME_ACTION filter_id="1">
if FilteredCard() ~= nil then
local characteristics = FilteredCard():GetCurrentCharacteristics()
characteristics:Bool_Set( CHARACTERISTIC_FLYING, 0 )
end
</RESOLUTION_TIME_ACTION>
<CONTINUOUS_ACTION layer="6" filter_id="1">
if FilteredCard() ~= nil then
local characteristics = FilteredCard():GetCurrentCharacteristics()
characteristics:Bool_Set( CHARACTERISTIC_FLYING, 0 )
end
</CONTINUOUS_ACTION>
<DURATION>
if EffectSource() ~= nil then
return (EffectSource():GetZone() ~= ZONE_BATTLEFIELD)
else
return true
end
</DURATION>
</TRIGGERED_ABILITY>
<TRIGGERED_ABILITY resource_id="1" replacement_effect="1">
<TRIGGER value="ZONECHANGE_CONSIDERED" simple_qualifier="self" to_zone="ZONE_ANY" from_zone="ZONE_BATTLEFIELD" pre_trigger="1" />
<CLEANUP fire_once="1" />
<FILTER filter_id="1">
MTG():ClearFilterMark()
local filter = ClearFilter()
local count = EffectDC():Get_Int(0)
for i=1, (count) do
local permanent = EffectDC():Get_CardPtr(i)
if permanent ~= nil then
permanent:MarkForFilter()
end
end
filter:SetMarkedObjectsOnly()
</FILTER>
<CONTINUOUS_ACTION layer="6" filter_id="1">
if FilteredCard() ~= nil then
local characteristics = FilteredCard():GetCurrentCharacteristics()
characteristics:Bool_Set( CHARACTERISTIC_FLYING, 0 )
end
</CONTINUOUS_ACTION>
<DURATION>
return false
</DURATION>
</TRIGGERED_ABILITY>
<STATIC_ABILITY>
<LOCALISED_TEXT LanguageCode="en-US"><![CDATA[Creatures you control have flying.]]></LOCALISED_TEXT>
<LOCALISED_TEXT LanguageCode="fr-FR"><![CDATA[Creatures you control have flying.]]></LOCALISED_TEXT>
<LOCALISED_TEXT LanguageCode="es-ES"><![CDATA[Creatures you control have flying.]]></LOCALISED_TEXT>
<LOCALISED_TEXT LanguageCode="de-DE"><![CDATA[Creatures you control have flying.]]></LOCALISED_TEXT>
<LOCALISED_TEXT LanguageCode="it-IT"><![CDATA[Le creature che controlli hanno volare.]]></LOCALISED_TEXT>
<LOCALISED_TEXT LanguageCode="jp-JA"><![CDATA[Creatures you control have flying.]]></LOCALISED_TEXT>
<LOCALISED_TEXT LanguageCode="ko-KR"><![CDATA[Creatures you control have flying.]]></LOCALISED_TEXT>
<LOCALISED_TEXT LanguageCode="ru-RU"><![CDATA[Creatures you control have flying.]]></LOCALISED_TEXT>
<LOCALISED_TEXT LanguageCode="pt-BR"><![CDATA[Creatures you control have flying.]]></LOCALISED_TEXT>
<FILTER filter_id="0">
local filter = ClearFilter()
filter:Add( FE_TYPE, OP_IS, CARD_TYPE_CREATURE )
filter:Add( FE_CONTROLLER, OP_IS, EffectController())
</FILTER>
<CONTINUOUS_ACTION layer="6" filter_id="0">
if FilteredCard() ~= nil then
local characteristics = FilteredCard():GetCurrentCharacteristics()
characteristics:Bool_Set( CHARACTERISTIC_FLYING, 1 )
end
</CONTINUOUS_ACTION>
</STATIC_ABILITY>
<STATIC_ABILITY>
<LOCALISED_TEXT LanguageCode="en-US"><![CDATA[Creatures your opponents control lose flying and can't have flying.]]></LOCALISED_TEXT>
<LOCALISED_TEXT LanguageCode="fr-FR"><![CDATA[Creatures your opponents control lose flying and can't have flying.]]></LOCALISED_TEXT>
<LOCALISED_TEXT LanguageCode="es-ES"><![CDATA[Creatures your opponents control lose flying and can't have flying.]]></LOCALISED_TEXT>
<LOCALISED_TEXT LanguageCode="de-DE"><![CDATA[Creatures your opponents control lose flying and can't have flying.]]></LOCALISED_TEXT>
<LOCALISED_TEXT LanguageCode="it-IT"><![CDATA[Le creature controllate dai tuoi avversari perdono volare e non possono avere volare.]]></LOCALISED_TEXT>
<LOCALISED_TEXT LanguageCode="jp-JA"><![CDATA[Creatures your opponents control lose flying and can't have flying.]]></LOCALISED_TEXT>
<LOCALISED_TEXT LanguageCode="ko-KR"><![CDATA[Creatures your opponents control lose flying and can't have flying.]]></LOCALISED_TEXT>
<LOCALISED_TEXT LanguageCode="ru-RU"><![CDATA[Creatures your opponents control lose flying and can't have flying.]]></LOCALISED_TEXT>
<LOCALISED_TEXT LanguageCode="pt-BR"><![CDATA[Creatures your opponents control lose flying and can't have flying.]]></LOCALISED_TEXT>
<FILTER filter_id="1">
local filter = ClearFilter()
filter:Add( FE_TYPE, OP_IS, CARD_TYPE_CREATURE )
filter:Add( FE_TEAM, OP_NOT, EffectController():GetTeam())
</FILTER>
<CONTINUOUS_ACTION layer="6" filter_id="1">
if FilteredCard() ~= nil then
local characteristics = FilteredCard():GetCurrentCharacteristics()
characteristics:Bool_Set( CHARACTERISTIC_FLYING, 0 )
end
</CONTINUOUS_ACTION>
</STATIC_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>
- NeoAnderson
- Posts: 914
- Joined: 10 Sep 2013, 07:49
- Has thanked: 18 times
- Been thanked: 139 times
Re: BORN OF THE GODS - CARDS SPOILER - 27 CARDS 4 TOKENS
by sumomole » 23 Jan 2014, 15:11
how about a flying creature gains flying, like Ornithopter.NeoAnderson wrote:I made a modified version now it seems to works compliant to the MTG rules, but i need help to check if i have considered any situations.
-
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 - 27 CARDS 4 TOKENS
by NeoAnderson » 23 Jan 2014, 15:28
You're right this create problems, because if an ability try o give flying toa creature who already have it while Archetype is in play, when it leaves the battlefield that creature doesn't gain back flying ability also if it is an intrisic ability.sumomole wrote:how about a flying creature gains flying, like Ornithopter.NeoAnderson wrote:I made a modified version now it seems to works compliant to the MTG rules, but i need help to check if i have considered any situations.
But i think i can resolve this problem.
UPDATE : Following your pointing i made another modify, while the archetype is entering the battlefield i store into a linkedDC chest all the creatures (controlled by opponents) that already has flying ability, then when i have to add them to the delayed trigger i check first if they are into that chest, if the creature is in the chest i just remove flying ability, without insert it into the delayed trigger, so when the archetype leave the battlefield it gains back his ability.
- Archetype of Imagination REV 2.0 | Open
- CODE REMOVED STILL HAVE SOMETHING TO ADJUST PLEASE LOOK FOR THE REV 3.0
Last edited by NeoAnderson on 23 Jan 2014, 16:30, edited 1 time in total.
- NeoAnderson
- Posts: 914
- Joined: 10 Sep 2013, 07:49
- Has thanked: 18 times
- Been thanked: 139 times
Re: BORN OF THE GODS - CARDS SPOILER - 27 CARDS 4 TOKENS
by RiiakShiNal » 23 Jan 2014, 15:57
But then you have a problem if the opponent gains control of say an Ornithopter you controlled. Additionally because the Archetypes are permanents your opponent could gain control of your Archetype which further complicates issues.NeoAnderson wrote:UPDATE : Following your pointing i made another modify, while the archetype is entering the battlefield i store into a linkedDC chest all the creatures (controlled by opponents) that already has flying ability, then when i have to add them to the delayed trigger i check first if they are into that chest, if the creature is in the chest i just remove flying ability, without insert it into the delayed trigger, so when the archetype leave the battlefield it gains back his ability.
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: 2189
- Joined: 16 May 2011, 21:37
- Has thanked: 75 times
- Been thanked: 497 times
Re: BORN OF THE GODS - CARDS SPOILER - 27 CARDS 4 TOKENS
by NeoAnderson » 23 Jan 2014, 16:07
These issues i think could be resolved storing all the creatures with flying into the linkedDC chest also the creature controlled by my team. I think this should work.RiiakShiNal wrote:But then you have a problem if the opponent gains control of say an Ornithopter you controlled. Additionally because the Archetypes are permanents your opponent could gain control of your Archetype which further complicates issues.NeoAnderson wrote:UPDATE : Following your pointing i made another modify, while the archetype is entering the battlefield i store into a linkedDC chest all the creatures (controlled by opponents) that already has flying ability, then when i have to add them to the delayed trigger i check first if they are into that chest, if the creature is in the chest i just remove flying ability, without insert it into the delayed trigger, so when the archetype leave the battlefield it gains back his ability.
Please Riiak, i know you generally you don't test the card just look the code, but i need to understand if something is missing.
Now the card seem to work properly. Please try to think some combinations could create problems and i will make specified tests.
The new code:
- Archetype of Imagination REV 3.0 | Open
- Code: Select all
<?xml version='1.0' encoding='UTF-8'?>
<CARD_V2 ExportVersion="1">
<FILENAME text="ARCHETYPE_OF_IMAGINATION_9988771" />
<CARDNAME text="ARCHETYPE_OF_IMAGINATION" />
<TITLE>
<LOCALISED_TEXT LanguageCode="en-US"><![CDATA[Archetype of Imagination]]></LOCALISED_TEXT>
<LOCALISED_TEXT LanguageCode="fr-FR"><![CDATA[Archetype of Imagination]]></LOCALISED_TEXT>
<LOCALISED_TEXT LanguageCode="es-ES"><![CDATA[Archetype of Imagination]]></LOCALISED_TEXT>
<LOCALISED_TEXT LanguageCode="de-DE"><![CDATA[Archetype of Imagination]]></LOCALISED_TEXT>
<LOCALISED_TEXT LanguageCode="it-IT"><![CDATA[Archetipo dell'Immaginazione]]></LOCALISED_TEXT>
<LOCALISED_TEXT LanguageCode="jp-JA"><![CDATA[Archetype of Imagination]]></LOCALISED_TEXT>
<LOCALISED_TEXT LanguageCode="ko-KR"><![CDATA[Archetype of Imagination]]></LOCALISED_TEXT>
<LOCALISED_TEXT LanguageCode="ru-RU"><![CDATA[Archetype of Imagination]]></LOCALISED_TEXT>
<LOCALISED_TEXT LanguageCode="pt-BR"><![CDATA[Archetype of Imagination]]></LOCALISED_TEXT>
</TITLE>
<MULTIVERSEID value="9988771" />
<ARTID value="9988771" />
<ARTIST name="Robbie Trevino" />
<CASTING_COST cost="{4}{U}{U}" />
<FLAVOURTEXT>
<LOCALISED_TEXT LanguageCode="en-US"><![CDATA["Is it not the embodiment of our aspirations?"
-Prokopios, astronomer of Meletis]]></LOCALISED_TEXT>
<LOCALISED_TEXT LanguageCode="fr-FR"><![CDATA["Is it not the embodiment of our aspirations?"
-Prokopios, astronomer of Meletis]]></LOCALISED_TEXT>
<LOCALISED_TEXT LanguageCode="es-ES"><![CDATA["Is it not the embodiment of our aspirations?"
-Prokopios, astronomer of Meletis]]></LOCALISED_TEXT>
<LOCALISED_TEXT LanguageCode="de-DE"><![CDATA["Is it not the embodiment of our aspirations?"
-Prokopios, astronomer of Meletis]]></LOCALISED_TEXT>
<LOCALISED_TEXT LanguageCode="it-IT"><![CDATA["Non è forse l'incarnazione delle nostre aspirazioni?"
-Filastrio, astronomo di Meletis]]></LOCALISED_TEXT>
<LOCALISED_TEXT LanguageCode="jp-JA"><![CDATA["Is it not the embodiment of our aspirations?"
-Prokopios, astronomer of Meletis]]></LOCALISED_TEXT>
<LOCALISED_TEXT LanguageCode="ko-KR"><![CDATA["Is it not the embodiment of our aspirations?"
-Prokopios, astronomer of Meletis]]></LOCALISED_TEXT>
<LOCALISED_TEXT LanguageCode="ru-RU"><![CDATA["Is it not the embodiment of our aspirations?"
-Prokopios, astronomer of Meletis]]></LOCALISED_TEXT>
<LOCALISED_TEXT LanguageCode="pt-BR"><![CDATA["Is it not the embodiment of our aspirations?"
-Prokopios, astronomer of Meletis]]></LOCALISED_TEXT>
</FLAVOURTEXT>
<TYPE metaname="Enchantment" />
<TYPE metaname="Creature" />
<SUB_TYPE metaname="Human" />
<SUB_TYPE metaname="Wizard" />
<EXPANSION value="BNG" />
<RARITY metaname="U" />
<POWER value="3" />
<TOUGHNESS value="2" />
<TRIGGERED_ABILITY linked_ability_group="1" replacement_effect="1" active_zone="ZONE_TRANSITION">
<TRIGGER value="ZONECHANGE_TRANSITION" simple_qualifier="self" to_zone="ZONE_BATTLEFIELD" from_zone="ZONE_ANY" >
local filter = ClearFilter()
filter:Add(FE_TYPE, OP_IS, CARD_TYPE_CREATURE)
filter:Add(FE_CHARACTERISTIC, OP_HAS, CHARACTERISTIC_FLYING)
local filter_count = filter:EvaluateObjects()
if filter_count > 0 then
LinkedDC():Set_Int(0,filter_count)
for i=0, (filter_count-1) do
local permanent = filter:GetNthEvaluatedObject(i)
if permanent ~= nil then
LinkedDC():Set_CardPtr(i+1, permanent)
end
end
end
</TRIGGER>
</TRIGGERED_ABILITY>
<TRIGGERED_ABILITY linked_ability_group="1" replacement_effect="1" active_zone="ZONE_BATTLEFIELD">
<TRIGGER value="STATE_BASED_EFFECTS">
local filter = ClearFilter()
filter:Add(FE_TYPE, OP_IS, CARD_TYPE_CREATURE)
filter:Add(FE_CHARACTERISTIC, OP_HAS, CHARACTERISTIC_FLYING)
filter:Add( FE_TEAM, OP_NOT, EffectController():GetTeam() )
local filter_count = filter:EvaluateObjects()
if filter_count > 0 then
local delayDC = EffectDC():Make_Chest(1)
delayDC:Set_Int(0,filter_count)
local j = 0
for i=0, (filter_count-1) do
local permanent = filter:GetNthEvaluatedObject(i)
if permanent ~= nil then
local index = LinkedDC():Get_Int(0)
local foundvalue = 0
for k=1, index do
local card = LinkedDC():Get_CardPtr(k)
if card ~= nil then
if permanent == card then
foundvalue = 1
end
end
end
if foundvalue == 0 then
j = j + 1
delayDC:Set_CardPtr(j, permanent)
end
end
end
delayDC:Set_Int(0, j)
MTG():CreateDelayedTrigger(1, delayDC)
return true
end
</TRIGGER>
<FILTER filter_id="1">
local filter = ClearFilter()
filter:Add(FE_TYPE, OP_IS, CARD_TYPE_CREATURE)
filter:Add(FE_CHARACTERISTIC, OP_HAS, CHARACTERISTIC_FLYING)
filter:Add( FE_TEAM, OP_NOT, EffectController():GetTeam() )
</FILTER>
<RESOLUTION_TIME_ACTION filter_id="1">
if FilteredCard() ~= nil then
local characteristics = FilteredCard():GetCurrentCharacteristics()
characteristics:Bool_Set( CHARACTERISTIC_FLYING, 0 )
end
</RESOLUTION_TIME_ACTION>
<CONTINUOUS_ACTION layer="6" filter_id="1">
if FilteredCard() ~= nil then
local characteristics = FilteredCard():GetCurrentCharacteristics()
characteristics:Bool_Set( CHARACTERISTIC_FLYING, 0 )
end
</CONTINUOUS_ACTION>
<DURATION>
if EffectSource() ~= nil then
return (EffectSource():GetZone() ~= ZONE_BATTLEFIELD)
else
return true
end
</DURATION>
</TRIGGERED_ABILITY>
<TRIGGERED_ABILITY resource_id="1" replacement_effect="1">
<TRIGGER value="ZONECHANGE_CONSIDERED" simple_qualifier="self" to_zone="ZONE_ANY" from_zone="ZONE_BATTLEFIELD" pre_trigger="1" />
<CLEANUP fire_once="1" />
<FILTER filter_id="1">
MTG():ClearFilterMark()
local filter = ClearFilter()
local count = EffectDC():Get_Int(0)
for i=1, (count) do
local permanent = EffectDC():Get_CardPtr(i)
if permanent ~= nil then
permanent:MarkForFilter()
end
end
filter:SetMarkedObjectsOnly()
</FILTER>
<CONTINUOUS_ACTION layer="6" filter_id="1">
if FilteredCard() ~= nil then
local characteristics = FilteredCard():GetCurrentCharacteristics()
characteristics:Bool_Set( CHARACTERISTIC_FLYING, 0 )
end
</CONTINUOUS_ACTION>
<DURATION>
return false
</DURATION>
</TRIGGERED_ABILITY>
<STATIC_ABILITY>
<LOCALISED_TEXT LanguageCode="en-US"><![CDATA[Creatures you control have flying.]]></LOCALISED_TEXT>
<LOCALISED_TEXT LanguageCode="fr-FR"><![CDATA[Creatures you control have flying.]]></LOCALISED_TEXT>
<LOCALISED_TEXT LanguageCode="es-ES"><![CDATA[Creatures you control have flying.]]></LOCALISED_TEXT>
<LOCALISED_TEXT LanguageCode="de-DE"><![CDATA[Creatures you control have flying.]]></LOCALISED_TEXT>
<LOCALISED_TEXT LanguageCode="it-IT"><![CDATA[Le creature che controlli hanno volare.]]></LOCALISED_TEXT>
<LOCALISED_TEXT LanguageCode="jp-JA"><![CDATA[Creatures you control have flying.]]></LOCALISED_TEXT>
<LOCALISED_TEXT LanguageCode="ko-KR"><![CDATA[Creatures you control have flying.]]></LOCALISED_TEXT>
<LOCALISED_TEXT LanguageCode="ru-RU"><![CDATA[Creatures you control have flying.]]></LOCALISED_TEXT>
<LOCALISED_TEXT LanguageCode="pt-BR"><![CDATA[Creatures you control have flying.]]></LOCALISED_TEXT>
<FILTER filter_id="0">
local filter = ClearFilter()
filter:Add( FE_TYPE, OP_IS, CARD_TYPE_CREATURE )
filter:Add( FE_CONTROLLER, OP_IS, EffectController())
</FILTER>
<CONTINUOUS_ACTION layer="6" filter_id="0">
if FilteredCard() ~= nil then
local characteristics = FilteredCard():GetCurrentCharacteristics()
characteristics:Bool_Set( CHARACTERISTIC_FLYING, 1 )
end
</CONTINUOUS_ACTION>
</STATIC_ABILITY>
<STATIC_ABILITY>
<LOCALISED_TEXT LanguageCode="en-US"><![CDATA[Creatures your opponents control lose flying and can't have flying.]]></LOCALISED_TEXT>
<LOCALISED_TEXT LanguageCode="fr-FR"><![CDATA[Creatures your opponents control lose flying and can't have flying.]]></LOCALISED_TEXT>
<LOCALISED_TEXT LanguageCode="es-ES"><![CDATA[Creatures your opponents control lose flying and can't have flying.]]></LOCALISED_TEXT>
<LOCALISED_TEXT LanguageCode="de-DE"><![CDATA[Creatures your opponents control lose flying and can't have flying.]]></LOCALISED_TEXT>
<LOCALISED_TEXT LanguageCode="it-IT"><![CDATA[Le creature controllate dai tuoi avversari perdono volare e non possono avere volare.]]></LOCALISED_TEXT>
<LOCALISED_TEXT LanguageCode="jp-JA"><![CDATA[Creatures your opponents control lose flying and can't have flying.]]></LOCALISED_TEXT>
<LOCALISED_TEXT LanguageCode="ko-KR"><![CDATA[Creatures your opponents control lose flying and can't have flying.]]></LOCALISED_TEXT>
<LOCALISED_TEXT LanguageCode="ru-RU"><![CDATA[Creatures your opponents control lose flying and can't have flying.]]></LOCALISED_TEXT>
<LOCALISED_TEXT LanguageCode="pt-BR"><![CDATA[Creatures your opponents control lose flying and can't have flying.]]></LOCALISED_TEXT>
<FILTER filter_id="1">
local filter = ClearFilter()
filter:Add( FE_TYPE, OP_IS, CARD_TYPE_CREATURE )
filter:Add( FE_TEAM, OP_NOT, EffectController():GetTeam())
</FILTER>
<CONTINUOUS_ACTION layer="6" filter_id="1">
if FilteredCard() ~= nil then
local characteristics = FilteredCard():GetCurrentCharacteristics()
characteristics:Bool_Set( CHARACTERISTIC_FLYING, 0 )
end
</CONTINUOUS_ACTION>
</STATIC_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>
- NeoAnderson
- Posts: 914
- Joined: 10 Sep 2013, 07:49
- Has thanked: 18 times
- Been thanked: 139 times
Re: BORN OF THE GODS - CARDS SPOILER - 27 CARDS 4 TOKENS
by RiiakShiNal » 23 Jan 2014, 17:27
Except if the creature with flying (and a condition) enters the battlefield after the Archetype or the condition activates afterwards. For example Snapsail Glider.NeoAnderson wrote:These issues i think could be resolved storing all the creatures with flying into the linkedDC chest also the creature controlled by my team. I think this should work.
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: 2189
- Joined: 16 May 2011, 21:37
- Has thanked: 75 times
- Been thanked: 497 times
Re: BORN OF THE GODS - CARDS SPOILER - 27 CARDS 4 TOKENS
by NeoAnderson » 23 Jan 2014, 17:45
This is the reason why i am asking to you and the other guys to help me to debug this ability.RiiakShiNal wrote:Except if the creature with flying (and a condition) enters the battlefield after the Archetype or the condition activates afterwards. For example Snapsail Glider.NeoAnderson wrote:These issues i think could be resolved storing all the creatures with flying into the linkedDC chest also the creature controlled by my team. I think this should work.
Unfotunately dotp doesn't give us a lot of possibilities with all his limitations.
Anyway, About the first issue i can add new creatures, into LinkedDC() chest if they have flying, should be easy with another trigger.
But about the conditions that can be activated while it is in play i am not sure how to resolve..I need help guys.
- NeoAnderson
- Posts: 914
- Joined: 10 Sep 2013, 07:49
- Has thanked: 18 times
- Been thanked: 139 times
Re: BORN OF THE GODS - SPOILER 69 CARDS +7 TOKENS +7 ANIMATI
by drleg3nd » 23 Jan 2014, 22:19
hey neo I got this from Phenax:
[lua] [string "PHENAX_GOD_OF_DECEPTION_9988821_TITLE (RESOLUTION_TIME_ACTION)~0x0000046e"]:4: attempt to index a nil value
also when I play any of these gods and cast nightveil specter, specter gets stuck in front of my screen and wont resolve
[lua] [string "PHENAX_GOD_OF_DECEPTION_9988821_TITLE (RESOLUTION_TIME_ACTION)~0x0000046e"]:4: attempt to index a nil value
also when I play any of these gods and cast nightveil specter, specter gets stuck in front of my screen and wont resolve
Re: BORN OF THE GODS - SPOILER 69 CARDS +7 TOKENS +7 ANIMATI
by NeoAnderson » 24 Jan 2014, 00:06
Hi my friend i checked your game scenario, but it works without any problems for me.drleg3nd wrote:hey neo I got this from Phenax:
[lua] [string "PHENAX_GOD_OF_DECEPTION_9988821_TITLE (RESOLUTION_TIME_ACTION)~0x0000046e"]:4: attempt to index a nil value
also when I play any of these gods and cast nightveil specter, specter gets stuck in front of my screen and wont resolve
Look the follow screenshoots :
1. Casting Nightveil specter, Phenax is on the upper right corner considered as enchantment.

2. Nightveil specter normally resolve into stack

3. Nightveil specter enter the battlefield its dual devotion is counted for 3, and phenax becomes a creature

So what i can suggest to you is to first check which version you have of my wad file, be sure is the latest.
Then better check other mod installed can have some conflicts.
- 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 65 guests