Pass through dictionary to channel to extend duration

This commit is contained in:
Reedux
2021-01-11 17:17:15 +00:00
parent 75c06d4b43
commit d73784ea66
2 changed files with 7 additions and 2 deletions

View File

@@ -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();

View File

@@ -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);