Bug Reports (snapshot builds)
Post MTG Forge Related Programming Questions Here
Moderators: timmermac, Agetian, friarsol, Blacksmith, KrazyTheFox, CCGHQ Admins
Re: Bug Reports (snapshot builds)
by Marek14 » 06 Oct 2016, 15:43
Blood-Chin Rager has wrong text (doesn't mention "until end of turn").
Re: Bug Reports (snapshot builds)
by fmartel » 06 Oct 2016, 15:51
-r32286, game hangs (waiting for opponent) at draw spep of AI3 after AI1 put a -1/-1 counter on an Angel Token of mine (not killing it)
- fmartel
- Posts: 281
- Joined: 31 Dec 2013, 19:27
- Location: Québec City
- Has thanked: 8 times
- Been thanked: 4 times
Re: Bug Reports (snapshot builds)
by Hanmac » 06 Oct 2016, 15:52
should be fixed in r32287.Marek14 wrote:AI attacked my planeswalker and returned the attacker to hand for Ninjutsu of Higure, the Still Wind.
Higure hit me, though it should hit the planeswalker:Though this important restriction is not mentioned in the definition of ninjutsu ability for some reason (that only says "tapped and attacking").702.48c A ninjutsu ability may be activated only while a creature on the battlefield is unblocked (see rule 509.1h). The creature with ninjutsu is put onto the battlefield unblocked. It will be attacking the same player or planeswalker as the creature that was returned to its owner’s hand.
i just needed to get the previous Attacker from the Returned Card.
Re: Bug Reports (snapshot builds)
by fmartel » 06 Oct 2016, 21:06
r32287, game jammed, at CL phase, after AI2 killed AI3 with Broodkeeper (dealing Combat DMG)
- fmartel
- Posts: 281
- Joined: 31 Dec 2013, 19:27
- Location: Québec City
- Has thanked: 8 times
- Been thanked: 4 times
Re: Bug Reports (snapshot builds)
by Marek14 » 07 Oct 2016, 10:11
Hypnotic Siren is displayed in the enchantment area, not with creatures.
Korozda Guildmage still has old token wording.
Korozda Guildmage still has old token wording.
Re: Bug Reports (snapshot builds)
by Hanmac » 07 Oct 2016, 10:58
@Marek14:
about the Bestow, it and others did caused massive flickering.
some of them where changed by Agetian.
Probably it did disable some of it total.
(might need still some work)
===
about old token wording. yeah it was not updated yet. (in the forum it is)
there are the oracle changes, do you want to do that? xD
http://yawgatog.com/resources/oracle-changes/cn2-kld/
about the Bestow, it and others did caused massive flickering.
some of them where changed by Agetian.
Probably it did disable some of it total.
(might need still some work)
===
about old token wording. yeah it was not updated yet. (in the forum it is)
there are the oracle changes, do you want to do that? xD
http://yawgatog.com/resources/oracle-changes/cn2-kld/
Re: Bug Reports (snapshot builds)
by fmartel » 07 Oct 2016, 13:57
game jammed after I killed opponent, at CD Archangel of Thune does not deposit the +1 counter. -r32298.
- fmartel
- Posts: 281
- Joined: 31 Dec 2013, 19:27
- Location: Québec City
- Has thanked: 8 times
- Been thanked: 4 times
Re: Bug Reports (snapshot builds)
by fmartel » 07 Oct 2016, 20:07
game froze when AI triggers Isperia The Inscrutable after defeating another AI -r32298
- fmartel
- Posts: 281
- Joined: 31 Dec 2013, 19:27
- Location: Québec City
- Has thanked: 8 times
- Been thanked: 4 times
Re: Bug Reports (snapshot builds)
by Marek14 » 09 Oct 2016, 10:17
AI casts Unsummon on Vulturous Zombie. Vulturous Zombie triggers (it shouldn't, because it leaves the battlefield before Unsummon is put into the graveyard), AND it gets a +1/+1 counter while in my hand.
Re: Bug Reports (snapshot builds)
by Hanmac » 09 Oct 2016, 18:51
@Marek14: ok i know it has to do something with my triggers, but currently i don't know where and how to fix that.
@all: can someone else look at this too?
@all: can someone else look at this too?
Re: Bug Reports (snapshot builds)
by Agetian » 10 Oct 2016, 08:07
r32319: The "unless" cost on Reality Smasher does not work at all. My spell cast on the AI's Reality Smasher is not countered regardless of whether I discard a card or not (or even have no cards in hand at all).
Similar unless cost does not work on other cards too, for example, Diffusion Sliver or Frost Titan (you can choose not to pay
and the spell is not countered anyway).
A rather baffling, but serious issue, looks like it may affect a lot of these "unless" costs. I tried tracing through handleUnlessCost but didn't get any conclusive results as to why this is happening 'cause debugging in NetBeans sort of glitches when the player is to be provided with a way to input the cost payment...
EDIT: If it helps, it looks like getInstanceFromSpellAbility can't find the relevant instance of the ability on the stack at CounterEffect.java:107. In particular, the check at MagicStack.java:783 fails when testing the proper ability against the proper stack instance. It looks like SpellAbilityStackInstance::compareToSpellAbility may be broken, it's trying to compare the spell ability to the spell ability on the stack by comparing their targets, but it looks like the spell ability itself (the one compared and not the one on the stack) has no targets, thus the check always fails. Not sure how to best approach fixing this. Help is welcome.
EDIT 2: In continuation of my investigation, adding this code to getInstanceFromSpellAbility as an alternative comparison of sa to si solves the problem, but it's a very "deep-going" change with lots of possible implications (the routine is called from many different places) and I'm not sure if comparing by spell ID is always a good idea, so not sure if this is a good fix (since this type of test does not compare the absence/presence of targets in the SA/SI):
- Agetian
Similar unless cost does not work on other cards too, for example, Diffusion Sliver or Frost Titan (you can choose not to pay
and the spell is not countered anyway).A rather baffling, but serious issue, looks like it may affect a lot of these "unless" costs. I tried tracing through handleUnlessCost but didn't get any conclusive results as to why this is happening 'cause debugging in NetBeans sort of glitches when the player is to be provided with a way to input the cost payment...
EDIT: If it helps, it looks like getInstanceFromSpellAbility can't find the relevant instance of the ability on the stack at CounterEffect.java:107. In particular, the check at MagicStack.java:783 fails when testing the proper ability against the proper stack instance. It looks like SpellAbilityStackInstance::compareToSpellAbility may be broken, it's trying to compare the spell ability to the spell ability on the stack by comparing their targets, but it looks like the spell ability itself (the one compared and not the one on the stack) has no targets, thus the check always fails. Not sure how to best approach fixing this. Help is welcome.
EDIT 2: In continuation of my investigation, adding this code to getInstanceFromSpellAbility as an alternative comparison of sa to si solves the problem, but it's a very "deep-going" change with lots of possible implications (the routine is called from many different places) and I'm not sure if comparing by spell ID is always a good idea, so not sure if this is a good fix (since this type of test does not compare the absence/presence of targets in the SA/SI):
- Code: Select all
if (sa.getId() == si.getSpellAbility(false).getId()) {
return si;
}
- Agetian
Last edited by Agetian on 10 Oct 2016, 12:32, edited 9 times in total.
- Agetian
- Programmer
- Posts: 3490
- Joined: 14 Mar 2011, 05:58
- Has thanked: 684 times
- Been thanked: 572 times
Re: Bug Reports (snapshot builds)
by Marek14 » 10 Oct 2016, 08:35
Silumgar's Scorn shows its additional cost twice (plus option to combine both).
Melek, Izzet Paragon doesn't let me play Traumatize from the top of my library.
Melek, Izzet Paragon doesn't let me play Traumatize from the top of my library.
Re: Bug Reports (snapshot builds)
by Hanmac » 10 Oct 2016, 11:46
i think i found it.Marek14 wrote:AI casts Unsummon on Vulturous Zombie. Vulturous Zombie triggers (it shouldn't, because it leaves the battlefield before Unsummon is put into the graveyard), AND it gets a +1/+1 counter while in my hand.
i added a resetActiveTriggers into MagicStack.removeCardFromStack.
i don't know if it has other side effects, feel free to check that out.
Re: Bug Reports (snapshot builds)
by Agetian » 11 Oct 2016, 15:45
Some more trigger shenanigans (confirming a bug from the Android thread as universally applicable): as of r32329, Finest Hour's trigger that untaps an attacking creature and gives an additional combat phase does not work. It looks like there's something wrong with processing the "FirstCombat$ True" condition...
EDIT: It looks like this can potentially be fixed by tweaking the condition check routine isFirstCombat(), which expects combat phases to be counted from 1 upwards but it looks like the way they are handled in the PhaseHandler, the first combat phase is actually going to be represented by 0, the second one with 1, etc. I'm not entirely sure about this, please let me know if this breaks something (and if you have better advice as to how to handle this, it'd be great!
). I'm a little wary of this current fix since now both isFirstCombat and isPreCombatMain return true with the same condition (num combats == 0). I checked the relevant code where these methods are used and they both seem to make sense now, but you never know. :/
- Agetian
EDIT: It looks like this can potentially be fixed by tweaking the condition check routine isFirstCombat(), which expects combat phases to be counted from 1 upwards but it looks like the way they are handled in the PhaseHandler, the first combat phase is actually going to be represented by 0, the second one with 1, etc. I'm not entirely sure about this, please let me know if this breaks something (and if you have better advice as to how to handle this, it'd be great!
- Agetian
- Agetian
- Programmer
- Posts: 3490
- Joined: 14 Mar 2011, 05:58
- Has thanked: 684 times
- Been thanked: 572 times
Re: Bug Reports (snapshot builds)
by Hanmac » 11 Oct 2016, 16:49
i reset your change and fixed it correct i seems.
the problem was: with how the Active Triggers are now,
it was not active the moment the Attack Trigger was checked.
i added a "game.getTriggerHandler().resetActiveTriggers();" after "nCombatsThisTurn++"
now the active Trigger are reset, and now isFirstCombat is True and makes the Trigger active, and if you attack it does trigger as it should.
the problem was: with how the Active Triggers are now,
it was not active the moment the Attack Trigger was checked.
i added a "game.getTriggerHandler().resetActiveTriggers();" after "nCombatsThisTurn++"
now the active Trigger are reset, and now isFirstCombat is True and makes the Trigger active, and if you attack it does trigger as it should.
Who is online
Users browsing this forum: No registered users and 182 guests