It is currently 23 Aug 2025, 11:43
   
Text Size

Forge Beta: 1-5-2015 ver 1.5.32

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

Re: Forge Beta: 1-5-2015 ver 1.5.32

Postby Swalker » 10 Jan 2015, 03:10

Bug report: Theros draft

Description: Been getting these crashes every time I try a Theros or Theros block draft in Quest mode, for the past few versions. Always happens during the drafting; if I can make it through to deck building without a crash then the draft runs fine, but 90% of the time it crashes during the draft and I have to start over.


trying to put in the bug report text, but forum won't let me: "Your post looks too spamy for a new user, please remove off-site URLs."
Swalker
 
Posts: 3
Joined: 06 Dec 2014, 19:15
Has thanked: 0 time
Been thanked: 0 time

Re: Forge Beta: 1-5-2015 ver 1.5.32

Postby pfps » 10 Jan 2015, 03:59

I'm a bit annoyed with the different ways to enter input - Prompt pane vs popups. I filed a bug report *and* I have a fix. However, this is a GUI change and maybe there should be some discussion of just what should be done. Where should this discussion take place?

peter
pfps
 
Posts: 53
Joined: 09 Jan 2015, 14:34
Has thanked: 0 time
Been thanked: 7 times

Re: Forge Beta: 1-5-2015 ver 1.5.32

Postby drdev » 10 Jan 2015, 04:07

pfps wrote:I'm a bit annoyed with the different ways to enter input - Prompt pane vs popups. I filed a bug report *and* I have a fix. However, this is a GUI change and maybe there should be some discussion of just what should be done. Where should this discussion take place?

peter
You can start your own topic if you want, but otherwise having it here is fine. Might I ask which inputs you think should be different? I'm aware of some yes/no popups that I eventually plan to make use the prompt instead if that's what you're referring to.
drdev
Programmer
 
Posts: 1958
Joined: 27 Jul 2013, 02:07
Has thanked: 189 times
Been thanked: 565 times

Re: Forge Beta: 1-5-2015 ver 1.5.32

Postby Nekoatl » 10 Jan 2015, 07:16

Description: The AI just summoned his first creature in a Vanguard game where he was using the Stonehewer Giant avatar.

NullPointerException | Open
Code: Select all
Forge Version:    1.5.32-r28553M
Operating System: Windows 7 6.1 x86
Java Version:     1.8.0_25 Oracle Corporation

java.lang.NullPointerException
   at forge.game.card.Card.hasProperty(Card.java:3484)
   at forge.game.card.Card.isValid(Card.java:3472)
   at forge.game.ability.effects.CopyPermanentEffect.resolve(CopyPermanentEffect.java:111)
   at forge.game.ability.AbilityApiBased.resolve(AbilityApiBased.java:60)
   at forge.game.ability.AbilityUtils.resolveApiAbility(AbilityUtils.java:1232)
   at forge.game.ability.AbilityUtils.resolve(AbilityUtils.java:1214)
   at forge.ai.ComputerUtil.playNoStack(ComputerUtil.java:252)
   at forge.ai.PlayerControllerAi.playSpellAbilityNoStack(PlayerControllerAi.java:302)
   at forge.game.trigger.WrappedAbility.resolve(WrappedAbility.java:412)
   at forge.game.ability.AbilityUtils.resolveApiAbility(AbilityUtils.java:1232)
   at forge.game.ability.AbilityUtils.resolve(AbilityUtils.java:1214)
   at forge.game.zone.MagicStack.resolveStack(MagicStack.java:467)
   at forge.game.phase.PhaseHandler.startFirstTurn(PhaseHandler.java:972)
   at forge.game.GameAction.startGame(GameAction.java:1383)
   at forge.game.Match.startGame(Match.java:71)
   at forge.match.MatchUtil$2.run(MatchUtil.java:201)
   at java.util.concurrent.ThreadPoolExecutor.runWorker(Unknown Source)
   at java.util.concurrent.ThreadPoolExecutor$Worker.run(Unknown Source)
   at java.lang.Thread.run(Unknown Source)
Attachments
log.png
stack.png
Nekoatl
 
Posts: 196
Joined: 22 Aug 2013, 20:13
Has thanked: 21 times
Been thanked: 8 times

