It is currently 25 Aug 2025, 23:06
   
Text Size

Bug Reports (snapshot builds)

Post MTG Forge Related Programming Questions Here

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

Re: Bug Reports (snapshot builds)

Postby Agetian » 12 Dec 2012, 17:46

Hunter Sliver does not work correctly for the AI when the AI tries to use the Provoke ability it grants to its Slivers (it says "Targeting error", my creatures untap if they're tapped, but they're not provoked to block). Here's an example test case:

Code: Select all
ActivePlayer=AI
ActivePhase=Main1
HumanCardsInPlay=Hunter Sliver; Hunter Sliver
AICardsInPlay=Plated Sliver; Plated Sliver; Plated Sliver; Plated Sliver; Plated Sliver
- Agetian
Agetian
Programmer
 
Posts: 3489
Joined: 14 Mar 2011, 05:58
Has thanked: 684 times
Been thanked: 572 times

Re: Bug Reports (snapshot builds)

Postby Sloth » 12 Dec 2012, 20:37

Agetian wrote:Skirk Alarmist appears to have an error in it - when you use it on a morphed creature, the card that goes to graveyard at the end of turn is Skirk Alarmist itself, not the morphed creature (tried on morphed Aphetto Alchemist).
Fixed! Thanks Agetian.

Agetian wrote:Hunter Sliver does not work correctly for the AI when the AI tries to use the Provoke ability it grants to its Slivers (it says "Targeting error", my creatures untap if they're tapped, but they're not provoked to block). Here's an example test case:
The AI will use it correctly when there is a creature that can be killed. The AI doesn't want to use the triggered ability in your case and skips targeting.
User avatar
Sloth
Programmer
 
Posts: 3498
Joined: 23 Jun 2009, 19:40
Has thanked: 125 times
Been thanked: 507 times

Re: Bug Reports (snapshot builds)

Postby Agetian » 13 Dec 2012, 05:37

Sloth wrote:The AI will use it correctly when there is a creature that can be killed. The AI doesn't want to use the triggered ability in your case and skips targeting.
Oh, OK... but why do the creatures I control get untapped in that case anyway?... It seems like the AI is using "half" of the ability or something, not sure what's going on :( And not sure if that's normal/intended.
Thanks a lot for the fixes!!

- Agetian
Agetian
Programmer
 
Posts: 3489
Joined: 14 Mar 2011, 05:58
Has thanked: 684 times
Been thanked: 572 times

Re: Bug Reports (snapshot builds)

Postby Agetian » 14 Dec 2012, 03:05

There was a bug with Necropotence but I fixed it, so nevermind if you've seen my report about that earlier. :)

Here's an odd thing: One time AI played Exquisite Blood, and then during his cleanup step, for some reason a stack effect (with the same text as that card) appears and is impossible to resolve. I can't reproduce it again because no matter how many times I try it again, it works fine in a simulated scenario. Not sure what was up with it and what it was connected with...

- Agetian
Agetian
Programmer
 
Posts: 3489
Joined: 14 Mar 2011, 05:58
Has thanked: 684 times
Been thanked: 572 times

Re: Bug Reports (snapshot builds)

Postby swordshine » 14 Dec 2012, 04:33

The spelldescription of Slaughter Games should be "Search target opponent's graveyard, hand, and library for any number of cards with that name and exile them."
swordshine
 
Posts: 682
Joined: 11 Jul 2010, 02:37
Has thanked: 116 times
Been thanked: 87 times

Re: Bug Reports (snapshot builds)

Postby swordshine » 14 Dec 2012, 05:14

Surgical Extraction also has a text of "any number of cards". I think the correct script should be:
Surgical Extraction | Open
Code: Select all
Name:Surgical Extraction
ManaCost:PB
Types:Instant
Text:no text
A:SP$ ChangeZone | Cost$ PB | Origin$ Graveyard | Destination$ Exile | ValidTgts$ Card.nonBasic | TgtPrompt$ Choose target card in a graveyard | Optional$ True | RememberTargets$ True | ForgetOtherTargets$ True | SubAbility$ ExileYard | SpellDescription$ Choose target card in a graveyard other than a basic land card. Search its owner's graveyard, hand, and library for any number of cards with the same name as that card and exile them. Then that player shuffles his or her library.
SVar:ExileYard:DB$ ChangeZone | ChangeType$ Remembered.sameName | Origin$ Graveyard | DefinedPlayer$ TargetedController | Chooser$ You | Destination$ Exile | ChangeNum$ NumInYard | Hidden$ True | SubAbility$ ExileHand | StackDescription$ Search target opponent's graveyard, hand, and library for any number of cards with that name and exile them. Then that player shuffles his or her library.
SVar:ExileHand:DB$ ChangeZone | Origin$ Hand | Destination$ Exile | DefinedPlayer$ TargetedController | ChangeType$ Remembered.sameName | ChangeNum$ NumInHand | Chooser$ You | SubAbility$ ExileLib | StackDescription$ None
SVar:ExileLib:DB$ ChangeZone | Origin$ Library | Destination$ Exile | DefinedPlayer$ TargetedController | ChangeType$ Remembered.sameName | ChangeNum$ NumInLib | Chooser$ You | Shuffle$ True | StackDescription$ None | SubAbility$ DBCleanup
SVar:DBCleanup:DB$Cleanup | ClearRemembered$ True
SVar:NumInLib:TargetedController$CardsInLibrary
SVar:NumInHand:TargetedController$CardsInHand
SVar:NumInYard:TargetedController$CardsInGraveyard
SVar:Rarity:Rare
SVar:Picture:http://www.wizards.com/global/images/magic/general/surgical_extraction.jpg
SetInfo:NPH|Rare|http://magiccards.info/scans/en/nph/74.jpg
Oracle:({B/P} can be paid with either {B} or 2 life.)\nChoose target card in a graveyard other than a basic land card. Search its owner's graveyard, hand, and library for any number of cards with the same name as that card and exile them. Then that player shuffles his or her library.
End
swordshine
 
