It is currently 13 Aug 2025, 19:41
   
Text Size

AbilityFactory TODO list

Post MTG Forge Related Programming Questions Here

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

Re: AbilityFactory TODO list

Postby 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.
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

Postby SoulStorm » 20 May 2011, 19:59

You rock Sloth! How far are we away from Vigor now?
SoulStorm
 
Posts: 423
Joined: 24 Jun 2010, 22:48
Has thanked: 16 times
Been thanked: 11 times

Re: AbilityFactory TODO list

Postby Sloth » 20 May 2011, 20:33

SoulStorm wrote:You rock Sloth! How far are we away from Vigor now?
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.
User avatar
Sloth
Programmer
 
Posts: 3498
Joined: 23 Jun 2009, 19:40
Has thanked: 125 times
Been thanked: 507 times

Re: AbilityFactory TODO list

Postby 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

Postby Sloth » 20 May 2011, 21:02

friarsol wrote:I almost won a Sealed tournament with Field Surgeon and Festering Wound back in the Urza's Destiny PreRelease
Drafting Urza block must have been quite nice.

Another topic:
How do we represent that the next damage point to a player get prevented?
User avatar
Sloth
Programmer
 
Posts: 3498
Joined: 23 Jun 2009, 19:40
Has thanked: 125 times
Been thanked: 507 times

Re: AbilityFactory TODO list

Postby friarsol » 20 May 2011, 21:20

Sloth wrote:Another topic:
How do we represent that the next damage point to a player get prevented?
You mean in the UI right? That is a valid consideration.

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

Postby 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.
friarsol
Global Moderator
 
Posts: 7593
Joined: 15 May 2010, 04:20
Has thanked: 243 times
Been thanked: 965 times

Re: AbilityFactory TODO list

Postby 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.
friarsol
Global Moderator
 
Posts: 7593
Joined: 15 May 2010, 04:20
Has thanked: 243 times
Been thanked: 965 times

Re: AbilityFactory TODO list

Postby slapshot5 » 06 Jun 2011, 13:18

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....
Hi Rob, how do you see this working? Something like:

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
I'm interested in getting this implemented.

-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

Postby friarsol » 06 Jun 2011, 13:44

slapshot5 wrote:
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....
Hi Rob, how do you see this working? Something like:

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
I'm interested in getting this implemented.

-slapshot5

Edit: And a "ChooseNum$ 2" type param for the Commands?
I would think more like this, since this allows for better scaling.

Code: Select all
A:SP$Charm | Cost$ 1 U | Choices$ Untap,Damage,GainLife | ChooseNum$ 1 | SpellDescription$ Choose one - Untap target permanent;
(or whatever delimiter you want to use)

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

Postby Sloth » 06 Jun 2011, 15:03

slapshot5 wrote:Hi Rob, how do you see this working? Something like:

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
I'm interested in getting this implemented.
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).
User avatar
Sloth
Programmer
 
Posts: 3498
Joined: 23 Jun 2009, 19:40
Has thanked: 125 times
Been thanked: 507 times

Re: AbilityFactory TODO list

Postby Rob Cashwalker » 06 Jun 2011, 15:28

I would go along with Sol's version.
The Force will be with you, Always.
User avatar
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

Postby 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
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

Postby friarsol » 06 Jun 2011, 17:25

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.
Hmmm.. SpellAbility_Requirements is what you are looking for. You can see the creation and call to that in playSpellAbility()
friarsol
Global Moderator
 
Posts: 7593
Joined: 15 May 2010, 04:20
Has thanked: 243 times
Been thanked: 965 times

Re: AbilityFactory TODO list

Postby 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
Programmer
 
Posts: 1391
Joined: 03 Jan 2010, 17:47
Location: Mac OS X
Has thanked: 25 times
Been thanked: 68 times

PreviousNext

Return to Developer's Corner

Who is online

Users browsing this forum: No registered users and 25 guests

Main Menu

User Menu

Our Partners


Who is online

In total there are 25 users online :: 0 registered, 0 hidden and 25 guests (based on users active over the past 10 minutes)
Most users ever online was 7303 on 15 Jul 2025, 20:46

Users browsing this forum: No registered users and 25 guests

Login Form