Re: Forge Beta: 1-5-2015 ver 1.5.32

Postby Midori » 11 Jan 2015, 01:17

I control Whip of Erebos.
When my Volcano Hellion shoots damage to my Spitemare or Boros Reckoner, i wont gain Life from Spitemare's or Boros Reckoner's Lifelink despite Rule 608.2g.

By the way, is it possible to increase the damage cap of Volcano Hellion, or change it so to be like an Spell with X in its casting cost?
Midori
 
Posts: 55
Joined: 20 Apr 2014, 12:43
Has thanked: 1 time
Been thanked: 4 times

Re: Forge Beta: 1-5-2015 ver 1.5.32

Postby friarsol » 11 Jan 2015, 02:37

Bundy wrote:Emblem of Elspeth, Knight-Errant only makes artifacts, enchantments and lands indestructible. Creatures don't get indestructible.
Can you say specifically why you think this? I just tried it and my creatures are listed as indestructible.

Edit: And they don't die when receiving lethal damage...
friarsol
Global Moderator
 
Posts: 7593
Joined: 15 May 2010, 04:20
Has thanked: 243 times
Been thanked: 965 times

Re: Forge Beta: 1-5-2015 ver 1.5.32

Postby pfps » 11 Jan 2015, 05:18

drdev wrote:
pfps wrote:I'm a bit annoyed with the different ways to enter input - Prompt pane vs popups. I filed a bug report *and* I have a fix. However, this is a GUI change and maybe there should be some discussion of just what should be done. Where should this discussion take place?

peter
You can start your own topic if you want, but otherwise having it here is fine. Might I ask which inputs you think should be different? I'm aware of some yes/no popups that I eventually plan to make use the prompt instead if that's what you're referring to.
The place that I noticed it the most was with AEther vial. The triggered ability uses the prompt pane for confirmation, but the tap ability uses a popup when asking whether to search the hand.

I actually have a fix for the problem, which turned out to be simpler than I expected. The changes are in PlayerControllerHuman - confirmAction and similar. There are probably other places that should be changed as well.

I think that anything that asks a two-answer question should probably use the prompt pane.
pfps
 
Posts: 53
Joined: 09 Jan 2015, 14:34
Has thanked: 0 time
Been thanked: 7 times

Re: Forge Beta: 1-5-2015 ver 1.5.32

Postby pfps » 11 Jan 2015, 05:26

I just tried a double counter - two counterspells on the same spell. I thought that the first one would fizzle, as the spell being countered was not there on resolution. Is this a known problem?

The reason that I was looking at this was that I was trying to figure out what is causing the Hive Mind - Pact of Negation bug. This appears to be caused by overzealous use of resetTargets - the spell that the AI gets has no targets and the AI just lets it fizzle. I have a potential fix for this, but I worry that it will break other things.
pfps
 
Posts: 53
Joined: 09 Jan 2015, 14:34
Has thanked: 0 time
Been thanked: 7 times

Re: Forge Beta: 1-5-2015 ver 1.5.32

Postby pfps » 11 Jan 2015, 07:02

It looks as if canTargetSpellAbility does not check to see if the spell is on the stack. This is, I think, the base problem with counterspells not fizzling if the spell they are targeting has already been countered.

Is there an easy way to see whether a spell is on the stack?
pfps
 
Posts: 53
Joined: 09 Jan 2015, 14:34
Has thanked: 0 time
Been thanked: 7 times

Re: Forge Beta: 1-5-2015 ver 1.5.32

Postby laxika » 11 Jan 2015, 12:36

Description: Got this while closed the Spell Shop. (I was on Home.)

IllegalArgumentException | Open
Code: Select all
Forge Version:    1.5.32-r28553M
Operating System: Mac OS X 10.10 x86_64
Java Version:     1.8.0_25 Oracle Corporation

