Page 408 of 487

Re: Bug Reports (snapshot builds)

PostPosted: 22 Jan 2017, 13:15
by Agetian
Hanmac wrote:Demonic Hordes is totally broken oO
AI did pay {B} {B} {B} but did tap it and did destroy one of MY lands oO
Umm this is probably correct :) I mean, it has a tap ability to destroy target land, so the AI prolly paid {B} {B} {B} to avoid its upkeep effect, then just instantly tapped it to destroy your land using its primary activated ability. :) That'd be my guess anyway, you'd need to look it up in the log to make sure.

- Agetian

Re: Bug Reports (snapshot builds)

PostPosted: 22 Jan 2017, 16:48
by fiend123
Hinterland Drake can block artifact creatures even though it should not be able to.

Sly Requisitioner doesn't trigger when Cogworker's Puzzleknot is sacrificed.

r33275

Re: Bug Reports (snapshot builds)

PostPosted: 22 Jan 2017, 17:25
by Agetian
fiend123 wrote:Hinterland Drake can block artifact creatures even though it should not be able to.

Sly Requisitioner doesn't trigger when Cogworker's Puzzleknot is sacrificed.

r33275
Both issues have been fixed upstream. Thanks for reporting! :)

- Agetian

Re: Bug Reports (snapshot builds)

PostPosted: 22 Jan 2017, 21:46
by matrix4767
r33351:
Cover of Winter's damage preventing ability is missing from the Oracle.

Re: Bug Reports (snapshot builds)

PostPosted: 23 Jan 2017, 03:56
by Agetian
matrix4767 wrote:r33351:
Cover of Winter's damage preventing ability is missing from the Oracle.
This is fixed. Thanks for reporting! :)

- Agetian

Re: Bug Reports (snapshot builds)

PostPosted: 23 Jan 2017, 08:38
by Hanmac
Cover of Winter is currently broken if something does deal damage to multiple sources. Didnt found a way to code that right yet. (That does target other missing cards too)

Re: Bug Reports (snapshot builds)

PostPosted: 23 Jan 2017, 09:46
by Marek14
Spelljack's gives option to cast a creature with morph face down -- I think it shouldn't because it's an alternate cost which can't be combined with playing for free.

Re: Bug Reports (snapshot builds)

PostPosted: 23 Jan 2017, 10:31
by matrix4767
r33364:
Parting Thoughts missing drawing X cards/losing X life description.

Re: Bug Reports (snapshot builds)

PostPosted: 23 Jan 2017, 12:41
by Agetian
Marek14 wrote:Spelljack's gives option to cast a creature with morph face down -- I think it shouldn't because it's an alternate cost which can't be combined with playing for free.
Umm I don't know how and where to fix this :( Tried looking in a few places but couldn't find the relevant routines and flags (not sure how to detect the "morph down" ability either). Can anybody please help with this?

EDIT: As a hotfix in r33373, I put in a restriction that the ability should not be detected as playable if it contains a "(without paying its mana cost)" tag in description, but this is not very clean and rather precarious. Does anyone know of a better way of detecting that a SA is marked as playable without paying its mana cost by a given player at any given moment in time?..

- Agetian

Re: Bug Reports (snapshot builds)

PostPosted: 25 Jan 2017, 11:15
by Marek14
AI was able to pay cumulative upkeep of Glacial Chasm with 3 age counters, going from 3 life to 1.

Re: Bug Reports (snapshot builds)

PostPosted: 25 Jan 2017, 15:45
by Hanmac
Agetian wrote:
Marek14 wrote:Spelljack's gives option to cast a creature with morph face down -- I think it shouldn't because it's an alternate cost which can't be combined with playing for free.
Umm I don't know how and where to fix this :( Tried looking in a few places but couldn't find the relevant routines and flags (not sure how to detect the "morph down" ability either). Can anybody please help with this?

EDIT: As a hotfix in r33373, I put in a restriction that the ability should not be detected as playable if it contains a "(without paying its mana cost)" tag in description, but this is not very clean and rather precarious. Does anyone know of a better way of detecting that a SA is marked as playable without paying its mana cost by a given player at any given moment in time?..

- Agetian
Make Morph as setBasicSpell(false)
With thatit will be ignored by mayPlay without cost

Re: Bug Reports (snapshot builds)

PostPosted: 25 Jan 2017, 15:52
by Agetian
Hanmac wrote:Make Morph as setBasicSpell(false)
With thatit will be ignored by mayPlay without cost
Ah, thanks a lot for the hint! :) I switched to that now.

- Agetian

Re: Bug Reports (snapshot builds)

PostPosted: 25 Jan 2017, 20:06
by fmartel
Description: [-r33275, opening a Commander game]

StackOverflowError | Open
Code: Select all
Forge Version:    1.5.59-SNAPSHOT-r33275
Operating System: Windows 7 6.1 amd64
Java Version:     1.8.0_25 Oracle Corporation

