Page 49 of 85

Re: Card Contributions

PostPosted: 29 Jan 2012, 19:25
by Sloth
ArsenalNut wrote:Looking at Demonmail Huaberk. Since eqPump doesn't support non mana cost, are there any problems implementing like this instead?
Demonmail Hauberk | Open
Name:Demonmail Hauberk
ManaCost:4
Types:Artifact Equipment
Text:no text
A:AB$ Attach | Cost$ Sac<1/Creature> | ValidTgts$ Creature.YouCtrl | TgtPrompt$ Select targe creature you control | SorcerySpeed$ True | PrecostDesc$ Equip - | SpellDescription$ Attach CARDNAME to target creature you control.
S:Mode$ Continuous | Affected$ Card.EquippedBy | AddPower$ 4 | AddToughness$ 2 | Description$ Equipped creature gets +4/+2.
SVar:Rarity:Uncommon
SVar:Picture:http://www.wizards.com/global/images/magic/general/demonmail_hauberk.jpg
End
I think a script like this should be the future of all equipments.

Re: Card Contributions

PostPosted: 29 Jan 2012, 19:52
by friarsol
I believe that's the idea. Here are some cards that interact with Equip abilities:

Bludgeon Brawl
Leonin Shikari
Puresteel Paladin

Re: Card Contributions

PostPosted: 29 Jan 2012, 20:47
by jeffwadsworth
friarsol wrote:I believe that's the idea. Here are some cards that interact with Equip abilities:

Bludgeon Brawl
Leonin Shikari
Puresteel Paladin
Puresteel Paladin using Arsenal's tech.

| Open
Name:Puresteel Paladin
ManaCost:W W
Types:Creature Human Knight
Text:no text
PT:2/2
T:Mode$ ChangesZone | ValidCard$ Equipment.YouCtrl | Origin$ Any | Destination$ Battlefield | Execute$ TrigDraw | TriggerZones$ Battlefield | OptionalDecider$ You | TriggerDescription$ Whenever an Equipment enters the battlefield under your control, you may draw a card.
SVar:TrigDraw:AB$ Draw | Cost$ 0 | NumCards$ 1
S:Mode$ Continuous | Affected$ Equipment.YouCtrl | AddAbility$ ABAttach | MetalCraft$ True | Description$ Metalcraft — Equipment you control have equip 0 as long as you control three or more artifacts.
SVar:ABAttach:AB$ Attach | Cost$ 0 | ValidTgts$ Creature.YouCtrl | TgtPrompt$ Select targe creature you control | SorcerySpeed$ True | PrecostDesc$ Equip - | SpellDescription$ Attach CARDNAME to target creature you control.
SVar:Rarity:Rare
SVar:Picture:http://www.wizards.com/global/images/magic/general/puresteel_palandin.jpg
End


Anyone see a problem? Of course, it leaves the current attachment code on there.

Re: Card Contributions

PostPosted: 29 Jan 2012, 21:08
by Sloth
friarsol wrote:I believe that's the idea. Here are some cards that interact with Equip abilities:

Bludgeon Brawl
Leonin Shikari
Puresteel Paladin
For Leonin Shikari we would need a flag for equip abilities (simply "Equip$ True").

jeffwadsworth wrote:Puresteel Paladin using Arsenal's tech.

| Open
Name:Puresteel Paladin
ManaCost:W W
Types:Creature Human Knight
Text:no text
PT:2/2
T:Mode$ ChangesZone | ValidCard$ Equipment.YouCtrl | Origin$ Any | Destination$ Battlefield | Execute$ TrigDraw | TriggerZones$ Battlefield | OptionalDecider$ You | TriggerDescription$ Whenever an Equipment enters the battlefield under your control, you may draw a card.
SVar:TrigDraw:AB$ Draw | Cost$ 0 | NumCards$ 1
S:Mode$ Continuous | Affected$ Equipment.YouCtrl | AddAbility$ ABAttach | MetalCraft$ True | Description$ Metalcraft — Equipment you control have equip 0 as long as you control three or more artifacts.
SVar:ABAttach:AB$ Attach | Cost$ 0 | ValidTgts$ Creature.YouCtrl | TgtPrompt$ Select targe creature you control | SorcerySpeed$ True | PrecostDesc$ Equip - | SpellDescription$ Attach CARDNAME to target creature you control.
SVar:Rarity:Rare
SVar:Picture:http://www.wizards.com/global/images/magic/general/puresteel_palandin.jpg
End


