Advertisement
Guest User

Untitled

a guest
Jul 3rd, 2019
122
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
XML 13.27 KB | None | 0 0
  1. <!-- ATTEMPT 1 -->
  2.     <TRIGGERED_ABILITY replacement_effect="1"> -- tracks whether planeswalk away has happened
  3.         <TRIGGER value="ZONECHANGE_END" simple_qualifier="self" to_zone="ZONE_BATTLEFIELD" from_zone="ZONE_ANY" />
  4.         <RESOLUTION_TIME_ACTION>
  5.             local chest = MTG():DuelDataChest():Get_Chest(800)
  6.             if chest == nil then
  7.                 chest = MTG():DuelDataChest():Make_Chest(800)
  8.             end
  9.             chest:Set_Int(0, 0)
  10.             chest:Set_Int(1, 0)
  11.             chest:Set_Int(2, 0)
  12.             chest:Set_Int(3, 0)
  13.             chest:Set_Int(5, 0)
  14.         </RESOLUTION_TIME_ACTION>
  15.     </TRIGGERED_ABILITY>
  16.     <TRIGGERED_ABILITY replacement_effect="1"> -- sets marker that planeswalk away has happened
  17.         <TRIGGER value="ZONECHANGE_BEGIN" simple_qualifier="self" to_zone="ZONE_ANY" from_zone="ZONE_BATTLEFIELD" />
  18.         <RESOLUTION_TIME_ACTION>
  19.             MTG():DuelDataChest():Get_Chest(800):Set_Int(5, 1)
  20.         </RESOLUTION_TIME_ACTION>
  21.     </TRIGGERED_ABILITY>
  22.     <TRIGGERED_ABILITY>
  23.         <LOCALISED_TEXT LanguageCode="en-US"><![CDATA[Whenever you roll {Q}, creatures can’t attack you until a player planeswalks.]]></LOCALISED_TEXT>
  24.         <LOCALISED_TEXT LanguageCode="fr-FR"><![CDATA[À chaque fois que vous obtenez {Q}, les créatures ne peuvent pas vous attaquer avant qu’un joueur se transplane.]]></LOCALISED_TEXT>
  25.         <LOCALISED_TEXT LanguageCode="es-ES"><![CDATA[Siempre que lances {Q}, las criaturas no pueden atacarte hasta que un jugador camine por los planos.]]></LOCALISED_TEXT>
  26.         <LOCALISED_TEXT LanguageCode="de-DE"><![CDATA[Immer wenn du {Q} würfelst, können dich Kreaturen nicht mehr angreifen, bis ein Spieler weltenwandert.]]></LOCALISED_TEXT>
  27.         <LOCALISED_TEXT LanguageCode="it-IT"><![CDATA[Ogniqualvolta tiri {Q}, le creature non possono attaccarti finché un giocatore non viaggia tra i piani.]]></LOCALISED_TEXT>
  28.         <LOCALISED_TEXT LanguageCode="jp-JA"><![CDATA[あなたが{Q}を出すたび、いずれかのプレイヤーがプレインズウォークするまで、クリーチャーはあなたを攻撃できない。]]></LOCALISED_TEXT>
  29.         <LOCALISED_TEXT LanguageCode="ko-KR"><![CDATA[Whenever you roll {Q}, creatures can’t attack you until a player planeswalks.]]></LOCALISED_TEXT>
  30.         <LOCALISED_TEXT LanguageCode="ru-RU"><![CDATA[Whenever you roll {Q}, creatures can’t attack you until a player planeswalks.]]></LOCALISED_TEXT>
  31.         <LOCALISED_TEXT LanguageCode="pt-BR"><![CDATA[Whenever you roll {Q}, creatures can’t attack you until a player planeswalks.]]></LOCALISED_TEXT>
  32.         <TRIGGER value="ROLLED_CHAOS">
  33.             return true
  34.         </TRIGGER>
  35.         <SFX text="CASTER_SUCKALL_2012_PLAY" />
  36.         <RESOLUTION_TIME_ACTION>
  37.             -- we have to check each player because Chaos can be rolled many times before Planeswalk occurs
  38.             local player = CW_Planechase_GetCurrentPlayer()
  39.             if player == MTG():GetNthStartingPlayer(0) then
  40.                 MTG():DuelDataChest():Get_Chest(800):Set_PlayerPtr(0, player)
  41.                 MTG():DuelDataChest():Get_Chest(800):Set_Int(0, 1)
  42.             elseif player == MTG():GetNthStartingPlayer(1) then
  43.                 MTG():DuelDataChest():Get_Chest(800):Set_PlayerPtr(1, player)
  44.                 MTG():DuelDataChest():Get_Chest(800):Set_Int(1, 1)
  45.             elseif player == MTG():GetNthStartingPlayer(2) then
  46.                 MTG():DuelDataChest():Get_Chest(800):Set_PlayerPtr(2, player)
  47.                 MTG():DuelDataChest():Get_Chest(800):Set_Int(2, 1)
  48.             elseif player == MTG():GetNthStartingPlayer(3) then
  49.                 MTG():DuelDataChest():Get_Chest(800):Set_PlayerPtr(3, player)
  50.                 MTG():DuelDataChest():Get_Chest(800):Set_Int(3, 1)
  51.             end
  52.         </RESOLUTION_TIME_ACTION>
  53.         <CONTINUOUS_ACTION layer="8">
  54.             local playerA = MTG():DuelDataChest():Get_Chest(800):Get_PlayerPtr(0)
  55.             local playerB = MTG():DuelDataChest():Get_Chest(800):Get_PlayerPtr(1)
  56.             local playerC = MTG():DuelDataChest():Get_Chest(800):Get_PlayerPtr(2)
  57.             local playerD = MTG():DuelDataChest():Get_Chest(800):Get_PlayerPtr(3)
  58.             local statusA = MTG():DuelDataChest():Get_Chest(800):Get_Int(0)
  59.             local statusB = MTG():DuelDataChest():Get_Chest(800):Get_Int(1)
  60.             local statusC = MTG():DuelDataChest():Get_Chest(800):Get_Int(2)
  61.             local statusD = MTG():DuelDataChest():Get_Chest(800):Get_Int(3)
  62.             if playerA ~= nil and statusA == 1 then
  63.                 local characteristics = playerA:GetCurrentCharacteristics()
  64.                 characteristics:Bool_Set( PLAYER_CHARACTERISTIC_CANT_BE_ATTACKED, 1 )
  65.             end
  66.             if playerB ~= nil and statusB == 1 then
  67.                 local characteristics = playerB:GetCurrentCharacteristics()
  68.                 characteristics:Bool_Set( PLAYER_CHARACTERISTIC_CANT_BE_ATTACKED, 1 )
  69.             end
  70.             if playerC ~= nil and statusC == 1 then
  71.                 local characteristics = playerC:GetCurrentCharacteristics()
  72.                 characteristics:Bool_Set( PLAYER_CHARACTERISTIC_CANT_BE_ATTACKED, 1 )
  73.             end
  74.             if playerD ~= nil and statusD == 1 then
  75.                 local characteristics = playerD:GetCurrentCharacteristics()
  76.                 characteristics:Bool_Set( PLAYER_CHARACTERISTIC_CANT_BE_ATTACKED, 1 )
  77.             end
  78.         </CONTINUOUS_ACTION>
  79.         <CONTINUOUS_ACTION layer="0">
  80.             local playerA = MTG():DuelDataChest():Get_Chest(800):Get_PlayerPtr(0)
  81.             local playerB = MTG():DuelDataChest():Get_Chest(800):Get_PlayerPtr(1)
  82.             local playerC = MTG():DuelDataChest():Get_Chest(800):Get_PlayerPtr(2)
  83.             local playerD = MTG():DuelDataChest():Get_Chest(800):Get_PlayerPtr(3)
  84.             local statusA = MTG():DuelDataChest():Get_Chest(800):Get_Int(0)
  85.             local statusB = MTG():DuelDataChest():Get_Chest(800):Get_Int(1)
  86.             local statusC = MTG():DuelDataChest():Get_Chest(800):Get_Int(2)
  87.             local statusD = MTG():DuelDataChest():Get_Chest(800):Get_Int(3)
  88.             if playerA ~= nil and statusA == 1 then
  89.                 playerA:AddBadge(PLAYER_BADGE_ICON_REPLACEMENT_REDIRECTION, "SPL_BADGE_CANT_BE_ATTACKED")
  90.             end
  91.             if playerB ~= nil and statusB == 1 then
  92.                 playerB:AddBadge(PLAYER_BADGE_ICON_REPLACEMENT_REDIRECTION, "SPL_BADGE_CANT_BE_ATTACKED")
  93.             end
  94.             if playerC ~= nil and statusC == 1 then
  95.                 playerC:AddBadge(PLAYER_BADGE_ICON_REPLACEMENT_REDIRECTION, "SPL_BADGE_CANT_BE_ATTACKED")
  96.             end
  97.             if playerD ~= nil and statusD == 1 then
  98.                 playerD:AddBadge(PLAYER_BADGE_ICON_REPLACEMENT_REDIRECTION, "SPL_BADGE_CANT_BE_ATTACKED")
  99.             end
  100.         </CONTINUOUS_ACTION>
  101.         <DURATION>
  102.             return MTG():DuelDataChest():Get_Chest(800):Get_Int(5) == 1
  103.         </DURATION>
  104.     </TRIGGERED_ABILITY>
  105.  
  106. <!-- ATTEMPT 2 -->
  107.     <TRIGGERED_ABILITY replacement_effect="1"> -- creates chest to track info and initializes variables
  108.         <TRIGGER value="ZONECHANGE_END" simple_qualifier="self" to_zone="ZONE_BATTLEFIELD" from_zone="ZONE_ANY" />
  109.         <RESOLUTION_TIME_ACTION>
  110.             local chest = MTG():DuelDataChest():Get_Chest(800)
  111.             if chest == nil then
  112.                 chest = MTG():DuelDataChest():Make_Chest(800)
  113.             end
  114.             chest:Set_Int(0, 0)
  115.             chest:Set_Int(1, 0)
  116.             chest:Set_Int(2, 0)
  117.             chest:Set_Int(3, 0)
  118.             chest:Set_Int(5, 0)
  119.             chest:Set_PlayerPtr(0, EffectController())
  120.             chest:Set_PlayerPtr(1, EffectController())
  121.             chest:Set_PlayerPtr(2, EffectController())
  122.             chest:Set_PlayerPtr(3, EffectController())
  123.         </RESOLUTION_TIME_ACTION>
  124.     </TRIGGERED_ABILITY>
  125.     <TRIGGERED_ABILITY replacement_effect="1"> -- sets marker that planeswalk away has happened
  126.         <TRIGGER value="ZONECHANGE_BEGIN" simple_qualifier="self" to_zone="ZONE_ANY" from_zone="ZONE_BATTLEFIELD" />
  127.         <RESOLUTION_TIME_ACTION>
  128.             MTG():DuelDataChest():Get_Chest(800):Set_Int(5, 1)
  129.         </RESOLUTION_TIME_ACTION>
  130.     </TRIGGERED_ABILITY>
  131.     <TRIGGERED_ABILITY>
  132.         <LOCALISED_TEXT LanguageCode="en-US"><![CDATA[Whenever you roll {Q}, creatures can’t attack you until a player planeswalks.]]></LOCALISED_TEXT>
  133.         <LOCALISED_TEXT LanguageCode="fr-FR"><![CDATA[À chaque fois que vous obtenez {Q}, les créatures ne peuvent pas vous attaquer avant qu’un joueur se transplane.]]></LOCALISED_TEXT>
  134.         <LOCALISED_TEXT LanguageCode="es-ES"><![CDATA[Siempre que lances {Q}, las criaturas no pueden atacarte hasta que un jugador camine por los planos.]]></LOCALISED_TEXT>
  135.         <LOCALISED_TEXT LanguageCode="de-DE"><![CDATA[Immer wenn du {Q} würfelst, können dich Kreaturen nicht mehr angreifen, bis ein Spieler weltenwandert.]]></LOCALISED_TEXT>
  136.         <LOCALISED_TEXT LanguageCode="it-IT"><![CDATA[Ogniqualvolta tiri {Q}, le creature non possono attaccarti finché un giocatore non viaggia tra i piani.]]></LOCALISED_TEXT>
  137.         <LOCALISED_TEXT LanguageCode="jp-JA"><![CDATA[あなたが{Q}を出すたび、いずれかのプレイヤーがプレインズウォークするまで、クリーチャーはあなたを攻撃できない。]]></LOCALISED_TEXT>
  138.         <LOCALISED_TEXT LanguageCode="ko-KR"><![CDATA[Whenever you roll {Q}, creatures can’t attack you until a player planeswalks.]]></LOCALISED_TEXT>
  139.         <LOCALISED_TEXT LanguageCode="ru-RU"><![CDATA[Whenever you roll {Q}, creatures can’t attack you until a player planeswalks.]]></LOCALISED_TEXT>
  140.         <LOCALISED_TEXT LanguageCode="pt-BR"><![CDATA[Whenever you roll {Q}, creatures can’t attack you until a player planeswalks.]]></LOCALISED_TEXT>
  141.         <TRIGGER value="ROLLED_CHAOS">
  142.             return true
  143.         </TRIGGER>
  144.         <SFX text="CASTER_SUCKALL_2012_PLAY" />
  145.         <RESOLUTION_TIME_ACTION>
  146.             -- we have to check each player because Chaos can be rolled many times before Planeswalk occurs
  147.             local player = CW_Planechase_GetCurrentPlayer()
  148.             if player == MTG():GetNthStartingPlayer(0) then
  149.                 MTG():DuelDataChest():Get_Chest(800):Set_PlayerPtr(0, player)
  150.                 MTG():DuelDataChest():Get_Chest(800):Set_Int(0, 1)
  151.             elseif player == MTG():GetNthStartingPlayer(1) then
  152.                 MTG():DuelDataChest():Get_Chest(800):Set_PlayerPtr(1, player)
  153.                 MTG():DuelDataChest():Get_Chest(800):Set_Int(1, 1)
  154.             elseif player == MTG():GetNthStartingPlayer(2) then
  155.                 MTG():DuelDataChest():Get_Chest(800):Set_PlayerPtr(2, player)
  156.                 MTG():DuelDataChest():Get_Chest(800):Set_Int(2, 1)
  157.             elseif player == MTG():GetNthStartingPlayer(3) then
  158.                 MTG():DuelDataChest():Get_Chest(800):Set_PlayerPtr(3, player)
  159.                 MTG():DuelDataChest():Get_Chest(800):Set_Int(3, 1)
  160.             else
  161.                 Debug("Player not found")
  162.             end
  163.         </RESOLUTION_TIME_ACTION>
  164.         -- the results are handled via the static ability below; by making it static, it will end when planeswalking away occurs because the plane will no longer be active on the battlefield
  165.     </TRIGGERED_ABILITY>
  166.     <STATIC_ABILITY>
  167.         <CONTINUOUS_ACTION layer="8">
  168.             local playerA = MTG():DuelDataChest():Get_Chest(800):Get_PlayerPtr(0)
  169.             local statusA = MTG():DuelDataChest():Get_Chest(800):Get_Int(0)
  170.             if playerA ~= nil and statusA == 1 and playerA ~= EffectController() then
  171.                 local characteristics = playerA:GetCurrentCharacteristics()
  172.                 characteristics:Bool_Set( PLAYER_CHARACTERISTIC_CANT_BE_ATTACKED, 1 )
  173.             end
  174.         </CONTINUOUS_ACTION>
  175.         <CONTINUOUS_ACTION layer="8">
  176.             local playerB = MTG():DuelDataChest():Get_Chest(800):Get_PlayerPtr(1)
  177.             local statusB = MTG():DuelDataChest():Get_Chest(800):Get_Int(1)
  178.             if playerB ~= nil and statusB == 1 and playerB ~= EffectController() then
  179.                 local characteristics = playerB:GetCurrentCharacteristics()
  180.                 characteristics:Bool_Set( PLAYER_CHARACTERISTIC_CANT_BE_ATTACKED, 1 )
  181.             end
  182.         </CONTINUOUS_ACTION>
  183.         <CONTINUOUS_ACTION layer="8">
  184.             local playerC = MTG():DuelDataChest():Get_Chest(800):Get_PlayerPtr(2)
  185.             local statusC = MTG():DuelDataChest():Get_Chest(800):Get_Int(2)
  186.             if playerC ~= nil and statusC == 1  and playerC ~= EffectController() then
  187.                 local characteristics = playerC:GetCurrentCharacteristics()
  188.                 characteristics:Bool_Set( PLAYER_CHARACTERISTIC_CANT_BE_ATTACKED, 1 )
  189.             end
  190.         </CONTINUOUS_ACTION>
  191.         <CONTINUOUS_ACTION layer="8">
  192.             local playerD = MTG():DuelDataChest():Get_Chest(800):Get_PlayerPtr(3)
  193.             local statusD = MTG():DuelDataChest():Get_Chest(800):Get_Int(3)
  194.             if playerD ~= nil and statusD == 1  and playerD ~= EffectController() then
  195.                 local characteristics = playerD:GetCurrentCharacteristics()
  196.                 characteristics:Bool_Set( PLAYER_CHARACTERISTIC_CANT_BE_ATTACKED, 1 )
  197.             end
  198.         </CONTINUOUS_ACTION>
  199.         <CONTINUOUS_ACTION layer="0">
  200.             local playerA = MTG():DuelDataChest():Get_Chest(800):Get_PlayerPtr(0)
  201.             local statusA = MTG():DuelDataChest():Get_Chest(800):Get_Int(0)
  202.             if playerA ~= nil and statusA == 1  and playerA ~= EffectController() then
  203.                 playerA:AddBadge(PLAYER_BADGE_ICON_REPLACEMENT_REDIRECTION, "SPL_BADGE_CANT_BE_ATTACKED")
  204.             end
  205.         </CONTINUOUS_ACTION>
  206.         <CONTINUOUS_ACTION layer="0">
  207.             local playerB = MTG():DuelDataChest():Get_Chest(800):Get_PlayerPtr(1)
  208.             local statusB = MTG():DuelDataChest():Get_Chest(800):Get_Int(1)
  209.             if playerB ~= nil and statusB == 1  and playerB ~= EffectController() then
  210.                 playerB:AddBadge(PLAYER_BADGE_ICON_REPLACEMENT_REDIRECTION, "SPL_BADGE_CANT_BE_ATTACKED")
  211.             end
  212.         </CONTINUOUS_ACTION>
  213.         <CONTINUOUS_ACTION layer="0">
  214.             local playerC = MTG():DuelDataChest():Get_Chest(800):Get_PlayerPtr(2)
  215.             if playerC ~= nil and statusC == 1 and playerC ~= EffectController() then
  216.                 playerC:AddBadge(PLAYER_BADGE_ICON_REPLACEMENT_REDIRECTION, "SPL_BADGE_CANT_BE_ATTACKED")
  217.             end
  218.         </CONTINUOUS_ACTION>
  219.         <CONTINUOUS_ACTION layer="0">
  220.             local playerD = MTG():DuelDataChest():Get_Chest(800):Get_PlayerPtr(3)
  221.             local statusD = MTG():DuelDataChest():Get_Chest(800):Get_Int(3)
  222.             if playerD ~= nil and statusD == 1 and playerD ~= EffectController() then
  223.                 playerD:AddBadge(PLAYER_BADGE_ICON_REPLACEMENT_REDIRECTION, "SPL_BADGE_CANT_BE_ATTACKED")
  224.             end
  225.         </CONTINUOUS_ACTION>
  226.     </STATIC_ABILITY>
  227.     <!-- I've also tried a variation of the above where I kept the CA blocks inside of the Triggered Ability and included this for the duration:
  228.         <DURATION>
  229.             return MTG():DuelDataChest():Get_Chest(800):Get_Int(5) == 1
  230.         </DURATION>
  231. -->
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement