It is currently 23 May 2025, 11:26
   
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 Max mtg » 03 Apr 2013, 13:53

Just tried it: Goblin Bushwhacker under Armadillo Cloak, AI had noone to block with, dealt 3 damage, I got 3 lives.
Either it works, or I need your example that does fail to gain life.
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)

Postby moomarc » 03 Apr 2013, 14:21

Max mtg wrote:Just tried it: Goblin Bushwhacker under Armadillo Cloak, AI had noone to block with, dealt 3 damage, I got 3 lives.
Either it works, or I need your example that does fail to gain life.
I'll have to try again when this storm passes by, but in my test scenario I made the AI Donate his Ulamog's Crusher to me (I had him out for the AI for another test). It was the only card on the board aside from 1 AI land. I enchanted it with Armadillo Cloak (brought into play via dev console) and attacked. I stayed on 20 life.
-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 Max mtg » 03 Apr 2013, 15:45

@Marc, there was a problem with calculateAmount handling positive constant numbers (not expressions or references to variables) written with leading plus - were solved.
Tried your cards - still worked for me.

@Corwin72, your stack trace refers to an outdate source, (inputControl does not have peeks of input at line 132), can't help.

Today's snapshot has bad calculateAmount routine (fixed in 20755), I expect it to crash a lot.
Use SVN version if possible.
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)

Postby moomarc » 03 Apr 2013, 15:51

Max mtg wrote:@Marc, there was a problem with calculateAmount handling positive numbers written with leading plus - were solved.
Tried your cards - still worked for me.

@Corwin72, your stack trace refers to an outdate source, (inputControl does not have peeks of input at line 132), can't help.

Use SVN version if possible.
Today's snapshot has bad calculateAmount routine (fixed in 20755), I expect it to crash a lot.
Thanks Max. Yeah, tried again now and it worked fine. Maybe I just quit before the end of combat or something. Sorry for wasting your time.
-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 Max mtg » 03 Apr 2013, 21:16

You cannot target an opponent's planeswalker with a lightning bolt.
^^^
I'll work on this next.

BTW, was it working in previous versions?
Which effects besides damage may be redirected from player to a planeswalker (s)he controls?
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)

Postby friarsol » 03 Apr 2013, 21:27

Max mtg wrote:You cannot target an opponent's planeswalker with a lightning bolt.
^^^
I'll work on this next.

BTW, was it working in previous versions?
Which effects besides damage may be redirected from player to a planeswalker (s)he controls?
Wait what? You have to target a player, and then during damage resolution you can choose to redirect. That definitely used to work. Are you saying it doesn't?
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 Sloth » 03 Apr 2013, 21:27

Max mtg wrote:You cannot target an opponent's planeswalker with a lightning bolt.
:?: Lightning Bolt shouldn't be able to target a planeswalker. The redirections works just fine.
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 Max mtg » 03 Apr 2013, 21:42

Well, ok.
I wanted to add redirection info to targeting data at the moment player is aiming at targets spells.

If it works just fine, I'll go check what Steam has to offer these days.
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)

Postby Sloth » 03 Apr 2013, 22:03

I've just got this error, when i hit ok too fast during my opponents turn. Nothing bad happened though (the game just went on). Looks similar to Corwin's bug.

EmptyStackException | Open
Code: Select all
Forge Version:    SVN
Operating System: Windows 7 6.1 amd64
Java Version:     1.6.0_38 Sun Microsystems Inc.

java.util.EmptyStackException
   at java.util.Stack.peek(Unknown Source)
   at forge.control.input.InputControl.getActualInput(InputControl.java:141)
   at forge.gui.InputProxy.update(InputProxy.java:69)
   at java.util.Observable.notifyObservers(Unknown Source)
   at java.util.Observable.notifyObservers(Unknown Source)
   at forge.util.MyObservable.updateObservers(MyObservable.java:38)
   at forge.control.input.InputControl.removeInput(InputControl.java:104)
   at forge.control.input.InputControl.unlock(InputControl.java:207)
   at forge.FThreads$1.run(FThreads.java:103)
   at java.util.concurrent.ThreadPoolExecutor$Worker.runTask(Unknown Source)
   at java.util.concurrent.ThreadPoolExecutor$Worker.run(Unknown Source)
   at java.lang.Thread.run(Unknown Source)
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 Sloth » 03 Apr 2013, 22:17

friarsol wrote:
Almeida wrote:i played a Experiment One in first turn and played a Burning-Tree Emissary in second and Flinthoof Boar and experiment gets 1 counter flinthoof comes into play 3/3 i have a mountain and Stomping Ground
Yes a few people have reported this already. It's an issue with the timing between static pumps and triggers.
An experimental fix has been commited. Continuous Static Abilities are now checked before waiting triggers are run.

This will affect all Triggers, not only ETB ones and can therefore cause some problems. Cards leaving the battlefield are stored as LKI copies, they are safe, but other triggers are not.
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 Max mtg » 03 Apr 2013, 22:29

Sloth, I thought something like that might happen theoretically - and now it has. This will have me change the public methods of inputs so that they check if input is still active (a field in inputbase class) and forward message to protected handler member only if the former is.

Sol, what have you done by now on spell effects that change spells targets? Do you have the effect class and parameters implemented?
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)

Postby friarsol » 03 Apr 2013, 22:54

Max mtg wrote:Sol, what have you done by now on spell effects that change spells targets? Do you have the effect class and parameters implemented?
A single base effect works (for Human) except for the fact the the Stack Descriptions aren't redrawn with the correct retargeting info after the target changes.

