Page 1 of 1

Time Skip creates stairs

Posted: Mon Apr 18, 2011 11:50 pm
by Flare
Time Skip (and the Rune of the Rift) doesn't simply remove an actor - it changes the terrain the actor is standing on to whatever terrain the player is standing on. This allows for bizarre and interesting tricks:

- create temporary islands in water
- skip a dread, walk through the wall it occupied, and watch the wall close up again behind you
- stand on a level exit and create another fully functional level exit
- stand on an escort portal and create another functional escort portal, perhaps a little bit closer to the escort
- stand in a wall and seal yourself in (good luck getting inside a wall)
- play with the gates in Arena: Challenge of the Master

All of these are good clean perversions of time and space. The bug comes in when the player tries to leave the dungeon. If the player should leave the level for a while, long enough for the game to reset the monsters, the temporarily altered terrain will become permanently altered. After all, if the monster ceases to exist, the terrain can't change back when the monster returns.

I haven't tested this, but it is probably possible to break a game this way. If one level exit is in range of the next, a player could cast Time Skip on a monster on that second exit while standing on the first. Then the player could leave the area for a while, and never be able to progress through that dungeon.

You could partially fix this by changing this line from talents/chronomancy/timetravel.lua

Code: Select all

		-- First, clone the terrain that we are replacing
		local terrain = game.level.map(game.player.x, game.player.y, engine.Map.TERRAIN)
to use the terrain at the target's location instead of the terrain at the player's location. It would still leave a temporal anomaly when re-entering a level, but it wouldn't be game breaking. Something else would be needed to resolve temporal anomalies on re-entering an area.

The Rune of the Rift could be fixed in exactly the same way, but where's the fun in that? Except for the stair-munching, it's not a bad effect. Sort of like the world's coolest pickax. It just needs to target anywhere, and a little blurb in the description justifying it.

Re: Time Skip creates stairs

Posted: Tue Apr 19, 2011 12:52 am
by evouga
Independent of whether the terrain copy source should be fixed (my feeling is that it's a bug, but maybe you're right and it's intentional...), the effect should probably end as soon as the player leaves the map (via stairs, Angolwen teleport, death, etc) which would solve the game-breaking aspect.

Re: Time Skip creates stairs

Posted: Tue Apr 19, 2011 1:53 am
by edge2054
Good catch on the terrain definition being off.

I'm not sure I follow the second part though or how changing the terrain definition to target wouldn't fix any possible issue with that.

Anyway thanks for the fix. I'll send DG a diff to fix both effects.

Re: Time Skip creates stairs

Posted: Tue Apr 19, 2011 1:21 pm
by Flare
edge2054 wrote: I'm not sure I follow the second part though or how changing the terrain definition to target wouldn't fix any possible issue with that.
When a target is hit by time skip, they disappear and the ground where they stood is marked by a temporal anomaly. If you mouse over that spot, a tooltip will pop up stating that it is in fact a temporal anomaly. Changing the terrain definition to target would make the terrain appear the same, but it would still have an anomaly on it. For example, if the target were on a floor tile, the floor tile would have an '&' on it, and the tooltip would state that it is a temporal anomaly. Even if the terrain definition was fixed, the target spot would still have that temporal anomaly permanently fixed to that position. It isn't a major issue, but it does make an odd piece of scenery.

Re: Time Skip creates stairs

Posted: Tue Apr 19, 2011 3:39 pm
by edge2054
I did some testing last night when I changed the terrain definitions and Time Skipping a fox on level 2 of the trollmire and resting for 600 turns on level 1 did not reset the anomaly. Going back to level 2 of the trollmire the level had repopped but the anomaly stayed, complete with it's stored information. After a few turns the fox reappeared.

So I'm not sure a permanent anomaly overlay could be created, even if it was it's an overlay and doesn't actually replace the terrain underneath it (which is why people could use the stairs created with the bug).

Re: Time Skip creates stairs

Posted: Tue Apr 19, 2011 11:43 pm
by Flare
I have a saved game with this bug on display. Basically the player is parked between two down stairways, one of which is an anomaly. I've wandered back and forth and up and down, and neither of them show any signs of going away. Would you like the save? And if you do, do you want the whole thing, or would zone-dreadfell.teaz and desc.lua be enough?