Skip to content

Commit

Permalink
Handle logout during obstacles
Browse files Browse the repository at this point in the history
  • Loading branch information
GregHib committed Dec 29, 2024
1 parent 63fd27b commit 858d55b
Show file tree
Hide file tree
Showing 2 changed files with 20 additions and 15 deletions.
Original file line number Diff line number Diff line change
Expand Up @@ -5,16 +5,13 @@ import world.gregs.voidps.engine.client.variable.start
import world.gregs.voidps.engine.entity.character.clearAnimation
import world.gregs.voidps.engine.entity.character.exactMove
import world.gregs.voidps.engine.entity.character.face
import world.gregs.voidps.engine.entity.character.mode.interact.Interact
import world.gregs.voidps.engine.entity.character.move.tele
import world.gregs.voidps.engine.entity.character.move.walkTo
import world.gregs.voidps.engine.entity.character.npc.NPCs
import world.gregs.voidps.engine.entity.character.player.chat.ChatType
import world.gregs.voidps.engine.entity.character.player.skill.Skill
import world.gregs.voidps.engine.entity.character.player.skill.exp.exp
import world.gregs.voidps.engine.entity.character.player.skill.level.Level.has
import world.gregs.voidps.engine.entity.character.setAnimation
import world.gregs.voidps.engine.entity.obj.ObjectOption
import world.gregs.voidps.engine.entity.obj.objectApproach
import world.gregs.voidps.engine.entity.obj.objectOperate
import world.gregs.voidps.engine.inject
Expand Down Expand Up @@ -51,15 +48,14 @@ objectApproach("Run-across", "gnome_sign_post_advanced") {
// arriveDelay() wouldn't work as objectApproach is called before Movement.tick where "last_movement" is set
pause(2)
player.face(Direction.EAST)
player.setAnimation("gnome_wall_run", override = true)
player.setAnimation("gnome_wall_run")
player.start("input_delay", 4)
player.strongQueue("wall-run", 1) {
player.exactMove(Tile(2484, 3418, 3), 60, Direction.EAST)
player.strongQueue("land", 2) {
player.gnomeStage(5)
player.exp(Skill.Agility, 25.0)
player.clearAnimation()
}
pause(2)
player.gnomeStage(5)
player.exp(Skill.Agility, 25.0)
player.clearAnimation()
}
}

Expand All @@ -72,6 +68,9 @@ objectApproach("Swing-to", "gnome_pole_advanced") {
player.face(Direction.NORTH)
player.start("input_delay", 14)
player.strongQueue("run-up", 1) {
onCancel = {
player.tele(Tile(2486, 3418, 3))
}
player.setAnimation("gnome_run_up")
player.exactMove(tile.copy(y = 3421), 60, Direction.NORTH)
pause(2)
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -15,7 +15,6 @@ import world.gregs.voidps.engine.entity.character.player.skill.exp.exp
import world.gregs.voidps.engine.entity.character.setAnimation
import world.gregs.voidps.engine.entity.obj.objectOperate
import world.gregs.voidps.engine.inject
import world.gregs.voidps.engine.queue.softQueue
import world.gregs.voidps.engine.queue.strongQueue
import world.gregs.voidps.type.Direction
import world.gregs.voidps.type.Tile
Expand All @@ -24,12 +23,16 @@ import world.gregs.voidps.type.Zone
val npcs: NPCs by inject()

objectOperate("Walk-across", "gnome_log_balance") {
npcs.gnomeTrainer("Okay get over that log, quick quick!", listOf(Zone(878901), Zone(878900), Zone(876852)))
player.renderEmote = "rope_balance"
player.walkTo(Tile(2474, 3429), noCollision = true, noRun = true)
player.message("You walk carefully across the slippery log...", ChatType.Filter)
player.start("input_delay", 8)
player.strongQueue("log-balance", 8) {
player.strongQueue("log-balance") {
onCancel = {
player.tele(2474, 3436)
}
npcs.gnomeTrainer("Okay get over that log, quick quick!", listOf(Zone(878901), Zone(878900), Zone(876852)))
player.renderEmote = "rope_balance"
player.walkTo(Tile(2474, 3429), noCollision = true, noRun = true)
player.message("You walk carefully across the slippery log...", ChatType.Filter)
pause(8)
player.clearRenderEmote()
player.gnomeStage(1)
player.exp(Skill.Agility, 7.5)
Expand Down Expand Up @@ -111,6 +114,9 @@ objectOperate("Climb-over", "gnome_obstacle_net_free_standing") {

objectOperate("Squeeze-through", "gnome_obstacle_pipe_*") {
player.strongQueue("obstacle_pipe", 1) {
onCancel = {
player.tele(target.tile.addY(-1))
}
player.start("input_delay", 8)
player.face(Direction.NORTH)
player.message("You pull yourself through the pipes..", ChatType.Filter)
Expand Down

0 comments on commit 858d55b

Please sign in to comment.