Board index
Programs with AI or Rules Enforcement
Magic: The Gathering - Duels of the Planeswalkers
Programming Talk



Phyrexian mana
Moderator: CCGHQ Admins
Phyrexian mana
by Shatterhouse » 18 May 2011, 01:07
Phyrexian Mana can be paid with one mana of a particular color, or 2 life.
While I don't know if we'll be able to incorporate phyrexian mana symbols on our custom cards, we can mimic the mechanic itself like this:
1.) Gives the creature First Strike (duh)
2.) Reduces the creature's casting cost while you have at least 2 life
3.) Prompts you to pay an additional W when cast. If you don't, you lose 2 life.
Note that it is possible to suicide yourself with this. Official MTG rules allow you to pay 2 life if you have 2 life remaining. If you have 1 life or less(via Platinum Angel or something) the card's cost will revert back to 2W in your hand, because you're not allowed to pay life that you don't have.
When browsing your deck, the cost will appear as 2W. When making mulligan decisions, the cost will appear as 2W. When the creature is on the battlefield, the cost will appear as 2W. Anytime it's sitting in your hand and you have 2 or more life, it'll appear as just 2.
I used the tag PORCELAIN_LEGIONNAIRE_RULE_1 on the trigger to print out a little reminder on the card that it can be paid for with either W or 2 life.
Not sure exactly how to handle phyrexian mana costs in activated abilities yet.
I'm thinking we could just make the ability free, and trigger a payment prompt upon activation.
While I don't know if we'll be able to incorporate phyrexian mana symbols on our custom cards, we can mimic the mechanic itself like this:
- Code: Select all
<TRIGGERED_ABILITY tag="PORCELAIN_LEGIONNAIRE_RULE_1" zone ="hand" layer="0" forced_skip="1" pre_trigger="1" >
<TRIGGER value="SPELL_PLAYED">
return (SelfTriggered() and Object():GetController():GetLifeTotal() > 1)
</TRIGGER>
<COST qualifier="Conditional" type="Mana" cost="{W}" />
<EFFECT>
</EFFECT>
<ELSE_EFFECT>
YouLoseLife(2)
</ELSE_EFFECT>
</TRIGGERED_ABILITY>
<STATIC_ABILITY tag="FIRST_STRIKE_RULE" layer="0">
<EFFECT>
First_Strike()
</EFFECT>
</STATIC_ABILITY>
<STATIC_ABILITY zone="Hand" influencing_zone="Hand" layer="0">
<EFFECT>
if (Object():GetController():GetLifeTotal() > 1) then
Object():DecreaseColouredCost( COLOUR_WHITE, 1)
end
</EFFECT>
</STATIC_ABILITY>
1.) Gives the creature First Strike (duh)
2.) Reduces the creature's casting cost while you have at least 2 life
3.) Prompts you to pay an additional W when cast. If you don't, you lose 2 life.
Note that it is possible to suicide yourself with this. Official MTG rules allow you to pay 2 life if you have 2 life remaining. If you have 1 life or less(via Platinum Angel or something) the card's cost will revert back to 2W in your hand, because you're not allowed to pay life that you don't have.
When browsing your deck, the cost will appear as 2W. When making mulligan decisions, the cost will appear as 2W. When the creature is on the battlefield, the cost will appear as 2W. Anytime it's sitting in your hand and you have 2 or more life, it'll appear as just 2.
I used the tag PORCELAIN_LEGIONNAIRE_RULE_1 on the trigger to print out a little reminder on the card that it can be paid for with either W or 2 life.
Not sure exactly how to handle phyrexian mana costs in activated abilities yet.
I'm thinking we could just make the ability free, and trigger a payment prompt upon activation.
Last edited by Shatterhouse on 20 May 2011, 07:40, edited 2 times in total.
- Shatterhouse
- Posts: 72
- Joined: 20 Apr 2011, 00:07
- Has thanked: 0 time
- Been thanked: 2 times
Re: Phyrexian mana
by Shatterhouse » 18 May 2011, 02:23
And with Vault Skirge :
- Code: Select all
<TRIGGERED_ABILITY tag="VAULT_SKIRGE_RULE_1" zone ="hand" layer="0" forced_skip="1" pre_trigger="1">
<TRIGGER value="SPELL_PLAYED">
return (SelfTriggered() and Object():GetController():GetLifeTotal() > 1)
</TRIGGER>
<COST qualifier="Conditional" type="Mana" cost="{B}" />
<EFFECT>
</EFFECT>
<ELSE_EFFECT>
YouLoseLife(2)
</ELSE_EFFECT>
</TRIGGERED_ABILITY>
<STATIC_ABILITY tag="FLYING_RULE" layer="0">
<EFFECT>
Flying()
</EFFECT>
</STATIC_ABILITY>
<STATIC_ABILITY tag="LIFELINK_RULE" layer="0">
<EFFECT>
Lifelink()
</EFFECT>
</STATIC_ABILITY>
<STATIC_ABILITY zone="Hand" influencing_zone="Hand" layer="0">
<EFFECT>
if (Object():GetController():GetLifeTotal() > 1) then
Object():DecreaseColouredCost( COLOUR_BLACK, 1)
end
</EFFECT>
</STATIC_ABILITY>
Last edited by Shatterhouse on 20 May 2011, 07:42, edited 4 times in total.
- Shatterhouse
- Posts: 72
- Joined: 20 Apr 2011, 00:07
- Has thanked: 0 time
- Been thanked: 2 times
Re: Phyrexian mana
by Shatterhouse » 18 May 2011, 03:41
Fair warning. The game's auto land tapping is just as retarded as ever. If you have a Plains and a Swamp and try to cast Vault Skirge, you're probably going to be down 2 life.
- Shatterhouse
- Posts: 72
- Joined: 20 Apr 2011, 00:07
- Has thanked: 0 time
- Been thanked: 2 times
3 posts
• Page 1 of 1
Who is online
Users browsing this forum: No registered users and 6 guests