Ex. Lightning Bolt a creature, cast Swerve redirecting it to a player. The bolt still says it's targeting the creature, but when it resolves it damages the player.

Haven't had the time to debug it further than that yet. Why do you ask?
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 » 04 Apr 2013, 02:30

Max mtg wrote:@sol
Took you quest save, didn't reproduce as well. Will try same thing as made for GuiChoose (commited as r20735). Does this solve anything?
No dice. Still happens everytime.

Does anyone else see this?

Crash on Quest 2nd game Sideboard | Open
EDT > entering sideboard routine
java.lang.NullPointerException
at forge.control.input.InputMulligan.showMessage(InputMulligan.java:68)
at forge.gui.InputProxy$2.run(InputProxy.java:76)
at java.awt.event.InvocationEvent.dispatch(Unknown Source)
at java.awt.EventQueue.dispatchEventImpl(Unknown Source)
at java.awt.EventQueue.access$000(Unknown Source)
at java.awt.EventQueue$1.run(Unknown Source)
at java.awt.EventQueue$1.run(Unknown Source)
at java.security.AccessController.doPrivileged(Native Method)
at java.security.AccessControlContext$1.doIntersectionPrivilege(Unknown Source)
at java.awt.EventQueue.dispatchEvent(Unknown Source)
at java.awt.EventDispatchThread.pumpOneEventForFilters(Unknown Source)
at java.awt.EventDispatchThread.pumpEventsForFilter(Unknown Source)
at java.awt.EventDispatchThread.pumpEventsForFilter(Unknown Source)
at java.awt.Dialog$1.run(Unknown Source)
at java.awt.Dialog$3.run(Unknown Source)
at java.security.AccessController.doPrivileged(Native Method)
at java.awt.Dialog.show(Unknown Source)
at java.awt.Component.show(Unknown Source)
at java.awt.Component.setVisible(Unknown Source)
at java.awt.Window.setVisible(Unknown Source)
at java.awt.Dialog.setVisible(Unknown Source)
at forge.gui.GuiChoose$2.call(GuiChoose.java:192)
at forge.gui.GuiChoose$2.call(GuiChoose.java:1)
at java.util.concurrent.FutureTask$Sync.innerRun(Unknown Source)
at java.util.concurrent.FutureTask.run(Unknown Source)
at forge.FThreads.invokeInEDTAndWait(FThreads.java:77)
at forge.gui.GuiChoose.order(GuiChoose.java:203)
at forge.gui.GuiChoose.sideboard(GuiChoose.java:158)
at forge.game.player.PlayerControllerHuman.sideboard(PlayerControllerHuman.java:165)
at forge.game.GameNew.newGame(GameNew.java:126)
at forge.game.MatchController.startRound(MatchController.java:187)
at forge.gui.match.ControlWinLose.actionOnContinue(ControlWinLose.java:81)
at forge.gui.match.ControlWinLose$1.actionPerformed(ControlWinLose.java:49)
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 » 04 Apr 2013, 02:50

r20767
Sometimes when I declare an attack the next phase Input Box loses focus, so I can't just press space to continue through combat quickly.

Buyback is currently broken it looks like it's prompting twice for the same value. I cast Capsize with Buyback on a creature. I pay 4 U U. And then I'm prompted to pay another 3 mana.

Knollspine Invocation does not work currently. I announce X as 5, planning on discarding a Flame Spirit in my hand. I pay my 5 mana (correct) but when I need to discard it won't let me discard the Spirit, and instead the only thing I can discard is a Land. Also, the prompt to discard the card has been removed, which may lead to User Experience issues of accidentally discarding the wrong card. Additionally, now that I have no cards in my hand that have a CMC of 0 I can't even activate it.

Also, I'm still not sure about this new Announce dialog. It seems weird that when I type '11' I'm brought to '10' even though in the old dialog I could just type 11 and press enter. Plus if I want to choose X to be > 20 I have to scroll all the way to the bottom of the dialog, select other amount, and then just type what I want. Why can't we just type what you want to begin with?
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 Max mtg » 04 Apr 2013, 03:38

friarsol wrote:
Max mtg wrote:Sol, what have you done by now on spell effects that change spells targets? Do you have the effect class and parameters implemented?
A single base effect works (for Human) except for the fact the the Stack Descriptions aren't redrawn with the correct retargeting info after the target changes.

Ex. Lightning Bolt a creature, cast Swerve redirecting it to a player. The bolt still says it's targeting the creature, but when it resolves it damages the player.

Haven't had the time to debug it further than that yet. Why do you ask?
I was looking at missing cards, have seen Redirect there, thought it could be relativelly easy to implement it now when I know how the targeting works.
A spell has to target spell with targets. Effect can save the old target, take input from player or directions from AI (I'll have to find where they are given), and then in case of success simply replace the target. Stack descriptions should become correct with no extra efforts (if stack UI does fetch the text on redraw).

So if you haven't done anything yet, I'd write that code. But looks like you have - let's wait for your implementation then
Single class for single responsibility.
Max mtg
Programmer
 
Posts: 1997
Joined: 02 Jul 2011, 14:26
Has thanked: 173 times
Been thanked: 334 times

PreviousNext

Return to Developer's Corner

Who is online

Users browsing this forum: Google [Bot] and 21 guests


Who is online

In total there are 22 users online :: 1 registered, 0 hidden and 21 guests (based on users active over the past 10 minutes)
Most users ever online was 4143 on 23 Jan 2024, 08:21

Users browsing this forum: Google [Bot] and 21 guests

Login Form