Merge branch 'master' of https://github.com/Baystation12/Baystation12 into bs12_with_tgport

This commit is contained in:
Cael_Aislinn
2012-10-25 00:35:19 +10:00
19 changed files with 292 additions and 29 deletions
+2 -1
View File
@@ -118,7 +118,8 @@
if (holder.level >= -1)
seeprayers = 1
verbs += /client/proc/cmd_admin_say
verbs += /client/proc/cmd_admin_say //Allows anyone rank -1 or higher to use asay -- removed when it hits 0 (mods), added again at 1 (Temp Admin)
verbs += /client/proc/cmd_mod_say //Allows anyone rank -1 or higher to use msay
verbs += /client/proc/deadmin_self
verbs += /client/proc/toggleadminhelpsound
else
@@ -12,6 +12,7 @@
var/last_eating = 0 //Not sure what this does... I found it hidden in food.dm
var/life_tick = 0 // The amount of life ticks that have processed on this mob.
var/analgesic = 0 // when this is set, the mob isn't affected by shock or pain
// life should decrease this by 1 every tick
// total amount of wounds on mob, used to spread out healing and the like over all wounds
var/number_wounds = 0
@@ -26,6 +26,8 @@
else if(E.status & ORGAN_BROKEN)
tally += 1.5
if(shock_stage >= 10) tally += 3
if(FAT in src.mutations)
tally += 1.5
if (bodytemperature < 283.222)
@@ -92,6 +92,10 @@
//stuff in the stomach
handle_stomach()
handle_shock()
handle_pain()
//Status updates, death etc.
handle_regular_status_updates() //TODO: optimise ~Carn
update_canmove()
@@ -968,6 +972,8 @@
silent = 0
return 1
// the analgesic effect wears off slowly
analgesic = max(0, analgesic - 1)
//UNCONSCIOUS. NO-ONE IS HOME
if( (getOxyLoss() > 50) || (config.health_threshold_crit > health) )
@@ -1384,5 +1390,43 @@
if(mind && mind.changeling)
mind.changeling.regenerate()
handle_shock()
..()
if(analgesic) return // analgesic avoids all traumatic shock temporarily
if(health < 0)// health 0 makes you immediately collapse
shock_stage = max(shock_stage, 61)
if(traumatic_shock >= 80)
shock_stage += 1
else
shock_stage = min(shock_stage, 100)
shock_stage = max(shock_stage-1, 0)
return
if(shock_stage == 10)
src << "<font color='red'><b>"+pick("It hurts so much!", "You really need some painkillers..", "Dear god, the pain!")
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)
if(shock_stage == 40)
src << "<font color='red'><b>"+pick("The pain is excrutiating!", "Please, just end the pain!", "Your whole body is going numb!")
if (shock_stage >= 60)
if(shock_stage == 60) emote("me",1,"'s body becomes limp.")
if (prob(5))
Stun(20)
lying = 1
if(shock_stage == 80)
src << "<font color='red'><b>"+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.")
if (shock_stage > 80)
Paralyse(rand(15,28))
#undef HUMAN_MAX_OXYLOSS
#undef HUMAN_CRIT_MAX_OXYLOSS
+3 -2
View File
@@ -20,8 +20,9 @@
// broken or ripped off organs will add quite a bit of pain
if(istype(src,/mob/living/carbon/human))
var/mob/living/carbon/human/M = src
for(var/name in M.organs)
var/datum/organ/external/organ = M.organs[name]
for(var/datum/organ/external/organ in M.organs)
if (!organ)
continue
if((organ.status & ORGAN_DESTROYED) && !organ.amputated)
src.traumatic_shock += 60
else if(organ.status & ORGAN_BROKEN || organ.open)
+1
View File
@@ -78,6 +78,7 @@ var/list/department_radio_keys = list(
/mob/living/say(var/message)
message = trim(copytext(sanitize(message), 1, MAX_MESSAGE_LEN))
message = capitalize(message)
if (!message)
return
@@ -881,6 +881,20 @@ datum
..()
return
tramadol
name = "Tramadol"
id = "tramadol"
description = "A simple, yet effective painkiller."
reagent_state = LIQUID
color = "#C8A5DC"
oxycodone
name = "Oxycodone"
id = "oxycodone"
description = "An effective and very addictive painkiller."
reagent_state = LIQUID
color = "#C805DC"
virus_food
name = "Virus Food"
id = "virusfood"
@@ -90,6 +90,20 @@ datum
required_reagents = list("radium" = 1, "phosphorus" = 1, "chlorine" = 1)
result_amount = 3
tramadol
name = "Tramadol"
id = "tramadol"
result = "tramadol"
required_reagents = list("inaprovaline" = 1, "ethanol" = 1, "oxygen" = 1)
result_amount = 3
oxycodone
name = "Oxycodone"
id = "oxycodone"
result = "oxycodone"
required_reagents = list("ethanol" = 1, "tramadol" = 1, "plasma" = 1)
result_amount = 1
//cyanide
// name = "Cyanide"
// id = "cyanide"