It is currently 09 Jun 2025, 13:29
   
Text Size

Card Development Questions

Post MTG Forge Related Programming Questions Here

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

Re: Card Development Questions

Postby friarsol » 17 May 2011, 03:33

Speaking of Gideon (who probably needs some more work before being ready), anyone interested in converting existing Planeswalkers into AFs?

Doable (I think):
Elspeth, Knight-Errant (Ultimate similar to Falter)
Ajani Goldmane
Jace, the Mind Sculptor
Koth of the Hammer
Venser, the Sojourner

Not sure:
Chandra Nalaar (I'm not sure if the Ultimate is doable yet. We would need a .TargetedCtrls or something?)
Ajani Vengeant (Ultimate: Does Destroy All check targeting?)
Tezzeret the Seeker (Ultimate: DO we have Animate All?)
Sarkhan the Mad (Not sure about the Bob ability; I think DamageAll doesn't really support DamageSource)

Related, I think it would be good if we added a "PlaneswalkerUltimate" parameter that would have a much greater chance of being played (as long as there was an appropriate target) so the AI is a bit more aggressive at using Ultimate Abilities.

Also related, for Koth's ability it's useless from an AIs perspective if more than one is in play. So maybe Effect can add a parameter called "Stackable" so the AI will check to see if that same Effect is already in play (under the AIs control) before activating this same Effect. By default, Stackable would be true. But for the few where the Effect doesn't stack, we can make sure the AI doesn't waste an activation.
friarsol
Global Moderator
 
Posts: 7593
Joined: 15 May 2010, 04:20
Has thanked: 243 times
Been thanked: 965 times

Re: Card Development Questions

Postby Sloth » 17 May 2011, 05:34

friarsol wrote:Related, I think it would be good if we added a "PlaneswalkerUltimate" parameter that would have a much greater chance of being played (as long as there was an appropriate target) so the AI is a bit more aggressive at using Ultimate Abilities.
This should be easy and is really importand, since the AI of the already converted Planeswalker became a lot worse.
User avatar
Sloth
Programmer
 
Posts: 3498
Joined: 23 Jun 2009, 19:40
Has thanked: 125 times
Been thanked: 507 times

Re: Card Development Questions

Postby SoulStorm » 17 May 2011, 20:05

Can Plague Sliver be coded yet? We have Juzam Djinn, but I don't know how to give a phase trigger to all Slivers. I also thought about using SVar:DBDamageYou:DB$DealDamage with Activating Phases$ Upkeep, but upon examining the variables it seems like it would either cause a lot of problems or not work at all. Any thoughts?
SoulStorm
 
Posts: 423
Joined: 24 Jun 2010, 22:48
Has thanked: 16 times
Been thanked: 11 times

Re: Card Development Questions

Postby Sloth » 17 May 2011, 20:23

SoulStorm wrote:Can Plague Sliver be coded yet? We have Juzam Djinn, but I don't know how to give a phase trigger to all Slivers. I also thought about using SVar:DBDamageYou:DB$DealDamage with Activating Phases$ Upkeep, but upon examining the variables it seems like it would either cause a lot of problems or not work at all. Any thoughts?
It's not possible to do it really correctly yet and the two slivers you've added aren't either. Dormant Sliver could be made functional though by adding TriggeredCardController as Defined$.
User avatar
Sloth
Programmer
 
Posts: 3498
Joined: 23 Jun 2009, 19:40
Has thanked: 125 times
Been thanked: 507 times

Re: Card Development Questions

Postby SoulStorm » 17 May 2011, 20:35

yeah, I noticed Dormant Sliver was wrong a few minutes ago. I didn't see TriggeredCardController in the Wiki, thank you for letting me know there was a fix.

I'm assuming there isn't a fix for Harmonic Sliver? I'd remove it but I don't know how.
SoulStorm
 
Posts: 423
Joined: 24 Jun 2010, 22:48
Has thanked: 16 times
Been thanked: 11 times

Re: Card Development Questions

Postby Chris H. » 17 May 2011, 20:41

SoulStorm wrote:I'm assuming there isn't a fix for Harmonic Sliver? I'd remove it but I don't know how.
`
Go to the Project Explorer and open the cardsfolder. Select and highlight the card file in question. The Edit -> Delete command will then remove this card file.

You can also get to the Delete command with a right click.
User avatar
Chris H.
Forge Moderator
 
Posts: 6320
Joined: 04 Nov 2008, 12:11
Location: Mac OS X Yosemite
Has thanked: 644 times
Been thanked: 643 times

Re: Card Development Questions

Postby SoulStorm » 17 May 2011, 21:32

Ok, now I have a little - sign next to Harmonic Sliver in my Eclipse Forge SVN res/cards folder. Do I commit the - Harmonic Sliver to delete the file from the SVN?
SoulStorm
 
Posts: 423
Joined: 24 Jun 2010, 22:48
Has thanked: 16 times
Been thanked: 11 times

Re: Card Development Questions

Postby Chris H. » 17 May 2011, 23:49

SoulStorm wrote:Ok, now I have a little - sign next to Harmonic Sliver in my Eclipse Forge SVN res/cards folder. Do I commit the - Harmonic Sliver to delete the file from the SVN?
`
Yes, that should do the trick.

There is also another way to do this. Using your OS you can navigate to the cardsfolder, find the card file and use your OS to then delete the Harmonic Sliver file. After this from within Eclipse you would then Refresh your local copy and this file should then also show the icon with the minus sign.

Do a commit and the google SVN will delete this file from its copy of the project.
User avatar
Chris H.
Forge Moderator
 
Posts: 6320
Joined: 04 Nov 2008, 12:11
Location: Mac OS X Yosemite
Has thanked: 644 times
Been thanked: 643 times

Re: Card Development Questions

Postby SoulStorm » 18 May 2011, 01:44

Thanks Chris. See, if I hadn't screwed up the sliver, I wouldn't have learned something new today.
SoulStorm
 
Posts: 423
Joined: 24 Jun 2010, 22:48
Has thanked: 16 times
Been thanked: 11 times

Re: Card Development Questions

Postby Chris H. » 18 May 2011, 01:46

SoulStorm wrote:Thanks Chris. See, if I hadn't screwed up the sliver, I wouldn't have learned something new today.
`
Necessity is the mother of invention. :wink:
User avatar
Chris H.
Forge Moderator
 
Posts: 6320
Joined: 04 Nov 2008, 12:11
Location: Mac OS X Yosemite
Has thanked: 644 times
Been thanked: 643 times

Re: Card Development Questions

Postby SoulStorm » 18 May 2011, 01:55

Yeah, but I've always wondered who the father was.
SoulStorm
 
Posts: 423
Joined: 24 Jun 2010, 22:48
Has thanked: 16 times
Been thanked: 11 times

Re: Card Development Questions

Postby friarsol » 18 May 2011, 03:00

SoulStorm wrote:Yeah, but I've always wondered who the father was.
| Open
Darth Vader
friarsol
Global Moderator
 
Posts: 7593
Joined: 15 May 2010, 04:20
Has thanked: 243 times
Been thanked: 965 times

Re: Card Development Questions

Postby SoulStorm » 18 May 2011, 03:05

Damn, that dude gets around. I know there's a lightsaber joke in there somewhere.
SoulStorm
 
Posts: 423
Joined: 24 Jun 2010, 22:48
Has thanked: 16 times
Been thanked: 11 times

Re: Card Development Questions

Postby SoulStorm » 18 May 2011, 22:29

: Deathbringer Liege

I should start out by stating that I don't expect to be able to make this card playable, but I do have some questions that resulted from the attempt.

My first attempt to code the card looked like this:

Code: Select all
Name:Deathbringer Liege
ManaCost:2 WB WB WB
Types:Creature Horror
Text:no text
PT:3/4
K:stPumpAll:Creature.White+Other+YouCtrl:1/1:No Condition:Other white creatures you control get +1/+1.
K:stPumpAll:Creature.Black+Other+YouCtrl:1/1:No Condition:Other black creatures you control get +1/+1.
T:Mode$ SpellCast | ValidCard$ Card.White+YouCtrl | Execute$ TrigTap | OptionalDecider$ You | TriggerZones$ Battlefield | TriggerDescription$ Whenever you cast a white spell, you may tap target creature.
T:Mode$ SpellCast | ValidCard$ Card.Black+YouCtrl | Execute$ TrigDestroy | OptionalDecider$ You | TriggerZones$ Battlefield | TriggerDescription$ Whenever you cast a black spell, you may destroy target creature if it's tapped.
SVar:TrigTap:AB$Tap | Cost$ 0 | ValidTgts$ Creature | TgtPrompt$ Select target creature
SVar:TrigDestroy:AB$Destroy | Cost$ 0 | ValidTgts$ Creature.tapped | TgtPrompt$ Select target tapped creature
SVar:PlayMain1:TRUE
SVar:RemRandomDeck:True
SVar:Rarity:Rare
SVar:Picture:http://www.wizards.com/global/images/magic/general/deathbringer_liege.jpg
End
When I tried this, the stack didn't resolve correctly. I played around with a few variations, but still no luck. I'm assuming this is due to the "multi-targetting" problem that is currently being worked on.

So then I thought about using a delayed trigger for the death effect that would resolve in the Begin Combat phase. This would allow the tap effect to resolve first. Not exactly rules compliant, but It would be very close. However, when I tried this, the tap effect stopped working.

Any ideas on why the tap effect stopped working?

Just to see what would happen, I came up with this:

Code: Select all
Name:Deathbringer Liege
ManaCost:2 WB WB WB
Types:Creature Horror
Text:no text
PT:3/4
K:stPumpAll:Creature.White+Other+YouCtrl:1/1:No Condition:Other white creatures you control get +1/+1.
K:stPumpAll:Creature.Black+Other+YouCtrl:1/1:No Condition:Other black creatures you control get +1/+1.
T:Mode$ SpellCast | ValidCard$ Card.White+YouCtrl | OptionalDecider$ TriggeredCardController | TriggerZones$ Battlefield | DelayedTrigger$ DelTrigWhite | TriggerDescription$ Whenever you cast a white spell, you may tap target creature.
T:Mode$ SpellCast | ValidCard$ Card.Black+YouCtrl | Secondary$ True | OptionalDecider$ TriggeredCardController | TriggerZones$ Battlefield | DelayedTrigger$ DelTrigBlack | TriggerDescription$ Whenever you cast a black spell, you may destroy target creature if it's tapped.
SVar:DelTrigWhite:Mode$ Phase | Phase$ BeginCombat | ValidPlayer$ Each | Execute$ TrigTap | TriggerDescription$ Whenever you cast a white spell, you may tap target creature.
SVar:DelTrigBlack:Mode$ Phase | Phase$ EndCombat | ValidPlayer$ Each | Execute$ TrigDestroy | TriggerDescription$ Whenever you cast a black spell, you may destroy target creature if it's tapped.
SVar:TrigTap:AB$Tap | Cost$ 0 | ValidTgts$ Creature | TgtPrompt$ Select target creature
SVar:TrigDestroy:AB$Destroy | Cost$ 0 | ValidTgts$ Creature.tapped | TgtPrompt$ Select target tapped creature
SVar:PlayMain1:TRUE
SVar:RemRandomDeck:True
SVar:Rarity:Rare
SVar:Picture:http://www.wizards.com/global/images/magic/general/deathbringer_liege.jpg
End
Now the card will tap a creature in the Begin Combat Phase, and kill the creature in the End Combat Phase. This isn't correct, but maybe it could be added to the "half-implemented" card list. However, for some reason, the tap and destroy effects don't work for the AI. Can that problem be fixed?
SoulStorm
 
Posts: 423
Joined: 24 Jun 2010, 22:48
Has thanked: 16 times
Been thanked: 11 times

Re: Card Development Questions

Postby jeffwadsworth » 19 May 2011, 17:02

SoulStorm...you can imagine my bewilderment when I checked your card script on the bottom first. Hehe. This type of hack would never be allowed. We might as well wait until the multi-targeting is fixed.
jeffwadsworth
Super Tester Elite
 
Posts: 1172
Joined: 20 Oct 2010, 04:47
Location: USA
Has thanked: 287 times
Been thanked: 70 times

PreviousNext

Return to Developer's Corner

Who is online

Users browsing this forum: No registered users and 17 guests


Who is online

In total there are 17 users online :: 0 registered, 0 hidden and 17 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 17 guests

Login Form