set g_balance_arc_beam_healing_hmax 150
set g_balance_arc_beam_healing_hps 50
set g_balance_arc_cooldown 2.5
+set g_balance_arc_cooldown_release 1
set g_balance_arc_overheat_max 5
set g_balance_arc_overheat_min 3
set g_balance_arc_beam_heat 1
set g_balance_arc_burst_healing_hps 100
set g_balance_arc_burst_heat 4
set g_balance_arc_cooldown 2.5
+set g_balance_arc_cooldown_release 1
set g_balance_arc_overheat_max 5
set g_balance_arc_overheat_min 3
set g_balance_arc_switchdelay_drop 0.3
set g_balance_arc_burst_healing_aps 100
set g_balance_arc_burst_healing_hps 100
set g_balance_arc_cooldown 2.5
+set g_balance_arc_cooldown_release 1
set g_balance_arc_overheat_max 5
set g_balance_arc_overheat_min 3
set g_balance_arc_beam_heat 1
set g_balance_arc_beam_healing_hmax 150
set g_balance_arc_beam_healing_hps 50
set g_balance_arc_cooldown 2.5
+set g_balance_arc_cooldown_release 1
set g_balance_arc_overheat_max 5
set g_balance_arc_overheat_min 3
set g_balance_arc_beam_heat 1
set g_balance_arc_beam_healing_hmax 150
set g_balance_arc_beam_healing_hps 50
set g_balance_arc_cooldown 2.5
+set g_balance_arc_cooldown_release 1
set g_balance_arc_overheat_max 5
set g_balance_arc_overheat_min 3
set g_balance_arc_beam_heat 1
set g_balance_arc_beam_healing_hmax 150
set g_balance_arc_beam_healing_hps 50
set g_balance_arc_cooldown 2.5
+set g_balance_arc_cooldown_release 1
set g_balance_arc_overheat_max 5
set g_balance_arc_overheat_min 3
set g_balance_arc_beam_heat 1
P(class, prefix, burst_healing_hps, float, NONE) \
P(class, prefix, burst_heat, float, NONE) /* heat increase per second (secondary) */ \
P(class, prefix, cooldown, float, NONE) /* heat decrease per second when resting */ \
+ P(class, prefix, cooldown_release, float, NONE) /* delay weapon re-use when releasing button */ \
P(class, prefix, overheat_max, float, NONE) /* maximum heat before jamming */ \
P(class, prefix, overheat_min, float, NONE) /* minimum heat to wait for cooldown */ \
P(class, prefix, switchdelay_drop, float, NONE) \
if ( cooldown_speed )
{
- self.owner.arc_overheat = time + self.beam_heat / cooldown_speed;
+ if ( WEP_CVAR(arc, cooldown_release) || (WEP_CVAR(arc, overheat_max) > 0 && self.beam_heat >= WEP_CVAR(arc, overheat_max)) )
+ self.owner.arc_overheat = time + self.beam_heat / cooldown_speed;
self.owner.arc_cooldown = cooldown_speed;
}