AbilityFactory TODO list
Post MTG Forge Related Programming Questions Here
Moderators: timmermac, Blacksmith, KrazyTheFox, Agetian, friarsol, CCGHQ Admins
Re: AbilityFactory TODO list
by jeffwadsworth » 20 May 2011, 16:31
[quote="Sloth"]I've added AbilityFactory_PreventDamage.java. A wiki entry will follow.
Wow, that adds quite a bit of cards to the todo list. Excellent.
Wow, that adds quite a bit of cards to the todo list. Excellent.
- jeffwadsworth
- Super Tester Elite
- Posts: 1172
- Joined: 20 Oct 2010, 04:47
- Location: USA
- Has thanked: 287 times
- Been thanked: 70 times
Re: AbilityFactory TODO list
by SoulStorm » 20 May 2011, 19:59
You rock Sloth! How far are we away from Vigor now?
Re: AbilityFactory TODO list
by Sloth » 20 May 2011, 20:33
Vigor is kind of different, since it is a static ability. The abilities are not so exciting (I thing no card with it saw any constructed play ever). Samite Healer and friends at least were not so terrible in limited.SoulStorm wrote:You rock Sloth! How far are we away from Vigor now?
-
Sloth - Programmer
- Posts: 3498
- Joined: 23 Jun 2009, 19:40
- Has thanked: 125 times
- Been thanked: 507 times
Re: AbilityFactory TODO list
by friarsol » 20 May 2011, 20:44
I almost won a Sealed tournament with Field Surgeon and Festering Wound back in the Urza's Destiny PreRelease
- friarsol
- Global Moderator
- Posts: 7593
- Joined: 15 May 2010, 04:20
- Has thanked: 243 times
- Been thanked: 965 times
Re: AbilityFactory TODO list
by Sloth » 20 May 2011, 21:02
Drafting Urza block must have been quite nice.friarsol wrote:I almost won a Sealed tournament with Field Surgeon and Festering Wound back in the Urza's Destiny PreRelease
Another topic:
How do we represent that the next damage point to a player get prevented?
-
Sloth - Programmer
- Posts: 3498
- Joined: 23 Jun 2009, 19:40
- Has thanked: 125 times
- Been thanked: 507 times
Re: AbilityFactory TODO list
by friarsol » 20 May 2011, 21:20
You mean in the UI right? That is a valid consideration.Sloth wrote:Another topic:
How do we represent that the next damage point to a player get prevented?
I'd say the Ideal way would be if (preventNextDamage > 0) show a shield in the top corner of the LifeTotal with the number of Damage that will be prevented.
Realistically? Hmmm...
- friarsol
- Global Moderator
- Posts: 7593
- Joined: 15 May 2010, 04:20
- Has thanked: 243 times
- Been thanked: 965 times
Re: AbilityFactory TODO list
by friarsol » 22 May 2011, 22:59
I feel like we should pull out Protection from Pump and have it be it's own AF. This way we can have AF$Protection either gain specific things, or have it be a choice that happens on resolution (like Mother of Runes).
This would primarily be to improve the Card Detail description of these cards, but also since Protection's AI should be more similar to Regeneration, where it's reactionary. Protection could also be used as a form of Pseudo-Evasion, and instead of bloating Pump with that, we could just pull all of that out into it's own AF.
Here's some relevant examples:
For Questing Phelddagrif
AB$Protection | Types$ red,black
For Mother of Runes
AB$Protection | Choice$ white,blue,green,red,black
For Pale Wayfarer
AB$Protection | Choice$ white,blue,green,red,black | Chooser$ Controller
For Apostle's Blessing
AB$Protection | Choice$ artifacts,white,blue,green,red,black
I think there's only like 15 Cards with ProtectionAll and we only have a few of them already scripted.
This would primarily be to improve the Card Detail description of these cards, but also since Protection's AI should be more similar to Regeneration, where it's reactionary. Protection could also be used as a form of Pseudo-Evasion, and instead of bloating Pump with that, we could just pull all of that out into it's own AF.
Here's some relevant examples:
For Questing Phelddagrif
AB$Protection | Types$ red,black
For Mother of Runes
AB$Protection | Choice$ white,blue,green,red,black
For Pale Wayfarer
AB$Protection | Choice$ white,blue,green,red,black | Chooser$ Controller
For Apostle's Blessing
AB$Protection | Choice$ artifacts,white,blue,green,red,black
I think there's only like 15 Cards with ProtectionAll and we only have a few of them already scripted.
- friarsol
- Global Moderator
- Posts: 7593
- Joined: 15 May 2010, 04:20
- Has thanked: 243 times
- Been thanked: 965 times
Re: AbilityFactory TODO list
by friarsol » 30 May 2011, 21:38
I keep thinking I can convert Hermit Druid or similar cards to Dig. It's fairly similar, but might be different enough to warrant it's own cousin AF. Mind Funeral would also fit into this category.
Now that I've thought about it for a few minutes I think a AF_RevealUntil would definitely be better as a separate AF. It seems like that is used for many different circumstances.
Now that I've thought about it for a few minutes I think a AF_RevealUntil would definitely be better as a separate AF. It seems like that is used for many different circumstances.
- friarsol
- Global Moderator
- Posts: 7593
- Joined: 15 May 2010, 04:20
- Has thanked: 243 times
- Been thanked: 965 times
Re: AbilityFactory TODO list
by slapshot5 » 06 Jun 2011, 13:18
Hi Rob, how do you see this working? Something like:Rob Cashwalker wrote:Something else to consider before going crazy adding new mechanics:
Charms and Commands
A Charm AF would wrap around three sub abilities, checking each AI, then chooses one from the positive returns, albeit randomly....
- Code: Select all
A:SP$Charm | Cost$ 1 U | SA1$ Untap | SA2$ Damage | SA3$ GainLife | SpellDescription$ Choose one - Untap target permanent; CARDNAME deals 2 damage to target player; or you gain 3 life.
SVar:Untap:DB$Untap | ValidTgts$ Permanent
SVar:Damage:DB$DealDamage | NumDmg$ 2 | Tgt$ TgtP
SVar:GainLife:DB$GainLife | LifeAmount$ 3 | Defined$ You
-slapshot5
Edit: And a "ChooseNum$ 2" type param for the Commands?
- slapshot5
- Programmer
- Posts: 1391
- Joined: 03 Jan 2010, 17:47
- Location: Mac OS X
- Has thanked: 25 times
- Been thanked: 68 times
Re: AbilityFactory TODO list
by friarsol » 06 Jun 2011, 13:44
I would think more like this, since this allows for better scaling.slapshot5 wrote:Hi Rob, how do you see this working? Something like:Rob Cashwalker wrote:Something else to consider before going crazy adding new mechanics:
Charms and Commands
A Charm AF would wrap around three sub abilities, checking each AI, then chooses one from the positive returns, albeit randomly....I'm interested in getting this implemented.
- Code: Select all
A:SP$Charm | Cost$ 1 U | SA1$ Untap | SA2$ Damage | SA3$ GainLife | SpellDescription$ Choose one - Untap target permanent; CARDNAME deals 2 damage to target player; or you gain 3 life.
SVar:Untap:DB$Untap | ValidTgts$ Permanent
SVar:Damage:DB$DealDamage | NumDmg$ 2 | Tgt$ TgtP
SVar:GainLife:DB$GainLife | LifeAmount$ 3 | Defined$ You
-slapshot5
Edit: And a "ChooseNum$ 2" type param for the Commands?
- Code: Select all
A:SP$Charm | Cost$ 1 U | Choices$ Untap,Damage,GainLife | ChooseNum$ 1 | SpellDescription$ Choose one - Untap target permanent;
If we ever switch over to a "ShouldPlayAI()" that rates SAs, then we could choose from the list the highest rated one(s).
- friarsol
- Global Moderator
- Posts: 7593
- Joined: 15 May 2010, 04:20
- Has thanked: 243 times
- Been thanked: 965 times
Re: AbilityFactory TODO list
by Sloth » 06 Jun 2011, 15:03
While you are working on it you can take a look at the Clash AF. It's very similar I guess. It has problems with targeted DB's though (Springjack Knight and Pulling Teeth are not working at the moment).slapshot5 wrote:Hi Rob, how do you see this working? Something like:I'm interested in getting this implemented.
- Code: Select all
A:SP$Charm | Cost$ 1 U | SA1$ Untap | SA2$ Damage | SA3$ GainLife | SpellDescription$ Choose one - Untap target permanent; CARDNAME deals 2 damage to target player; or you gain 3 life.
SVar:Untap:DB$Untap | ValidTgts$ Permanent
SVar:Damage:DB$DealDamage | NumDmg$ 2 | Tgt$ TgtP
SVar:GainLife:DB$GainLife | LifeAmount$ 3 | Defined$ You
-
Sloth - Programmer
- Posts: 3498
- Joined: 23 Jun 2009, 19:40
- Has thanked: 125 times
- Been thanked: 507 times
Re: AbilityFactory TODO list
by Rob Cashwalker » 06 Jun 2011, 15:28
I would go along with Sol's version.
The Force will be with you, Always.
-
Rob Cashwalker - Programmer
- Posts: 2167
- Joined: 09 Sep 2008, 15:09
- Location: New York
- Has thanked: 5 times
- Been thanked: 40 times
Re: AbilityFactory TODO list
by slapshot5 » 06 Jun 2011, 17:07
Indeed, Sol's version is better.
Does anyone know where the choosing would happen? It happens before targets are selected obviously, but I don't know the targeting system well enough to know what happens between select the card in hand and choosing targets.
Any insight would be helpful.
-slapshot5
Does anyone know where the choosing would happen? It happens before targets are selected obviously, but I don't know the targeting system well enough to know what happens between select the card in hand and choosing targets.
Any insight would be helpful.
-slapshot5
- slapshot5
- Programmer
- Posts: 1391
- Joined: 03 Jan 2010, 17:47
- Location: Mac OS X
- Has thanked: 25 times
- Been thanked: 68 times
Re: AbilityFactory TODO list
by friarsol » 06 Jun 2011, 17:25
Hmmm.. SpellAbility_Requirements is what you are looking for. You can see the creation and call to that in playSpellAbility()slapshot5 wrote:Indeed, Sol's version is better.
Does anyone know where the choosing would happen? It happens before targets are selected obviously, but I don't know the targeting system well enough to know what happens between select the card in hand and choosing targets.
Any insight would be helpful.
- friarsol
- Global Moderator
- Posts: 7593
- Joined: 15 May 2010, 04:20
- Has thanked: 243 times
- Been thanked: 965 times
Re: AbilityFactory TODO list
by slapshot5 » 08 Jun 2011, 00:48
Added an AF for RegenerateAll (converted Loxodon Hierarch and Wrap in Vigor ; add Wail of the Nim).
-slapshot5
-slapshot5
- slapshot5
- Programmer
- Posts: 1391
- Joined: 03 Jan 2010, 17:47
- Location: Mac OS X
- Has thanked: 25 times
- Been thanked: 68 times
Who is online
Users browsing this forum: No registered users and 25 guests