java.lang.StackOverflowError
   at java.util.regex.Pattern.atom(Unknown Source)
   at java.util.regex.Pattern.sequence(Unknown Source)
   at java.util.regex.Pattern.expr(Unknown Source)
   at java.util.regex.Pattern.compile(Unknown Source)
   at java.util.regex.Pattern.<init>(Unknown Source)
   at java.util.regex.Pattern.compile(Unknown Source)
   at java.lang.String.split(Unknown Source)
   at java.lang.String.split(Unknown Source)
   at forge.util.FileSection.parseToMap(FileSection.java:76)
   at forge.game.ability.AbilityFactory.getMapParams(AbilityFactory.java:411)
   at forge.game.ability.AbilityFactory.getAbility(AbilityFactory.java:116)
   at forge.game.ability.AbilityFactory.getAbility(AbilityFactory.java:139)
   at forge.game.ability.AbilityFactory.getSubAbility(AbilityFactory.java:403)
   at forge.game.ability.AbilityFactory.getAbility(AbilityFactory.java:235)
   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:139)
   at forge.game.ability.AbilityFactory.getSubAbility(AbilityFactory.java:403)
   at forge.game.ability.AbilityFactory.getAbility(AbilityFactory.java:227)
   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:139)
   at forge.game.ability.AbilityFactory.getSubAbility(AbilityFactory.java:403)
   at forge.game.ability.AbilityFactory.getAbility(AbilityFactory.java:227)
   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:139)
   at forge.game.ability.AbilityFactory.getSubAbility(AbilityFactory.java:403)
   at forge.game.ability.AbilityFactory.getAbility(AbilityFactory.java:235)
   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:139)
   at forge.game.ability.AbilityFactory.getSubAbility(AbilityFactory.java:403)
   at forge.game.ability.AbilityFactory.getAbility(AbilityFactory.java:227)
   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:139)
   at forge.game.ability.AbilityFactory.getSubAbility(AbilityFactory.java:403)
   at forge.game.ability.AbilityFactory.getAbility(AbilityFactory.java:227)
   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:139)
   at forge.game.ability.AbilityFactory.getSubAbility(AbilityFactory.java:403)
   at forge.game.ability.AbilityFactory.getAbility(AbilityFactory.java:235)
   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:139)
   at forge.game.ability.AbilityFactory.getSubAbility(AbilityFactory.java:403)
   at forge.game.ability.AbilityFactory.getAbility(AbilityFactory.java:227)
   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:139)
   at forge.game.ability.AbilityFactory.getSubAbility(AbilityFactory.java:403)
   at forge.game.ability.AbilityFactory.getAbility(AbilityFactory.java:227)
   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:139)
   at forge.game.ability.AbilityFactory.getSubAbility(AbilityFactory.java:403)
   at forge.game.ability.AbilityFactory.getAbility(AbilityFactory.java:235)
   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:139)
   at forge.game.ability.AbilityFactory.getSubAbility(AbilityFactory.java:403)
   at forge.game.ability.AbilityFactory.getAbility(AbilityFactory.java:227)
   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:139)
   at forge.game.ability.AbilityFactory.getSubAbility(AbilityFactory.java:403)
   at forge.game.ability.AbilityFactory.getAbility(AbilityFactory.java:227)
   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:139)
   at forge.game.ability.AbilityFactory.getSubAbility(AbilityFactory.java:403)
   at forge.game.ability.AbilityFactory.getAbility(AbilityFactory.java:235)
   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:139)
   at forge.game.ability.AbilityFactory.getSubAbility(AbilityFactory.java:403)
   at forge.game.ability.AbilityFactory.getAbility(AbilityFactory.java:227)
   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:139)
   at forge.game.ability.AbilityFactory.getSubAbility(AbilityFactory.java:403)
   at forge.game.ability.AbilityFactory.getAbility(AbilityFactory.java:227)
   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:139)
   at forge.game.ability.AbilityFactory.getSubAbility(AbilityFactory.java:403)
   at forge.game.ability.AbilityFactory.getAbility(AbilityFactory.java:235)
   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:139)
   at forge.game.ability.AbilityFactory.getSubAbility(AbilityFactory.java:403)
   at forge.game.ability.AbilityFactory.getAbility(AbilityFactory.java:227)
   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:139)
   at forge.game.ability.AbilityFactory.getSubAbility(AbilityFactory.java:403)
   at forge.game.ability.AbilityFactory.getAbility(AbilityFactory.java:227)
   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:139)
   at forge.game.ability.AbilityFactory.getSubAbility(AbilityFactory.java:403)
   at forge.game.ability.AbilityFactory.getAbility(AbilityFactory.java:235)
   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:139)
   at forge.game.ability.AbilityFactory.getSubAbility(AbilityFactory.java:403)
   at forge.game.ability.AbilityFactory.getAbility(AbilityFactory.java:227)
   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:139)
   at forge.game.ability.AbilityFactory.getSubAbility(AbilityFactory.java:403)
   at forge.game.ability.AbilityFactory.getAbility(AbilityFactory.java:227)
   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:139)
   at forge.game.ability.AbilityFactory.getSubAbility(AbilityFactory.java:403)
   at forge.game.ability.AbilityFactory.getAbility(AbilityFactory.java:235)
   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:139)
   at forge.game.ability.AbilityFactory.getSubAbility(AbilityFactory.java:403)
   at forge.game.ability.AbilityFactory.getAbility(AbilityFactory.java:227)
   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:139)
   at forge.game.ability.AbilityFactory.getSubAbility(AbilityFactory.java:403)
   at forge.game.ability.AbilityFactory.getAbility(AbilityFactory.java:227)
   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:139)
   at forge.game.ability.AbilityFactory.getSubAbility(AbilityFactory.java:403)
   at forge.game.ability.AbilityFactory.getAbility(AbilityFactory.java:235)
   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:139)
   at forge.game.ability.AbilityFactory.getSubAbility(AbilityFactory.java:403)
   at forge.game.ability.AbilityFactory.getAbility(AbilityFactory.java:227)
   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:139)
   at forge.game.ability.AbilityFactory.getSubAbility(AbilityFactory.java:403)
   at forge.game.ability.AbilityFactory.getAbility(AbilityFactory.java:227)
   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:139)
   at forge.game.ability.AbilityFactory.getSubAbility(AbilityFactory.java:403)
   at forge.game.ability.AbilityFactory.getAbility(AbilityFactory.java:235)
   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:139)
   at forge.game.ability.AbilityFactory.getSubAbility(AbilityFactory.java:403)
   at forge.game.ability.AbilityFactory.getAbility(AbilityFactory.java:227)
   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:139)
   at forge.game.ability.AbilityFactory.getSubAbility(AbilityFactory.java:403)
   at forge.game.ability.AbilityFactory.getAbility(AbilityFactory.java:227)
   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:139)
   at forge.game.ability.AbilityFactory.getSubAbility(AbilityFactory.java:403)
   at forge.game.ability.AbilityFactory.getAbility(AbilityFactory.java:235)
   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:139)
   at forge.game.ability.AbilityFactory.getSubAbility(AbilityFactory.java:403)
   at forge.game.ability.AbilityFactory.getAbility(AbilityFactory.java:227)
   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:139)
   at forge.game.ability.AbilityFactory.getSubAbility(AbilityFactory.java:403)
   at forge.game.ability.AbilityFactory.getAbility(AbilityFactory.java:227)
   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:139)
   at forge.game.ability.AbilityFactory.getSubAbility(AbilityFactory.java:403)
   at forge.game.ability.AbilityFactory.getAbility(AbilityFactory.java:235)
   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:139)
   at forge.game.ability.AbilityFactory.getSubAbility(AbilityFactory.java:403)
   at forge.game.ability.AbilityFactory.getAbility(AbilityFactory.java:227)
   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:139)
   at forge.game.ability.AbilityFactory.getSubAbility(AbilityFactory.java:403)
   at forge.game.ability.AbilityFactory.getAbility(AbilityFactory.java:227)
   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:139)
   at forge.game.ability.AbilityFactory.getSubAbility(AbilityFactory.java:403)
   at forge.game.ability.AbilityFactory.getAbility(AbilityFactory.java:235)
   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:139)
   at forge.game.ability.AbilityFactory.getSubAbility(AbilityFactory.java:403)
   at forge.game.ability.AbilityFactory.getAbility(AbilityFactory.java:227)
   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:139)
   at forge.game.ability.AbilityFactory.getSubAbility(AbilityFactory.java:403)
   at forge.game.ability.AbilityFactory.getAbility(AbilityFactory.java:227)
   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:139)
   at forge.game.ability.AbilityFactory.getSubAbility(AbilityFactory.java:403)
   at forge.game.ability.AbilityFactory.getAbility(AbilityFactory.java:235)
   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:139)
   at forge.game.ability.AbilityFactory.getSubAbility(AbilityFactory.java:403)
   at forge.game.ability.AbilityFactory.getAbility(AbilityFactory.java:227)
   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:139)
   at forge.game.ability.AbilityFactory.getSubAbility(AbilityFactory.java:403)
   at forge.game.ability.AbilityFactory.getAbility(AbilityFactory.java:227)
   at forge.game.a
... (truncated)

Re: Bug Reports (snapshot builds)

PostPosted: 26 Jan 2017, 01:57
by Hanmac
@fmartel 33275 is very outdated and i remember i fixed some of the cards recently.

Please try and checkout newest trunk.

Re: Bug Reports (snapshot builds)

PostPosted: 26 Jan 2017, 03:07
by stormcat
@Hanmac
I have a question.
Where can we get it?
krazyweb.net has stopped at r33275.