Time Skip creates stairs
Posted: Mon Apr 18, 2011 11:50 pm
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
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.
- 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)
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.