davewx7 / citadel

A turn based strategy game based on the Anura engine
Other
97 stars 25 forks source link

Several particle system effects won't stop playing during replay. #224

Open sapientN3T opened 6 years ago

sapientN3T commented 6 years ago

Steps to reproduce:

  1. watch_replay("985")
  2. observe that Tactical Blunder is played on Turn 8 (player 0 response to player 1 summon), and spell fizzles.
  3. observe that many turns later, and at the end of the replay, the animation is still playing (see screenshot)

2018-06-11 21_54_28-greenshot

ghost commented 6 years ago

Ugh, this looks bad. And there are remains from a couple Translocate invocations over there, aren't they?

ghost commented 6 years ago

I have no idea what is happening or where to start tackling.

I suppose it is easy to use is_replay for removing them completely from replays until the bug is fixed. https://github.com/davewx7/citadel/blob/b9ab76ff3202812d18a8a80181eefa470009a233/data/objects/citadel_controller.cfg#L18

ghost commented 6 years ago

I could try to log PlayCardParticles.end_anim and try to see if forcing it set to non null by overwriting the card code makes the problem disappear. But I wouldn't be surprised if the replay data is already able to force stored (past) card code over updated card code.

I think the Tactical Blunder that starts the party fizzles even it's successfully casted (I think). That'd be a first oddity.

I would also like to observe some more tactical blunders in other games, to be sure that this is a general problem in replays, not a case unique to game 985.