From cfc2d1708342c0d12676cae7b88aea4f8454399c Mon Sep 17 00:00:00 2001 From: ceikry Date: Mon, 5 Jul 2021 17:05:22 -0500 Subject: [PATCH] Award ranged XP when damage is calculated instead of when it's applied --- .../main/java/core/game/node/entity/combat/ImpactHandler.java | 4 +++- .../game/node/entity/combat/handlers/RangeSwingHandler.kt | 1 + 2 files changed, 4 insertions(+), 1 deletion(-) diff --git a/Server/src/main/java/core/game/node/entity/combat/ImpactHandler.java b/Server/src/main/java/core/game/node/entity/combat/ImpactHandler.java index 843f31d78..1ad6d326b 100644 --- a/Server/src/main/java/core/game/node/entity/combat/ImpactHandler.java +++ b/Server/src/main/java/core/game/node/entity/combat/ImpactHandler.java @@ -171,7 +171,9 @@ public final class ImpactHandler { if (fam && player.getFamiliarManager().hasFamiliar() && !(player.getFamiliarManager().getFamiliar() instanceof Pet)) { source.setAttribute("fam-exp", true); } - style.getSwingHandler().addExperience(source, entity, state); + if(style != CombatStyle.RANGE) { + style.getSwingHandler().addExperience(source, entity, state); + } source.removeAttribute("fam-exp"); } boolean dead = false; diff --git a/Server/src/main/kotlin/rs09/game/node/entity/combat/handlers/RangeSwingHandler.kt b/Server/src/main/kotlin/rs09/game/node/entity/combat/handlers/RangeSwingHandler.kt index 59e85f6fc..5382702b1 100644 --- a/Server/src/main/kotlin/rs09/game/node/entity/combat/handlers/RangeSwingHandler.kt +++ b/Server/src/main/kotlin/rs09/game/node/entity/combat/handlers/RangeSwingHandler.kt @@ -94,6 +94,7 @@ open class RangeSwingHandler return -1 } useAmmo(entity, state, victim.location) + addExperience(entity, victim, state) return 1 + ceil(entity.location.getDistance(victim.location) * 0.3).toInt() }