This commit is contained in:
silicons
2020-09-20 13:38:36 -07:00
parent fad91b1f79
commit 86ca2cb905
4 changed files with 9 additions and 8 deletions

View File

@@ -1,6 +1,6 @@
// Stamina Buffer
/// Stamina buffer amount
#define STAMINA_BUFFER_CAPACITY 35
#define STAMINA_BUFFER_CAPACITY 30
/// Stamina buffer regen per decisecond
#define STAMINA_BUFFER_REGEN_PER_SECOND 1
/// Stamina buffer regen multiplier while in combat mode
@@ -10,7 +10,7 @@
/// Penalty regen multiplier
#define STAMINA_BUFFER_REGEN_ACTION_PENALTY_FACTOR 0.5
/// percent of regen to take away at stamcrit
#define STAMINA_BUFFER_STAMCRIT_REGEN_PERCENT_PENALTY 0.5
#define STAMINA_BUFFER_STAMCRIT_REGEN_PERCENT_PENALTY 0.75
/// percent of capacity to take away at stamcrit
#define STAMINA_BUFFER_STAMCRIT_CAPACITY_PERCENT_PENALTY 0.5
@@ -39,9 +39,9 @@
#define TOTAL_MASS_TOY_SWORD 1.5
//stamina cost defines.
#define STAM_COST_ATTACK_OBJ_MULT 1.2
#define STAM_COST_ATTACK_OBJ_MULT 0.75
#define STAM_COST_ATTACK_MOB_MULT 1
#define STAM_COST_BATON_MOB_MULT 1
#define STAM_COST_BATON_MOB_MULT 0.85
#define STAM_COST_THROW_MULT 2
#define STAM_COST_THROW_MOB 2.5 //multiplied by (mob size + 1)^2.

View File

@@ -73,7 +73,7 @@
icon_state = "stambuffer29"
return FALSE
else if(user.stamina_buffer >= user.stamina_buffer_max)
icon_state = "staminabuffer29"
icon_state = "stambuffer29"
return FALSE
else
icon_state = "stambuffer[FLOOR((user.stamina_buffer / user.stamina_buffer_max) * 29, 1)]"

View File

@@ -255,7 +255,7 @@
if(!isnull(stagger_force))
return stagger_force
/// totally not an untested, arbitrary equation.
return clamp((1.5 + (w_class/7.5)) * ((force_override || force) / 2), 0, 10 SECONDS)
return clamp((1.5 + (w_class/5)) * ((force_override || force) / 1.5), 0, 10 SECONDS)
/obj/item/proc/do_stagger_action(mob/living/target, mob/living/user, force_override)
if(!CHECK_BITFIELD(target.status_flags, CANSTAGGER))

View File

@@ -28,11 +28,12 @@
stamina_buffer = stamina_buffer_max
return
var/combat_mode = !SEND_SIGNAL(src, COMSIG_COMBAT_MODE_CHECK, COMBAT_MODE_INACTIVE)
var/action_penalty = (((world.time - last_action) >= STAMINA_BUFFER_REGEN_ACTION_PENALTY_TIME) && STAMINA_BUFFER_REGEN_ACTION_PENALTY_FACTOR) || 1
var/action_penalty = (((world.time - last_action) <= STAMINA_BUFFER_REGEN_ACTION_PENALTY_TIME) && STAMINA_BUFFER_REGEN_ACTION_PENALTY_FACTOR) || 1
var/stamina_penalty = 1 - (missing_stamina_percent * STAMINA_BUFFER_STAMCRIT_REGEN_PERCENT_PENALTY)
var/regen = time * 0.1 * ((combat_mode? stamina_buffer_regen_combat : stamina_buffer_regen) * stamina_buffer_regen_mod)
stamina_buffer += min((stamina_buffer_max - stamina_buffer), action_penalty * stamina_penalty * regen)
hud_used?.staminabuffer?.mark_dirty()
if(updating_hud)
hud_used?.staminabuffer?.mark_dirty()
/**
* Boosts our stamina buffer by this much.