hawkthorne / hawkthorne-journey

Digital Estate Planning: The Game
projecthawkthorne.com
1.09k stars 452 forks source link

Player unfrozen immediately after firing The Epic and talking to NPC #2457

Open LoubiTek opened 9 years ago

LoubiTek commented 9 years ago

Once the blacksmith's house is burn. Wait Hilda stop crying and then talk to him. Sometimes the animation of the dialogue stops. ht Very odd thing by launching the game. If I talk to Hilda, animation of the dot of interrogation gets going.

niamu commented 9 years ago

Maybe I'm misunderstanding, but I can't reproduce whatever the issue is here. I fixed the fact that you can keep open her menu just before she notices the fire before release. There must be some other tiny edge case here.

LoubiTek commented 9 years ago

I see! If shooting with the weapon "Epic" and that we talk to someone, the text does not close.

niamu commented 9 years ago

But you're not holding The Epic in the screenshot? What did you actually do?

niamu commented 9 years ago

This will only happen if you fire The Epic when it is charged and then talk to an NPC before the camera shaking has stopped.

Classic problem of mutable values where we set the player to freeze so we can shake the camera on The Epic attack, but then also set the player to freeze when we talk to an NPC before The Epic code timer triggers and sets the player movement freeze to off again.

I could write a fix for this, but it would be ugly and it wouldn't be the right fix which involves rewriting these player behaviours in the Clojure port later in immutable data structures so we don't have this problem.

We knew the camera shaking was a hack when we implemented it and we knew it would probably break things. So here we are with something broken, but because it's so minor I'm not going to touch it. I'll leave the bug open in case anyone else feels like writing a fix after my description of the problem.