java.lang.IllegalArgumentException: illegal component position
   at java.awt.Container.addImpl(Container.java:1098)
   at java.awt.Container.add(Container.java:1003)
   at forge.gui.framework.DragCell.addDoc(DragCell.java:275)
   at forge.screens.deckeditor.controllers.CEditorQuest.resetUIChanges(CEditorQuest.java:304)
   at forge.screens.deckeditor.CDeckEditorUI.canSwitchAway(CDeckEditorUI.java:88)
   at forge.screens.deckeditor.VDeckEditorUI.onClosing(VDeckEditorUI.java:63)
   at forge.gui.framework.FScreen.onClosing(FScreen.java:196)
   at forge.view.FNavigationBar.closeTab(FNavigationBar.java:152)
   at forge.view.FNavigationBar.access$1100(FNavigationBar.java:27)
   at forge.view.FNavigationBar$NavigationTab$CloseButton$1.mouseReleased(FNavigationBar.java:482)
   at java.awt.AWTEventMulticaster.mouseReleased(AWTEventMulticaster.java:289)
   at java.awt.Component.processMouseEvent(Component.java:6525)
   at javax.swing.JComponent.processMouseEvent(JComponent.java:3321)
   at java.awt.Component.processEvent(Component.java:6290)
   at java.awt.Container.processEvent(Container.java:2234)
   at java.awt.Component.dispatchEventImpl(Component.java:4881)
   at java.awt.Container.dispatchEventImpl(Container.java:2292)
   at java.awt.Component.dispatchEvent(Component.java:4703)
   at java.awt.LightweightDispatcher.retargetMouseEvent(Container.java:4898)
   at java.awt.LightweightDispatcher.processMouseEvent(Container.java:4533)
   at java.awt.LightweightDispatcher.dispatchEvent(Container.java:4462)
   at java.awt.Container.dispatchEventImpl(Container.java:2278)
   at java.awt.Window.dispatchEventImpl(Window.java:2739)
   at java.awt.Component.dispatchEvent(Component.java:4703)
   at java.awt.EventQueue.dispatchEventImpl(EventQueue.java:746)
   at java.awt.EventQueue.access$400(EventQueue.java:97)
   at java.awt.EventQueue$3.run(EventQueue.java:697)
   at java.awt.EventQueue$3.run(EventQueue.java:691)
   at java.security.AccessController.doPrivileged(Native Method)
   at java.security.ProtectionDomain$1.doIntersectionPrivilege(ProtectionDomain.java:75)
   at java.security.ProtectionDomain$1.doIntersectionPrivilege(ProtectionDomain.java:86)
   at java.awt.EventQueue$4.run(EventQueue.java:719)
   at java.awt.EventQueue$4.run(EventQueue.java:717)
   at java.security.AccessController.doPrivileged(Native Method)
   at java.security.ProtectionDomain$1.doIntersectionPrivilege(ProtectionDomain.java:75)
   at java.awt.EventQueue.dispatchEvent(EventQueue.java:716)
   at java.awt.EventDispatchThread.pumpOneEventForFilters(EventDispatchThread.java:201)
   at java.awt.EventDispatchThread.pumpEventsForFilter(EventDispatchThread.java:116)
   at java.awt.EventDispatchThread.pumpEventsForHierarchy(EventDispatchThread.java:105)
   at java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:101)
   at java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:93)
   at java.awt.EventDispatchThread.run(EventDispatchThread.java:82)
laxika
 
Posts: 14
Joined: 26 Mar 2012, 22:43
Has thanked: 0 time
Been thanked: 0 time

Re: Forge Beta: 1-5-2015 ver 1.5.32

Postby Plasmatic » 12 Jan 2015, 04:52

Hello! Take from Give//Take doesn't seem to be working properly, as all the +1/+1 counters are removed but I only get one draw at most regardless of the number of counters removed (and no draw if the creature had no counters).
Plasmatic
 
Posts: 2
Joined: 12 Jan 2015, 04:36
Has thanked: 0 time
Been thanked: 0 time

Re: Forge Beta: 1-5-2015 ver 1.5.32

Postby Mattias » 12 Jan 2015, 12:02

Description: When simulating bot vs bot in Alara block draft I got this several time, each time a Foil Hellkite Hatchling was on the stack. Game refused to continue from that point and a restart was needed.

NullPointerException | Open
Code: Select all
Forge Version:    1.5.31-r28300Mu (mixed revisions detected; please update from the root directory)
Operating System: Windows 7 6.1 x86
Java Version:     1.7.0_25 Oracle Corporation

