diff --git a/baystation12.dme b/baystation12.dme index dd713dda42c..a76ace3dad6 100644 --- a/baystation12.dme +++ b/baystation12.dme @@ -5,6 +5,284 @@ // END_INTERNALS // BEGIN_FILE_DIR #define FILE_DIR . +#define FILE_DIR ".git" +#define FILE_DIR ".git/hooks" +#define FILE_DIR ".git/info" +#define FILE_DIR ".git/logs" +#define FILE_DIR ".git/logs/refs" +#define FILE_DIR ".git/logs/refs/heads" +#define FILE_DIR ".git/logs/refs/remotes" +#define FILE_DIR ".git/logs/refs/remotes/github" +#define FILE_DIR ".git/logs/refs/remotes/origin" +#define FILE_DIR ".git/objects" +#define FILE_DIR ".git/objects/00" +#define FILE_DIR ".git/objects/01" +#define FILE_DIR ".git/objects/02" +#define FILE_DIR ".git/objects/03" +#define FILE_DIR ".git/objects/04" +#define FILE_DIR ".git/objects/05" +#define FILE_DIR ".git/objects/06" +#define FILE_DIR ".git/objects/07" +#define FILE_DIR ".git/objects/08" +#define FILE_DIR ".git/objects/09" +#define FILE_DIR ".git/objects/0a" +#define FILE_DIR ".git/objects/0b" +#define FILE_DIR ".git/objects/0c" +#define FILE_DIR ".git/objects/0d" +#define FILE_DIR ".git/objects/0e" +#define FILE_DIR ".git/objects/0f" +#define FILE_DIR ".git/objects/10" +#define FILE_DIR ".git/objects/11" +#define FILE_DIR ".git/objects/12" +#define FILE_DIR ".git/objects/13" +#define FILE_DIR ".git/objects/14" +#define FILE_DIR ".git/objects/15" +#define FILE_DIR ".git/objects/16" +#define FILE_DIR ".git/objects/17" +#define FILE_DIR ".git/objects/18" +#define FILE_DIR ".git/objects/19" +#define FILE_DIR ".git/objects/1a" +#define FILE_DIR ".git/objects/1b" +#define FILE_DIR ".git/objects/1c" +#define FILE_DIR ".git/objects/1d" +#define FILE_DIR ".git/objects/1e" +#define FILE_DIR ".git/objects/1f" +#define FILE_DIR ".git/objects/20" +#define FILE_DIR ".git/objects/21" +#define FILE_DIR ".git/objects/22" +#define FILE_DIR ".git/objects/23" +#define FILE_DIR ".git/objects/24" +#define FILE_DIR ".git/objects/25" +#define FILE_DIR ".git/objects/26" +#define FILE_DIR ".git/objects/27" +#define FILE_DIR ".git/objects/28" +#define FILE_DIR ".git/objects/29" +#define FILE_DIR ".git/objects/2a" +#define FILE_DIR ".git/objects/2b" +#define FILE_DIR ".git/objects/2c" +#define FILE_DIR ".git/objects/2d" +#define FILE_DIR ".git/objects/2e" +#define FILE_DIR ".git/objects/2f" +#define FILE_DIR ".git/objects/30" +#define FILE_DIR ".git/objects/31" +#define FILE_DIR ".git/objects/32" +#define FILE_DIR ".git/objects/33" +#define FILE_DIR ".git/objects/34" +#define FILE_DIR ".git/objects/35" +#define FILE_DIR ".git/objects/36" +#define FILE_DIR ".git/objects/37" +#define FILE_DIR ".git/objects/38" +#define FILE_DIR ".git/objects/39" +#define FILE_DIR ".git/objects/3a" +#define FILE_DIR ".git/objects/3b" +#define FILE_DIR ".git/objects/3c" +#define FILE_DIR ".git/objects/3d" +#define FILE_DIR ".git/objects/3e" +#define FILE_DIR ".git/objects/3f" +#define FILE_DIR ".git/objects/40" +#define FILE_DIR ".git/objects/41" +#define FILE_DIR ".git/objects/42" +#define FILE_DIR ".git/objects/43" +#define FILE_DIR ".git/objects/44" +#define FILE_DIR ".git/objects/45" +#define FILE_DIR ".git/objects/46" +#define FILE_DIR ".git/objects/47" +#define FILE_DIR ".git/objects/48" +#define FILE_DIR ".git/objects/49" +#define FILE_DIR ".git/objects/4a" +#define FILE_DIR ".git/objects/4b" +#define FILE_DIR ".git/objects/4c" +#define FILE_DIR ".git/objects/4d" +#define FILE_DIR ".git/objects/4e" +#define FILE_DIR ".git/objects/4f" +#define FILE_DIR ".git/objects/50" +#define FILE_DIR ".git/objects/51" +#define FILE_DIR ".git/objects/52" +#define FILE_DIR ".git/objects/53" +#define FILE_DIR ".git/objects/54" +#define FILE_DIR ".git/objects/55" +#define FILE_DIR ".git/objects/56" +#define FILE_DIR ".git/objects/57" +#define FILE_DIR ".git/objects/58" +#define FILE_DIR ".git/objects/59" +#define FILE_DIR ".git/objects/5a" +#define FILE_DIR ".git/objects/5b" +#define FILE_DIR ".git/objects/5c" +#define FILE_DIR ".git/objects/5d" +#define FILE_DIR ".git/objects/5e" +#define FILE_DIR ".git/objects/5f" +#define FILE_DIR ".git/objects/60" +#define FILE_DIR ".git/objects/61" +#define FILE_DIR ".git/objects/62" +#define FILE_DIR ".git/objects/63" +#define FILE_DIR ".git/objects/64" +#define FILE_DIR ".git/objects/65" +#define FILE_DIR ".git/objects/66" +#define FILE_DIR ".git/objects/67" +#define FILE_DIR ".git/objects/68" +#define FILE_DIR ".git/objects/69" +#define FILE_DIR ".git/objects/6a" +#define FILE_DIR ".git/objects/6b" +#define FILE_DIR ".git/objects/6c" +#define FILE_DIR ".git/objects/6d" +#define FILE_DIR ".git/objects/6e" +#define FILE_DIR ".git/objects/6f" +#define FILE_DIR ".git/objects/70" +#define FILE_DIR ".git/objects/71" +#define FILE_DIR ".git/objects/72" +#define FILE_DIR ".git/objects/73" +#define FILE_DIR ".git/objects/74" +#define FILE_DIR ".git/objects/75" +#define FILE_DIR ".git/objects/76" +#define FILE_DIR ".git/objects/77" +#define FILE_DIR ".git/objects/78" +#define FILE_DIR ".git/objects/79" +#define FILE_DIR ".git/objects/7a" +#define FILE_DIR ".git/objects/7b" +#define FILE_DIR ".git/objects/7c" +#define FILE_DIR ".git/objects/7d" +#define FILE_DIR ".git/objects/7e" +#define FILE_DIR ".git/objects/7f" +#define FILE_DIR ".git/objects/80" +#define FILE_DIR ".git/objects/81" +#define FILE_DIR ".git/objects/82" +#define FILE_DIR ".git/objects/83" +#define FILE_DIR ".git/objects/84" +#define FILE_DIR ".git/objects/85" +#define FILE_DIR ".git/objects/86" +#define FILE_DIR ".git/objects/87" +#define FILE_DIR ".git/objects/88" +#define FILE_DIR ".git/objects/89" +#define FILE_DIR ".git/objects/8a" +#define FILE_DIR ".git/objects/8b" +#define FILE_DIR ".git/objects/8c" +#define FILE_DIR ".git/objects/8d" +#define FILE_DIR ".git/objects/8e" +#define FILE_DIR ".git/objects/8f" +#define FILE_DIR ".git/objects/90" +#define FILE_DIR ".git/objects/91" +#define FILE_DIR ".git/objects/92" +#define FILE_DIR ".git/objects/93" +#define FILE_DIR ".git/objects/94" +#define FILE_DIR ".git/objects/95" +#define FILE_DIR ".git/objects/96" +#define FILE_DIR ".git/objects/97" +#define FILE_DIR ".git/objects/98" +#define FILE_DIR ".git/objects/99" +#define FILE_DIR ".git/objects/9a" +#define FILE_DIR ".git/objects/9b" +#define FILE_DIR ".git/objects/9c" +#define FILE_DIR ".git/objects/9d" +#define FILE_DIR ".git/objects/9e" +#define FILE_DIR ".git/objects/9f" +#define FILE_DIR ".git/objects/a0" +#define FILE_DIR ".git/objects/a1" +#define FILE_DIR ".git/objects/a2" +#define FILE_DIR ".git/objects/a3" +#define FILE_DIR ".git/objects/a4" +#define FILE_DIR ".git/objects/a5" +#define FILE_DIR ".git/objects/a6" +#define FILE_DIR ".git/objects/a7" +#define FILE_DIR ".git/objects/a8" +#define FILE_DIR ".git/objects/a9" +#define FILE_DIR ".git/objects/aa" +#define FILE_DIR ".git/objects/ab" +#define FILE_DIR ".git/objects/ac" +#define FILE_DIR ".git/objects/ad" +#define FILE_DIR ".git/objects/ae" +#define FILE_DIR ".git/objects/af" +#define FILE_DIR ".git/objects/b0" +#define FILE_DIR ".git/objects/b1" +#define FILE_DIR ".git/objects/b2" +#define FILE_DIR ".git/objects/b3" +#define FILE_DIR ".git/objects/b4" +#define FILE_DIR ".git/objects/b5" +#define FILE_DIR ".git/objects/b6" +#define FILE_DIR ".git/objects/b7" +#define FILE_DIR ".git/objects/b8" +#define FILE_DIR ".git/objects/b9" +#define FILE_DIR ".git/objects/ba" +#define FILE_DIR ".git/objects/bb" +#define FILE_DIR ".git/objects/bc" +#define FILE_DIR ".git/objects/bd" +#define FILE_DIR ".git/objects/be" +#define FILE_DIR ".git/objects/bf" +#define FILE_DIR ".git/objects/c0" +#define FILE_DIR ".git/objects/c1" +#define FILE_DIR ".git/objects/c2" +#define FILE_DIR ".git/objects/c3" +#define FILE_DIR ".git/objects/c4" +#define FILE_DIR ".git/objects/c5" +#define FILE_DIR ".git/objects/c6" +#define FILE_DIR ".git/objects/c7" +#define FILE_DIR ".git/objects/c8" +#define FILE_DIR ".git/objects/c9" +#define FILE_DIR ".git/objects/ca" +#define FILE_DIR ".git/objects/cb" +#define FILE_DIR ".git/objects/cc" +#define FILE_DIR ".git/objects/cd" +#define FILE_DIR ".git/objects/ce" +#define FILE_DIR ".git/objects/cf" +#define FILE_DIR ".git/objects/d0" +#define FILE_DIR ".git/objects/d1" +#define FILE_DIR ".git/objects/d2" +#define FILE_DIR ".git/objects/d3" +#define FILE_DIR ".git/objects/d4" +#define FILE_DIR ".git/objects/d5" +#define FILE_DIR ".git/objects/d6" +#define FILE_DIR ".git/objects/d7" +#define FILE_DIR ".git/objects/d8" +#define FILE_DIR ".git/objects/d9" +#define FILE_DIR ".git/objects/da" +#define FILE_DIR ".git/objects/db" +#define FILE_DIR ".git/objects/dc" +#define FILE_DIR ".git/objects/dd" +#define FILE_DIR ".git/objects/de" +#define FILE_DIR ".git/objects/df" +#define FILE_DIR ".git/objects/e0" +#define FILE_DIR ".git/objects/e1" +#define FILE_DIR ".git/objects/e2" +#define FILE_DIR ".git/objects/e3" +#define FILE_DIR ".git/objects/e4" +#define FILE_DIR ".git/objects/e5" +#define FILE_DIR ".git/objects/e6" +#define FILE_DIR ".git/objects/e7" +#define FILE_DIR ".git/objects/e8" +#define FILE_DIR ".git/objects/e9" +#define FILE_DIR ".git/objects/ea" +#define FILE_DIR ".git/objects/eb" +#define FILE_DIR ".git/objects/ec" +#define FILE_DIR ".git/objects/ed" +#define FILE_DIR ".git/objects/ee" +#define FILE_DIR ".git/objects/ef" +#define FILE_DIR ".git/objects/f0" +#define FILE_DIR ".git/objects/f1" +#define FILE_DIR ".git/objects/f2" +#define FILE_DIR ".git/objects/f3" +#define FILE_DIR ".git/objects/f4" +#define FILE_DIR ".git/objects/f5" +#define FILE_DIR ".git/objects/f6" +#define FILE_DIR ".git/objects/f7" +#define FILE_DIR ".git/objects/f8" +#define FILE_DIR ".git/objects/f9" +#define FILE_DIR ".git/objects/fa" +#define FILE_DIR ".git/objects/fb" +#define FILE_DIR ".git/objects/fc" +#define FILE_DIR ".git/objects/fd" +#define FILE_DIR ".git/objects/fe" +#define FILE_DIR ".git/objects/ff" +#define FILE_DIR ".git/objects/info" +#define FILE_DIR ".git/objects/pack" +#define FILE_DIR ".git/rebase-apply" +#define FILE_DIR ".git/refs" +#define FILE_DIR ".git/refs/heads" +#define FILE_DIR ".git/refs/remotes" +#define FILE_DIR ".git/refs/remotes/github" +#define FILE_DIR ".git/refs/remotes/origin" +#define FILE_DIR ".git/svn" +#define FILE_DIR ".git/svn/refs" +#define FILE_DIR ".git/svn/refs/remotes" +#define FILE_DIR ".git/svn/refs/remotes/git-svn" #define FILE_DIR "code" #define FILE_DIR "code/ATMOSPHERICS" #define FILE_DIR "code/ATMOSPHERICS/components" @@ -143,6 +421,15 @@ #define FILE_DIR "code/WorkInProgress/organs" #define FILE_DIR "code/WorkInProgress/SkyMarshal" #define FILE_DIR "code/WorkInProgress/virus2" +#define FILE_DIR "config" +#define FILE_DIR "config/names" +#define FILE_DIR "data" +#define FILE_DIR "data/logs" +#define FILE_DIR "data/logs/2011" +#define FILE_DIR "data/logs/2011/12-December" +#define FILE_DIR "data/player_saves" +#define FILE_DIR "data/player_saves/c" +#define FILE_DIR "data/player_saves/c/cib" #define FILE_DIR "html" #define FILE_DIR "icons" #define FILE_DIR "icons/effects" @@ -156,12 +443,14 @@ #define FILE_DIR "icons/obj/machines" #define FILE_DIR "icons/obj/pipes" #define FILE_DIR "icons/pda_icons" +#define FILE_DIR "icons/PSD files" #define FILE_DIR "icons/spideros_icons" #define FILE_DIR "icons/Testing" #define FILE_DIR "icons/turf" #define FILE_DIR "icons/vending_icons" #define FILE_DIR "interface" #define FILE_DIR "maps" +#define FILE_DIR "music" #define FILE_DIR "sound" #define FILE_DIR "sound/ambience" #define FILE_DIR "sound/announcer" @@ -174,6 +463,7 @@ #define FILE_DIR "sound/piano" #define FILE_DIR "sound/voice" #define FILE_DIR "sound/weapons" +#define FILE_DIR "SQL" // END_FILE_DIR // BEGIN_PREFERENCES #define DEBUG @@ -795,6 +1085,7 @@ #include "code\modules\mob\living\say.dm" #include "code\modules\mob\living\blob\blob.dm" #include "code\modules\mob\living\carbon\carbon.dm" +#include "code\modules\mob\living\carbon\shock.dm" #include "code\modules\mob\living\carbon\alien\alien.dm" #include "code\modules\mob\living\carbon\alien\say.dm" #include "code\modules\mob\living\carbon\alien\humanoid\alien_powers.dm" diff --git a/code/modules/mob/living/carbon/human/human.dm b/code/modules/mob/living/carbon/human/human.dm index e67bc80f549..093e3b113cd 100644 --- a/code/modules/mob/living/carbon/human/human.dm +++ b/code/modules/mob/living/carbon/human/human.dm @@ -181,6 +181,8 @@ if (bodytemperature < 283.222) tally += (283.222 - bodytemperature) / 10 * 1.75 + if (shock_stage >= 10) tally += 3 + return tally /mob/living/carbon/human/Stat() @@ -2328,4 +2330,4 @@ It can still be worn/put on as normal. /mob/living/carbon/human/Paralyse(amount) if(mutations & HULK) return - ..() + ..() diff --git a/code/modules/mob/living/carbon/human/life.dm b/code/modules/mob/living/carbon/human/life.dm index 15adc1d1cae..affa676e2c2 100644 --- a/code/modules/mob/living/carbon/human/life.dm +++ b/code/modules/mob/living/carbon/human/life.dm @@ -21,6 +21,9 @@ var/datum/gas_mixture/environment = loc.return_air() + // clean all symptoms, they must be set again in this cycle + src.disease_symptoms = 0 + if (stat != 2) //still breathing //First, resolve location and get a breath @@ -34,6 +37,8 @@ var/obj/location_as_object = loc location_as_object.handle_internal_lifeform(src, 0) + src.handle_shock() + //Apparently, the person who wrote this code designed it so that //blinded get reset each cycle and then get activated later in the //code. Very ugly. I dont care. Moving this stuff here so its easy @@ -992,9 +997,6 @@ for(var/datum/disease/D in viruses) D.cure() - // clean all the symptoms incurred by the virus - src.disease_symptoms = 0 - if(!virus2) // the following is silly since it lets you infect people through glass /*for(var/mob/living/carbon/M in oviewers(4,src)) @@ -1058,65 +1060,36 @@ if ((changeling.geneticdamage > 0)) changeling.geneticdamage = changeling.geneticdamage-1 -/* - // Commented out so hunger system won't be such shock - // Damage and effect from not eating - if(nutrition <= 50) - if (prob (0.1)) - src << "\red Your stomach rumbles." - if (prob (10)) - bruteloss++ - if (prob (5)) - src << "You feel very weak." - weakened += rand(2, 3) -*/ -/* -snippets + handle_shock() + ..() - if (mach) - if (machine) - mach.icon_state = "mach1" + if(traumatic_shock >= 80) + shock_stage += 1 else - mach.icon_state = null + shock_stage-- + shock_stage = max(shock_stage, 0) + return - if (!m_flag) - moved_recently = 0 - m_flag = null + if (shock_stage > 60) + if(shock_stage == 61) + for(var/mob/O in viewers(src, null)) + O.show_message("[src.name]'s body becomes limp.", 1) + Stun(20) + lying = 1 + disease_symptoms |= DISEASE_WHISPER - - - if ((istype(loc, /turf/space) && !( locate(/obj/movable, loc) ))) - var/layers = 20 - // ******* Check - if (((istype(head, /obj/item/clothing/head) && head.flags & 4) || (istype(wear_mask, /obj/item/clothing/mask) && (!( wear_mask.flags & 4 ) && wear_mask.flags & 8)))) - layers -= 5 - if (istype(w_uniform, /obj/item/clothing/under)) - layers -= 5 - if ((istype(wear_suit, /obj/item/clothing/suit) && wear_suit.flags & 8)) - layers -= 10 - if (layers > oxcheck) - oxcheck = layers - - - if(bodytemperature < 282.591 && (!firemut)) - if(bodytemperature < 250) - adjustFireLoss(4) - updatehealth() - if(paralysis <= 2) paralysis += 2 - else if(prob(1) && !paralysis) - if(paralysis <= 5) paralysis += 5 - emote("collapse") - src << "\red You collapse from the cold!" - if(bodytemperature > 327.444 && (!firemut)) - if(bodytemperature > 345.444) - if(!eye_blurry) src << "\red The heat blurs your vision!" - eye_blurry = max(4, eye_blurry) - if(prob(3)) adjustFireLoss(rand(1,2)) - else if(prob(3) && !paralysis) - paralysis += 2 - emote("collapse") - src << "\red You collapse from heat exaustion!" - plcheck = t_plasma - oxcheck = t_oxygen - G.turf_add(T, G.total_moles()) -*/ \ No newline at end of file + if (shock_stage > 100) + if(prob(5)) + Paralyse(50) + if(shock_stage >= 30) + if(shock_stage == 30) emote("me",1,"is having trouble keeping their eyes open.") + eye_blurry = max(2, eye_blurry) + stuttering = max(stuttering, 5) + bodytemperature = 313.15 // high fever + // pain messages + if(shock_stage == 10) + src << ""+pick("It hurts so much!", "You really need some painkillers..", "Dear god, the pain!") + else if(shock_stage == 40) + src << ""+pick("The pain is excrutiating!", "Please, just end the pain!", "Your whole body is going numb!") + else if(shock_stage == 80) + src << ""+pick("You see a light at the end of the tunnel!", "You feel like you could die any moment now.", "You're about to lose consciousness.") \ No newline at end of file diff --git a/code/modules/mob/living/carbon/shock.dm b/code/modules/mob/living/carbon/shock.dm new file mode 100644 index 00000000000..1a846fc1c49 --- /dev/null +++ b/code/modules/mob/living/carbon/shock.dm @@ -0,0 +1,18 @@ +/mob/living/carbon/var/traumatic_shock = 0 +/mob/living/carbon/var/shock_stage = 0 + +// proc to find out in how much pain the mob is at the moment +/mob/living/carbon/proc/updateshock() + src.traumatic_shock = src.getOxyLoss() + src.getToxLoss() + src.getFireLoss() + 1.5*src.getBruteLoss() + 2*src.getCloneLoss() + if(reagents.has_reagent("alkysine")) + src.traumatic_shock -= 10 + if(reagents.has_reagent("inaprovaline")) + src.traumatic_shock -= 15 + if(reagents.has_reagent("synaptizine")) + src.traumatic_shock -= 50 + + return src.traumatic_shock + + +/mob/living/carbon/proc/handle_shock() + updateshock() \ No newline at end of file