It is currently 23 Apr 2024, 16:23
   
Text Size

[fixed]Firescreamer bug

Moderators: BAgate, drool66, Aswan jaguar, gmzombie, stassy, CCGHQ Admins

[fixed]Firescreamer bug

Postby etphonehome » 27 Aug 2021, 21:12

Firescreamer activated during my cleanup step and +1/+0 didn't clean up at the end of the turn.

Now that this happened, i think i've already seen other cards activate their effects during my cleanup phase like that was their turn already, AI untap their cards and don't loose the until EOT effect, like it considered my cleanup phase like the AI turn already

THX
Attachments
Captura de ecrã 2021-08-27 213615.jpg
firescreamer savegame.rar
(2.2 KiB) Downloaded 71 times
Captura de ecrã 2021-08-27 213649.jpg
Last edited by drool66 on 29 Aug 2021, 21:52, edited 2 times in total.
Reason: fixed
etphonehome
 
Posts: 299
Joined: 21 May 2020, 12:50
Has thanked: 270 times
Been thanked: 39 times

Re: Firescreamer bug

Postby Aswan jaguar » 28 Aug 2021, 11:32

I think most of the issue here, is explained by Korath as how ending phase should work and how it works in manalink and what needs to be done: viewtopic.php?f=86&t=18013&p=190420&hilit=at+the+beginning+of+the+end#p190420
---
Trying to squash some bugs and playtesting.
User avatar
Aswan jaguar
Super Tester Elite
 
Posts: 8078
Joined: 13 May 2010, 12:17
Has thanked: 730 times
Been thanked: 458 times

Re: [confirmed]Firescreamer bug

Postby Korath » 28 Aug 2021, 14:59

If until-end-of-turn effects are being treated as at-the-start-of-the-next-end-step triggers, then that's a recent, gamebreaking bug right now that shouldn't wait until everything I mention there is correct.

What's happening is that most effects timed "until end of turn" are removed during EVENT_CLEANUP, which is - as mentioned in my old post linked above - sent before TRIGGER_EOT. (Some happen during TRIGGER_EOT, which is an unambiguous error: while the events and triggers sent in the original implementation only mostly match up to the current game turn sequence, and while might have mislabelled some of them, we do know that these effects should end at an event, not a trigger.) There was an unused and incomplete framework to allow instant- and interrupt-speed responses to triggers; that was enabled to allow Stifle and similar cards. So the AI is pumping these creatures during TRIGGER_EOT, and the effects last until the next time EVENT_CLEANUP is sent, near the end of the next turn.

The fastest mitigation is to disable instant+interrupt-speed responses to triggers during TRIGGER_EOT. This is really the absolute minimum that must be done before another release: being able to Stifle end-step triggers is not worth having Shivan Dragon pumps persisting into the next turn.

The real fix is to move the parts of cleanup_phase() and end_turn_phase() around, at least to put EVENT_CLEANUP after TRIGGER_EOT even if everything else doesn't end up where it ultimately should. That should be feasible even without moving either into C: EVENT_CLEANUP is sent (manually with a for-loop in card-index-ascending order, rather than in timestamp order by dispatch_event()) as the last part of cleanup_phase(), and there's function calls that can be easily hooked in end_turn_phase() just after TRIGGER_EOT is dispatched. I'd try putting it just before the reassess_all_cards() call, and seeing whether cards with enough damage marked on them to kill them once their temporary toughness pumps wear off work properly.
User avatar
Korath
DEVELOPER
 
Posts: 3707
Joined: 02 Jun 2013, 05:57
Has thanked: 496 times
Been thanked: 1106 times

Re: [confirmed]Firescreamer bug

Postby drool66 » 28 Aug 2021, 20:03

It looks like it was activating in response to TRIGGER_EOT. Fixed for now by disabling interaction under that trigger sic:

cant_be_responded_to |= trigger_condition == TRIGGER_EOT;

Committed in 133af66
Last edited by drool66 on 29 Aug 2021, 19:34, edited 1 time in total.
Reason: hash info
User avatar
drool66
Programmer
 
Posts: 1163
Joined: 25 Nov 2010, 22:38
Has thanked: 186 times
Been thanked: 267 times


Return to Archived Reports

Who is online

Users browsing this forum: No registered users and 11 guests


Who is online

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

Login Form