Okay TFM, I have a few questions on what you've commented on for
Opal-Eye, Konda's Yojimbo in another thread. Instead of cluttering up Kieran's thread or the Formal Request thread, I've decided to post it here. Is this where these kind of questions are supposed to go anyway? Well on to the actual questions...
Here is your quote from
here:
thefiremind wrote:MC Brodie wrote:I guess you are supposed to target the permanent that activated/triggered the ability.
A source could potentially be in any zone, so you need to let the player choose the zone. Luckily it isn't targetted, so a query will suffice (without the need to use modes).
I knew it wasn't technically
targeting but I was confused in thinking you needed to select say the triggered ability from a dying
Goblin Arsonist while it's on the stack instead of the
Goblin Arsonist itself. I realized this was wrong as I was posting the cards I made. Now, you said the source could potentially be in any zone but the only applicable zones I could think of is the stack and battlefield. Could something damage you from the graveyard or in exile?
Also, I still couldn't figure out how to let someone choose a card from multiple zones in the same query. I resorted to using first a multiple choice to choose the zone, then a query for choosing the source in that zone. I also learned a lesson in saying things arent' possible
. I'm assuming this is what you meant but I wanted to check if I was off base. I know gorem was working on a card that would let you make a selection from multiple zones in the same query but I don't know if he ever got it working.
Lastly, sorry to bother you with such beginner questions. You were just the sorry modder that commented on my issues
.
- Opal-Eye, Konda's Yojimbo | Open
- Code: Select all
<?xml version='1.0' encoding='UTF-8'?>
<CARD_V2 ExportVersion="1">
<FILENAME text="OPALEYE_KONDAS_YOJIMBO_867074655" />
<CARDNAME text="OPALEYE_KONDAS_YOJIMBO" />
<TITLE>
<LOCALISED_TEXT LanguageCode="en-US"><![CDATA[Opal-Eye, Konda’s Yojimbo]]></LOCALISED_TEXT>
<LOCALISED_TEXT LanguageCode="fr-FR"><![CDATA[Œil d’opale, yojimbo de Konda]]></LOCALISED_TEXT>
<LOCALISED_TEXT LanguageCode="es-ES"><![CDATA[Ojo de ópalo, yojimbo de Konda]]></LOCALISED_TEXT>
<LOCALISED_TEXT LanguageCode="de-DE"><![CDATA[Opalauge, Kondas Yojimbo]]></LOCALISED_TEXT>
<LOCALISED_TEXT LanguageCode="it-IT"><![CDATA[Occhiopale, Yojimbo di Konda]]></LOCALISED_TEXT>
<LOCALISED_TEXT LanguageCode="jp-JA"><![CDATA[今田の用心棒、乳眼]]></LOCALISED_TEXT>
<LOCALISED_TEXT LanguageCode="ko-KR"><![CDATA[Opal-Eye, Konda’s Yojimbo]]></LOCALISED_TEXT>
<LOCALISED_TEXT LanguageCode="ru-RU"><![CDATA[Opal-Eye, Konda’s Yojimbo]]></LOCALISED_TEXT>
<LOCALISED_TEXT LanguageCode="pt-BR"><![CDATA[Olho-Opalino, Yojimbo de Konda]]></LOCALISED_TEXT>
</TITLE>
<MULTIVERSEID value="867074655" />
<ARTID value="867074655" />
<ARTIST name="Greg Staples" />
<CASTING_COST cost="{1}{W}{W}" />
<SUPERTYPE metaname="Legendary" />
<TYPE metaname="Creature" />
<SUB_TYPE metaname="Fox" />
<SUB_TYPE metaname="Samurai" />
<EXPANSION value="BOK" />
<RARITY metaname="R" />
<POWER value="1" />
<TOUGHNESS value="4" />
<TRIGGERED_ABILITY badge="BADGE_BUSHIDO">
<LOCALISED_TEXT LanguageCode="en-US"><![CDATA[Bushido 1]]></LOCALISED_TEXT>
<LOCALISED_TEXT LanguageCode="fr-FR"><![CDATA[Bushido 1]]></LOCALISED_TEXT>
<LOCALISED_TEXT LanguageCode="es-ES"><![CDATA[Bushido 1.]]></LOCALISED_TEXT>
<LOCALISED_TEXT LanguageCode="de-DE"><![CDATA[Bushido 1]]></LOCALISED_TEXT>
<LOCALISED_TEXT LanguageCode="it-IT"><![CDATA[Bushido 1]]></LOCALISED_TEXT>
<LOCALISED_TEXT LanguageCode="jp-JA"><![CDATA[武士道 1]]></LOCALISED_TEXT>
<LOCALISED_TEXT LanguageCode="ko-KR"><![CDATA[무사도 1]]></LOCALISED_TEXT>
<LOCALISED_TEXT LanguageCode="ru-RU"><![CDATA[Бусидо 1]]></LOCALISED_TEXT>
<LOCALISED_TEXT LanguageCode="pt-BR"><![CDATA[Bushido 1]]></LOCALISED_TEXT>
<TRIGGER value="BLOCKS_A_CREATURE" simple_qualifier="self" to_zone="ZONE_ANY" from_zone="ZONE_ANY" />
<TRIGGER value="WAS_BLOCKED" simple_qualifier="self" />
<CONTINUOUS_ACTION layer="7C">
if TriggerObject() ~= nil then
local characteristics = TriggerObject():GetCurrentCharacteristics()
characteristics:Power_Add( 1 )
characteristics:Toughness_Add( 1 )
end
</CONTINUOUS_ACTION>
<DURATION simple_duration="UntilEOT" />
</TRIGGERED_ABILITY>
<STATIC_ABILITY>
<CONTINUOUS_ACTION layer="6">
if EffectSource() ~= nil then
local characteristics = EffectSource():GetCurrentCharacteristics()
characteristics:Int_Add( INT_CHARACTERISTIC_BUSHIDO, 1 )
end
</CONTINUOUS_ACTION>
</STATIC_ABILITY>
<STATIC_ABILITY commaspace="1">
<LOCALISED_TEXT LanguageCode="en-US"><![CDATA[defender]]></LOCALISED_TEXT>
<LOCALISED_TEXT LanguageCode="fr-FR"><![CDATA[défenseur]]></LOCALISED_TEXT>
<LOCALISED_TEXT LanguageCode="es-ES"><![CDATA[defensor]]></LOCALISED_TEXT>
<LOCALISED_TEXT LanguageCode="de-DE"><![CDATA[verteidiger]]></LOCALISED_TEXT>
<LOCALISED_TEXT LanguageCode="it-IT"><![CDATA[difensore]]></LOCALISED_TEXT>
<LOCALISED_TEXT LanguageCode="jp-JA"><![CDATA[防衛]]></LOCALISED_TEXT>
<LOCALISED_TEXT LanguageCode="ko-KR"><![CDATA[수비태세]]></LOCALISED_TEXT>
<LOCALISED_TEXT LanguageCode="ru-RU"><![CDATA[sащитник]]></LOCALISED_TEXT>
<LOCALISED_TEXT LanguageCode="pt-BR"><![CDATA[defensor]]></LOCALISED_TEXT>
<INTRINSIC characteristic="CHARACTERISTIC_DEFENDER" />
</STATIC_ABILITY>
<ACTIVATED_ABILITY>
<LOCALISED_TEXT LanguageCode="en-US"><![CDATA[{T}: The next time a source of your choice would deal damage this turn, that damage is dealt to Opal-Eye, Konda’s Yojimbo instead.]]></LOCALISED_TEXT>
<LOCALISED_TEXT LanguageCode="fr-FR"><![CDATA[{T}: The next time a source of your choice would deal damage this turn, that damage is dealt to Opal-Eye, Konda’s Yojimbo instead.]]></LOCALISED_TEXT>
<LOCALISED_TEXT LanguageCode="es-ES"><![CDATA[{T}: The next time a source of your choice would deal damage this turn, that damage is dealt to Opal-Eye, Konda’s Yojimbo instead.]]></LOCALISED_TEXT>
<LOCALISED_TEXT LanguageCode="de-DE"><![CDATA[{T}: The next time a source of your choice would deal damage this turn, that damage is dealt to Opal-Eye, Konda’s Yojimbo instead.]]></LOCALISED_TEXT>
<LOCALISED_TEXT LanguageCode="it-IT"><![CDATA[{T}: The next time a source of your choice would deal damage this turn, that damage is dealt to Opal-Eye, Konda’s Yojimbo instead.]]></LOCALISED_TEXT>
<LOCALISED_TEXT LanguageCode="jp-JA"><![CDATA[{T}: The next time a source of your choice would deal damage this turn, that damage is dealt to Opal-Eye, Konda’s Yojimbo instead.]]></LOCALISED_TEXT>
<LOCALISED_TEXT LanguageCode="ko-KR"><![CDATA[{T}: The next time a source of your choice would deal damage this turn, that damage is dealt to Opal-Eye, Konda’s Yojimbo instead.]]></LOCALISED_TEXT>
<LOCALISED_TEXT LanguageCode="ru-RU"><![CDATA[{T}: The next time a source of your choice would deal damage this turn, that damage is dealt to Opal-Eye, Konda’s Yojimbo instead.]]></LOCALISED_TEXT>
<LOCALISED_TEXT LanguageCode="pt-BR"><![CDATA[{T}: The next time a source of your choice would deal damage this turn, that damage is dealt to Opal-Eye, Konda’s Yojimbo instead.]]></LOCALISED_TEXT>
<COST type="TapSelf" />
<RESOLUTION_TIME_ACTION>
local player = EffectController()
local source = EffectSource()
local filter = ClearFilter()
filter:SetZone(ZONE_STACK)
local CheckStack = filter:CountStopAt(1)
filter = ClearFilter()
filter:SetZone(ZONE_GRAVEYARD)
local CheckGraveyard = filter:CountStopAt(1)
if (source ~= nil and player ~= nil) then
player:BeginNewMultipleChoice()
player:AddMultipleChoiceAnswer( "OPAL_EYE_CHOOSE_BATTLEFIELD" )
player:AddMultipleChoiceAnswer( "OPAL_EYE_CHOOSE_GRAVEYARD", CheckGraveyard == 1 )
player:AddMultipleChoiceAnswer( "OPAL_EYE_CHOOSE_STACK", CheckStack == 1 )
player:AskMultipleChoiceQuestion( "OPAL_EYE_MC_CHOOSE_ZONE", source )
end
</RESOLUTION_TIME_ACTION>
<RESOLUTION_TIME_ACTION>
local filter = ClearFilter()
local decision = EffectController():GetMultipleChoiceResult()
if decision ~= nil and decision == 2 then
filter:SetZone(ZONE_STACK)
elseif decision ~= nil and decision == 1 then
filter:SetZone(ZONE_GRAVEYARD)
else
filter:SetZone(ZONE_BATTLEFIELD)
end
EffectController():ChooseItem( "CARD_QUERY_CHOOSE_SOURCE_TO_REDIRECT", EffectDC():Make_Targets(6) )
</RESOLUTION_TIME_ACTION>
<RESOLUTION_TIME_ACTION>
local source = EffectDC():Get_Targets(6):Get_CardPtr(0)
if source ~= nil and EffectSource() ~= nil then
local delayDC = EffectDC():Make_Chest(2)
delayDC:Set_CardPtr(0, source)
delayDC:Protect_CardPtr(0)
MTG():CreateDelayedTrigger(1, delayDC)
end
</RESOLUTION_TIME_ACTION>
<AI_AVAILABILITY type="in_response" response_source="1" />
<AI_AVAILABILITY window_step="declare_blockers" type="window" />
</ACTIVATED_ABILITY>
<ACTIVATED_ABILITY>
<LOCALISED_TEXT LanguageCode="en-US"><![CDATA[{1}{W}: Prevent the next 1 damage that would be dealt to Opal-Eye this turn.]]></LOCALISED_TEXT>
<LOCALISED_TEXT LanguageCode="fr-FR"><![CDATA[{1}{W}: Prevent the next 1 damage that would be dealt to Opal-Eye this turn.]]></LOCALISED_TEXT>
<LOCALISED_TEXT LanguageCode="es-ES"><![CDATA[{1}{W}: Prevent the next 1 damage that would be dealt to Opal-Eye this turn.]]></LOCALISED_TEXT>
<LOCALISED_TEXT LanguageCode="de-DE"><![CDATA[{1}{W}: Prevent the next 1 damage that would be dealt to Opal-Eye this turn.]]></LOCALISED_TEXT>
<LOCALISED_TEXT LanguageCode="it-IT"><![CDATA[{1}{W}: Prevent the next 1 damage that would be dealt to Opal-Eye this turn.]]></LOCALISED_TEXT>
<LOCALISED_TEXT LanguageCode="jp-JA"><![CDATA[{1}{W}: Prevent the next 1 damage that would be dealt to Opal-Eye this turn.]]></LOCALISED_TEXT>
<LOCALISED_TEXT LanguageCode="ko-KR"><![CDATA[{1}{W}: Prevent the next 1 damage that would be dealt to Opal-Eye this turn.]]></LOCALISED_TEXT>
<LOCALISED_TEXT LanguageCode="ru-RU"><![CDATA[{1}{W}: Prevent the next 1 damage that would be dealt to Opal-Eye this turn.]]></LOCALISED_TEXT>
<LOCALISED_TEXT LanguageCode="pt-BR"><![CDATA[{1}{W}: Prevent the next 1 damage that would be dealt to Opal-Eye this turn.]]></LOCALISED_TEXT>
<COST mana_cost="{1}{W}" type="Mana" />
<RESOLUTION_TIME_ACTION>
if EffectSource() ~= nil then
local delayDC = EffectDC():Make_Chest(1)
MTG():CreateDelayedTrigger(0, delayDC)
end
</RESOLUTION_TIME_ACTION>
<AI_AVAILABILITY type="in_response" response_source="1" />
<AI_AVAILABILITY window_step="declare_attackers" window_turn="their_turn" type="window" />
<AI_AVAILABILITY window_step="declare_blockers" type="window" />
</ACTIVATED_ABILITY>
<TRIGGERED_ABILITY replacement_effect="1" resource_id="0">
<CLEANUP fire_once="1" simple_cleanup="EndOfTurn" />
<TRIGGER value="OBJECT_TAKES_DAMAGE" pre_trigger="1" damage_type="all">
return TriggerObject() == EffectSource()
</TRIGGER>
<RESOLUTION_TIME_ACTION>
local damage = Damage()
if damage ~= nil then
damage:PreventAmount( 1 )
end
</RESOLUTION_TIME_ACTION>
</TRIGGERED_ABILITY>
<TRIGGERED_ABILITY replacement_effect="1" resource_id="1">
<CLEANUP fire_once="1" simple_cleanup="EndOfTurn" />
<TRIGGER value="SOURCE_DEALS_DAMAGE" pre_trigger="1" damage_type="all">
return TriggerObject() == EffectDC():Get_CardPtr(0)
</TRIGGER>
<RESOLUTION_TIME_ACTION>
local damage = Damage()
if damage ~= nil and EffectSource() ~= nil then
damage:RedirectAllTo( EffectSource() )
end
</RESOLUTION_TIME_ACTION>
</TRIGGERED_ABILITY>
<HELP title="MORE_INFO_BADGE_TITLE_6" body="MORE_INFO_BADGE_BODY_6" zone="ZONE_ANY" />
<HELP title="MORE_INFO_TITLE_BUSHIDO" body="MORE_INFO_BODY_BUSHIDO" zone="ZONE_ANY" />
<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>
Edit - Hmmm I guess the
Goblin Arsonist example I gave could also be an example of a card that does damage to you from a graveyard... I'm still guessing that the exile zone isn't applicable.
Edit 2 - Well I fixed the code so you could select cards in your graveyard, however, my code doesn't seem to redirect damage from a cards in the graveyard. I've tried both selecting the
Goblin Arsonist while it was on the battlefield and selecting it while it was in the graveyard. Both times the arsonist damaged those resilient Doomed Travelers Sigismund played. I even remembered to protect the selected card so the data chest would work between zones (tested on selecting a haste creature on the stack). Any ideas?