Anyone see a problem?
Looks good. AbilityFactories are sweet indeed.

Re: Card Contributions

PostPosted: 29 Jan 2012, 21:20
by jeffwadsworth
So, say we have Warlord's Axe. Current script:

| Open
Name:Warlord's Axe
ManaCost:3
Types:Artifact Equipment
Text:Equipped creature gets +3/+1.
K:eqPump 4:+3/+1
SVar:Rarity:Uncommon
SVar:Picture:http://www.wizards.com/global/images/magic/general/warlords_axe.jpg
SetInfo:M11|Uncommon|http://magiccards.info/scans/en/m11/220.jpg
Oracle:Equipped creature gets +3/+1.\nEquip {4} ({4}: Attach to target creature you control. Equip only as a sorcery.)
End


Should we change all equipment to:

| Open
Name:Warlord's Axe
ManaCost:3
Types:Artifact Equipment
Text:no text
A:AB$ Attach | Cost$ 4 | ValidTgts$ Creature.YouCtrl | TgtPrompt$ Select targe creature you control | SorcerySpeed$ True | PrecostDesc$ Equip - | SpellDescription$ Equipped creature gets +3/+1.
S:Mode$ Continuous | Affected$ Card.EquippedBy | AddPower$ 3 | AddToughness$ 1 | Description$ Equipped creature gets +3/+1.
SVar:Rarity:Uncommon
SVar:Picture:http://www.wizards.com/global/images/magic/general/warlords_axe.jpg
SetInfo:M11|Uncommon|http://magiccards.info/scans/en/m11/220.jpg
Oracle:Equipped creature gets +3/+1.\nEquip {4} ({4}: Attach to target creature you control. Equip only as a sorcery.)
End

Re: Card Contributions

PostPosted: 29 Jan 2012, 21:25
by slapshot5
Either that, or add code for AB$Equip that handles the SorcerySpeed and targeting restrictions and PrecostDesc for you. That's kind of what I had been thinking. I don't think it'd be any different functionally from what you have there, but the AI could be handled different for a vanilla Equip this way (but, maybe that's not necessary).

-slapshot5

Re: Card Contributions

PostPosted: 02 Feb 2012, 21:21
by jeffwadsworth
So has any consensus been reached on this "conversion" idea or does Slapshot's other idea work better?

Re: Card Contributions

PostPosted: 03 Feb 2012, 14:22
by ArsenalNut
jeffwadsworth wrote:So has any consensus been reached on this "conversion" idea or does Slapshot's other idea work better?
My concern is the use of Static effects for the equipment bonuses to the equipped creature. I know these are constantly called to update the status. I haven't looked at how eqPump works to know if it is more efficient in applying the bonuses.

Otherwise, if the eqPump is going to be phase out, I would vote for making an Equip AF like Slapshot suggested so it eliminates the possible user errors of forgetting the sorcery speed or getting the targeting wrong in scripts.

Re: Card Contributions

PostPosted: 03 Feb 2012, 14:46
by friarsol
I don't think there should be any concern with using Static Abilities this way. It's the only way to handle layering properly. eqPump is decidedly less efficient in applying bonuses, and has many other limitations besides.

I don't think we need a whole new AF for Equipment, it should just use the same code-base already started for Attaching things (centralized AI is a good thing). We should try to come up with the best way to simplify timing/targeting restrictions for Equip abilities however.

Re: Card Contributions

PostPosted: 03 Feb 2012, 16:29
by ArsenalNut
friarsol wrote:I don't think there should be any concern with using Static Abilities this way. It's the only way to handle layering properly. eqPump is decidedly less efficient in applying bonuses, and has many other limitations besides.

