It is currently 16 Apr 2024, 09:20
   
Text Size

The Mimeoplasm (Untested)

Moderator: CCGHQ Admins

The Mimeoplasm (Untested)

Postby volrathxp » 05 Sep 2014, 01:01

So I've been looking at this guy, because he's fun to play with, and I built this up. Not sure how well it works, as it's not tested yet, but looking to make sure I'm on the right track here.

The Mimeoplasm (Untested) | Open
Code: Select all
<?xml version='1.0' encoding='UTF-8'?>
<CARD_V2 ExportVersion="1">
  <FILENAME text="THE_MIMEOPLASM_1000338445" />
  <CARDNAME text="THE_MIMEOPLASM" />
  <TITLE>
    <LOCALISED_TEXT LanguageCode="en-US"><![CDATA[The Mimeoplasm]]></LOCALISED_TEXT>
    <LOCALISED_TEXT LanguageCode="fr-FR"><![CDATA[The Mimeoplasm]]></LOCALISED_TEXT>
    <LOCALISED_TEXT LanguageCode="es-ES"><![CDATA[The Mimeoplasm]]></LOCALISED_TEXT>
    <LOCALISED_TEXT LanguageCode="de-DE"><![CDATA[The Mimeoplasm]]></LOCALISED_TEXT>
    <LOCALISED_TEXT LanguageCode="it-IT"><![CDATA[The Mimeoplasm]]></LOCALISED_TEXT>
    <LOCALISED_TEXT LanguageCode="jp-JA"><![CDATA[The Mimeoplasm]]></LOCALISED_TEXT>
    <LOCALISED_TEXT LanguageCode="ko-KR"><![CDATA[The Mimeoplasm]]></LOCALISED_TEXT>
    <LOCALISED_TEXT LanguageCode="ru-RU"><![CDATA[The Mimeoplasm]]></LOCALISED_TEXT>
    <LOCALISED_TEXT LanguageCode="pt-BR"><![CDATA[The Mimeoplasm]]></LOCALISED_TEXT>
  </TITLE>
  <MULTIVERSEID value="1000338445" />
  <ARTID value="1000338445" />
  <ARTIST name="Svetlin Velinov" />
  <CASTING_COST cost="{2}{G}{U}{B}" />
  <SUPERTYPE metaname="Legendary" />
  <TYPE metaname="Creature" />
  <SUB_TYPE metaname="Ooze" />
  <EXPANSION value="CM1" />
  <RARITY metaname="M" />
  <POWER value="0" />
  <TOUGHNESS value="0" />
  <TRIGGERED_ABILITY replacement_query="1" active_zone="ZONE_TRANSITION">
    <LOCALISED_TEXT LanguageCode="en-US"><![CDATA[As The Mimeoplasm enters the battlefield, you may exile two creature cards from graveyards. If you do, it enters the battlefield as a copy of one of those cards with a number of additional +1/+1 counters on it equal to the power of the other card.]]></LOCALISED_TEXT>
    <LOCALISED_TEXT LanguageCode="fr-FR"><![CDATA[As The Mimeoplasm enters the battlefield, you may exile two creature cards from graveyards. If you do, it enters the battlefield as a copy of one of those cards with a number of additional +1/+1 counters on it equal to the power of the other card.]]></LOCALISED_TEXT>
    <LOCALISED_TEXT LanguageCode="es-ES"><![CDATA[As The Mimeoplasm enters the battlefield, you may exile two creature cards from graveyards. If you do, it enters the battlefield as a copy of one of those cards with a number of additional +1/+1 counters on it equal to the power of the other card.]]></LOCALISED_TEXT>
    <LOCALISED_TEXT LanguageCode="de-DE"><![CDATA[As The Mimeoplasm enters the battlefield, you may exile two creature cards from graveyards. If you do, it enters the battlefield as a copy of one of those cards with a number of additional +1/+1 counters on it equal to the power of the other card.]]></LOCALISED_TEXT>
    <LOCALISED_TEXT LanguageCode="it-IT"><![CDATA[Mentre Il Mimoplasma entra nel campo di battaglia, puoi esiliare due carte creatura dai cimiteri. Se lo fai, entra nel campo di battaglia come copia di una di quelle carte con un numero di segnalini +1/+1 addizionali pari alla forza dell’altra carta]]></LOCALISED_TEXT>
    <LOCALISED_TEXT LanguageCode="jp-JA"><![CDATA[As The Mimeoplasm enters the battlefield, you may exile two creature cards from graveyards. If you do, it enters the battlefield as a copy of one of those cards with a number of additional +1/+1 counters on it equal to the power of the other card.]]></LOCALISED_TEXT>
    <LOCALISED_TEXT LanguageCode="ko-KR"><![CDATA[As The Mimeoplasm enters the battlefield, you may exile two creature cards from graveyards. If you do, it enters the battlefield as a copy of one of those cards with a number of additional +1/+1 counters on it equal to the power of the other card.]]></LOCALISED_TEXT>
    <LOCALISED_TEXT LanguageCode="ru-RU"><![CDATA[As The Mimeoplasm enters the battlefield, you may exile two creature cards from graveyards. If you do, it enters the battlefield as a copy of one of those cards with a number of additional +1/+1 counters on it equal to the power of the other card.]]></LOCALISED_TEXT>
    <LOCALISED_TEXT LanguageCode="pt-BR"><![CDATA[As The Mimeoplasm enters the battlefield, you may exile two creature cards from graveyards. If you do, it enters the battlefield as a copy of one of those cards with a number of additional +1/+1 counters on it equal to the power of the other card.]]></LOCALISED_TEXT>
 <TRIGGER value="ZONECHANGE_TRANSITION" simple_qualifier="self" to_zone="ZONE_BATTLEFIELD" from_zone="ZONE_ANY" />
      <RESOLUTION_TIME_ACTION>
    local filter = ClearFilter()
    filter:Add( FE_TYPE, OP_IS, CARD_TYPE_CREATURE )
    filter:Add( FE_CONTROLLER, OP_IS, EffectController() )
    filter:SetZone( ZONE_GRAVEYARD ) 
    EffectController():ChooseItem( "CARD_QUERY_CHOOSE_CREATURE_TO_EXILE_CLONE", EffectDC():Make_Targets(0), QUERY_FLAG_MAY )
    EffectController():ChooseItem( "CARD_QUERY_CHOOSE_CREATURE_TO_EXILE_PT", EffectDC():Make_Targets(1), QUERY_FLAG_MAY )
    </RESOLUTION_TIME_ACTION>
   <RESOLUTION_TIME_ACTION>
    local target_creature = EffectDC():Get_Targets(0):Get_CardPtr(0)
    if ( target_creature ~= nil ) then   
       target_creature:StoreCopiableValues(EffectDC():Make_Chest(1))   -- this grabs the copiable values from the target and puts them into a datachest
       EffectSource():UseCopiableValues(EffectDC():Get_Chest(1))      -- this needs to be here to refire any other transition triggers (e.g. devour)
       EffectDC():Protect_CardPtr( COMPARTMENT_ID_EFFECT_SOURCE )          -- this stops the effect from being wiped when we complete the zonechange
    end
    local target_creature2 = EffectDC():Get_Targets(1):Get_CardPtr(0)
   if ( target_creature2 ~= nil) then
      local power = target_creature2:GetCurrentCharacteristics():Power_Get()
      
      EffectSource():AddCounters( MTG():PlusOnePlusOneCounters():power )
   end
    </RESOLUTION_TIME_ACTION>
    <RESOLUTION_TIME_ACTION>
   local target_creature = EffectDC():Get_Targets(0):Get_CardPtr(0)

      local target_creature2 = EffectDC():Get_Targets(1):Get_CardPtr(0)

   if target_creature ~= nil then

      target_creature:Exile()

   end

   if target_creature2 ~= nil then

      target_creature2:Exile()

   end
    </RESOLUTION_TIME_ACTION>
      <CONTINUOUS_ACTION layer="1">
    if EffectSource() ~= nil and EffectDC():Get_Chest(1) ~= nil then
       EffectSource():UseCopiableValues(EffectDC():Get_Chest(1))
   
    -- if you want to do other things as part of the copy effect, DO SO HERE
       -- e.g EffectSource():GetCurrentCharacteristics():GrantAbility(1)
       -- e.g EffectSource():GetCurrentCharacteristics():Power_Set(7)
       -- e.g EffectSource():GetCurrentCharacteristics():Toughness_Set(7)
    end
    </CONTINUOUS_ACTION>
      <DURATION>
    return (EffectSource() == nil)
    </DURATION>
 </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>
