Bug Reports (snapshot builds)
Post MTG Forge Related Programming Questions Here
Moderators: timmermac, Blacksmith, KrazyTheFox, Agetian, friarsol, CCGHQ Admins
Re: Bug Reports (snapshot builds)
by Agetian » 10 Jun 2016, 05:24
No problem! The thing is, effects created with DB Effect or whatever (e.g. "Banisher's Priest Effect") are internally considered to be "tokens" (c.isToken() will return True for them) - I remember there's a reason for that, too, something that has to do with the fact that the effect has to be cleaned up once it leaves play. Not sure how to fix this *and* keep your fix intact for that other card you were trying to fix... Hopefully you can come up with a solution though.Hanmac wrote:many thanks for pointing that out, i didn't think that this specific revision should have broke it.Agetian wrote:r31279: Something is now broken with cards such as Banisher Priest and Chained to the Rocks. These cards no longer work correctly: when they leave the battlefield, the card that was exiled with them is no longer returned from the exile to the battlefield. This used to work relatively recently. Maybe something happened to the imprint mechanism that is utilized by these cards internally?
EDIT: This is broken by r31277.
- Agetian
the check it had was "zoneType == ZoneType.Battlefield || !c.isToken()" that should have been true for that but iinvestigatecheck it out.
Sorry for breaking it i will try to fix it soon.
- Agetian
- Agetian
- Programmer
- Posts: 3489
- Joined: 14 Mar 2011, 05:58
- Has thanked: 684 times
- Been thanked: 572 times
Re: Bug Reports (snapshot builds)
by Hanmac » 10 Jun 2016, 05:38
@Agetian: yeah i did, i fixed it in r31280.
i just add Command zone to have tokens too.
(let's hope that creature tokens are never moved to Command zone)
PS: we might need more testcases sowe i will be alert when i broke something like that again.
i just add Command zone to have tokens too.
(let's hope that creature tokens are never moved to Command zone)
PS: we might need more testcases so
Re: Bug Reports (snapshot builds)
by Marek14 » 10 Jun 2016, 06:27
Well, you could have tokens disappear on moving, but allow them to be created whereverHanmac wrote:@Agetian: yeah i did, i fixed it in r31280.
i just add Command zone to have tokens too.
(let's hope that creature tokens are never moved to Command zone)
PS: we might need more testcases sowei will be alert when i broke something like that again.

Re: Bug Reports (snapshot builds)
by Marek14 » 10 Jun 2016, 09:06
Using this deck:
- Code: Select all
[metadata]
Name=Deck #2 "Kick then Sin" by e42
[general]
Constructed
[main]
4 Tombstone Stairwell
3 Elvish Vanguard
3 Urborg Elf
3 Wirewood Channeler
4 Artificial Evolution
3 Skulltap
2 Merchant Scroll
3 Golgari Guildmage
1 Golgari Rotwurm
3 Wellwisher
4 Wirewood Herald
2 Wirewood Savage
3 Llanowar Elves
8 Swamp
2 Island
12 Forest
[sideboard]
Re: Bug Reports (snapshot builds)
by Hanmac » 10 Jun 2016, 15:05
i tried to apply the changedText to the TokenEffect,
i found applyAbilityTextChangeEffects which does look like what i want.
but i currently fail that the SpellAbility is not Intrinsic. (what ever that means in that context)
or was my plan wrong to use it like that?
Found it, i needed the RootAbility.
Edit:
@Marek14, fixed it in r31283
i found applyAbilityTextChangeEffects which does look like what i want.
but i currently fail that the SpellAbility is not Intrinsic. (what ever that means in that context)
Found it, i needed the RootAbility.
Edit:
@Marek14, fixed it in r31283
Re: Bug Reports (snapshot builds)
by Hanmac » 11 Jun 2016, 18:47
i add cards for "The Fate of the Flammable", "May Civilization Collapse", "Feed the Machine" and "Surrender Your Thoughts" with OppNonParentTarget.
i tested them with me as Arch-enemy and they did work.
PS: we need a "SetInMotion" Button in the Developer Tab because waiting to find the right Scheme is annoying.
Cards use same AI as the Sieges yet. i will try later to add more AI into it.
(currently he AI is a bad team player and always choose others)
later i will add Code that if AI got hit by "Discard 4 or others Discard 2" then AI will choose self if it has no cards.
also i need to find the place where i define the code that AI does use to target the opponent if AI would be the Arch-enemy. Like in the example for "Discard 4 or others Discard 2" AI does try to target the Player with the Most cards in hand.
i tested them with me as Arch-enemy and they did work.
PS: we need a "SetInMotion" Button in the Developer Tab because waiting to find the right Scheme is annoying.
Cards use same AI as the Sieges yet. i will try later to add more AI into it.
(currently he AI is a bad team player and always choose others)
later i will add Code that if AI got hit by "Discard 4 or others Discard 2" then AI will choose self if it has no cards.
also i need to find the place where i define the code that AI does use to target the opponent if AI would be the Arch-enemy. Like in the example for "Discard 4 or others Discard 2" AI does try to target the Player with the Most cards in hand.
Re: Bug Reports (snapshot builds)
by PopeSquad » 11 Jun 2016, 20:22
Just noticed that Vengeful Pharaoh doesn't seem to be working properly. While playing, my opponent's Mishra's Factory hit my Liliana of the Veil while VP was in the grave and he did not trigger.
- PopeSquad
- Posts: 1
- Joined: 11 Jun 2016, 20:17
- Has thanked: 0 time
- Been thanked: 0 time
Re: Bug Reports (snapshot builds)
by FiiSKiiS » 12 Jun 2016, 00:21
Noticed this bug today:
Kytheon, Hero of Akros triggering on opponents upkeep (his ability is "if Kytheon, Hero of Akros and at least tow other creatures attacked this combat, exile Kytheon, Hero of Akros). Kytheon can't attack on opponent's combat phase, and thus can only trigger on his controller's turn.
Since I'm fairly new, it won't let me share the screenshot I saved for it.
Kytheon, Hero of Akros triggering on opponents upkeep (his ability is "if Kytheon, Hero of Akros and at least tow other creatures attacked this combat, exile Kytheon, Hero of Akros). Kytheon can't attack on opponent's combat phase, and thus can only trigger on his controller's turn.
Since I'm fairly new, it won't let me share the screenshot I saved for it.
- FiiSKiiS
- Posts: 3
- Joined: 02 Feb 2016, 03:09
- Has thanked: 0 time
- Been thanked: 0 time
Re: Bug Reports (snapshot builds)
by Marek14 » 12 Jun 2016, 07:21
Well, the ability is not actually limited by turn, but it should trigger at end of combat -- and since it has intervening if, it should only trigger if the condition is satisfied.FiiSKiiS wrote:Noticed this bug today:
Kytheon, Hero of Akros triggering on opponents upkeep (his ability is "if Kytheon, Hero of Akros and at least tow other creatures attacked this combat, exile Kytheon, Hero of Akros). Kytheon can't attack on opponent's combat phase, and thus can only trigger on his controller's turn.
Since I'm fairly new, it won't let me share the screenshot I saved for it.
Re: Bug Reports (snapshot builds)
by Hanmac » 12 Jun 2016, 07:54
CombatDamageDoneOnce somehow does not work for Planeswalkers (maybe I did broke something) i currently try to write some work around with DamageDone.
Vengeful Pharaoh and others like Firemane Angel are need to be written with IsPresent check, i am currently doing that.
@Marek14: i thought that i fixed the Token and CardChanger problem, but it seems i did it to good.
for example Riftmarked Knight and cardtext changer like Glamerdye should not be able to change the color and text of the token while the ability is already on the stack. (i managed to get a red token from that)
I need to find a way to have the Ability on the Stack not that much connected to the Original Card any more
Vengeful Pharaoh and others like Firemane Angel are need to be written with IsPresent check, i am currently doing that.
@Marek14: i thought that i fixed the Token and CardChanger problem, but it seems i did it to good.
for example Riftmarked Knight and cardtext changer like Glamerdye should not be able to change the color and text of the token while the ability is already on the stack. (i managed to get a red token from that)
I need to find a way to have the Ability on the Stack not that much connected to the Original Card any more

Re: Bug Reports (snapshot builds)
by gamerfreak12345 » 12 Jun 2016, 15:56
Hi,
Thunderbreak Regent's ability triggers even when the opponent targets a dragon card in the graveyard. Per rule 109.4, this should only trigger on dragons that are on the battlefield.
Thunderbreak Regent's ability triggers even when the opponent targets a dragon card in the graveyard. Per rule 109.4, this should only trigger on dragons that are on the battlefield.
- gamerfreak12345
- Posts: 10
- Joined: 11 May 2016, 22:07
- Has thanked: 0 time
- Been thanked: 0 time
Re: Bug Reports (snapshot builds)
by Marek14 » 12 Jun 2016, 20:54
Yavimaya Granger found via Oath of Druids didn't require echo payment on my next turn.
Krosan Verge should only shuffle the library once.
I controlled opponent via Mindslaver, then I tapped his lands. I wanted to activate his Isochron Scepter, but Forge doesn't allow me to click on mana in his mana pool. Autopayment works.
AI copied my Emrakul, the Aeons Torn with Evil Twin, but sacrificed it to annihilator of my real Emrakul. It shuffled its graveyard into library when Evil Twin died. However, Emrakul's ability triggers on going to graveyard from anywhere, which means that it checks stats after the card is already in the graveyard.
(Basically, Clones and similar that copy creatures with "to graveyard from anywhere" triggers should NOT trigger them when they die.)
Krosan Verge should only shuffle the library once.
I controlled opponent via Mindslaver, then I tapped his lands. I wanted to activate his Isochron Scepter, but Forge doesn't allow me to click on mana in his mana pool. Autopayment works.
AI copied my Emrakul, the Aeons Torn with Evil Twin, but sacrificed it to annihilator of my real Emrakul. It shuffled its graveyard into library when Evil Twin died. However, Emrakul's ability triggers on going to graveyard from anywhere, which means that it checks stats after the card is already in the graveyard.
(Basically, Clones and similar that copy creatures with "to graveyard from anywhere" triggers should NOT trigger them when they die.)
Re: Bug Reports (snapshot builds)
by Bog Wraith » 13 Jun 2016, 18:41
With a Xantid Swarm attacking, AI cast Second Thoughts when they should not be able to cast any spells on my turn.
'Twas in the bogs of Cannelbrae
My mate did meet an early grave
'Twas nothing left for us to save
In the peat-filled bogs of Cannelbrae.
My mate did meet an early grave
'Twas nothing left for us to save
In the peat-filled bogs of Cannelbrae.
-
Bog Wraith - Global Mod 1 (Ret)
- Posts: 1108
- Joined: 28 May 2008, 22:40
- Location: Shandalar
- Has thanked: 425 times
- Been thanked: 153 times
Re: Bug Reports (snapshot builds)
by Hanmac » 13 Jun 2016, 19:02
i tried to fix Firemane Angel with
"IsPresent$ Card.Self | PresentZone$ Battlefield" and
"IsPresent$ Card.Self | PresentZone$ Graveyard"
but its not 100% correct.
before that fix:
if the trigger goes on the stack, and you remove it from the graveyard, you still gain life.
after the fix:
if the trigger goes on the stack, and you remove it from the graveyard, you don't gain life.
BUT if you return it again, you still gain life.
what should be:
if you return it from the graveyard, you should not gain life even if you put it back.
because of "if CARDNAME is in your graveyard"
that does Tangent other cards like Vengeful Pharaoh too.
on of the deeper coders has ideas to fix that?
"IsPresent$ Card.Self | PresentZone$ Battlefield" and
"IsPresent$ Card.Self | PresentZone$ Graveyard"
but its not 100% correct.
before that fix:
if the trigger goes on the stack, and you remove it from the graveyard, you still gain life.
after the fix:
if the trigger goes on the stack, and you remove it from the graveyard, you don't gain life.
BUT if you return it again, you still gain life.
what should be:
if you return it from the graveyard, you should not gain life even if you put it back.
because of "if CARDNAME is in your graveyard"
that does Tangent other cards like Vengeful Pharaoh too.
on of the deeper coders has ideas to fix that?
Re: Bug Reports (snapshot builds)
by friarsol » 13 Jun 2016, 19:13
Was it in response to the trigger?Bog Wraith wrote:With a Xantid Swarm attacking, AI cast Second Thoughts when they should not be able to cast any spells on my turn.
- friarsol
- Global Moderator
- Posts: 7593
- Joined: 15 May 2010, 04:20
- Has thanked: 243 times
- Been thanked: 965 times
Who is online
Users browsing this forum: No registered users and 17 guests