Merge branch 'master-but-core-reverted' into 'master'

Fix stability issues and a various assortment of other bugs

See merge request 2009scape/2009scape!384
This commit is contained in:
Ryan 2022-01-11 09:36:57 +00:00
commit a117451328
512 changed files with 5297 additions and 2193 deletions

View file

@ -92,13 +92,17 @@
- Corrected special attack for the enhanced excalibur
- Corrected damage calculations for Ruby Bolts (e) special effect
< --- ABOVE Released January 1st, 2022 https://gitlab.com/2009scape/2009scape/-/tags/Jan-1-2022 ---- >
- Set magic dart base xp to 30 (authenticity fix)
- Removed range strength and prayer bonus from god armour (authenticity fix)
- Can now pickpocket women in ardy (npc ID 25)
- Can now travel on free charter boats without having money in inventory
- Emerald and diamond bracelet enchants no longer produce noted items
- Prevent furnace temperature from going negative and deduplicate bar handling.
- Fix player saves for players who used coal on the conveyer belt before bf-fixes.
- Fix Edgeville canoe -> wilderness pond.
- Fix Edgeville Dungeon Wilderness gate getting stuck.
- Fishing guild is able to be entered with a fishing skill boost.
- Set magic dart base xp to 30 (authenticity fix) - ryannathans
- Removed range strength and prayer bonus from god armour (authenticity fix) - ryannathans
- Can now pickpocket women in ardy (npc ID 25) - ryannathans
- Can now travel on free charter boats without having money in inventory - ryannathans
- Emerald and diamond bracelet enchants no longer produce noted items - ryannathans
- Prevent Blast Furnace temperature from going negative and deduplicate bar handling - aweinstock
- Fix player saves for players who used coal on the conveyor belt before bf-fixes - aweinstock
- Fix Edgeville canoe -> wilderness pond - downthecrop
- Fix Edgeville Dungeon Wilderness gate getting stuck - downthecrop
- Fishing guild is able to be entered with a fishing skill boost - downthecrop
- Carefully revert some of the core changes introduced after Dec 15 release, this should resolve current stability issues - ceikry/ryannathans
- Fix incorrect message when trying to repair blast furnace without a hammer - ryannathans
- Fix Pest Control bots and a number of other potential issues with various bot functionalities - ryannathans
- Fix adventure bots pooling/stuck in Lumbridge after death - ryannathans

View file

