It is currently 26 Apr 2024, 04:26
   
Text Size

Paradox Haze working (I hope)

Moderator: CCGHQ Admins

Paradox Haze working (I hope)

Postby braquio » 17 Sep 2014, 10:25

Hi people!
I think i have a full working Paradox Haze [-o< , but may be i forget some interactions.
Could someone take a look and say me if its ok?

- I have 3 variables:
- chest:Get_Int(0) is to see if we are in additional upkeep or not (0 is normal, 1 is additional)
- chest:Get_Int(1) is to save the number of paradox i have attached for the same player
- chest:Get_Int(2) is to see if there is another paradox haze working in the same upkeep (0 no, 1 yes)

Paradox Haze v1.0 | Open
Code: Select all
<?xml version='1.0' encoding='UTF-8'?>
<CARD_V2 ExportVersion="1">
  <FILENAME text="PARADOX_HAZE_666109721" />
  <CARDNAME text="PARADOX_HAZE" />
  <TITLE>
    <LOCALISED_TEXT LanguageCode="en-US"><![CDATA[Paradox Haze]]></LOCALISED_TEXT>
    <LOCALISED_TEXT LanguageCode="fr-FR"><![CDATA[Brume de paradoxe]]></LOCALISED_TEXT>
    <LOCALISED_TEXT LanguageCode="es-ES"><![CDATA[Bruma paradojal]]></LOCALISED_TEXT>
    <LOCALISED_TEXT LanguageCode="de-DE"><![CDATA[Paradoxer Dunst]]></LOCALISED_TEXT>
    <LOCALISED_TEXT LanguageCode="it-IT"><![CDATA[Foschia Paradossale]]></LOCALISED_TEXT>
    <LOCALISED_TEXT LanguageCode="jp-JA"><![CDATA[逆説のもや]]></LOCALISED_TEXT>
    <LOCALISED_TEXT LanguageCode="ko-KR"><![CDATA[Paradox Haze]]></LOCALISED_TEXT>
    <LOCALISED_TEXT LanguageCode="ru-RU"><![CDATA[Туман Парадоксов]]></LOCALISED_TEXT>
    <LOCALISED_TEXT LanguageCode="pt-BR"><![CDATA[Bruma do Paradoxo]]></LOCALISED_TEXT>
  </TITLE>
  <MULTIVERSEID value="666109721" />
  <ARTID value="666109721" />
  <ARTIST name="Greg Staples" />
  <CASTING_COST cost="{2}{U}" />
  <FLAVOURTEXT>
    <LOCALISED_TEXT LanguageCode="en-US"><![CDATA[“Keep your pace steady through the haze, lest you step on the heels of your future self or trip the self a moment behind you.”
—Teferi]]></LOCALISED_TEXT>
    <LOCALISED_TEXT LanguageCode="fr-FR"><![CDATA[« Traversez la brume d’un pas régulier, vous risqueriez autrement de marcher sur le talon de votre avenir, ou de faire trébucher votre passé. »
—Téfeiri]]></LOCALISED_TEXT>
    <LOCALISED_TEXT LanguageCode="es-ES"><![CDATA[“Mantén tu paso firme en la bruma, no sea cuestión de que pises los talones de tu yo futuro o te topes con tu yo de un momento pasado.”
—Teferi]]></LOCALISED_TEXT>
    <LOCALISED_TEXT LanguageCode="de-DE"><![CDATA[„Behalte deine Geschwindigkeit im Dunst gleichmäßig, damit du nicht deinem zukünftigen Ich auf die Fersen trittst oder dein Ich einen Moment hinter dir zum Stolpern bringst.”
—Teferi]]></LOCALISED_TEXT>
    <LOCALISED_TEXT LanguageCode="it-IT"><![CDATA[“Mantieni il passo costante attraverso la foschia, altrimenti potresti pestare i talloni del te stesso nel futuro o far inciampare il te stesso che ti sta seguendo.”
—Teferi]]></LOCALISED_TEXT>
    <LOCALISED_TEXT LanguageCode="jp-JA"><![CDATA[もやの中でも自分のペースを乱すな。未来のお前の足の上に着地しなければ、一瞬前の自分に足を引っ掛けられるぞ。
――テフェリー]]></LOCALISED_TEXT>
    <LOCALISED_TEXT LanguageCode="ko-KR"><![CDATA[“Keep your pace steady through the haze, lest you step on the heels of your future self or trip the self a moment behind you.”
—Teferi]]></LOCALISED_TEXT>
    <LOCALISED_TEXT LanguageCode="ru-RU"><![CDATA[«Держи свой путь прямо через туман, не то ты будешь наступать себе же на пятки или вернешься в свое прошлое»,
Тефери]]></LOCALISED_TEXT>
    <LOCALISED_TEXT LanguageCode="pt-BR"><![CDATA[“Mantenha o passo firme através da bruma, a fim de que não pise nos calcanhares do seu ”eu“ futuro nem tropece no seu ”eu“ de um minuto atrás.”
— Teferi]]></LOCALISED_TEXT>
  </FLAVOURTEXT>
  <TYPE metaname="Enchantment" />
  <SUB_TYPE metaname="Aura" />
  <EXPANSION value="TSP" />
  <RARITY metaname="U" />
  <SPELL_ABILITY attach_definition="0">
    <LOCALISED_TEXT LanguageCode="en-US"><![CDATA[Enchant player]]></LOCALISED_TEXT>
    <LOCALISED_TEXT LanguageCode="fr-FR"><![CDATA[Enchanter : joueur]]></LOCALISED_TEXT>
    <LOCALISED_TEXT LanguageCode="es-ES"><![CDATA[Encantar jugador.]]></LOCALISED_TEXT>
    <LOCALISED_TEXT LanguageCode="de-DE"><![CDATA[Spielerverzauberung]]></LOCALISED_TEXT>
    <LOCALISED_TEXT LanguageCode="it-IT"><![CDATA[Incanta giocatore]]></LOCALISED_TEXT>
    <LOCALISED_TEXT LanguageCode="jp-JA"><![CDATA[エンチャント(プレイヤー)]]></LOCALISED_TEXT>
    <LOCALISED_TEXT LanguageCode="ko-KR"><![CDATA[Enchant player]]></LOCALISED_TEXT>
    <LOCALISED_TEXT LanguageCode="ru-RU"><![CDATA[Зачаровать игрока]]></LOCALISED_TEXT>
    <LOCALISED_TEXT LanguageCode="pt-BR"><![CDATA[Encantar jogador]]></LOCALISED_TEXT>
    <TARGET tag="CARD_QUERY_CHOOSE_PLAYER" definition="0" compartment="0" count="1" />
    <TARGET_DEFINITION id="0">
       local filter = ClearFilter()
       filter:SetFilterType( FILTER_TYPE_PLAYERS )
    </TARGET_DEFINITION>
    <RESOLUTION_TIME_ACTION>
       local target = EffectDC():Get_Targets(0):Get_PlayerPtr(0)
       if target ~= nil and EffectSource() ~= nil then
          EffectSource():AttachToPlayer( target )
       end
    </RESOLUTION_TIME_ACTION>
    <AI_SIMPLIFIED_TARGETING compartment="0" hint="HINT_ALLY" />
  </SPELL_ABILITY>
  <STATIC_ABILITY>
    <CONTINUOUS_ACTION>
   if EffectSource() ~= nil then
      local player = EffectSource():GetParentPlayer()
      if player ~=nil then
         player:AddBadge(PLAYER_BADGE_ICON_PREVENTION, "PLAYER_CHOSEN_ICON")
      end
   end
    </CONTINUOUS_ACTION>
    <CONTINUOUS_ACTION>
   if EffectSource() ~= nil then
      local player = EffectSource():GetParentPlayer()
      local chest = LBN_MyPlayerDC(player):Get_Chest(LBN_PLAYER_PARADOX_HAZE)
      if chest == nil then
         chest = LBN_MyPlayerDC(player):Make_Chest(LBN_PLAYER_PARADOX_HAZE)
      end
      if player ~=nil and chest:Get_Int(0) == 1 then
              player:AddBadge(PLAYER_BADGE_ICON_EXTRA_TURN, "LBN_EXTRA_UPKEEP")
      end
   end
    </CONTINUOUS_ACTION>
  </STATIC_ABILITY>

  <TRIGGERED_ABILITY replacement_effect="1">
    <LOCALISED_TEXT LanguageCode="en-US"><![CDATA[At the beginning of enchanted player’s first upkeep each turn, that player gets an additional upkeep step after this step.]]></LOCALISED_TEXT>
    <LOCALISED_TEXT LanguageCode="fr-FR"><![CDATA[Au début du premier entretien du joueur enchanté à chaque tour, ce joueur gagne une étape d’entretien supplémentaire après cette étape.]]></LOCALISED_TEXT>
    <LOCALISED_TEXT LanguageCode="es-ES"><![CDATA[Al comienzo del primer mantenimiento de cada turno del jugador encantado, ese jugador obtiene un mantenimiento adicional después de este paso.]]></LOCALISED_TEXT>
    <LOCALISED_TEXT LanguageCode="de-DE"><![CDATA[Zu Beginn des ersten Versorgungssegments des verzauberten Spielers erhält dieser Spieler ein zusätzliches Versorgungssegment nach diesem Segment.]]></LOCALISED_TEXT>
    <LOCALISED_TEXT LanguageCode="it-IT"><![CDATA[All’inizio del primo mantenimento del giocatore incantato in ogni turno, quel giocatore gioca un mantenimento addizionale dopo questa sottofase.]]></LOCALISED_TEXT>
    <LOCALISED_TEXT LanguageCode="jp-JA"><![CDATA[エンチャントされているプレイヤーの各ターンの最初のアップキープの開始時に、そのプレイヤーはこのステップの直後に追加のアップキープ・ステップを得る。]]></LOCALISED_TEXT>
    <LOCALISED_TEXT LanguageCode="ko-KR"><![CDATA[At the beginning of enchanted player’s first upkeep each turn, that player gets an additional upkeep step after this step.]]></LOCALISED_TEXT>
    <LOCALISED_TEXT LanguageCode="ru-RU"><![CDATA[В начале первого шага поддержки на каждом ходу зачарованного игрока этот игрок получает дополнительный шаг поддержки после окончания первого.]]></LOCALISED_TEXT>
    <LOCALISED_TEXT LanguageCode="pt-BR"><![CDATA[No início da primeira manutenção do jogador encantado a cada turno, aquele jogador recebe uma etapa de manutenção adicional após esta etapa.]]></LOCALISED_TEXT>
    <TRIGGER value="BEGINNING_OF_PLAYERS_STEP" pre_trigger="1">
   return EffectSource():GetParentPlayer():MyTurn() == false or MTG():GetStep() ~= STEP_UPKEEP
    </TRIGGER>
    <RESOLUTION_TIME_ACTION>
   if EffectSource() ~= nil then
      local player = EffectSource():GetParentPlayer()
      local chest = LBN_MyPlayerDC(player):Get_Chest(LBN_PLAYER_PARADOX_HAZE)
      if chest == nil then
         chest = LBN_MyPlayerDC(player):Make_Chest(LBN_PLAYER_PARADOX_HAZE)
      end
      chest:Set_Int(2,0)
      if chest:Get_Int(0) == 1 then
         MTG():SkipStep()
      else
         local filter = ClearFilter()
         filter:SetZone( ZONE_BATTLEFIELD )
         filter:Add( FE_CARD_NAME, OP_IS, EffectSource() )
         filter:Add( FE_PARENT_PLAYER, OP_IS, EffectSource():GetParentPlayer() )
         local num = filter:Count()
         chest:Set_Int(0,0)
         chest:Set_Int(1,num)
      end
   end
    </RESOLUTION_TIME_ACTION>
  </TRIGGERED_ABILITY>

  <TRIGGERED_ABILITY replacement_effect="1">
    <TRIGGER value="BEGINNING_OF_PLAYERS_STEP">
   return EffectSource():GetParentPlayer():MyTurn() == true and MTG():GetStep() == STEP_UPKEEP
    </TRIGGER>
    <RESOLUTION_TIME_ACTION>
   if EffectSource() ~= nil then
      local player = EffectSource():GetParentPlayer()
      local chest = LBN_MyPlayerDC(player):Get_Chest(LBN_PLAYER_PARADOX_HAZE)
      if chest == nil then
         chest = LBN_MyPlayerDC(player):Make_Chest(LBN_PLAYER_PARADOX_HAZE)
      end
      if chest:Get_Int(2) ~= 1 then
         if chest:Get_Int(0) ~= 1 then
            chest:Set_Int(0,1)
            chest:Set_Int(1,chest:Get_Int(1)-1)
         elseif chest:Get_Int(1) ~= 0 then
            chest:Set_Int(1,chest:Get_Int(1)-1)
         elseif chest:Get_Int(1) == 0 then
            chest:Set_Int(0,0)
         end
      end
      chest:Set_Int(2,1)
   end
    </RESOLUTION_TIME_ACTION>
  </TRIGGERED_ABILITY>

</CARD_V2>
Paradox_Haze_v1.0.rar
(112.31 KiB) Downloaded 221 times
____________________________________________________________________________________________________________________________
Braquio Dotp2014 DLC
Alternative Sealed Campaigns for DotP 2014
User avatar
braquio
 
Posts: 143
Joined: 16 Feb 2014, 19:21
Has thanked: 15 times
Been thanked: 9 times

Re: Paradox Haze working (I hope)

Postby braquio » 17 Sep 2014, 14:02

Ok i detected an issue:
If in your first upkeep you have one or more extra turns you skip one of them for each paradox you have, could be happen if you play during opponent turn or during your upkeep, any spell or ability that gives you extra turns, also if u play 2 or more during your turn.

The only way i see to fix it is to save extra turns and give them again after paradox effect, but i dont know how to check if u have any extra turn.
Any ideas?
____________________________________________________________________________________________________________________________
Braquio Dotp2014 DLC
Alternative Sealed Campaigns for DotP 2014
User avatar
braquio
 
Posts: 143
Joined: 16 Feb 2014, 19:21
Has thanked: 15 times
Been thanked: 9 times

Re: Paradox Haze working (I hope)

Postby braquio » 17 Sep 2014, 15:20

Im fixed the issue, and now i dont see any more issues, so unless someone see more i think is a 100% Paradox Haze.

Paradox Haze v1.1 | Open
Code: Select all
<?xml version='1.0' encoding='UTF-8'?>
<CARD_V2 ExportVersion="1">
  <FILENAME text="PARADOX_HAZE_666109721" />
  <CARDNAME text="PARADOX_HAZE" />
  <TITLE>
    <LOCALISED_TEXT LanguageCode="en-US"><![CDATA[Paradox Haze]]></LOCALISED_TEXT>
    <LOCALISED_TEXT LanguageCode="fr-FR"><![CDATA[Brume de paradoxe]]></LOCALISED_TEXT>
    <LOCALISED_TEXT LanguageCode="es-ES"><![CDATA[Bruma paradojal]]></LOCALISED_TEXT>
    <LOCALISED_TEXT LanguageCode="de-DE"><![CDATA[Paradoxer Dunst]]></LOCALISED_TEXT>
    <LOCALISED_TEXT LanguageCode="it-IT"><![CDATA[Foschia Paradossale]]></LOCALISED_TEXT>
    <LOCALISED_TEXT LanguageCode="jp-JA"><![CDATA[逆説のもや]]></LOCALISED_TEXT>
    <LOCALISED_TEXT LanguageCode="ko-KR"><![CDATA[Paradox Haze]]></LOCALISED_TEXT>
    <LOCALISED_TEXT LanguageCode="ru-RU"><![CDATA[Туман Парадоксов]]></LOCALISED_TEXT>
    <LOCALISED_TEXT LanguageCode="pt-BR"><![CDATA[Bruma do Paradoxo]]></LOCALISED_TEXT>
  </TITLE>
  <MULTIVERSEID value="666109721" />
  <ARTID value="666109721" />
  <ARTIST name="Greg Staples" />
  <CASTING_COST cost="{2}{U}" />
  <FLAVOURTEXT>
    <LOCALISED_TEXT LanguageCode="en-US"><![CDATA[“Keep your pace steady through the haze, lest you step on the heels of your future self or trip the self a moment behind you.”
—Teferi]]></LOCALISED_TEXT>
    <LOCALISED_TEXT LanguageCode="fr-FR"><![CDATA[« Traversez la brume d’un pas régulier, vous risqueriez autrement de marcher sur le talon de votre avenir, ou de faire trébucher votre passé. »
—Téfeiri]]></LOCALISED_TEXT>
    <LOCALISED_TEXT LanguageCode="es-ES"><![CDATA[“Mantén tu paso firme en la bruma, no sea cuestión de que pises los talones de tu yo futuro o te topes con tu yo de un momento pasado.”
—Teferi]]></LOCALISED_TEXT>
    <LOCALISED_TEXT LanguageCode="de-DE"><![CDATA[„Behalte deine Geschwindigkeit im Dunst gleichmäßig, damit du nicht deinem zukünftigen Ich auf die Fersen trittst oder dein Ich einen Moment hinter dir zum Stolpern bringst.”
—Teferi]]></LOCALISED_TEXT>
    <LOCALISED_TEXT LanguageCode="it-IT"><![CDATA[“Mantieni il passo costante attraverso la foschia, altrimenti potresti pestare i talloni del te stesso nel futuro o far inciampare il te stesso che ti sta seguendo.”
—Teferi]]></LOCALISED_TEXT>
    <LOCALISED_TEXT LanguageCode="jp-JA"><![CDATA[もやの中でも自分のペースを乱すな。未来のお前の足の上に着地しなければ、一瞬前の自分に足を引っ掛けられるぞ。
――テフェリー]]></LOCALISED_TEXT>
    <LOCALISED_TEXT LanguageCode="ko-KR"><![CDATA[“Keep your pace steady through the haze, lest you step on the heels of your future self or trip the self a moment behind you.”
—Teferi]]></LOCALISED_TEXT>
    <LOCALISED_TEXT LanguageCode="ru-RU"><![CDATA[«Держи свой путь прямо через туман, не то ты будешь наступать себе же на пятки или вернешься в свое прошлое»,
Тефери]]></LOCALISED_TEXT>
    <LOCALISED_TEXT LanguageCode="pt-BR"><![CDATA[“Mantenha o passo firme através da bruma, a fim de que não pise nos calcanhares do seu ”eu“ futuro nem tropece no seu ”eu“ de um minuto atrás.”
— Teferi]]></LOCALISED_TEXT>
  </FLAVOURTEXT>
  <TYPE metaname="Enchantment" />
  <SUB_TYPE metaname="Aura" />
  <EXPANSION value="TSP" />
  <RARITY metaname="U" />
  <SPELL_ABILITY attach_definition="0">
    <LOCALISED_TEXT LanguageCode="en-US"><![CDATA[Enchant player]]></LOCALISED_TEXT>
    <LOCALISED_TEXT LanguageCode="fr-FR"><![CDATA[Enchanter : joueur]]></LOCALISED_TEXT>
    <LOCALISED_TEXT LanguageCode="es-ES"><![CDATA[Encantar jugador.]]></LOCALISED_TEXT>
    <LOCALISED_TEXT LanguageCode="de-DE"><![CDATA[Spielerverzauberung]]></LOCALISED_TEXT>
    <LOCALISED_TEXT LanguageCode="it-IT"><![CDATA[Incanta giocatore]]></LOCALISED_TEXT>
    <LOCALISED_TEXT LanguageCode="jp-JA"><![CDATA[エンチャント(プレイヤー)]]></LOCALISED_TEXT>
    <LOCALISED_TEXT LanguageCode="ko-KR"><![CDATA[Enchant player]]></LOCALISED_TEXT>
    <LOCALISED_TEXT LanguageCode="ru-RU"><![CDATA[Зачаровать игрока]]></LOCALISED_TEXT>
    <LOCALISED_TEXT LanguageCode="pt-BR"><![CDATA[Encantar jogador]]></LOCALISED_TEXT>
    <TARGET tag="CARD_QUERY_CHOOSE_PLAYER" definition="0" compartment="0" count="1" />
    <TARGET_DEFINITION id="0">
       local filter = ClearFilter()
       filter:SetFilterType( FILTER_TYPE_PLAYERS )
    </TARGET_DEFINITION>
    <RESOLUTION_TIME_ACTION>
       local target = EffectDC():Get_Targets(0):Get_PlayerPtr(0)
       if target ~= nil and EffectSource() ~= nil then
          EffectSource():AttachToPlayer( target )
       end
    </RESOLUTION_TIME_ACTION>
    <AI_SIMPLIFIED_TARGETING compartment="0" hint="HINT_ALLY" />
  </SPELL_ABILITY>
  <STATIC_ABILITY>
    <CONTINUOUS_ACTION>
   if EffectSource() ~= nil then
      local player = EffectSource():GetParentPlayer()
      if player ~= nil then
         player:AddBadge(PLAYER_BADGE_ICON_PREVENTION, "PLAYER_CHOSEN_ICON")
      end
   end
    </CONTINUOUS_ACTION>
  </STATIC_ABILITY>

  <TRIGGERED_ABILITY replacement_effect="1">
    <LOCALISED_TEXT LanguageCode="en-US"><![CDATA[At the beginning of enchanted player’s first upkeep each turn, that player gets an additional upkeep step after this step.]]></LOCALISED_TEXT>
    <LOCALISED_TEXT LanguageCode="fr-FR"><![CDATA[Au début du premier entretien du joueur enchanté à chaque tour, ce joueur gagne une étape d’entretien supplémentaire après cette étape.]]></LOCALISED_TEXT>
    <LOCALISED_TEXT LanguageCode="es-ES"><![CDATA[Al comienzo del primer mantenimiento de cada turno del jugador encantado, ese jugador obtiene un mantenimiento adicional después de este paso.]]></LOCALISED_TEXT>
    <LOCALISED_TEXT LanguageCode="de-DE"><![CDATA[Zu Beginn des ersten Versorgungssegments des verzauberten Spielers erhält dieser Spieler ein zusätzliches Versorgungssegment nach diesem Segment.]]></LOCALISED_TEXT>
    <LOCALISED_TEXT LanguageCode="it-IT"><![CDATA[All’inizio del primo mantenimento del giocatore incantato in ogni turno, quel giocatore gioca un mantenimento addizionale dopo questa sottofase.]]></LOCALISED_TEXT>
    <LOCALISED_TEXT LanguageCode="jp-JA"><![CDATA[エンチャントされているプレイヤーの各ターンの最初のアップキープの開始時に、そのプレイヤーはこのステップの直後に追加のアップキープ・ステップを得る。]]></LOCALISED_TEXT>
    <LOCALISED_TEXT LanguageCode="ko-KR"><![CDATA[At the beginning of enchanted player’s first upkeep each turn, that player gets an additional upkeep step after this step.]]></LOCALISED_TEXT>
    <LOCALISED_TEXT LanguageCode="ru-RU"><![CDATA[В начале первого шага поддержки на каждом ходу зачарованного игрока этот игрок получает дополнительный шаг поддержки после окончания первого.]]></LOCALISED_TEXT>
    <LOCALISED_TEXT LanguageCode="pt-BR"><![CDATA[No início da primeira manutenção do jogador encantado a cada turno, aquele jogador recebe uma etapa de manutenção adicional após esta etapa.]]></LOCALISED_TEXT>
    <TRIGGER value="BEGINNING_OF_PLAYERS_STEP" pre_trigger="1">
   return EffectSource():GetParentPlayer():MyTurn() == false or MTG():GetStep() ~= STEP_UPKEEP
    </TRIGGER>
    <RESOLUTION_TIME_ACTION>
   if EffectSource() ~= nil then
      local player = EffectSource():GetParentPlayer()
      local chest = LBN_MyPlayerDC(player):Get_Chest(LBN_PLAYER_PARADOX_HAZE)
      if chest == nil then
         chest = LBN_MyPlayerDC(player):Make_Chest(LBN_PLAYER_PARADOX_HAZE)
      end

      chest:Set_Int(2,0)
      --During additional upkeeps i skip all steps except upkeeps
      if chest:Get_Int(0) == 1 then
         if TriggerPlayer():GetTeam() ~= EffectSource():GetParentPlayer():GetTeam() then
            chest:Set_Int(3,1)
         end
         MTG():SkipStep()

      --During normal turn steps i reset chests
      else
         local filter = ClearFilter()
         filter:SetZone( ZONE_BATTLEFIELD )
         filter:Add( FE_CARD_NAME, OP_IS, EffectSource() )
         filter:Add( FE_PARENT_PLAYER, OP_IS, EffectSource():GetParentPlayer() )
         local num = filter:Count()
         if num &gt; 0 then
            chest:Set_Int(1,num)
         end
         chest:Set_Int(0,0)
      end
   end
    </RESOLUTION_TIME_ACTION>
  </TRIGGERED_ABILITY>

  <TRIGGERED_ABILITY replacement_effect="1">
    <TRIGGER value="BEGINNING_OF_PLAYERS_STEP">
   return EffectSource():GetParentPlayer():MyTurn() == true and MTG():GetStep() == STEP_UPKEEP
    </TRIGGER>
    <RESOLUTION_TIME_ACTION>
   if EffectSource() ~= nil then
      local player = EffectSource():GetParentPlayer()
      local chest = LBN_MyPlayerDC(player):Get_Chest(LBN_PLAYER_PARADOX_HAZE)
      if chest == nil then
         chest = LBN_MyPlayerDC(player):Make_Chest(LBN_PLAYER_PARADOX_HAZE)
      end

      -- I have 3 variables:
      -- chest:Get_Int(0) is to see if we are in additional upkeep or not (0 is normal, 1 is additional)
      -- chest:Get_Int(1) is to save the number of paradox i have attached for the same player
      -- chest:Get_Int(2) is to see if there is another paradox haze working in the same upkeep (0 no, 1 yes)

      if chest:Get_Int(2) ~= 1 then

         -- 1st upkeep
         if chest:Get_Int(0) ~= 1 then
            chest:Set_Int(0,1)
            chest:Set_Int(1,chest:Get_Int(1)-1)

         -- Additional upkeeps
         elseif chest:Get_Int(1) ~= 0 then
            chest:Set_Int(1,chest:Get_Int(1)-1)
         -- Last additional upkeep
         elseif chest:Get_Int(1) == 0 then
            chest:Set_Int(0,0)
            if chest:Get_Int(3) ~= 1 then
               EffectSource():GetParentPlayer():GetTeam():TakeExtraTurn()
            end
            chest:Set_Int(3,0)
         end
      end
      chest:Set_Int(2,1)
   end
    </RESOLUTION_TIME_ACTION>
  </TRIGGERED_ABILITY>

</CARD_V2>
Attachments
Paradox_Haze_v1.1.rar
(112.41 KiB) Downloaded 206 times
Last edited by braquio on 17 Sep 2014, 22:18, edited 1 time in total.
____________________________________________________________________________________________________________________________
Braquio Dotp2014 DLC
Alternative Sealed Campaigns for DotP 2014
User avatar
braquio
 
Posts: 143
Joined: 16 Feb 2014, 19:21
Has thanked: 15 times
Been thanked: 9 times

Re: Paradox Haze working (I hope)

Postby NeoAnderson » 17 Sep 2014, 15:29

braquio wrote:Im fixed the issue, and now i dont see any more issues, so unless someone see more i think is a 100% Paradox Haze.

Paradox Haze v1.1 | Open
Code: Select all
<?xml version='1.0' encoding='UTF-8'?>
<CARD_V2 ExportVersion="1">
  <FILENAME text="PARADOX_HAZE_666109721" />
  <CARDNAME text="PARADOX_HAZE" />
  <TITLE>
    <LOCALISED_TEXT LanguageCode="en-US"><![CDATA[Paradox Haze]]></LOCALISED_TEXT>
    <LOCALISED_TEXT LanguageCode="fr-FR"><![CDATA[Brume de paradoxe]]></LOCALISED_TEXT>
    <LOCALISED_TEXT LanguageCode="es-ES"><![CDATA[Bruma paradojal]]></LOCALISED_TEXT>
    <LOCALISED_TEXT LanguageCode="de-DE"><![CDATA[Paradoxer Dunst]]></LOCALISED_TEXT>
    <LOCALISED_TEXT LanguageCode="it-IT"><![CDATA[Foschia Paradossale]]></LOCALISED_TEXT>
    <LOCALISED_TEXT LanguageCode="jp-JA"><![CDATA[逆説のもや]]></LOCALISED_TEXT>
    <LOCALISED_TEXT LanguageCode="ko-KR"><![CDATA[Paradox Haze]]></LOCALISED_TEXT>
    <LOCALISED_TEXT LanguageCode="ru-RU"><![CDATA[Туман Парадоксов]]></LOCALISED_TEXT>
    <LOCALISED_TEXT LanguageCode="pt-BR"><![CDATA[Bruma do Paradoxo]]></LOCALISED_TEXT>
  </TITLE>
  <MULTIVERSEID value="666109721" />
  <ARTID value="666109721" />
  <ARTIST name="Greg Staples" />
  <CASTING_COST cost="{2}{U}" />
  <FLAVOURTEXT>
    <LOCALISED_TEXT LanguageCode="en-US"><![CDATA[“Keep your pace steady through the haze, lest you step on the heels of your future self or trip the self a moment behind you.”
—Teferi]]></LOCALISED_TEXT>
    <LOCALISED_TEXT LanguageCode="fr-FR"><![CDATA[« Traversez la brume d’un pas régulier, vous risqueriez autrement de marcher sur le talon de votre avenir, ou de faire trébucher votre passé. »
—Téfeiri]]></LOCALISED_TEXT>
    <LOCALISED_TEXT LanguageCode="es-ES"><![CDATA[“Mantén tu paso firme en la bruma, no sea cuestión de que pises los talones de tu yo futuro o te topes con tu yo de un momento pasado.”
—Teferi]]></LOCALISED_TEXT>
    <LOCALISED_TEXT LanguageCode="de-DE"><![CDATA[„Behalte deine Geschwindigkeit im Dunst gleichmäßig, damit du nicht deinem zukünftigen Ich auf die Fersen trittst oder dein Ich einen Moment hinter dir zum Stolpern bringst.”
—Teferi]]></LOCALISED_TEXT>
    <LOCALISED_TEXT LanguageCode="it-IT"><![CDATA[“Mantieni il passo costante attraverso la foschia, altrimenti potresti pestare i talloni del te stesso nel futuro o far inciampare il te stesso che ti sta seguendo.”
—Teferi]]></LOCALISED_TEXT>
    <LOCALISED_TEXT LanguageCode="jp-JA"><![CDATA[もやの中でも自分のペースを乱すな。未来のお前の足の上に着地しなければ、一瞬前の自分に足を引っ掛けられるぞ。
――テフェリー]]></LOCALISED_TEXT>
    <LOCALISED_TEXT LanguageCode="ko-KR"><![CDATA[“Keep your pace steady through the haze, lest you step on the heels of your future self or trip the self a moment behind you.”
—Teferi]]></LOCALISED_TEXT>
    <LOCALISED_TEXT LanguageCode="ru-RU"><![CDATA[«Держи свой путь прямо через туман, не то ты будешь наступать себе же на пятки или вернешься в свое прошлое»,
Тефери]]></LOCALISED_TEXT>
    <LOCALISED_TEXT LanguageCode="pt-BR"><![CDATA[“Mantenha o passo firme através da bruma, a fim de que não pise nos calcanhares do seu ”eu“ futuro nem tropece no seu ”eu“ de um minuto atrás.”
— Teferi]]></LOCALISED_TEXT>
  </FLAVOURTEXT>
  <TYPE metaname="Enchantment" />
  <SUB_TYPE metaname="Aura" />
  <EXPANSION value="TSP" />
  <RARITY metaname="U" />
  <SPELL_ABILITY attach_definition="0">
    <LOCALISED_TEXT LanguageCode="en-US"><![CDATA[Enchant player]]></LOCALISED_TEXT>
    <LOCALISED_TEXT LanguageCode="fr-FR"><![CDATA[Enchanter : joueur]]></LOCALISED_TEXT>
    <LOCALISED_TEXT LanguageCode="es-ES"><![CDATA[Encantar jugador.]]></LOCALISED_TEXT>
    <LOCALISED_TEXT LanguageCode="de-DE"><![CDATA[Spielerverzauberung]]></LOCALISED_TEXT>
    <LOCALISED_TEXT LanguageCode="it-IT"><![CDATA[Incanta giocatore]]></LOCALISED_TEXT>
    <LOCALISED_TEXT LanguageCode="jp-JA"><![CDATA[エンチャント(プレイヤー)]]></LOCALISED_TEXT>
    <LOCALISED_TEXT LanguageCode="ko-KR"><![CDATA[Enchant player]]></LOCALISED_TEXT>
    <LOCALISED_TEXT LanguageCode="ru-RU"><![CDATA[Зачаровать игрока]]></LOCALISED_TEXT>
    <LOCALISED_TEXT LanguageCode="pt-BR"><![CDATA[Encantar jogador]]></LOCALISED_TEXT>
    <TARGET tag="CARD_QUERY_CHOOSE_PLAYER" definition="0" compartment="0" count="1" />
    <TARGET_DEFINITION id="0">
       local filter = ClearFilter()
       filter:SetFilterType( FILTER_TYPE_PLAYERS )
    </TARGET_DEFINITION>
    <RESOLUTION_TIME_ACTION>
       local target = EffectDC():Get_Targets(0):Get_PlayerPtr(0)
       if target ~= nil and EffectSource() ~= nil then
          EffectSource():AttachToPlayer( target )
       end
    </RESOLUTION_TIME_ACTION>
    <AI_SIMPLIFIED_TARGETING compartment="0" hint="HINT_ALLY" />
  </SPELL_ABILITY>
  <STATIC_ABILITY>
    <CONTINUOUS_ACTION>
   if EffectSource() ~= nil then
      local player = EffectSource():GetParentPlayer()
      if player ~= nil then
         player:AddBadge(PLAYER_BADGE_ICON_PREVENTION, "PLAYER_CHOSEN_ICON")
      end
   end
    </CONTINUOUS_ACTION>
  </STATIC_ABILITY>

  <TRIGGERED_ABILITY replacement_effect="1">
    <LOCALISED_TEXT LanguageCode="en-US"><![CDATA[At the beginning of enchanted player’s first upkeep each turn, that player gets an additional upkeep step after this step.]]></LOCALISED_TEXT>
    <LOCALISED_TEXT LanguageCode="fr-FR"><![CDATA[Au début du premier entretien du joueur enchanté à chaque tour, ce joueur gagne une étape d’entretien supplémentaire après cette étape.]]></LOCALISED_TEXT>
    <LOCALISED_TEXT LanguageCode="es-ES"><![CDATA[Al comienzo del primer mantenimiento de cada turno del jugador encantado, ese jugador obtiene un mantenimiento adicional después de este paso.]]></LOCALISED_TEXT>
    <LOCALISED_TEXT LanguageCode="de-DE"><![CDATA[Zu Beginn des ersten Versorgungssegments des verzauberten Spielers erhält dieser Spieler ein zusätzliches Versorgungssegment nach diesem Segment.]]></LOCALISED_TEXT>
    <LOCALISED_TEXT LanguageCode="it-IT"><![CDATA[All’inizio del primo mantenimento del giocatore incantato in ogni turno, quel giocatore gioca un mantenimento addizionale dopo questa sottofase.]]></LOCALISED_TEXT>
    <LOCALISED_TEXT LanguageCode="jp-JA"><![CDATA[エンチャントされているプレイヤーの各ターンの最初のアップキープの開始時に、そのプレイヤーはこのステップの直後に追加のアップキープ・ステップを得る。]]></LOCALISED_TEXT>
    <LOCALISED_TEXT LanguageCode="ko-KR"><![CDATA[At the beginning of enchanted player’s first upkeep each turn, that player gets an additional upkeep step after this step.]]></LOCALISED_TEXT>
    <LOCALISED_TEXT LanguageCode="ru-RU"><![CDATA[В начале первого шага поддержки на каждом ходу зачарованного игрока этот игрок получает дополнительный шаг поддержки после окончания первого.]]></LOCALISED_TEXT>
    <LOCALISED_TEXT LanguageCode="pt-BR"><![CDATA[No início da primeira manutenção do jogador encantado a cada turno, aquele jogador recebe uma etapa de manutenção adicional após esta etapa.]]></LOCALISED_TEXT>
    <TRIGGER value="BEGINNING_OF_PLAYERS_STEP" pre_trigger="1">
   return EffectSource():GetParentPlayer():MyTurn() == false or MTG():GetStep() ~= STEP_UPKEEP
    </TRIGGER>
    <RESOLUTION_TIME_ACTION>
   if EffectSource() ~= nil then
      local player = EffectSource():GetParentPlayer()
      local chest = LBN_MyPlayerDC(player):Get_Chest(LBN_PLAYER_PARADOX_HAZE)
      if chest == nil then
         chest = LBN_MyPlayerDC(player):Make_Chest(LBN_PLAYER_PARADOX_HAZE)
      end

      chest:Set_Int(2,0)
      --During additional upkeeps i skip all steps except upkeeps
      if chest:Get_Int(0) == 1 then
         if TriggerPlayer():GetTeam() ~= EffectSource():GetParentPlayer():GetTeam() then
            chest:Set_Int(3,1)
         end
         MTG():SkipStep()

      --During normal turn steps i reset chests
      else
         local filter = ClearFilter()
         filter:SetZone( ZONE_BATTLEFIELD )
         filter:Add( FE_CARD_NAME, OP_IS, EffectSource() )
         filter:Add( FE_PARENT_PLAYER, OP_IS, EffectSource():GetParentPlayer() )
         local num = filter:Count()
         if num &gt; 0 then
            chest:Set_Int(1,num)
         end
         chest:Set_Int(0,0)
      end
   end
    </RESOLUTION_TIME_ACTION>
  </TRIGGERED_ABILITY>

  <TRIGGERED_ABILITY replacement_effect="1">
    <TRIGGER value="BEGINNING_OF_PLAYERS_STEP">
   return EffectSource():GetParentPlayer():MyTurn() == true and MTG():GetStep() == STEP_UPKEEP
    </TRIGGER>
    <RESOLUTION_TIME_ACTION>
   if EffectSource() ~= nil then
      local player = EffectSource():GetParentPlayer()
      local chest = LBN_MyPlayerDC(player):Get_Chest(LBN_PLAYER_PARADOX_HAZE)
      if chest == nil then
         chest = LBN_MyPlayerDC(player):Make_Chest(LBN_PLAYER_PARADOX_HAZE)
      end

      -- I have 3 variables:
      -- chest:Get_Int(0) is to see if we are in additional upkeep or not (0 is normal, 1 is additional)
      -- chest:Get_Int(1) is to save the number of paradox i have attached for the same player
      -- chest:Get_Int(2) is to see if there is another paradox haze working in the same upkeep (0 no, 1 yes)

      if chest:Get_Int(2) ~= 1 then

         -- 1st upkeep
         if chest:Get_Int(0) ~= 1 then
            chest:Set_Int(0,1)
            chest:Set_Int(1,chest:Get_Int(1)-1)

         -- Additional upkeeps
         elseif chest:Get_Int(1) ~= 0 then
            chest:Set_Int(1,chest:Get_Int(1)-1)
         -- Last additional upkeep
         elseif chest:Get_Int(1) == 0 then
            chest:Set_Int(0,0)
            if chest:Get_Int(3) ~= 1 then
               EffectSource():GetParentPlayer():GetTeam():TakeExtraTurn()
            end
            chest:Set_Int(3,0)
         end
      end
      chest:Set_Int(2,1)
   end
    </RESOLUTION_TIME_ACTION>
  </TRIGGERED_ABILITY>

</CARD_V2>
I was reading the other version but i have tested yet, anyway i was wondering why you are taking Extra Turn whe you can just take additional Phase wit the istruction : MTG():TakeAdditionalPhase(PHASE_BEGINNING), you just have to remember to skip the Untap..
NeoAnderson
 
Posts: 914
Joined: 10 Sep 2013, 07:49
Has thanked: 18 times
Been thanked: 139 times

Re: Paradox Haze working (I hope)

Postby braquio » 17 Sep 2014, 21:42

NeoAnderson wrote:I was reading the other version but i have tested yet, anyway i was wondering why you are taking Extra Turn whe you can just take additional Phase wit the istruction : MTG():TakeAdditionalPhase(PHASE_BEGINNING), you just have to remember to skip the Untap..
Im tried with TakeAdditionalPhase(PHASE_BEGINNING) but the problem is that the additional phase only starts when finish another phase, and like i have to skip my first draw step seems that there is no end of the beginning phase to "trigger" the start of the additional beginning phase.
So we go to main phase(with the additional beginning phase "on pool") and we have to click on continue to end main phase and instead to go to combat phase the engine start the additional beginning phase, so its not good.
And i did more tests like skip main, or with triggers in main to force the engine to start that additional beginning phase directly, but nothing, only start when another phase ends.
Last edited by braquio on 17 Sep 2014, 22:21, edited 5 times in total.
____________________________________________________________________________________________________________________________
Braquio Dotp2014 DLC
Alternative Sealed Campaigns for DotP 2014
User avatar
braquio
 
Posts: 143
Joined: 16 Feb 2014, 19:21
Has thanked: 15 times
Been thanked: 9 times

Re: Paradox Haze working (I hope)

Postby braquio » 17 Sep 2014, 22:06

I see more interactions, effects that skip turns or skip phases like:
Avizoa (if you use it between the first and the scd upkeep1)
Brine Elemental (1)
Blinding Angel
Chronatog (if you activate before first upkeep2)
Chronatog Totem (2)
Chronosavant (2)
Eater of Days (2)
Fatigue(2)
Ivory Gargoyle
Lethal Vapors (2)
Magosi, the Waterveil(2)
Meditate (2)
Molten Firebird
Revenant Patriarch
Stonehorn Dignitary
Unstable Hulk(2)
Waterspout Elemental(2)
Wormfang Manta(2)
Yosei, the Morning Star(2)

And effects with duration until end of turn(not all but a lot of them) has interactions if you play it during upkeep:
Affa Guard Hound
Akoum Battlesinger
...
the list is too long here

So no 100% or near :?
____________________________________________________________________________________________________________________________
Braquio Dotp2014 DLC
Alternative Sealed Campaigns for DotP 2014
User avatar
braquio
 
Posts: 143
Joined: 16 Feb 2014, 19:21
Has thanked: 15 times
Been thanked: 9 times


Return to Programming Talk

Who is online

Users browsing this forum: No registered users and 31 guests


Who is online

In total there are 31 users online :: 0 registered, 0 hidden and 31 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 31 guests

Login Form