volrathxp
User avatar
volrathxp
 
Posts: 362
Joined: 23 Jul 2014, 17:34
Has thanked: 9 times
Been thanked: 17 times

Re: The Mimeoplasm (Untested)

Postby thefiremind » 05 Sep 2014, 08:13

I have never tried, but I think you can't put 2 queries inside the same action, you probably need to split the first RESOLUTION_TIME_ACTION in 2 (and repeat the filtering for each one). You are also using register #1 both for the second target and the copiable values, you need to change one of them.
< Former DotP 2012/2013/2014 modder >
Currently busy with life...
User avatar
thefiremind
Programmer
 
Posts: 3515
Joined: 07 Nov 2011, 10:55
Has thanked: 118 times
Been thanked: 721 times

Re: The Mimeoplasm (Untested)

Postby Kithkin » 05 Sep 2014, 08:47

Just in case you are looking for the hi-res art :D

The Mimeoplasm -- http://velinov.deviantart.com/art/The-M ... -212967918
User avatar
Kithkin
 
Posts: 456
Joined: 21 Feb 2014, 07:12
Location: Cologne, GERMANY
Has thanked: 11 times
Been thanked: 56 times

Re: The Mimeoplasm (Untested)

Postby volrathxp » 05 Sep 2014, 12:25

