Incorrect Scripts
Post MTG Forge Related Programming Questions Here
Moderators: timmermac, Blacksmith, KrazyTheFox, Agetian, friarsol, CCGHQ Admins
Re: Incorrect Scripts
by Sloth » 08 Mar 2012, 21:23
Done! Thanks squee.squee1968 wrote:Not sure if this should be posted here or in Bug Reports, but the script for Profane Prayers is incorrect. The current script does not include a subability for the life gain portion of the card. I've included a corrected script.
Here is something i'm not entirely sure about, maybe sol can share his knowledge.:
1. I think the target for the effect of Soltari Guerrillas has to be chosen when the activated ability is activated and not when the replacement ability happens.
2. I think Soltari Guerrillas should deal combat damage to the creature.
-
Sloth - Programmer
- Posts: 3498
- Joined: 23 Jun 2009, 19:40
- Has thanked: 125 times
- Been thanked: 507 times
Re: Incorrect Scripts
by jeffwadsworth » 08 Mar 2012, 23:21
Awaiting judgement from the Lord of Scrolls...the second point is definitely true and thus fixed.
- jeffwadsworth
- Super Tester Elite
- Posts: 1172
- Joined: 20 Oct 2010, 04:47
- Location: USA
- Has thanked: 287 times
- Been thanked: 70 times
Re: Incorrect Scripts
by friarsol » 09 Mar 2012, 03:24
Unfortunately so. This card was great fun back in the day, as it was nearly unblockable, so it could be turned into a lightning bolt each turn. The targeting does happen on activation, but nothing prevents you from activating it for each creature your opponent controls, killing off Skulking ones, and giving you multiple replacement effects for the next time combat damage is dealt.Sloth wrote:Here is something i'm not entirely sure about, maybe sol can share his knowledge.:
1. I think the target for the effect of Soltari Guerrillas has to be chosen when the activated ability is activated and not when the replacement ability happens.
2. I think Soltari Guerrillas should deal combat damage to the creature.
- friarsol
- Global Moderator
- Posts: 7593
- Joined: 15 May 2010, 04:20
- Has thanked: 243 times
- Been thanked: 965 times
- jeffwadsworth
- Super Tester Elite
- Posts: 1172
- Joined: 20 Oct 2010, 04:47
- Location: USA
- Has thanked: 287 times
- Been thanked: 70 times
Re: Incorrect Scripts
by Sloth » 09 Mar 2012, 06:54
I don't think you have to remove it. The Effect ability can target a creature and remember it (look at Spiritualize) and the damage is dealt to "Defined$ Remembered".jeffwadsworth wrote:Removing it tomorrow. Late here.
EDIT: Now that i think about it, AF Effect can be used for other cards that need a remembered list for each activation of an ability.
-
Sloth - Programmer
- Posts: 3498
- Joined: 23 Jun 2009, 19:40
- Has thanked: 125 times
- Been thanked: 507 times
Re: Incorrect Scripts
by jeffwadsworth » 09 Mar 2012, 15:42
I wish it were that easy. It needs to remember the damage source card also.Sloth wrote:I don't think you have to remove it. The Effect ability can target a creature and remember it (look at Spiritualize) and the damage is dealt to "Defined$ Remembered".jeffwadsworth wrote:Removing it tomorrow. Late here.
EDIT: Now that i think about it, AF Effect can be used for other cards that need a remembered list for each activation of an ability.
- jeffwadsworth
- Super Tester Elite
- Posts: 1172
- Joined: 20 Oct 2010, 04:47
- Location: USA
- Has thanked: 287 times
- Been thanked: 70 times
Re: Incorrect Scripts
by Sloth » 09 Mar 2012, 20:02
Good point.jeffwadsworth wrote:I wish it were that easy. It needs to remember the damage source card also.Sloth wrote:I don't think you have to remove it. The Effect ability can target a creature and remember it (look at Spiritualize) and the damage is dealt to "Defined$ Remembered".jeffwadsworth wrote:Removing it tomorrow. Late here.
EDIT: Now that i think about it, AF Effect can be used for other cards that need a remembered list for each activation of an ability.
Solution: I shanghaid imprinted as a second remembered list (there is really no difference between the lists and no need to make a new one).
This may be a trick to script some other cards too.
-
Sloth - Programmer
- Posts: 3498
- Joined: 23 Jun 2009, 19:40
- Has thanked: 125 times
- Been thanked: 507 times
Re: Incorrect Scripts
by Sloth » 10 Mar 2012, 11:28
Two scripts:
1. Now that AF Charm is fixed, Etherwrought Page should use it. The mode has to be chosen before the ability hits the stack.
2. Demoralize should check threshold upon resolution (creating a second effect that does not care about threshold).
1. Now that AF Charm is fixed, Etherwrought Page should use it. The mode has to be chosen before the ability hits the stack.
2. Demoralize should check threshold upon resolution (creating a second effect that does not care about threshold).
-
Sloth - Programmer
- Posts: 3498
- Joined: 23 Jun 2009, 19:40
- Has thanked: 125 times
- Been thanked: 507 times
Re: Incorrect Scripts
by jeffwadsworth » 10 Mar 2012, 22:16
I will look at these two. Thanks for the fix.Sloth wrote:Two scripts:
1. Now that AF Charm is fixed, Etherwrought Page should use it. The mode has to be chosen before the ability hits the stack.
2. Demoralize should check threshold upon resolution (creating a second effect that does not care about threshold).
- jeffwadsworth
- Super Tester Elite
- Posts: 1172
- Joined: 20 Oct 2010, 04:47
- Location: USA
- Has thanked: 287 times
- Been thanked: 70 times
Re: Incorrect Scripts
by moomarc » 14 Mar 2012, 10:49
Just saw that I made a mistake with Quicken. Removing it until I can get it fixed.
EDIT: Fixed! Now id supprots the 2006 ruling: "After Quicken resolves, you can Suspend a Sorcery in your hand any time you can cast an Instant. As soon as you actually cast a Sorcery, you lose this capability." I'm guessing the same applies to creatures with suspend when Scout's Warning resolves, which makes for some rather broken deck possibilities!
EDIT: Fixed! Now id supprots the 2006 ruling: "After Quicken resolves, you can Suspend a Sorcery in your hand any time you can cast an Instant. As soon as you actually cast a Sorcery, you lose this capability." I'm guessing the same applies to creatures with suspend when Scout's Warning resolves, which makes for some rather broken deck possibilities!
-Marc
-
moomarc - Pixel Commander
- Posts: 2091
- Joined: 04 Jun 2010, 15:22
- Location: Johannesburg, South Africa
- Has thanked: 371 times
- Been thanked: 372 times
Re: Incorrect Scripts
by moomarc » 30 Mar 2012, 08:58
.Agadeem Occultist should have a condition on the resolution instead of a targeting restriction. Will we have to remove it from AI decks then? Same thing for Overload. And if they would need to be removed from AI decks as a result, is it worth fixing for the sake of 100% rules acuracy? I understand for targeting things on the battlefield because you might want to target an Illusion creature or some other 'becomes taget' trigger.
Thought I'd point them out anyway and wait for feedback on how to handle it.
Thought I'd point them out anyway and wait for feedback on how to handle it.
-Marc
-
moomarc - Pixel Commander
- Posts: 2091
- Joined: 04 Jun 2010, 15:22
- Location: Johannesburg, South Africa
- Has thanked: 371 times
- Been thanked: 372 times
Re: Incorrect Scripts
by Sloth » 30 Mar 2012, 11:37
At least Agadeem Occultist should be fixed. The number of Allies can change while the ability is on the stack.moomarc wrote:.Agadeem Occultist should have a condition on the resolution instead of a targeting restriction. Will we have to remove it from AI decks then? Same thing for Overload. And if they would need to be removed from AI decks as a result, is it worth fixing for the sake of 100% rules acuracy? I understand for targeting things on the battlefield because you might want to target an Illusion creature or some other 'becomes taget' trigger.
Thought I'd point them out anyway and wait for feedback on how to handle it.
Sadly, we would have to remove it from AI decks.
-
Sloth - Programmer
- Posts: 3498
- Joined: 23 Jun 2009, 19:40
- Has thanked: 125 times
- Been thanked: 507 times
Re: Incorrect Scripts
by squee1968 » 05 Apr 2012, 01:10
A couple of months ago, I submitted Phyrexian Splicer, with a note that it was scripted similar to Umezawa's Jitte. However, it had 4 abilities, and not 1 ability with 4 choices, like it should. So, while trying to script Walking Sponge, I ran across Balm of Restoration, and I thought that I could use it to bring the splicer and the jitte a little closer to perfection. I also changed the splicer to use the new remove keyword parameter in AF Animate instead of debuff.
Noble Benefactor
Show and Tell
Veteran Explorer
While I was scripting Volley of Boulders, I noticed that Bogardan Hellkite needs to have its prompt numbers changed.
- Code: Select all
Name:Phyrexian Splicer
ManaCost:2
Types:Artifact
Text:no text
A:AB$ Charm | Cost$ 2 T | Choices$ FlySplice, QuickySplice,SpookySplice,TrampySplice | Defined$ You
SVar:FlySplice:DB$ Animate | ValidTgts$ Creature.withFlying | TgtPrompt$ Select target creature with flying | RemoveKeywords$ Flying | SubAbility$ DBGainFly | SpellDescription$ Target creature loses flying until end of turn and another target creature gains it until end of turn.
SVar:QuickySplice:DB$ Animate | ValidTgts$ Creature.withFirst Strike | TgtPrompt$ Select target creature with first strike | RemoveKeywords$ First Strike | SubAbility$ DBGainFs | SpellDescription$ Target creature loses first strike until end of turn and another target creature gains it until end of turn.
SVar:SpookySplice:DB$ Animate | ValidTgts$ Creature.withShadow | TgtPrompt$ Select target creature with shadow | RemoveKeywords$ Shadow | SubAbility$ DBGainShdw | SpellDescription$ Target creature loses shadow until end of turn and another target creature gains it until end of turn.
SVar:TrampySplice:DB$ Animate | ValidTgts$ Creature.withTrample | TgtPrompt$ Select target creature with trample | RemoveKeywords$ Trample | SubAbility$ DBGainTrpl | SpellDescription$ Target creature loses trample until end of turn and another target creature gains it until end of turn.
SVar:DBGainFly:DB$Pump | Cost$ 0 | ValidTgts$ Creature | TgtPrompt$ Select target creature to gain flying | KW$ Flying | TargetUnique$ True
SVar:DBGainFs:DB$Pump | Cost$ 0 | ValidTgts$ Creature | TgtPrompt$ Select target creature to gain first strike | KW$ First Strike | TargetUnique$ True
SVar:DBGainShdw:DB$Pump | Cost$ 0 | ValidTgts$ Creature | TgtPrompt$ Select target creature to gain shadow | KW$ Shadow | TargetUnique$ True
SVar:DBGainTrpl:DB$Pump | Cost$ 0 | ValidTgts$ Creature | TgtPrompt$ Select target creature to gain trample | KW$ Trample | TargetUnique$ True
SVar:RemAIDeck:True
SVar:Rarity:Uncommon
SVar:Picture:http://www.wizards.com/global/images/magic/general/phyrexian_splicer.jpg
SetInfo:TMP|Uncommon|http://magiccards.info/scans/en/tp/293.jpg
Oracle:{2}, {T}: Choose one - flying; first strike; shadow; or trample. Target creature with that ability loses it until end of turn and another target creature gains it until end of turn.
End
- Code: Select all
Name:Umezawa's Jitte
ManaCost:2
Types:Legendary Artifact Equipment
Text:no text
K:eqPump 2:0/0
T:Mode$ DamageDone | ValidSource$ Creature.AttachedBy | ValidTarget$ Creature,Player,Planeswalker | CombatDamage$ True | Execute$ TrigPutCounter | TriggerZones$ Battlefield | TriggerDescription$ Whenever equipped creature deals combat damage, put two charge counters on CARDNAME.
A:AB$ Charm | Cost$ SubCounter<1/CHARGE> | Choices$ JittePump,JitteCurse,JitteLife | Defined$ You | SpellDescription$ Choose one -
SVar:JittePump:AB$ Pump | Cost$ 0 | Defined$ Equipped | NumAtt$ +2 | NumDef$ +2 | SpellDescription$ Equipped creature gets +2/+2 until end of turn;
SVar:JitteCurse:AB$ Pump | Cost$ 0 | ValidTgts$ Creature | TgtPrompt$ Select target creature | NumAtt$ -1 | NumDef$ -1 | IsCurse$ True | SpellDescription$ or target creature gets -1/-1 until end of turn;
SVar:JitteLife:AB$ GainLife | Cost$ 0 | LifeAmount$ 2 | SpellDescription$ or you gain 2 life.
SVar:TrigPutCounter:AB$PutCounter | Cost$ 0 | CounterType$ CHARGE | CounterNum$ 2
SVar:Rarity:Rare
SVar:Picture:http://www.wizards.com/global/images/magic/general/umezawas_jitte.jpg
SetInfo:BOK|Rare|http://magiccards.info/scans/en/bok/163.jpg
Oracle:Whenever equipped creature deals combat damage, put two charge counters on Umezawa's Jitte.\nRemove a charge counter from Umezawa's Jitte: Choose one - Equipped creature gets +2/+2 until end of turn; or target creature gets -1/-1 until end of turn; or you gain 2 life.\nEquip {2}
End
Noble Benefactor
Show and Tell
Veteran Explorer
While I was scripting Volley of Boulders, I noticed that Bogardan Hellkite needs to have its prompt numbers changed.
- Code: Select all
Name:Bogardan Hellkite
ManaCost:6 R R
Types:Creature Dragon
Text:no text
PT:5/5
K:Flash
K:Flying
T:Mode$ ChangesZone | Origin$ Any | Destination$ Battlefield | ValidCard$ Card.Self | Execute$ Dmg1 | TriggerDescription$ Whenever CARDNAME enters the battlefield, it deals 5 damage divided as you choose among any number of target creatures and/or players.
SVar:Dmg1:AB$DealDamage | Cost$ 0 | Tgt$ TgtCP | TgtPrompt$ Select target creature or player (1) | NumDmg$ 1 | SubAbility$ Dmg2
SVar:Dmg2:DB$DealDamage | Tgt$ TgtCP | TgtPrompt$ Select target creature or player (2) | NumDmg$ 1 | SubAbility$ Dmg3
SVar:Dmg3:DB$DealDamage | Tgt$ TgtCP | TgtPrompt$ Select target creature or player (3) | NumDmg$ 1 | SubAbility$ Dmg4
SVar:Dmg4:DB$DealDamage | Tgt$ TgtCP | TgtPrompt$ Select target creature or player (4) | NumDmg$ 1 | SubAbility$ Dmg5
SVar:Dmg5:DB$DealDamage | Tgt$ TgtCP | TgtPrompt$ Select target creature or player (5) | NumDmg$ 1
SVar:Rarity:Mythic
SVar:Picture:http://www.wizards.com/global/images/magic/general/bogardan_hellkite.jpg
SetInfo:M10|Mythic|http://magiccards.info/scans/en/m10/127.jpg
SetInfo:TSP|Rare|http://magiccards.info/scans/en/ts/147.jpg
Oracle:Flash (You may cast this spell any time you could cast an instant.)\nFlying\nWhen Bogardan Hellkite enters the battlefield, it deals 5 damage divided as you choose among any number of target creatures and/or players.
End
Re: Incorrect Scripts
by Sloth » 05 Apr 2012, 10:28
Phyrexian Splicer seems to have problems with AF Charm, the targetunique parameter doesn't work correctly any more. I applied the change to Umezawa's Jitte.squee1968 wrote:A couple of months ago, I submitted Phyrexian Splicer, with a note that it was scripted similar to Umezawa's Jitte. However, it had 4 abilities, and not 1 ability with 4 choices, like it should. So, while trying to script Walking Sponge, I ran across Balm of Restoration, and I thought that I could use it to bring the splicer and the jitte a little closer to perfection. I also changed the splicer to use the new remove keyword parameter in AF Animate instead of debuff.
Show and Tell is not a problem because this kind of ability is always optional. The others need a new parameter (for cases where a player does not want his library to be shuffled).squee1968 wrote:Another thing I came across while doing research for Weird Harvest (which is why that card will need to be changed as well), is that there is no "Optional" parameter in the scripts for the following cards, even though the oracle wording for them states, in part, "Each player MAY..."
Noble Benefactor
Show and Tell
Veteran Explorer
Fixed! Thanks squee.squee1968 wrote:While I was scripting Volley of Boulders, I noticed that Bogardan Hellkite needs to have its prompt numbers changed.
-
Sloth - Programmer
- Posts: 3498
- Joined: 23 Jun 2009, 19:40
- Has thanked: 125 times
- Been thanked: 507 times
Re: Incorrect Scripts
by squee1968 » 06 Apr 2012, 02:14
While scripting Wishmonger, I came across another incorrect script. Pale Wayfarer makes you choose the color the target creature gets protection from, even if you target an opponent's creature. It should be the targeted creature's controller who makes the choice. It probably also needs some AI SVars to guide it to choose the best color. I apologize if this is a situation that has been discussed, and the player is supposed to choose for the AI. But in that case, would Wishmonger be deemed unfair to the AI?
Who is online
Users browsing this forum: No registered users and 32 guests