Posts: 682
Joined: 11 Jul 2010, 02:37
Has thanked: 116 times
Been thanked: 87 times

Re: Bug Reports (snapshot builds)

Postby moomarc » 14 Dec 2012, 06:21

swordshine wrote:Surgical Extraction also has a text of "any number of cards". I think the correct script should be:
Surgical Extraction | Open
Code: Select all
Name:Surgical Extraction
ManaCost:PB
Types:Instant
Text:no text
A:SP$ ChangeZone | Cost$ PB | Origin$ Graveyard | Destination$ Exile | ValidTgts$ Card.nonBasic | TgtPrompt$ Choose target card in a graveyard | Optional$ True | RememberTargets$ True | ForgetOtherTargets$ True | SubAbility$ ExileYard | SpellDescription$ Choose target card in a graveyard other than a basic land card. Search its owner's graveyard, hand, and library for any number of cards with the same name as that card and exile them. Then that player shuffles his or her library.
SVar:ExileYard:DB$ ChangeZone | ChangeType$ Remembered.sameName | Origin$ Graveyard | DefinedPlayer$ TargetedController | Chooser$ You | Destination$ Exile | ChangeNum$ NumInYard | Hidden$ True | SubAbility$ ExileHand | StackDescription$ Search target opponent's graveyard, hand, and library for any number of cards with that name and exile them. Then that player shuffles his or her library.
SVar:ExileHand:DB$ ChangeZone | Origin$ Hand | Destination$ Exile | DefinedPlayer$ TargetedController | ChangeType$ Remembered.sameName | ChangeNum$ NumInHand | Chooser$ You | SubAbility$ ExileLib | StackDescription$ None
SVar:ExileLib:DB$ ChangeZone | Origin$ Library | Destination$ Exile | DefinedPlayer$ TargetedController | ChangeType$ Remembered.sameName | ChangeNum$ NumInLib | Chooser$ You | Shuffle$ True | StackDescription$ None | SubAbility$ DBCleanup
SVar:DBCleanup:DB$Cleanup | ClearRemembered$ True
SVar:NumInLib:TargetedController$CardsInLibrary
SVar:NumInHand:TargetedController$CardsInHand
SVar:NumInYard:TargetedController$CardsInGraveyard
SVar:Rarity:Rare
SVar:Picture:http://www.wizards.com/global/images/magic/general/surgical_extraction.jpg
SetInfo:NPH|Rare|http://magiccards.info/scans/en/nph/74.jpg
Oracle:({B/P} can be paid with either {B} or 2 life.)\nChoose target card in a graveyard other than a basic land card. Search its owner's graveyard, hand, and library for any number of cards with the same name as that card and exile them. Then that player shuffles his or her library.
End
swordshine wrote:The spelldescription of Slaughter Games should be "Search target opponent's graveyard, hand, and library for any number of cards with that name and exile them."
Thanks swordshine. Both changes have been applied.
-Marc
User avatar
moomarc
Pixel Commander
 
Posts: 2091
Joined: 04 Jun 2010, 15:22
Location: Johannesburg, South Africa
Has thanked: 371 times
Been thanked: 372 times

Re: Bug Reports (snapshot builds)

Postby friarsol » 14 Dec 2012, 15:58

It looks like quest opponents no longer list their difficulty? Leading to the confusing scenario I have right now where I can play Hobbes (assumably hard), Radioactive Man (assumably hard), and Hobbes (assumably expert). But the two Hobbes are in distinguishable aside from their positioning.
friarsol
Global Moderator
 
Posts: 7593
Joined: 15 May 2010, 04:20
Has thanked: 243 times
Been thanked: 965 times

Re: Bug Reports (snapshot builds)

Postby Agetian » 14 Dec 2012, 17:27

A minor thing but still interesting - if Fecundity and Ashnod's Altar are in play, and you have Saproling Cluster and get a Saproling out, if you activate Ashnod's Altar on Saproling, the effect on Fecundity does not trigger immediately, but it triggers when you switch the phase. Is it intended?.. (I'm pretty sure that it's a bug though)
Test case:

