Merge remote-tracking branch 'upstream/dev-freeze' into dev

This commit is contained in:
PsiOmega
2014-12-15 08:58:28 +01:00
15 changed files with 336 additions and 326 deletions
+16 -7
View File
@@ -10,13 +10,22 @@
var/obj/item/voice_changer/changer
origin_tech = "syndicate=4"
/obj/item/clothing/mask/gas/voice/verb/Toggle_Voice_Changer()
set category = "Object"
set src in usr
changer.active = !changer.active
usr << "<span class='notice'>You [changer.active ? "enable" : "disable"] the voice-changing module in \the [src].</span>"
/obj/item/clothing/mask/gas/voice/verb/Set_Voice(name as text)
set category = "Object"
set src in usr
var/voice = sanitize(copytext(name,1,MAX_MESSAGE_LEN))
if(!voice || !length(voice)) return
changer.voice = voice
usr << "<span class='notice'>You are now mimicking <B>[changer.voice]</B>.</span>"
/obj/item/clothing/mask/gas/voice/New()
..()
changer = new(src)
/obj/item/clothing/mask/gas/voice/space_ninja
name = "ninja mask"
desc = "A close-fitting mask that acts both as an air filter and a post-modern fashion statement."
icon_state = "s-ninja"
item_state = "s-ninja_mask"
siemens_coefficient = 0.2
@@ -269,7 +269,7 @@
if(!raw_choice)
return 0
voice_holder.voice = sanitize(copytext(raw_choice,1,MAX_MESSAGE_LEN))
usr << "You are now mimicking <B>[voice_holder.voice]</B>.</font>"
usr << "<font color='blue'>You are now mimicking <B>[voice_holder.voice]</B>.</font>"
return 1
/obj/item/rig_module/maneuvering_jets
+1 -1
View File
@@ -88,7 +88,7 @@
"adminordrazine" = 1,
"milk" = 0.9,
"beer" = 0.7,
"flourine" = -0.5,
"fluorine" = -0.5,
"chlorine" = -0.5,
"phosphorus" = -0.5,
"water" = 1,
+23 -34
View File
@@ -94,8 +94,10 @@
//Disabilities
handle_disabilities()
//Organ failure.
//Organs and blood
handle_organs()
handle_blood()
stabilize_body_temperature() //Body temperature adjusts itself (self-regulation)
//Random events (vomiting etc)
handle_random_events()
@@ -1070,22 +1072,6 @@
take_overall_damage(2,0)
traumatic_shock++
if (drowsyness)
drowsyness--
eye_blurry = max(2, eye_blurry)
if (prob(5))
sleeping += 1
Paralyse(5)
confused = max(0, confused - 1)
// decrement dizziness counter, clamped to 0
if(resting)
dizziness = max(0, dizziness - 15)
jitteriness = max(0, jitteriness - 15)
else
dizziness = max(0, dizziness - 3)
jitteriness = max(0, jitteriness - 3)
if(!(species.flags & IS_SYNTHETIC)) handle_trace_chems()
updatehealth()
@@ -1101,10 +1087,6 @@
silent = 0
else //ALIVE. LIGHTS ARE ON
updatehealth() //TODO
if(!in_stasis)
stabilize_body_temperature() //Body temperature adjusts itself
handle_organs() //Optimized.
handle_blood()
if(health <= config.health_threshold_dead || (species.has_organ["brain"] && !has_brain()))
death()
@@ -1119,13 +1101,6 @@
if( (getOxyLoss() > 50) || (config.health_threshold_crit > health) )
Paralyse(3)
/* Done by handle_breath()
if( health <= 20 && prob(1) )
spawn(0)
emote("gasp")
if(!reagents.has_reagent("inaprovaline"))
adjustOxyLoss(1)*/
if(hallucination)
if(hallucination >= 20)
if(prob(3))
@@ -1168,22 +1143,17 @@
if( prob(2) && health && !hal_crit )
spawn(0)
emote("snore")
else if(resting)
if(halloss > 0)
adjustHalLoss(-3)
//CONSCIOUS
else
stat = CONSCIOUS
if(halloss > 0)
adjustHalLoss(-1)
//Periodically double-check embedded_flag
if(embedded_flag && !(life_tick % 10))
var/list/E
E = get_visible_implants(0)
if(!E.len)
embedded_flag = 0
//Eyes
//Check rig first because it's two-check and other checks will override it.
if(istype(back,/obj/item/weapon/rig))
@@ -1223,9 +1193,28 @@
else if(ear_damage < 25) //ear damage heals slowly under this threshold. otherwise you'll need earmuffs
ear_damage = max(ear_damage-0.05, 0)
//Resting
if(resting)
dizziness = max(0, dizziness - 15)
jitteriness = max(0, jitteriness - 15)
adjustHalLoss(-3)
else
dizziness = max(0, dizziness - 3)
jitteriness = max(0, jitteriness - 3)
adjustHalLoss(-1)
//Other
handle_statuses()
if (drowsyness)
drowsyness--
eye_blurry = max(2, eye_blurry)
if (prob(5))
sleeping += 1
Paralyse(5)
confused = max(0, confused - 1)
// If you're dirty, your gloves will become dirty, too.
if(gloves && germ_level > gloves.germ_level && prob(10))
gloves.germ_level += 1
+22 -6
View File
@@ -104,10 +104,17 @@
W.germ_level += 1
/mob/living/carbon/human/proc/handle_stance()
if (lying || resting)
return // don't need to process any of this if they aren't standing anyways
// Don't need to process any of this if they aren't standing anyways
// unless their stance is damaged, and we want to check if they should stay down
if (!stance_damage && (lying || resting) && (life_tick % 4) == 0)
return
stance_damage = 0
// Buckled to a bed/chair. Stance damage is forced to 0 since they're sitting on something solid
if (istype(buckled, /obj/structure/stool/bed))
return
for (var/organ in list("l_leg","l_foot","r_leg","r_foot"))
var/datum/organ/external/E = organs_by_name[organ]
if (E.status & ORGAN_DESTROYED)
@@ -115,9 +122,18 @@
else if (E.is_malfunctioning() || (E.is_broken() && !(E.status & ORGAN_SPLINTED)) || !E.is_usable())
stance_damage += 1
// Canes and crutches help you stand (if the latter is ever added)
// One cane mitigates a broken leg+foot, or a missing foot.
// Two canes are needed for a lost leg. If you are missing both legs, canes aren't gonna help you.
if (istype(l_hand, /obj/item/weapon/cane))
stance_damage -= 2
if (istype(l_hand, /obj/item/weapon/cane))
stance_damage -= 2
// standing is poor
if(stance_damage >= 4 || (stance_damage >= 2 && prob(5)))
Weaken(5)
if(species && !(species.flags & NO_PAIN))
emote("scream")
emote("collapse")
if(!(lying || resting))
if(species && !(species.flags & NO_PAIN))
emote("scream")
custom_emote(1, "collapses!")
Weaken(5) //can't emote while weakened, apparently.
+2 -2
View File
@@ -380,7 +380,7 @@ datum
id = "inaprovaline"
description = "Inaprovaline is a synaptic stimulant and cardiostimulant. Commonly used to stabilize patients."
reagent_state = LIQUID
color = "#C8A5DC" // rgb: 200, 165, 220
color = "#00BFFF" // rgb: 200, 165, 220
overdose = REAGENTS_OVERDOSE*2
scannable = 1
@@ -1595,7 +1595,7 @@ datum
id = "phoron"
description = "Phoron in its liquid form."
reagent_state = LIQUID
color = "#00BFFF" // rgb: 231, 27, 0
color = "#E71B00" // rgb: 231, 27, 0
toxpwr = 3
on_mob_life(var/mob/living/M as mob)