java.lang.NullPointerException
   at forge.game.card.Card.hasProperty(Card.java:4827)
   at forge.game.card.Card.isValid(Card.java:3392)
   at forge.game.GameObject.isValid(GameObject.java:26)
   at forge.game.card.CardPredicates$13.apply(CardPredicates.java:151)
   at forge.game.card.CardPredicates$13.apply(CardPredicates.java:148)
   at com.google.common.collect.Iterators$7.computeNext(Iterators.java:647)
   at com.google.common.collect.AbstractIterator.tryToComputeNext(AbstractIterator.java:143)
   at com.google.common.collect.AbstractIterator.hasNext(AbstractIterator.java:138)
   at forge.util.FCollection.<init>(FCollection.java:35)
   at forge.game.card.CardCollection.<init>(CardCollection.java:61)
   at forge.game.card.CardLists.filter(CardLists.java:229)
   at forge.game.card.CardLists.getValidCards(CardLists.java:169)
   at forge.game.staticability.StaticAbilityContinuous.getAffectedCards(StaticAbilityContinuous.java:661)
   at forge.game.staticability.StaticAbilityContinuous.applyContinuousAbility(StaticAbilityContinuous.java:58)
   at forge.game.staticability.StaticAbility.applyAbility(StaticAbility.java:219)
   at forge.game.GameAction.checkStaticAbilities(GameAction.java:578)
   at forge.game.GameAction.checkStaticAbilities(GameAction.java:530)
   at forge.game.GameAction.changeZone(GameAction.java:221)
   at forge.game.GameAction.moveTo(GameAction.java:379)
   at forge.game.GameAction.moveTo(GameAction.java:360)
   at forge.game.ability.effects.ChangeZoneEffect.changeZonePlayerInvariant(ChangeZoneEffect.java:936)
   at forge.game.ability.effects.ChangeZoneEffect.changeHiddenOriginResolve(ChangeZoneEffect.java:595)
   at forge.game.ability.effects.ChangeZoneEffect.resolve(ChangeZoneEffect.java:351)
   at forge.game.spellability.AbilitySub.resolve(AbilitySub.java:119)
   at forge.game.ability.AbilityUtils.resolveApiAbility(AbilityUtils.java:1232)
   at forge.game.ability.AbilityUtils.resolveSubAbilities(AbilityUtils.java:1225)
   at forge.game.ability.AbilityUtils.resolveApiAbility(AbilityUtils.java:1239)
   at forge.game.ability.AbilityUtils.resolveSubAbilities(AbilityUtils.java:1225)
   at forge.game.ability.AbilityUtils.resolveApiAbility(AbilityUtils.java:1239)
   at forge.game.ability.AbilityUtils.resolve(AbilityUtils.java:1214)
   at forge.ai.ComputerUtil.playNoStack(ComputerUtil.java:252)
   at forge.ai.PlayerControllerAi.playSpellAbilityNoStack(PlayerControllerAi.java:302)
   at forge.game.replacement.ReplacementHandler.executeReplacement(ReplacementHandler.java:236)
   at forge.game.replacement.ReplacementHandler.run(ReplacementHandler.java:135)
   at forge.game.replacement.ReplacementHandler.run(ReplacementHandler.java:71)
   at forge.game.GameAction.changeZone(GameAction.java:166)
   at forge.game.GameAction.moveTo(GameAction.java:379)
   at forge.game.GameAction.moveTo(GameAction.java:360)
   at forge.game.GameAction.moveToPlay(GameAction.java:468)
   at forge.game.GameAction.moveTo(GameAction.java:518)
   at forge.game.GameAction.moveTo(GameAction.java:510)
   at forge.game.spellability.SpellPermanent.resolve(SpellPermanent.java:72)
   at forge.game.zone.MagicStack.resolveStack(MagicStack.java:468)
   at forge.game.phase.PhaseHandler.startFirstTurn(PhaseHandler.java:964)
   at forge.game.GameAction.startGame(GameAction.java:1356)
   at forge.game.Match.startGame(Match.java:71)
   at forge.match.MatchUtil$2.run(MatchUtil.java:201)
   at java.util.concurrent.ThreadPoolExecutor.runWorker(Unknown Source)
   at java.util.concurrent.ThreadPoolExecutor$Worker.run(Unknown Source)
   at java.lang.Thread.run(Unknown Source)
Mattias
 
