Page 5 of 9

Re: Bug reports for v0.591

PostPosted: 29 Nov 2009, 21:34
by ashl1
./run.sh
Traceback (most recent call last):
File "Incantus/main.py", line 4, in <module>
from ui.Incantus import main
ImportError: Bad magic number in /share/temp/Incantus-linux_v0_59/Incantus/ui/__init__.pyo

Re: Bug reports for v0.7.0

PostPosted: 15 Feb 2010, 08:43
by MageKing17
Self-reporting something I haven't been able to fix yet (but am searching for the cause of):

Pyknite (and possibly any other card that uses .delay()) triggers every upkeep, instead of expiring the first time it resolves. Cause unknown, source code in TriggeredAbility.py appears to be correct.

Re: Bug reports for v0.7.0

PostPosted: 15 Feb 2010, 13:27
by Marek14
Seems that Talus Paladin doesn't trigger on itself entering the battlefield.

Also, I got an error when moving Joraga Warcaller from library to battlefield. Seems it's necessary to check for presence of the "kicked" field.

The Warcaller also just gives +1/+1 to Elves instead of giving +1/+1 for each +1/+1 counter on itself.

Seems Incantus is going to need my touch once again :)

Re: Bug reports for v0.7.0

PostPosted: 15 Feb 2010, 17:40
by juzamjedi
2 things I noticed with Cascade ability. Firstly the cards that are flipped past should be revealed. The cards can be viewed in the exiled zone, but this might not be obvious to people that don't know cascade.

Second is an actual bug. If you choose not to cast the spell you cascade into then Incantus crashes with this error:

Traceback (most recent call last):
File "main.py", line 29, in <module>
File "main.py", line 25, in main
File "cocos\director.pyo", line 287, in run
File "pyglet\app\win32.pyo", line 63, in run
File "pyglet\app\win32.pyo", line 84, in _timer_func
File "pyglet\app\__init__.pyo", line 187, in idle
File "pyglet\clock.pyo", line 700, in tick
File "pyglet\clock.pyo", line 303, in tick
File "ui\Incantus.pyo", line 341, in <lambda>
File "engine\GameKeeper.pyo", line 101, in start
File "engine\GameKeeper.pyo", line 135, in run
File "engine\GameKeeper.pyo", line 271, in mainPhase1
File "engine\GameKeeper.pyo", line 412, in playNonInstants
File "engine\Player.pyo", line 437, in doInstantAction
File "engine\Player.pyo", line 490, in getAction
File "engine\Player.pyo", line 457, in input
File "ui\Incantus.pyo", line 333, in greenlet_input
File "engine\Player.pyo", line 482, in convert_gui_action
AttributeError: 'OKAction' object has no attribute 'selection'

Re: Bug reports for v0.7.0

PostPosted: 15 Feb 2010, 18:53
by MageKing17
Marek14 wrote:Seems that Talus Paladin doesn't trigger on itself entering the battlefield.
It actually doesn't trigger ever, the trigger was mis-typed (EnterTrigger("play") instead of EnterTrigger("battlefield")).

Marek14 wrote:Also, I got an error when moving Joraga Warcaller from library to battlefield. Seems it's necessary to check for presence of the "kicked" field.
Looking into the problem, which really shouldn't be happening.

Marek14 wrote:The Warcaller also just gives +1/+1 to Elves instead of giving +1/+1 for each +1/+1 counter on itself.
My primary concern was multikicker... I'll fix the third ability.

Marek14 wrote:Seems Incantus is going to need my touch once again :)
And glad of it. :)


juzamjedi wrote:2 things I noticed with Cascade ability. Firstly the cards that are flipped past should be revealed. The cards can be viewed in the exiled zone, but this might not be obvious to people that don't know cascade.
Revealing cards is broken. The code is almost certainly there, but you won't see anything that should be revealing cards actually revealing cards. I can't fix it, because it's a UI problem.

juzamjedi wrote:Second is an actual bug. If you choose not to cast the spell you cascade into then Incantus crashes with this error:

Traceback (most recent call last):
File "main.py", line 29, in <module>
File "main.py", line 25, in main
File "cocos\director.pyo", line 287, in run
File "pyglet\app\win32.pyo", line 63, in run
File "pyglet\app\win32.pyo", line 84, in _timer_func
File "pyglet\app\__init__.pyo", line 187, in idle
File "pyglet\clock.pyo", line 700, in tick
File "pyglet\clock.pyo", line 303, in tick
File "ui\Incantus.pyo", line 341, in <lambda>
File "engine\GameKeeper.pyo", line 101, in start
File "engine\GameKeeper.pyo", line 135, in run
File "engine\GameKeeper.pyo", line 271, in mainPhase1
File "engine\GameKeeper.pyo", line 412, in playNonInstants
File "engine\Player.pyo", line 437, in doInstantAction
File "engine\Player.pyo", line 490, in getAction
File "engine\Player.pyo", line 457, in input
File "ui\Incantus.pyo", line 333, in greenlet_input
File "engine\Player.pyo", line 482, in convert_gui_action
AttributeError: 'OKAction' object has no attribute 'selection'
Now that is bizarre. I'll take a look.