Code: Select all
HumanCardsInPlay=Ashnod's Altar;Saproling Cluster;Swamp;Swamp;Swamp;Swamp;Swamp;Forest;Forest;Forest;Forest;Forest;Fecundity
HumanCardsInHand=Plains
ActivePlayer=Human
- Agetian
Last edited by Agetian on 14 Dec 2012, 17:30, edited 1 time in total.
Agetian
Programmer
 
Posts: 3489
Joined: 14 Mar 2011, 05:58
Has thanked: 684 times
Been thanked: 572 times

Re: Bug Reports (snapshot builds)

Postby friarsol » 14 Dec 2012, 17:29

Agetian wrote:A minor thing but still interesting - if Fecundity and Ashnod's Altar are in play, and you have Saproling Cluster and get a Saproling out, if you activate Ashnod's Altar on Saproling, the effect on Fecundity does not trigger immediately, but it triggers when you switch the phase. Is it intended?..
No it's an odd corner case with Triggers and Mana Abilities.
friarsol
Global Moderator
 
Posts: 7593
Joined: 15 May 2010, 04:20
Has thanked: 243 times
Been thanked: 965 times

Re: Bug Reports (snapshot builds)

Postby Agetian » 14 Dec 2012, 17:31

Umm is it an easy enough fix or is it a difficult bug to squash?.. It would most surely break some constructed decks of old times that are based on effects like that.

P.S. If it makes any difference, it's interesting but other similar effects seem to work correctly - for instance, if I sacrifice a token as an extra cost of Artillerize, it correctly triggers immediately. Also, smashing a token with a Lightning Bolt makes Fecundity trigger correctly and on time.

- Agetian
Agetian
Programmer
 
Posts: 3489
Joined: 14 Mar 2011, 05:58
Has thanked: 684 times
Been thanked: 572 times

Re: Bug Reports (snapshot builds)

Postby friarsol » 14 Dec 2012, 22:31

Agetian wrote:Umm is it an easy enough fix or is it a difficult bug to squash?.. It would most surely break some constructed decks of old times that are based on effects like that.

P.S. If it makes any difference, it's interesting but other similar effects seem to work correctly - for instance, if I sacrifice a token as an extra cost of Artillerize, it correctly triggers immediately. Also, smashing a token with a Lightning Bolt makes Fecundity trigger correctly and on time.
That's why I called it a corner case. I'm not sure what the hangup is, but basically the trigger queue isn't being checked when you activate a mana ability outside trying to play a SpellAbility. Basically, when a mana ability finishes resolving, and we aren't in the middle of trying to cast some other spell, then we need the triggers to run immediately.
friarsol
Global Moderator
 
Posts: 7593
Joined: 15 May 2010, 04:20
Has thanked: 243 times
Been thanked: 965 times

Re: Bug Reports (snapshot builds)

Postby friarsol » 14 Dec 2012, 22:33

I cast Clone and choose Changeling Hero, but wasn't asked to Champion a creature. I'm guessing this has to do with the way Champion is written up.
friarsol
Global Moderator
 
Posts: 7593
Joined: 15 May 2010, 04:20
Has thanked: 243 times
Been thanked: 965 times

Re: Bug Reports (snapshot builds)

Postby ArsenalNut » 14 Dec 2012, 23:14

friarsol wrote:
Agetian wrote:Umm is it an easy enough fix or is it a difficult bug to squash?.. It would most surely break some constructed decks of old times that are based on effects like that.

P.S. If it makes any difference, it's interesting but other similar effects seem to work correctly - for instance, if I sacrifice a token as an extra cost of Artillerize, it correctly triggers immediately. Also, smashing a token with a Lightning Bolt makes Fecundity trigger correctly and on time.
That's why I called it a corner case. I'm not sure what the hangup is, but basically the trigger queue isn't being checked when you activate a mana ability outside trying to play a SpellAbility. Basically, when a mana ability finishes resolving, and we aren't in the middle of trying to cast some other spell, then we need the triggers to run immediately.
I would start by looking at the difference between how mana abilities and other spell abilities are handled by the method that adds things to the stack. If I remember correctly, mana abilities just resolve immediately which probably impacts the timing.

Similar things happen when you tap a mana source like City of Brass to pay for a cost but cancel before the cost is paid. The City of Brass will untap from the cancellation but the "taps for mana" trigger will still fires.
So many cards, so little time
User avatar
ArsenalNut
 
Posts: 512
Joined: 08 Jul 2011, 03:49
Has thanked: 27 times
Been thanked: 121 times

Re: Bug Reports (snapshot builds)

Postby Agetian » 16 Dec 2012, 17:40

Today while I was experimenting with ante-related stuff and discussing it with my friend something peculiar struck me: in Draft mode, I think there should be a rule that all cards in the pack that are "ante" cards (and Draft is not played for ante) should be replaced with equivalent cards of the same rarity, but that's currently not done... Not a huge deal, but just thought it'd be nice to have that at least as an option (or something that toggles on/off with the ante).

- Agetian
Agetian
Programmer
 
Posts: 3489
Joined: 14 Mar 2011, 05:58
Has thanked: 684 times
Been thanked: 572 times

PreviousNext

Return to Developer's Corner

Who is online

Users browsing this forum: No registered users and 29 guests

Main Menu

User Menu

Our Partners


Who is online

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

Login Form