diff --git a/lua/playerdamage.lua b/lua/playerdamage.lua index b0de1ba..33858c9 100644 --- a/lua/playerdamage.lua +++ b/lua/playerdamage.lua @@ -422,3 +422,12 @@ Hooks:PostHook(PlayerDamage, "change_armor", "sh_change_armor", function(self, c self:_send_set_armor() end end) + +-- armor regen time depends on the armor you're wearing +function PlayerDamage:set_regenerate_timer_to_max() + local mul = managers.player:body_armor_regen_multiplier(alive(self._unit) and self._unit:movement():current_state()._moving, self:health_ratio()) + self._regenerate_timer = managers.player:body_armor_value("regen_timer") * mul + self._regenerate_timer = self._regenerate_timer * managers.player:upgrade_value("player", "armor_regen_time_mul", 1) + self._regenerate_speed = self._regenerate_speed or 1 + self._current_state = self._update_regenerate_timer +end \ No newline at end of file diff --git a/lua/playertweakdata.lua b/lua/playertweakdata.lua index 04db816..a0e4bce 100644 --- a/lua/playertweakdata.lua +++ b/lua/playertweakdata.lua @@ -49,7 +49,7 @@ Hooks:PostHook(PlayerTweakData, "init", "eclipse__init", function(self) self.omniscience.start_t = 3 self.omniscience.interval_t = 1.5 self.omniscience.target_resense_t = 0 - self.damage.REGENERATE_TIME = 4.5 + -- self.damage.REGENERATE_TIME = 4.5 self.damage.DOWNED_TIME = 30 self.damage.DOWNED_TIME_DEC = 0 self.damage.DOWNED_TIME_MIN = 30 diff --git a/lua/upgradestweakdata.lua b/lua/upgradestweakdata.lua index ae62e7e..2d28692 100644 --- a/lua/upgradestweakdata.lua +++ b/lua/upgradestweakdata.lua @@ -58,6 +58,17 @@ function UpgradesTweakData:_init_pd2_values(tweak_data) 1.1, } + -- regen timer + self.values.player.body_armor.regen_timer = { + 0.8, + 0.85, + 0.9, + 0.95, + 1, + 1.05, + 1.1, + } + -- ictv nerf self.values.player.body_armor.armor[7] = 18