RuneHive-Tarnish
Neural OSRS Enhancement Framework
Loading...
Searching...
No Matches
Teleportation.java
1package com.osroyale.content.skill.impl.magic.teleport;
2
3import com.osroyale.content.activity.Activity;
4import com.osroyale.content.lms.LMSGame;
5import com.osroyale.content.lms.lobby.LMSLobby;
6import com.osroyale.game.action.impl.TeleportAction;
7import com.osroyale.game.world.entity.mob.Mob;
8import com.osroyale.game.world.entity.mob.data.PacketType;
9import com.osroyale.game.world.entity.mob.player.Player;
10import com.osroyale.game.world.entity.mob.player.PlayerRight;
11import com.osroyale.game.world.position.Position;
12import com.osroyale.net.packet.out.SendMessage;
13
47
48public class Teleportation {
49
50
51 public static void activateOverride(Mob mob, Position position, TeleportationData teleport) {
52 mob.action.execute(new TeleportAction(mob, position, teleport, () -> {}), true);
53 }
54
55 public static void activateOverride(Mob mob, Position position, TeleportationData teleport, Runnable runnable) {
56 mob.action.execute(new TeleportAction(mob, position, teleport, runnable), true);
57 }
58
59 public static boolean teleport(Player player, Position position) {
60 return teleport(player, position, 20, TeleportationData.MODERN, () -> {});
61 }
62
63 public static boolean teleport(Player player, Position position, TeleportationData teleport, Runnable runnable) {
64 return teleport(player, position, 20, teleport, runnable);
65 }
66
67 public static boolean teleport(Player player, Position position, TeleportationData teleport) {
68 return teleport(player, position, 20, teleport, () -> {});
69 }
70
71 public static boolean teleport(Player player, Position position, int wilderness) {
72 return teleport(player, position, wilderness, TeleportationData.MODERN, () -> {});
73 }
74
75 public static boolean teleport(Player player, Position position, int wilderness, Runnable runnable) {
76 return teleport(player, position, wilderness, TeleportationData.MODERN, runnable);
77 }
78
79 public static boolean teleport(Player player, Position position, int wilderness, TeleportationData teleport) {
80 return teleport(player, position, wilderness, teleport, () -> {});
81 }
82
83 public static boolean teleport(Player player, Position position, int wilderness, TeleportationData teleport, Runnable runnable) {
84 if(player.isGambleLocked()) return false;
85
86 player.interfaceManager.close(false);
87
88 if (Activity.evaluate(player, it -> !it.canTeleport(player))) {
89 return false;
90 }
91
92 if(LMSLobby.lobbyMembers.contains(player) || LMSGame.isActivePlayer(player)) {
93 return false;
94 }
95
96 if (player.locking.locked(PacketType.TELEPORT)) {
97 return false;
98 }
99
100 if (player.isTeleblocked()) {
101 player.message("You are currently under the affects of a teleblock spell and can not teleport!");
102 return false;
103 }
104
105 if (player.wilderness > wilderness && !PlayerRight.isDeveloper(player)) {
106 player.send(new SendMessage("You can't teleport past " + wilderness + " wilderness!"));
107 return false;
108 }
109
110 if (teleport != TeleportationData.HOME) {
111 player.getCombat().reset();
112 player.damageImmunity.reset(3_000);
113 }
114
115 if (teleport != TeleportationData.TABLET && player.pvpInstance) {
116 player.pvpInstance = false;
117 player.instance = Mob.DEFAULT_INSTANCE;
118 if (player.pet != null) {
119 player.pet.instance = player.instance;
120 }
121 }
122
123 player.action.execute(new TeleportAction(player, position, teleport, runnable), true);
124 return true;
125 }
126}
static boolean isActivePlayer(Player player)
Definition LMSGame.java:188