Shandalar - Program Bugs
Hesitation fails assertion; sometimes just sacrifices itself (fix completed)
Have had hesitation not work right all times I have used it so far: first time I got this fatal error:
Assertion failed at ./cards.h:1627 bool counter(int,int,int,int)
(0/3:Hesitation): (tgt->state&(STATE_INVISIBLE|STATE_IN_PLAY))==STATE_INVISIBLE
other times it went to graveyard and did not counter the spell.
Assertion failed at ./cards.h:1627 bool counter(int,int,int,int)
(0/3:Hesitation): (tgt->state&(STATE_INVISIBLE|STATE_IN_PLAY))==STATE_INVISIBLE
other times it went to graveyard and did not counter the spell.
Last edited by Korath on 09 Sep 2015, 22:16, edited 3 times in total.
Reason: retitle from "Hesitation not working right"; component Individual Card->Duel Engine; version Thieves Hideout 1->Ruined Tower 1
Reason: retitle from "Hesitation not working right"; component Individual Card->Duel Engine; version Thieves Hideout 1->Ruined Tower 1
Comments
Posted by Korath » 18 Aug 2015, 18:41
I haven't investigated (or even formally confirmed) this yet, but it could conceivably be impacted by the minor functional change to its current Oracle wording that I just implemented - it was "When a player casts a spell, sacrifice Hesitation. If you do, counter that spell.", and is now "When a player casts a spell, sacrifice ~ and counter that spell." sacrifice() currently only returns false if the sacrificed permanent wasn't on the battlefield, though, so it shouldn't matter.
Posted by Korath » 18 Aug 2015, 18:52
commit c2ea0c27da3546455995562047a68342cbd37eb1
Author: Korath <dgk@Dirge.none>
Date: Tue Aug 18 14:50:50 2015 -0400
[TH] update wording in card comments to current Oracle versions
These are almost all simple templating changes, for example changing
"~ is indestructible." to "Indestructible", and "[something] is unblockable
until end of turn" to "[something] can't be blocked this turn".
(Actual wording changes on the cards was already done in commit f05423c; that
won't be seen in Shandalar until a new Manalink version is released.)
Functional changes:
Avacyn, Angel of Hope has indestructible in all zones for itself (which it did
before, incorrectly); but its second ability now only adds indestructible to
other permanents you control, not itself (redundantly).
Hesitation always counters the spell when it triggers, not only if it's
successfully sacrificed.
Marsh Viper adds poison counters whenever it deals damage to a player, not just
an opponent.
Author: Korath <dgk@Dirge.none>
Date: Tue Aug 18 14:50:50 2015 -0400
[TH] update wording in card comments to current Oracle versions
These are almost all simple templating changes, for example changing
"~ is indestructible." to "Indestructible", and "[something] is unblockable
until end of turn" to "[something] can't be blocked this turn".
(Actual wording changes on the cards was already done in commit f05423c; that
won't be seen in Shandalar until a new Manalink version is released.)
Functional changes:
Avacyn, Angel of Hope has indestructible in all zones for itself (which it did
before, incorrectly); but its second ability now only adds indestructible to
other permanents you control, not itself (redundantly).
Hesitation always counters the spell when it triggers, not only if it's
successfully sacrificed.
Marsh Viper adds poison counters whenever it deals damage to a player, not just
an opponent.
Posted by Korath » 09 Sep 2015, 22:14
commit fbe46bd82523cdb5db99e14da65c78991cb04f86
Author: Korath <dgk@Dirge.none>
Date: Wed Sep 9 18:13:11 2015 -0400
[LT] FIX #673: dispatch_trigger2(): properly restore trigger_cause
The value of trigger_cause_controller was instead stashed and restored twice.
Manifested as Hesitation seeing the wrong card to counter after it sacrificed
itself. dispatch_xtrigger2() had the same bug.
Author: Korath <dgk@Dirge.none>
Date: Wed Sep 9 18:13:11 2015 -0400
[LT] FIX #673: dispatch_trigger2(): properly restore trigger_cause
The value of trigger_cause_controller was instead stashed and restored twice.
Manifested as Hesitation seeing the wrong card to counter after it sacrificed
itself. dispatch_xtrigger2() had the same bug.
Posted by Korath » 09 Sep 2015, 22:16
Actually an engine bug dating all the way back to the first release.
4 Posts
• Page 1 of 1
Ticket details
- Ticket ID: 673
- Project: Shandalar
- Status: Fix completed
- Component: Duel Engine
- Project version: Ruined Tower 1
- Priority: Normal
- Severity: Normal
- Assigned to: Korath
- Reported by: rodil
- Reporter's tickets: List all tickets
- Reported on: 08 Aug 2015, 23:14
- Last visited by Korath » 26 Oct 2015, 08:59.
