It is currently 19 Apr 2024, 11:16
   
Text Size

Aether Revolt Spoiler Season

Post MTG Forge Related Programming Questions Here

Moderators: timmermac, Blacksmith, KrazyTheFox, Agetian, friarsol, CCGHQ Admins

Re: Aether Revolt Spoiler Season

Postby Marek14 » 07 Jan 2017, 13:21

Corrected Daredevil Dragster:

Code: Select all
Name:Daredevil Dragster
ManaCost:2
Types:Artifact Vehicle
PT:4/4
T:Mode$ Phase | Phase$ EndCombat | ValidPlayer$ Player | IsPresent$ Card.Self+attackedThisCombat,Card.blocking+Self | TriggerZones$ Battlefield | Execute$ TrigPutCounter | TriggerDescription$ At end of combat, if CARDNAME attacked or blocked this combat, put a velocity counter on it. Then if it has two or more velocity counters on it, sacrifice it and draw two cards.
SVar:TrigPutCounter:DB$PutCounter | CounterType$ VELOCITY | CounterNum$ 1 | SubAbility$ DBSac
SVar:DBSac:DB$ Sacrifice | SacValid$ Self | ConditionCheckSVar$ X | References$ X | SubAbility$ DBDraw
SVar:DBDraw:DB$ Draw | NumCards$ 2
SVar:X:Count$Valid Card.Self+counters_GE2_VELOCITY
K:Crew:2
SVar:Picture:http://www.wizards.com/global/images/magic/general/daredevil_dragster.jpg
Oracle:At end of combat, if Daredevil Dragster attacked or blocked this combat, put a velocity counter on it. Then if it has two or more velocity counters on it, sacrifice it and draw two cards.\nCrew 2 (Tap any number of creatures you control with total power 2 or more: This Vehicle becomes an artifact creature until end of turn.)
Hmm, can ChooseSource specify that only sources on the battlefield should be considered?
Marek14
Tester
 
Posts: 2759
Joined: 07 Jun 2008, 07:54
Has thanked: 0 time
Been thanked: 296 times

Re: Aether Revolt Spoiler Season

Postby Hanmac » 07 Jan 2017, 13:29

@Marek14: about "ConditionCheckSVar$ X" just use "IsPresent$ Card.Self+counters_GE2_VELOCITY" that does save SVars and imo is easier to read.
Hanmac
 
Posts: 954
Joined: 06 May 2013, 18:44
Has thanked: 229 times
Been thanked: 158 times

Re: Aether Revolt Spoiler Season

Postby Agetian » 07 Jan 2017, 13:43

Marek14 wrote:Hmm, can ChooseSource specify that only sources on the battlefield should be considered?
Not yet, but I think it's an easy addition if necessary. The thing is, though, I'm not sure if it's necessary or if there's just some kind of an issue with the ChooseCard application that makes the card fail :/

EDIT: Found the issue, looks like RememberChosen$ True was missing, now it works fine (just need to fix the activation cost).

- Agetian
Agetian
Programmer
 
Posts: 3471
Joined: 14 Mar 2011, 05:58
Has thanked: 676 times
Been thanked: 561 times

Re: Aether Revolt Spoiler Season

Postby Agetian » 07 Jan 2017, 13:51

Committed batches 1-3 to trunk.
Wasn't sure how to apply the "IsPresent$ Card.Self+counters_GE2_VELOCITY" syntax to DB Sacrifice, so left it as is right now (in my simple test it did not work correctly, maybe it only works on triggers?)

- Agetian
Agetian
Programmer
 
Posts: 3471
Joined: 14 Mar 2011, 05:58
Has thanked: 676 times
Been thanked: 561 times

Re: Aether Revolt Spoiler Season

Postby Hanmac » 07 Jan 2017, 13:56

@Agetian & Marek14:
don't use RememerChosen if used for Effect, the Effect already does copy the Chosen card.

so i think that is better:
Code: Select all
A:AB$ ChooseCard | Cost$ Sac<1/CARDNAME> | Choices$ Creature | AILogic$ NeedsPrevention | SubAbility$ DBEffect | SVars$ DBEffect | SpellDescription$ Prevent all combat damage a creature of your choice would deal this turn.
SVar:DBEffect:DB$ Effect | ReplacementEffects$ RPreventNextFromSource | SVars$ RPreventNextFromSource | SubAbility$ DBCleanup | ConditionDefined$ ChosenCard | ConditionPresent$ Card | ConditionCompare$ GE1
SVar:RPreventNextFromSource:Event$ DamageDone | CombatDamage$ True | ValidSource$ Card.ChoosenCard | Prevent$ True | PreventionEffect$ True | Description$ Prevent all combat damage a creature of your choice would deal this turn.
SVar:DBCleanup:DB$ Cleanup | ClearChosenCard$ True
@Agetian you are right, that part is a SpellAbility, so it does need to be "ConditionPresent"
Hanmac
 
