bvoq / puzzlescriptmis

8 stars 0 forks source link

difference in puzzlescript vs puzzlescriptmis behaviour #20

Closed increpare closed 3 years ago

increpare commented 3 years ago

in this example I can move around in the first level in puzzlescript, but when I try to play it in puzzlescript+mis I can't move https://www.puzzlescript.net/editor.html?hack=abe0f86680a6476a52935dca9f595599

bvoq commented 3 years ago

I don't understand, isn't puzzlescript+mis doing the right behaviour here? It's reading the late rules from top to bottom? Or have you merged all late rules into one big rule?

increpare commented 3 years ago

I'm not sure what you mean. Late rules should basically work the same as normie rules. Let me say what exactly the current code does, and you can tell me where your interpretation differs :)

=========================

Turn starts with everyone moving right!

image

[player]->[player beforepos ] This puts tags (Red dots) on the player's position at the start of the turn.

image

[movement processing happens]

image

```late [ beforepos no player ] [ beforepos player ] -> [ beforepos ] [ player ]```` After movement-processing, if there is a tag not on the player, remove all tags from the player.

image

late [ beforepos player ] -> cancel If a tag remains on the player (that is, if the above line never got triggered), cancel the turn

[doesn't get triggered]

late [beforepos]->[] remove all tags.

image

bvoq commented 3 years ago

Aha! It's actually the same bug with how the movement replacement is done.

[player]->[player beforepos ]

this rule alone already removes all the movements!