* Soft crit

* Fix

* New define

* Fix shitcode

* Tabs not spaces

* Shitcomment

* Default to whispering in soft crit

* Fax
This commit is contained in:
Jordan Brown
2017-08-28 15:42:11 -04:00
committed by KorPhaeron
parent 33d0a8d2d0
commit c1ef78f8c9
10 changed files with 43 additions and 53 deletions

View File

@@ -43,6 +43,7 @@
//Health Defines
#define HEALTH_THRESHOLD_CRIT 0
#define HEALTH_THRESHOLD_FULLCRIT -30
#define HEALTH_THRESHOLD_DEAD -100
//Actual combat defines

View File

@@ -4,8 +4,9 @@
//mob/var/stat things
#define CONSCIOUS 0
#define UNCONSCIOUS 1
#define DEAD 2
#define SOFT_CRIT 1
#define UNCONSCIOUS 2
#define DEAD 3
//mob disabilities stat

View File

@@ -214,28 +214,6 @@ GLOBAL_LIST_INIT(slot2type, list("head" = /obj/item/clothing/head/changeling, "w
obj_count++
return
/*/datum/game_mode/changeling/check_finished()
var/changelings_alive = 0
for(var/datum/mind/changeling in changelings)
if(!iscarbon(changeling.current))
continue
if(changeling.current.stat==2)
continue
changelings_alive++
if (changelings_alive)
changelingdeath = 0
return ..()
else
if (!changelingdeath)
changelingdeathtime = world.time
changelingdeath = 1
if(world.time-changelingdeathtime > TIME_TO_GET_REVIVED)
return 1
else
return ..()
return 0*/
/datum/game_mode/proc/auto_declare_completion_changeling()
if(changelings.len)
var/text = "<br><font size=3><b>The changelings were:</b></font>"

View File

@@ -592,25 +592,25 @@ GLOBAL_LIST_EMPTY(possible_items_special)
var/captured_amount = 0
var/area/centcom/holding/A = locate() in GLOB.sortedAreas
for(var/mob/living/carbon/human/M in A)//Humans.
if(M.stat==2)//Dead folks are worth less.
if(M.stat == DEAD)//Dead folks are worth less.
captured_amount+=0.5
continue
captured_amount+=1
for(var/mob/living/carbon/monkey/M in A)//Monkeys are almost worthless, you failure.
captured_amount+=0.1
for(var/mob/living/carbon/alien/larva/M in A)//Larva are important for research.
if(M.stat==2)
if(M.stat == DEAD)
captured_amount+=0.5
continue
captured_amount+=1
for(var/mob/living/carbon/alien/humanoid/M in A)//Aliens are worth twice as much as humans.
if(istype(M, /mob/living/carbon/alien/humanoid/royal/queen))//Queens are worth three times as much as humans.
if(M.stat==2)
if(M.stat == DEAD)
captured_amount+=1.5
else
captured_amount+=3
continue
if(M.stat==2)
if(M.stat == DEAD)
captured_amount+=1
continue
captured_amount+=2

View File

@@ -687,6 +687,9 @@
return
if(IsUnconscious() || IsSleeping() || getOxyLoss() > 50 || (status_flags & FAKEDEATH) || health <= HEALTH_THRESHOLD_CRIT)
if(stat == CONSCIOUS)
stat = SOFT_CRIT
update_canmove()
if(health <= HEALTH_THRESHOLD_FULLCRIT && stat == SOFT_CRIT)
stat = UNCONSCIOUS
blind_eyes(1)
update_canmove()

View File

@@ -53,7 +53,7 @@
var/datum/gas_mixture/breath
if(health <= HEALTH_THRESHOLD_CRIT || (pulledby && pulledby.grab_state >= GRAB_KILL && !getorganslot("breathing_tube")))
if(health <= HEALTH_THRESHOLD_FULLCRIT || (pulledby && pulledby.grab_state >= GRAB_KILL && !getorganslot("breathing_tube")))
losebreath++
//Suffocate

View File

@@ -241,7 +241,10 @@
return 1
/mob/living/proc/InCritical()
return (health < 0 && health > -100 && stat == UNCONSCIOUS)
return (health < HEALTH_THRESHOLD_CRIT && health > HEALTH_THRESHOLD_DEAD && (stat == SOFT_CRIT || stat == UNCONSCIOUS))
/mob/living/proc/InFullCritical()
return (health < HEALTH_THRESHOLD_FULLCRIT && health > HEALTH_THRESHOLD_DEAD && stat == UNCONSCIOUS)
//This proc is used for mobs which are affected by pressure to calculate the amount of pressure that actually
//affects them once clothing is factored in. ~Errorage

View File

@@ -37,36 +37,36 @@ GLOBAL_LIST_INIT(department_radio_keys, list(
//kinda localization -- rastaf0
//same keys as above, but on russian keyboard layout. This file uses cp1251 as encoding.
// Location
"<EFBFBD>" = "right hand",
"<EFBFBD>" = "left hand",
"<EFBFBD>" = "intercom",
"ê" = "right hand",
"ä" = "left hand",
"ø" = "intercom",
// Department
"<EFBFBD>" = "department",
"<EFBFBD>" = "Command",
"<EFBFBD>" = "Science",
"<EFBFBD>" = "Medical",
"<EFBFBD>" = "Engineering",
"<EFBFBD>" = "Security",
"<EFBFBD>" = "Supply",
"<EFBFBD>" = "Service",
"ð" = "department",
"ñ" = "Command",
"ò" = "Science",
"ü" = "Medical",
"ó" = "Engineering",
"û" = "Security",
"ã" = "Supply",
"ì" = "Service",
// Faction
"<EFBFBD>" = "Syndicate",
"<EFBFBD>" = "CentCom",
"å" = "Syndicate",
"í" = "CentCom",
// Species
"<EFBFBD>" = "binary",
"<EFBFBD>" = "changeling",
"<EFBFBD>" = "alientalk",
"è" = "binary",
"ï" = "changeling",
"ô" = "alientalk",
// Admin
"<EFBFBD>" = "admin",
"<EFBFBD>" = "deadmin",
"ç" = "admin",
"â" = "deadmin",
// Misc
"<EFBFBD>" = "AI Private",
"<EFBFBD>" = "cords"
"ù" = "AI Private",
"÷" = "cords"
))
/mob/living/say(message, bubble_type,var/list/spans = list(), sanitize = TRUE, datum/language/language = null)
@@ -108,7 +108,11 @@ GLOBAL_LIST_INIT(department_radio_keys, list(
if(check_emote(original_message) || !can_speak_basic(original_message))
return
var/in_full_critical = InFullCritical()
if(in_critical)
if(!in_full_critical && !message_mode)
message_mode = MODE_WHISPER
if(!(crit_allowed_modes[message_mode]))
return
else if(stat == UNCONSCIOUS)
@@ -149,7 +153,7 @@ GLOBAL_LIST_INIT(department_radio_keys, list(
message_range = 1
spans |= SPAN_ITALICS
log_talk(src,"[key_name(src)] : [message]",LOGWHISPER)
if(in_critical)
if(in_full_critical)
var/health_diff = round(-HEALTH_THRESHOLD_DEAD + health)
// If we cut our message short, abruptly end it with a-..
var/message_len = length(message)

View File

@@ -3,7 +3,7 @@
//Cost function for suit Procs/Verbs/Abilities
/obj/item/clothing/suit/space/space_ninja/proc/ninjacost(cost = 0, specificCheck = 0)
var/mob/living/carbon/human/H = affecting
if((H.stat || H.incorporeal_move) && (specificCheck != N_ADRENALINE))//Will not return if user is using an adrenaline booster since you can use them when stat==1.
if((H.stat || H.incorporeal_move) && (specificCheck != N_ADRENALINE))//Will not return if user is using an adrenaline booster since you can use them when stat==UNCONSCIOUS.
to_chat(H, "<span class='danger'>You must be conscious and solid to do this.</span>")
return 1

View File

@@ -30,7 +30,7 @@
addtimer(CALLBACK(src, .proc/ninitialize_four, delay, U), delay)
/obj/item/clothing/suit/space/space_ninja/proc/ninitialize_four(delay, mob/living/carbon/human/U)
if(U.stat==2||U.health<=0)
if(U.stat == DEAD|| U.health <= 0)
to_chat(U, "<span class='danger'><B>FĆAL �Rr�R</B>: 344--93#�&&21 BR��N |/|/aV� PATT$RN <B>RED</B>\nA-A-aB�rT�NG...</span>")
unlock_suit()
return