thefiremind wrote:I have never tried, but I think you can't put 2 queries inside the same action, you probably need to split the first RESOLUTION_TIME_ACTION in 2 (and repeat the filtering for each one). You are also using register #1 both for the second target and the copiable values, you need to change one of them.
Yeah, I was thinking about that. I will have to stick him in a deck and run through some tests, methinks and try that.
volrathxp
User avatar
volrathxp
 
Posts: 362
Joined: 23 Jul 2014, 17:34
Has thanked: 9 times
Been thanked: 17 times

Re: The Mimeoplasm (Untested)

Postby volrathxp » 05 Sep 2014, 12:26

I also just realized I need to fix the EffectController() line in the filter since Mimeoplasm can pull from any yard. d'oh.
volrathxp
User avatar
volrathxp
 
Posts: 362
Joined: 23 Jul 2014, 17:34
Has thanked: 9 times
Been thanked: 17 times

Re: The Mimeoplasm (Untested)

Postby thefiremind » 05 Sep 2014, 16:38

I made an attempt at The Mimeoplasm's ability, cleaning your code in the process:
The Mimeoplasm's ability code (untested) | Open
Code: Select all
    <RESOLUTION_TIME_ACTION>
    local filter = ClearFilter()
    filter:Add(FE_TYPE, OP_IS, CARD_TYPE_CREATURE)
    filter:SetZone(ZONE_GRAVEYARD)
    if filter:CountStopAt(2) == 2 then
       EffectController():ChooseItem( "CARD_QUERY_CHOOSE_CREATURE_TO_EXILE_CLONE", EffectDC():Make_Targets(0), QUERY_FLAG_MAY )
    end
    </RESOLUTION_TIME_ACTION>
    <RESOLUTION_TIME_ACTION>
    local target1 = EffectDC():Get_Targets(0) and EffectDC():Get_Targets(0):Get_CardPtr(0)
    if target1 ~= nil then
       local filter = ClearFilter()
       filter:Add(FE_TYPE, OP_IS, CARD_TYPE_CREATURE)
       filter:SetZone(ZONE_GRAVEYARD)
       filter:Add(FE_CARD_INSTANCE, OP_NOT, target1)
       EffectController():ChooseItem( "CARD_QUERY_CHOOSE_CREATURE_TO_EXILE_PT", EffectDC():Make_Targets(1) )
    end
    </RESOLUTION_TIME_ACTION>
    <RESOLUTION_TIME_ACTION>
    local target1 = EffectDC():Get_Targets(0) and EffectDC():Get_Targets(0):Get_CardPtr(0)
    if target1 ~= nil then
       target1:StoreCopiableValues( EffectDC():Make_Chest(2) )
       EffectSource():UseCopiableValues( EffectDC():Get_Chest(2) )
       EffectDC():Protect_CardPtr(COMPARTMENT_ID_EFFECT_SOURCE)
    end
    </RESOLUTION_TIME_ACTION>
    <RESOLUTION_TIME_ACTION>
    local target1 = EffectDC():Get_Targets(0) and EffectDC():Get_Targets(0):Get_CardPtr(0)
    if target1 ~= nil then
       target1:Exile()
    end
    local target2 = EffectDC():Get_Targets(1) and EffectDC():Get_Targets(1):Get_CardPtr(0)
    if target2 ~= nil then
       EffectSource():AddCounters( MTG():PlusOnePlusOneCounters(), target2:GetCurrentCharacteristics():Power_Get() )
       target2:Exile()
    end
    </RESOLUTION_TIME_ACTION>
    <CONTINUOUS_ACTION layer="1">
    if EffectSource() ~= nil and EffectDC():Get_Chest(2) ~= nil then
       EffectSource():UseCopiableValues( EffectDC():Get_Chest(2) )
    end
    </CONTINUOUS_ACTION>
    <DURATION>
    return EffectSource() == nil
    </DURATION>
