jespertheend / splix

MIT License
24 stars 5 forks source link

fix(gs): Handle moves as invalid while a player is dead #126

Closed jespertheend closed 1 year ago

jespertheend commented 1 year ago

Fixes #121

jespertheend commented 1 year ago

The invalid moves stay at the beginning of the queue

Should be fixed now 👍

continue going straight when they tried to turn while a second player kills and undoes their death

I think this would probably get fixed with #94. Not sure how the old server handled this but it seems like a pretty rare situation anyway.

Turning without undo but when running into something that kills them on the same tick should also be allowed

I gave this some more thought, I don't think this situation is possible. If you are at a location that would kill you, then turning without changing your position would per definition still mean you are dead. Unless I'm missing something?

jespertheend commented 1 year ago

Ah I see, I think the previous approach would fix this then. The version from before I cleared the queue I mean. In that case the entries would remain in the queue and would be applied when the death is undone.

splixcord commented 1 year ago

Sending an undo while dead that's not far enough to undo your death (because another player is responsible for it, for example fakehit bug or someone hitting your trail somewhere and then them undoing after you tried your undo) your move would still currently get ignored.

This wasn't fixed and valid undo moves are ignored now, and a situation where a player fake hits someone's head now keeps both players dead

jespertheend commented 1 year ago

Yeah but I think that's fine because they are only ignored if there was an invalid move first. And at that point you have kind of already messed up enough to not deserve an undo I think. The alternative is that entries are removed from the queue and they are lost when you do end up coming back to life, which is much worse I think.