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 Max mtg » 08 Nov 2012, 22:56
the oblivion ring problem is about that proxy ability defined near triggerhandler.java:520 was not updated with new methods I've added
I strongly dislike the way that wrapper is made, I'll find a method to overcome the need to create such a proxy.
I strongly dislike the way that wrapper is made, I'll find a method to overcome the need to create such a proxy.
Single class for single responsibility.
- Max mtg
- Programmer
- Posts: 1997
- Joined: 02 Jul 2011, 14:26
- Has thanked: 173 times
- Been thanked: 334 times
Re: Bug Reports (snapshot builds)
by ArsenalNut » 09 Nov 2012, 03:06
Detention Sphere doesn't exile all permanents with the same name anymore.
Last edited by Chris H. on 09 Nov 2012, 11:19, edited 1 time in total.
Reason: mouse-over
Reason: mouse-over
So many cards, so little time
-
ArsenalNut - Posts: 512
- Joined: 08 Jul 2011, 03:49
- Has thanked: 27 times
- Been thanked: 121 times
Re: Bug Reports (snapshot builds)
by sollecus11 » 09 Nov 2012, 10:48
Hi there! Congrats for the great work you're doing on Forge! It has evolved immensely since its awesome creation. I've been a lurker in these forums but decided it was time to contribute for the project I've been enjoying for so long.
Having said that, I'd like to file a bug report.
I'm using forge-1.3.1-20121108.122459-11.
The Tectonic Rift card caused a crash report (unfortunately I haven't copied it) when targeting a land. The land destruction effect went on stack but didn't resolve. The 2nd effect "Creatures without flying can't block this turn" works correctly though. Thanks for your attention.

Having said that, I'd like to file a bug report.
I'm using forge-1.3.1-20121108.122459-11.
The Tectonic Rift card caused a crash report (unfortunately I haven't copied it) when targeting a land. The land destruction effect went on stack but didn't resolve. The 2nd effect "Creatures without flying can't block this turn" works correctly though. Thanks for your attention.
- sollecus11
- Posts: 8
- Joined: 09 Nov 2012, 10:15
- Has thanked: 0 time
- Been thanked: 0 time
Re: Bug Reports (snapshot builds)
by Sloth » 09 Nov 2012, 19:07
That would be nice. This function always felt wrong.Max mtg wrote:I strongly dislike the way that wrapper is made, I'll find a method to overcome the need to create such a proxy.
-
Sloth - Programmer
- Posts: 3498
- Joined: 23 Jun 2009, 19:40
- Has thanked: 125 times
- Been thanked: 507 times
Re: Bug Reports (snapshot builds)
by Diogenes » 09 Nov 2012, 20:24
I'm not sure if this affects anything, but in cardsfolder.zip Craterhoof Behemoth's text file is craterfoot_behemoth.txt instead of craterhoof_behemoth.txt.
Also, this might have been mentioned but I haven't noticed it. The cursor doesn't change to indicate when you can resize windows in the deck editor again (in-game it works fine.)
Also, this might have been mentioned but I haven't noticed it. The cursor doesn't change to indicate when you can resize windows in the deck editor again (in-game it works fine.)
Re: Bug Reports (snapshot builds)
by Max mtg » 10 Nov 2012, 15:17
Well, the soultion is not as clear as I hoped it would be.Sloth wrote:That would be nice. This function always felt wrong.Max mtg wrote:I strongly dislike the way that wrapper is made, I'll find a method to overcome the need to create such a proxy.
I think we need to declare an interface for an object-on-stack with all methods it needs and make SpellAbility and SA-wrapping-a-trigger implement it. This way a wrapper SA class might have less methods than an ordinary spellability.
Yet, for now I have moved the class formerly inlined in forge.card.trigger.TriggerHandler.runSingleTrigger(Trigger, TriggerType, Map<String, Object>) into a separate file. At least that will stop ruining the readability of TriggerHandler class and this made Oblivion ring working again.
Single class for single responsibility.
- Max mtg
- Programmer
- Posts: 1997
- Joined: 02 Jul 2011, 14:26
- Has thanked: 173 times
- Been thanked: 334 times
Re: Bug Reports (snapshot builds)
by friarsol » 10 Nov 2012, 16:19
Very low priority, but wanted to report since I noticed it. The Dev Mode "add to play" button actually adds things to the Stack, so it's impossible to add Land into play using it.
- friarsol
- Global Moderator
- Posts: 7593
- Joined: 15 May 2010, 04:20
- Has thanked: 243 times
- Been thanked: 965 times
Re: Bug Reports (snapshot builds)
by Max mtg » 10 Nov 2012, 16:25
That's true. I did not know how to do make AI play land. If anyone knows the correct code, add it, please.friarsol wrote:Very low priority, but wanted to report since I noticed it. The Dev Mode "add to play" button actually adds things to the Stack, so it's impossible to add Land into play using it.
Single class for single responsibility.
- Max mtg
- Programmer
- Posts: 1997
- Joined: 02 Jul 2011, 14:26
- Has thanked: 173 times
- Been thanked: 334 times
Re: Bug Reports (snapshot builds)
by Tenneko » 12 Nov 2012, 02:29
Okay, I'm new to this bug reporting thing, so if I'm doing this wrong, sorry, but I love this game and all the new stuff you all have done with it so decided to check out the newest snapshots. But something weird keeps happening. All I'm doing is attempting to start a new quest, no saved data, no altered preferences but whenever I try to define which packs I want to be limited to, i get a crash report and it doesn't let me save my choices, even if I only have one pack clicked. It has so far done this with
versions:
forge-1.3.1-20121111.121946-14.tar.bz2
forge-1.3.1-20121110.131433-13.tar.bz2
forge-1.3.1-20121109.120457-12.tar.bz2
forge-1.3.1-20121108.122459-11.tar.bz2
forge-1.3.1-20121107.114557-10.tar.bz2
but version: forge-1.3.1-20121106.124336-9.tar.bz2 and before work fine. If this is because I'm doing something, I'm sorry for wasting your time, but if it is an actual problem, I hope the crash report below helps solve it. It was the same crash report every time for each of the versions I stated above.
versions:
forge-1.3.1-20121111.121946-14.tar.bz2
forge-1.3.1-20121110.131433-13.tar.bz2
forge-1.3.1-20121109.120457-12.tar.bz2
forge-1.3.1-20121108.122459-11.tar.bz2
forge-1.3.1-20121107.114557-10.tar.bz2
but version: forge-1.3.1-20121106.124336-9.tar.bz2 and before work fine. If this is because I'm doing something, I'm sorry for wasting your time, but if it is an actual problem, I hope the crash report below helps solve it. It was the same crash report every time for each of the versions I stated above.
- Attachments
-
2012-11-11-00 crash report.txt
- Hope this crash report helps, its for forge-1.3.1-20121111.121946-14.tar.bz2 specifically
- (3 KiB) Downloaded 207 times
Re: Bug Reports (snapshot builds)
by friarsol » 12 Nov 2012, 02:57
r18026
AI casts Puppeteer Clique on resolution I get this NPE.
AI casts Puppeteer Clique on resolution I get this NPE.
- NPE | Open
- java.lang.NullPointerException
at forge.card.abilityfactory.ai.ChangeZoneAllAi.canPlayAI(ChangeZoneAllAi.java:57)
at forge.card.abilityfactory.SpellAiLogic.canPlayAIWithSubs(SpellAiLogic.java:16)
at forge.card.abilityfactory.CommonAbility.canPlayAI(CommonAbility.java:66)
at forge.card.abilityfactory.ai.DelayedTriggerAi.chkAIDrawback(DelayedTriggerAi.java:19)
at forge.card.abilityfactory.CommonDrawback.chkAIDrawback(CommonDrawback.java:70)
at forge.card.abilityfactory.CommonDrawback.chkAIDrawback(CommonDrawback.java:74)
at forge.card.abilityfactory.SpellAiLogic.doTriggerNoCostWithSubs(SpellAiLogic.java:35)
at forge.card.abilityfactory.SpellAiLogic.doTriggerAI(SpellAiLogic.java:26)
at forge.card.abilityfactory.CommonAbility.doTrigger(CommonAbility.java:71)
at forge.card.trigger.WrappedAbility.doTrigger(WrappedAbility.java:151)
- friarsol
- Global Moderator
- Posts: 7593
- Joined: 15 May 2010, 04:20
- Has thanked: 243 times
- Been thanked: 965 times
Re: Bug Reports (snapshot builds)
by Sloth » 12 Nov 2012, 09:23
Fixed! Thanks sol.friarsol wrote:r18026
AI casts Puppeteer Clique on resolution I get this NPE.
- NPE | Open
- java.lang.NullPointerException
at forge.card.abilityfactory.ai.ChangeZoneAllAi.canPlayAI(ChangeZoneAllAi.java:57)
at forge.card.abilityfactory.SpellAiLogic.canPlayAIWithSubs(SpellAiLogic.java:16)
at forge.card.abilityfactory.CommonAbility.canPlayAI(CommonAbility.java:66)
at forge.card.abilityfactory.ai.DelayedTriggerAi.chkAIDrawback(DelayedTriggerAi.java:19)
at forge.card.abilityfactory.CommonDrawback.chkAIDrawback(CommonDrawback.java:70)
at forge.card.abilityfactory.CommonDrawback.chkAIDrawback(CommonDrawback.java:74)
at forge.card.abilityfactory.SpellAiLogic.doTriggerNoCostWithSubs(SpellAiLogic.java:35)
at forge.card.abilityfactory.SpellAiLogic.doTriggerAI(SpellAiLogic.java:26)
at forge.card.abilityfactory.CommonAbility.doTrigger(CommonAbility.java:71)
at forge.card.trigger.WrappedAbility.doTrigger(WrappedAbility.java:151)
-
Sloth - Programmer
- Posts: 3498
- Joined: 23 Jun 2009, 19:40
- Has thanked: 125 times
- Been thanked: 507 times
Re: Bug Reports (snapshot builds)
by RumbleBBU » 12 Nov 2012, 10:35
Serious bug in GameFormatQuest.java spanning several snapshots...fixed.
The bug was introduced in r17875, evidently with the best of intentions.
Believe me, when I originally wrote the class, my first instinct was to inherit GameFormat.java. It seemed only logical, and would have saved a lot space.
And there's a damn good reason I didn't. What it boils down is this part of GameFormat.java:
- Define your own custom formats when you start a quest, nor
- Unlock any new sets in the course of your quest
If you tried to, you would get a runtime error! (unsupported method)
The only real way to make GameFormatQuest extend GameFormat would be to make the GameFormat privates non-final/non-immutable (and then make sure that the methods of base GameFormat class only give immutable access, while the inheriting GameFormatQuest could have methods that give non-immutable access). (I preferred not to touch the GameFormat class, so I chose to replicate a lot of its code.)
I thought this should have been pretty obvious if you considered for a moment what the GameFormatQuest class was actually used for.
The bug was introduced in r17875, evidently with the best of intentions.
Believe me, when I originally wrote the class, my first instinct was to inherit GameFormat.java. It seemed only logical, and would have saved a lot space.
And there's a damn good reason I didn't. What it boils down is this part of GameFormat.java:
- Code: Select all
this.allowedSetCodes = Collections.unmodifiableList(sets);
this.bannedCardNames = Collections.unmodifiableList(bannedCards);
protected final transient Predicate<CardPrinted> filterRules;
protected final transient Predicate<CardPrinted> filterPrinted;
- Define your own custom formats when you start a quest, nor
- Unlock any new sets in the course of your quest
If you tried to, you would get a runtime error! (unsupported method)
The only real way to make GameFormatQuest extend GameFormat would be to make the GameFormat privates non-final/non-immutable (and then make sure that the methods of base GameFormat class only give immutable access, while the inheriting GameFormatQuest could have methods that give non-immutable access). (I preferred not to touch the GameFormat class, so I chose to replicate a lot of its code.)
I thought this should have been pretty obvious if you considered for a moment what the GameFormatQuest class was actually used for.
Re: Bug Reports (snapshot builds)
by Max mtg » 12 Nov 2012, 11:14
Predicates now hold references to lists you change, so they get auto-updated when you change the allowed lists.
Single class for single responsibility.
- Max mtg
- Programmer
- Posts: 1997
- Joined: 02 Jul 2011, 14:26
- Has thanked: 173 times
- Been thanked: 334 times
Re: Bug Reports (snapshot builds)
by RumbleBBU » 12 Nov 2012, 11:30
Yes, but the fundamental problem in this case was that you could not change the unmodifiable lists at all.
Re: Bug Reports (snapshot builds)
by Max mtg » 12 Nov 2012, 12:27
Ok, will changes in 18051 do the job?
Single class for single responsibility.
- Max mtg
- Programmer
- Posts: 1997
- Joined: 02 Jul 2011, 14:26
- Has thanked: 173 times
- Been thanked: 334 times
Who is online
Users browsing this forum: No registered users and 33 guests