I don't think we need a whole new AF for Equipment, it should just use the same code-base already started for Attaching things (centralized AI is a good thing). We should try to come up with the best way to simplify timing/targeting restrictions for Equip abilities however.
I was thinking the script line for the equip ability should look something like
Code: Select all
A:AB$ Equip | Cost$ <cost> | SpellDescription$ (Attach to target creature you control. Equip only as a sorcery.)
Ultimately this could point back to the current Attach AF with sorcery speed, targets as Creature.YouCtrl, and the cost description automatically setup.

Re: Card Contributions

PostPosted: 06 Feb 2012, 14:45
by ArsenalNut
Jace's Archivist | Open
Name:Jace's Archivist
ManaCost:1 U U
Types:Creature Vedalken Wizard
Text:no text
PT:2/2
A:AB$ Discard | Cost$ U T | Defined$ You | CheckSVar$ HandSize | SVarCompare$ GE1 | Mode$ Hand | SubAbility$ DBOppDiscard1 | SpellDescription$ Each player discards his or her hand, then draws cards equal to the greatest number of cards a player discarded this way.
A:AB$ Discard | Cost$ U T | Defined$ You | CheckSVar$ HandSize | SVarCompare$ LT1 | RememberDiscarded$ True | Mode$ Hand | SubAbility$ DBOppDiscard2
SVar:DBOppDiscard1:DB$ Discard | Cost$ U T | Defined$ Opponent | RememberDiscarded$ True | Mode$ Hand | SubAbility$ DBDraw
SVar:DBOppDiscard2:DB$ Discard | Cost$ U T | Defined$ Opponent | Mode$ Hand | SubAbility$ DBDraw
SVar:DBDraw:DB$ Draw | Defined$ You | NumCards$ X | SubAbility$ DBOppDraw
SVar:DBOppDraw:DB$ Draw | Defined$ Opponent | NumCards$ X | SubAbility$ DBCleanup
SVar:DBCleanup:DB$ Cleanup | ClearRemembered$ True
SVar:X:Remembered$Amount
SVar:Y:Count$CardsInYourHand
SVar:HandSize:Count$CardsInOppHand/Minus.Y
SVar:Rarity:Rare
SVar:Picture:http://www.wizards.com/global/images/magic/general/jaces_archivist.jpg
End

Anybody see an issue with implementing Jace's Archivist like this?

Re: Card Contributions

PostPosted: 06 Feb 2012, 14:55
by Sloth
ArsenalNut wrote:
Jace's Archivist | Open
Name:Jace's Archivist
ManaCost:1 U U
Types:Creature Vedalken Wizard
Text:no text
PT:2/2
A:AB$ Discard | Cost$ U T | Defined$ You | CheckSVar$ HandSize | SVarCompare$ GE1 | Mode$ Hand | SubAbility$ DBOppDiscard1 | SpellDescription$ Each player discards his or her hand, then draws cards equal to the greatest number of cards a player discarded this way.
A:AB$ Discard | Cost$ U T | Defined$ You | CheckSVar$ HandSize | SVarCompare$ LT1 | RememberDiscarded$ True | Mode$ Hand | SubAbility$ DBOppDiscard2
SVar:DBOppDiscard1:DB$ Discard | Cost$ U T | Defined$ Opponent | RememberDiscarded$ True | Mode$ Hand | SubAbility$ DBDraw
SVar:DBOppDiscard2:DB$ Discard | Cost$ U T | Defined$ Opponent | Mode$ Hand | SubAbility$ DBDraw
SVar:DBDraw:DB$ Draw | Defined$ You | NumCards$ X | SubAbility$ DBOppDraw
SVar:DBOppDraw:DB$ Draw | Defined$ Opponent | NumCards$ X | SubAbility$ DBCleanup
SVar:DBCleanup:DB$ Cleanup | ClearRemembered$ True
SVar:X:Remembered$Amount
SVar:Y:Count$CardsInYourHand
SVar:HandSize:Count$CardsInOppHand/Minus.Y
SVar:Rarity:Rare
SVar:Picture:http://www.wizards.com/global/images/magic/general/jaces_archivist.jpg
End

