From c1202e89892c985c3c707bf853767ae2a3a2f053 Mon Sep 17 00:00:00 2001 From: Danial Date: Sun, 31 Oct 2021 14:53:31 +1300 Subject: [PATCH] Couple of fixups (#513) * Show preference state * Fixup multiple of the same item on the ground. * Fixup combat * Fixup yell, decrease delay * Tidy up yell * use jdk8 (cherry picked from commit 1fe76d739ea4b7e3e2e60601f9dfe72c7ad9303e) --- .../.settings/org.eclipse.jdt.core.prefs | 11 +++++++--- .../game/content/combat/CombatAssistant.java | 2 +- .../com/rs2/net/packets/impl/Commands.java | 21 ++++++++++++------- .../main/java/com/rs2/world/ItemHandler.java | 17 ++++++++------- 4 files changed, 32 insertions(+), 19 deletions(-) diff --git a/2006Scape Client/.settings/org.eclipse.jdt.core.prefs b/2006Scape Client/.settings/org.eclipse.jdt.core.prefs index 8000cd6c..ea7a397f 100644 --- a/2006Scape Client/.settings/org.eclipse.jdt.core.prefs +++ b/2006Scape Client/.settings/org.eclipse.jdt.core.prefs @@ -1,11 +1,16 @@ eclipse.preferences.version=1 org.eclipse.jdt.core.compiler.codegen.inlineJsrBytecode=enabled -org.eclipse.jdt.core.compiler.codegen.targetPlatform=1.6 +org.eclipse.jdt.core.compiler.codegen.targetPlatform=1.8 org.eclipse.jdt.core.compiler.codegen.unusedLocal=preserve -org.eclipse.jdt.core.compiler.compliance=1.6 +org.eclipse.jdt.core.compiler.compliance=1.8 org.eclipse.jdt.core.compiler.debug.lineNumber=generate org.eclipse.jdt.core.compiler.debug.localVariable=generate org.eclipse.jdt.core.compiler.debug.sourceFile=generate org.eclipse.jdt.core.compiler.problem.assertIdentifier=error +org.eclipse.jdt.core.compiler.problem.enablePreviewFeatures=disabled org.eclipse.jdt.core.compiler.problem.enumIdentifier=error -org.eclipse.jdt.core.compiler.source=1.6 +org.eclipse.jdt.core.compiler.problem.forbiddenReference=warning +org.eclipse.jdt.core.compiler.problem.reportPreviewFeatures=ignore +org.eclipse.jdt.core.compiler.processAnnotations=disabled +org.eclipse.jdt.core.compiler.release=disabled +org.eclipse.jdt.core.compiler.source=1.8 diff --git a/2006Scape Server/src/main/java/com/rs2/game/content/combat/CombatAssistant.java b/2006Scape Server/src/main/java/com/rs2/game/content/combat/CombatAssistant.java index 0124d8ef..90fe1399 100644 --- a/2006Scape Server/src/main/java/com/rs2/game/content/combat/CombatAssistant.java +++ b/2006Scape Server/src/main/java/com/rs2/game/content/combat/CombatAssistant.java @@ -1806,7 +1806,7 @@ public class CombatAssistant { } public boolean checkMagicReqs(int spell) { - return MagicRequirements.checkMagicReqs(player, spell); + return MagicRequirements.checkMagicReqs(player, spell, player.usingMagic); } public int calculateRangeDefence() { diff --git a/2006Scape Server/src/main/java/com/rs2/net/packets/impl/Commands.java b/2006Scape Server/src/main/java/com/rs2/net/packets/impl/Commands.java index e8253136..365a973a 100644 --- a/2006Scape Server/src/main/java/com/rs2/net/packets/impl/Commands.java +++ b/2006Scape Server/src/main/java/com/rs2/net/packets/impl/Commands.java @@ -45,16 +45,18 @@ public class Commands implements PacketType { public static void playerCommands(Player player, String playerCommand, String[] arguments) { switch (playerCommand.toLowerCase()) { + case "toggleyell": + case "tglyell": case "hideyell": player.hideYell = !player.hideYell; - player.getPacketSender().sendMessage("Your yell visibility preferences have been updated."); + player.getPacketSender().sendMessage("Your yell visibility preferences have been updated: " + (player.hideYell ? "hidden" : "visible")); break; case "yell": int delay = 0; if (player.playerRights <= 1) { - delay = 30000; + delay = 10000; } - if (!AntiSpam.blockedWords(player, arguments[0].substring(5), true)) { + if (!AntiSpam.blockedWords(player, String.join(" ", arguments), true)) { return; } if (Connection.isMuted(player)) { @@ -69,17 +71,20 @@ public class Commands implements PacketType { if (PlayerHandler.players[j] != null) { Client c2 = (Client) PlayerHandler.players[j]; if (c2.hideYell) { - return; + continue; } + String msg = ""; if (player.playerRights == 0) { - c2.getPacketSender().sendMessage("[Player]" + Misc.optimizeText(player.playerName) + ": " + Misc.optimizeText(String.join(" ", arguments)) + ""); + msg = "@bla@[Player] "; } else if (player.playerRights == 1) { - c2.getPacketSender().sendMessage("@blu@[Moderator] @bla@" + Misc.optimizeText(player.playerName) + ": " + Misc.optimizeText(String.join(" ", arguments)) + ""); + msg = "@blu@[Moderator] "; } else if (player.playerRights == 2) { - c2.getPacketSender().sendMessage("@gre@[Administator] @bla@" + Misc.optimizeText(player.playerName) + ": " + Misc.optimizeText(String.join(" ", arguments)) + ""); + msg = "@gre@[Administator] "; } else if (player.playerRights == 3) { - c2.getPacketSender().sendMessage("@red@[Developer] @bla@" + Misc.optimizeText(player.playerName) + ": " + Misc.optimizeText(String.join(" ", arguments)) + ""); + msg = "@red@[Developer] "; } + msg += "@bla@" + Misc.optimizeText(player.playerName) + ": @blu@" + Misc.optimizeText(String.join(" ", arguments)); + c2.getPacketSender().sendMessage(msg); player.lastYell = System.currentTimeMillis(); } } diff --git a/2006Scape Server/src/main/java/com/rs2/world/ItemHandler.java b/2006Scape Server/src/main/java/com/rs2/world/ItemHandler.java index 0270898f..c110fa1f 100644 --- a/2006Scape Server/src/main/java/com/rs2/world/ItemHandler.java +++ b/2006Scape Server/src/main/java/com/rs2/world/ItemHandler.java @@ -102,23 +102,26 @@ public class ItemHandler { **/ public void reloadItems(Player c) { for (GroundItem i : items) { - if (c != null) { + if (c != null && i != null) { + if (c.getH() == i.getItemH() && c.distanceToPoint(i.getItemX(), i.getItemY()) <= 120) { + c.getPacketSender().removeGroundItem( + i.getItemId(), i.getItemX(), i.getItemY(), + i.getItemAmount()); + } + } + } + for (GroundItem i : items) { + if (c != null && i != null) { // If it's a players item or tradeable if (c.getItemAssistant().tradeable(i.getItemId()) || i.getName().equalsIgnoreCase(c.playerName)) { // Make sure item on the same height and within 60 blocks if (c.getH() == i.getItemH() && c.distanceToPoint(i.getItemX(), i.getItemY()) <= 60) { if (i.hideTicks > 0 && i.getName().equalsIgnoreCase(c.playerName)) { - c.getPacketSender().removeGroundItem( - i.getItemId(), i.getItemX(), i.getItemY(), - i.getItemAmount()); c.getPacketSender().createGroundItem( i.getItemId(), i.getItemX(), i.getItemY(), i.getItemAmount()); } if (i.hideTicks == 0) { - c.getPacketSender().removeGroundItem( - i.getItemId(), i.getItemX(), i.getItemY(), - i.getItemAmount()); c.getPacketSender().createGroundItem( i.getItemId(), i.getItemX(), i.getItemY(), i.getItemAmount());