diff --git a/sku.0/sys.server/compiled/game/script/player/player_beastmaster.java b/sku.0/sys.server/compiled/game/script/player/player_beastmaster.java index 53012458c..aa3bcaf64 100755 --- a/sku.0/sys.server/compiled/game/script/player/player_beastmaster.java +++ b/sku.0/sys.server/compiled/game/script/player/player_beastmaster.java @@ -610,6 +610,9 @@ public class player_beastmaster extends script.base_script int duration = 20; int reviveTimeMod = getEnhancedSkillStatisticModifierUncapped(self, "expertise_bm_pet_revive_time"); duration -= reviveTimeMod; + if (params.containsKey("extendedRange")) { + duration *= params.getFloat("extendedRange"); + } int flags = sui.CD_EVENT_INCAPACITATE; int pid = sui.smartCountdownTimerSUI(self, self, "bm_revive_pet", null, 0, duration, "", 0, flags); duration += getGameTime(); diff --git a/sku.0/sys.server/compiled/game/script/systems/combat/combat_actions.java b/sku.0/sys.server/compiled/game/script/systems/combat/combat_actions.java index 3ba452c1c..4d1322cde 100755 --- a/sku.0/sys.server/compiled/game/script/systems/combat/combat_actions.java +++ b/sku.0/sys.server/compiled/game/script/systems/combat/combat_actions.java @@ -10484,8 +10484,10 @@ public class combat_actions extends script.systems.combat.combat_base return SCRIPT_OVERRIDE; } float playerToPetRange = getDistance(getLocation(self), getLocation(beast)); - float percentRangeMod = (playerToPetRange / 84f) * 100f; - messageTo(self, "channelRevivePet", null, 0, false); + float percentRangeMod = (playerToPetRange > 7f) ? (playerToPetRange / 84f) * 100f : 0f ; + dictionary dict = new dictionary(); + dict.addFloat("extendedRange", percentRangeMod); + messageTo(self, "channelRevivePet", dict, 0, false); float baseCooldownTime = getBaseCooldownTime("bm_revive_pet_1"); float cooldownTimeMod = getEnhancedSkillStatisticModifierUncapped(self, "expertise_bm_pet_revive_time"); setCommandTimerValue(self, TIMER_COOLDOWN, (baseCooldownTime - cooldownTimeMod) * percentRangeMod);