Posts: 18
Joined: 17 Dec 2014, 12:20
Has thanked: 1 time
Been thanked: 0 time

Re: Forge Beta: 1-5-2015 ver 1.5.32

Postby Bundy » 12 Jan 2015, 16:59

friarsol wrote:
Bundy wrote:Emblem of Elspeth, Knight-Errant only makes artifacts, enchantments and lands indestructible. Creatures don't get indestructible.
Can you say specifically why you think this? I just tried it and my creatures are listed as indestructible.

Edit: And they don't die when receiving lethal damage...
This is the problem i think (or my knowledge of the rules is bad)
1. activate Elspeth, Knight-Errant and creatures get indestructible.
2. play Humility and creatures loose indestructible
This is what should happen because Humility has a later time stamp so it resolves after the emblem of Elspeth.

But if the order is reversed:

1. play Humility
2. activate Elspeth
Now all creatures will loose all abilities, but the emblem should add indestructibility to my creatures since it activated after Humility was played?

The emblem of Elspeth, Sun's Champion gives +2/+2, but no flying when played after Humility
But the difference is probably in the wording: Creatures you control get +2/+2 and have flying. What they have is taken away by Humility and what they get not?
Bundy
 
Posts: 348
Joined: 17 Dec 2010, 17:32
Location: The netherlands
Has thanked: 23 times
Been thanked: 3 times

Re: Forge Beta: 1-5-2015 ver 1.5.32

Postby friarsol » 12 Jan 2015, 17:43

Bundy wrote:This is the problem i think (or my knowledge of the rules is bad)
1. activate Elspeth, Knight-Errant and creatures get indestructible.
2. play Humility and creatures loose indestructible
This is what should happen because Humility has a later time stamp so it resolves after the emblem of Elspeth.

But if the order is reversed:

1. play Humility
2. activate Elspeth
Now all creatures will loose all abilities, but the emblem should add indestructibility to my creatures since it activated after Humility was played?

The emblem of Elspeth, Sun's Champion gives +2/+2, but no flying when played after Humility
But the difference is probably in the wording: Creatures you control get +2/+2 and have flying. What they have is taken away by Humility and what they get not?
Adding Humility into the equation is a huge wrench, since it deals with layers. Please make sure to report bugs more fully next time, since it was very unclear that should be a consideration.


Here's an article that talks about Humility and layers, it is very complex, even for people familiar with the rules. http://www.gatheringmagic.com/lesson-humility/

One major key to layers is timestamps. Not the timestamps of activations though, the timestamps of the host card:

So we have two scenarios:

1. Humility is on BF, when Elspeth KE ETB.
2. Elspeth is on BF, when Humility ETB.

Creatures gaining indestructible and creatures losing all abilities both happen at layer 6. That means the timestamp of the host is the order they get handled:

In scenario #1, your creatures should gain Indestructible (after losing all abilities).
In scenario #2, your creatures should very temporarily gain Indestructible, then lose all abilities.


For your second concern, the creatures gain the boost because Humility setting power toughness happens at layer 1, where the Elspeth SC PT boost happens at layer 7. Again, whether or not Flying is granted is dependant on when Humility ETB in relation to Elspeth.

There may potentially be issues with that in Forge, but that's how it should work.
friarsol
Global Moderator
 
Posts: 7593
Joined: 15 May 2010, 04:20
Has thanked: 243 times
Been thanked: 965 times

Re: Forge Beta: 1-5-2015 ver 1.5.32

Postby Midori » 12 Jan 2015, 19:24

I belief, there is still a huge problem with remembered cards when permanents change zones and come back. This problem seems to include equipment, since on multiple occasions it happens, that equipment seems to reattach itself to reanimated creatures.

I just noticed another example of this, when i bounced my Isochron Scepter and played it again. It ended up with two cards imprinted and being able to cast both cards for 2 Mana (the latter is actually correct, but the first card shouldn't be imprinted anymore, after the Scepter being bounced).
Midori
 
Posts: 55
Joined: 20 Apr 2014, 12:43
Has thanked: 1 time
Been thanked: 4 times

PreviousNext

Return to Forge

Who is online

Users browsing this forum: No registered users and 52 guests

Main Menu

User Menu

Our Partners


Who is online

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

Login Form