Good to see you both again. :)

Re: Bug reports for v0.7.0

PostPosted: 15 Feb 2010, 21:21
by MageKing17
MageKing17 wrote:
Marek14 wrote:Also, I got an error when moving Joraga Warcaller from library to battlefield. Seems it's necessary to check for presence of the "kicked" field.
Looking into the problem, which really shouldn't be happening.
Silly typo, __getattr_() instead of __getattr__(). New version forthcoming soon, with that fix and others.

MageKing17 wrote:
Marek14 wrote:The Warcaller also just gives +1/+1 to Elves instead of giving +1/+1 for each +1/+1 counter on itself.
My primary concern was multikicker... I'll fix the third ability.
Fixed.

MageKing17 wrote:
juzamjedi wrote:2 things I noticed with Cascade ability. Firstly the cards that are flipped past should be revealed. The cards can be viewed in the exiled zone, but this might not be obvious to people that don't know cascade.
Revealing cards is broken. The code is almost certainly there, but you won't see anything that should be revealing cards actually revealing cards. I can't fix it, because it's a UI problem.
Actually, there was no reveal_cards call. I've added it, even though I'm 99% sure reveal is broken at the moment, because it should be there when it's fixed.

MageKing17 wrote:
juzamjedi wrote:Second is an actual bug. If you choose not to cast the spell you cascade into then Incantus crashes with this error:

Traceback (most recent call last):
File "main.py", line 29, in <module>
File "main.py", line 25, in main
File "cocos\director.pyo", line 287, in run
File "pyglet\app\win32.pyo", line 63, in run
File "pyglet\app\win32.pyo", line 84, in _timer_func
File "pyglet\app\__init__.pyo", line 187, in idle
File "pyglet\clock.pyo", line 700, in tick
File "pyglet\clock.pyo", line 303, in tick
File "ui\Incantus.pyo", line 341, in <lambda>
File "engine\GameKeeper.pyo", line 101, in start
File "engine\GameKeeper.pyo", line 135, in run
File "engine\GameKeeper.pyo", line 271, in mainPhase1
File "engine\GameKeeper.pyo", line 412, in playNonInstants
File "engine\Player.pyo", line 437, in doInstantAction
File "engine\Player.pyo", line 490, in getAction
File "engine\Player.pyo", line 457, in input
File "ui\Incantus.pyo", line 333, in greenlet_input
File "engine\Player.pyo", line 482, in convert_gui_action
AttributeError: 'OKAction' object has no attribute 'selection'
Now that is bizarre. I'll take a look.
Unable to reproduce. I used v0.7.0, used Bituminous Blast, said "no" when the window came up and... it went onto the bottom of my library. No problem.

EDIT: Although I did see (and fix) a possible logic error. I don't think it could cause that crash, but you never know.

Re: Bug reports for v0.7.0

PostPosted: 16 Feb 2010, 15:34
by juzamjedi
After further testing I don't think it is the selection of Yes or No that actually causes the crash. For some odd reason the crash seems to happen after I view the card in the Exile Zone. I.e. cast Bit Blast, view exiled zone, then select to cast cascade spell (or not) and crash.

FYI, Bituminous Blast into Bloodbraid Elf into Blightning works :D

Re: Bug reports for v0.7.0a

PostPosted: 18 Feb 2010, 00:24
by MageKing17
The only bug from v0.7.0 that should still be in v0.7.0a is juzamjedi's previously-mentioned possible crash involving looking at the exile zone during Cascade, which is beyond my limited UI knowledge to fix. Any other bugs should be re-reported if encounted in the [booming voice] NEW VERSION! [/booming voice].

Re: Bug reports for v0.7.0a

PostPosted: 21 Feb 2010, 07:01
by juzamjedi
In latest release v0.7.0a:

Agent of Stromgald filters Red mana into... Red mana. #-o easy fix.

Apprentice Necromancer crashes when you activate his ability. Problem is @source.delayed is a bool. This also affects unearth it also uses @source.delayed when returning from graveyard to battlefield.

I used Nissa's ultimate ability to put all my elves into play. This caused a crash line 58 in CiPAbility.py 'bool' object has no attribute 'times'. I am guessing this is part of resolving Joraga Warcaller's multi-kicker.

Bloodchief Ascension does not trigger at end of turn after dealing damage to opponent.

Silly bugs: Flame Jab and Chandra Ablaze are not red. When discarded to Chandra Ablaze they dealt 0 damage, but +1 ability works for Bazaar Trader.

Another silly one: Chainer's 3rd ability causes crash. Should be move_to("exile") instead of move_to(Exiled).

Luminarch Ascension's limit should work for >= 4 counters instead of > 4 counters.

