It is currently 22 May 2013, 07:07
   
Text Size

Planeswalkers as enchantments?

Moderator: CCGHQ Admins

Planeswalkers as enchantments?

Postby Eglin » 28 Mar 2012, 01:38

Hi guys,

Has anyone thought about trying to make some planeswalkers as enchantments? The number of spells that directly target enchantments is so small that they could be worked around, I think.

The hardest part would probably be prompting the opposing player to ask if they'd like to redirect some or all of the damage done to our planeswalker (I'm not sure if this is possible, and it would certainly be difficult if there are multiple planeswalkers in play). The biggest incongruity with paper magic would probably be that one couldn't tell whether a player or a planeswalker was being attacked by a creature when making blocking assignments, but for the purposes of this implementation I would probably just make the AI /always/ choose to redirect damage to a planeswalker when possible (it isn't actually a terrible strategy, in general).

So, anyone have ideas for how to prompt for redirecting damage? I've tried a multiple-choice question within an internal pretrigger, but it doesn't show up. I know that there are some cards that block/redirect damage, such as Pariah or Guardian Seraph, that we can use as examples, but I think that being able to prompt to ask whether or not we should redirect the damage is key for the case that we have multiple planeswalkers in play.

What do you guys think? Any ideas?

Cheers,
Eglin
User avatar
Eglin
Programmer
 
Posts: 185
Joined: 01 Mar 2012, 14:44
Has thanked: 35 times
Been thanked: 19 times

Re: Planeswalkers as enchantments?

Postby sadlyblue » 28 Mar 2012, 09:19

My idea about planeswalker is to wait for another release of dotp and hope for them to be implemented, and that we can costumize it. Unless anyone could unlock something in this one (but i don't think is fully possible).

But i think it would be better to have a 0/loyalty creature, indestructible and when damage taken place a 0/-1 counter. When it reaches 0 is put in graveyard.
About the redirect, what trigger are you using? PLAYER_TOOK_DAMAGE or ATTACKING_AND_ISNT_BLOCKED?
I had a problem in overriding a draw, because the override, i think, needs to be within the <TRIGGER> and not <RESOLUTION_TIME>. So maybe if you use the ATTACKING_AND_ISNT_BLOCKED to trigger the choice of player/planeswalker and then which planeswalker.

Again, it's a lot of work, and it poses a lot of possible conflict with other cards.
sadlyblue
 
Posts: 175
Joined: 06 Feb 2012, 13:18
Has thanked: 18 times
Been thanked: 16 times

Re: Planeswalkers as enchantments?

Postby Eglin » 28 Mar 2012, 09:48

sadlyblue wrote:My idea about planeswalker is to wait for another release of dotp and hope for them to be implemented, and that we can costumize it. Unless anyone could unlock something in this one (but i don't think is fully possible).

But i think it would be better to have a 0/loyalty creature, indestructible and when damage taken place a 0/-1 counter. When it reaches 0 is put in graveyard.
About the redirect, what trigger are you using? PLAYER_TOOK_DAMAGE or ATTACKING_AND_ISNT_BLOCKED?
I had a problem in overriding a draw, because the override, i think, needs to be within the <TRIGGER> and not <RESOLUTION_TIME>. So maybe if you use the ATTACKING_AND_ISNT_BLOCKED to trigger the choice of player/planeswalker and then which planeswalker.

Again, it's a lot of work, and it poses a lot of possible conflict with other cards.
I think it would work better as an enchantment, because there's no mechanism to force a creature to block all attacking creatures.

Here's what I was playing with:
Code: Select all
  <TRIGGERED_ABILITY pre_trigger="1">
    <TRIGGER value="PLAYER_TOOK_DAMAGE">
   if TriggerPlayer() == Object():GetPlayer() then
      return Damage():GetSource()
   end
   return false
   </TRIGGER>
    <RESOLUTION_TIME_ACTION>
   local source = Damage():GetSource()
   local player = nil
   if source then
      player = source:GetPlayer()
      if player then
         player:BeginNewMultipleChoice()
         player:AddMultipleChoiceAnswer( "CARD_QUERY_OPTION_YES" )
         player:AddMultipleChoiceAnswer( "CARD_QUERY_OPTION_NO" )
         player:AskMultipleChoiceQuestion( "CARD_QUERY_REDIRECT_DAMAGE_TO_GARRUK" )
      end
   end
   Storage(Object()).set("player", player)
    </RESOLUTION_TIME_ACTION>
    <RESOLUTION_TIME_ACTION>
   local player = Storage(Object()).get("player")
    if player and Object():GetMultipleChoiceResult() == 0 then
      if not ( Object():CountCounters( MTG():GetCountersType("ARROWHEAD") ) &gt; Damage():GetAmount()) then
         Object():Sacrifice()
      else
         Object():RemoveCounters( MTG():GetCountersType("ARROWHEAD"), Damage():GetAmount() )
      end
      Damage():SetAmount(0)
   end
    </RESOLUTION_TIME_ACTION>
  </TRIGGERED_ABILITY>
I, of course, experimented with several combinations of internal/pre_trigger and overriding the damage vs just changing the amount to zero (which you can do w/o overriding the trigger), although perhaps only in a pretrigger. I'm pretty sure that I could get this to work if it were in a deck featuring only a single planeswalker if we'd force the AI to always choose to redirect the damage (a reasonable stratagy for a player, anyway). However, with multiple planeswalkers in play, we'd need to know which one to redirect to. The problem seems to be prompting for redirection from within an internal trigger. There seem to be some things that simply can't be done from within an internal trigger, and this seems to be one of them.

There's probably a simple solution, I just haven't stumbled across it yet.
User avatar
Eglin
Programmer
 
Posts: 185
Joined: 01 Mar 2012, 14:44
Has thanked: 35 times
Been thanked: 19 times


Return to Programming Talk

Who is online

Users browsing this forum: No registered users and 2 guests


Who is online

In total there are 2 users online :: 0 registered, 0 hidden and 2 guests (based on users active over the past 10 minutes)
Most users ever online was 177 on 10 Oct 2011, 16:37

Users browsing this forum: No registered users and 2 guests

Login Form