Posts: 954
Joined: 06 May 2013, 18:44
Has thanked: 229 times
Been thanked: 158 times

Re: Aether Revolt Spoiler Season

Postby Marek14 » 07 Jan 2017, 13:59

Batch 4. Contains updated Daredevil Dragster (no IsPresent syntax since Agetian says he didn't make it work) and Ajani's Aid.
Attachments
aer04.zip
(6.35 KiB) Downloaded 189 times
Marek14
Tester
 
Posts: 2759
Joined: 07 Jun 2008, 07:54
Has thanked: 0 time
Been thanked: 296 times

Re: Aether Revolt Spoiler Season

Postby Agetian » 07 Jan 2017, 14:07

Hanmac wrote:don't use RememerChosen if used for Effect, the Effect already does copy the Chosen card.

so i think that is better:
Code: Select all
A:AB$ ChooseCard | Cost$ Sac<1/CARDNAME> | Choices$ Creature | AILogic$ NeedsPrevention | SubAbility$ DBEffect | SVars$ DBEffect | SpellDescription$ Prevent all combat damage a creature of your choice would deal this turn.
SVar:DBEffect:DB$ Effect | ReplacementEffects$ RPreventNextFromSource | SVars$ RPreventNextFromSource | SubAbility$ DBCleanup | ConditionDefined$ ChosenCard | ConditionPresent$ Card | ConditionCompare$ GE1
SVar:RPreventNextFromSource:Event$ DamageDone | CombatDamage$ True | ValidSource$ Card.ChoosenCard | Prevent$ True | PreventionEffect$ True | Description$ Prevent all combat damage a creature of your choice would deal this turn.
SVar:DBCleanup:DB$ Cleanup | ClearChosenCard$ True
Hmm, tried this but unfortunately it didn't prevent damage for some reason :/

- Agetian
Agetian
Programmer
 
Posts: 3471
Joined: 14 Mar 2011, 05:58
Has thanked: 676 times
Been thanked: 561 times

Re: Aether Revolt Spoiler Season

Postby Hanmac » 07 Jan 2017, 14:17

@Agetian: okay that should have been worked, i need to test why not.

@Marek14: Call for Unity from with DescriptionCreatures
otherwise, the Revolt cards should work
Hanmac
 
Posts: 954
Joined: 06 May 2013, 18:44
Has thanked: 229 times
Been thanked: 158 times

Re: Aether Revolt Spoiler Season

Postby Marek14 » 07 Jan 2017, 14:18

Filigree Crawler should get this token ability:
Code: Select all
SVar:TrigToken:AB$ Token | Cost$ 0 | TokenAmount$ 1 | TokenName$ Thopter | TokenTypes$ Artifact,Creature,Thopter | TokenOwner$ You | TokenColors$ Colorless | TokenPower$ 1 | TokenToughness$ 1 | TokenKeywords$ Flying | TokenImage$ c 1 1 thopter KLD | TokenAltImages$ c_1_1_thopter2_KLD,c_1_1_thopter3_KLD
Currently, it uses ORI tokens.

EDIT: Warp Artifact (and possibly other similar cards) uses EnchantedController in both trigger condition and the damage ability. Only the trigger condition should use it (damage ability should use TriggeredPlayer) to work correctly in corner cases when the Aura is moved in response to its ability or the controller of the enchanted permanent changes.

EDIT2: Call for Unity also needs a new token. (Daredevil Dragster doesn't since velocity counters already exist.)
Marek14
Tester
 
Posts: 2759
Joined: 07 Jun 2008, 07:54
Has thanked: 0 time
Been thanked: 296 times

Re: Aether Revolt Spoiler Season

Postby Marek14 » 07 Jan 2017, 15:02

Batch 5, includes correction for Aetherstream Leopard and Call for Unity.
Attachments
aer05.zip
(5.43 KiB) Downloaded 186 times
Marek14
Tester
 
Posts: 2759
Joined: 07 Jun 2008, 07:54
Has thanked: 0 time
Been thanked: 296 times

Re: Aether Revolt Spoiler Season

Postby Agetian » 07 Jan 2017, 15:08

Marek14 wrote:EDIT: Warp Artifact (and possibly other similar cards) uses EnchantedController in both trigger condition and the damage ability. Only the trigger condition should use it (damage ability should use TriggeredPlayer) to work correctly in corner cases when the Aura is moved in response to its ability or the controller of the enchanted permanent changes.
If possible, can you please demonstrate how to write it correctly? I'll see if I can find other similar cards then too. :)

- Agetian
Agetian
Programmer
 
Posts: 3471
Joined: 14 Mar 2011, 05:58
Has thanked: 676 times
Been thanked: 561 times

Re: Aether Revolt Spoiler Season

Postby Marek14 » 07 Jan 2017, 15:17

Should be like this:
Code: Select all
Name:Warp Artifact
ManaCost:B B
Types:Enchantment Aura
K:Enchant artifact
A:SP$ Attach | Cost$ B B | ValidTgts$ Artifact | AILogic$ Curse
T:Mode$ Phase | Phase$ Upkeep | ValidPlayer$ EnchantedController | TriggerZones$ Battlefield | Execute$ TrigDamage | TriggerDescription$ At the beginning of the upkeep of enchanted artifact's controller, CARDNAME deals 1 damage to that player.
SVar:TrigDamage:AB$DealDamage | Cost$ 0 | Defined$ TriggeredPlayer | NumDmg$ 1
SVar:Picture:http://www.wizards.com/global/images/magic/general/warp_artifact.jpg
Oracle:Enchant artifact\nAt the beginning of the upkeep of enchanted artifact's controller, Warp Artifact deals 1 damage to that player.
EDIT: Could someone take a look at Gonti's Machinations? It triggers on loss of life, but only on first loss of life during each turn. The notes don't explicitly mention it, but I guess that if you lose life and then get Gonti's Machinations, it won't be able to trigger on that turn.

For Exquisite Archangel, does this work?

If Exquisite Archangel is dealt lethal damage at the same time that you’re dealt damage that brings your life total to 0 or less, its effect applies and your life total becomes equal to your starting life total. You choose whether Exquisite Archangel is moved to exile or to your graveyard.
In a game with two players or two teams, if an effect states that an opponent wins the game, Exquisite Archangel’s ability doesn’t apply.
In a multiplayer game that isn’t between two teams, if an effect states that an opponent wins the game, each player other than that opponent loses the game instead, and Exquisite Archangel’s ability does apply.
Marek14
Tester
 
Posts: 2759
Joined: 07 Jun 2008, 07:54
Has thanked: 0 time
Been thanked: 296 times

Re: Aether Revolt Spoiler Season

Postby Agetian » 07 Jan 2017, 15:59

Marek14 wrote:Should be like this:
Code: Select all
Name:Warp Artifact
ManaCost:B B
Types:Enchantment Aura
K:Enchant artifact
A:SP$ Attach | Cost$ B B | ValidTgts$ Artifact | AILogic$ Curse
T:Mode$ Phase | Phase$ Upkeep | ValidPlayer$ EnchantedController | TriggerZones$ Battlefield | Execute$ TrigDamage | TriggerDescription$ At the beginning of the upkeep of enchanted artifact's controller, CARDNAME deals 1 damage to that player.
SVar:TrigDamage:AB$DealDamage | Cost$ 0 | Defined$ TriggeredPlayer | NumDmg$ 1
SVar:Picture:http://www.wizards.com/global/images/magic/general/warp_artifact.jpg
Oracle:Enchant artifact\nAt the beginning of the upkeep of enchanted artifact's controller, Warp Artifact deals 1 damage to that player.
Thanks! :) I think I updated most similar effects in r33022, if you have a minute later, please take a look, I don't want to bork something accidentally :)

- Agetian
Agetian
Programmer
 
Posts: 3471
Joined: 14 Mar 2011, 05:58
Has thanked: 676 times
Been thanked: 561 times

Re: Aether Revolt Spoiler Season

Postby Marek14 » 07 Jan 2017, 16:04

Not sure if I'll find the time, unfortunately... but I'll at least try to continue coding today :)
Marek14
Tester
 
Posts: 2759
Joined: 07 Jun 2008, 07:54
Has thanked: 0 time
Been thanked: 296 times

Re: Aether Revolt Spoiler Season

Postby Agetian » 07 Jan 2017, 16:26

Marek14 wrote:Not sure if I'll find the time, unfortunately... but I'll at least try to continue coding today :)
Okie doke, I'll do some testing then :)

- Agetian
Agetian
Programmer
 
Posts: 3471
Joined: 14 Mar 2011, 05:58
Has thanked: 676 times
Been thanked: 561 times

PreviousNext

Return to Developer's Corner

Who is online

Users browsing this forum: No registered users and 37 guests

cron

Who is online

In total there are 37 users online :: 0 registered, 0 hidden and 37 guests (based on users active over the past 10 minutes)
Most users ever online was 4143 on 23 Jan 2024, 08:21

Users browsing this forum: No registered users and 37 guests

Login Form