mirror of
https://github.com/Bubberstation/Bubberstation.git
synced 2026-01-25 16:45:42 +00:00
129 lines
3.6 KiB
Plaintext
129 lines
3.6 KiB
Plaintext
|
|
//Here are the procs used to modify status effects of a mob.
|
|
//The effects include: stun, knockdown, unconscious, sleeping, resting, jitteriness, dizziness, ear damage,
|
|
// eye damage, eye_blind, eye_blurry, druggy, TRAIT_BLIND trait, and TRAIT_NEARSIGHT trait.
|
|
|
|
|
|
|
|
/////////////////////////////////// JITTERINESS ////////////////////////////////////
|
|
|
|
/mob/proc/Jitter(amount)
|
|
jitteriness = max(jitteriness,amount,0)
|
|
|
|
/////////////////////////////////// DIZZINESS ////////////////////////////////////
|
|
|
|
/mob/proc/Dizzy(amount)
|
|
dizziness = max(dizziness,amount,0)
|
|
|
|
/mob/proc/set_dizziness(amount)
|
|
dizziness = max(amount, 0)
|
|
|
|
/////////////////////////////////// EYE DAMAGE ////////////////////////////////////
|
|
|
|
/mob/proc/damage_eyes(amount)
|
|
return
|
|
|
|
/mob/proc/adjust_eye_damage(amount)
|
|
return
|
|
|
|
/mob/proc/set_eye_damage(amount)
|
|
return
|
|
|
|
/////////////////////////////////// EYE_BLIND ////////////////////////////////////
|
|
|
|
/mob/proc/blind_eyes(amount)
|
|
if(amount>0)
|
|
var/old_eye_blind = eye_blind
|
|
eye_blind = max(eye_blind, amount)
|
|
if(!old_eye_blind)
|
|
if(stat == CONSCIOUS || stat == SOFT_CRIT)
|
|
throw_alert("blind", /obj/screen/alert/blind)
|
|
overlay_fullscreen("blind", /obj/screen/fullscreen/blind)
|
|
|
|
/mob/proc/adjust_blindness(amount)
|
|
if(amount>0)
|
|
var/old_eye_blind = eye_blind
|
|
eye_blind += amount
|
|
if(!old_eye_blind)
|
|
if(stat == CONSCIOUS || stat == SOFT_CRIT)
|
|
throw_alert("blind", /obj/screen/alert/blind)
|
|
overlay_fullscreen("blind", /obj/screen/fullscreen/blind)
|
|
else if(eye_blind)
|
|
var/blind_minimum = 0
|
|
if((stat != CONSCIOUS && stat != SOFT_CRIT))
|
|
blind_minimum = 1
|
|
if(isliving(src))
|
|
var/mob/living/L = src
|
|
if(HAS_TRAIT(L, TRAIT_BLIND))
|
|
blind_minimum = 1
|
|
eye_blind = max(eye_blind+amount, blind_minimum)
|
|
if(!eye_blind)
|
|
clear_alert("blind")
|
|
clear_fullscreen("blind")
|
|
|
|
/mob/proc/set_blindness(amount)
|
|
if(amount>0)
|
|
var/old_eye_blind = eye_blind
|
|
eye_blind = amount
|
|
if(client && !old_eye_blind)
|
|
if(stat == CONSCIOUS || stat == SOFT_CRIT)
|
|
throw_alert("blind", /obj/screen/alert/blind)
|
|
overlay_fullscreen("blind", /obj/screen/fullscreen/blind)
|
|
else if(eye_blind)
|
|
var/blind_minimum = 0
|
|
if(stat != CONSCIOUS && stat != SOFT_CRIT)
|
|
blind_minimum = 1
|
|
if(isliving(src))
|
|
var/mob/living/L = src
|
|
if(HAS_TRAIT(L, TRAIT_BLIND))
|
|
blind_minimum = 1
|
|
eye_blind = blind_minimum
|
|
if(!eye_blind)
|
|
clear_alert("blind")
|
|
clear_fullscreen("blind")
|
|
|
|
/////////////////////////////////// EYE_BLURRY ////////////////////////////////////
|
|
|
|
/mob/proc/blur_eyes(amount)
|
|
if(amount>0)
|
|
eye_blurry = max(amount, eye_blurry)
|
|
update_eye_blur()
|
|
|
|
/mob/proc/adjust_blurriness(amount)
|
|
eye_blurry = max(eye_blurry+amount, 0)
|
|
update_eye_blur()
|
|
|
|
/mob/proc/set_blurriness(amount)
|
|
eye_blurry = max(amount, 0)
|
|
update_eye_blur()
|
|
|
|
/mob/proc/update_eye_blur()
|
|
if(!client)
|
|
return
|
|
var/obj/screen/plane_master/floor/OT = locate(/obj/screen/plane_master/floor) in client.screen
|
|
var/obj/screen/plane_master/game_world/GW = locate(/obj/screen/plane_master/game_world) in client.screen
|
|
GW.backdrop(src)
|
|
OT.backdrop(src)
|
|
|
|
/////////////////////////////////// DRUGGY ////////////////////////////////////
|
|
|
|
/mob/proc/adjust_drugginess(amount)
|
|
return
|
|
|
|
/mob/proc/set_drugginess(amount)
|
|
return
|
|
|
|
/////////////////////////////////// GROSSED OUT ////////////////////////////////////
|
|
|
|
/mob/proc/adjust_disgust(amount)
|
|
return
|
|
|
|
/mob/proc/set_disgust(amount)
|
|
return
|
|
|
|
/////////////////////////////////// TEMPERATURE ////////////////////////////////////
|
|
|
|
/mob/proc/adjust_bodytemperature(amount,min_temp=0,max_temp=INFINITY)
|
|
if(bodytemperature >= min_temp && bodytemperature <= max_temp)
|
|
bodytemperature = CLAMP(bodytemperature + amount,min_temp,max_temp)
|