Anybody see an issue with implementing Jace's Archivist like this?
If the hand size of the player with the most cards in his hand changes to be less than the hand of the other while this ability is on the stack, it miscalculates.

EDIT: Maybe it works with a condition.

Re: Card Contributions

PostPosted: 06 Feb 2012, 15:31
by ArsenalNut
Glint Hawk | Open
Name:Glint Hawk
ManaCost:W
Types:Creature Bird
Text:no text
PT:2/2
K:Flying
T:Mode$ ChangesZone | Origin$ Any | Destination$ Battlefield | ValidCard$ Card.Self | Execute$ TrigChangeZone | TriggerDescription$ When CARDNAME enters the battlefield, sacrifice it unless you return an artifact you control to its owner's hand.
SVar:TrigChangeZone:AB$ ChangeZone | Cost$ 0 | Origin$ Battlefield | Destination$ Hand | Hidden$ True | ChangeType$ Artifact.YouCtrl | RememberChanged$ True | SubAbility$ DBSac
SVar:DBSac:DB$ Sacrifice | Cost$ 0 | Defined$ Self | SubAbility$ DBCleanup | ConditionCheckSVar$ X | ConditionSVarCompare$ LT1
SVar:DBCleanup:DB$ Cleanup | ClearRemembered$ True
SVar:X:Remembered$Amount
SVar:RemAIDeck:True
SVar:Rarity:Common
SVar:Picture:http://www.wizards.com/global/images/magic/general/glint_hawk.jpg
SetInfo:SOM|Common|http://magiccards.info/scans/en/som/10.jpg
Oracle:Flying\nWhen Glint Hawk enters the battlefield, sacrifice it unless you return an artifact you control to its owner's hand.
End

Any problem using this script to replace the hard coded ETB trigger that doesn't work for the computer?

Re: Card Contributions

PostPosted: 06 Feb 2012, 16:25
by friarsol
Sloth wrote:
ArsenalNut wrote:
Jace's Archivist | Open
Name:Jace's Archivist
ManaCost:1 U U
Types:Creature Vedalken Wizard
Text:no text
PT:2/2
A:AB$ Discard | Cost$ U T | Defined$ You | CheckSVar$ HandSize | SVarCompare$ GE1 | Mode$ Hand | SubAbility$ DBOppDiscard1 | SpellDescription$ Each player discards his or her hand, then draws cards equal to the greatest number of cards a player discarded this way.
A:AB$ Discard | Cost$ U T | Defined$ You | CheckSVar$ HandSize | SVarCompare$ LT1 | RememberDiscarded$ True | Mode$ Hand | SubAbility$ DBOppDiscard2
SVar:DBOppDiscard1:DB$ Discard | Cost$ U T | Defined$ Opponent | RememberDiscarded$ True | Mode$ Hand | SubAbility$ DBDraw
SVar:DBOppDiscard2:DB$ Discard | Cost$ U T | Defined$ Opponent | Mode$ Hand | SubAbility$ DBDraw
SVar:DBDraw:DB$ Draw | Defined$ You | NumCards$ X | SubAbility$ DBOppDraw
SVar:DBOppDraw:DB$ Draw | Defined$ Opponent | NumCards$ X | SubAbility$ DBCleanup
SVar:DBCleanup:DB$ Cleanup | ClearRemembered$ True
SVar:X:Remembered$Amount
SVar:Y:Count$CardsInYourHand
SVar:HandSize:Count$CardsInOppHand/Minus.Y
SVar:Rarity:Rare
SVar:Picture:http://www.wizards.com/global/images/magic/general/jaces_archivist.jpg
End

Anybody see an issue with implementing Jace's Archivist like this?
If the hand size of the player with the most cards in his hand changes to be less than the hand of the other while this ability is on the stack, it miscalculates.

