It is currently 10 Jun 2025, 23:29
   
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 Hanmac » 12 Dec 2016, 17:02

@Agetian: probably my fault, I will fix it when I am back Home.
Hanmac
 
Posts: 954
Joined: 06 May 2013, 18:44
Has thanked: 229 times
Been thanked: 158 times

Re: Bug Reports (snapshot builds)

Postby Agetian » 12 Dec 2016, 17:02

Ldcs8T4EAnj8h5ZMD8rf wrote:r32653: I cast Wild Slash in response to Thoughtseize while I had a Jace, Telepath Unbound Emblem and Wild Slash fizzled for...an unknown reason? Am I missing something here or is this a bug?
I can confirm this, this is actually a pretty bad bug as far as I can tell.
Instants that are cast in response to an opponent's spell completely disappear from the game.
Tried this, for example, by casting Lightning Bolt in response to an opponent casting a creature spell. Lightning Bolt did not just fizzle, it completely disappeared from the game (and was nowhere to be found - hand, graveyard, exile, etc. :/

EDIT: Hmm, and now I restarted the game completely (reloaded it) and tried a similar scenario (Wild Slash in response to a Thoughtseize, Lightning Bolt in response to a Raging Goblin), and now it all worked fine. :/

EDIT 2: Aaand now I can't even reproduce it anymore :/ Tried it with the Emblem as well (Jace, Telepath Unbound), Wild Slash worked fine this time. Can't quite understand what's going on. :/ The first time I tried it, it did not work at all several times in a row. After a game restart it seems to work just as it should, didn't see any fizzling or disappearing spells anymore.

- Agetian
Last edited by Agetian on 12 Dec 2016, 17:12, edited 1 time in total.
Agetian
Programmer
 
Posts: 3487
Joined: 14 Mar 2011, 05:58
Has thanked: 683 times
Been thanked: 569 times

Re: Bug Reports (snapshot builds)

Postby Agetian » 12 Dec 2016, 17:48

Agetian wrote:
leshrac wrote:r32676: Used Thespian's Stage to copy a Cloudpost, and then Stage doesn't tap for mana any more. Or rather, when i try to tap it for mana it taps the copied land instead, as long as that is untapped, otherwise it's just not an option. (Doesn't matter what land i copy.)
Hmm, it looks like there's something majorly wrong with cloning non-basic lands. Basically, Thespian's Stage works well for basic lands which only have a tap mana ability, but anything more complex than that does not work and becomes "locked" to the land that was copied. For example, if you copy the opponent's Westvale Abbey, you will not be able to use any of the tap abilities because apparently you "can't tap the opponent's land". Conversely, if you copy your own Cloudpost, you're only allowed to "use it" when the said original (cloned) Cloudpost is untapped, because these abilities, for all purposes, are treated as if they fully belonged (and were) on the original card, not on the clone. :/
@ Hanmac: Ok, this one, I think, I fixed in r32677, but please take a look when you have a moment, that's definitely a bit outside my area of expertise, so I could have messed something up. Basically, the issue was that the copied SA still had the original ID, which was then probably looked up by the game and traced to the original card, not the clone. Not sure if this may have any side effects now that the SAs are actually fully copied via sa.copy.

P.S. Still not sure what to make of that other "spells disappearing/fizzling" bug reported above, it stopped now and I can't reproduce it again anymore but it got me a bit worried the first few times I tried casting stuff in response and all of it went missing. ^^;

- Agetian
Agetian
Programmer
 
Posts: 3487
Joined: 14 Mar 2011, 05:58
Has thanked: 683 times
Been thanked: 569 times

Re: Bug Reports (snapshot builds)

Postby ShivaFang » 12 Dec 2016, 18:05

Uhm. I might be reading this wrong (I'm not involved in the main project - I'm doing my own side project for my own purposes) but I noticed longtusk_cub.txt was changed to make Longtusk Cub give you E based on the number of damage dealt. This is not correct. You should only get 2 (which it is the way it was before the update). Empyreal Voyager is the card that gives {E} based on damage dealt.

