Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- <!-- ATTEMPT 1 -->
- <TRIGGERED_ABILITY replacement_effect="1"> -- tracks whether planeswalk away has happened
- <TRIGGER value="ZONECHANGE_END" simple_qualifier="self" to_zone="ZONE_BATTLEFIELD" from_zone="ZONE_ANY" />
- <RESOLUTION_TIME_ACTION>
- local chest = MTG():DuelDataChest():Get_Chest(800)
- if chest == nil then
- chest = MTG():DuelDataChest():Make_Chest(800)
- end
- chest:Set_Int(0, 0)
- chest:Set_Int(1, 0)
- chest:Set_Int(2, 0)
- chest:Set_Int(3, 0)
- chest:Set_Int(5, 0)
- </RESOLUTION_TIME_ACTION>
- </TRIGGERED_ABILITY>
- <TRIGGERED_ABILITY replacement_effect="1"> -- sets marker that planeswalk away has happened
- <TRIGGER value="ZONECHANGE_BEGIN" simple_qualifier="self" to_zone="ZONE_ANY" from_zone="ZONE_BATTLEFIELD" />
- <RESOLUTION_TIME_ACTION>
- MTG():DuelDataChest():Get_Chest(800):Set_Int(5, 1)
- </RESOLUTION_TIME_ACTION>
- </TRIGGERED_ABILITY>
- <TRIGGERED_ABILITY>
- <LOCALISED_TEXT LanguageCode="en-US"><![CDATA[Whenever you roll {Q}, creatures can’t attack you until a player planeswalks.]]></LOCALISED_TEXT>
- <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>
- <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>
- <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>
- <LOCALISED_TEXT LanguageCode="it-IT"><![CDATA[Ogniqualvolta tiri {Q}, le creature non possono attaccarti finché un giocatore non viaggia tra i piani.]]></LOCALISED_TEXT>
- <LOCALISED_TEXT LanguageCode="jp-JA"><![CDATA[あなたが{Q}を出すたび、いずれかのプレイヤーがプレインズウォークするまで、クリーチャーはあなたを攻撃できない。]]></LOCALISED_TEXT>
- <LOCALISED_TEXT LanguageCode="ko-KR"><![CDATA[Whenever you roll {Q}, creatures can’t attack you until a player planeswalks.]]></LOCALISED_TEXT>
- <LOCALISED_TEXT LanguageCode="ru-RU"><![CDATA[Whenever you roll {Q}, creatures can’t attack you until a player planeswalks.]]></LOCALISED_TEXT>
- <LOCALISED_TEXT LanguageCode="pt-BR"><![CDATA[Whenever you roll {Q}, creatures can’t attack you until a player planeswalks.]]></LOCALISED_TEXT>
- <TRIGGER value="ROLLED_CHAOS">
- return true
- </TRIGGER>
- <SFX text="CASTER_SUCKALL_2012_PLAY" />
- <RESOLUTION_TIME_ACTION>
- -- we have to check each player because Chaos can be rolled many times before Planeswalk occurs
- local player = CW_Planechase_GetCurrentPlayer()
- if player == MTG():GetNthStartingPlayer(0) then
- MTG():DuelDataChest():Get_Chest(800):Set_PlayerPtr(0, player)
- MTG():DuelDataChest():Get_Chest(800):Set_Int(0, 1)
- elseif player == MTG():GetNthStartingPlayer(1) then
- MTG():DuelDataChest():Get_Chest(800):Set_PlayerPtr(1, player)
- MTG():DuelDataChest():Get_Chest(800):Set_Int(1, 1)
- elseif player == MTG():GetNthStartingPlayer(2) then
- MTG():DuelDataChest():Get_Chest(800):Set_PlayerPtr(2, player)
- MTG():DuelDataChest():Get_Chest(800):Set_Int(2, 1)
- elseif player == MTG():GetNthStartingPlayer(3) then
- MTG():DuelDataChest():Get_Chest(800):Set_PlayerPtr(3, player)
- MTG():DuelDataChest():Get_Chest(800):Set_Int(3, 1)
- end
- </RESOLUTION_TIME_ACTION>
- <CONTINUOUS_ACTION layer="8">
- local playerA = MTG():DuelDataChest():Get_Chest(800):Get_PlayerPtr(0)
- local playerB = MTG():DuelDataChest():Get_Chest(800):Get_PlayerPtr(1)
- local playerC = MTG():DuelDataChest():Get_Chest(800):Get_PlayerPtr(2)
- local playerD = MTG():DuelDataChest():Get_Chest(800):Get_PlayerPtr(3)
- local statusA = MTG():DuelDataChest():Get_Chest(800):Get_Int(0)
- local statusB = MTG():DuelDataChest():Get_Chest(800):Get_Int(1)
- local statusC = MTG():DuelDataChest():Get_Chest(800):Get_Int(2)
- local statusD = MTG():DuelDataChest():Get_Chest(800):Get_Int(3)
- if playerA ~= nil and statusA == 1 then
- local characteristics = playerA:GetCurrentCharacteristics()
- characteristics:Bool_Set( PLAYER_CHARACTERISTIC_CANT_BE_ATTACKED, 1 )
- end
- if playerB ~= nil and statusB == 1 then
- local characteristics = playerB:GetCurrentCharacteristics()
- characteristics:Bool_Set( PLAYER_CHARACTERISTIC_CANT_BE_ATTACKED, 1 )
- end
- if playerC ~= nil and statusC == 1 then
- local characteristics = playerC:GetCurrentCharacteristics()
- characteristics:Bool_Set( PLAYER_CHARACTERISTIC_CANT_BE_ATTACKED, 1 )
- end
- if playerD ~= nil and statusD == 1 then
- local characteristics = playerD:GetCurrentCharacteristics()
- characteristics:Bool_Set( PLAYER_CHARACTERISTIC_CANT_BE_ATTACKED, 1 )
- end
- </CONTINUOUS_ACTION>
- <CONTINUOUS_ACTION layer="0">
- local playerA = MTG():DuelDataChest():Get_Chest(800):Get_PlayerPtr(0)
- local playerB = MTG():DuelDataChest():Get_Chest(800):Get_PlayerPtr(1)
- local playerC = MTG():DuelDataChest():Get_Chest(800):Get_PlayerPtr(2)
- local playerD = MTG():DuelDataChest():Get_Chest(800):Get_PlayerPtr(3)
- local statusA = MTG():DuelDataChest():Get_Chest(800):Get_Int(0)
- local statusB = MTG():DuelDataChest():Get_Chest(800):Get_Int(1)
- local statusC = MTG():DuelDataChest():Get_Chest(800):Get_Int(2)
- local statusD = MTG():DuelDataChest():Get_Chest(800):Get_Int(3)
- if playerA ~= nil and statusA == 1 then
- playerA:AddBadge(PLAYER_BADGE_ICON_REPLACEMENT_REDIRECTION, "SPL_BADGE_CANT_BE_ATTACKED")
- end
- if playerB ~= nil and statusB == 1 then
- playerB:AddBadge(PLAYER_BADGE_ICON_REPLACEMENT_REDIRECTION, "SPL_BADGE_CANT_BE_ATTACKED")
- end
- if playerC ~= nil and statusC == 1 then
- playerC:AddBadge(PLAYER_BADGE_ICON_REPLACEMENT_REDIRECTION, "SPL_BADGE_CANT_BE_ATTACKED")
- end
- if playerD ~= nil and statusD == 1 then
- playerD:AddBadge(PLAYER_BADGE_ICON_REPLACEMENT_REDIRECTION, "SPL_BADGE_CANT_BE_ATTACKED")
- end
- </CONTINUOUS_ACTION>
- <DURATION>
- return MTG():DuelDataChest():Get_Chest(800):Get_Int(5) == 1
- </DURATION>
- </TRIGGERED_ABILITY>
- <!-- ATTEMPT 2 -->
- <TRIGGERED_ABILITY replacement_effect="1"> -- creates chest to track info and initializes variables
- <TRIGGER value="ZONECHANGE_END" simple_qualifier="self" to_zone="ZONE_BATTLEFIELD" from_zone="ZONE_ANY" />
- <RESOLUTION_TIME_ACTION>
- local chest = MTG():DuelDataChest():Get_Chest(800)
- if chest == nil then
- chest = MTG():DuelDataChest():Make_Chest(800)
- end
- chest:Set_Int(0, 0)
- chest:Set_Int(1, 0)
- chest:Set_Int(2, 0)
- chest:Set_Int(3, 0)
- chest:Set_Int(5, 0)
- chest:Set_PlayerPtr(0, EffectController())
- chest:Set_PlayerPtr(1, EffectController())
- chest:Set_PlayerPtr(2, EffectController())
- chest:Set_PlayerPtr(3, EffectController())
- </RESOLUTION_TIME_ACTION>
- </TRIGGERED_ABILITY>
- <TRIGGERED_ABILITY replacement_effect="1"> -- sets marker that planeswalk away has happened
- <TRIGGER value="ZONECHANGE_BEGIN" simple_qualifier="self" to_zone="ZONE_ANY" from_zone="ZONE_BATTLEFIELD" />
- <RESOLUTION_TIME_ACTION>
- MTG():DuelDataChest():Get_Chest(800):Set_Int(5, 1)
- </RESOLUTION_TIME_ACTION>
- </TRIGGERED_ABILITY>
- <TRIGGERED_ABILITY>
- <LOCALISED_TEXT LanguageCode="en-US"><![CDATA[Whenever you roll {Q}, creatures can’t attack you until a player planeswalks.]]></LOCALISED_TEXT>
- <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>
- <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>
- <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>
- <LOCALISED_TEXT LanguageCode="it-IT"><![CDATA[Ogniqualvolta tiri {Q}, le creature non possono attaccarti finché un giocatore non viaggia tra i piani.]]></LOCALISED_TEXT>
- <LOCALISED_TEXT LanguageCode="jp-JA"><![CDATA[あなたが{Q}を出すたび、いずれかのプレイヤーがプレインズウォークするまで、クリーチャーはあなたを攻撃できない。]]></LOCALISED_TEXT>
- <LOCALISED_TEXT LanguageCode="ko-KR"><![CDATA[Whenever you roll {Q}, creatures can’t attack you until a player planeswalks.]]></LOCALISED_TEXT>
- <LOCALISED_TEXT LanguageCode="ru-RU"><![CDATA[Whenever you roll {Q}, creatures can’t attack you until a player planeswalks.]]></LOCALISED_TEXT>
- <LOCALISED_TEXT LanguageCode="pt-BR"><![CDATA[Whenever you roll {Q}, creatures can’t attack you until a player planeswalks.]]></LOCALISED_TEXT>
- <TRIGGER value="ROLLED_CHAOS">
- return true
- </TRIGGER>
- <SFX text="CASTER_SUCKALL_2012_PLAY" />
- <RESOLUTION_TIME_ACTION>
- -- we have to check each player because Chaos can be rolled many times before Planeswalk occurs
- local player = CW_Planechase_GetCurrentPlayer()
- if player == MTG():GetNthStartingPlayer(0) then
- MTG():DuelDataChest():Get_Chest(800):Set_PlayerPtr(0, player)
- MTG():DuelDataChest():Get_Chest(800):Set_Int(0, 1)
- elseif player == MTG():GetNthStartingPlayer(1) then
- MTG():DuelDataChest():Get_Chest(800):Set_PlayerPtr(1, player)
- MTG():DuelDataChest():Get_Chest(800):Set_Int(1, 1)
- elseif player == MTG():GetNthStartingPlayer(2) then
- MTG():DuelDataChest():Get_Chest(800):Set_PlayerPtr(2, player)
- MTG():DuelDataChest():Get_Chest(800):Set_Int(2, 1)
- elseif player == MTG():GetNthStartingPlayer(3) then
- MTG():DuelDataChest():Get_Chest(800):Set_PlayerPtr(3, player)
- MTG():DuelDataChest():Get_Chest(800):Set_Int(3, 1)
- else
- Debug("Player not found")
- end
- </RESOLUTION_TIME_ACTION>
- -- 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
- </TRIGGERED_ABILITY>
- <STATIC_ABILITY>
- <CONTINUOUS_ACTION layer="8">
- local playerA = MTG():DuelDataChest():Get_Chest(800):Get_PlayerPtr(0)
- local statusA = MTG():DuelDataChest():Get_Chest(800):Get_Int(0)
- if playerA ~= nil and statusA == 1 and playerA ~= EffectController() then
- local characteristics = playerA:GetCurrentCharacteristics()
- characteristics:Bool_Set( PLAYER_CHARACTERISTIC_CANT_BE_ATTACKED, 1 )
- end
- </CONTINUOUS_ACTION>
- <CONTINUOUS_ACTION layer="8">
- local playerB = MTG():DuelDataChest():Get_Chest(800):Get_PlayerPtr(1)
- local statusB = MTG():DuelDataChest():Get_Chest(800):Get_Int(1)
- if playerB ~= nil and statusB == 1 and playerB ~= EffectController() then
- local characteristics = playerB:GetCurrentCharacteristics()
- characteristics:Bool_Set( PLAYER_CHARACTERISTIC_CANT_BE_ATTACKED, 1 )
- end
- </CONTINUOUS_ACTION>
- <CONTINUOUS_ACTION layer="8">
- local playerC = MTG():DuelDataChest():Get_Chest(800):Get_PlayerPtr(2)
- local statusC = MTG():DuelDataChest():Get_Chest(800):Get_Int(2)
- if playerC ~= nil and statusC == 1 and playerC ~= EffectController() then
- local characteristics = playerC:GetCurrentCharacteristics()
- characteristics:Bool_Set( PLAYER_CHARACTERISTIC_CANT_BE_ATTACKED, 1 )
- end
- </CONTINUOUS_ACTION>
- <CONTINUOUS_ACTION layer="8">
- local playerD = MTG():DuelDataChest():Get_Chest(800):Get_PlayerPtr(3)
- local statusD = MTG():DuelDataChest():Get_Chest(800):Get_Int(3)
- if playerD ~= nil and statusD == 1 and playerD ~= EffectController() then
- local characteristics = playerD:GetCurrentCharacteristics()
- characteristics:Bool_Set( PLAYER_CHARACTERISTIC_CANT_BE_ATTACKED, 1 )
- end
- </CONTINUOUS_ACTION>
- <CONTINUOUS_ACTION layer="0">
- local playerA = MTG():DuelDataChest():Get_Chest(800):Get_PlayerPtr(0)
- local statusA = MTG():DuelDataChest():Get_Chest(800):Get_Int(0)
- if playerA ~= nil and statusA == 1 and playerA ~= EffectController() then
- playerA:AddBadge(PLAYER_BADGE_ICON_REPLACEMENT_REDIRECTION, "SPL_BADGE_CANT_BE_ATTACKED")
- end
- </CONTINUOUS_ACTION>
- <CONTINUOUS_ACTION layer="0">
- local playerB = MTG():DuelDataChest():Get_Chest(800):Get_PlayerPtr(1)
- local statusB = MTG():DuelDataChest():Get_Chest(800):Get_Int(1)
- if playerB ~= nil and statusB == 1 and playerB ~= EffectController() then
- playerB:AddBadge(PLAYER_BADGE_ICON_REPLACEMENT_REDIRECTION, "SPL_BADGE_CANT_BE_ATTACKED")
- end
- </CONTINUOUS_ACTION>
- <CONTINUOUS_ACTION layer="0">
- local playerC = MTG():DuelDataChest():Get_Chest(800):Get_PlayerPtr(2)
- if playerC ~= nil and statusC == 1 and playerC ~= EffectController() then
- playerC:AddBadge(PLAYER_BADGE_ICON_REPLACEMENT_REDIRECTION, "SPL_BADGE_CANT_BE_ATTACKED")
- end
- </CONTINUOUS_ACTION>
- <CONTINUOUS_ACTION layer="0">
- local playerD = MTG():DuelDataChest():Get_Chest(800):Get_PlayerPtr(3)
- local statusD = MTG():DuelDataChest():Get_Chest(800):Get_Int(3)
- if playerD ~= nil and statusD == 1 and playerD ~= EffectController() then
- playerD:AddBadge(PLAYER_BADGE_ICON_REPLACEMENT_REDIRECTION, "SPL_BADGE_CANT_BE_ATTACKED")
- end
- </CONTINUOUS_ACTION>
- </STATIC_ABILITY>
- <!-- 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:
- <DURATION>
- return MTG():DuelDataChest():Get_Chest(800):Get_Int(5) == 1
- </DURATION>
- -->
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement