From d24cdf0b38f4abfc386eb9addbe1402ed50dd881 Mon Sep 17 00:00:00 2001 From: ceikry Date: Thu, 1 Jul 2021 20:34:49 -0500 Subject: [PATCH] Fixed droptable bug with npcs in the wilderness --- .../core/game/world/map/zone/impl/WildernessZone.java | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/Server/src/main/java/core/game/world/map/zone/impl/WildernessZone.java b/Server/src/main/java/core/game/world/map/zone/impl/WildernessZone.java index 507ef5cad..36973173d 100644 --- a/Server/src/main/java/core/game/world/map/zone/impl/WildernessZone.java +++ b/Server/src/main/java/core/game/world/map/zone/impl/WildernessZone.java @@ -172,10 +172,6 @@ public final class WildernessZone extends MapZone { GroundItemManager.create(reward, e.asNpc().getDropLocation(), killer.asPlayer()); Repository.sendNews(killer.getUsername() + " has received " + reward.getName().toLowerCase() + " from a " + e.asNpc().getName() + "!"); } - e.asNpc().getDefinition().getDropTables().drop(e.asNpc(), killer); - if (((NPC) e).getTask() != null && ((Player) killer).getSlayer().getTask() == e.asNpc().getTask()) { - ((Player) killer).getSlayer().finalizeDeath(killer.asPlayer(), e.asNpc()); - } int combatLevel = e.asNpc().getDefinition().getCombatLevel(); int dropRate = getNewDropRate(combatLevel); @@ -196,6 +192,10 @@ public final class WildernessZone extends MapZone { } if (e instanceof NPC) { + e.asNpc().getDefinition().getDropTables().drop(e.asNpc(), killer); + if (((NPC) e).getTask() != null && ((Player) killer).getSlayer().getTask() == e.asNpc().getTask()) { + ((Player) killer).getSlayer().finalizeDeath(killer.asPlayer(), e.asNpc()); + } e.asNpc().setRespawnTick(GameWorld.getTicks() + e.asNpc().getDefinition().getConfiguration(NPCConfigParser.RESPAWN_DELAY, 17)); if (!e.asNpc().isRespawn()) { e.asNpc().clear();