@ -1,6 +1,7 @@
package core.cache.def.impl;
import java.io.BufferedWriter;
import java.io.FileWriter;
import java.nio.ByteBuffer;
import java.nio.file.Files;
import java.nio.file.Paths;
@ -9,7 +10,7 @@ import java.util.Map;
import core.cache.Cache;
import core.cache.misc.buffer.ByteBufferUtils;
import rs09.game.world.World;
import rs09.game.world.GameWorld;
/**
* The CS2 mapping.
@ -65,6 +66,33 @@ public final class CS2Mapping {
this.scriptId = scriptId;
}
/**
* The main method.
* @param args The arguments cast on runtime.
* @throws Throwable When an exception occurs.
*/
public static void main(String... args) throws Throwable {
GameWorld.prompt(false);
BufferedWriter bw = Files.newBufferedWriter(Paths.get("./cs2.txt"));
for (int i = 0; i < 10000; i++) {
CS2Mapping mapping = forId(i);
if (mapping == null) {
continue;
}
if (mapping.map == null) {
continue;
}
bw.append("ScriptAPI - " + i + " [");
for (int index : mapping.map.keySet()) {
bw.append(mapping.map.get(index) + ": " + index + " ");
}
bw.append("]");
bw.newLine();
}
bw.flush();
bw.close();
}
/**
* Gets the mapping for the given script id.
* @param scriptId The script id.

View file

@ -11,7 +11,7 @@ import core.game.world.update.flag.context.Animation;
import core.game.world.update.flag.context.Graphics;
import core.tools.StringUtils;
import rs09.game.system.config.NPCConfigParser;
import rs09.game.world.World;
import rs09.game.world.GameWorld;
import java.nio.ByteBuffer;
import java.util.HashMap;
@ -212,6 +212,19 @@ public final class NPCDefinition extends Definition<NPC> {
return def;
}
public static void main(String... args) throws Throwable {
GameWorld.prompt(false);
System.out.println("Roar: " + NPCDefinition.forId(2329).standAnimation);
// for (int i = 0; i < 11000; i++) {
// ItemDefinition def = ItemDefinition.forId(i);
// if (def.getMaleWornModelId1() >= 1250 && def.getMaleWornModelId1() <=
// 1550) {
// System.out.println(def.getName() + " " + i + ": " +
// def.getMaleWornModelId1());
// }
// }
}
/**
* Gets the child object definitions.
* @param player The player to get it for.

View file

@ -2,7 +2,7 @@ package core.cache.def.impl;
import core.cache.Cache;
import rs09.game.system.SystemLogger;
import rs09.game.world.World;
import rs09.game.world.GameWorld;
import java.lang.reflect.Array;
import java.lang.reflect.Field;
@ -287,4 +287,42 @@ public class RenderAnimationDefinition {
anInt990 = -1;
anInt993 = 0;
}
public static void main(String...args) throws Throwable {
GameWorld.prompt(false);
RenderAnimationDefinition def = RenderAnimationDefinition.forId(1426);
System.out.println("size: " + def.getClass().getDeclaredFields().length);
for (Field f : def.getClass().getDeclaredFields()) {
if (!Modifier.isStatic(f.getModifiers())) {
if (f.getType().isArray()) {
Object object = f.get(def);
if (object != null) {
int length = Array.getLength(object);
System.out.print(f.getName() + ", [");
for (int i = 0; i < length; i++) {
System.out.print(Array.get(object, i) + (i < (length - 1) ? ", " : "]"));
}
continue;
}
}
System.out.println(f.getName() + ", " + f.get(def));
}
}
for (Field f : def.getClass().getSuperclass().getDeclaredFields()) {
if (!Modifier.isStatic(f.getModifiers())) {
if (f.getType().isArray()) {
Object object = f.get(def);
if (object != null) {
int length = Array.getLength(object);
System.out.print(f.getName() + ", [");
for (int i = 0; i < length; i++) {
System.out.print(Array.get(object, i) + (i < (length - 1) ? ", " : "]"));
}
continue;
}
}
System.out.println(f.getName() + ", " + f.get(def));
}
}
}
}

View file

@ -7,7 +7,7 @@ import core.game.interaction.OptionHandler;
import core.game.node.entity.player.Player;
import core.game.node.scenery.Scenery;
import rs09.game.system.SystemLogger;
import rs09.game.world.World;
import rs09.game.world.GameWorld;
import java.nio.ByteBuffer;
import java.util.HashMap;
@ -509,6 +509,61 @@ public class SceneryDefinition extends Definition<Scenery> {
mapIcon = -1;
}
/**
* Main method, used for debugging object definitions.
* @param args The arguments cast on runtime.
* @throws Throwable When an exception occurs.
*/
public static void main(String... args) throws Throwable {
GameWorld.prompt(false);
// if (true) {
// for (int id = 0; id <= 27325; id++) {
// ObjectDefinition def = ObjectDefinition.forId(id);
// if (def.mapIcon > 69) {
// System.out.println(id + " - " + def.getName() + " has map icon " +
// def.mapIcon);
// }
// }
// return; 2105
// }
/*ObjectDefinition def = ObjectDefinition.forId(2105);
System.out.println("size: " + def.getClass().getDeclaredFields().length);
for (Field f : def.getClass().getDeclaredFields()) {
if (!Modifier.isStatic(f.getModifiers())) {
if (f.getType().isArray()) {
Object object = f.get(def);
if (object != null) {
int length = Array.getLength(object);
System.out.print(f.getName() + ", [");
for (int i = 0; i < length; i++) {
System.out.print(Array.get(object, i) + (i < (length - 1) ? ", " : "]"));
}
System.out.println();
continue;
}
}
System.out.println(f.getName() + ", " + f.get(def));
}
}
for (Field f : def.getClass().getSuperclass().getDeclaredFields()) {
if (!Modifier.isStatic(f.getModifiers())) {
if (f.getType().isArray()) {
Object object = f.get(def);
if (object != null) {
int length = Array.getLength(object);
System.out.print(f.getName() + ", [");
for (int i = 0; i < length; i++) {
System.out.print(Array.get(object, i) + (i < (length - 1) ? ", " : "]"));
}
System.out.println();
continue;
}
}
System.out.println(f.getName() + ", " + f.get(def));
}
}*/
}
/**
* Parses the definitions.
* @throws Throwable the throwable.

View file

@ -2,7 +2,8 @@ package core.cache.def.impl;
import core.cache.Cache;
import core.game.node.entity.player.Player;
import rs09.game.world.World;
import rs09.game.system.SystemLogger;
import rs09.game.world.GameWorld;
import java.nio.ByteBuffer;
import java.util.HashMap;
@ -103,6 +104,16 @@ public final class VarbitDefinition {
return def;
}
public static void main(String... args) throws Throwable {
GameWorld.prompt(false);
for (int i = 0; i < 15000; i++) {
VarbitDefinition def = forObjectID(i);
if (def != null && def.configId == 33) {
System.out.println("Config file [id=" + i + ", shift=" + def.bitShift + "]!");
}
}
}
/**
* Gets the current config value for this file.
* @param player The player.

View file

@ -8,7 +8,7 @@ import core.game.node.entity.player.Player;
import core.game.node.entity.player.link.IronmanMode;
import core.game.node.item.Item;
import rs09.game.system.config.ItemConfigParser;
import rs09.game.world.World;
import rs09.game.world.GameWorld;
import core.net.packet.PacketRepository;
import core.net.packet.context.ContainerContext;
import core.net.packet.out.ContainerPacket;
@ -91,7 +91,7 @@ public final class BankContainer extends Container {
if (player.getIronmanManager().checkRestriction(IronmanMode.ULTIMATE)) {
return;
}
if (!player.getBankPinManager().isUnlocked() && !World.getSettings().isDevMode()) {
if (!player.getBankPinManager().isUnlocked() && !GameWorld.getSettings().isDevMode()) {
player.getBankPinManager().openType(1);
return;
}
@ -122,7 +122,7 @@ public final class BankContainer extends Container {
if (player.getIronmanManager().checkRestriction(IronmanMode.ULTIMATE)) {
return;
}
if (!player.getBankPinManager().isUnlocked() && !World.getSettings().isDevMode()) {
if (!player.getBankPinManager().isUnlocked() && !GameWorld.getSettings().isDevMode()) {
player.getBankPinManager().openType(1);
return;
}

View file

@ -2,7 +2,7 @@ package core.game.content.activity;
import core.game.node.entity.player.Player;
import rs09.game.system.SystemLogger;
import rs09.game.world.World;
import rs09.game.world.GameWorld;
import java.util.HashMap;
import java.util.Map;
@ -49,7 +49,7 @@ public final class ActivityManager {
public static boolean start(Player player, String name, boolean login, Object... args) {
ActivityPlugin plugin = ACTIVITIES.get(name);
if (plugin == null) {
if (World.getSettings().isDevMode()) {
if (GameWorld.getSettings().isDevMode()) {
SystemLogger.logErr("Unhandled activity - " + name + "!");
}
return false;
@ -61,7 +61,7 @@ public final class ActivityManager {
return plugin.start(player, login, args);
} catch (Throwable e) {
e.printStackTrace();
if (World.getSettings().isDevMode()) {
if (GameWorld.getSettings().isDevMode()) {
player.getPacketDispatch().sendMessage("Error starting activity " + (plugin == null ? null : plugin.getName()) + "!");
}
}

View file

@ -5,7 +5,7 @@ import core.game.node.entity.Entity;
import core.game.node.entity.npc.NPC;
import core.game.node.entity.player.Player;
import core.game.system.task.Pulse;
import rs09.game.world.World;
import rs09.game.world.GameWorld;
import core.game.world.map.Location;
import core.game.world.map.build.DynamicRegion;
import core.net.packet.PacketRepository;
@ -74,7 +74,7 @@ public abstract class CutscenePlugin extends ActivityPlugin {
player.removeAttribute("real-end");
player.setAttribute("real-end", player.getLocation());
if (isFade()) {
World.getPulser().submit(getStartPulse());
GameWorld.getPulser().submit(getStartPulse());
} else {
PacketRepository.send(MinimapState.class, new MinimapStateContext(player, getMapState()));
player.getInterfaceManager().hideTabs(getRemovedTabs());
@ -118,7 +118,7 @@ public abstract class CutscenePlugin extends ActivityPlugin {
*/
public void stop(boolean fade) {
if (fade) {
World.getPulser().submit(endPulse);
GameWorld.getPulser().submit(endPulse);
} else {
end();
}

View file

@ -31,7 +31,7 @@ import core.net.packet.out.MinimapState;
import core.plugin.Initializable;
import core.tools.RandomFunction;
import rs09.game.content.activity.barrows.RewardChest;
import rs09.game.world.World;
import rs09.game.world.GameWorld;
import rs09.plugin.PluginManager;
/**
@ -153,7 +153,7 @@ public final class BarrowsActivityPlugin extends ActivityPlugin {
if (!PULSE.isRunning()) {
PULSE.restart();
PULSE.start();
World.getPulser().submit(PULSE);
GameWorld.getPulser().submit(PULSE);
}
} else {
((NPC) e).setAggressive(true);

View file

@ -7,7 +7,7 @@ import core.game.node.Node;
import core.game.node.entity.player.Player;
import core.game.node.scenery.Scenery;
import core.game.system.task.Pulse;
import rs09.game.world.World;
import rs09.game.world.GameWorld;
import core.game.world.update.flag.context.Animation;
import core.plugin.Plugin;
@ -53,12 +53,12 @@ public final class BHOptionHandler extends OptionHandler {
if (activity == null) {
return false;
}
if (player.getAttribute("exit_penalty", 0) > World.getTicks()) {
if (player.getAttribute("exit_penalty", 0) > GameWorld.getTicks()) {
player.getPacketDispatch().sendMessage("You can't leave the crater until the exit penalty is over.");
return true;
}
player.lock(2);
World.getPulser().submit(new Pulse(1) {
GameWorld.getPulser().submit(new Pulse(1) {
@Override
public boolean pulse() {
player.getProperties().setTeleportLocation(activity.getType().getExitLocation());

View file

@ -1,7 +1,7 @@
package core.game.content.activity.bountyhunter;
import core.game.node.entity.player.Player;
import rs09.game.world.World;
import rs09.game.world.GameWorld;
/**
* Holds a player's bounty hunter data.
@ -49,21 +49,21 @@ public final class BountyEntry {
public void updatePenalty(Player player, boolean unlock) {
int penalty = player.getAttribute("pickup_penalty", 0);
int child = -1;
if (World.getTicks() > penalty) {
if (GameWorld.getTicks() > penalty) {
player.removeAttribute("pickup_penalty");
player.getPacketDispatch().sendInterfaceConfig(653, 8, true);
} else if (penalty != 0) {
child = 8;
int seconds = (int) Math.round((penalty - World.getTicks()) * 0.6);
int seconds = (int) Math.round((penalty - GameWorld.getTicks()) * 0.6);
player.getPacketDispatch().sendString(seconds + " Sec", 653, 10);
}
penalty = player.getAttribute("exit_penalty", 0);
if (World.getTicks() > penalty) {
if (GameWorld.getTicks() > penalty) {
player.removeAttribute("exit_penalty");
player.getPacketDispatch().sendInterfaceConfig(653, 11, true);
} else if (penalty != 0) {
child = 11;
int seconds = (int) Math.round((penalty - World.getTicks()) * 0.6);
int seconds = (int) Math.round((penalty - GameWorld.getTicks()) * 0.6);
player.getPacketDispatch().sendString(seconds + " Sec", 653, 13);
}
if (unlock && child > -1) {

View file

@ -18,7 +18,7 @@ import core.game.node.entity.player.link.prayer.PrayerType;
import core.game.node.item.GroundItem;
import core.game.node.item.Item;
import core.game.system.task.Pulse;
import rs09.game.world.World;
import rs09.game.world.GameWorld;
import core.game.world.map.Location;
import core.game.world.map.Point;
import core.game.world.map.zone.ZoneBorders;
@ -237,10 +237,10 @@ public final class BountyHunterActivity extends ActivityPlugin {
player.getInterfaceManager().openOverlay(GAME_OVERLAY);
int penalty;
if ((penalty = player.getAttribute("pickup_penalty", 0)) != 0) {
player.setAttribute("/save:pickup_penalty", World.getTicks() + penalty);
player.setAttribute("/save:pickup_penalty", GameWorld.getTicks() + penalty);
}
if ((penalty = player.getAttribute("exit_penalty", 0)) != 0) {
player.setAttribute("/save:exit_penalty", World.getTicks() + penalty);
player.setAttribute("/save:exit_penalty", GameWorld.getTicks() + penalty);
if (player.getPrayer().get(PrayerType.PROTECT_ITEMS)) {
player.getPrayer().toggle(PrayerType.PROTECT_ITEMS);
}
@ -251,11 +251,11 @@ public final class BountyHunterActivity extends ActivityPlugin {
player.getInteraction().remove(Option._P_ASSIST);
player.getSkullManager().setSkullCheckDisabled(true);
player.getSkullManager().setWilderness(true);
player.setAttribute("bh_joined", World.getTicks() + 10);
player.setAttribute("bh_joined", GameWorld.getTicks() + 10);
updateSkull(player);
if (!gamePulse.isRunning()) {
gamePulse.start();
World.getPulser().submit(gamePulse);
GameWorld.getPulser().submit(gamePulse);
}
}
return super.enter(e);
@ -305,17 +305,17 @@ public final class BountyHunterActivity extends ActivityPlugin {
public boolean actionButton(Player player, int interfaceId, int buttonId, int slot, int itemId, int opcode) {
if (interfaceId == 192 && buttonId == 19) {
BountyEntry entry = players.get(player);
if (entry != null && player.getAttribute("pickup_penalty", 0) > World.getTicks()) {
if (entry != null && player.getAttribute("pickup_penalty", 0) > GameWorld.getTicks()) {
player.getPacketDispatch().sendMessage("You should not be picking up items. Now you must wait before you can leave.");
player.removeAttribute("pickup_penalty");
player.setAttribute("/save:exit_penalty", World.getTicks() + 300);
player.setAttribute("/save:exit_penalty", GameWorld.getTicks() + 300);
entry.updatePenalty(player, true);
if (player.getPrayer().get(PrayerType.PROTECT_ITEMS)) {
player.getPrayer().toggle(PrayerType.PROTECT_ITEMS);
}
}
} else if (interfaceId == 271 && buttonId == 25) {
if (player.getAttribute("exit_penalty", 0) > World.getTicks()) {
if (player.getAttribute("exit_penalty", 0) > GameWorld.getTicks()) {
player.getPacketDispatch().sendMessage("You can't use the protect item prayer until your penalty has passed.");
player.getConfigManager().send(PrayerType.PROTECT_ITEMS.getConfig(), 0);
return true;
@ -327,7 +327,7 @@ public final class BountyHunterActivity extends ActivityPlugin {
@Override
public boolean continueAttack(Entity e, Node target, CombatStyle style, boolean message) {
if (e instanceof Player && target instanceof Player) {
if (((Player) target).getAttribute("bh_joined", -1) > World.getTicks()) {
if (((Player) target).getAttribute("bh_joined", -1) > GameWorld.getTicks()) {
((Player) e).getPacketDispatch().sendMessage("This player has only just entered and is temporarily invulnerable to attacks.");
return false;
}
@ -432,13 +432,13 @@ public final class BountyHunterActivity extends ActivityPlugin {
gamePulse.stop();
}
int penalty;
if ((penalty = player.getAttribute("pickup_penalty", 0)) > World.getTicks()) {
player.setAttribute("/save:pickup_penalty", penalty - World.getTicks());
if ((penalty = player.getAttribute("pickup_penalty", 0)) > GameWorld.getTicks()) {
player.setAttribute("/save:pickup_penalty", penalty - GameWorld.getTicks());
} else {
player.removeAttribute("pickup_penalty");
}
if ((penalty = player.getAttribute("exit_penalty", 0)) > World.getTicks()) {
player.setAttribute("/save:exit_penalty", penalty - World.getTicks());
if ((penalty = player.getAttribute("exit_penalty", 0)) > GameWorld.getTicks()) {
player.setAttribute("/save:exit_penalty", penalty - GameWorld.getTicks());
} else {
player.removeAttribute("exit_penalty");
}
@ -464,7 +464,7 @@ public final class BountyHunterActivity extends ActivityPlugin {
}
if (!waitRoomPulse.isRunning()) {
waitRoomPulse.start();
World.getPulser().submit(waitRoomPulse);
GameWorld.getPulser().submit(waitRoomPulse);
}
} else if (waitingRoom.size() > MINIMUM_PLAYERS) {
player.getPacketDispatch().sendString((int) Math.round(waitingTime * 0.6) + " Sec", 656, 10);
@ -540,7 +540,7 @@ public final class BountyHunterActivity extends ActivityPlugin {
@Override
public boolean canLogout(Player player) {
if (player.getAttribute("exit_penalty", 0) > World.getTicks()) {
if (player.getAttribute("exit_penalty", 0) > GameWorld.getTicks()) {
player.getPacketDispatch().sendMessage("You can't logout until the exit penalty is over.");
return false;
}
@ -574,10 +574,10 @@ public final class BountyHunterActivity extends ActivityPlugin {
}
player.getHintIconManager().clear();
if (player.getAttribute("pickup_penalty", 0) != 0) {
player.setAttribute("pickup_penalty", World.getTicks() - 5);
player.setAttribute("pickup_penalty", GameWorld.getTicks() - 5);
}
if (player.getAttribute("exit_penalty", 0) != 0) {
player.setAttribute("exit_penalty", World.getTicks() - 5);
player.setAttribute("exit_penalty", GameWorld.getTicks() - 5);
}
entry.updatePenalty((Player) e, true);
}
@ -596,7 +596,7 @@ public final class BountyHunterActivity extends ActivityPlugin {
player.getPacketDispatch().sendMessage("This means you get the pick-up penalty: pick anything up and you can't leave!");
player.getSavedData().getActivityData().updateBountyRogueRate(1);
BHScoreBoard.getRogues().check(player);
player.setAttribute("/save:pickup_penalty", World.getTicks() + 300);
player.setAttribute("/save:pickup_penalty", GameWorld.getTicks() + 300);
entry.updatePenalty(player, true);
}

View file

@ -11,7 +11,7 @@ import core.game.node.entity.player.link.SpellBookManager.SpellBook;
import core.game.node.entity.player.link.TeleportManager.TeleportType;
import core.game.node.entity.state.EntityState;
import core.game.node.item.Item;
import rs09.game.world.World;
import rs09.game.world.GameWorld;
import core.game.world.map.Location;
import core.game.world.map.RegionManager;
import core.plugin.Plugin;
@ -83,7 +83,7 @@ public final class BountyLocateSpell extends MagicSpell {
entity.getTeleporter().getCurrentTeleport().stop();
return false;
}
entity.setAttribute("magic-delay", World.getTicks() + 5);
entity.setAttribute("magic-delay", GameWorld.getTicks() + 5);
return true;
}
return false;

View file

@ -21,7 +21,7 @@ import core.game.node.scenery.SceneryBuilder;
import core.game.system.communication.ClanEntry;
import core.game.system.communication.ClanRepository;
import core.game.system.task.Pulse;
import rs09.game.world.World;
import rs09.game.world.GameWorld;
import core.game.world.map.Location;
import core.game.world.map.RegionManager;
import core.game.world.map.build.DynamicRegion;
@ -136,7 +136,7 @@ public final class ClanWarsActivityPlugin extends ActivityPlugin {
offset = (offset + 1) % 3;
SceneryBuilder.add(new Scenery(28174 + offset, base.transform(x, 64, 0)));
}
World.getPulser().submit(pulse = new Pulse(200) {
GameWorld.getPulser().submit(pulse = new Pulse(200) {
@Override
public boolean pulse() {
for (int x = 5; x < 54; x++) {
@ -148,7 +148,7 @@ public final class ClanWarsActivityPlugin extends ActivityPlugin {
RegionManager.getRegionChunk(l).flag(new AnimateObjectUpdateFlag(anim));
}
}
World.getPulser().submit(new Pulse(5) {
GameWorld.getPulser().submit(new Pulse(5) {
@Override
public boolean pulse() {
for (int x = 5; x < 54; x++) {

View file

@ -28,7 +28,7 @@ import core.plugin.Plugin;
import core.tools.RandomFunction;
import core.tools.StringUtils;
import rs09.ServerConstants;
import rs09.game.world.World;
import rs09.game.world.GameWorld;
import java.util.ArrayList;
import java.util.List;
@ -126,7 +126,7 @@ public class DuelArea extends MapZone {
session.getOther().setAttribute("duel:ammo", new ArrayList<GroundItem>(100));
session.getPlayer().setAttribute("vengeance", false);
session.getOther().setAttribute("vengeance", false);
World.getPulser().submit(new Pulse(4, session.getPlayer(), session.getOther()) {
GameWorld.getPulser().submit(new Pulse(4, session.getPlayer(), session.getOther()) {
int count;
@Override

View file

@ -4,7 +4,7 @@ import core.game.component.Component;
import core.game.component.ComponentDefinition;
import core.game.component.ComponentPlugin;
import core.game.node.entity.player.Player;
import rs09.game.world.World;
import rs09.game.world.GameWorld;
import core.plugin.Plugin;
/**
@ -32,7 +32,7 @@ public class DuelComponentPlugin extends ComponentPlugin {
player.getPacketDispatch().sendMessage("Other player is busy at the moment.");
return true;
}
if (player.getAttribute("duel:staked", false) && other.getIronmanManager().isIronman() && !World.getSettings().isDevMode()) {
if (player.getAttribute("duel:staked", false) && other.getIronmanManager().isIronman() && !GameWorld.getSettings().isDevMode()) {
other.sendMessage("You can't accept a staked duel as an Ironman.");
player.sendMessage("You can't duel Ironman players.");
return true;

View file

@ -12,7 +12,7 @@ import core.game.node.item.Item;
import core.game.node.scenery.Scenery;
import core.game.node.scenery.SceneryBuilder;
import core.game.system.task.Pulse;
import rs09.game.world.World;
import rs09.game.world.GameWorld;
import core.game.world.map.Direction;
import core.game.world.map.Location;
import core.game.world.map.zone.ZoneBorders;
@ -106,7 +106,7 @@ public final class GnomeCopterActivity extends ActivityPlugin {
player.lock();
player.faceLocation(player.getLocation().transform(0, 3, 0));
object.setCharge(88);
World.getPulser().submit(new Pulse(1, player) {
GameWorld.getPulser().submit(new Pulse(1, player) {
int stage = 0;
@Override
@ -161,7 +161,7 @@ public final class GnomeCopterActivity extends ActivityPlugin {
final int pad = index;
player.setDirection(Direction.SOUTH);
player.getProperties().setTeleportLocation(Location.create(3162, 3352, 0));
World.getPulser().submit(new Pulse(1, player) {
GameWorld.getPulser().submit(new Pulse(1, player) {
int stage = 0;
int tick = 0;

View file

@ -6,7 +6,7 @@ import core.game.node.entity.combat.DeathTask;
import core.game.node.entity.npc.AbstractNPC;
import core.game.node.entity.npc.NPC;
import core.game.node.entity.player.Player;
import rs09.game.world.World;
import rs09.game.world.GameWorld;
import core.plugin.Initializable;
import core.game.world.map.Location;
@ -63,7 +63,7 @@ public final class GodWarsMinionNPC extends AbstractNPC {
public void finalizeDeath(Entity killer) {
super.finalizeDeath(killer);
getProperties().getCombatPulse().stop();
if (boss != null && boss.getRespawnTick() > World.getTicks()) {
if (boss != null && boss.getRespawnTick() > GameWorld.getTicks()) {
setRespawnTick(boss.getRespawnTick());
}
}

View file

@ -17,7 +17,7 @@ import core.plugin.Initializable;
import core.tools.RandomFunction;
import rs09.game.node.entity.combat.CombatPulse;
import rs09.game.node.entity.combat.CombatSwingHandler;
import rs09.game.world.World;
import rs09.game.world.GameWorld;
/**
* Handles a god wars boss NPC.
@ -174,14 +174,14 @@ public final class GodwarsBossNPC extends AbstractNPC {
if (!chamber.insideBorder(e.getLocation().getX(), e.getLocation().getY())) {
getPulseManager().clear();
}
if (nextBattleCry < World.getTicks()) {
if (nextBattleCry < GameWorld.getTicks()) {
String[] cries = BATTLE_CRIES[(getId() - 6203) >> 4];
sendChat(cries[RandomFunction.randomize(cries.length)]);
nextBattleCry = World.getTicks() + 7 + RandomFunction.randomize(20);
nextBattleCry = GameWorld.getTicks() + 7 + RandomFunction.randomize(20);
}
}
super.tick();
if (getRespawnTick() == World.getTicks() && minions != null) {
if (getRespawnTick() == GameWorld.getTicks() && minions != null) {
for (NPC npc : minions) {
npc.setRespawnTick(-1);
}
@ -191,7 +191,7 @@ public final class GodwarsBossNPC extends AbstractNPC {
@Override
public void onImpact(final Entity entity, BattleState state) {
if (targetFocus) {
if (getProperties().getCombatPulse().getNextAttack() < World.getTicks() - 3) {
if (getProperties().getCombatPulse().getNextAttack() < GameWorld.getTicks() - 3) {
getProperties().getCombatPulse().attack(entity);
return;
}
@ -237,7 +237,7 @@ public final class GodwarsBossNPC extends AbstractNPC {
return;
}
for (NPC minion : minions) {
if (minion.getRespawnTick() >= World.getTicks()) {
if (minion.getRespawnTick() >= GameWorld.getTicks()) {
minion.setRespawnTick(getRespawnTick());
}
}

View file

@ -11,7 +11,7 @@ import core.game.node.entity.player.Player;
import core.game.node.item.Item;
import core.game.node.scenery.Scenery;
import core.game.system.task.Pulse;
import rs09.game.world.World;
import rs09.game.world.GameWorld;
import core.game.world.map.Location;
import core.game.world.map.RegionManager;
import core.game.world.update.flag.context.Animation;
@ -57,7 +57,7 @@ public final class GodwarsEntranceHandler extends OptionHandler {
player.lock(2);
player.getPacketDispatch().sendMessage("You climb down the rope.");
player.animate(Animation.create(828));
World.getPulser().submit(new Pulse(1, player) {
GameWorld.getPulser().submit(new Pulse(1, player) {
@Override
public boolean pulse() {
player.getProperties().setTeleportLocation(Location.create(2882, 5311, 2));
@ -76,7 +76,7 @@ public final class GodwarsEntranceHandler extends OptionHandler {
} else {
ForceMovement.run(player, Location.create(2898, 3719, 0), Location.create(2898, 3715, 0), new Animation(6979), 3);
}
World.getPulser().submit(new Pulse(12, player) {
GameWorld.getPulser().submit(new Pulse(12, player) {
@Override
public boolean pulse() {
player.getPacketDispatch().sendSceneryAnimation(RegionManager.getObject(0, 2898, 3716), Animation.create(6981));

View file

@ -16,7 +16,7 @@ import core.game.node.entity.player.info.Rights;
import core.game.node.item.Item;
import core.game.node.scenery.Scenery;
import core.game.system.task.Pulse;
import rs09.game.world.World;
import rs09.game.world.GameWorld;
import core.game.world.map.Direction;
import core.game.world.map.Location;
import core.game.world.map.zone.MapZone;
@ -263,7 +263,7 @@ public final class GodwarsMapzone extends MapZone implements Plugin<Object> {
private void handleRopeClimb(final Player player, final Location destination) {
player.lock(2);
player.animate(Animation.create(828));
World.getPulser().submit(new Pulse(1, player) {
GameWorld.getPulser().submit(new Pulse(1, player) {
@Override
public boolean pulse() {
player.getProperties().setTeleportLocation(destination);
@ -308,7 +308,7 @@ public final class GodwarsMapzone extends MapZone implements Plugin<Object> {
private void handleBigDoor(final Player player, final Scenery object, boolean checkLocation) {
player.lock(4);
if (checkLocation && player.getLocation().getX() > object.getLocation().getX()) {
World.getPulser().submit(new MovementPulse(player, object.getLocation()) {
GameWorld.getPulser().submit(new MovementPulse(player, object.getLocation()) {
@Override
public boolean pulse() {
handleBigDoor(player, object, false);
@ -327,7 +327,7 @@ public final class GodwarsMapzone extends MapZone implements Plugin<Object> {
}
player.getPacketDispatch().sendMessage("You bang on the big door.");
player.animate(Animation.create(7002));
World.getPulser().submit(new Pulse(1, player) {
GameWorld.getPulser().submit(new Pulse(1, player) {
@Override
public boolean pulse() {
object.getDefinition().getOptions()[1] = "open";
@ -381,7 +381,7 @@ public final class GodwarsMapzone extends MapZone implements Plugin<Object> {
return;
}
player.lock(7);
World.getPulser().submit(new Pulse(1, player) {
GameWorld.getPulser().submit(new Pulse(1, player) {
@Override
public boolean pulse() {
player.visualize(Animation.create(6988), Graphics.create(68));
@ -392,7 +392,7 @@ public final class GodwarsMapzone extends MapZone implements Plugin<Object> {
player.getProperties().setTeleportLocation(player.getLocation().transform(0, diffY, 0));
player.getInterfaceManager().openOverlay(new Component(115));
player.setAttribute("cross_bridge_loc", player.getLocation());
World.getPulser().submit(new Pulse(1, player) {
GameWorld.getPulser().submit(new Pulse(1, player) {
int counter = 0;
@Override

View file

@ -4,7 +4,7 @@ import core.game.content.dialogue.DialoguePlugin;
import core.game.node.entity.skill.Skills;
import core.game.node.entity.npc.NPC;
import core.game.node.entity.player.Player;
import rs09.game.world.World;
import rs09.game.world.GameWorld;
import core.game.world.map.Location;
import core.game.world.update.flag.context.Animation;
import core.game.world.update.flag.context.Graphics;
@ -120,7 +120,7 @@ public final class KolodionDialogue extends DialoguePlugin {
npc("Do not waste my time with trivial questions. I am the", "Great Kolodion, master of battle magic. I have an arena", "to run.");
stage++;
} else {
npc("I am the great Kolodion, master of battle magic, and", "this is my battle arena. Top wizards travel from all over", World.getSettings().getName() + " to fight here.");
npc("I am the great Kolodion, master of battle magic, and", "this is my battle arena. Top wizards travel from all over", GameWorld.getSettings().getName() + " to fight here.");
stage = 4;
}
break;
@ -183,7 +183,7 @@ public final class KolodionDialogue extends DialoguePlugin {
stage++;
break;
case 15:
npc("Remember, traveller - in my arena, hand-to-hand", "combat is useless. Your strength will diminish as you", "enter the arena, but the spells you can learn are", "amongst the most powerful in all of " + World.getSettings().getName() + ".");
npc("Remember, traveller - in my arena, hand-to-hand", "combat is useless. Your strength will diminish as you", "enter the arena, but the spells you can learn are", "amongst the most powerful in all of " + GameWorld.getSettings().getName() + ".");
stage++;
break;
case 16:
@ -222,7 +222,7 @@ public final class KolodionDialogue extends DialoguePlugin {
end();
break;
case 20:
npc("They want to crown themselves the best", "mage in all of " + World.getSettings().getName() + "!");
npc("They want to crown themselves the best", "mage in all of " + GameWorld.getSettings().getName() + "!");
stage = 30;
break;
case 30:

View file

@ -13,7 +13,7 @@ import core.game.world.update.flag.context.Animation;
import core.tools.RandomFunction;
import rs09.game.node.entity.combat.CombatSwingHandler;
import rs09.game.node.entity.combat.handlers.MagicSwingHandler;
import rs09.game.world.World;
import rs09.game.world.GameWorld;
/**
* Handles the kolodion npc.
@ -254,7 +254,7 @@ public final class KolodionNPC extends AbstractNPC {
player.lock();
}
player.lock(2);
World.getPulser().submit(new Pulse(1, kolodion, player) {
GameWorld.getPulser().submit(new Pulse(1, kolodion, player) {
int counter;
@Override

View file

@ -3,7 +3,7 @@ package core.game.content.activity.magearena;
import core.game.node.entity.npc.NPC;
import core.game.node.entity.player.Player;
import core.game.system.task.Pulse;
import rs09.game.world.World;
import rs09.game.world.GameWorld;
import core.game.world.map.Location;
/**
@ -56,7 +56,7 @@ public final class KolodionSession {
player.getAnimator().reset();
return;
}
World.getPulser().submit(new Pulse(1, player) {
GameWorld.getPulser().submit(new Pulse(1, player) {
int count;
@Override

View file

@ -3,7 +3,7 @@ package core.game.content.activity.magearena;
import core.game.content.dialogue.DialoguePlugin;
import core.game.node.entity.npc.NPC;
import core.game.node.entity.player.Player;
import rs09.game.world.World;
import rs09.game.world.GameWorld;
/**
* Handles the lundail dialogue.
@ -73,7 +73,7 @@ public final class LundailDialogue extends DialoguePlugin {
end();
break;
case 20:
npc("That, my friend is the mage battle arena. Top mages", "come from all over " + World.getSettings().getName() + " to compete in the arena.");
npc("That, my friend is the mage battle arena. Top mages", "come from all over " + GameWorld.getSettings().getName() + " to compete in the arena.");
stage++;
break;
case 21:

View file

@ -19,7 +19,7 @@ import core.game.world.update.flag.context.Animation;
import core.plugin.Initializable;
import core.plugin.Plugin;
import rs09.game.content.global.action.PickupHandler;
import rs09.game.world.World;
import rs09.game.world.GameWorld;
import rs09.plugin.PluginManager;
/**
@ -78,7 +78,7 @@ public final class MageArenaPlugin extends OptionHandler {
return true;
}
player.lock(1);
World.getPulser().submit(new Pulse(1, player) {
GameWorld.getPulser().submit(new Pulse(1, player) {
@Override
public boolean pulse() {
handlePool(player, false, destination, (Scenery) node);
@ -172,7 +172,7 @@ public final class MageArenaPlugin extends OptionHandler {
final Location middle = object.getId() == 2879 ? Location.create(2509, 4687, 0) : Location.create(2542, 4720, 0);
player.lock();
AgilityHandler.walk(player, -1, start, middle, new Animation(1426), 0.0, null);
World.getPulser().submit(new Pulse(1, player) {
GameWorld.getPulser().submit(new Pulse(1, player) {
int counter;
@Override
@ -194,7 +194,7 @@ public final class MageArenaPlugin extends OptionHandler {
}
player.sendMessage("You step into the pool.");
AgilityHandler.walk(player, -1, start, end, new Animation(1426), 0.0, "Your boots get wet.");
World.getPulser().submit(new Pulse(1, player) {
GameWorld.getPulser().submit(new Pulse(1, player) {
@Override
public boolean pulse() {

View file

@ -5,7 +5,7 @@ import core.game.node.entity.Entity;
import core.game.node.entity.combat.CombatStyle;
import core.game.node.entity.player.Player;
import core.game.system.task.Pulse;
import rs09.game.world.World;
import rs09.game.world.GameWorld;
import core.game.world.map.Location;
import core.game.world.map.zone.MapZone;
import core.game.world.map.zone.ZoneBorders;
@ -48,7 +48,7 @@ public final class MageArenaZone extends MapZone implements Plugin<Object> {
if (e instanceof Player) {
final Player p = (Player) e;
if (!logout) {
World.getPulser().submit(new Pulse(1, e) {
GameWorld.getPulser().submit(new Pulse(1, e) {
@Override
public boolean pulse() {
if (!p.getZoneMonitor().isInZone("mage arena")) {

View file

@ -2,7 +2,7 @@ package core.game.content.activity.mta;
import core.game.content.dialogue.DialoguePlugin;
import core.game.node.entity.player.Player;
import rs09.game.world.World;
import rs09.game.world.GameWorld;
/**
* Handles the entrance guardian dialogue.
@ -261,7 +261,7 @@ public class EntranceGuardianDialogue extends DialoguePlugin {
stage++;
break;
case 73:
npc("arena and to help fund magic shops around " + World.getSettings().getName() + ".", "You will be rewarded with 1 Pizazz Point for every", "100 coins deposited and a percentage of the money you", "create. Keep in mind that you will not be able to take");
npc("arena and to help fund magic shops around " + GameWorld.getSettings().getName() + ".", "You will be rewarded with 1 Pizazz Point for every", "100 coins deposited and a percentage of the money you", "create. Keep in mind that you will not be able to take");
stage++;
break;
case 74:

View file

@ -10,7 +10,7 @@ import core.game.node.entity.player.Player;
import core.game.node.item.Item;
import core.game.system.task.Pulse;
import core.plugin.Plugin;
import rs09.game.world.World;
import rs09.game.world.GameWorld;
import java.util.ArrayList;
import java.util.List;
@ -68,7 +68,7 @@ public class MTAShop {
public MTAShop() {
container.add(ITEMS);
component.setPlugin(shopPlugin);
World.getPulser().submit(new Pulse(100) {
GameWorld.getPulser().submit(new Pulse(100) {
@Override
public boolean pulse() {
for (int i = 0; i < container.toArray().length; i++) {
@ -98,7 +98,7 @@ public class MTAShop {
player.getInterfaceManager().open(component);
update();
updatePoints(player);
World.getPulser().submit(new Pulse(1, player) {
GameWorld.getPulser().submit(new Pulse(1, player) {
@Override
public boolean pulse() {

View file

@ -21,7 +21,7 @@ import core.game.world.update.flag.context.Animation;
import core.game.world.update.flag.context.Graphics;
import core.plugin.Plugin;
import rs09.game.content.global.action.PickupHandler;
import rs09.game.world.World;
import rs09.game.world.GameWorld;
/**
* Represents the telekenitic grab spell.
@ -102,7 +102,7 @@ public final class TelekineticGrabSpell extends MagicSpell {
}
entity.lock(2);
visualize(entity, target);
World.getPulser().submit(getGrabPulse(entity, ground));
GameWorld.getPulser().submit(getGrabPulse(entity, ground));
return true;
}

View file

@ -15,7 +15,7 @@ import core.game.node.item.Item;
import core.game.node.scenery.Scenery;
import core.game.node.scenery.SceneryBuilder;
import core.game.system.task.Pulse;
import rs09.game.world.World;
import rs09.game.world.GameWorld;
import core.game.world.map.Location;
import core.game.world.map.RegionManager;
import core.game.world.map.zone.ZoneBorders;
@ -59,7 +59,7 @@ public class AlchemistZone extends MTAZone {
/**
* The pulse.
*/
private static final Pulse PULSE = new Pulse(World.getSettings().isDevMode() ? 15 : 53) {
private static final Pulse PULSE = new Pulse(GameWorld.getSettings().isDevMode() ? 15 : 53) {
@Override
public boolean pulse() {
if (PLAYERS.isEmpty()) {
@ -123,7 +123,7 @@ public class AlchemistZone extends MTAZone {
if (!PULSE.isRunning()) {
PULSE.restart();
PULSE.start();
World.getPulser().submit(PULSE);
GameWorld.getPulser().submit(PULSE);
}
e.asPlayer().removeAttribute("alch-earn");
setSession(e.asPlayer());

View file

@ -15,7 +15,7 @@ import core.game.node.item.GroundItemManager;
import core.game.node.item.Item;
import core.game.node.scenery.Scenery;
import core.game.system.task.Pulse;
import rs09.game.world.World;
import rs09.game.world.GameWorld;
import core.game.world.map.Location;
import core.game.world.map.RegionManager;
import core.game.world.map.zone.ZoneBorders;
@ -126,7 +126,7 @@ public class EnchantingZone extends MTAZone {
if (!PULSE.isRunning()) {
PULSE.restart();
PULSE.start();
World.getPulser().submit(PULSE);
GameWorld.getPulser().submit(PULSE);
}
createGroundSpawns(e.asPlayer());
BONUS_SHAPE.setAsBonus(e.asPlayer());
@ -180,7 +180,7 @@ public class EnchantingZone extends MTAZone {
@Override
public void respawn() {
World.getPulser().submit(getRespawnPulse(this));
GameWorld.getPulser().submit(getRespawnPulse(this));
}
};
items.add(item);
@ -195,7 +195,7 @@ public class EnchantingZone extends MTAZone {
* @return the pulse.
*/
public Pulse getRespawnPulse(final GroundItem item) {
return new Pulse(World.getSettings().isDevMode() ? 45 : RandomFunction.random(700, 800)) {
return new Pulse(GameWorld.getSettings().isDevMode() ? 45 : RandomFunction.random(700, 800)) {
@Override
public boolean pulse() {
GroundItemManager.create(item);

View file

@ -13,7 +13,7 @@ import core.game.node.item.Item;
import core.game.node.scenery.Scenery;
import core.game.node.scenery.SceneryBuilder;
import core.game.system.task.Pulse;
import rs09.game.world.World;
import rs09.game.world.GameWorld;
import core.game.world.map.Location;
import core.game.world.map.zone.ZoneBorders;
import core.game.world.update.flag.context.Animation;
@ -121,7 +121,7 @@ public class GraveyardZone extends MTAZone {
if (!PULSE.isRunning()) {
PULSE.restart();
PULSE.start();
World.getPulser().submit(PULSE);
GameWorld.getPulser().submit(PULSE);
}
}
return super.enter(e);

View file

@ -15,7 +15,7 @@ import core.game.node.item.GroundItem;
import core.game.node.item.GroundItemManager;
import core.game.node.item.Item;
import core.game.system.task.Pulse;
import rs09.game.world.World;
import rs09.game.world.GameWorld;
import core.game.world.map.Direction;
import core.game.world.map.Location;
import core.game.world.map.build.DynamicRegion;
@ -295,7 +295,7 @@ public class TelekineticZone extends MTAZone {
return;
}
player.lock();
World.getPulser().submit(new Pulse(1, player) {
GameWorld.getPulser().submit(new Pulse(1, player) {
boolean win = false;
@Override

View file

@ -15,7 +15,7 @@ import core.game.node.item.Item;
import core.game.node.scenery.Scenery;
import core.game.node.scenery.SceneryBuilder;
import core.game.system.task.Pulse;
import rs09.game.world.World;
import rs09.game.world.GameWorld;
import core.game.world.map.Location;
import core.game.world.map.RegionManager;
import core.game.world.update.flag.context.Animation;
@ -77,16 +77,16 @@ public final class BalloonManager extends OptionHandler {
if (isCountingDown()) {
return;
}
countdown = World.getTicks() + getDropDelay();
countdown = GameWorld.getTicks() + getDropDelay();
final NPC partyPete = RegionManager.getNpc(new Location(3052, 3373, 0), 659, 1);
World.getPulser().submit(new Pulse(1) {
GameWorld.getPulser().submit(new Pulse(1) {
@Override
public boolean pulse() {
int realCount = --countdown - World.getTicks();
int realCount = --countdown - GameWorld.getTicks();
for (ChestViewer viewer : PartyRoomPlugin.getViewers().values()) {
viewer.getPlayer().getConfigManager().set(1135, realCount);
}
if (--realCount - World.getTicks() <= 0) {
if (--realCount - GameWorld.getTicks() <= 0) {
drop();
return true;
}
@ -105,7 +105,7 @@ public final class BalloonManager extends OptionHandler {
PartyRoomPlugin.getPartyChest().addAll(PartyRoomPlugin.getChestQueue());
PartyRoomPlugin.getChestQueue().clear();
PartyRoomPlugin.update();
World.getPulser().submit(new Pulse(1) {
GameWorld.getPulser().submit(new Pulse(1) {
int waves;
@Override
@ -181,7 +181,7 @@ public final class BalloonManager extends OptionHandler {
* @return {@code True} if so.
*/
public boolean isCountingDown() {
return countdown > World.getTicks();
return countdown > GameWorld.getTicks();
}
/**
@ -247,7 +247,7 @@ public final class BalloonManager extends OptionHandler {
// Pop a party balloon
player.getAchievementDiaryManager().finishTask(player, DiaryType.FALADOR, 0, 12);
World.getPulser().submit(new Pulse(1) {
GameWorld.getPulser().submit(new Pulse(1) {
int counter;
@Override

View file

@ -22,7 +22,7 @@ import core.game.node.scenery.Scenery;
import core.game.node.scenery.SceneryBuilder;
import core.game.system.task.Pulse;
import kotlin.Unit;
import rs09.game.world.World;
import rs09.game.world.GameWorld;
import core.game.world.map.Location;
import core.game.world.update.flag.context.Animation;
import core.plugin.Plugin;
@ -144,7 +144,7 @@ public final class PartyRoomPlugin extends OptionHandler {
npc.init();
npcs.add(npc);
}
World.getPulser().submit(new Pulse(1) {
GameWorld.getPulser().submit(new Pulse(1) {
int count = 0;
@Override

View file

@ -1,7 +1,7 @@
package core.game.content.activity.pestcontrol;
import core.cache.def.impl.SceneryDefinition;
import rs09.game.world.World;
import rs09.game.world.GameWorld;
import core.game.content.activity.ActivityManager;
import core.game.interaction.OptionHandler;
import core.game.node.Node;
@ -102,8 +102,8 @@ public final class PCObjectHandler extends OptionHandler {
}
switch (object.getId()){
case 14315: // Novice
if (!World.getPCnBotsSpawned() && !player.isArtificial()) { //First person to join gets bots to play with
World.setPCnBotsSpawned(true);
if (!GameWorld.getPCnBotsSpawned() && !player.isArtificial()) { //First person to join gets bots to play with
GameWorld.setPCnBotsSpawned(true);
for (pestBotsAmount = 0; pestBotsAmount <= 35; pestBotsAmount++) {
PvMBotsBuilder.createPestControlTestBot(new Location(2657, 2640));
}
@ -115,8 +115,8 @@ public final class PCObjectHandler extends OptionHandler {
startActivity(player, "pest control novice", Location.create(2661, 2639, 0));
return true;
case 25631: // Intermediate
if (!World.getPCiBotsSpawned() && !player.isArtificial()) { //First person to join gets bots to play with
World.setPCiBotsSpawned(true);
if (!GameWorld.getPCiBotsSpawned() && !player.isArtificial()) { //First person to join gets bots to play with
GameWorld.setPCiBotsSpawned(true);
for (pestBots2Amount = 0; pestBots2Amount <= 50; pestBots2Amount++ ) {
PvMBotsBuilder.createPestControlTestBot2(new Location(2644, 2644));
}

View file

@ -18,7 +18,8 @@ import core.game.node.entity.state.EntityState;
import core.game.node.item.GroundItemManager;
import core.game.node.item.Item;
import core.game.system.task.Pulse;
import rs09.game.world.World;
import rs09.game.ai.AIPlayer;
import rs09.game.world.GameWorld;
import core.game.world.map.Location;
import core.game.world.map.build.DynamicRegion;
import core.game.world.map.zone.RegionZone;
@ -151,7 +152,7 @@ public final class PestControlActivityPlugin extends ActivityPlugin {
p.getStateManager().remove(EntityState.POISONED);
}
PulseManager.cancelDeathTask(p);
World.getPulser().submit(new Pulse(1, p) {
GameWorld.getPulser().submit(new Pulse(1, p) {
@Override
public boolean pulse() {
p.getSkills().restore();
@ -234,7 +235,7 @@ public final class PestControlActivityPlugin extends ActivityPlugin {
ZoneBuilder.configure(new PCIslandZone());
}
pulse.start();
World.getPulser().submit(pulse);
GameWorld.getPulser().submit(pulse);
}
@Override

View file

@ -4,9 +4,23 @@ import core.game.content.activity.pestcontrol.PestControlSession;
import core.game.node.entity.Entity;
import core.game.node.entity.combat.BattleState;
import core.game.node.entity.combat.CombatStyle;
import core.game.node.entity.combat.InteractionType;
import core.game.node.entity.npc.AbstractNPC;
import core.game.node.entity.player.Player;
import core.game.system.task.Pulse;
import core.game.world.map.Location;
import core.game.world.map.RegionManager;
import core.game.world.update.flag.context.Animation;
import core.game.world.update.flag.context.Graphics;
import core.tools.RandomFunction;
import rs09.game.node.entity.combat.CombatPulse;
import rs09.game.node.entity.combat.CombatSwingHandler;
import rs09.game.node.entity.combat.handlers.MeleeSwingHandler;
import rs09.game.world.GameWorld;
import java.util.ArrayList;
import java.util.Collections;
import java.util.List;
/**
* Handles the pest control brawler NPCs.

View file

@ -10,7 +10,7 @@ import core.game.node.entity.player.Player;
import core.game.node.scenery.Scenery;
import core.game.node.scenery.SceneryBuilder;
import core.game.system.task.Pulse;
import rs09.game.world.World;
import rs09.game.world.GameWorld;
import core.game.world.map.Location;
import core.game.world.map.MapDistance;
import core.game.world.map.path.Pathfinder;
@ -98,7 +98,7 @@ public class PCRavagerNPC extends AbstractNPC {
} else {
if (!target.isActive() || !session.getBarricades().contains(target)) {
attack(null);
} else if (nextAttack < World.getTicks() && getLocation().withinDistance(target.getLocation(), 1)) {
} else if (nextAttack < GameWorld.getTicks() && getLocation().withinDistance(target.getLocation(), 1)) {
getPulseManager().clear();
setWalks(false);
super.getWalkingQueue().reset();
@ -110,7 +110,7 @@ public class PCRavagerNPC extends AbstractNPC {
int type = destroyed ? 22 : target.getType();
final Scenery o = target;
final Scenery newTarget = o.transform(newId, o.getRotation(), type);
World.getPulser().submit(new Pulse(1, this, o) {
GameWorld.getPulser().submit(new Pulse(1, this, o) {
@Override
public boolean pulse() {
if (getViewport().getRegion().isActive() && session.getBarricades().remove(o)) {
@ -124,7 +124,7 @@ public class PCRavagerNPC extends AbstractNPC {
if (destroyed) {
attack(null);
}
nextAttack = World.getTicks() + 5;
nextAttack = GameWorld.getTicks() + 5;
}
}
} else {

View file

@ -17,7 +17,7 @@ import core.tools.RandomFunction;
import rs09.game.node.entity.combat.CombatPulse;
import rs09.game.node.entity.combat.CombatSwingHandler;
import rs09.game.node.entity.combat.handlers.MeleeSwingHandler;
import rs09.game.world.World;
import rs09.game.world.GameWorld;
import java.util.ArrayList;
import java.util.Collections;
@ -149,7 +149,7 @@ public final class PCShifterNPC extends AbstractNPC {
entity.getWalkingQueue().reset();
entity.getLocks().lockMovement(2);
entity.lock(3);
World.getPulser().submit(new Pulse(1, entity) {
GameWorld.getPulser().submit(new Pulse(1, entity) {
@Override
public boolean pulse() {
entity.animate(Animation.create(3904));

View file

@ -10,7 +10,7 @@ import core.game.node.entity.npc.NPC;
import core.game.node.entity.player.Player;
import core.game.node.entity.state.EntityState;
import core.game.system.task.Pulse;
import rs09.game.world.World;
import rs09.game.world.GameWorld;
import core.game.world.map.Location;
import core.game.world.map.RegionManager;
import core.game.world.update.flag.context.Animation;
@ -102,7 +102,7 @@ public final class PCSpinnerNPC extends AbstractNPC {
p.setAttribute("/save:poison_damage", 18);
p.getStateManager().register(EntityState.POISONED, false, 18, this);
}
World.getPulser().submit(new Pulse(1, this) {
GameWorld.getPulser().submit(new Pulse(1, this) {
@Override
public boolean pulse() {
clear();

View file

@ -11,7 +11,7 @@ import core.game.node.entity.player.Player;
import core.game.node.scenery.Scenery;
import core.game.node.scenery.SceneryBuilder;
import core.game.system.task.Pulse;
import rs09.game.world.World;
import rs09.game.world.GameWorld;
import core.game.world.map.Location;
import core.game.world.map.RegionManager;
import core.game.world.update.flag.context.Animation;
@ -99,7 +99,7 @@ public final class PCSplatterNPC extends AbstractNPC {
public void commenceDeath(Entity killer) {
exploding = true;
visualize(new Animation(3888, Priority.VERY_HIGH), Graphics.create(649 + (getId() - 3727)));
World.getPulser().submit(new Pulse(1, this) {
GameWorld.getPulser().submit(new Pulse(1, this) {
@Override
public boolean pulse() {
explode();

View file

@ -9,7 +9,7 @@ import core.game.node.entity.skill.hunter.bnet.ImplingNode;
import core.game.node.entity.npc.AbstractNPC;
import core.game.node.entity.player.Player;
import core.game.node.item.Item;
import rs09.game.world.World;
import rs09.game.world.GameWorld;
import core.game.world.map.Location;
import core.game.world.map.RegionManager;
import core.tools.RandomFunction;
@ -70,7 +70,7 @@ public final class ImpDefenderNPC extends AbstractNPC {
faceTemporary(player, 1);
sendChat("Be free!");
player.getInventory().remove(node.getReward());
player.setAttribute("imp-steal", World.getTicks() + 500);
player.setAttribute("imp-steal", GameWorld.getTicks() + 500);
}
}
@ -80,7 +80,7 @@ public final class ImpDefenderNPC extends AbstractNPC {
* @return {@code True} if so.
*/
private boolean canSteal(Player player) {
if (!World.getSettings().isDevMode() && player.getAttribute("imp-steal", 0) > World.getTicks()) {
if (!GameWorld.getSettings().isDevMode() && player.getAttribute("imp-steal", 0) > GameWorld.getTicks()) {
return false;
}
int thievingLevel = player.getSkills().getLevel(Skills.THIEVING);

View file

@ -20,7 +20,7 @@ import core.game.node.item.Item;
import core.game.node.scenery.Scenery;
import core.game.node.scenery.SceneryBuilder;
import core.game.system.task.Pulse;
import rs09.game.world.World;
import rs09.game.world.GameWorld;
import core.game.world.map.Direction;
import core.game.world.map.Location;
import core.game.world.map.RegionManager;
@ -97,7 +97,7 @@ public final class PuroPuroPlugin extends MapZone implements Plugin<Object> {
spawnWheat();
PULSE.restart();
PULSE.start();
World.getPulser().submit(PULSE);
GameWorld.getPulser().submit(PULSE);
}
return super.enter(e);
}
@ -161,7 +161,7 @@ public final class PuroPuroPlugin extends MapZone implements Plugin<Object> {
player.sendMessage("You use your strength to push through the wheat. It's hard work though.");
}
player.setAttribute("cantMove", true);
World.getPulser().submit(new Pulse(1) {
GameWorld.getPulser().submit(new Pulse(1) {
@Override
public boolean pulse() {
ForceMovement.run(player, player.getLocation(), dest, Animation.create(6594), Animation.create(6594), Direction.getLogicalDirection(player.getLocation(), object.getLocation()), 3, 3);
@ -427,7 +427,7 @@ public final class PuroPuroPlugin extends MapZone implements Plugin<Object> {
* Whilts the wheat.
*/
public void whilt() {
busyTicks = World.getTicks() + 5;
busyTicks = GameWorld.getTicks() + 5;
for (Scenery object : objects) {
if (object == null) {
continue;
@ -455,7 +455,7 @@ public final class PuroPuroPlugin extends MapZone implements Plugin<Object> {
* Sets the next whilt.
*/
public void setNextWhilt() {
this.nextWhilt = World.getTicks() + RandomFunction.random(40, 300);
this.nextWhilt = GameWorld.getTicks() + RandomFunction.random(40, 300);
}
/**
@ -463,7 +463,7 @@ public final class PuroPuroPlugin extends MapZone implements Plugin<Object> {
* @return {@code True} if so.
*/
public boolean canWhilt() {
return World.getTicks() > nextWhilt && World.getTicks() > busyTicks;
return GameWorld.getTicks() > nextWhilt && GameWorld.getTicks() > busyTicks;
}
/**

View file

@ -5,7 +5,7 @@ import core.game.node.entity.Entity;
import core.game.node.entity.combat.CombatStyle;
import core.game.node.entity.npc.AbstractNPC;
import core.game.node.entity.player.Player;
import rs09.game.world.World;
import rs09.game.world.GameWorld;
import core.game.world.map.Location;
import core.game.world.map.RegionManager;
import core.game.world.map.path.Pathfinder;
@ -56,7 +56,7 @@ public abstract class PyramidPlunderNPC extends AbstractNPC {
public PyramidPlunderNPC(int id, Location location, Player player) {
super(id, location);
this.player = player;
this.endTime = (int) (World.getTicks() + (1000 / 0.6));
this.endTime = (int) (GameWorld.getTicks() + (1000 / 0.6));
}
@Override
@ -72,7 +72,7 @@ public abstract class PyramidPlunderNPC extends AbstractNPC {
@Override
public void handleTickActions() {
if (World.getTicks() > endTime) {
if (GameWorld.getTicks() > endTime) {
clear();
}
if (!getLocks().isMovementLocked()) {
@ -87,11 +87,11 @@ public abstract class PyramidPlunderNPC extends AbstractNPC {
startFollowing();
}
if (quotes != null) {
if (nextSpeech < World.getTicks() && this.getDialoguePlayer() == null && !this.getLocks().isMovementLocked()) {
if (nextSpeech < GameWorld.getTicks() && this.getDialoguePlayer() == null && !this.getLocks().isMovementLocked()) {
if (count > quotes.length - 1) {
return;
}
nextSpeech = (int) (World.getTicks() + (20 / 0.5));
nextSpeech = (int) (GameWorld.getTicks() + (20 / 0.5));
if (++count >= quotes.length) {
setTimeUp(true);
handleTimeUp();

View file

@ -17,7 +17,7 @@ import core.game.node.entity.player.link.diary.DiaryType;
import core.game.node.item.Item;
import core.game.node.scenery.Scenery;
import core.game.system.task.Pulse;
import rs09.game.world.World;
import rs09.game.world.GameWorld;
import core.game.world.map.Location;
import core.game.world.map.zone.MapZone;
import core.game.world.map.zone.ZoneBorders;
@ -218,7 +218,7 @@ public final class StrongHoldSecurityPlugin extends MapZone implements Plugin<Ob
private static void openDoor(final Player player, final Scenery object) {
player.lock(3);
player.animate(Animation.create(4282));
World.getPulser().submit(new Pulse(1, player) {
GameWorld.getPulser().submit(new Pulse(1, player) {
int counter;
@Override
@ -377,7 +377,7 @@ public final class StrongHoldSecurityPlugin extends MapZone implements Plugin<Ob
stage = 500;
break;
case 6:
interpreter.sendDialogues(npcId, FacialExpression.OLD_NORMAL, "To pass you must answer me this: How will " + World.getSettings().getName() + "", "contact me if I have been chosen to be a moderator?");
interpreter.sendDialogues(npcId, FacialExpression.OLD_NORMAL, "To pass you must answer me this: How will " + GameWorld.getSettings().getName() + "", "contact me if I have been chosen to be a moderator?");
stage = 600;
break;
case 7:
@ -389,7 +389,7 @@ public final class StrongHoldSecurityPlugin extends MapZone implements Plugin<Ob
stage = 800;
break;
case 9:
interpreter.sendDialogues(npcId, FacialExpression.OLD_NORMAL, "To pass you must answer me this: Will " + World.getSettings().getName() + " block me", "from saying my PIN in game?");
interpreter.sendDialogues(npcId, FacialExpression.OLD_NORMAL, "To pass you must answer me this: Will " + GameWorld.getSettings().getName() + " block me", "from saying my PIN in game?");
stage = 1900;
break;
case 10:
@ -397,7 +397,7 @@ public final class StrongHoldSecurityPlugin extends MapZone implements Plugin<Ob
stage = 1100;
break;
case 11:
interpreter.sendDialogues(npcId, FacialExpression.OLD_NORMAL, "To pass you must answer me this: Where should I", "enter my " + World.getSettings().getName() + " Password?");
interpreter.sendDialogues(npcId, FacialExpression.OLD_NORMAL, "To pass you must answer me this: Where should I", "enter my " + GameWorld.getSettings().getName() + " Password?");
stage = 1111;
break;
case 12:
@ -413,7 +413,7 @@ public final class StrongHoldSecurityPlugin extends MapZone implements Plugin<Ob
stage = 1400;
break;
case 15:
interpreter.sendDialogues(npcId, FacialExpression.OLD_NORMAL, "To pass you must answer me this: What do you do", "if someone tells you that you have won the " + World.getSettings().getName() + "", "Lottery and asks for your password or recoveries?");
interpreter.sendDialogues(npcId, FacialExpression.OLD_NORMAL, "To pass you must answer me this: What do you do", "if someone tells you that you have won the " + GameWorld.getSettings().getName() + "", "Lottery and asks for your password or recoveries?");
stage = 1500;
break;
case 16:
@ -425,7 +425,7 @@ public final class StrongHoldSecurityPlugin extends MapZone implements Plugin<Ob
stage = 1700;
break;
case 18:
interpreter.sendDialogues(npcId, FacialExpression.OLD_NORMAL, "To pass you must answer me this: Where can i", "find cheats for " + World.getSettings().getName() + "?");
interpreter.sendDialogues(npcId, FacialExpression.OLD_NORMAL, "To pass you must answer me this: Where can i", "find cheats for " + GameWorld.getSettings().getName() + "?");
stage = 1800;
break;
}
@ -458,11 +458,11 @@ public final class StrongHoldSecurityPlugin extends MapZone implements Plugin<Ob
stage = 99;
break;
case 2:
interpreter.sendDialogues(npcId, FacialExpression.OLD_NORMAL, "Ok! Don't tell them the details. But reporting the", "incident to " + World.getSettings().getName() + " would help. Use the Report Abuse", "button. Never use personal details for recoveries or", "bank PINs!");
interpreter.sendDialogues(npcId, FacialExpression.OLD_NORMAL, "Ok! Don't tell them the details. But reporting the", "incident to " + GameWorld.getSettings().getName() + " would help. Use the Report Abuse", "button. Never use personal details for recoveries or", "bank PINs!");
stage = 69;
break;
case 3:
interpreter.sendDialogues(npcId, FacialExpression.OLD_NORMAL, "Correct! Report any attempt to gain your account", "details as it is a very serious breach of " + World.getSettings().getName() + "'s", "rules. Never use personal details for recoveries or bank", "PINs!");
interpreter.sendDialogues(npcId, FacialExpression.OLD_NORMAL, "Correct! Report any attempt to gain your account", "details as it is a very serious breach of " + GameWorld.getSettings().getName() + "'s", "rules. Never use personal details for recoveries or bank", "PINs!");
stage = 69;
break;
}
@ -477,7 +477,7 @@ public final class StrongHoldSecurityPlugin extends MapZone implements Plugin<Ob
case 10001:
switch (buttonId) {
case 1:
interpreter.sendDialogues(npcId, FacialExpression.OLD_NORMAL, "Correct! The only safe add-on for " + World.getSettings().getName() + " is the Window", "client available from our " + World.getSettings().getName() + " Website.");
interpreter.sendDialogues(npcId, FacialExpression.OLD_NORMAL, "Correct! The only safe add-on for " + GameWorld.getSettings().getName() + " is the Window", "client available from our " + GameWorld.getSettings().getName() + " Website.");
stage = 69;
break;
case 2:
@ -512,21 +512,21 @@ public final class StrongHoldSecurityPlugin extends MapZone implements Plugin<Ob
}
break;
case 300:
interpreter.sendOptions("Select an Option", "To help me recover my password if I forget it or it is stolen.", "To let " + World.getSettings().getName() + " know more about its players.", "To see if I can type in random letters on my keyboard.");
interpreter.sendOptions("Select an Option", "To help me recover my password if I forget it or it is stolen.", "To let " + GameWorld.getSettings().getName() + " know more about its players.", "To see if I can type in random letters on my keyboard.");
stage = 301;
break;
case 301:
switch (buttonId) {
case 1:
interpreter.sendDialogues(npcId, FacialExpression.OLD_NORMAL, "Correct! Your recovery questions will help " + World.getSettings().getName() + " staff protect", "and return your account if it is stolen. Never use personal", "details for recoveries or bank PINs!");
interpreter.sendDialogues(npcId, FacialExpression.OLD_NORMAL, "Correct! Your recovery questions will help " + GameWorld.getSettings().getName() + " staff protect", "and return your account if it is stolen. Never use personal", "details for recoveries or bank PINs!");
stage = 69;
break;
case 2:
interpreter.sendDialogues(npcId, FacialExpression.OLD_NORMAL, "Wrong! " + World.getSettings().getName() + " values players opinons, but we use polls", "and forums to see what you think. The recoveries are not there to gain personal", "information about anybody but to protect your account.", "Never use personal details");
interpreter.sendDialogues(npcId, FacialExpression.OLD_NORMAL, "Wrong! " + GameWorld.getSettings().getName() + " values players opinons, but we use polls", "and forums to see what you think. The recoveries are not there to gain personal", "information about anybody but to protect your account.", "Never use personal details");
stage = 99;
break;
case 3:
interpreter.sendDialogues(npcId, FacialExpression.OLD_NORMAL, "Wrong! Typing random letters into your recoveries", "won't help you or the " + World.getSettings().getName() + " staff - you'll never", "remember them anyway! Never use personal details for", "recoveries or bank PINs!");
interpreter.sendDialogues(npcId, FacialExpression.OLD_NORMAL, "Wrong! Typing random letters into your recoveries", "won't help you or the " + GameWorld.getSettings().getName() + " staff - you'll never", "remember them anyway! Never use personal details for", "recoveries or bank PINs!");
stage = 99;
break;
}
@ -572,21 +572,21 @@ public final class StrongHoldSecurityPlugin extends MapZone implements Plugin<Ob
}
break;
case 600:
interpreter.sendOptions("Select an Option", "Email.", "Website popup.", "Game Inbox on the " + World.getSettings().getName() + " Website.");
interpreter.sendOptions("Select an Option", "Email.", "Website popup.", "Game Inbox on the " + GameWorld.getSettings().getName() + " Website.");
stage = 601;
break;
case 601:
switch (buttonId) {
case 1:
interpreter.sendDialogues(npcId, FacialExpression.OLD_NORMAL, "Wrong! " + World.getSettings().getName() + " never uses email to contact you, this is a", "scam and a fake, do not reply to it and delete it", "straight away. " + World.getSettings().getName() + " will only contact you through your", "Game Inbox avaibale on our website.");
interpreter.sendDialogues(npcId, FacialExpression.OLD_NORMAL, "Wrong! " + GameWorld.getSettings().getName() + " never uses email to contact you, this is a", "scam and a fake, do not reply to it and delete it", "straight away. " + GameWorld.getSettings().getName() + " will only contact you through your", "Game Inbox avaibale on our website.");
stage = 99;
break;
case 2:
interpreter.sendDialogues(npcId, FacialExpression.OLD_NORMAL, "Wrong! " + World.getSettings().getName() + " would never use such an insecure", "method to pick you. We will contact you through your", "Game Inbox available on our website.");
interpreter.sendDialogues(npcId, FacialExpression.OLD_NORMAL, "Wrong! " + GameWorld.getSettings().getName() + " would never use such an insecure", "method to pick you. We will contact you through your", "Game Inbox available on our website.");
stage = 99;
break;
case 3:
interpreter.sendDialogues(npcId, FacialExpression.OLD_NORMAL, "Correct! We only contact our players via the game", "Inbox which you can access from our " + World.getSettings().getName() + "", "website.");
interpreter.sendDialogues(npcId, FacialExpression.OLD_NORMAL, "Correct! We only contact our players via the game", "Inbox which you can access from our " + GameWorld.getSettings().getName() + "", "website.");
stage = 69;
break;
}
@ -612,17 +612,17 @@ public final class StrongHoldSecurityPlugin extends MapZone implements Plugin<Ob
}
break;
case 800:
interpreter.sendOptions("Select an Option", "Nothing.", "Give them my password.", "Don't tell them anything and inform " + World.getSettings().getName() + " through the game website.");
interpreter.sendOptions("Select an Option", "Nothing.", "Give them my password.", "Don't tell them anything and inform " + GameWorld.getSettings().getName() + " through the game website.");
stage = 801;
break;
case 801:
switch (buttonId) {
case 1:
interpreter.sendDialogues(npcId, FacialExpression.OLD_NORMAL, "This is one solution, however someone will fall for", "this scam sooner or later. Tell us about it through", "the " + World.getSettings().getName() + " website. Remember that moderators are hand", "picked by " + World.getSettings().getName() + ".");
interpreter.sendDialogues(npcId, FacialExpression.OLD_NORMAL, "This is one solution, however someone will fall for", "this scam sooner or later. Tell us about it through", "the " + GameWorld.getSettings().getName() + " website. Remember that moderators are hand", "picked by " + GameWorld.getSettings().getName() + ".");
stage = 69;
break;
case 2:
interpreter.sendDialogues(npcId, FacialExpression.OLD_NORMAL, "Wrong! This will almost certainly lead to your accout", "being hijacked. No website can make you a moderator", "as they are hand picked by " + World.getSettings().getName() + ".");
interpreter.sendDialogues(npcId, FacialExpression.OLD_NORMAL, "Wrong! This will almost certainly lead to your accout", "being hijacked. No website can make you a moderator", "as they are hand picked by " + GameWorld.getSettings().getName() + ".");
stage = 99;
break;
case 3:
@ -638,11 +638,11 @@ public final class StrongHoldSecurityPlugin extends MapZone implements Plugin<Ob
case 1901:
switch (buttonId) {
case 1:
interpreter.sendDialogues(npcId, FacialExpression.OLD_NORMAL, "Wrong! " + World.getSettings().getName() + " does NOT block your PIN so don't type", "it!");
interpreter.sendDialogues(npcId, FacialExpression.OLD_NORMAL, "Wrong! " + GameWorld.getSettings().getName() + " does NOT block your PIN so don't type", "it!");
stage = 99;
break;
case 2:
interpreter.sendDialogues(npcId, FacialExpression.OLD_NORMAL, "Correct! " + World.getSettings().getName() + " will not block your PIN so don't type", "it! Never use personal details for reccoveries or bank", "PINs!");
interpreter.sendDialogues(npcId, FacialExpression.OLD_NORMAL, "Correct! " + GameWorld.getSettings().getName() + " will not block your PIN so don't type", "it! Never use personal details for reccoveries or bank", "PINs!");
stage = 69;
break;
}
@ -668,17 +668,17 @@ public final class StrongHoldSecurityPlugin extends MapZone implements Plugin<Ob
}
break;
case 1111:
interpreter.sendOptions("Select an Opion", "On " + World.getSettings().getName() + " and all fansites.", "Only on the " + World.getSettings().getName() + " website.", "On all websites I visit.");
interpreter.sendOptions("Select an Opion", "On " + GameWorld.getSettings().getName() + " and all fansites.", "Only on the " + GameWorld.getSettings().getName() + " website.", "On all websites I visit.");
stage = 1112;
break;
case 1112:
switch (buttonId) {
case 1:
interpreter.sendDialogues(npcId, FacialExpression.OLD_NORMAL, "Wrong! Always use a unique password purely for your " + World.getSettings().getName() + " account.");
interpreter.sendDialogues(npcId, FacialExpression.OLD_NORMAL, "Wrong! Always use a unique password purely for your " + GameWorld.getSettings().getName() + " account.");
stage = 99;
break;
case 2:
interpreter.sendDialogues(npcId, FacialExpression.OLD_NORMAL, "Correct! Always make sure you are entering your", "password only on the " + World.getSettings().getName() + " Website as other sites", "may try to steal it.");
interpreter.sendDialogues(npcId, FacialExpression.OLD_NORMAL, "Correct! Always make sure you are entering your", "password only on the " + GameWorld.getSettings().getName() + " Website as other sites", "may try to steal it.");
stage = 69;
break;
case 3:
@ -694,7 +694,7 @@ public final class StrongHoldSecurityPlugin extends MapZone implements Plugin<Ob
case 1201:
switch (buttonId) {
case 1:
interpreter.sendDialogues(npcId, FacialExpression.OLD_NORMAL, "This is a bad idea as if someone happens to find out your bank", "PIN on " + World.getSettings().getName() + ", they then have acces to your bank account.");
interpreter.sendDialogues(npcId, FacialExpression.OLD_NORMAL, "This is a bad idea as if someone happens to find out your bank", "PIN on " + GameWorld.getSettings().getName() + ", they then have acces to your bank account.");
stage = 99;
break;
case 2:
@ -754,7 +754,7 @@ public final class StrongHoldSecurityPlugin extends MapZone implements Plugin<Ob
case 1501:
switch (buttonId) {
case 1:
interpreter.sendDialogues(npcId, FacialExpression.OLD_NORMAL, "Wrong! There is no " + World.getSettings().getName() + " Lottery! Never give", "your account details to anyone. Press the 'Report Abuse'", "button and fill in the offending player's name and", "the correct category.", "Don't tell them anything and click the 'Report Abuse' button.");
interpreter.sendDialogues(npcId, FacialExpression.OLD_NORMAL, "Wrong! There is no " + GameWorld.getSettings().getName() + " Lottery! Never give", "your account details to anyone. Press the 'Report Abuse'", "button and fill in the offending player's name and", "the correct category.", "Don't tell them anything and click the 'Report Abuse' button.");
stage = 99;
break;
case 2:
@ -768,7 +768,7 @@ public final class StrongHoldSecurityPlugin extends MapZone implements Plugin<Ob
}
break;
case 1600:
interpreter.sendOptions("Select an Option", "Tell them never to use them.", "Use the Account Managemnt section on the " + World.getSettings().getName() + " website.", "'Recover a Lost Password' section on the " + World.getSettings().getName() + " website.");
interpreter.sendOptions("Select an Option", "Tell them never to use them.", "Use the Account Managemnt section on the " + GameWorld.getSettings().getName() + " website.", "'Recover a Lost Password' section on the " + GameWorld.getSettings().getName() + " website.");
stage = 1601;
break;
case 1601:
@ -798,27 +798,27 @@ public final class StrongHoldSecurityPlugin extends MapZone implements Plugin<Ob
stage = 69;
break;
case 3:
interpreter.sendDialogues(npcId, FacialExpression.OLD_NORMAL, "Wrong! " + World.getSettings().getName() + " never ask for your account", "information especially to become a player moderator.", "Press the 'Report Abuse' button and fill in the offending player's", "name and the correct cattegory.");
interpreter.sendDialogues(npcId, FacialExpression.OLD_NORMAL, "Wrong! " + GameWorld.getSettings().getName() + " never ask for your account", "information especially to become a player moderator.", "Press the 'Report Abuse' button and fill in the offending player's", "name and the correct cattegory.");
stage = 99;
break;
}
break;
case 1800:
interpreter.sendOptions("Select an Option", "On the " + World.getSettings().getName() + " website.", "By searching the internet.", "Nowhere.");
interpreter.sendOptions("Select an Option", "On the " + GameWorld.getSettings().getName() + " website.", "By searching the internet.", "Nowhere.");
stage = 1801;
break;
case 1801:
switch (buttonId) {
case 1:
interpreter.sendDialogues(npcId, FacialExpression.OLD_NORMAL, "Wrong! There are NO " + World.getSettings().getName() + " cheats coded", "into the game and any sites claiming to have cheats", "are fakes and may lead to your account being stolen if you", "give them your password.");
interpreter.sendDialogues(npcId, FacialExpression.OLD_NORMAL, "Wrong! There are NO " + GameWorld.getSettings().getName() + " cheats coded", "into the game and any sites claiming to have cheats", "are fakes and may lead to your account being stolen if you", "give them your password.");
stage = 99;
break;
case 2:
interpreter.sendDialogues(npcId, FacialExpression.OLD_NORMAL, "Wrong! There are NO " + World.getSettings().getName() + " cheats coded", "into the game and any sites claiming to have cheats", "are fakes and may lead to your account being stolen if you", "give them your password.");
interpreter.sendDialogues(npcId, FacialExpression.OLD_NORMAL, "Wrong! There are NO " + GameWorld.getSettings().getName() + " cheats coded", "into the game and any sites claiming to have cheats", "are fakes and may lead to your account being stolen if you", "give them your password.");
stage = 99;
break;
case 3:
interpreter.sendDialogues(npcId, FacialExpression.OLD_NORMAL, "Correct! There are NO " + World.getSettings().getName() + " cheats coded into", "the game. Any sites claiming to have cheats are", "fakes and may lead to your account being stolen if you give", "them your password.");
interpreter.sendDialogues(npcId, FacialExpression.OLD_NORMAL, "Correct! There are NO " + GameWorld.getSettings().getName() + " cheats coded into", "the game. Any sites claiming to have cheats are", "fakes and may lead to your account being stolen if you give", "them your password.");
stage = 69;
break;
}

View file

@ -7,7 +7,7 @@ import core.game.node.entity.npc.NPC;
import core.game.node.entity.player.Player;
import rs09.game.system.SystemLogger;
import core.game.system.task.Pulse;
import rs09.game.world.World;
import rs09.game.world.GameWorld;
/**
* @author Tyler Telis
@ -65,7 +65,7 @@ public class GuardDialoguePlugin extends DialoguePlugin {
if (!read) {
npc("You must learn about player safety before<br>entering the training centre.");
} else {
npc("In your travels around " + World.getSettings().getName() + ", should you find a", "player who acts in a way that breaks on of our rules,", "you should report them.");
npc("In your travels around " + GameWorld.getSettings().getName() + ", should you find a", "player who acts in a way that breaks on of our rules,", "you should report them.");
}
increment();
break;
@ -74,7 +74,7 @@ public class GuardDialoguePlugin extends DialoguePlugin {
stage = read ? 10 : stage + 1;
break;
case 5:
interpreter.sendDialogues(npc, FacialExpression.HALF_GUILTY, "Each of these gublinches have been caught breaking the", "Rules of " + World.getSettings().getName() + ". You should read the plaques on", "each of their cells to learn what they did wrong.");
interpreter.sendDialogues(npc, FacialExpression.HALF_GUILTY, "Each of these gublinches have been caught breaking the", "Rules of " + GameWorld.getSettings().getName() + ". You should read the plaques on", "each of their cells to learn what they did wrong.");
increment();
break;
case 6:
@ -97,7 +97,7 @@ public class GuardDialoguePlugin extends DialoguePlugin {
case 10:
if (read) {
player.getInterfaceManager().open(new Component(700));
World.getPulser().submit(new Pulse(5) {
GameWorld.getPulser().submit(new Pulse(5) {
@Override
public boolean pulse() {

View file

@ -19,7 +19,7 @@ import core.game.world.map.build.DynamicRegion;
import core.game.world.map.zone.ZoneRestriction;
import core.plugin.Initializable;
import core.tools.RandomFunction;
import rs09.game.world.World;
import rs09.game.world.GameWorld;
import rs09.game.world.repository.Repository;
import java.util.ArrayList;
@ -129,7 +129,7 @@ public final class TzhaarFightCavesPlugin extends ActivityPlugin {
};
}
player.setAttribute("fc:pulse", pulse);
World.getPulser().submit(pulse);
GameWorld.getPulser().submit(pulse);
return true;
}
@ -222,7 +222,7 @@ public final class TzhaarFightCavesPlugin extends ActivityPlugin {
}
};
player.setAttribute("fc:pulse", pulse);
World.getPulser().submit(pulse);
GameWorld.getPulser().submit(pulse);
}
}
}

View file

@ -24,7 +24,7 @@ import core.game.node.entity.player.link.diary.DiaryType;
import core.game.node.item.Item;
import core.game.node.scenery.Scenery;
import core.game.system.task.Pulse;
import rs09.game.world.World;
import rs09.game.world.GameWorld;
import core.game.world.map.Location;
import core.game.world.map.RegionManager;
import core.game.world.map.zone.ZoneBorders;
@ -279,7 +279,7 @@ public final class TzhaarFightPitsPlugin extends ActivityPlugin {
public void configure() {
register(new ZoneBorders(2368, 5120, 2420, 5176));
PULSE.start();
World.getPulser().submit(PULSE);
GameWorld.getPulser().submit(PULSE);
}
@Override
@ -329,7 +329,7 @@ public final class TzhaarFightPitsPlugin extends ActivityPlugin {
}
};
p.setAttribute("fp_pulse", pl);
World.getPulser().submit(pl);
GameWorld.getPulser().submit(pl);
}
break;
}

View file

@ -11,7 +11,7 @@ import core.game.node.scenery.Scenery;
import core.game.system.task.ItemLogoutTask;
import core.game.system.task.LogoutTask;
import core.game.system.task.Pulse;
import rs09.game.world.World;
import rs09.game.world.GameWorld;
import core.game.world.map.Direction;
import core.game.world.map.zone.MapZone;
import core.game.world.map.zone.ZoneBorders;
@ -122,7 +122,7 @@ public final class AnimationRoom extends MapZone implements Plugin<Object> {
player.lock(10);
player.animate(Animation.create(827));
player.getDialogueInterpreter().sendPlainMessage(true, "You place your armour on the platform where it", "disappears...");
World.getPulser().submit(new Pulse(5, player) {
GameWorld.getPulser().submit(new Pulse(5, player) {
boolean spawn;
@Override

View file

@ -15,7 +15,7 @@ import core.game.node.entity.player.Player;
import core.game.node.item.Item;
import core.game.node.scenery.Scenery;
import core.game.system.task.Pulse;
import rs09.game.world.World;
import rs09.game.world.GameWorld;
import core.game.world.map.zone.MapZone;
import core.game.world.map.zone.ZoneBorders;
import core.game.world.map.zone.ZoneBuilder;
@ -118,7 +118,7 @@ public final class BarrelRoom extends MapZone implements Plugin<Object> {
lock.lock();
player.getLocks().setEquipmentLock(lock);
player.getPacketDispatch().sendMessage("You pick up the keg and balance it on your head carefully.");
World.getPulser().submit(new Pulse(3, player) {
GameWorld.getPulser().submit(new Pulse(3, player) {
@Override
public boolean pulse() {
player.getEquipment().replace(new Item(barrelId), EquipmentContainer.SLOT_HAT);
@ -133,7 +133,7 @@ public final class BarrelRoom extends MapZone implements Plugin<Object> {
if (!pulse.isRunning()) {
pulse.restart();
pulse.start();
World.getPulser().submit(pulse);
GameWorld.getPulser().submit(pulse);
}
}
return true;

View file

@ -22,7 +22,7 @@ import core.game.node.item.Item;
import core.game.node.scenery.Scenery;
import core.game.node.scenery.SceneryBuilder;
import core.game.system.task.Pulse;
import rs09.game.world.World;
import rs09.game.world.GameWorld;
import core.game.world.map.Location;
import core.game.world.map.RegionManager;
import core.game.world.map.zone.MapZone;
@ -115,7 +115,7 @@ public final class CatapultRoom extends MapZone implements Plugin<Object> {
@Override
public boolean pulse() {
attack = RandomFunction.getRandomElement(CatapultAttack.values());
World.getPulser().submit(new Pulse(7) {
GameWorld.getPulser().submit(new Pulse(7) {
@Override
public boolean pulse() {
for (Player p : players) {
@ -235,7 +235,7 @@ public final class CatapultRoom extends MapZone implements Plugin<Object> {
if (!pulse.isRunning()) {
pulse.restart();
pulse.start();
World.getPulser().submit(pulse);
GameWorld.getPulser().submit(pulse);
}
}
return super.enter(e);

View file

@ -19,7 +19,7 @@ import core.game.node.item.GroundItemManager;
import core.game.node.item.Item;
import core.game.node.scenery.Scenery;
import core.game.system.task.Pulse;
import rs09.game.world.World;
import rs09.game.world.GameWorld;
import core.game.world.map.Location;
import core.game.world.map.RegionManager;
import core.game.world.map.path.Pathfinder;
@ -197,7 +197,7 @@ public final class CyclopesRoom extends MapZone implements Plugin<Object> {
if (!PULSE.isRunning()) {
PULSE.restart();
PULSE.start();
World.getPulser().submit(PULSE);
GameWorld.getPulser().submit(PULSE);
}
}

View file

@ -11,7 +11,7 @@ import core.game.node.entity.player.Player;
import core.game.node.scenery.Scenery;
import core.game.node.scenery.SceneryBuilder;
import core.game.system.task.Pulse;
import rs09.game.world.World;
import rs09.game.world.GameWorld;
import core.game.world.map.Location;
import core.game.world.map.RegionManager;
import core.game.world.update.flag.chunk.AnimateObjectUpdateFlag;
@ -101,7 +101,7 @@ public final class DummyRoom extends OptionHandler {
for (Dummy dummy : Dummy.values()) {
SceneryDefinition.forId(dummy.getObject().getId()).getHandlers().put("option:hit", this);
}
World.getPulser().submit(new Pulse(10) {
GameWorld.getPulser().submit(new Pulse(10) {
boolean activeDummy;
Scenery controlled;
@ -109,7 +109,7 @@ public final class DummyRoom extends OptionHandler {
public boolean pulse() {
if (!activeDummy) {
setDelay(10);
timeStamp = World.getTicks();
timeStamp = GameWorld.getTicks();
dummy = RandomFunction.getRandomElement(Dummy.values());
SceneryBuilder.replace(RegionManager.getObject(dummy.getObject().getLocation()), dummy.getObject(), 11);
activeDummy = true;

View file

@ -18,7 +18,7 @@ import core.game.node.item.GroundItemManager;
import core.game.node.item.Item;
import core.game.node.scenery.Scenery;
import core.game.system.task.Pulse;
import rs09.game.world.World;
import rs09.game.world.GameWorld;
import core.game.world.map.Location;
import core.game.world.update.flag.context.Animation;
import core.plugin.Plugin;
@ -52,7 +52,7 @@ public final class ShotPutRoom extends DialoguePlugin {
}
player.lock(4);
player.animate(Animation.create(827));
World.getPulser().submit(new Pulse(2) {
GameWorld.getPulser().submit(new Pulse(2) {
@Override
public boolean pulse() {
player.faceLocation(player.getLocation().transform(3, 0, 0));
@ -158,7 +158,7 @@ public final class ShotPutRoom extends DialoguePlugin {
final boolean failed = distance < 2;
final int tiles = distance;
player.getPacketDispatch().sendMessage("You take a deep breath and prepare yourself.");
World.getPulser().submit(new Pulse(delay, player) {
GameWorld.getPulser().submit(new Pulse(delay, player) {
Location loc = player.getLocation();
boolean thrown;

View file

@ -1,7 +1,7 @@
package core.game.content.consumable.effects;
import core.game.node.entity.player.Player;
import rs09.game.world.World;
import rs09.game.world.GameWorld;
import core.game.content.consumable.ConsumableEffect;
public class SetAttributeEffect extends ConsumableEffect {
@ -28,7 +28,7 @@ public class SetAttributeEffect extends ConsumableEffect {
@Override
public void activate(Player p) {
if(isTicks){
int val = (Integer) attrValue + World.getTicks();
int val = (Integer) attrValue + GameWorld.getTicks();
p.setAttribute(attrString,val);
return;
}

View file

@ -22,7 +22,7 @@ import core.game.node.item.ItemPlugin;
import core.game.node.scenery.Scenery;
import core.game.node.scenery.SceneryBuilder;
import core.game.system.task.Pulse;
import rs09.game.world.World;
import rs09.game.world.GameWorld;
import core.game.world.map.Direction;
import core.game.world.map.Location;
import core.game.world.map.RegionManager;
@ -209,7 +209,7 @@ public final class DBRCutscenePlugin extends CutscenePlugin {
@Override
public void open() {
setNpcs();
World.getPulser().submit(recordingPulse);
GameWorld.getPulser().submit(recordingPulse);
player.lock();
player.getLocks().lockMovement(10000000);
camera(27, 45, -14, 2, 700, 100);
@ -459,7 +459,7 @@ public final class DBRCutscenePlugin extends CutscenePlugin {
* Method used to clear all the npcs.
*/
private void clearNpcs() {
World.getPulser().submit(new Pulse(5) {
GameWorld.getPulser().submit(new Pulse(5) {
@Override
public boolean pulse() {
for (NPC n : region.getPlanes()[0].getNpcs()) {

View file

@ -11,7 +11,7 @@ import core.game.ge.GEGuidePrice;
import core.game.ge.GEGuidePrice.GuideType;
import core.game.node.entity.player.Player;
import core.game.system.task.Pulse;
import rs09.game.world.World;
import rs09.game.world.GameWorld;
import core.game.world.map.Location;
import core.net.packet.PacketRepository;
import core.net.packet.context.CameraContext;
@ -222,7 +222,7 @@ public final class GECutscenePlugin extends CutscenePlugin {
case 100:
close();
camera(player, 3149, 3470, 1, 1, 870, 10);
World.getPulser().submit(new Pulse(16, player) {
GameWorld.getPulser().submit(new Pulse(16, player) {
@Override
public boolean pulse() {
npc("Welcome, my friend to the Grand Exchange! From", "here you can simply tell us what you want to buy or", "sell and for how much, and we'll pair you up with", "another player and make the trade!");
@ -450,7 +450,7 @@ public final class GECutscenePlugin extends CutscenePlugin {
stage = 252;
break;
case 252:
npc("So, in the end, I decided why not make this a " + World.getSettings().getName() + "-", "wide phenomenon? Make it public and allow anyone to join", "in. Up to this point, it catered for people buying and selling", "large quantities, but I knew it would work on a smaller");
npc("So, in the end, I decided why not make this a " + GameWorld.getSettings().getName() + "-", "wide phenomenon? Make it public and allow anyone to join", "in. Up to this point, it catered for people buying and selling", "large quantities, but I knew it would work on a smaller");
stage = 253;
break;
case 253:
@ -458,7 +458,7 @@ public final class GECutscenePlugin extends CutscenePlugin {
stage = 254;
break;
case 254:
npc("And I was also in for a bit of luck. You see, one of the", "initial patrons had deep connections to the banks of", "" + World.getSettings().getName() + ". Together, I think you'll agree we have a most", "friendly system.");
npc("And I was also in for a bit of luck. You see, one of the", "initial patrons had deep connections to the banks of", "" + GameWorld.getSettings().getName() + ". Together, I think you'll agree we have a most", "friendly system.");
stage = 255;
break;
case 255:
@ -543,7 +543,7 @@ public final class GECutscenePlugin extends CutscenePlugin {
case 13:
player.getInterfaceManager().close();
player.setAttribute("ge-stage", 5);
player.getDialogueInterpreter().sendDialogues(6522, null, "<col=8A0808>Step 5</col>: When the trade is complete, we will let you", "know with a message and you can pick up your", "winnings by talking to the clerks or by visiting any", "banker in " + World.getSettings().getName() + ".");
player.getDialogueInterpreter().sendDialogues(6522, null, "<col=8A0808>Step 5</col>: When the trade is complete, we will let you", "know with a message and you can pick up your", "winnings by talking to the clerks or by visiting any", "banker in " + GameWorld.getSettings().getName() + ".");
break;
}
break;

View file

@ -10,7 +10,7 @@ import core.game.node.item.GroundItem;
import core.game.node.item.GroundItemManager;
import core.game.node.item.Item;
import core.game.system.task.Pulse;
import rs09.game.world.World;
import rs09.game.world.GameWorld;
import core.game.world.map.path.Path;
import core.game.world.map.path.Pathfinder;
import rs09.game.world.repository.Repository;
@ -141,7 +141,7 @@ public final class JulietDialogue extends DialoguePlugin {
break;
case 2003:
close();
World.getPulser().submit(new Pulse(1) {
GameWorld.getPulser().submit(new Pulse(1) {
int counter = 0;
@Override
@ -163,7 +163,7 @@ public final class JulietDialogue extends DialoguePlugin {
case 2004:
close();
npc.animate(new Animation(836));
World.getPulser().submit(new Pulse(1) {
GameWorld.getPulser().submit(new Pulse(1) {
int counter = 0;
@Override

View file

@ -7,7 +7,7 @@ import core.game.node.entity.player.Player;
import core.game.node.scenery.Scenery;
import core.game.node.scenery.SceneryBuilder;
import core.game.system.task.Pulse;
import rs09.game.world.World;
import rs09.game.world.GameWorld;
import core.game.world.map.Location;
import core.game.world.map.RegionManager;
import core.game.world.map.build.DynamicRegion;
@ -50,7 +50,7 @@ public final class OrganCutScene extends CutscenePlugin {
PacketRepository.send(CameraViewPacket.class, new CameraContext(player, CameraType.POSITION, player.getLocation().getX() + 2, player.getLocation().getY() - 7, 405, 1, 100));
PacketRepository.send(CameraViewPacket.class, new CameraContext(player, CameraType.ROTATION, player.getLocation().getX() + 1, player.getLocation().getY(), 405, 1, 100));
player.lock();
World.getPulser().submit(new Pulse(3) {
GameWorld.getPulser().submit(new Pulse(3) {
@Override
public boolean pulse() {
player.getPacketDispatch().sendSceneryAnimation(RegionManager.getObject(base.transform(42, 14, 0)), new Animation(9841));
@ -59,7 +59,7 @@ public final class OrganCutScene extends CutscenePlugin {
return true;
}
});
World.getPulser().submit(new Pulse(30) {
GameWorld.getPulser().submit(new Pulse(30) {
@Override
public boolean pulse() {
unpause();

View file

@ -10,7 +10,7 @@ import core.game.node.entity.player.Player;
import core.game.node.entity.player.link.quest.Quest;
import core.game.node.item.Item;
import core.game.system.task.Pulse;
import rs09.game.world.World;
import rs09.game.world.GameWorld;
import core.game.world.map.Direction;
import core.game.world.map.Location;
import core.game.world.map.build.DynamicRegion;
@ -677,7 +677,7 @@ public final class RJCutscenePlugin extends CutscenePlugin {
rot = new CameraContext(player, CameraType.ROTATION, x - 1, y - 2, height, other, speed);
PacketRepository.send(CameraViewPacket.class, pos);
PacketRepository.send(CameraViewPacket.class, rot);
World.getPulser().submit(new Pulse(5) {
GameWorld.getPulser().submit(new Pulse(5) {
@Override
public boolean pulse() {
int x = player.getLocation().getX();
@ -715,7 +715,7 @@ public final class RJCutscenePlugin extends CutscenePlugin {
close();
npc.getWalkingQueue().reset();
npc.getWalkingQueue().addPath(cutscene.getBase().transform(19, 35, 0).getX(), cutscene.getBase().transform(19, 35, 0).getY());
World.getPulser().submit(new Pulse(12) {
GameWorld.getPulser().submit(new Pulse(12) {
@Override
public boolean pulse() {
interpreter.sendDialogues(npc, null, "Hey...Juliet...");

View file

@ -4,7 +4,7 @@ import core.game.node.entity.skill.Skills;
import core.game.node.entity.npc.NPC;
import core.game.node.entity.player.Player;
import core.game.system.task.Pulse;
import rs09.game.world.World;
import rs09.game.world.GameWorld;
import core.plugin.Initializable;
import core.game.world.update.flag.context.Animation;
@ -87,7 +87,7 @@ public final class AablaDialogue extends DialoguePlugin {
npc.animate(ANIMATION);
player.lock(4);
close();
World.getPulser().submit(new Pulse(3, player) {
GameWorld.getPulser().submit(new Pulse(3, player) {
@Override
public boolean pulse() {
if (player.getSkills().getLifepoints() == player.getSkills().getStaticLevel(Skills.HITPOINTS)) {

View file

@ -4,7 +4,7 @@ import core.game.component.Component;
import core.game.node.entity.npc.NPC;
import core.game.node.entity.player.Player;
import core.game.system.task.Pulse;
import rs09.game.world.World;
import rs09.game.world.GameWorld;
import core.game.world.map.Location;
import core.net.packet.PacketRepository;
import core.net.packet.context.MinimapStateContext;
@ -79,7 +79,7 @@ public class CaptainBentleyDialogue extends DialoguePlugin {
*/
private void travel(final Player player, final Location location) {
player.lock();
World.getPulser().submit(new Pulse(1, player) {
GameWorld.getPulser().submit(new Pulse(1, player) {
int counter;
@Override

View file

@ -3,7 +3,7 @@ package core.game.content.dialogue;
import core.game.node.entity.npc.NPC;
import core.game.node.entity.player.Player;
import core.plugin.Initializable;
import rs09.game.world.World;
import rs09.game.world.GameWorld;
/**
* Represents the dialogue plugin used for the donie npc.
@ -75,7 +75,7 @@ public final class DonieDialogue extends DialoguePlugin {
stage = 1;
break;
case 20:
interpreter.sendDialogues(npc, FacialExpression.HALF_GUILTY, "Aye, not too bad thank you. Lovely weather in", "" + World.getSettings().getName() + " this fine day.");
interpreter.sendDialogues(npc, FacialExpression.HALF_GUILTY, "Aye, not too bad thank you. Lovely weather in", "" + GameWorld.getSettings().getName() + " this fine day.");
stage = 21;
break;
case 21:

View file

@ -6,7 +6,7 @@ import core.game.node.entity.player.link.quest.Quest;
import core.game.node.item.GroundItemManager;
import core.game.node.item.Item;
import core.plugin.Initializable;
import rs09.game.world.World;
import rs09.game.world.GameWorld;
/**
* Represents the dialogue plugin used for the doric npc.
@ -165,7 +165,7 @@ public final class DoricDialogue extends DialoguePlugin {
end();
break;
case 50:
interpreter.sendDialogues(npc, FacialExpression.OLD_NORMAL, "I make pickaxes. I am the best maker of pickaxes in the", "whole of " + World.getSettings().getName() + ".");
interpreter.sendDialogues(npc, FacialExpression.OLD_NORMAL, "I make pickaxes. I am the best maker of pickaxes in the", "whole of " + GameWorld.getSettings().getName() + ".");
stage = 51;
break;
case 51:

View file

@ -8,7 +8,7 @@ import core.game.node.entity.player.link.quest.Quest;
import core.game.node.item.GroundItemManager;
import core.game.node.item.Item;
import core.plugin.Initializable;
import rs09.game.world.World;
import rs09.game.world.GameWorld;
/**
* Represents the falador squire dialogue plugin.
@ -521,7 +521,7 @@ public final class FaladorSquireDialogue extends DialoguePlugin {
}
break;
case 160:
npc("I'm not a hundred percent sure the Imcando tribe", "exists anymore. I should think Reldo, the palace", "librarian in Varrock, will know; he has done a lot of", "research on the races of " + World.getSettings().getName() + ".");
npc("I'm not a hundred percent sure the Imcando tribe", "exists anymore. I should think Reldo, the palace", "librarian in Varrock, will know; he has done a lot of", "research on the races of " + GameWorld.getSettings().getName() + ".");
stage = 161;
break;
case 161:

View file

@ -4,7 +4,7 @@ import core.game.node.entity.npc.NPC;
import core.game.node.entity.player.Player;
import core.game.node.entity.player.link.quest.Quest;
import core.game.system.task.Pulse;
import rs09.game.world.World;
import rs09.game.world.GameWorld;
import core.plugin.Initializable;
import core.game.world.update.flag.context.Animation;
@ -144,7 +144,7 @@ public final class GertrudesCatDialogue extends DialoguePlugin {
if (quest.getStage(player) == 40) {
return true;
}
World.getPulser().submit(new Pulse(7, player) {
GameWorld.getPulser().submit(new Pulse(7, player) {
@Override
public boolean pulse() {
end();

View file

@ -3,7 +3,7 @@ package core.game.content.dialogue;
import core.game.node.entity.player.Player;
import core.game.node.entity.player.link.diary.DiaryType;
import core.game.system.task.Pulse;
import rs09.game.world.World;
import rs09.game.world.GameWorld;
import core.game.world.map.Location;
import core.game.world.update.flag.context.Animation;
import core.plugin.Initializable;
@ -104,7 +104,7 @@ public final class GnomeSpiritTreeDialogue extends DialoguePlugin {
*/
private void sendTeleport(final Player player, final Location location) {
end();
World.getPulser().submit(new Pulse(1, player) {
GameWorld.getPulser().submit(new Pulse(1, player) {
int loop;
@Override

View file

@ -3,7 +3,7 @@ package core.game.content.dialogue;
import core.game.node.entity.npc.NPC;
import core.game.node.entity.player.Player;
import core.plugin.Initializable;
import rs09.game.world.World;
import rs09.game.world.GameWorld;
/**
* Represents the dialogue plugin used for the grand exchange tutor.
@ -95,7 +95,7 @@ public final class GrandExchangeTutor extends DialoguePlugin {
stage = 17;
break;
case 17:
interpreter.sendDialogues(npc, FacialExpression.HALF_GUILTY, getRed() + "Step 4</col>: When the trade is complete, we will send you a", "message. You can collect your stuff by talking to the", "clerks or by visiting any banker in " + World.getSettings().getName() + ".");
interpreter.sendDialogues(npc, FacialExpression.HALF_GUILTY, getRed() + "Step 4</col>: When the trade is complete, we will send you a", "message. You can collect your stuff by talking to the", "clerks or by visiting any banker in " + GameWorld.getSettings().getName() + ".");
stage = 18;
break;
case 18:

View file

@ -8,7 +8,7 @@ import core.game.node.entity.npc.NPC;
import core.game.node.entity.player.Player;
import core.game.node.scenery.Scenery;
import core.game.node.scenery.SceneryBuilder;
import rs09.game.world.World;
import rs09.game.world.GameWorld;
import core.game.world.map.Location;
import core.game.world.map.RegionManager;
import core.game.world.update.flag.context.Animation;
@ -233,9 +233,9 @@ public final class IgnatiusVulcanDialogue extends DialoguePlugin {
@Override
public void tick() {
if (lastFire < World.getTicks()) {
if (lastFire < GameWorld.getTicks()) {
createFire(this, getLocation());
lastFire = World.getTicks() + RandomFunction.random(50, 200);
lastFire = GameWorld.getTicks() + RandomFunction.random(50, 200);
}
super.tick();
}

View file

@ -4,7 +4,7 @@ import core.game.node.entity.npc.NPC;
import core.game.node.entity.player.Player;
import core.game.node.item.Item;
import core.plugin.Initializable;
import rs09.game.world.World;
import rs09.game.world.GameWorld;
import org.rs09.consts.Items;
/**
@ -110,7 +110,7 @@ public final class InformationclerkMuseumDialogue extends DialoguePlugin {
stage = 153;
break;
case 180:
npc("Why, yes. The Natural History exhibit has displays of", "various creatures you can find around " + World.getSettings().getName() + ".");
npc("Why, yes. The Natural History exhibit has displays of", "various creatures you can find around " + GameWorld.getSettings().getName() + ".");
stage = 181;
break;
case 181:

View file

@ -3,7 +3,7 @@ package core.game.content.dialogue;
import core.game.node.entity.npc.NPC;
import core.game.node.entity.player.Player;
import core.game.system.task.Pulse;
import rs09.game.world.World;
import rs09.game.world.GameWorld;
import core.game.world.map.RegionManager;
import core.game.world.map.path.Path;
import core.game.world.map.path.Pathfinder;
@ -88,7 +88,7 @@ public final class KittenInteractDialogue extends DialoguePlugin {
final Path path = Pathfinder.find(player.getFamiliarManager().getFamiliar(), rat);
path.walk(player.getFamiliarManager().getFamiliar());
rat.sendChat("Eeek!");
World.getPulser().submit(new Pulse(5) {
GameWorld.getPulser().submit(new Pulse(5) {
@Override
public boolean pulse() {

View file

@ -4,7 +4,7 @@ import core.game.component.Component;
import core.game.node.entity.npc.NPC;
import core.game.node.entity.player.Player;
import core.game.system.task.Pulse;
import rs09.game.world.World;
import rs09.game.world.GameWorld;
import core.game.world.map.Location;
import core.net.packet.PacketRepository;
import core.net.packet.context.MinimapStateContext;
@ -109,7 +109,7 @@ public class LokarSearunnerDialogue extends DialoguePlugin {
*/
private void travel(final Player player, final Location location) {
player.lock();
World.getPulser().submit(new Pulse(1, player) {
GameWorld.getPulser().submit(new Pulse(1, player) {
int counter;
@Override

View file

@ -6,9 +6,9 @@ import core.game.node.entity.player.info.Rights;
import core.game.node.entity.player.link.IronmanMode;
import core.game.node.entity.player.link.diary.DiaryType;
import core.game.world.map.zone.impl.ModeratorZone;
import core.net.ms.MSPacketRepository;
import core.net.amsc.MSPacketRepository;
import core.plugin.Initializable;
import rs09.game.world.World;
import rs09.game.world.GameWorld;
import java.util.ArrayList;
import java.util.List;
@ -149,7 +149,7 @@ public final class LumbridgeGuideDialogue extends DialoguePlugin {
end();
break;
case 100:
npc("First I must warn you to take every precaution to", "keep your " + World.getSettings().getName() + " password and PIN secure. The", "most important thing to remember is to never give your", "password to, or share you account with, anyone.");
npc("First I must warn you to take every precaution to", "keep your " + GameWorld.getSettings().getName() + " password and PIN secure. The", "most important thing to remember is to never give your", "password to, or share you account with, anyone.");
stage = 101;
break;
case 101:

View file

@ -5,7 +5,7 @@ import core.game.node.item.Item;
import core.game.node.scenery.Scenery;
import core.game.node.scenery.SceneryBuilder;
import core.game.system.task.Pulse;
import rs09.game.world.World;
import rs09.game.world.GameWorld;
import core.game.world.update.flag.context.Animation;
import core.plugin.Initializable;
import core.game.world.update.flag.player.FaceLocationFlag;
@ -65,7 +65,7 @@ public final class MithrilSeedsDialogue extends DialoguePlugin {
player.lock(2);
player.faceLocation(FaceLocationFlag.getFaceLocation(player, flower));
player.animate(ANIMATION);
World.getPulser().submit(new Pulse(2, player, flower) {
GameWorld.getPulser().submit(new Pulse(2, player, flower) {
@Override
public boolean pulse() {
Item reward = new Item(2460 + ((flower.getId() - 2980) << 1));

View file

@ -8,7 +8,7 @@ import core.game.node.item.Item;
import core.game.node.scenery.Scenery;
import core.game.node.scenery.SceneryBuilder;
import core.game.system.task.Pulse;
import rs09.game.world.World;
import rs09.game.world.GameWorld;
import core.game.world.map.RegionManager;
import core.game.world.update.flag.context.Animation;
import core.game.world.update.flag.player.FaceLocationFlag;
@ -52,7 +52,7 @@ public final class MithrilSeedsPlugin extends OptionHandler {
@Override
public boolean handle(final Player player, Node node, String option) {
if (player.getAttribute("delay:plant", -1) > World.getTicks()) {
if (player.getAttribute("delay:plant", -1) > GameWorld.getTicks()) {
return true;
}
if (RegionManager.getObject(player.getLocation()) != null) {
@ -72,7 +72,7 @@ public final class MithrilSeedsPlugin extends OptionHandler {
return true;
}
});
player.setAttribute("delay:plant", World.getTicks() + 3);
player.setAttribute("delay:plant", GameWorld.getTicks() + 3);
player.getPacketDispatch().sendMessage("You open the small mithril case and drop a seed by your feet.");
return true;
}

View file

@ -2,7 +2,7 @@ package core.game.content.dialogue;
import core.game.node.entity.npc.NPC;
import core.game.node.entity.player.Player;
import rs09.game.world.World;
import rs09.game.world.GameWorld;
import core.plugin.Initializable;
import core.game.world.update.flag.context.Animation;
@ -88,7 +88,7 @@ public class PartyPeteDialoguePlugin extends DialoguePlugin {
stage = 51;
break;
case 51:
interpreter.sendDialogues(player, FacialExpression.HALF_GUILTY, "How do you have a party in " + World.getSettings().getName() + "?");
interpreter.sendDialogues(player, FacialExpression.HALF_GUILTY, "How do you have a party in " + GameWorld.getSettings().getName() + "?");
stage = 52;
break;
case 52:

View file

@ -6,7 +6,7 @@ import core.game.node.entity.player.link.quest.Quest;
import core.game.node.item.Item;
import core.game.system.task.Pulse;
import core.plugin.Initializable;
import rs09.game.world.World;
import rs09.game.world.GameWorld;
/**
* Represents the dialogue used to handle the Pricne Ali NPC.
@ -106,7 +106,7 @@ public class PrinceAliDialogue extends DialoguePlugin {
case 4:
// NPC 921 start dialogue.921
npc.transform(921);
World.getPulser().submit(new Pulse(50) {
GameWorld.getPulser().submit(new Pulse(50) {
@Override
public boolean pulse() {
npc.transform(920);
@ -122,7 +122,7 @@ public class PrinceAliDialogue extends DialoguePlugin {
break;
case 6:
npc.setInvisible(true);
World.getPulser().submit(new Pulse(20) {
GameWorld.getPulser().submit(new Pulse(20) {
@Override
public boolean pulse() {
npc.transform(920);

View file

@ -6,7 +6,7 @@ import core.game.node.entity.player.Player;
import core.game.node.entity.player.link.quest.Quest;
import core.game.node.item.Item;
import core.game.system.task.Pulse;
import rs09.game.world.World;
import rs09.game.world.GameWorld;
import core.game.world.map.Location;
import rs09.game.world.repository.Repository;
import core.game.world.update.flag.context.Animation;
@ -262,7 +262,7 @@ public class ProfessorOddensteinPlugin extends DialoguePlugin {
player.getPacketDispatch().sendMessage("and a can of oil to the professor.");
player.getPacketDispatch().sendMessage("Oddenstein starts up the machine.");
final NPC chicken = Repository.findNPC(288);
World.getPulser().submit(new Pulse(1, player) {
GameWorld.getPulser().submit(new Pulse(1, player) {
int counter = 0;
@Override

View file

@ -3,7 +3,7 @@ package core.game.content.dialogue;
import core.game.node.entity.npc.NPC;
import core.game.node.entity.player.Player;
import core.plugin.Initializable;
import rs09.game.world.World;
import rs09.game.world.GameWorld;
/**
* Represents the dialogue plugin for the new Researcher NPC that sells unobtainable items.
@ -51,7 +51,7 @@ public final class ResearcherDialogue extends DialoguePlugin {
stage = 1;
break;
case 1:
npc("I am indeed. I am a traveling researcher studying the", "lands of "+ World.getSettings().getName()+".");
npc("I am indeed. I am a traveling researcher studying the", "lands of "+GameWorld.getSettings().getName()+".");
stage = 2;
break;
case 2:

View file

@ -13,7 +13,7 @@ import core.game.node.entity.player.Player;
import core.game.node.item.Item;
import core.game.system.task.Pulse;
import kotlin.Unit;
import rs09.game.world.World;
import rs09.game.world.GameWorld;
import core.game.world.map.Location;
import core.game.world.update.flag.context.Animation;
import core.plugin.Plugin;
@ -283,7 +283,7 @@ public final class RugMerchantDialogue extends DialoguePlugin {
public void travel(final RugDestination current, final Player player) {
player.lock();
player.getConfigManager().set(499, 0);
player.getImpactHandler().setDisabledTicks(World.getTicks() + 200);
player.getImpactHandler().setDisabledTicks(GameWorld.getTicks() + 200);
player.getInterfaceManager().hideTabs(0,1,2,3,4,5,6,7,8,9,10,11,12,13);
player.getEquipment().replace(new Item(Items.MAGIC_CARPET_5614),EquipmentContainer.SLOT_WEAPON);
player.getPacketDispatch().sendInterfaceConfig(548,69,true);
@ -293,7 +293,7 @@ public final class RugMerchantDialogue extends DialoguePlugin {
return Unit.INSTANCE;
});
World.getPulser().submit(new Pulse(1, player) {
GameWorld.getPulser().submit(new Pulse(1, player) {
int count;
int index;
Location[] locs = getLocData();

View file

@ -4,7 +4,7 @@ import core.game.node.entity.npc.NPC;
import core.game.node.entity.player.Player;
import core.game.node.item.Item;
import core.game.system.task.Pulse;
import rs09.game.world.World;
import rs09.game.world.GameWorld;
import core.plugin.Initializable;
import core.game.world.map.Location;
@ -161,7 +161,7 @@ public final class ShantayDialogue extends DialoguePlugin {
player.getPacketDispatch().sendMessage("The guards arrest you and place you in the jail.");
close();
player.lock(10);
World.getPulser().submit(new Pulse(3, player) {
GameWorld.getPulser().submit(new Pulse(3, player) {
@Override
public boolean pulse() {
player.setAttribute("/save:shantay-jail", true);

View file

@ -6,7 +6,7 @@ import core.game.node.entity.npc.NPC;
import core.game.node.entity.player.Player;
import core.game.node.item.Item;
import core.game.system.task.Pulse;
import rs09.game.world.World;
import rs09.game.world.GameWorld;
import core.game.world.map.Location;
import core.game.world.map.path.Pathfinder;
import rs09.game.world.repository.Repository;
@ -122,7 +122,7 @@ public final class ShantayGuard extends DialoguePlugin {
final Location dest = player.getLocation().getY() < 3304 ? Location.create(3303, 3117, 0) : Location.create(3305, 3117, 0);
Pathfinder.find(player, dest).walk(player);
player.lock();
World.getPulser().submit(new Pulse(1, player) {
GameWorld.getPulser().submit(new Pulse(1, player) {
@Override
public boolean pulse() {
if (player.getLocation().equals(dest)) {

View file

@ -4,7 +4,7 @@ import core.game.node.entity.npc.NPC;
import core.game.node.entity.player.Player;
import core.game.node.item.Item;
import core.game.system.task.Pulse;
import rs09.game.world.World;
import rs09.game.world.GameWorld;
import core.plugin.Initializable;
import core.game.world.map.RegionManager;
@ -193,7 +193,7 @@ public class SilkMerchantPlugin extends DialoguePlugin {
break;
}
}
World.getPulser().submit(new Pulse(1) {
GameWorld.getPulser().submit(new Pulse(1) {
int count = 0;
@Override

View file

@ -3,7 +3,7 @@ package core.game.content.dialogue;
import core.game.node.entity.npc.NPC;
import core.game.node.entity.player.Player;
import core.game.system.task.Pulse;
import rs09.game.world.World;
import rs09.game.world.GameWorld;
import core.plugin.Initializable;
import core.game.world.map.Location;
@ -132,7 +132,7 @@ public class SorcceresDialouge extends DialoguePlugin {
public void tele() {
npc.sendChat("Be gone intruder!");
player.lock();
World.getPulser().submit(new Pulse(2, player) {
GameWorld.getPulser().submit(new Pulse(2, player) {
@Override
public boolean pulse() {
player.unlock();

View file

@ -4,7 +4,7 @@ import core.game.node.entity.npc.NPC;
import core.game.node.entity.player.Player;
import core.game.node.entity.player.link.diary.DiaryType;
import core.game.system.task.Pulse;
import rs09.game.world.World;
import rs09.game.world.GameWorld;
import core.game.world.update.flag.context.Animation;
import core.plugin.Initializable;
import core.tools.RandomFunction;
@ -41,7 +41,7 @@ public final class TownCrierDialogue extends DialoguePlugin {
@Override
public boolean open(Object... args) {
npc = (NPC) args[0];
npc("Hear ye! Hear ye! Player Moderators massive help to ", World.getSettings().getName().substring(0, World.getSettings().getName().length() - 3) + "-");
npc("Hear ye! Hear ye! Player Moderators massive help to ", GameWorld.getSettings().getName().substring(0, GameWorld.getSettings().getName().length() - 3) + "-");
stage = 1;
return true;
}
@ -55,7 +55,7 @@ public final class TownCrierDialogue extends DialoguePlugin {
stage = 2;
break;
case 2:
options("Tell me about Player Moderators.", "Tell me about the Rules of " + World.getSettings().getName() + ".", "Can you give me a handy tip please?", "Bye!");
options("Tell me about Player Moderators.", "Tell me about the Rules of " + GameWorld.getSettings().getName() + ".", "Can you give me a handy tip please?", "Bye!");
stage = 3;
break;
case 3:
@ -65,7 +65,7 @@ public final class TownCrierDialogue extends DialoguePlugin {
stage = 50;
break;
case 2:
player("Tell me about the Rules of " + World.getSettings().getName() + ".");
player("Tell me about the Rules of " + GameWorld.getSettings().getName() + ".");
stage = 70;
break;
case 3:
@ -118,7 +118,7 @@ public final class TownCrierDialogue extends DialoguePlugin {
player.lock(4);
npc("At once. Take a look at my book here.");
npc.animate(new Animation(6866));
World.getPulser().submit(new Pulse(4) {
GameWorld.getPulser().submit(new Pulse(4) {
@Override
public boolean pulse() {
//player.getDialogueInterpreter().open(496107759); // TODO rulebook broken
@ -155,7 +155,7 @@ public final class TownCrierDialogue extends DialoguePlugin {
stage = 2;
break;
default:
npc("" + World.getSettings().getName() + " will never email you asking for your log-in details.");
npc("" + GameWorld.getSettings().getName() + " will never email you asking for your log-in details.");
stage = 2;
break;
}
@ -181,15 +181,15 @@ public final class TownCrierDialogue extends DialoguePlugin {
stage = 51;
break;
case 160:
npc("Player Moderators, or 'P-mods', have the ability to mute", "rule breakers and " + World.getSettings().getName() + " view their reports as a priority so", "that reward is taken as quickly as possible. P-Mods also", "have acces to the Player Moderator Centre. Within the");
npc("Player Moderators, or 'P-mods', have the ability to mute", "rule breakers and " + GameWorld.getSettings().getName() + " view their reports as a priority so", "that reward is taken as quickly as possible. P-Mods also", "have acces to the Player Moderator Centre. Within the");
stage = 161;
break;
case 161:
npc("Centre are tools to help them Moderate " + World.getSettings().getName() + ".", "These tools include dedicated forums, the Player", "Moderator Guidelines and the Player Moderator Code of", "Conduct.");
npc("Centre are tools to help them Moderate " + GameWorld.getSettings().getName() + ".", "These tools include dedicated forums, the Player", "Moderator Guidelines and the Player Moderator Code of", "Conduct.");
stage = 153;
break;
case 170:
npc("" + World.getSettings().getName() + " picks players who spend their time and effort to", "help better the " + World.getSettings().getName() + " community. To increase your", "chances of becoming a Player Moderator:");
npc("" + GameWorld.getSettings().getName() + " picks players who spend their time and effort to", "help better the " + GameWorld.getSettings().getName() + " community. To increase your", "chances of becoming a Player Moderator:");
stage = 171;
break;
case 171:
@ -197,11 +197,11 @@ public final class TownCrierDialogue extends DialoguePlugin {
stage = 173;
break;
case 173:
npc("Play by the rules! The rules of " + World.getSettings().getName() + " are enforced", "for a reason, to make the game a fair and enjoyable", "environment for all.");
npc("Play by the rules! The rules of " + GameWorld.getSettings().getName() + " are enforced", "for a reason, to make the game a fair and enjoyable", "environment for all.");
stage = 174;
break;
case 174:
npc("Report accuratley! When " + World.getSettings().getName() + " consider an account for", "review they look for quality, not quantity. Ensure your", "reports are of a high quality by following the report", "guidelines.");
npc("Report accuratley! When " + GameWorld.getSettings().getName() + " consider an account for", "review they look for quality, not quantity. Ensure your", "reports are of a high quality by following the report", "guidelines.");
stage = 175;
break;
case 175:
@ -209,15 +209,15 @@ public final class TownCrierDialogue extends DialoguePlugin {
stage = 153;
break;
case 180:
npc("P-Mods cannot ban your account - they can only report", "offences. " + World.getSettings().getName() + " then take reward based on the evidence", "received. If you lose your password or get scamme dby", "another player, P_Mods cannot help you get your account");
npc("P-Mods cannot ban your account - they can only report", "offences. " + GameWorld.getSettings().getName() + " then take reward based on the evidence", "received. If you lose your password or get scamme dby", "another player, P_Mods cannot help you get your account");
stage = 181;
break;
case 181:
npc("back. All they can do is recommend you to go to Player", "Support. They cannot retrieve any items you may have", "lost and they certainly do not recieve any free items", "from " + World.getSettings().getName() + " for moderating the game. They are players");
npc("back. All they can do is recommend you to go to Player", "Support. They cannot retrieve any items you may have", "lost and they certainly do not recieve any free items", "from " + GameWorld.getSettings().getName() + " for moderating the game. They are players");
stage = 182;
break;
case 182:
npc("who give their all to help the community, out of the", "goodness of their hearts! P-mods do not work for " + World.getSettings().getName() + "", "and so cannot make you a Moderator, or recommend", "other accounts to become Moderators. If you wish yo");
npc("who give their all to help the community, out of the", "goodness of their hearts! P-mods do not work for " + GameWorld.getSettings().getName() + "", "and so cannot make you a Moderator, or recommend", "other accounts to become Moderators. If you wish yo");
stage = 183;
break;
case 183:

View file

@ -7,7 +7,7 @@ import core.game.node.item.Item;
import core.game.node.scenery.Scenery;
import core.game.node.scenery.SceneryBuilder;
import core.game.system.task.Pulse;
import rs09.game.world.World;
import rs09.game.world.GameWorld;
import core.game.world.map.Location;
import core.game.world.update.flag.context.Animation;
@ -215,7 +215,7 @@ public class TraibornDialogue extends DialoguePlugin {
interpreter.sendItemMessage(DemonSlayer.THIRD_KEY.getId(), "Traiborn hands you a key.");
stage = 387;
}
World.getPulser().submit(new Pulse(1) {
GameWorld.getPulser().submit(new Pulse(1) {
int counter = 0;
@Override

View file

@ -4,7 +4,7 @@ import core.game.component.Component;
import core.game.content.dialogue.DialoguePlugin;
import core.game.node.entity.player.Player;
import core.plugin.Initializable;
import rs09.game.world.World;
import rs09.game.world.GameWorld;
/**
* Represents the strong hold of security book.
@ -27,13 +27,13 @@ public final class SecurityBookPlugin extends Book {
/**
* Represents the array of pages for this book.
*/
private static final PageSet[] PAGES = new PageSet[] { new PageSet(new Page(new BookLine("Chapters", 102), new BookLine("<h1>" + BLUE + "Password Tips</col></h1>", 74), new BookLine("<h1>" + BLUE + "Recovery Questions</col></h1>", 75), new BookLine("<h1>" + BLUE + "Password Tips</col></h1>", 74), new BookLine("<h1>" + BLUE + "Recovery Questions</col></h1>", 75), new BookLine("<h1>" + BLUE + "Other Security Tips</col></h1>", 76), new BookLine("<h1>" + BLUE + "Stringhold of Security</col></h1>", 77)), new Page(new BookLine("<h1>" + BLUE + "Password Tips</col></h1>", 87), new BookLine("A good password should be", 88), new BookLine("easily remembered by", 89), new BookLine("yourself but not easily", 90), new BookLine("guessed by anyone else.", 91), new BookLine("Choose a password that has", 93), new BookLine("both letters and numbers in", 94), new BookLine("it for the best security but", 95), new BookLine("don't make it so hard that", 96), new BookLine("you'll forget it!", 97), new BookLine("Never write your password", 99), new BookLine("down or leave it in a text file", 100), new BookLine("on your computer, someone", 101))), new PageSet(new Page(new BookLine("could find it easily!", 102), new BookLine("Never tell anyone your", 74), new BookLine("password in " + World.getSettings().getName() + ", not", 75), new BookLine("even a Moderator of any", 76), new BookLine("kind.", 77)), new Page(new BookLine("<h1>" + BLUE + "Recovery Questions</col></h1>", 87), new BookLine("Ideally your recovery", 88), new BookLine("questions should be easily", 89), new BookLine("remembered by you but not", 90), new BookLine("guessable by anyone who", 91), new BookLine("may know you or given", 92), new BookLine("away in conversation. Choose", 93), new BookLine("things that do not change,", 94), new BookLine("like dates or names but don't", 95), new BookLine("choose obvious ones like your", 96), new BookLine("birthday and your sister or", 97), new BookLine("bother's name because lots", 98), new BookLine("of people will know that.", 99))), new PageSet(new Page(new BookLine("<h1>" + BLUE + "Recovery Questions</col></h1>", 102), new BookLine("Bear in mind that recovery", 73), new BookLine("questions will take 14 days to", 74), new BookLine("become active after you have", 75), new BookLine("applied for them to be", 76), new BookLine("changed. This is to protect", 77), new BookLine("your account from hijackers", 78), new BookLine("who may change them.", 79), new BookLine("Never give your password to", 81), new BookLine("ANYONE. This includes", 82), new BookLine("your friends, family, and", 83), new BookLine("moderators in game.", 84), new BookLine("Never leave your account", 86)), new Page(new BookLine("logged on if you are away", 87), new BookLine("from the computer, it only", 88), new BookLine("takes 5 seconds to steal your", 89), new BookLine("account!", 90))), new PageSet(new Page(new BookLine("<h1>" + BLUE + "Stronghold of Security</col></h1>", 102), new BookLine("Location: The Stronghold of", 73), new BookLine("Security, as we call it, is", 74), new BookLine("located under the village filled", 75), new BookLine("with Barbarians. It was", 76), new BookLine("found after they moved their", 77), new BookLine("mining operations and a", 78), new BookLine("miner fell through. The", 79), new BookLine("Stronghold contains many", 80), new BookLine("challenges. Both for those", 81), new BookLine("who enjoy combat and those", 82), new BookLine("who enjoy challenges of the", 83), new BookLine("mind. This book will be very", 84), new BookLine("useful to you in your travels", 85), new BookLine("there.", 86)), new Page(new BookLine("You can find the Stronghold", 87), new BookLine("of Security by looking for a", 88), new BookLine("hole in Barbarian Village.", 89), new BookLine("Be sure to take your combat", 90), new BookLine("equipment though!", 91))) };
private static final PageSet[] PAGES = new PageSet[] { new PageSet(new Page(new BookLine("Chapters", 102), new BookLine("<h1>" + BLUE + "Password Tips</col></h1>", 74), new BookLine("<h1>" + BLUE + "Recovery Questions</col></h1>", 75), new BookLine("<h1>" + BLUE + "Password Tips</col></h1>", 74), new BookLine("<h1>" + BLUE + "Recovery Questions</col></h1>", 75), new BookLine("<h1>" + BLUE + "Other Security Tips</col></h1>", 76), new BookLine("<h1>" + BLUE + "Stringhold of Security</col></h1>", 77)), new Page(new BookLine("<h1>" + BLUE + "Password Tips</col></h1>", 87), new BookLine("A good password should be", 88), new BookLine("easily remembered by", 89), new BookLine("yourself but not easily", 90), new BookLine("guessed by anyone else.", 91), new BookLine("Choose a password that has", 93), new BookLine("both letters and numbers in", 94), new BookLine("it for the best security but", 95), new BookLine("don't make it so hard that", 96), new BookLine("you'll forget it!", 97), new BookLine("Never write your password", 99), new BookLine("down or leave it in a text file", 100), new BookLine("on your computer, someone", 101))), new PageSet(new Page(new BookLine("could find it easily!", 102), new BookLine("Never tell anyone your", 74), new BookLine("password in " + GameWorld.getSettings().getName() + ", not", 75), new BookLine("even a Moderator of any", 76), new BookLine("kind.", 77)), new Page(new BookLine("<h1>" + BLUE + "Recovery Questions</col></h1>", 87), new BookLine("Ideally your recovery", 88), new BookLine("questions should be easily", 89), new BookLine("remembered by you but not", 90), new BookLine("guessable by anyone who", 91), new BookLine("may know you or given", 92), new BookLine("away in conversation. Choose", 93), new BookLine("things that do not change,", 94), new BookLine("like dates or names but don't", 95), new BookLine("choose obvious ones like your", 96), new BookLine("birthday and your sister or", 97), new BookLine("bother's name because lots", 98), new BookLine("of people will know that.", 99))), new PageSet(new Page(new BookLine("<h1>" + BLUE + "Recovery Questions</col></h1>", 102), new BookLine("Bear in mind that recovery", 73), new BookLine("questions will take 14 days to", 74), new BookLine("become active after you have", 75), new BookLine("applied for them to be", 76), new BookLine("changed. This is to protect", 77), new BookLine("your account from hijackers", 78), new BookLine("who may change them.", 79), new BookLine("Never give your password to", 81), new BookLine("ANYONE. This includes", 82), new BookLine("your friends, family, and", 83), new BookLine("moderators in game.", 84), new BookLine("Never leave your account", 86)), new Page(new BookLine("logged on if you are away", 87), new BookLine("from the computer, it only", 88), new BookLine("takes 5 seconds to steal your", 89), new BookLine("account!", 90))), new PageSet(new Page(new BookLine("<h1>" + BLUE + "Stronghold of Security</col></h1>", 102), new BookLine("Location: The Stronghold of", 73), new BookLine("Security, as we call it, is", 74), new BookLine("located under the village filled", 75), new BookLine("with Barbarians. It was", 76), new BookLine("found after they moved their", 77), new BookLine("mining operations and a", 78), new BookLine("miner fell through. The", 79), new BookLine("Stronghold contains many", 80), new BookLine("challenges. Both for those", 81), new BookLine("who enjoy combat and those", 82), new BookLine("who enjoy challenges of the", 83), new BookLine("mind. This book will be very", 84), new BookLine("useful to you in your travels", 85), new BookLine("there.", 86)), new Page(new BookLine("You can find the Stronghold", 87), new BookLine("of Security by looking for a", 88), new BookLine("hole in Barbarian Village.", 89), new BookLine("Be sure to take your combat", 90), new BookLine("equipment though!", 91))) };
/**
* Constructs a new {@code ShieldofArravBook} {@code Object}.
*/
public SecurityBookPlugin(final Player player) {
super(player, "" + World.getSettings().getName() + " Account Security", 9003, PAGES);
super(player, "" + GameWorld.getSettings().getName() + " Account Security", 9003, PAGES);
}
/**

View file

@ -4,7 +4,7 @@ import core.game.node.entity.player.Player;
import core.game.node.entity.player.link.diary.DiaryType;
import core.game.node.item.Item;
import core.game.system.task.Pulse;
import rs09.game.world.World;
import rs09.game.world.GameWorld;
import core.game.world.map.Location;
import core.game.world.update.flag.context.Animation;
import core.game.world.update.flag.context.Graphics;
@ -164,7 +164,7 @@ public enum EnchantedJewellery {
player.visualize(ANIMATION, GRAPHICS);
player.getAudioManager().send(200);
player.getImpactHandler().setDisabledTicks(4);
World.getPulser().submit(new Pulse(4, player) {
GameWorld.getPulser().submit(new Pulse(4, player) {
@Override
public boolean pulse() {
player.unlock();

View file

@ -7,7 +7,7 @@ import core.game.node.item.GroundItemManager;
import core.game.node.item.Item;
import core.game.node.scenery.Scenery;
import core.game.system.task.Pulse;
import rs09.game.world.World;
import rs09.game.world.GameWorld;
import core.game.world.map.Location;
import core.game.world.update.flag.context.Animation;
import core.tools.StringUtils;
@ -77,7 +77,7 @@ public enum GodType {
public void handle(final Player player, int buttonId) {
player.lock();
player.animate(Animation.create(645));
World.getPulser().submit(new Pulse(3, player) {
GameWorld.getPulser().submit(new Pulse(3, player) {
@Override
public boolean pulse() {
Location loc = statue.getLocation().transform(0, -1, 0);

View file

@ -7,7 +7,7 @@ import core.game.content.dialogue.DialoguePlugin;
import core.game.node.entity.player.Player;
import core.game.node.scenery.Scenery;
import core.game.system.task.Pulse;
import rs09.game.world.World;
import rs09.game.world.GameWorld;
import core.game.world.map.Direction;
import core.game.world.map.Location;
import core.game.world.map.RegionManager;
@ -191,7 +191,7 @@ public final class ClimbActionHandler {
public static void climb(final Player player, Animation animation, final Location destination, final String... messages) {
player.lock(2);
player.animate(animation);
World.getPulser().submit(new Pulse(1) {
GameWorld.getPulser().submit(new Pulse(1) {
@Override
public boolean pulse() {
player.getProperties().setTeleportLocation(destination);
@ -359,7 +359,7 @@ public final class ClimbActionHandler {
switch (buttonId) {
case 1:
player.lock(1);
World.getPulser().submit(new Pulse(1) {
GameWorld.getPulser().submit(new Pulse(1) {
@Override
public boolean pulse() {
climbLadder(player, object, "climb-up");
@ -370,7 +370,7 @@ public final class ClimbActionHandler {
break;
case 2:
player.lock(1);
World.getPulser().submit(new Pulse(1) {
GameWorld.getPulser().submit(new Pulse(1) {
@Override
public boolean pulse() {
climbLadder(player, object, "climb-down");

View file

@ -4,7 +4,7 @@ import core.game.node.entity.player.Player;
import rs09.game.interaction.SpadeDigListener;
import rs09.game.system.SystemLogger;
import core.game.system.task.Pulse;
import rs09.game.world.World;
import rs09.game.world.GameWorld;
import core.game.world.map.Location;
import core.game.world.update.flag.context.Animation;
@ -42,7 +42,7 @@ public final class DigSpadeHandler {
}
if (action != null) {
World.getPulser().submit(new Pulse(1, player) {
GameWorld.getPulser().submit(new Pulse(1, player) {
@Override
public boolean pulse() {
action.run(player);

View file

@ -15,7 +15,7 @@ import core.game.world.map.Location;
import core.game.world.map.RegionManager;
import core.game.world.map.path.Pathfinder;
import rs09.game.system.config.DoorConfigLoader;
import rs09.game.world.World;
import rs09.game.world.GameWorld;
import java.awt.*;
@ -105,7 +105,7 @@ public final class DoorActionHandler {
if (entity instanceof Player) {
((Player) entity).getAudioManager().send(new Audio(3419));
}
World.getPulser().submit(new Pulse(1) {
GameWorld.getPulser().submit(new Pulse(1) {
boolean opened = false;
@Override
@ -378,7 +378,7 @@ public final class DoorActionHandler {
entity.addExtension(LogoutTask.class, new LocationLogoutTask(4, loc));
object.setCharge(IN_USE_CHARGE);
second.setCharge(IN_USE_CHARGE);
World.getPulser().submit(new Pulse(1) {
GameWorld.getPulser().submit(new Pulse(1) {
boolean opened = false;
@Override

View file

@ -8,7 +8,7 @@ import core.game.node.item.GroundItemManager;
import core.game.node.item.Item;
import rs09.game.system.SystemLogger;
import rs09.game.system.config.ItemConfigParser;
import rs09.game.world.World;
import rs09.game.world.GameWorld;
/**
* Handles the dropping of an item.
@ -42,7 +42,7 @@ public final class DropItemHandler {
player.getDialogueInterpreter().open(9878, item);
return true;
}
if (player.getAttribute("equipLock:" + item.getId(), 0) > World.getTicks()) {
if (player.getAttribute("equipLock:" + item.getId(), 0) > GameWorld.getTicks()) {
SystemLogger.logAlert(player + ", tried to do the drop & equip dupe.");
return true;
}
@ -52,7 +52,7 @@ public final class DropItemHandler {
GroundItemManager.create(item, player.getLocation(), player);
PlayerParser.save(player);
}
player.setAttribute("droppedItem:" + item.getId(), World.getTicks() + 2);
player.setAttribute("droppedItem:" + item.getId(), GameWorld.getTicks() + 2);
return true;
}
return false;

View file

@ -1,7 +1,7 @@
package core.game.content.global.shop
import rs09.game.world.World.ticks
import api.*
import api.amountInInventory
import rs09.game.world.GameWorld.ticks
import rs09.game.system.SystemLogger.logInfo
import core.game.node.entity.player.link.diary.DiaryType
import core.cache.def.impl.ItemDefinition

View file

@ -5,7 +5,7 @@ import core.game.node.entity.player.Player;
import core.game.node.entity.player.link.diary.DiaryType;
import core.game.node.item.Item;
import core.game.system.task.Pulse;
import rs09.game.world.World;
import rs09.game.world.GameWorld;
import core.game.world.map.Location;
import rs09.game.world.repository.Repository;
import core.net.packet.PacketRepository;
@ -300,7 +300,7 @@ public final class ShipCharter {
public void sail(final Player player) {
player.lock(7);
Location start = player.getLocation();
World.getPulser().submit(new Pulse(1) {
GameWorld.getPulser().submit(new Pulse(1) {
int count = 0;
@Override

View file

@ -4,7 +4,7 @@ import core.cache.def.impl.SceneryDefinition;
import core.game.interaction.OptionHandler;
import core.game.node.Node;
import core.game.node.entity.player.Player;
import rs09.game.world.World;
import rs09.game.world.GameWorld;
import core.plugin.Plugin;
public class ScoreboardHandler extends OptionHandler {
@ -13,7 +13,7 @@ public class ScoreboardHandler extends OptionHandler {
@Override
public boolean handle(Player player, Node node, String option) {
ScoreboardManager.getEntries().forEach(e -> {
player.getPacketDispatch().sendString("" + Math.floor(((World.getTicks() - e.time) / 0.6) / 60) + " minutes ago",ifaceid,index + 6);
player.getPacketDispatch().sendString("" + Math.floor(((GameWorld.getTicks() - e.time) / 0.6) / 60) + " minutes ago",ifaceid,index + 6);
player.getPacketDispatch().sendString(e.playerName,ifaceid,index + 11);
index++;
});

View file

@ -1,7 +1,8 @@
package core.game.content.global.worldevents.shootingstar;
import core.game.node.entity.player.Player;
import rs09.game.world.World;
import rs09.game.system.SystemLogger;
import rs09.game.world.GameWorld;
import java.util.ArrayList;
import java.util.List;
@ -13,7 +14,7 @@ public class ScoreboardManager {
if(entries.size() == 5){
entries.remove(0);
}
entries.add(new ScoreboardEntry(player.getUsername(), World.getTicks()));
entries.add(new ScoreboardEntry(player.getUsername(), GameWorld.getTicks()));
}
public static List<ScoreboardEntry> getEntries(){

Some files were not shown because too many files have changed in this diff Show more