mirror of
https://github.com/quotefox/Hyper-Station-13.git
synced 2026-08-26 14:16:18 +01:00
PAIN
This commit is contained in:
@@ -40,7 +40,6 @@
|
||||
update_damage_overlays()
|
||||
else
|
||||
adjustStaminaLoss(damage * hit_percent)
|
||||
//citadel code
|
||||
if(AROUSAL)
|
||||
adjustArousalLoss(damage * hit_percent)
|
||||
return TRUE
|
||||
@@ -62,7 +61,6 @@
|
||||
amount += BP.burn_dam
|
||||
return amount
|
||||
|
||||
|
||||
/mob/living/carbon/adjustBruteLoss(amount, updating_health = TRUE, forced = FALSE)
|
||||
if (!forced && amount < 0 && HAS_TRAIT(src,TRAIT_NONATURALHEAL))
|
||||
return FALSE
|
||||
|
||||
@@ -57,7 +57,6 @@
|
||||
if(STAMINA)
|
||||
return getStaminaLoss()
|
||||
|
||||
|
||||
/mob/living/proc/apply_damages(brute = 0, burn = 0, tox = 0, oxy = 0, clone = 0, def_zone = null, blocked = FALSE, stamina = 0, brain = 0)
|
||||
if(blocked >= 100)
|
||||
return 0
|
||||
@@ -230,6 +229,9 @@
|
||||
/mob/living/proc/setStaminaLoss(amount, updating_stamina = TRUE, forced = FALSE)
|
||||
return
|
||||
|
||||
/mob/living/proc/adjustPainLoss(amount, updating_health = TRUE, forced = FALSE)
|
||||
return
|
||||
|
||||
// heal ONE external organ, organ gets randomly selected from damaged ones.
|
||||
/mob/living/proc/heal_bodypart_damage(brute = 0, burn = 0, stamina = 0, updating_health = TRUE)
|
||||
adjustBruteLoss(-brute, FALSE) //zero as argument for no instant health update
|
||||
|
||||
@@ -36,6 +36,7 @@ All effects don't start immediately, but rather get worse over time; the rate is
|
||||
*/
|
||||
|
||||
/datum/reagent/consumable/ethanol/on_mob_life(mob/living/carbon/C)
|
||||
M.adjustPainLoss(-0.25*REM, 0) //alchol dulls pain
|
||||
if(C.drunkenness < volume * boozepwr * ALCOHOL_THRESHOLD_MODIFIER)
|
||||
var/booze_power = boozepwr
|
||||
if(HAS_TRAIT(C, TRAIT_ALCOHOL_TOLERANCE)) //we're an accomplished drinker
|
||||
|
||||
@@ -391,6 +391,7 @@ datum/reagent/medicine/styptic_powder/overdose_start(mob/living/M)
|
||||
/datum/reagent/medicine/mine_salve/on_mob_life(mob/living/carbon/C)
|
||||
C.hal_screwyhud = SCREWYHUD_HEALTHY
|
||||
C.adjustBruteLoss(-0.25*REM, 0)
|
||||
M.adjustPainLoss(-1*REM, 0)
|
||||
C.adjustFireLoss(-0.25*REM, 0)
|
||||
C.adjustStaminaLoss(-0.5*REM, 0)
|
||||
..()
|
||||
@@ -698,7 +699,7 @@ datum/reagent/medicine/styptic_powder/overdose_start(mob/living/M)
|
||||
|
||||
/datum/reagent/medicine/morphine
|
||||
name = "Morphine"
|
||||
description = "A painkiller that allows the patient to move at full speed even in bulky objects. Causes drowsiness and eventually unconsciousness in high doses. Overdose will cause a variety of effects, ranging from minor to lethal."
|
||||
description = "A painkiller. Causes drowsiness and eventually unconsciousness in high doses. Overdose will cause a variety of effects, ranging from minor to lethal."
|
||||
reagent_state = LIQUID
|
||||
color = "#A9FBFB"
|
||||
metabolization_rate = 0.5 * REAGENTS_METABOLISM
|
||||
@@ -706,23 +707,8 @@ datum/reagent/medicine/styptic_powder/overdose_start(mob/living/M)
|
||||
addiction_threshold = 25
|
||||
pH = 8.96
|
||||
|
||||
/datum/reagent/medicine/morphine/on_mob_metabolize(mob/living/L)
|
||||
..()
|
||||
L.ignore_slowdown(type)
|
||||
|
||||
/datum/reagent/medicine/morphine/on_mob_end_metabolize(mob/living/L)
|
||||
L.unignore_slowdown(type)
|
||||
..()
|
||||
|
||||
/datum/reagent/medicine/morphine/on_mob_life(mob/living/carbon/M)
|
||||
switch(current_cycle)
|
||||
if(11)
|
||||
to_chat(M, "<span class='warning'>You start to feel tired...</span>" )
|
||||
if(12 to 24)
|
||||
M.drowsyness += 1
|
||||
if(24 to INFINITY)
|
||||
M.Sleeping(40, 0)
|
||||
. = 1
|
||||
M.adjustPainLoss(-3*REM, 0)// very good pain killer.
|
||||
..()
|
||||
|
||||
/datum/reagent/medicine/morphine/overdose_process(mob/living/M)
|
||||
@@ -1022,6 +1008,7 @@ datum/reagent/medicine/styptic_powder/overdose_start(mob/living/M)
|
||||
|
||||
/datum/reagent/medicine/bicaridine/on_mob_life(mob/living/carbon/M)
|
||||
M.adjustBruteLoss(-2*REM, 0)
|
||||
M.adjustPainLoss(-1*REM, 0) //stabilize pain at threshold. and bring it down faster if above.
|
||||
..()
|
||||
. = 1
|
||||
|
||||
|
||||
@@ -31,6 +31,7 @@
|
||||
var/burnstate = 0
|
||||
var/brute_dam = 0
|
||||
var/burn_dam = 0
|
||||
var/pain_dam = 0
|
||||
var/stamina_dam = 0
|
||||
var/max_stamina_damage = 0
|
||||
var/max_damage = 0
|
||||
@@ -193,6 +194,9 @@
|
||||
brute_dam += brute
|
||||
burn_dam += burn
|
||||
|
||||
if(status == BODYPART_ORGANIC) //pain is only applied to organic organs, because nerves.
|
||||
pain_dam += (brute+burn)*1.2 //add the total damage applied to the limb as pain damage, build pain quicker, because sudden pain is more.. painful.
|
||||
|
||||
//We've dealt the physical damages, if there's room lets apply the stamina damage.
|
||||
var/current_damage = get_damage(TRUE) //This time around, count stamina loss too.
|
||||
var/available_damage = max_damage - current_damage
|
||||
|
||||
Reference in New Issue
Block a user