EDIT: Maybe it works with a condition.
Can you Remember all of the cards Discarded and take the Max of Remembered.YouCtrl and Remembered.YouDontCtrl ?

Re: Card Contributions

PostPosted: 06 Feb 2012, 16:31
by ArsenalNut
Sloth wrote:
ArsenalNut wrote:
Jace's Archivist | Open
Name:Jace's Archivist
ManaCost:1 U U
Types:Creature Vedalken Wizard
Text:no text
PT:2/2
A:AB$ Discard | Cost$ U T | Defined$ You | CheckSVar$ HandSize | SVarCompare$ GE1 | Mode$ Hand | SubAbility$ DBOppDiscard1 | SpellDescription$ Each player discards his or her hand, then draws cards equal to the greatest number of cards a player discarded this way.
A:AB$ Discard | Cost$ U T | Defined$ You | CheckSVar$ HandSize | SVarCompare$ LT1 | RememberDiscarded$ True | Mode$ Hand | SubAbility$ DBOppDiscard2
SVar:DBOppDiscard1:DB$ Discard | Cost$ U T | Defined$ Opponent | RememberDiscarded$ True | Mode$ Hand | SubAbility$ DBDraw
SVar:DBOppDiscard2:DB$ Discard | Cost$ U T | Defined$ Opponent | Mode$ Hand | SubAbility$ DBDraw
SVar:DBDraw:DB$ Draw | Defined$ You | NumCards$ X | SubAbility$ DBOppDraw
SVar:DBOppDraw:DB$ Draw | Defined$ Opponent | NumCards$ X | SubAbility$ DBCleanup
SVar:DBCleanup:DB$ Cleanup | ClearRemembered$ True
SVar:X:Remembered$Amount
SVar:Y:Count$CardsInYourHand
SVar:HandSize:Count$CardsInOppHand/Minus.Y
SVar:Rarity:Rare
SVar:Picture:http://www.wizards.com/global/images/magic/general/jaces_archivist.jpg
End

Anybody see an issue with implementing Jace's Archivist like this?
If the hand size of the player with the most cards in his hand changes to be less than the hand of the other while this ability is on the stack, it miscalculates.

EDIT: Maybe it works with a condition.
Jace's Archivist | Open
Name:Jace's Archivist
ManaCost:1 U U
Types:Creature Vedalken Wizard
Text:no text
PT:2/2
A:AB$ Discard | Cost$ U T | Defined$ You | RememberDiscarded$ True | Mode$ Hand | SubAbility$ DBTestHand | SpellDescription$ Each player discards his or her hand, then draws cards equal to the greatest number of cards a player discarded this way.
SVar:DBTestHand:DB$ Cleanup | ClearRemembered$ True | ConditionCheckSVar$ HandSizeTest | ConditionSVarCompare$ GE1 | SubAbility$ DBOppDiscard1
SVar:DBOppDiscard1:DB$ Discard | Cost$ 0 | Defined$ Opponent | ConditionCheckSVar$ X | ConditionSVarCompare$ GE1 | Mode$ Hand | SubAbility$ DBOppDiscard2
SVar:DBOppDiscard2:DB$ Discard | Cost$ 0 | Defined$ Opponent | ConditionCheckSVar$ X | ConditionSVarCompare$ LT1 | RememberDiscarded$ True | Mode$ Hand | SubAbility$ DBDraw
SVar:DBDraw:DB$ Draw | Defined$ You | NumCards$ X | SubAbility$ DBOppDraw
SVar:DBOppDraw:DB$ Draw | Defined$ Opponent | NumCards$ X | SubAbility$ DBCleanup
SVar:DBCleanup:DB$ Cleanup | ClearRemembered$ True
SVar:X:Remembered$Amount
SVar:Y:Count$CardsInYourHand
SVar:HandSizeTest:Count$CardsInOppHand/Minus.X
SVar:Rarity:Rare
SVar:Picture:http://www.wizards.com/global/images/magic/general/jaces_archivist.jpg
End

I think this works but I didn't get a chance to test it yet. I am having problems with the mana pool throwing NPE right now.