Announcement: Be excellent to each other.


Caravel Forum : DROD Boards : Bugs : Teleport+Invisibility-related undo instability
New Topic New Poll Post Reply
Poster Message
Xindaris
Level: Smitemaster
Avatar
Rank Points: 1531
Registered: 06-13-2015
IP: Logged

File: Teleport Instability.hold (2.8 KB)
Downloaded 40 times.
License: Public Domain
icon Teleport+Invisibility-related undo instability (+1)  
I decided to try out the open beta patch of 5.1 and discovered an issue with undoing after script-handled teleportation-based movement.

The one-room hold I've attached here is an extremely experimental build inspired by that one fake let's play's "Motorcycle". The idea is to have tokens that turn a "motorcycle-like movement" pattern on and off. This explodes things in the player's path, attempts to teleport the player 5 tiles forward, and if it sees that it can't, kills the player ("crashes") up against the first obstruction. This room is a test room intended to show off a bunch of the features as well as test them, and it was working perfectly pre-patch.

Now, it appears to work fine going forward, but if I undo or restart the invisibility potions seem to "deactivate" themselves on the second run-through the room's steps, which causes every step after entering the mini-room in the center to be replaced with "Beethro gets killed by a goblin". It's possible (with unlimited undo) to undo all the way back to before going in the mini-room, and I can see that on the move I stepped on the second invisibility potion it's acting like I hadn't stepped on the first, but if I go back one more step it goes back to being like nothing was wrong. Also, sometimes (but not always?) pushing "r" to restart the room places Beethro back on the level entrance and where the potion is but behaves as if he hasn't drunk it (the potion's still there and he's still visible).

I was concerned this might be because of the invisibility potion being under the level entrance but that's never given me trouble by itself before, so it seems like there's something funky going on with re-playing the "teleportation moves" that kills off the invisibility too soon?

____________________________
109th Skywatcher

Here are some links to Things!
Click here to view the secret text


[Last edited by Xindaris at 01-16-2016 11:04 PM]
01-16-2016 at 11:01 PM
View Profile Send Private Message to User Show all user's posts High Scores This architect's holds Quote Reply
kieranmillar
Level: Smitemaster
Rank Points: 2670
Registered: 07-11-2014
IP: Logged
icon Re: Teleport+Invisibility-related undo instability (+1)  
I have taken a look at this, and it seems to be related to problems with turn 0. Tokens and potions that are activated on turn 0 (whether by walking into a room or level start) appear to not be activated when undoing, but ONLY if you teleport at some point in the room, it does not have to be turn 0 when you do the teleporting. Activating them at any other time results in no issues near as I can see, only turn 0.

Note that it is not specific to invisiblitiy potions, I got mimic potions and decoy potions and arrow rotator tokens to be ignored too. I didn't bother to test any others yet.

EDIT: A bit more, it is SPECIFICALLY when you undo to a turn where a teleport happens that problems occur. Try entering a room on top of a mimic potion, then teleport away a few turns later. Undoing is fine... up until you undo past the turn where the teleport happened, in which case the mimic potion reappears at the entrance, and the token toggles, etc. But only on that undo step. Unfortunately this can be enough for the game to desynch enough to kill you during playback up until this turn, as in the attached hold.

[Last edited by kieranmillar at 01-16-2016 11:25 PM]
01-16-2016 at 11:19 PM
View Profile Send Private Message to User Show all user's posts High Scores This architect's holds Quote Reply
kieranmillar
Level: Smitemaster
Rank Points: 2670
Registered: 07-11-2014
IP: Logged
icon Re: Teleport+Invisibility-related undo instability (+1)  
Some good (?) news: playing around with this caused the game to randomly crash when trying to undo, so now I've had something posted to my drod.err file.Maybe it will help debug this:

*** FIRST LOG IN SESSION 1/16/16 11:27PM ***
Assertion error in line 1854 of .\CurrentGame.cpp: "nCommand == CMD_DOUBLE"
Assertion error in line 1854 of .\CurrentGame.cpp: "nCommand == CMD_DOUBLE"
Assertion error in line 1854 of .\CurrentGame.cpp: "nCommand == CMD_DOUBLE"
Assertion error in line 1854 of .\CurrentGame.cpp: "nCommand == CMD_DOUBLE"
Assertion error in line 1854 of .\CurrentGame.cpp: "nCommand == CMD_DOUBLE"
Assertion error in line 1854 of .\CurrentGame.cpp: "nCommand == CMD_DOUBLE"
Assertion error in line 1838 of .\CurrentGame.cpp: "comIter != this->Commands.end()"


This was when I was stepping on a mimic potion on turn 0.
01-16-2016 at 11:32 PM
View Profile Send Private Message to User Show all user's posts High Scores This architect's holds Quote Reply
Dragon Fogel
Level: Smitemaster
Rank Points: 2434
Registered: 06-21-2014
IP: Logged
icon Re: Teleport+Invisibility-related undo instability (+1)  
This problem is still present in 5.1.0.6462.

Specifically: I tested a room with Beethro on top of a mimic potion, and a character set to teleport him on turn 5.

After the teleport, I hit undo and DROD crashed.
02-17-2016 at 11:33 PM
View Profile Send Private Message to User Show all user's posts High Scores This architect's holds Quote Reply
skell
Level: Legendary Smitemaster
Avatar
Rank Points: 3734
Registered: 12-28-2004
IP: Logged
icon Re: Teleport+Invisibility-related undo instability (+1)  
Dragon Fogel wrote:
This problem is still present in 5.1.0.6462.

Specifically: I tested a room with Beethro on top of a mimic potion, and a character set to teleport him on turn 5.

After the teleport, I hit undo and DROD crashed.
Good catch! It only crashes if you don't move before the teleportation. If you move before the teleport other weird things happen :).

It's now fixed for the release candidate after 5.1.0.6462

____________________________
My website | Facebook | Twitter
02-18-2016 at 01:08 PM
View Profile Send Private Message to User Send Email to User Visit Homepage Show all user's posts High Scores This architect's holds Quote Reply
skell
Level: Legendary Smitemaster
Avatar
Rank Points: 3734
Registered: 12-28-2004
IP: Logged
icon Re: Teleport+Invisibility-related undo instability (0)  
This also fixes the bug reported by Xindaris in the first post.

____________________________
My website | Facebook | Twitter
02-18-2016 at 01:28 PM
View Profile Send Private Message to User Send Email to User Visit Homepage Show all user's posts High Scores This architect's holds Quote Reply
Dragon Fogel
Level: Smitemaster
Rank Points: 2434
Registered: 06-21-2014
IP: Logged
icon Re: Teleport+Invisibility-related undo instability (+2)  
Confirmed in 5.1.0.6478. No crashes or beeps when undoing with teleport + turn 0 potion, whether you move or not. Tested with all potions (and even horns for good measure).
02-26-2016 at 06:35 PM
View Profile Send Private Message to User Show all user's posts High Scores This architect's holds Quote Reply
New Topic New Poll Post Reply
Caravel Forum : DROD Boards : Bugs : Teleport+Invisibility-related undo instability
Surf To:


Forum Rules:
Can I post a new topic? No
Can I reply? No
Can I read? Yes
HTML Enabled? No
UBBC Enabled? Yes
Words Filter Enable? No

Contact Us | CaravelGames.com

Powered by: tForum tForumHacks Edition b0.98.8
Originally created by Toan Huynh (Copyright © 2000)
Enhanced by the tForumHacks team and the Caravel team.