I checked for the presence of at least 2 creatures in graveyards and I removed the "may" from the second choice because Gatherer says you can't choose just one creature, either 2 or none. So as soon as you chose the first one you are bound to choose the second.
< Former DotP 2012/2013/2014 modder >
Currently busy with life...
User avatar
thefiremind
Programmer
 
Posts: 3515
Joined: 07 Nov 2011, 10:55
Has thanked: 118 times
Been thanked: 721 times

Re: The Mimeoplasm (Untested)

Postby volrathxp » 05 Sep 2014, 18:03

thefiremind wrote:I made an attempt at The Mimeoplasm's ability, cleaning your code in the process:
The Mimeoplasm's ability code (untested) | Open
Code: Select all
    <RESOLUTION_TIME_ACTION>
    local filter = ClearFilter()
    filter:Add(FE_TYPE, OP_IS, CARD_TYPE_CREATURE)
    filter:SetZone(ZONE_GRAVEYARD)
    if filter:CountStopAt(2) == 2 then
       EffectController():ChooseItem( "CARD_QUERY_CHOOSE_CREATURE_TO_EXILE_CLONE", EffectDC():Make_Targets(0), QUERY_FLAG_MAY )
    end
    </RESOLUTION_TIME_ACTION>
    <RESOLUTION_TIME_ACTION>
    local target1 = EffectDC():Get_Targets(0) and EffectDC():Get_Targets(0):Get_CardPtr(0)
    if target1 ~= nil then
       local filter = ClearFilter()
       filter:Add(FE_TYPE, OP_IS, CARD_TYPE_CREATURE)
       filter:SetZone(ZONE_GRAVEYARD)
       filter:Add(FE_CARD_INSTANCE, OP_NOT, target1)
       EffectController():ChooseItem( "CARD_QUERY_CHOOSE_CREATURE_TO_EXILE_PT", EffectDC():Make_Targets(1) )
    end
    </RESOLUTION_TIME_ACTION>
    <RESOLUTION_TIME_ACTION>
    local target1 = EffectDC():Get_Targets(0) and EffectDC():Get_Targets(0):Get_CardPtr(0)
    if target1 ~= nil then
       target1:StoreCopiableValues( EffectDC():Make_Chest(2) )
       EffectSource():UseCopiableValues( EffectDC():Get_Chest(2) )
       EffectDC():Protect_CardPtr(COMPARTMENT_ID_EFFECT_SOURCE)
    end
    </RESOLUTION_TIME_ACTION>
    <RESOLUTION_TIME_ACTION>
    local target1 = EffectDC():Get_Targets(0) and EffectDC():Get_Targets(0):Get_CardPtr(0)
    if target1 ~= nil then
       target1:Exile()
    end
    local target2 = EffectDC():Get_Targets(1) and EffectDC():Get_Targets(1):Get_CardPtr(0)
    if target2 ~= nil then
       EffectSource():AddCounters( MTG():PlusOnePlusOneCounters(), target2:GetCurrentCharacteristics():Power_Get() )
       target2:Exile()
    end
    </RESOLUTION_TIME_ACTION>
    <CONTINUOUS_ACTION layer="1">
    if EffectSource() ~= nil and EffectDC():Get_Chest(2) ~= nil then
       EffectSource():UseCopiableValues( EffectDC():Get_Chest(2) )
    end
    </CONTINUOUS_ACTION>
    <DURATION>
    return EffectSource() == nil
    </DURATION>
I checked for the presence of at least 2 creatures in graveyards and I removed the "may" from the second choice because Gatherer says you can't choose just one creature, either 2 or none. So as soon as you chose the first one you are bound to choose the second.
Yep. I got him working, I just needed to remove the may clause and check for creatures. :)
volrathxp
User avatar
volrathxp
 
Posts: 362
Joined: 23 Jul 2014, 17:34
Has thanked: 9 times
Been thanked: 17 times


Return to Programming Talk

Who is online

Users browsing this forum: No registered users and 21 guests


Who is online

In total there are 21 users online :: 0 registered, 0 hidden and 21 guests (based on users active over the past 10 minutes)
Most users ever online was 4143 on 23 Jan 2024, 08:21

Users browsing this forum: No registered users and 21 guests

Login Form