I just updated the snapshot a few minutes ago and was curious what change was made to the file, so I peeked at it.

The previous version has CounterNum$ 2 and no SVar:X line - which seems to me to be the way it should be (But I honestly don't know how these are formatted - I could be wrong here. I freely admit this possibility)

Code: Select all
Name:Longtusk Cub
ManaCost:1 G
Types:Creature Cat
PT:2/2
T:Mode$ DamageDone | ValidSource$ Card.Self | ValidTarget$ Player | CombatDamage$ True | Execute$ TrigEnergy | TriggerZones$ Battlefield | TriggerDescription$ Whenever CARDNAME deals combat damage to a player, you get that many {E} (energy counters).
SVar:TrigEnergy:DB$PutCounter | Defined$ You | CounterType$ ENERGY | CounterNum$ X
A:AB$ PutCounter | Cost$ PayEnergy<2> | CounterType$ P1P1 | CounterNum$ 1 | SpellDescription$ Put a +1/+1 counter on CARDNAME.
SVar:X:TriggerCount$DamageAmount
SVar:Picture:http://www.wizards.com/global/images/magic/general/longtusk_cub.jpg
Oracle:Whenever Longtusk Cub deals combat damage to a player, you get {E}{E} (two energy counters).\nPay {E}{E}: Put a +1/+1 counter on Longtusk Cub.
ShivaFang
 
Posts: 101
Joined: 25 Jun 2016, 01:15
Has thanked: 26 times
Been thanked: 3 times

Re: Bug Reports (snapshot builds)

Postby Agetian » 12 Dec 2016, 18:11

@ ShivaFang: I think you're right, I set it to 2 Energy counters.

- Agetian
Agetian
Programmer
 
Posts: 3487
Joined: 14 Mar 2011, 05:58
Has thanked: 683 times
Been thanked: 569 times

Re: Bug Reports (snapshot builds)

Postby Hanmac » 12 Dec 2016, 18:34

@Agetian: ah good that you fixed it. there shouldn't be any side effects, SpellAbilities should be full copyable.

hm i will check the "spells disappearing/fizzling" bug out and see if i can reproduce it.
Maybe that change with SpellCopy does fixed that too?
Hanmac
 
Posts: 954
Joined: 06 May 2013, 18:44
Has thanked: 229 times
Been thanked: 158 times

Re: Bug Reports (snapshot builds)

Postby Agetian » 12 Dec 2016, 18:38

Hanmac wrote:@Agetian: ah good that you fixed it. there shouldn't be any side effects, SpellAbilities should be full copyable.

hm i will check the "spells disappearing/fizzling" bug out and see if i can reproduce it.
Maybe that change with SpellCopy does fixed that too?
Who knows, it could have :/ Here's hoping, anyway.
I'm also trying to get rid of the elusive bug with the Declaration in Stone AI but can't quite get it yet. I can't manage to reliably reproduce it though in my test cases the AI does miscast it quite regularly from time to time (basically, for each 4 or 5 attempts to cast Declaration in Stone on my creatures, the AI will fail to target once and will end up with tapped lands and a mistargeted spell). It feels like it may be something wrong with the SameName logic, but I can't quite get to the bottom of it. It also seems kind of random (on the seemingly same battlefield state the AI will sometimes (most of the time) cast it normally and then all of a sudden miscast it). At first I thought that maybe the list of target candidates is not filled, but adding a debug print line to the list iteration signals that the potential target is filled (in the list, anyway) even when the spell is mistargeted.

- Agetian
Agetian
Programmer
 
Posts: 3487
Joined: 14 Mar 2011, 05:58
Has thanked: 683 times
Been thanked: 569 times

Re: Bug Reports (snapshot builds)

Postby stormcat » 12 Dec 2016, 19:08

:r32680
Selvala's Stampede has bug.
When all player voted "Free", all creatures enter the battlefield in deck.
Last edited by stormcat on 12 Dec 2016, 23:23, edited 2 times in total.
stormcat
 
Posts: 361
Joined: 17 Jun 2015, 05:32
Has thanked: 0 time
Been thanked: 6 times

Re: Bug Reports (snapshot builds)

Postby Hanmac » 12 Dec 2016, 19:12

i will checkout why AI has problems with Declaration in Stone.

PS: your fix with SpellAbility copy does break Skill Borrower and Crooked Scales again ... (man i hate this card)
but i will try to fix that.

EDIT: i did rewrite Crooked Scales to use Repeat instead of that ugly loop.
Now it should work better.
Hanmac
 
Posts: 954
Joined: 06 May 2013, 18:44
Has thanked: 229 times
Been thanked: 158 times

Re: Bug Reports (snapshot builds)

Postby friarsol » 12 Dec 2016, 23:15

ShivaFang wrote:Uhm. I might be reading this wrong (I'm not involved in the main project - I'm doing my own side project for my own purposes) but I noticed longtusk_cub.txt was changed to make Longtusk Cub give you E based on the number of damage dealt. This is not correct. You should only get 2 (which it is the way it was before the update). Empyreal Voyager is the card that gives {E} based on damage dealt.

I just updated the snapshot a few minutes ago and was curious what change was made to the file, so I peeked at it.

The previous version has CounterNum$ 2 and no SVar:X line - which seems to me to be the way it should be (But I honestly don't know how these are formatted - I could be wrong here. I freely admit this possibility)

Code: Select all
Name:Longtusk Cub
ManaCost:1 G
Types:Creature Cat
PT:2/2
T:Mode$ DamageDone | ValidSource$ Card.Self | ValidTarget$ Player | CombatDamage$ True | Execute$ TrigEnergy | TriggerZones$ Battlefield | TriggerDescription$ Whenever CARDNAME deals combat damage to a player, you get that many {E} (energy counters).
SVar:TrigEnergy:DB$PutCounter | Defined$ You | CounterType$ ENERGY | CounterNum$ X
A:AB$ PutCounter | Cost$ PayEnergy<2> | CounterType$ P1P1 | CounterNum$ 1 | SpellDescription$ Put a +1/+1 counter on CARDNAME.
SVar:X:TriggerCount$DamageAmount
SVar:Picture:http://www.wizards.com/global/images/magic/general/longtusk_cub.jpg
Oracle:Whenever Longtusk Cub deals combat damage to a player, you get {E}{E} (two energy counters).\nPay {E}{E}: Put a +1/+1 counter on Longtusk Cub.
Stupid description was wrong. Didn't double check to see which aspect of the card was incorrect
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 NotASpearow » 13 Dec 2016, 01:43

I just downloaded r32681, and started manually adding C16 images. When I scrolled through the deck editor looking for typos in the names, I found that forge kept crashing whenever I tried to scroll to Entrapment Maneuver using the arrow keys.

Trying to click on it instead makes the highlighted 'cursor area' stay on whatever card it was on before clicking, and acts like I'm holding down the ctrl key until I click around a few times.

EDIT:
Parting Thoughts, Grip of Phyresis, Benefactor's Draught, and Thrasios, Triton Hero, also crash the program when I scroll to them.

ClassCastException | Open
Code: Select all
Forge Version:    1.5.58-SNAPSHOT-r32681
Operating System: Windows 8 6.2 amd64
Java Version:     1.7.0_51 Oracle Corporation

java.lang.ClassCastException: forge.game.ability.AbilityApiBased cannot be cast to forge.game.spellability.AbilitySub
   at forge.game.ability.AbilityFactory.getSubAbility(AbilityFactory.java:415)
   at forge.game.ability.AbilityFactory.getAbility(AbilityFactory.java:229)
   at forge.game.ability.AbilityFactory.getAbility(AbilityFactory.java:144)
   at forge.game.ability.AbilityFactory.getAbility(AbilityFactory.java:127)
   at forge.game.ability.AbilityFactory.getAbility(AbilityFactory.java:110)
   at forge.game.card.CardFactoryUtil.addAbilityFactoryAbilities(CardFactoryUtil.java:2017)
   at forge.game.card.CardFactory.readCardFace(CardFactory.java:455)
   at forge.game.card.CardFactory.readCard(CardFactory.java:412)
   at forge.game.card.CardFactory.getCard(CardFactory.java:260)
   at forge.game.card.CardFactory.getCard(CardFactory.java:255)
   at forge.game.card.Card.fromPaperCard(Card.java:6926)
   at forge.game.card.Card.getCardForUi(Card.java:6934)
   at forge.game.card.CardView.getCardForUi(CardView.java:40)
   at forge.screens.match.controllers.CDetailPicture.showItem(CDetailPicture.java:58)
   at forge.screens.deckeditor.CDeckEditorUI.setCard(CDeckEditorUI.java:83)
   at forge.screens.deckeditor.CDeckEditorUI$7.valueChanged(CDeckEditorUI.java:253)
   at forge.itemmanager.views.ItemView.onSelectionChange(ItemView.java:278)
   at forge.itemmanager.views.ItemListView$ItemTableModel$1.valueChanged(ItemListView.java:620)
   at javax.swing.DefaultListSelectionModel.fireValueChanged(Unknown Source)
   at javax.swing.DefaultListSelectionModel.fireValueChanged(Unknown Source)
   at javax.swing.DefaultListSelectionModel.fireValueChanged(Unknown Source)
   at javax.swing.DefaultListSelectionModel.changeSelection(Unknown Source)
   at javax.swing.DefaultListSelectionModel.changeSelection(Unknown Source)
   at javax.swing.DefaultListSelectionModel.setSelectionInterval(Unknown Source)
   at javax.swing.JTable.changeSelectionModel(Unknown Source)
   at javax.swing.JTable.changeSelection(Unknown Source)
   at javax.swing.plaf.basic.BasicTableUI$Actions.actionPerformed(Unknown Source)
   at javax.swing.SwingUtilities.notifyAction(Unknown Source)
   at javax.swing.JComponent.processKeyBinding(Unknown Source)
   at javax.swing.JTable.processKeyBinding(Unknown Source)
   at javax.swing.JComponent.processKeyBindings(Unknown Source)
   at javax.swing.JComponent.processKeyEvent(Unknown Source)
   at java.awt.Component.processEvent(Unknown Source)
   at java.awt.Container.processEvent(Unknown Source)
   at java.awt.Component.dispatchEventImpl(Unknown Source)
   at java.awt.Container.dispatchEventImpl(Unknown Source)
   at java.awt.Component.dispatchEvent(Unknown Source)
   at java.awt.KeyboardFocusManager.redispatchEvent(Unknown Source)
   at java.awt.DefaultKeyboardFocusManager.dispatchKeyEvent(Unknown Source)
   at java.awt.DefaultKeyboardFocusManager.preDispatchKeyEvent(Unknown Source)
   at java.awt.DefaultKeyboardFocusManager.typeAheadAssertions(Unknown Source)
   at java.awt.DefaultKeyboardFocusManager.dispatchEvent(Unknown Source)
   at java.awt.Component.dispatchEventImpl(Unknown Source)
   at java.awt.Container.dispatchEventImpl(Unknown Source)
   at java.awt.Window.dispatchEventImpl(Unknown Source)
   at java.awt.Component.dispatchEvent(Unknown Source)
   at java.awt.EventQueue.dispatchEventImpl(Unknown Source)
   at java.awt.EventQueue.access$200(Unknown Source)
   at java.awt.EventQueue$3.run(Unknown Source)
   at java.awt.EventQueue$3.run(Unknown Source)
   at java.security.AccessController.doPrivileged(Native Method)
   at java.security.ProtectionDomain$1.doIntersectionPrivilege(Unknown Source)
   at java.security.ProtectionDomain$1.doIntersectionPrivilege(Unknown Source)
   at java.awt.EventQueue$4.run(Unknown Source)
   at java.awt.EventQueue$4.run(Unknown Source)
   at java.security.AccessController.doPrivileged(Native Method)
   at java.security.ProtectionDomain$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.pumpEventsForHierarchy(Unknown Source)
   at java.awt.EventDispatchThread.pumpEvents(Unknown Source)
   at java.awt.EventDispatchThread.pumpEvents(Unknown Source)
   at java.awt.EventDispatchThread.run(Unknown Source)
NotASpearow
 
Posts: 1
Joined: 13 Dec 2016, 01:31
Has thanked: 1 time
Been thanked: 0 time

Re: Bug Reports (snapshot builds)

Postby stormcat » 13 Dec 2016, 02:59

:r32681
Double trigger bug of undying by Mikaeus, the Unhallowed came back again.
stormcat
 
Posts: 361
Joined: 17 Jun 2015, 05:32
Has thanked: 0 time
Been thanked: 6 times

Re: Bug Reports (snapshot builds)

Postby Agetian » 13 Dec 2016, 04:24

NotASpearow wrote:I just downloaded r32681, and started manually adding C16 images. When I scrolled through the deck editor looking for typos in the names, I found that forge kept crashing whenever I tried to scroll to Entrapment Maneuver using the arrow keys.

Trying to click on it instead makes the highlighted 'cursor area' stay on whatever card it was on before clicking, and acts like I'm holding down the ctrl key until I click around a few times.

EDIT:
Parting Thoughts, Grip of Phyresis, Benefactor's Draught, and Thrasios, Triton Hero, also crash the program when I scroll to them.

ClassCastException | Open
Code: Select all
Forge Version:    1.5.58-SNAPSHOT-r32681
Operating System: Windows 8 6.2 amd64
Java Version:     1.7.0_51 Oracle Corporation

java.lang.ClassCastException: forge.game.ability.AbilityApiBased cannot be cast to forge.game.spellability.AbilitySub
   at forge.game.ability.AbilityFactory.getSubAbility(AbilityFactory.java:415)
   at forge.game.ability.AbilityFactory.getAbility(AbilityFactory.java:229)
   at forge.game.ability.AbilityFactory.getAbility(AbilityFactory.java:144)
   at forge.game.ability.AbilityFactory.getAbility(AbilityFactory.java:127)
   at forge.game.ability.AbilityFactory.getAbility(AbilityFactory.java:110)
   at forge.game.card.CardFactoryUtil.addAbilityFactoryAbilities(CardFactoryUtil.java:2017)
   at forge.game.card.CardFactory.readCardFace(CardFactory.java:455)
   at forge.game.card.CardFactory.readCard(CardFactory.java:412)
   at forge.game.card.CardFactory.getCard(CardFactory.java:260)
   at forge.game.card.CardFactory.getCard(CardFactory.java:255)
   at forge.game.card.Card.fromPaperCard(Card.java:6926)
   at forge.game.card.Card.getCardForUi(Card.java:6934)
   at forge.game.card.CardView.getCardForUi(CardView.java:40)
   at forge.screens.match.controllers.CDetailPicture.showItem(CDetailPicture.java:58)
   at forge.screens.deckeditor.CDeckEditorUI.setCard(CDeckEditorUI.java:83)
   at forge.screens.deckeditor.CDeckEditorUI$7.valueChanged(CDeckEditorUI.java:253)
   at forge.itemmanager.views.ItemView.onSelectionChange(ItemView.java:278)
   at forge.itemmanager.views.ItemListView$ItemTableModel$1.valueChanged(ItemListView.java:620)
   at javax.swing.DefaultListSelectionModel.fireValueChanged(Unknown Source)
   at javax.swing.DefaultListSelectionModel.fireValueChanged(Unknown Source)
   at javax.swing.DefaultListSelectionModel.fireValueChanged(Unknown Source)
   at javax.swing.DefaultListSelectionModel.changeSelection(Unknown Source)
   at javax.swing.DefaultListSelectionModel.changeSelection(Unknown Source)
   at javax.swing.DefaultListSelectionModel.setSelectionInterval(Unknown Source)
   at javax.swing.JTable.changeSelectionModel(Unknown Source)
   at javax.swing.JTable.changeSelection(Unknown Source)
   at javax.swing.plaf.basic.BasicTableUI$Actions.actionPerformed(Unknown Source)
   at javax.swing.SwingUtilities.notifyAction(Unknown Source)
   at javax.swing.JComponent.processKeyBinding(Unknown Source)
   at javax.swing.JTable.processKeyBinding(Unknown Source)
   at javax.swing.JComponent.processKeyBindings(Unknown Source)
   at javax.swing.JComponent.processKeyEvent(Unknown Source)
   at java.awt.Component.processEvent(Unknown Source)
   at java.awt.Container.processEvent(Unknown Source)
   at java.awt.Component.dispatchEventImpl(Unknown Source)
   at java.awt.Container.dispatchEventImpl(Unknown Source)
   at java.awt.Component.dispatchEvent(Unknown Source)
   at java.awt.KeyboardFocusManager.redispatchEvent(Unknown Source)
   at java.awt.DefaultKeyboardFocusManager.dispatchKeyEvent(Unknown Source)
   at java.awt.DefaultKeyboardFocusManager.preDispatchKeyEvent(Unknown Source)
   at java.awt.DefaultKeyboardFocusManager.typeAheadAssertions(Unknown Source)
   at java.awt.DefaultKeyboardFocusManager.dispatchEvent(Unknown Source)
   at java.awt.Component.dispatchEventImpl(Unknown Source)
   at java.awt.Container.dispatchEventImpl(Unknown Source)
   at java.awt.Window.dispatchEventImpl(Unknown Source)
   at java.awt.Component.dispatchEvent(Unknown Source)
   at java.awt.EventQueue.dispatchEventImpl(Unknown Source)
   at java.awt.EventQueue.access$200(Unknown Source)
   at java.awt.EventQueue$3.run(Unknown Source)
   at java.awt.EventQueue$3.run(Unknown Source)
   at java.security.AccessController.doPrivileged(Native Method)
   at java.security.ProtectionDomain$1.doIntersectionPrivilege(Unknown Source)
   at java.security.ProtectionDomain$1.doIntersectionPrivilege(Unknown Source)
   at java.awt.EventQueue$4.run(Unknown Source)
   at java.awt.EventQueue$4.run(Unknown Source)
   at java.security.AccessController.doPrivileged(Native Method)
   at java.security.ProtectionDomain$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.pumpEventsForHierarchy(Unknown Source)
   at java.awt.EventDispatchThread.pumpEvents(Unknown Source)
   at java.awt.EventDispatchThread.pumpEvents(Unknown Source)
   at java.awt.EventDispatchThread.run(Unknown Source)
This should be fixed in r32682.

- Agetian
Agetian
Programmer
 
Posts: 3487
Joined: 14 Mar 2011, 05:58
Has thanked: 683 times
Been thanked: 569 times

Re: Bug Reports (snapshot builds)

Postby Agetian » 13 Dec 2016, 04:30

stormcat wrote::r32681
Double trigger bug of undying by Mikaeus, the Unhallowed came back again.
Fixed (r32683).

- Agetian
Agetian
Programmer
 
Posts: 3487
Joined: 14 Mar 2011, 05:58
Has thanked: 683 times
Been thanked: 569 times

Re: Bug Reports (snapshot builds)

Postby Agetian » 13 Dec 2016, 17:10

r32683: Delve does not work on certain creatures (e.g. Tasigur, the Golden Fang; Necropolis Fiend); most likely on the ones that have a spell ability with mana cost on them.

EDIT: Tried to fix this in r32684, not sure if I'm correct though.
In particular, I'm not sure if it's worth breaking when a permanent SA is found (adding a "break" statement) - is it possible that something else can add on an alternative casting cost that should/should not be affected by Delve?

- Agetian
Agetian
Programmer
 
Posts: 3487
Joined: 14 Mar 2011, 05:58
Has thanked: 683 times
Been thanked: 569 times

PreviousNext

Return to Developer's Corner

Who is online

Users browsing this forum: No registered users and 18 guests


Who is online

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

Login Form