Re: Bug reports for v0.7.0a

PostPosted: 21 Feb 2010, 13:57
by Incantus
MageKing17 wrote:(Created at the suggestion of Marek14)
Don't bother reporting these known issues:
    ...
  • Any complaints about the UI's design that aren't actual bugs.
Actually, please do complain about the UI. I would like to get feedback about what's not working, and hopefully suggestions about how to make it better. For example, the Exiled zone is treated like the graveyard (just a stack of cards) when instead it should probably be piles of cards, somehow pointing back to the card/cards that put them there). Thanks.

Incantus

Re: Bug reports for v0.7.0a

PostPosted: 21 Feb 2010, 14:35
by Marek14
Incantus wrote:
MageKing17 wrote:(Created at the suggestion of Marek14)
Don't bother reporting these known issues:
    ...
  • Any complaints about the UI's design that aren't actual bugs.
Actually, please do complain about the UI. I would like to get feedback about what's not working, and hopefully suggestions about how to make it better. For example, the Exiled zone is treated like the graveyard (just a stack of cards) when instead it should probably be piles of cards, somehow pointing back to the card/cards that put them there). Thanks.

Incantus
Ideally, the exile might be a complete separate window...

Re: Bug reports for v0.7.0a

PostPosted: 21 Feb 2010, 14:50
by Incantus
How would you arrange the cards in that window?

Re: Bug reports for v0.7.0a

PostPosted: 21 Feb 2010, 17:18
by Marek14
Incantus wrote:How would you arrange the cards in that window?
Well, I would make that window up of "spots". A spot is a rectangle with different background that contains cards exiled by one specific source. The name of source is on the bottom of the spot, and zooming at it will show you the details about it.

Similarly, zooming on a permanent on the battlefield that has an associated spot in exile brings up, in addition to other things, the list of cards in its spot.

In addition to spots (which can contain face-up cards, face-down cards, or even piles, i.e. Mangara's Tome), there is an "oblivion" pile in the exile window, which are cards that are exiled, but not tracked by anything. This includes either cards that are exiled without any tracking effect (for example, by Cranial Extraction), or cards where all relevant tracking effects have ended (for example card imprinted to Chrome Mox after the Mox leaves the battlefield).

Haunt is a special case. A creature that is haunted should be marked in some way (perhaps by an attached pseudocard), and the name(s) of haunting card(s) will be shown when zooming. All haunting cards share the same spot. When a haunted creature dies, everything that haunted it is moved to oblivion pile, as it won't have further effect on the game.

All suspended cards, similarly, share the same spot.

The exile window could be either separate, or joined at a side of the main table. However, the suspended cards should be ALWAYS shown at a side, even if the exile window itself is separate or not currently shown. They are important and need to be taken track of.

BTW, your question about color: Base color is determined solely by the mana cost, but the characteristic-setting abilities that change it apply everywhere - for example, you can fetch Transguild Courier from a binder with Glittering Wish.

Even if a permanent loses all abilities, this won't change the color set by such ability, since color changes are processed before abilities.

Re: Bug reports for v0.7.0a

PostPosted: 22 Feb 2010, 01:14
by juzamjedi
Marek14 wrote:BTW, your question about color: Base color is determined solely by the mana cost, but the characteristic-setting abilities that change it apply everywhere - for example, you can fetch Transguild Courier from a binder with Glittering Wish.

Even if a permanent loses all abilities, this won't change the color set by such ability, since color changes are processed before abilities.
I assume this is regarding the Chandra bug. Does Incantus implement color checking against mana cost in all zones? I playtested some more today and when I discard Raging Kavu to Chandra's +1 ability it worked correctly. Raging Kavu explicitly calls color = Red, Green.

Re: Bug reports for v0.7.0a

PostPosted: 22 Feb 2010, 13:14
by Incantus
juzamjedi wrote:
Marek14 wrote:BTW, your question about color: Base color is determined solely by the mana cost, but the characteristic-setting abilities that change it apply everywhere - for example, you can fetch Transguild Courier from a binder with Glittering Wish.

Even if a permanent loses all abilities, this won't change the color set by such ability, since color changes are processed before abilities.
OK, although i'm not sure I could implement Glittering Wish that way, since cards outside the game are not operational. There might be a way by loading each card and having it "pretend to be in the game" (I used to use the removed from game zone, but now that's changed so I might need an "out of game" zone).

juzamjedi wrote:I assume this is regarding the Chandra bug. Does Incantus implement color checking against mana cost in all zones? I playtested some more today and when I discard Raging Kavu to Chandra's +1 ability it worked correctly. Raging Kavu explicitly calls color = Red, Green.
Yes, the Chandra bug made me realize this. Originally the card code had to have the color attribute set - but I've fixed the game engine to take it from the mana cost if the color attribute isn't set (I still need it for tokens since they don't have a mana cost). The new card editor will not generate color attributes (test.incant.us).