From bebee8ded9ef65409ff458a773f8a3b6c236cdfd Mon Sep 17 00:00:00 2001 From: Lo6a4evskiy Date: Wed, 14 Jan 2015 16:08:53 +0400 Subject: [PATCH 001/122] First iteration --- code/datums/datacore.dm | 162 +++++++++++++++++++++++ code/game/machinery/computer/security.dm | 4 +- 2 files changed, 165 insertions(+), 1 deletion(-) diff --git a/code/datums/datacore.dm b/code/datums/datacore.dm index 368a3e69c93..9dc95c688c0 100644 --- a/code/datums/datacore.dm +++ b/code/datums/datacore.dm @@ -202,6 +202,8 @@ var/record_id_num = 1001 G.fields["p_stat"] = "Active" G.fields["m_stat"] = "Stable" G.fields["sex"] = H.gender + G.fields["photo_front"] = icon(get_id_photo(H), dir = SOUTH) + G.fields["photo_side"] = icon(get_id_photo(H), dir = WEST) general += G //Medical Record @@ -246,3 +248,163 @@ var/record_id_num = 1001 locked += L return +/obj/effect/datacore/proc/get_id_photo(var/mob/living/carbon/human/H) + var/icon/photo = null + var/g = (H.gender == FEMALE) ? "f" : "m" + if(!config.mutant_races || H.dna.species.use_skintones) + photo = icon("icon" = 'icons/mob/human.dmi', "icon_state" = "[H.skin_tone]_[g]_s") + else + photo = icon("icon" = 'icons/mob/human.dmi', "icon_state" = "[H.dna.species.id]_[g]_s") + photo.Blend("#[H.dna.mutant_color]", ICON_MULTIPLY) + + var/icon/eyes_s + if(EYECOLOR in H.dna.species.specflags) + eyes_s = icon("icon" = 'icons/mob/human_face.dmi', "icon_state" = "[H.dna.species.eyes]_s") + eyes_s.Blend("#[H.eye_color]", ICON_MULTIPLY) + + var/datum/sprite_accessory/S + S = hair_styles_list[H.hair_style] + if(S && (HAIR in H.dna.species.specflags)) + var/icon/hair_s = icon("icon" = S.icon, "icon_state" = "[S.icon_state]_s") + hair_s.Blend("#[H.hair_color]", ICON_MULTIPLY) + eyes_s.Blend(hair_s, ICON_OVERLAY) + + S = facial_hair_styles_list[H.facial_hair_style] + if(S && (FACEHAIR in H.dna.species.specflags)) + var/icon/facial_s = icon("icon" = S.icon, "icon_state" = "[S.icon_state]_s") + facial_s.Blend("#[H.facial_hair_color]", ICON_MULTIPLY) + eyes_s.Blend(facial_s, ICON_OVERLAY) + + if(eyes_s) + photo.Blend(eyes_s, ICON_OVERLAY) + + var/icon/clothes_s = null + switch(H.mind.assigned_role) + if("Head of Personnel") + clothes_s = icon('icons/mob/uniform.dmi', "hop_s") + clothes_s.Blend(icon('icons/mob/feet.dmi', "brown"), ICON_UNDERLAY) + if("Bartender") + clothes_s = icon('icons/mob/uniform.dmi', "ba_suit_s") + clothes_s.Blend(icon('icons/mob/feet.dmi', "black"), ICON_UNDERLAY) + clothes_s.Blend(icon('icons/mob/suit.dmi', "armoralt"), ICON_OVERLAY) + if("Botanist") + clothes_s = icon('icons/mob/uniform.dmi', "hydroponics_s") + clothes_s.Blend(icon('icons/mob/feet.dmi', "black"), ICON_UNDERLAY) + clothes_s.Blend(icon('icons/mob/hands.dmi', "ggloves"), ICON_UNDERLAY) + clothes_s.Blend(icon('icons/mob/suit.dmi', "apron"), ICON_OVERLAY) + if("Cook") + clothes_s = icon('icons/mob/uniform.dmi', "chef_s") + clothes_s.Blend(icon('icons/mob/feet.dmi', "black"), ICON_UNDERLAY) + clothes_s.Blend(icon('icons/mob/suit.dmi', "chef"), ICON_OVERLAY) + if("Janitor") + clothes_s = icon('icons/mob/uniform.dmi', "janitor_s") + clothes_s.Blend(icon('icons/mob/feet.dmi', "black"), ICON_UNDERLAY) + if("Librarian") + clothes_s = icon('icons/mob/uniform.dmi', "red_suit_s") + clothes_s.Blend(icon('icons/mob/feet.dmi', "black"), ICON_UNDERLAY) + if("Quartermaster") + clothes_s = icon('icons/mob/uniform.dmi', "qm_s") + clothes_s.Blend(icon('icons/mob/feet.dmi', "brown"), ICON_UNDERLAY) + if("Cargo Technician") + clothes_s = icon('icons/mob/uniform.dmi', "cargo_s") + clothes_s.Blend(icon('icons/mob/feet.dmi', "black"), ICON_UNDERLAY) + if("Shaft Miner") + clothes_s = icon('icons/mob/uniform.dmi', "miner_s") + clothes_s.Blend(icon('icons/mob/feet.dmi', "black"), ICON_UNDERLAY) + if("Lawyer") + clothes_s = icon('icons/mob/uniform.dmi', "bluesuit_s") + clothes_s.Blend(icon('icons/mob/feet.dmi', "laceups"), ICON_UNDERLAY) + clothes_s.Blend(icon('icons/mob/suit.dmi', "suitjacket_blue"), ICON_OVERLAY) + if("Chaplain") + clothes_s = icon('icons/mob/uniform.dmi', "chapblack_s") + clothes_s.Blend(icon('icons/mob/feet.dmi', "black"), ICON_UNDERLAY) + if("Clown") + clothes_s = icon('icons/mob/uniform.dmi', "clown_s") + clothes_s.Blend(icon('icons/mob/feet.dmi', "clown"), ICON_UNDERLAY) + clothes_s.Blend(icon('icons/mob/mask.dmi', "clown"), ICON_OVERLAY) + if("Mime") + clothes_s = icon('icons/mob/uniform.dmi', "mime_s") + clothes_s.Blend(icon('icons/mob/feet.dmi', "black"), ICON_UNDERLAY) + clothes_s.Blend(icon('icons/mob/hands.dmi', "lgloves"), ICON_UNDERLAY) + clothes_s.Blend(icon('icons/mob/mask.dmi', "mime"), ICON_OVERLAY) + clothes_s.Blend(icon('icons/mob/suit.dmi', "suspenders"), ICON_OVERLAY) + if("Research Director") + clothes_s = icon('icons/mob/uniform.dmi', "director_s") + clothes_s.Blend(icon('icons/mob/feet.dmi', "brown"), ICON_UNDERLAY) + clothes_s.Blend(icon('icons/mob/suit.dmi', "labcoat"), ICON_OVERLAY) + clothes_s.Blend(icon('icons/mob/items_lefthand.dmi', "clipboard"), ICON_OVERLAY) + if("Scientist") + clothes_s = icon('icons/mob/uniform.dmi', "toxinswhite_s") + clothes_s.Blend(icon('icons/mob/feet.dmi', "white"), ICON_UNDERLAY) + clothes_s.Blend(icon('icons/mob/suit.dmi', "labcoat_tox"), ICON_OVERLAY) + if("Chemist") + clothes_s = icon('icons/mob/uniform.dmi', "chemistrywhite_s") + clothes_s.Blend(icon('icons/mob/feet.dmi', "white"), ICON_UNDERLAY) + clothes_s.Blend(icon('icons/mob/suit.dmi', "labcoat_chem"), ICON_OVERLAY) + if("Chief Medical Officer") + clothes_s = icon('icons/mob/uniform.dmi', "cmo_s") + clothes_s.Blend(icon('icons/mob/feet.dmi', "brown"), ICON_UNDERLAY) + clothes_s.Blend(icon('icons/mob/suit.dmi', "labcoat_cmo"), ICON_OVERLAY) + if("Doctor") + clothes_s = icon('icons/mob/uniform.dmi', "medical_s") + clothes_s.Blend(icon('icons/mob/feet.dmi', "white"), ICON_UNDERLAY) + clothes_s.Blend(icon('icons/mob/suit.dmi', "labcoat"), ICON_OVERLAY) + if("Geneticist") + clothes_s = icon('icons/mob/uniform.dmi', "geneticswhite_s") + clothes_s.Blend(icon('icons/mob/feet.dmi', "white"), ICON_UNDERLAY) + clothes_s.Blend(icon('icons/mob/suit.dmi', "labcoat_gen"), ICON_OVERLAY) + if("Virologist") + clothes_s = icon('icons/mob/uniform.dmi', "virologywhite_s") + clothes_s.Blend(icon('icons/mob/feet.dmi', "white"), ICON_UNDERLAY) + clothes_s.Blend(icon('icons/mob/suit.dmi', "labcoat_vir"), ICON_OVERLAY) + if("Roboticist") + clothes_s = icon('icons/mob/uniform.dmi', "robotics_s") + clothes_s.Blend(icon('icons/mob/feet.dmi', "black"), ICON_UNDERLAY) + clothes_s.Blend(icon('icons/mob/suit.dmi', "labcoat"), ICON_OVERLAY) + if("Captain") + clothes_s = icon('icons/mob/uniform.dmi', "captain_s") + clothes_s.Blend(icon('icons/mob/feet.dmi', "brown"), ICON_UNDERLAY) + clothes_s.Blend(icon('icons/mob/suit.dmi', "capcarapace"), ICON_OVERLAY) + if("Head of Security") + clothes_s = icon('icons/mob/uniform.dmi', "hos_s") + clothes_s.Blend(icon('icons/mob/feet.dmi', "jackboots"), ICON_UNDERLAY) + clothes_s.Blend(icon('icons/mob/hands.dmi', "bgloves"), ICON_UNDERLAY) + clothes_s.Blend(icon('icons/mob/suit.dmi', "hostrench"), ICON_OVERLAY) + if("Warden") + clothes_s = icon('icons/mob/uniform.dmi', "warden_s") + clothes_s.Blend(icon('icons/mob/feet.dmi', "jackboots"), ICON_UNDERLAY) + clothes_s.Blend(icon('icons/mob/hands.dmi', "bgloves"), ICON_UNDERLAY) + clothes_s.Blend(icon('icons/mob/suit.dmi', "warden_jacket"), ICON_OVERLAY) + if("Detective") + clothes_s = icon('icons/mob/uniform.dmi', "detective_s") + clothes_s.Blend(icon('icons/mob/feet.dmi', "brown"), ICON_UNDERLAY) + clothes_s.Blend(icon('icons/mob/hands.dmi', "bgloves"), ICON_UNDERLAY) + clothes_s.Blend(icon('icons/mob/mask.dmi', "cigaron"), ICON_OVERLAY) + clothes_s.Blend(icon('icons/mob/head.dmi', "detective"), ICON_OVERLAY) + clothes_s.Blend(icon('icons/mob/suit.dmi', "detective"), ICON_OVERLAY) + if("Security Officer") + clothes_s = icon('icons/mob/uniform.dmi', "security_s") + clothes_s.Blend(icon('icons/mob/feet.dmi', "jackboots"), ICON_UNDERLAY) + clothes_s.Blend(icon('icons/mob/hands.dmi', "bgloves"), ICON_UNDERLAY) + clothes_s.Blend(icon('icons/mob/suit.dmi', "armor"), ICON_OVERLAY) + if("Chief Engineer") + clothes_s = icon('icons/mob/uniform.dmi', "chief_s") + clothes_s.Blend(icon('icons/mob/feet.dmi', "brown"), ICON_UNDERLAY) + clothes_s.Blend(icon('icons/mob/hands.dmi', "bgloves"), ICON_UNDERLAY) + clothes_s.Blend(icon('icons/mob/belt.dmi', "utility"), ICON_OVERLAY) + if("Station Engineer") + clothes_s = icon('icons/mob/uniform.dmi', "engine_s") + clothes_s.Blend(icon('icons/mob/feet.dmi', "orange"), ICON_UNDERLAY) + clothes_s.Blend(icon('icons/mob/belt.dmi', "utility"), ICON_OVERLAY) + if("Atmospheric Technician") + clothes_s = icon('icons/mob/uniform.dmi', "atmos_s") + clothes_s.Blend(icon('icons/mob/feet.dmi', "black"), ICON_UNDERLAY) + clothes_s.Blend(icon('icons/mob/belt.dmi', "utility"), ICON_OVERLAY) + if("Assistant") + clothes_s = icon('icons/mob/uniform.dmi', "grey_s") + clothes_s.Blend(icon('icons/mob/feet.dmi', "black"), ICON_UNDERLAY) + + if(clothes_s) + photo.Blend(clothes_s, ICON_OVERLAY) + + return photo \ No newline at end of file diff --git a/code/game/machinery/computer/security.dm b/code/game/machinery/computer/security.dm index 5fe0b91cc05..d44f044f352 100644 --- a/code/game/machinery/computer/security.dm +++ b/code/game/machinery/computer/security.dm @@ -160,6 +160,8 @@ if(3.0) dat += "Security Record
" if ((istype(active1, /datum/data/record) && data_core.general.Find(active1))) + user << browse_rsc(active1.fields["photo_front"], "photo_front") + user << browse_rsc(active1.fields["photo_side"], "photo_side") dat += {" @@ -169,7 +171,7 @@ -
Name: [active1.fields["name"]] 
ID: [active1.fields["id"]] 
Fingerprint: [active1.fields["fingerprint"]] 
Physical Status: [active1.fields["p_stat"]] 
Mental Status: [active1.fields["m_stat"]] 
"} +
"} else dat += "General Record Lost!
" if ((istype(active2, /datum/data/record) && data_core.security.Find(active2))) From 5616f026bdecc3f6d2490069e46b6b58a94456ba Mon Sep 17 00:00:00 2001 From: paprka Date: Sun, 18 Jan 2015 22:30:24 -0800 Subject: [PATCH 002/122] readds the release sequence for cryogenics --- code/game/machinery/cryo.dm | 20 +++++++++++++++++--- 1 file changed, 17 insertions(+), 3 deletions(-) diff --git a/code/game/machinery/cryo.dm b/code/game/machinery/cryo.dm index ae846787d06..087f5b67ec6 100644 --- a/code/game/machinery/cryo.dm +++ b/code/game/machinery/cryo.dm @@ -81,12 +81,26 @@ open_machine() /obj/machinery/atmospherics/unary/cryo_cell/container_resist() - if(stat & DEAD) - return - sleep(usr.stat * 1200) open_machine() return +/obj/machinery/atmospherics/unary/cryo_cell/verb/move_eject() + set name = "Eject Cryo Cell" + set desc = "Begin the release sequence inside the cryo tube." + set category = "Object" + set src in oview(1) + if(usr == occupant || contents.Find(usr)) //If the user is inside the tube... + if(usr.stat == DEAD) //and he's not dead.... + return + usr << "Release sequence activated. This will take about a minute." + sleep(600) + if(!src || !usr || (!occupant && !contents.Find(usr))) //Check if someone's released/replaced/bombed him already + return + open_machine() + add_fingerprint(usr) + else + open_machine() + /obj/machinery/atmospherics/unary/cryo_cell/examine(mob/user) ..() From fbe4194579b31b775360406c2bd425c5f05e165e Mon Sep 17 00:00:00 2001 From: TZK13 Date: Mon, 19 Jan 2015 08:41:52 -0600 Subject: [PATCH 003/122] Adds two new disease symptoms. --- code/datums/diseases/advance/symptoms/fire.dm | 40 +++++++++++++++++++ code/datums/diseases/advance/symptoms/heal.dm | 2 +- .../diseases/advance/symptoms/visionaid.dm | 38 ++++++++++++++++++ tgstation.dme | 2 + 4 files changed, 81 insertions(+), 1 deletion(-) create mode 100644 code/datums/diseases/advance/symptoms/fire.dm create mode 100644 code/datums/diseases/advance/symptoms/visionaid.dm diff --git a/code/datums/diseases/advance/symptoms/fire.dm b/code/datums/diseases/advance/symptoms/fire.dm new file mode 100644 index 00000000000..bc63c170960 --- /dev/null +++ b/code/datums/diseases/advance/symptoms/fire.dm @@ -0,0 +1,40 @@ +/* +////////////////////////////////////// + +Spontaneous Combustion + + Slightly hidden. + Lowers resistance tremendously. + Decreases stage tremendously. + Decreases transmittablity tremendously. + Fatal Level. + +Bonus + Ignites infected mob. + +////////////////////////////////////// +*/ + +/datum/symptom/fire + + name = "Spontaneous Combustion" + stealth = 1 + resistance = -4 + stage_speed = -4 + transmittable = -4 + level = 6 + severity = 5 + +/datum/symptom/fire/Activate(var/datum/disease/advance/A) + ..() + if(prob(SYMPTOM_ACTIVATION_PROB)) + var/mob/living/M = A.affected_mob + switch(A.stage) + if(4) + M.adjust_fire_stacks(5) + M.IgniteMob() + + if(5) + M.adjust_fire_stacks(10) + M.IgniteMob() + return \ No newline at end of file diff --git a/code/datums/diseases/advance/symptoms/heal.dm b/code/datums/diseases/advance/symptoms/heal.dm index 1280be88102..16e16c914a6 100644 --- a/code/datums/diseases/advance/symptoms/heal.dm +++ b/code/datums/diseases/advance/symptoms/heal.dm @@ -58,7 +58,7 @@ Bonus /datum/symptom/heal/metabolism - name = "Anti-Bodies Metabolism " + name = "Anti-Bodies Metabolism" stealth = -1 resistance = -1 stage_speed = -1 diff --git a/code/datums/diseases/advance/symptoms/visionaid.dm b/code/datums/diseases/advance/symptoms/visionaid.dm new file mode 100644 index 00000000000..cb77b24c74e --- /dev/null +++ b/code/datums/diseases/advance/symptoms/visionaid.dm @@ -0,0 +1,38 @@ +/* +////////////////////////////////////// + +Ocular Restoration + + Noticable. + Lowers resistance significantly. + Decreases stage speed moderately.. + Decreases transmittablity tremendously. + High level. + +Bonus + Restores eyesight. + +////////////////////////////////////// +*/ + +/datum/symptom/visionaid + + name = "Ocular Restoration" + stealth = -1 + resistance = -3 + stage_speed = -2 + transmittable = -4 + level = 4 + +/datum/symptom/visionaid/Activate(var/datum/disease/advance/A) + ..() + if(prob(SYMPTOM_ACTIVATION_PROB * 5)) + var/mob/living/M = A.affected_mob + switch(A.stage) + if(4, 5) + if (M.reagents.get_reagent_amount("oculine") < 20) + M.reagents.add_reagent("oculine", 20) + else + if(prob(SYMPTOM_ACTIVATION_PROB * 5)) + M << "[pick("Your eyes feel great.", "You are now blinking manually.", "You don't feel the need to blink.")]" + return diff --git a/tgstation.dme b/tgstation.dme index e0d96f0935e..35257140988 100644 --- a/tgstation.dme +++ b/tgstation.dme @@ -186,6 +186,7 @@ #include "code\datums\diseases\advance\symptoms\deafness.dm" #include "code\datums\diseases\advance\symptoms\dizzy.dm" #include "code\datums\diseases\advance\symptoms\fever.dm" +#include "code\datums\diseases\advance\symptoms\fire.dm" #include "code\datums\diseases\advance\symptoms\flesh_eating.dm" #include "code\datums\diseases\advance\symptoms\genetics.dm" #include "code\datums\diseases\advance\symptoms\hallucigen.dm" @@ -198,6 +199,7 @@ #include "code\datums\diseases\advance\symptoms\sneeze.dm" #include "code\datums\diseases\advance\symptoms\stimulant.dm" #include "code\datums\diseases\advance\symptoms\symptoms.dm" +#include "code\datums\diseases\advance\symptoms\visionaid.dm" #include "code\datums\diseases\advance\symptoms\visionloss.dm" #include "code\datums\diseases\advance\symptoms\vitiligo.dm" #include "code\datums\diseases\advance\symptoms\voice_change.dm" From 03a1b0a5dfb3a36ef743616b0fe77fb92e1f7ded Mon Sep 17 00:00:00 2001 From: TZK13 Date: Mon, 19 Jan 2015 09:15:40 -0600 Subject: [PATCH 004/122] Changelog. --- html/changelogs/TZK13-PR-7197.yml | 6 ++++++ 1 file changed, 6 insertions(+) create mode 100644 html/changelogs/TZK13-PR-7197.yml diff --git a/html/changelogs/TZK13-PR-7197.yml b/html/changelogs/TZK13-PR-7197.yml new file mode 100644 index 00000000000..27a304d4091 --- /dev/null +++ b/html/changelogs/TZK13-PR-7197.yml @@ -0,0 +1,6 @@ +author: TZK13 + +delete-after: True + +changes: + - rscadd: "Advancements in the field of virology by Nanotrasen's finest have uncovered two new disease symptoms with one suitable for deployment on station to treat eye trauma while the other is a fiery addition to our biological weapons program." \ No newline at end of file From adf05442091eddabb6bf6a6aba4f2a274d441fa2 Mon Sep 17 00:00:00 2001 From: TZK13 Date: Tue, 20 Jan 2015 00:01:12 -0600 Subject: [PATCH 005/122] Adds another new symptom and combines both vision symptoms. --- code/datums/diseases/advance/symptoms/skin.dm | 86 +++++++++++ .../symptoms/{visionloss.dm => vision.dm} | 138 +++++++++++------- .../diseases/advance/symptoms/visionaid.dm | 38 ----- .../diseases/advance/symptoms/vitiligo.dm | 42 ------ tgstation.dme | 5 +- 5 files changed, 177 insertions(+), 132 deletions(-) create mode 100644 code/datums/diseases/advance/symptoms/skin.dm rename code/datums/diseases/advance/symptoms/{visionloss.dm => vision.dm} (54%) delete mode 100644 code/datums/diseases/advance/symptoms/visionaid.dm delete mode 100644 code/datums/diseases/advance/symptoms/vitiligo.dm diff --git a/code/datums/diseases/advance/symptoms/skin.dm b/code/datums/diseases/advance/symptoms/skin.dm new file mode 100644 index 00000000000..86cf573f973 --- /dev/null +++ b/code/datums/diseases/advance/symptoms/skin.dm @@ -0,0 +1,86 @@ +/* +////////////////////////////////////// +Vitiligo + + Extremely Noticable. + Decreases resistance slightly. + Reduces stage speed slightly. + Reduces transmission. + Critical Level. + +BONUS + Makes the mob lose skin pigmentation. + +////////////////////////////////////// +*/ + +/datum/symptom/vitiligo + + name = "Vitiligo" + stealth = -3 + resistance = -1 + stage_speed = -1 + transmittable = -2 + level = 5 + severity = 1 + +/datum/symptom/vitiligo/Activate(var/datum/disease/advance/A) + ..() + if(prob(SYMPTOM_ACTIVATION_PROB)) + var/mob/living/M = A.affected_mob + if(istype(M, /mob/living/carbon/human)) + var/mob/living/carbon/human/H = M + if(H.skin_tone == "albino") + return + switch(A.stage) + if(5) + H.skin_tone = "albino" + H.update_body(0) + else + H.visible_message("[H] looks a bit pale...", "You look a bit pale...") + + return + + +/* +////////////////////////////////////// +Revitiligo + + Extremely Noticable. + Decreases resistance slightly. + Reduces stage speed slightly. + Reduces transmission. + Critical Level. + +BONUS + Makes the mob gain skin pigmentation. + +////////////////////////////////////// +*/ + +/datum/symptom/revitiligo + + name = "Revitiligo" + stealth = -3 + resistance = -1 + stage_speed = -1 + transmittable = -2 + level = 5 + severity = 1 + +/datum/symptom/vitiligo/Activate(var/datum/disease/advance/A) + ..() + if(prob(SYMPTOM_ACTIVATION_PROB)) + var/mob/living/M = A.affected_mob + if(istype(M, /mob/living/carbon/human)) + var/mob/living/carbon/human/H = M + if(H.skin_tone == "african2") + return + switch(A.stage) + if(5) + H.skin_tone = "african2" + H.update_body(0) + else + H.visible_message("[H] looks a bit dark...", "You look a bit dark...") + + return \ No newline at end of file diff --git a/code/datums/diseases/advance/symptoms/visionloss.dm b/code/datums/diseases/advance/symptoms/vision.dm similarity index 54% rename from code/datums/diseases/advance/symptoms/visionloss.dm rename to code/datums/diseases/advance/symptoms/vision.dm index c80b5a35d6c..b63a4ee729f 100644 --- a/code/datums/diseases/advance/symptoms/visionloss.dm +++ b/code/datums/diseases/advance/symptoms/vision.dm @@ -1,49 +1,89 @@ -/* -////////////////////////////////////// - -Hyphema (Eye bleeding) - - Slightly noticable. - Lowers resistance tremendously. - Decreases stage speed tremendously. - Decreases transmittablity. - Critical Level. - -Bonus - Causes blindness. - -////////////////////////////////////// -*/ - -/datum/symptom/visionloss - - name = "Hyphema" - stealth = -1 - resistance = -4 - stage_speed = -4 - transmittable = -3 - level = 5 - severity = 4 - -/datum/symptom/visionloss/Activate(var/datum/disease/advance/A) - ..() - if(prob(SYMPTOM_ACTIVATION_PROB)) - var/mob/living/M = A.affected_mob - switch(A.stage) - if(1, 2) - M << "Your eyes itch." - if(3, 4) - M << "Your eyes ache." - M.eye_blurry = 10 - M.eye_stat += 1 - else - M << "Your eyes burn horrificly!" - M.eye_blurry = 20 - M.eye_stat += 5 - if (M.eye_stat >= 10) - M.disabilities |= NEARSIGHT - if (prob(M.eye_stat - 10 + 1) && !(M.eye_blind)) - M << "You go blind!" - M.disabilities |= BLIND - M.eye_blind = 1 - return \ No newline at end of file +/* +////////////////////////////////////// + +Hyphema (Eye bleeding) + + Slightly noticable. + Lowers resistance tremendously. + Decreases stage speed tremendously. + Decreases transmittablity. + Critical Level. + +Bonus + Causes blindness. + +////////////////////////////////////// +*/ + +/datum/symptom/visionloss + + name = "Hyphema" + stealth = -1 + resistance = -4 + stage_speed = -4 + transmittable = -3 + level = 5 + severity = 4 + +/datum/symptom/visionloss/Activate(var/datum/disease/advance/A) + ..() + if(prob(SYMPTOM_ACTIVATION_PROB)) + var/mob/living/M = A.affected_mob + switch(A.stage) + if(1, 2) + M << "Your eyes itch." + if(3, 4) + M << "Your eyes ache." + M.eye_blurry = 10 + M.eye_stat += 1 + else + M << "Your eyes burn horrificly!" + M.eye_blurry = 20 + M.eye_stat += 5 + if (M.eye_stat >= 10) + M.disabilities |= NEARSIGHT + if (prob(M.eye_stat - 10 + 1) && !(M.eye_blind)) + M << "You go blind!" + M.disabilities |= BLIND + M.eye_blind = 1 + return + + +/* +////////////////////////////////////// + +Ocular Restoration + + Noticable. + Lowers resistance significantly. + Decreases stage speed moderately.. + Decreases transmittablity tremendously. + High level. + +Bonus + Restores eyesight. + +////////////////////////////////////// +*/ + +/datum/symptom/visionaid + + name = "Ocular Restoration" + stealth = -1 + resistance = -3 + stage_speed = -2 + transmittable = -4 + level = 4 + +/datum/symptom/visionaid/Activate(var/datum/disease/advance/A) + ..() + if(prob(SYMPTOM_ACTIVATION_PROB * 5)) + var/mob/living/M = A.affected_mob + switch(A.stage) + if(4, 5) + if (M.reagents.get_reagent_amount("oculine") < 20) + M.reagents.add_reagent("oculine", 20) + else + if(prob(SYMPTOM_ACTIVATION_PROB * 5)) + M << "[pick("Your eyes feel great.", "You are now blinking manually.", "You don't feel the need to blink.")]" + return diff --git a/code/datums/diseases/advance/symptoms/visionaid.dm b/code/datums/diseases/advance/symptoms/visionaid.dm deleted file mode 100644 index cb77b24c74e..00000000000 --- a/code/datums/diseases/advance/symptoms/visionaid.dm +++ /dev/null @@ -1,38 +0,0 @@ -/* -////////////////////////////////////// - -Ocular Restoration - - Noticable. - Lowers resistance significantly. - Decreases stage speed moderately.. - Decreases transmittablity tremendously. - High level. - -Bonus - Restores eyesight. - -////////////////////////////////////// -*/ - -/datum/symptom/visionaid - - name = "Ocular Restoration" - stealth = -1 - resistance = -3 - stage_speed = -2 - transmittable = -4 - level = 4 - -/datum/symptom/visionaid/Activate(var/datum/disease/advance/A) - ..() - if(prob(SYMPTOM_ACTIVATION_PROB * 5)) - var/mob/living/M = A.affected_mob - switch(A.stage) - if(4, 5) - if (M.reagents.get_reagent_amount("oculine") < 20) - M.reagents.add_reagent("oculine", 20) - else - if(prob(SYMPTOM_ACTIVATION_PROB * 5)) - M << "[pick("Your eyes feel great.", "You are now blinking manually.", "You don't feel the need to blink.")]" - return diff --git a/code/datums/diseases/advance/symptoms/vitiligo.dm b/code/datums/diseases/advance/symptoms/vitiligo.dm deleted file mode 100644 index e24be2c36b5..00000000000 --- a/code/datums/diseases/advance/symptoms/vitiligo.dm +++ /dev/null @@ -1,42 +0,0 @@ -/* -////////////////////////////////////// -Vitiligo - - Extremely Noticable. - Decreases resistance slightly. - Reduces stage speed slightly. - Reduces transmission. - Critical Level. - -BONUS - Makes the mob lose skin pigmentation. - -////////////////////////////////////// -*/ - -/datum/symptom/vitiligo - - name = "Vitiligo" - stealth = -3 - resistance = -1 - stage_speed = -1 - transmittable = -2 - level = 5 - severity = 1 - -/datum/symptom/vitiligo/Activate(var/datum/disease/advance/A) - ..() - if(prob(SYMPTOM_ACTIVATION_PROB)) - var/mob/living/M = A.affected_mob - if(istype(M, /mob/living/carbon/human)) - var/mob/living/carbon/human/H = M - if(H.skin_tone == "albino") - return - switch(A.stage) - if(5) - H.skin_tone = "albino" - H.update_body(0) - else - H.visible_message("[H] looks a bit pale...", "You look a bit pale...") - - return \ No newline at end of file diff --git a/tgstation.dme b/tgstation.dme index 35257140988..9f5bc6f83a8 100644 --- a/tgstation.dme +++ b/tgstation.dme @@ -196,12 +196,11 @@ #include "code\datums\diseases\advance\symptoms\oxygen.dm" #include "code\datums\diseases\advance\symptoms\shedding.dm" #include "code\datums\diseases\advance\symptoms\shivering.dm" +#include "code\datums\diseases\advance\symptoms\skin.dm" #include "code\datums\diseases\advance\symptoms\sneeze.dm" #include "code\datums\diseases\advance\symptoms\stimulant.dm" #include "code\datums\diseases\advance\symptoms\symptoms.dm" -#include "code\datums\diseases\advance\symptoms\visionaid.dm" -#include "code\datums\diseases\advance\symptoms\visionloss.dm" -#include "code\datums\diseases\advance\symptoms\vitiligo.dm" +#include "code\datums\diseases\advance\symptoms\vision.dm" #include "code\datums\diseases\advance\symptoms\voice_change.dm" #include "code\datums\diseases\advance\symptoms\vomit.dm" #include "code\datums\diseases\advance\symptoms\weight.dm" From 81983af468e004b360eb639c209facc768af82ca Mon Sep 17 00:00:00 2001 From: TZK13 Date: Tue, 20 Jan 2015 01:25:54 -0600 Subject: [PATCH 006/122] Updated changelog. --- html/changelogs/TZK13-PR-7197.yml | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/html/changelogs/TZK13-PR-7197.yml b/html/changelogs/TZK13-PR-7197.yml index 27a304d4091..665b84e1627 100644 --- a/html/changelogs/TZK13-PR-7197.yml +++ b/html/changelogs/TZK13-PR-7197.yml @@ -3,4 +3,7 @@ author: TZK13 delete-after: True changes: - - rscadd: "Advancements in the field of virology by Nanotrasen's finest have uncovered two new disease symptoms with one suitable for deployment on station to treat eye trauma while the other is a fiery addition to our biological weapons program." \ No newline at end of file + - rscadd: "Advancements in the field of virology by Nanotrasen's finest have uncovered three new disease symptoms for further research:" + - rscadd: "Ocular Restoration heals any eye trauma experienced by the infected patient." + - rscadd: "Revitiligo increases the pigmentation levels of the infected patient's skin." + - rscadd: "Spontaneous Combustion ignites the infected patient without warning." \ No newline at end of file From 1cdd5f011f8225a6549db943c86a4ce37e9fcef4 Mon Sep 17 00:00:00 2001 From: paprka Date: Tue, 20 Jan 2015 19:17:59 -0800 Subject: [PATCH 007/122] blood for the blood god --- .../effects/decals/Cleanable/humans.dm | 11 +- code/modules/mob/living/carbon/human/blood.dm | 310 ++++++++++++++++++ code/modules/mob/living/carbon/human/human.dm | 2 + .../mob/living/carbon/human/human_defines.dm | 2 +- code/modules/mob/living/carbon/human/life.dm | 3 + code/modules/reagents/Chemistry-Holder.dm | 40 ++- .../Chemistry-Reagents/Chemistry-Reagents.dm | 1 - .../reagents/reagent_containers/blood_pack.dm | 48 +++ .../reagents/reagent_containers/syringes.dm | 60 +--- tgstation.dme | 1 + 10 files changed, 431 insertions(+), 47 deletions(-) create mode 100644 code/modules/mob/living/carbon/human/blood.dm create mode 100644 code/modules/reagents/reagent_containers/blood_pack.dm diff --git a/code/game/objects/effects/decals/Cleanable/humans.dm b/code/game/objects/effects/decals/Cleanable/humans.dm index f3817b101fc..d8b7892af48 100644 --- a/code/game/objects/effects/decals/Cleanable/humans.dm +++ b/code/game/objects/effects/decals/Cleanable/humans.dm @@ -91,6 +91,13 @@ var/datum/disease/ND = D.Copy(1) b.viruses += ND ND.holder = b - if (step_to(src, get_step(src, direction), 0)) - break \ No newline at end of file + break + +/obj/effect/decal/cleanable/blood/drip + name = "drips of blood" + desc = "It's red." + gender = PLURAL + icon = 'icons/effects/drip.dmi' + icon_state = "1" + random_icon_states = list("1","2","3","4","5") \ No newline at end of file diff --git a/code/modules/mob/living/carbon/human/blood.dm b/code/modules/mob/living/carbon/human/blood.dm new file mode 100644 index 00000000000..7f554f0964d --- /dev/null +++ b/code/modules/mob/living/carbon/human/blood.dm @@ -0,0 +1,310 @@ +/**************************************************** + BLOOD SYSTEM +****************************************************/ +//Blood levels +var/const/BLOOD_VOLUME_SAFE = 501 +var/const/BLOOD_VOLUME_OKAY = 336 +var/const/BLOOD_VOLUME_BAD = 224 +var/const/BLOOD_VOLUME_SURVIVE = 122 + +/mob/living/carbon/human/var/datum/reagents/vessel //Container for blood and BLOOD ONLY. Do not transfer other chems here. +/mob/living/carbon/human/var/var/pale = 0 //Should affect how mob sprite is drawn, but currently doesn't. + +//Initializes blood vessels +/mob/living/carbon/human/proc/make_blood() + + if(vessel) + return + + vessel = new/datum/reagents(600) + vessel.my_atom = src + + if(NOBLOOD in dna.species.specflags) + return + + vessel.add_reagent("blood",560) + spawn(1) + fixblood() + +//Resets blood data +/mob/living/carbon/human/proc/fixblood() + for(var/datum/reagent/blood/B in vessel.reagent_list) + if(B.id == "blood") + B.data = list("donor"=src,"viruses"=null,"blood_DNA"=dna.unique_enzymes,"blood_type"=dna.blood_type,"resistances"=null,"trace_chem"=null,"mind"=null,"ckey"=null,"gender"=null,"real_name"=null,"cloneable"=null,"factions"=null) + +// Takes care blood loss and regeneration +/mob/living/carbon/human/proc/handle_blood() + + if(NOBLOOD in dna.species.specflags) + return + + if(stat != DEAD && bodytemperature >= 170) //Dead or cryosleep people do not pump the blood. + + var/blood_volume = round(vessel.get_reagent_amount("blood")) + + //Blood regeneration if there is some space + if(blood_volume < 560 && blood_volume) + var/datum/reagent/blood/B = locate() in vessel.reagent_list //Grab some blood + if(B) // Make sure there's some blood at all + if(B.data["donor"] != src) //If it's not theirs, then we look for theirs + for(var/datum/reagent/blood/D in vessel.reagent_list) + if(D.data["donor"] == src) + B = D + break + + B.volume += 0.1 // regenerate blood VERY slowly + if (reagents.has_reagent("nutriment")) //Getting food speeds it up + B.volume += 0.4 + reagents.remove_reagent("nutriment", 0.1) + if (reagents.has_reagent("iron")) //Hematogen candy anyone? + B.volume += 0.8 + reagents.remove_reagent("iron", 0.1) + + //Effects of bloodloss + switch(blood_volume) + if(BLOOD_VOLUME_SAFE to 10000) + if(pale) + pale = 0 + update_body() + if(BLOOD_VOLUME_OKAY to BLOOD_VOLUME_SAFE) + if(!pale) + pale = 1 + update_body() + var/word = pick("dizzy","woosey","faint") + src << "\red You feel [word]" + if(prob(1)) + var/word = pick("dizzy","woosey","faint") + src << "\red You feel [word]" + if(oxyloss < 20) + oxyloss += 3 + if(BLOOD_VOLUME_BAD to BLOOD_VOLUME_OKAY) + if(!pale) + pale = 1 + update_body() + eye_blurry += 6 + if(oxyloss < 50) + oxyloss += 10 + oxyloss += 1 + if(prob(5)) + Paralyse(rand(1,3)) + var/word = pick("dizzy","woosey","faint") + src << "\red You feel extremely [word]" + if(BLOOD_VOLUME_SURVIVE to BLOOD_VOLUME_BAD) + oxyloss += 5 + if(prob(15)) + var/word = pick("dizzy","woosey","faint") + src << "\red You feel extremely [word]" + if(0 to BLOOD_VOLUME_SURVIVE) + // There currently is a strange bug here. If the mob is not below -100 health + // when death() is called, apparently they will be just fine, and this way it'll + // spam deathgasp. Adjusting toxloss ensures the mob will stay dead. + death() + + //Bleeding out + var/blood_max = 0 + for(var/obj/item/organ/limb/org in organs) + var/brutedamage = org.brute_dam + + if(brutedamage > 40) + blood_max += 0.5 + if(brutedamage > 60) + blood_max += 1 + if(brutedamage > 80) + blood_max += 2 + + drip(blood_max) + +//Makes a blood drop, leaking amt units of blood from the mob +/mob/living/carbon/human/proc/drip(var/amt as num) + + if(NOBLOOD in dna.species.specflags) + return + + if(!amt) + return + + vessel.remove_reagent("blood",amt) + blood_splatter(src,src) + +/**************************************************** + BLOOD TRANSFERS +****************************************************/ + +//Gets blood from mob to the container, preserving all data in it. +/mob/living/carbon/proc/take_blood(obj/item/weapon/reagent_containers/container, var/amount) + + var/datum/reagent/B = get_blood(container.reagents) + if(!B) B = new /datum/reagent/blood + B.holder = container + B.volume += amount + + //set reagent data + B.data["donor"] = src + + /* + if(T.virus && T.virus.spread_type != SPECIAL) + B.data["virus"] = new T.virus.type(0) + */ + + for(var/datum/disease/D in src.viruses) + if(!B.data["viruses"]) + B.data["viruses"] = list() + + B.data["viruses"] += new D.type(0, D, 1) + + B.data["blood_DNA"] = copytext(src.dna.unique_enzymes,1,0) + if(src.resistances&&src.resistances.len) + B.data["resistances"] = src.resistances.Copy() + var/list/temp_chem = list() + for(var/datum/reagent/R in src.reagents.reagent_list) + temp_chem += R.name + temp_chem[R.name] = R.volume + B.data["trace_chem"] = list2params(temp_chem) + if(mind) + B.data["mind"] = src.mind + if(ckey) + B.data["ckey"] = src.ckey + if(!suiciding) + B.data["cloneable"] = 1 + B.data["blood_type"] = copytext(src.dna.blood_type,1,0) + B.data["gender"] = src.gender + B.data["real_name"] = src.real_name + B.data["factions"] = src.faction + return B + +//For humans, blood does not appear from blue, it comes from vessels. +/mob/living/carbon/human/take_blood(obj/item/weapon/reagent_containers/container, var/amount) + + if(NOBLOOD in dna.species.specflags) + return null + + if(vessel.get_reagent_amount("blood") < amount) + return null + + . = ..() + vessel.remove_reagent("blood",amount) // Removes blood if human + +//Transfers blood from container ot vessels +/mob/living/carbon/proc/inject_blood(obj/item/weapon/reagent_containers/container, var/amount) + + var/datum/reagent/blood/injected = get_blood(container.reagents) + + if(NOBLOOD in dna.species.specflags) + reagents.add_reagent("blood", amount, injected.data) + reagents.update_total() + return + + if(!injected) + return + + var/list/chems = list() + chems = params2list(injected.data["trace_chem"]) + for(var/C in chems) + src.reagents.add_reagent(C, (text2num(chems[C]) / 560) * amount)//adds trace chemicals to owner's blood + reagents.update_total() + + container.reagents.remove_reagent("blood", amount) + +//Transfers blood from container ot vessels, respecting blood types compatability. +/mob/living/carbon/human/inject_blood(obj/item/weapon/reagent_containers/container, var/amount) + + var/datum/reagent/blood/injected = get_blood(container.reagents) + + var/datum/reagent/blood/our = get_blood(vessel) + + if (!injected || !our) + return + if(blood_incompatible(injected.data["blood_type"],our.data["blood_type"],injected.data["species"],our.data["species"]) ) + reagents.add_reagent("toxin",amount * 0.5) + reagents.update_total() + else + vessel.add_reagent("blood", amount, injected.data) + vessel.update_total() + ..() + +//Gets human's own blood. +/mob/living/carbon/proc/get_blood(datum/reagents/container) + var/datum/reagent/blood/res = locate() in container.reagent_list //Grab some blood + if(res) // Make sure there's some blood at all + if(res.data["donor"] != src) //If it's not theirs, then we look for theirs + for(var/datum/reagent/blood/D in container.reagent_list) + if(D.data["donor"] == src) + return D + return res + +/mob/living/carbon/proc/blood_incompatible(donor,receiver,donor_species,receiver_species) + if(!donor || !receiver) return 0 + + if(donor_species && receiver_species) + if(donor_species != receiver_species) + return 1 + + var/donor_antigen = copytext(donor,1,lentext(donor)) + var/receiver_antigen = copytext(receiver,1,lentext(receiver)) + var/donor_rh = (findtext(donor,"+")>0) + var/receiver_rh = (findtext(receiver,"+")>0) + + if(donor_rh && !receiver_rh) return 1 + switch(receiver_antigen) + if("A") + if(donor_antigen != "A" && donor_antigen != "O") return 1 + if("B") + if(donor_antigen != "B" && donor_antigen != "O") return 1 + if("O") + if(donor_antigen != "O") return 1 + //AB is a universal receiver. + return 0 + +/mob/living/carbon/proc/blood_splatter(var/target,var/datum/reagent/blood/source,var/large) + + var/obj/effect/decal/cleanable/blood/B + var/decal_type = /obj/effect/decal/cleanable/blood/splatter + var/turf/T = get_turf(target) + + if(istype(source,/mob/living/carbon/human)) + var/mob/living/carbon/human/M = source + source = M.get_blood(M.vessel) + else if(istype(source,/mob/living/carbon/monkey)) + var/mob/living/carbon/monkey/donor = source + if(donor.dna) + source = new() + source.data["blood_DNA"] = donor.dna.unique_enzymes + source.data["blood_type"] = donor.dna.blood_type + + // Are we dripping or splattering? + if(!large) + + // Only a certain number of drips can be on a given turf. + var/list/drips = list() + var/list/drip_icons = list("1","2","3","4","5") + + for(var/obj/effect/decal/cleanable/blood/drip/drop in T) + drips += drop + drip_icons.Remove(drop.icon_state) + + // If we have too many drips, remove them and spawn a proper blood splatter. + if(drips.len >= 5) + //TODO: copy all virus data from drips to new splatter? + for(var/obj/effect/decal/cleanable/blood/drip/drop in drips) + del drop + else + decal_type = /obj/effect/decal/cleanable/blood/drip + + // Find a blood decal or create a new one. + B = locate(decal_type) in T + if(!B) + B = new decal_type(T) + + // If there's no data to copy, call it quits here. + if(!source) + return B + + // Update blood information. + if(source.data["blood_DNA"]) + B.blood_DNA = list() + if(source.data["blood_type"]) + B.blood_DNA[source.data["blood_DNA"]] = source.data["blood_type"] + else + B.blood_DNA[source.data["blood_DNA"]] = "O+" + + return B \ No newline at end of file diff --git a/code/modules/mob/living/carbon/human/human.dm b/code/modules/mob/living/carbon/human/human.dm index 068333c71a1..9549db4a779 100644 --- a/code/modules/mob/living/carbon/human/human.dm +++ b/code/modules/mob/living/carbon/human/human.dm @@ -26,6 +26,8 @@ internal_organs += new /obj/item/organ/heart internal_organs += new /obj/item/organ/brain + make_blood() + // for spawned humans; overwritten by other code ready_dna(src) randomize_human(src) diff --git a/code/modules/mob/living/carbon/human/human_defines.dm b/code/modules/mob/living/carbon/human/human_defines.dm index de9f0ea57c0..52ac1a6c0db 100644 --- a/code/modules/mob/living/carbon/human/human_defines.dm +++ b/code/modules/mob/living/carbon/human/human_defines.dm @@ -17,7 +17,7 @@ var/lip_style = null //no lipstick by default- arguably misleading, as it could be used for general makeup var/age = 30 //Player's age (pure fluff) - var/blood_type = "A+" //Player's bloodtype (Not currently used, just character fluff) + var/blood_type = "A+" //Player's bloodtype var/underwear = "Nude" //Which underwear the player wants var/undershirt = "Nude" //Which undershirt the player wants diff --git a/code/modules/mob/living/carbon/human/life.dm b/code/modules/mob/living/carbon/human/life.dm index 4b8964e6f20..a6477d24f93 100644 --- a/code/modules/mob/living/carbon/human/life.dm +++ b/code/modules/mob/living/carbon/human/life.dm @@ -84,6 +84,9 @@ //Disabilities handle_disabilities() + //Blud + handle_blood() + //Random events (vomiting etc) handle_random_events() diff --git a/code/modules/reagents/Chemistry-Holder.dm b/code/modules/reagents/Chemistry-Holder.dm index 17e51b1f63d..ab071558348 100644 --- a/code/modules/reagents/Chemistry-Holder.dm +++ b/code/modules/reagents/Chemistry-Holder.dm @@ -107,9 +107,15 @@ datum/reagents/proc/trans_to(var/obj/target, var/amount=1, var/multiplier=1, var var/part = amount / src.total_volume var/trans_data = null for (var/datum/reagent/current_reagent in src.reagent_list) + if (!current_reagent) + continue + if (current_reagent.id == "blood" && ishuman(target)) + var/mob/living/carbon/human/H = target + H.inject_blood(my_atom, amount) + continue var/current_reagent_transfer = current_reagent.volume * part if(preserve_data) - trans_data = current_reagent.data + trans_data = copy_data(current_reagent) R.add_reagent(current_reagent.id, (current_reagent_transfer * multiplier), trans_data) src.remove_reagent(current_reagent.id, current_reagent_transfer) @@ -523,6 +529,38 @@ datum/reagents/proc/delete() if(my_atom) my_atom.reagents = null + //two helper functions to preserve data across reactions (needed for xenoarch) +datum/reagents/proc/get_data(var/reagent_id) + for(var/datum/reagent/D in reagent_list) + if(D.id == reagent_id) + //world << "proffering a data-carrying reagent ([reagent_id])" + return D.data + +datum/reagents/proc/set_data(var/reagent_id, var/new_data) + for(var/datum/reagent/D in reagent_list) + if(D.id == reagent_id) + //world << "reagent data set ([reagent_id])" + D.data = new_data + +datum/reagents/proc/copy_data(var/datum/reagent/current_reagent) + if (!current_reagent || !current_reagent.data) return null + if (!istype(current_reagent.data, /list)) return current_reagent.data + + var/list/trans_data = current_reagent.data.Copy() + + // We do this so that introducing a virus to a blood sample + // doesn't automagically infect all other blood samples from + // the same donor. + // + // Technically we should probably copy all data lists, but + // that could possibly eat up a lot of memory needlessly + // if most data lists are read-only. + if (trans_data["viruses"]) + var/list/v = trans_data["viruses"] + trans_data["viruses"] = v.Copy() + + return trans_data + /////////////////////////////////////////////////////////////////////////////////// diff --git a/code/modules/reagents/Chemistry-Reagents/Chemistry-Reagents.dm b/code/modules/reagents/Chemistry-Reagents/Chemistry-Reagents.dm index 1f1c086844e..b0c5efc3804 100644 --- a/code/modules/reagents/Chemistry-Reagents/Chemistry-Reagents.dm +++ b/code/modules/reagents/Chemistry-Reagents/Chemistry-Reagents.dm @@ -166,7 +166,6 @@ datum/reagent/blood/on_merge(var/list/data) src.data["viruses"] = preserve return 1 - datum/reagent/blood/reaction_turf(var/turf/simulated/T, var/volume)//splash the blood all over the place if(!istype(T)) return var/datum/reagent/blood/self = src diff --git a/code/modules/reagents/reagent_containers/blood_pack.dm b/code/modules/reagents/reagent_containers/blood_pack.dm new file mode 100644 index 00000000000..c091f1db8e1 --- /dev/null +++ b/code/modules/reagents/reagent_containers/blood_pack.dm @@ -0,0 +1,48 @@ +/obj/item/weapon/reagent_containers/blood + name = "BloodPack" + desc = "Contains blood used for transfusion." + icon = 'icons/obj/bloodpack.dmi' + icon_state = "empty" + volume = 200 + + var/blood_type = null + + New() + ..() + if(blood_type != null) + name = "BloodPack [blood_type]" + reagents.add_reagent("blood", 200, list("donor"=null,"viruses"=null,"blood_DNA"=null,"blood_type"=blood_type,"resistances"=null,"trace_chem"=null)) + update_icon() + + on_reagent_change() + update_icon() + + update_icon() + var/percent = round((reagents.total_volume / volume) * 100) + switch(percent) + if(0 to 9) icon_state = "empty" + if(10 to 50) icon_state = "half" + if(51 to INFINITY) icon_state = "full" + +/obj/item/weapon/reagent_containers/blood/APlus + blood_type = "A+" + +/obj/item/weapon/reagent_containers/blood/AMinus + blood_type = "A-" + +/obj/item/weapon/reagent_containers/blood/BPlus + blood_type = "B+" + +/obj/item/weapon/reagent_containers/blood/BMinus + blood_type = "B-" + +/obj/item/weapon/reagent_containers/blood/OPlus + blood_type = "O+" + +/obj/item/weapon/reagent_containers/blood/OMinus + blood_type = "O-" + +/obj/item/weapon/reagent_containers/blood/empty + name = "Empty BloodPack" + desc = "Seems pretty useless... Maybe if there were a way to fill it?" + icon_state = "empty" \ No newline at end of file diff --git a/code/modules/reagents/reagent_containers/syringes.dm b/code/modules/reagents/reagent_containers/syringes.dm index 55809262260..496f759c092 100644 --- a/code/modules/reagents/reagent_containers/syringes.dm +++ b/code/modules/reagents/reagent_containers/syringes.dm @@ -74,11 +74,10 @@ if(istype(target, /mob/living/carbon)) //maybe just add a blood reagent to all mobs. Then you can suck them dry...With hundreds of syringes. Jolly good idea. var/amount = src.reagents.maximum_volume - src.reagents.total_volume var/mob/living/carbon/T = target - var/datum/reagent/B = new /datum/reagent/blood if(!check_dna_integrity(T)) user << "You are unable to locate any blood." return - if(NOCLONE in T.mutations) //target done been et, no more blood in him + if(NOCLONE in T.mutations) //target done been eat, no more blood in him user << "You are unable to locate any blood." return if(target != user) @@ -89,46 +88,14 @@ busy = 0 return busy = 0 - B.holder = src - B.volume = amount - //set reagent data - B.data["donor"] = T + var/datum/reagent/B + B = T.take_blood(src,amount) - /* - if(T.virus && T.virus.spread_type != SPECIAL) - B.data["virus"] = new T.virus.type(0) - */ - - for(var/datum/disease/D in T.viruses) - if(!B.data["viruses"]) - B.data["viruses"] = list() - - B.data["viruses"] += new D.type(0, D, 1) - - B.data["blood_DNA"] = copytext(T.dna.unique_enzymes,1,0) - if(T.resistances&&T.resistances.len) - B.data["resistances"] = T.resistances.Copy() - if(istype(target, /mob/living/carbon/human))//I wish there was some hasproperty operation... - var/mob/living/carbon/human/HT = target - B.data["blood_type"] = copytext(HT.dna.blood_type,1,0) - var/list/temp_chem = list() - for(var/datum/reagent/R in target.reagents.reagent_list) - temp_chem += R.name - temp_chem[R.name] = R.volume - B.data["trace_chem"] = list2params(temp_chem) - if(T.mind) - B.data["mind"] = T.mind - if(T.ckey) - B.data["ckey"] = T.ckey - if(!T.suiciding) - B.data["cloneable"] = 1 - B.data["gender"] = T.gender - B.data["real_name"] = T.real_name - B.data["factions"] = T.faction - reagents.reagent_list += B - reagents.update_total() - on_reagent_change() - reagents.handle_reactions() + if (B) + src.reagents.reagent_list += B + src.reagents.update_total() + src.on_reagent_change() + src.reagents.handle_reactions() user.visible_message("[user] takes a blood sample from [target].") else //if not mob @@ -188,7 +155,16 @@ reagents.reaction(target, INGEST) spawn(5) target.add_fingerprint(user) - var/trans = src.reagents.trans_to(target, amount_per_transfer_from_this) + var/datum/reagent/blood/B + for(var/datum/reagent/blood/d in src.reagents.reagent_list) + B = d + break + var/trans + if(B && istype(target,/mob/living/carbon)) + var/mob/living/carbon/C = target + C.inject_blood(src,5) + else + trans = src.reagents.trans_to(target, amount_per_transfer_from_this) user << "You inject [trans] unit\s of the solution. [src] now contains [reagents.total_volume] unit\s." if(reagents.total_volume <= 0 && mode == SYRINGE_INJECT) mode = SYRINGE_DRAW diff --git a/tgstation.dme b/tgstation.dme index 45986d097b7..84a80ac8482 100644 --- a/tgstation.dme +++ b/tgstation.dme @@ -1072,6 +1072,7 @@ #include "code\modules\mob\living\carbon\brain\life.dm" #include "code\modules\mob\living\carbon\brain\MMI.dm" #include "code\modules\mob\living\carbon\brain\say.dm" +#include "code\modules\mob\living\carbon\human\blood.dm" #include "code\modules\mob\living\carbon\human\death.dm" #include "code\modules\mob\living\carbon\human\emote.dm" #include "code\modules\mob\living\carbon\human\examine.dm" From a22d1ecfe2584a536b84dac49bc62cb32c939af1 Mon Sep 17 00:00:00 2001 From: Lo6a4evskiy Date: Wed, 21 Jan 2015 21:21:47 +0400 Subject: [PATCH 008/122] Adds photos and species to security and medical records, plus some other tweaking --- code/datums/datacore.dm | 11 +- code/game/machinery/computer/medical.dm | 11 +- code/game/machinery/computer/security.dm | 60 +++- .../mob/living/carbon/human/examine.dm | 42 ++- code/modules/mob/living/carbon/human/human.dm | 272 +++++++++++------- code/modules/mob/living/silicon/ai/ai.dm | 1 - .../modules/mob/living/silicon/robot/robot.dm | 1 - code/modules/mob/living/silicon/silicon.dm | 5 + code/modules/paperwork/photography.dm | 12 +- 9 files changed, 280 insertions(+), 135 deletions(-) diff --git a/code/datums/datacore.dm b/code/datums/datacore.dm index 9dc95c688c0..7610595aef6 100644 --- a/code/datums/datacore.dm +++ b/code/datums/datacore.dm @@ -190,6 +190,7 @@ var/record_id_num = 1001 assignment = "Unassigned" var/id = num2hex(record_id_num++,6) + var/image = get_id_photo(H) //These records should ~really~ be merged or something //General Record @@ -198,12 +199,14 @@ var/record_id_num = 1001 G.fields["name"] = H.real_name G.fields["rank"] = assignment G.fields["age"] = H.age + if(config.mutant_races) + G.fields["species"] = H.dna.species.name G.fields["fingerprint"] = md5(H.dna.uni_identity) G.fields["p_stat"] = "Active" G.fields["m_stat"] = "Stable" G.fields["sex"] = H.gender - G.fields["photo_front"] = icon(get_id_photo(H), dir = SOUTH) - G.fields["photo_side"] = icon(get_id_photo(H), dir = WEST) + G.fields["photo_front"] = icon(image, dir = SOUTH) + G.fields["photo_side"] = icon(image, dir = WEST) general += G //Medical Record @@ -244,7 +247,7 @@ var/record_id_num = 1001 L.fields["b_dna"] = H.dna.unique_enzymes L.fields["enzymes"] = H.dna.struc_enzymes L.fields["identity"] = H.dna.uni_identity - L.fields["image"] = getFlatIcon(H) //This is god-awful + L.fields["image"] = image locked += L return @@ -345,7 +348,7 @@ var/record_id_num = 1001 clothes_s = icon('icons/mob/uniform.dmi', "cmo_s") clothes_s.Blend(icon('icons/mob/feet.dmi', "brown"), ICON_UNDERLAY) clothes_s.Blend(icon('icons/mob/suit.dmi', "labcoat_cmo"), ICON_OVERLAY) - if("Doctor") + if("Medical Doctor") clothes_s = icon('icons/mob/uniform.dmi', "medical_s") clothes_s.Blend(icon('icons/mob/feet.dmi', "white"), ICON_UNDERLAY) clothes_s.Blend(icon('icons/mob/suit.dmi', "labcoat"), ICON_OVERLAY) diff --git a/code/game/machinery/computer/medical.dm b/code/game/machinery/computer/medical.dm index a35235d51a1..bbdc0b8117b 100644 --- a/code/game/machinery/computer/medical.dm +++ b/code/game/machinery/computer/medical.dm @@ -105,10 +105,13 @@ dat += "" if(active1 in data_core.general) - dat += "" + user << browse_rsc(active1.fields["photo_front"], "photo_front") + user << browse_rsc(active1.fields["photo_side"], "photo_side") + dat += "" dat += "" dat += "" dat += "" + dat += "" dat += "" dat += "" dat += "" @@ -294,6 +297,12 @@ if ((!( t1 ) || !( src.authenticated ) || usr.stat || usr.restrained() || (!in_range(src, usr) && (!istype(usr, /mob/living/silicon))) || src.active1 != a1)) return src.active1.fields["age"] = t1 + if("species") + if(active1) + var/t1 = input("Select a species", "Species Selection") as null|anything in roundstart_species + if ((!( t1 ) || !( src.authenticated ) || usr.stat || usr.restrained() || (!in_range(src, usr) && (!istype(usr, /mob/living/silicon))) || src.active1 != a1)) + return + active1.fields["species"] = t1 if("mi_dis") if(active2) var/t1 = copytext(sanitize(input("Please input minor disabilities list:", "Med. records", src.active2.fields["mi_dis"], null) as text),1,MAX_MESSAGE_LEN) diff --git a/code/game/machinery/computer/security.dm b/code/game/machinery/computer/security.dm index d44f044f352..ad7c6bf2d1f 100644 --- a/code/game/machinery/computer/security.dm +++ b/code/game/machinery/computer/security.dm @@ -162,20 +162,25 @@ if ((istype(active1, /datum/data/record) && data_core.general.Find(active1))) user << browse_rsc(active1.fields["photo_front"], "photo_front") user << browse_rsc(active1.fields["photo_side"], "photo_side") - dat += {"
Medical Record
Name:[active1.fields["name"]]
Name:[active1.fields["name"]]
ID:[active1.fields["id"]]
Sex: [active1.fields["sex"]] 
Age: [active1.fields["age"]] 
Species: [active1.fields["species"]] 
Fingerprint: [active1.fields["fingerprint"]] 
Physical Status: [active1.fields["p_stat"]] 
Mental Status: [active1.fields["m_stat"]] 
+ dat += {"
- - + "} + if (config.mutant_races) + dat += "" + dat += {" -
Name: [active1.fields["name"]] 
ID: [active1.fields["id"]] 
Sex: [active1.fields["sex"]] 
Age: [active1.fields["age"]] 
Rank: [active1.fields["rank"]] 
Age: [active1.fields["age"]] 
Species: [active1.fields["species"]] 
Rank: [active1.fields["rank"]] 
Fingerprint: [active1.fields["fingerprint"]] 
Physical Status: [active1.fields["p_stat"]] 
Mental Status: [active1.fields["m_stat"]] 
"} +
+ +

Update front photo

Update side photo
+ "} else - dat += "General Record Lost!
" + dat += "
General Record Lost!
" if ((istype(active2, /datum/data/record) && data_core.security.Find(active2))) - dat += "
Security Data" + dat += "Security Data" dat += "
Criminal Status: [active2.fields["criminal"]]" dat += "

Minor Crimes: Add New" @@ -357,7 +362,10 @@ What a mess.*/ var/obj/item/weapon/paper/P = new /obj/item/weapon/paper( loc ) P.info = "
Security Record - (SR-[data_core.securityPrintCount])

" if ((istype(active1, /datum/data/record) && data_core.general.Find(active1))) - P.info += text("Name: [] ID: []
\nSex: []
\nAge: []
\nFingerprint: []
\nPhysical Status: []
\nMental Status: []
", active1.fields["name"], active1.fields["id"], active1.fields["sex"], active1.fields["age"], active1.fields["fingerprint"], active1.fields["p_stat"], active1.fields["m_stat"]) + P.info += text("Name: [] ID: []
\nSex: []
\nAge: []
", active1.fields["name"], active1.fields["id"], active1.fields["sex"], active1.fields["age"]) + if (config.mutant_races) + P.info += "\nSpecies: [active1.fields["species"]]
" + P.info += text("\nFingerprint: []
\nPhysical Status: []
\nMental Status: []
", active1.fields["fingerprint"], active1.fields["p_stat"], active1.fields["m_stat"]) else P.info += "General Record Lost!
" if ((istype(active2, /datum/data/record) && data_core.security.Find(active2))) @@ -471,6 +479,10 @@ What a mess.*/ G.fields["rank"] = "Unassigned" G.fields["sex"] = "Male" G.fields["age"] = "Unknown" + if(config.mutant_races) + G.fields["species"] = "Human" + G.fields["photo_front"] = new /icon() + G.fields["photo_side"] = new /icon() G.fields["fingerprint"] = "?????" G.fields["p_stat"] = "Active" G.fields["m_stat"] = "Stable" @@ -550,6 +562,20 @@ What a mess.*/ if ((!( t1 ) || !( authenticated ) || usr.stat || usr.restrained() || (!in_range(src, usr) && (!istype(usr, /mob/living/silicon))) || active1 != a1)) return active1.fields["age"] = t1 + if("species") + if (istype(active1, /datum/data/record)) + var/t1 = input("Select a species", "Species Selection") as null|anything in roundstart_species + if ((!( t1 ) || !( authenticated ) || usr.stat || usr.restrained() || (!in_range(src, usr) && (!istype(usr, /mob/living/silicon))) || active1 != a1)) + return + active1.fields["species"] = t1 + if("photo front") + var/icon/photo = get_photo(usr) + if(photo) + active1.fields["photo_front"] = photo + if("photo side") + var/icon/photo = get_photo(usr) + if(photo) + active1.fields["photo_side"] = photo if("mi_crim_add") if (istype(active1, /datum/data/record)) var/t1 = copytext(sanitize(input("Please input minor crime names:", "Secure. records", "", null) as text),1,MAX_MESSAGE_LEN) @@ -659,6 +685,16 @@ What a mess.*/ updateUsrDialog() return +/obj/machinery/computer/secure_data/proc/get_photo(var/mob/user) + if (istype(user.get_active_hand(), /obj/item/weapon/photo)) + var/obj/item/weapon/photo/photo = user.get_active_hand() + return photo.img + if (istype(user, /mob/living/silicon)) + var/mob/living/silicon/tempAI = user + var/datum/picture/selection = tempAI.GetPhoto() + if (selection) + return selection.fields["img"] + /obj/machinery/computer/secure_data/emp_act(severity) if(stat & (BROKEN|NOPOWER)) ..(severity) @@ -666,11 +702,11 @@ What a mess.*/ for(var/datum/data/record/R in data_core.security) if(prob(10/severity)) - switch(rand(1,6)) + switch(rand(1,8)) if(1) R.fields["name"] = "[pick(pick(first_names_male), pick(first_names_female))] [pick(last_names)]" if(2) - R.fields["sex"] = pick("Male", "Female") + R.fields["sex"] = pick("Male", "Female") if(3) R.fields["age"] = rand(5, 85) if(4) @@ -679,6 +715,12 @@ What a mess.*/ R.fields["p_stat"] = pick("*Unconcious*", "Active", "Physically Unfit") if(6) R.fields["m_stat"] = pick("*Insane*", "*Unstable*", "*Watch*", "Stable") + if(7) + R.fields["species"] = pick(roundstart_species) + if(8) + var/datum/data/record/G = pick(data_core.general) + R.fields["photo_front"] = G.fields["photo_front"] + R.fields["photo_side"] = G.fields["photo_side"] continue else if(prob(1)) diff --git a/code/modules/mob/living/carbon/human/examine.dm b/code/modules/mob/living/carbon/human/examine.dm index 8d0aeed8e5c..46598161546 100644 --- a/code/modules/mob/living/carbon/human/examine.dm +++ b/code/modules/mob/living/carbon/human/examine.dm @@ -252,21 +252,37 @@ if(istype(user, /mob/living/carbon/human)) var/mob/living/carbon/human/H = user - if(istype(H.glasses, /obj/item/clothing/glasses/hud/security) || istype(H.glasses, /obj/item/clothing/glasses/hud/security/sunglasses)) - if(!user.stat && user != src) //|| !user.canmove || user.restrained()) Fluff: Sechuds have eye-tracking technology and sets 'arrest' to people that the wearer looks and blinks at. - var/criminal = "None" - - var/perpname = get_face_name(get_id_name("")) - if(perpname) - var/datum/data/record/R = find_record("name", perpname, data_core.security) + if(istype(H.glasses, /obj/item/clothing/glasses/hud)) + var/perpname = get_face_name(get_id_name("")) + if(perpname) + var/datum/data/record/R = find_record("name", perpname, data_core.general) + if(R) + msg += "Rank: [R.fields["rank"]]
" + msg += "\[Front photo\] " + msg += "\[Side photo\]
" + if(istype(H.glasses, /obj/item/clothing/glasses/hud/health)) if(R) - criminal = R.fields["criminal"] + var/health = R.fields["p_stat"] + msg += "\[[health]\]" + health = R.fields["m_stat"] + msg += "\[[health]\]
" + R = find_record("name", perpname, data_core.medical) + if(R) + msg += "\[Medical evaluation\]
" - msg += "Criminal status: \[[criminal]\]\n" - msg += "Security record: \[View\] " - msg += "\[Add crime\] " - msg += "\[View comment log\] " - msg += "\[Add comment\]\n" + if(istype(H.glasses, /obj/item/clothing/glasses/hud/security)) + if(!user.stat && user != src) //|| !user.canmove || user.restrained()) Fluff: Sechuds have eye-tracking technology and sets 'arrest' to people that the wearer looks and blinks at. + var/criminal = "None" + + R = find_record("name", perpname, data_core.security) + if(R) + criminal = R.fields["criminal"] + + msg += "Criminal status: \[[criminal]\]\n" + msg += "Security record: \[View\] " + msg += "\[Add crime\] " + msg += "\[View comment log\] " + msg += "\[Add comment\]\n" msg += "*---------*" diff --git a/code/modules/mob/living/carbon/human/human.dm b/code/modules/mob/living/carbon/human/human.dm index 7862cf26e8f..26b97b5b869 100644 --- a/code/modules/mob/living/carbon/human/human.dm +++ b/code/modules/mob/living/carbon/human/human.dm @@ -306,114 +306,186 @@ ..() - - if(href_list["criminal"]) +///////HUDs/////// + if(href_list["hud"]) if(istype(usr, /mob/living/carbon/human)) var/mob/living/carbon/human/H = usr - if(istype(H.glasses, /obj/item/clothing/glasses/hud/security)) - if(usr.stat || usr == src) //|| !usr.canmove || usr.restrained()) Fluff: Sechuds have eye-tracking technology and sets 'arrest' to people that the wearer looks and blinks at. - return //Non-fluff: This allows sec to set people to arrest as they get disarmed or beaten - // Checks the user has security clearence before allowing them to change arrest status via hud, comment out to enable all access - var/allowed_access = null - var/obj/item/clothing/glasses/G = H.glasses - if (!G.emagged) - if(H.wear_id) - var/list/access = H.wear_id.GetAccess() - if(access_sec_doors in access) - allowed_access = H.get_authentification_name() - else - allowed_access = "@%&ERROR_%$*" + var/perpname = get_face_name(get_id_name("")) + if(istype(H.glasses, /obj/item/clothing/glasses/hud)) + var/datum/data/record/R = find_record("name", perpname, data_core.general) + if(R) + if(usr.stat || H.weakened || H.stunned || H.restrained() || !istype(H.glasses, /obj/item/clothing/glasses/hud)) + return + var/icon/img = null + if(href_list["photo_front"]) + img = R.fields["photo_front"] + if(href_list["photo_side"]) + img = R.fields["photo_side"] + if(img) + usr << browse_rsc(img, "photo") + usr << browse("", "window=photo;size=120x120") - - if(!allowed_access) - H << "ERROR: Invalid Access" - return - - var/perpname = get_face_name(get_id_name("")) - if(perpname) - var/datum/data/record/R = find_record("name", perpname, data_core.security) - if(R) - if(href_list["status"]) - var/setcriminal = input(usr, "Specify a new criminal status for this person.", "Security HUD", R.fields["criminal"]) in list("None", "*Arrest*", "Incarcerated", "Parolled", "Discharged", "Cancel") - if(R) - if(istype(H.glasses, /obj/item/clothing/glasses/hud/security)) - if(setcriminal != "Cancel") - investigate_log("[src.key] has been set from [R.fields["criminal"]] to [setcriminal] by [usr.name] ([usr.key]).", "records") - R.fields["criminal"] = setcriminal - sec_hud_set_security_status() + if(href_list["hud"] == "m") + if(istype(H.glasses, /obj/item/clothing/glasses/hud/health)) + if(usr.stat || H.weakened || H.stunned || H.restrained() || !istype(H.glasses, /obj/item/clothing/glasses/hud/health)) + return + if(href_list["p_stat"]) + var/health = input(usr, "Specify a new physical status for this person.", "Medical HUD", R.fields["p_stat"]) in list("Active", "Physically Unfit", "*Unconscious*", "*Deceased*", "Cancel") + if(usr.stat || H.weakened || H.stunned || H.restrained() || !istype(H.glasses, /obj/item/clothing/glasses/hud/health)) return - - if(href_list["view"]) - if(R) - if(usr.stat || H.weakened || H.stunned || H.restrained() || !istype(H.glasses, /obj/item/clothing/glasses/hud/security)) - return - usr << "Name: [R.fields["name"]] Criminal Status: [R.fields["criminal"]]" - usr << "Minor Crimes:" - for(var/datum/data/crime/c in R.fields["mi_crim"]) - usr << "Crime: [c.crimeName]" - usr << "Details: [c.crimeDetails]" - usr << "Added by [c.author] at [c.time]" - usr << "----------" - usr << "Major Crimes:" - for(var/datum/data/crime/c in R.fields["ma_crim"]) - usr << "Crime: [c.crimeName]" - usr << "Details: [c.crimeDetails]" - usr << "Added by [c.author] at [c.time]" - usr << "----------" - usr << "Notes: [R.fields["notes"]]" + if(health != "Cancel") + R.fields["p_stat"] = health + if(href_list["m_stat"]) + var/health = input(usr, "Specify a new mental status for this person.", "Medical HUD", R.fields["m_stat"]) in list("Stable", "*Watch*", "*Unstable*", "*Insane*", "Cancel") + if(usr.stat || H.weakened || H.stunned || H.restrained() || !istype(H.glasses, /obj/item/clothing/glasses/hud/health)) return + if(health != "Cancel") + R.fields["m_stat"] = health + if(href_list["evaluation"]) + if(!getBruteLoss() && !getFireLoss() && !getOxyLoss() && getToxLoss() < 20) + usr << "No external injuries detected.
" + return + var/span = "notice" + var/status = "" + if(getBruteLoss()) + usr << "Physical trauma analysis:" + for(var/obj/item/organ/limb/org in organs) + var/brutedamage = org.brute_dam + if(brutedamage > 0) + status = "received minor physical injuries." + span = "notice" + if(brutedamage > 20) + status = "been seriously damaged." + span = "danger" + if(brutedamage > 40) + status = "sustained major trauma!" + span = "userdanger" + if(brutedamage) + usr << "The [org.getDisplayName()] appears to have [status]" + if(getFireLoss()) + usr << "Analysis of skin burns:" + for(var/obj/item/organ/limb/org in organs) + var/burndamage = org.burn_dam + if(burndamage > 0) + status = "signs of minor burns." + span = "notice" + if(burndamage > 20) + status = "serious burns." + span = "danger" + if(burndamage > 40) + status = "major burns!" + span = "userdanger" + if(burndamage) + usr << "The [org.getDisplayName()] appears to have [status]" + if(getOxyLoss()) + usr << "Patient has signs of suffocation, emergency treatment may be required!" + if(getToxLoss() > 20) + usr << "Gathered data is inconsistent with the analysis, possible cause: intoxication." - if(href_list["add_crime"]) - switch(alert("What crime would you like to add?","Security HUD","Minor Crime","Major Crime","Cancel")) - if("Minor Crime") + if(href_list["hud"] == "s") + if(istype(H.glasses, /obj/item/clothing/glasses/hud/security)) + if(usr.stat || usr == src) //|| !usr.canmove || usr.restrained()) Fluff: Sechuds have eye-tracking technology and sets 'arrest' to people that the wearer looks and blinks at. + return //Non-fluff: This allows sec to set people to arrest as they get disarmed or beaten + // Checks the user has security clearence before allowing them to change arrest status via hud, comment out to enable all access + var/allowed_access = null + var/obj/item/clothing/glasses/G = H.glasses + if (!G.emagged) + if(H.wear_id) + var/list/access = H.wear_id.GetAccess() + if(access_sec_doors in access) + allowed_access = H.get_authentification_name() + else + allowed_access = "@%&ERROR_%$*" + + + if(!allowed_access) + H << "ERROR: Invalid Access" + return + + if(perpname) + R = find_record("name", perpname, data_core.security) + if(R) + if(href_list["status"]) + var/setcriminal = input(usr, "Specify a new criminal status for this person.", "Security HUD", R.fields["criminal"]) in list("None", "*Arrest*", "Incarcerated", "Parolled", "Discharged", "Cancel") if(R) - var/t1 = copytext(sanitize(input("Please input minor crime names:", "Security HUD", "", null) as text),1,MAX_MESSAGE_LEN) - var/t2 = copytext(sanitize(input("Please input minor crime details:", "Security HUD", "", null) as message),1,MAX_MESSAGE_LEN) - if(R) - if (!t1 || !t2 || !allowed_access || H.stat || H.weakened || H.stunned || H.restrained() || !istype(H.glasses, /obj/item/clothing/glasses/hud/security)) - return - var/crime = data_core.createCrimeEntry(t1, t2, allowed_access, worldtime2text()) - data_core.addMinorCrime(R.fields["id"], crime) - usr << "Successfully added a minor crime." - return - if("Major Crime") - if(R) - var/t1 = copytext(sanitize(input("Please input major crime names:", "Security HUD", "", null) as text),1,MAX_MESSAGE_LEN) - var/t2 = copytext(sanitize(input("Please input major crime details:", "Security HUD", "", null) as message),1,MAX_MESSAGE_LEN) - if(R) - if (!t1 || !t2 || !allowed_access || H.stat || H.weakened || H.stunned || H.restrained() || !istype(H.glasses, /obj/item/clothing/glasses/hud/security)) - return - var/crime = data_core.createCrimeEntry(t1, t2, allowed_access, worldtime2text()) - data_core.addMajorCrime(R.fields["id"], crime) - usr << "Successfully added a major crime." - return - else return - - if(href_list["view_comment"]) - if(R) - if(H.stat || H.weakened || H.stunned || H.restrained() || !istype(H.glasses, /obj/item/clothing/glasses/hud/security)) - return - usr << "Comments/Log:" - var/counter = 1 - while(R.fields[text("com_[]", counter)]) - usr << R.fields[text("com_[]", counter)] - usr << "----------" - counter++ - return - - if(href_list["add_comment"]) - if(R) - var/t1 = copytext(sanitize(input("Add Comment:", "Secure. records", null, null) as message),1,MAX_MESSAGE_LEN) - if(R) - if (!t1 || !allowed_access || H.stat || H.weakened || H.stunned || H.restrained() || !istype(H.glasses, /obj/item/clothing/glasses/hud/security)) + if(istype(H.glasses, /obj/item/clothing/glasses/hud/security)) + if(setcriminal != "Cancel") + investigate_log("[src.key] has been set from [R.fields["criminal"]] to [setcriminal] by [usr.name] ([usr.key]).", "records") + R.fields["criminal"] = setcriminal + sec_hud_set_security_status() return - var/counter = 1 - while(R.fields[text("com_[]", counter)]) - counter++ - R.fields[text("com_[]", counter)] = text("Made by [] on [] [], []
[]", allowed_access, worldtime2text(), time2text(world.realtime, "MMM DD"), year_integer+540, t1,) - usr << "Successfully added comment." - return - usr << "Unable to locate a data core entry for this person." + + if(href_list["view"]) + if(R) + if(usr.stat || H.weakened || H.stunned || H.restrained() || !istype(H.glasses, /obj/item/clothing/glasses/hud/security)) + return + usr << "Name: [R.fields["name"]] Criminal Status: [R.fields["criminal"]]" + usr << "Minor Crimes:" + for(var/datum/data/crime/c in R.fields["mi_crim"]) + usr << "Crime: [c.crimeName]" + usr << "Details: [c.crimeDetails]" + usr << "Added by [c.author] at [c.time]" + usr << "----------" + usr << "Major Crimes:" + for(var/datum/data/crime/c in R.fields["ma_crim"]) + usr << "Crime: [c.crimeName]" + usr << "Details: [c.crimeDetails]" + usr << "Added by [c.author] at [c.time]" + usr << "----------" + usr << "Notes: [R.fields["notes"]]" + return + + if(href_list["add_crime"]) + switch(alert("What crime would you like to add?","Security HUD","Minor Crime","Major Crime","Cancel")) + if("Minor Crime") + if(R) + var/t1 = copytext(sanitize(input("Please input minor crime names:", "Security HUD", "", null) as text),1,MAX_MESSAGE_LEN) + var/t2 = copytext(sanitize(input("Please input minor crime details:", "Security HUD", "", null) as message),1,MAX_MESSAGE_LEN) + if(R) + if (!t1 || !t2 || !allowed_access || H.stat || H.weakened || H.stunned || H.restrained() || !istype(H.glasses, /obj/item/clothing/glasses/hud/security)) + return + var/crime = data_core.createCrimeEntry(t1, t2, allowed_access, worldtime2text()) + data_core.addMinorCrime(R.fields["id"], crime) + usr << "Successfully added a minor crime." + return + if("Major Crime") + if(R) + var/t1 = copytext(sanitize(input("Please input major crime names:", "Security HUD", "", null) as text),1,MAX_MESSAGE_LEN) + var/t2 = copytext(sanitize(input("Please input major crime details:", "Security HUD", "", null) as message),1,MAX_MESSAGE_LEN) + if(R) + if (!t1 || !t2 || !allowed_access || H.stat || H.weakened || H.stunned || H.restrained() || !istype(H.glasses, /obj/item/clothing/glasses/hud/security)) + return + var/crime = data_core.createCrimeEntry(t1, t2, allowed_access, worldtime2text()) + data_core.addMajorCrime(R.fields["id"], crime) + usr << "Successfully added a major crime." + return + else return + + if(href_list["view_comment"]) + if(R) + if(H.stat || H.weakened || H.stunned || H.restrained() || !istype(H.glasses, /obj/item/clothing/glasses/hud/security)) + return + usr << "Comments/Log:" + var/counter = 1 + while(R.fields[text("com_[]", counter)]) + usr << R.fields[text("com_[]", counter)] + usr << "----------" + counter++ + return + + if(href_list["add_comment"]) + if(R) + var/t1 = copytext(sanitize(input("Add Comment:", "Secure. records", null, null) as message),1,MAX_MESSAGE_LEN) + if(R) + if (!t1 || !allowed_access || H.stat || H.weakened || H.stunned || H.restrained() || !istype(H.glasses, /obj/item/clothing/glasses/hud/security)) + return + var/counter = 1 + while(R.fields[text("com_[]", counter)]) + counter++ + R.fields[text("com_[]", counter)] = text("Made by [] on [] [], []
[]", allowed_access, worldtime2text(), time2text(world.realtime, "MMM DD"), year_integer+540, t1,) + usr << "Successfully added comment." + return + usr << "Unable to locate a data core entry for this person." /mob/living/carbon/human/proc/play_xylophone() if(!src.xylophone) diff --git a/code/modules/mob/living/silicon/ai/ai.dm b/code/modules/mob/living/silicon/ai/ai.dm index af702c86567..d169424ad49 100644 --- a/code/modules/mob/living/silicon/ai/ai.dm +++ b/code/modules/mob/living/silicon/ai/ai.dm @@ -34,7 +34,6 @@ var/list/ai_list = list() radiomod = ";" //AIs will, by default, state their laws on the internal radio. var/obj/item/device/pda/ai/aiPDA = null var/obj/item/device/multitool/aiMulti = null - var/obj/item/device/camera/siliconcam/aicamera = null var/obj/machinery/bot/Bot //MALFUNCTION diff --git a/code/modules/mob/living/silicon/robot/robot.dm b/code/modules/mob/living/silicon/robot/robot.dm index a77344a194c..d475500f52a 100644 --- a/code/modules/mob/living/silicon/robot/robot.dm +++ b/code/modules/mob/living/silicon/robot/robot.dm @@ -56,7 +56,6 @@ var/obj/item/weapon/tank/internal = null //Hatred. Used if a borg has a jetpack. var/obj/item/robot_parts/robot_suit/robot_suit = null //Used for deconstruction to remember what the borg was constructed out of.. - var/obj/item/device/camera/siliconcam/aicamera = null //photography var/toner = 0 var/tonermax = 40 diff --git a/code/modules/mob/living/silicon/silicon.dm b/code/modules/mob/living/silicon/silicon.dm index 5136cea9f14..4470da769e4 100644 --- a/code/modules/mob/living/silicon/silicon.dm +++ b/code/modules/mob/living/silicon/silicon.dm @@ -9,6 +9,7 @@ var/list/alarms_to_clear = list() var/designation = "" var/radiomod = "" //Radio character used before state laws/arrivals announce to allow department transmissions, default, or none at all. + var/obj/item/device/camera/siliconcam/aicamera = null //photography var/obj/item/device/radio/borg/radio = null //AIs dont use this but this is at the silicon level to advoid copypasta in say() @@ -408,3 +409,7 @@ visible_message("[M] punches [src], but doesn't leave a dent.", \ "[M] punches [src], but doesn't leave a dent.!") return 0 + +/mob/living/silicon/proc/GetPhoto() + if (aicamera) + return aicamera.selectpicture(aicamera) \ No newline at end of file diff --git a/code/modules/paperwork/photography.dm b/code/modules/paperwork/photography.dm index a3db1f6b3b7..247b0356c00 100644 --- a/code/modules/paperwork/photography.dm +++ b/code/modules/paperwork/photography.dm @@ -332,22 +332,22 @@ else injectaialbum(icon, img, desc, pixel_x, pixel_y, blueprintsinject) - -obj/item/device/camera/siliconcam/proc/viewpichelper(var/obj/item/device/camera/siliconcam/targetloc) +obj/item/device/camera/siliconcam/proc/selectpicture(var/obj/item/device/camera/siliconcam/targetloc) var/list/nametemp = list() var/find - var/datum/picture/selection if(targetloc.aipictures.len == 0) usr << "No images saved" return for(var/datum/picture/t in targetloc.aipictures) nametemp += t.fields["name"] find = input("Select image (numbered in order taken)") in nametemp - var/obj/item/weapon/photo/P = new/obj/item/weapon/photo() for(var/datum/picture/q in targetloc.aipictures) if(q.fields["name"] == find) - selection = q - break // just in case some AI decides to take 10 thousand pictures in a round + return q + +obj/item/device/camera/siliconcam/proc/viewpichelper(var/obj/item/device/camera/siliconcam/targetloc) + var/obj/item/weapon/photo/P = new/obj/item/weapon/photo() + var/datum/picture/selection = selectpicture(targetloc) P.photocreate(selection.fields["icon"], selection.fields["img"], selection.fields["desc"]) P.pixel_x = selection.fields["pixel_x"] P.pixel_y = selection.fields["pixel_y"] From 146414e0c1f351d2cebb78bd3c30dd4d88995fd2 Mon Sep 17 00:00:00 2001 From: Lo6a4evskiy Date: Wed, 21 Jan 2015 21:42:43 +0400 Subject: [PATCH 009/122] Reinclude some stuff in .dme --- tgstation.dme | 20 ++++++++++++++++++++ 1 file changed, 20 insertions(+) diff --git a/tgstation.dme b/tgstation.dme index 3718c01de8f..2ad25b212c9 100644 --- a/tgstation.dme +++ b/tgstation.dme @@ -132,6 +132,7 @@ #include "code\controllers\subsystem\mobs.dm" #include "code\controllers\subsystem\nanoUI.dm" #include "code\controllers\subsystem\objects.dm" +#include "code\controllers\subsystem\pai.dm" #include "code\controllers\subsystem\pipenets.dm" #include "code\controllers\subsystem\power.dm" #include "code\controllers\subsystem\radio.dm" @@ -148,6 +149,8 @@ #include "code\datums\datacore.dm" #include "code\datums\datumvars.dm" #include "code\datums\gas_mixture.dm" +#include "code\datums\goon_mutations_disabilities.dm" +#include "code\datums\goon_mutations_powers.dm" #include "code\datums\hud.dm" #include "code\datums\mind.dm" #include "code\datums\mixed.dm" @@ -226,6 +229,7 @@ #include "code\datums\spells\mind_transfer.dm" #include "code\datums\spells\projectile.dm" #include "code\datums\spells\santa.dm" +#include "code\datums\spells\summonitem.dm" #include "code\datums\spells\trigger.dm" #include "code\datums\spells\turf_teleport.dm" #include "code\datums\spells\wizard.dm" @@ -284,6 +288,7 @@ #include "code\game\gamemodes\blob\blobs\node.dm" #include "code\game\gamemodes\blob\blobs\resource.dm" #include "code\game\gamemodes\blob\blobs\shield.dm" +#include "code\game\gamemodes\blob\blobs\storage.dm" #include "code\game\gamemodes\changeling\changeling.dm" #include "code\game\gamemodes\changeling\changeling_power.dm" #include "code\game\gamemodes\changeling\evolution_menu.dm" @@ -346,6 +351,7 @@ #include "code\game\jobs\job\science.dm" #include "code\game\jobs\job\security.dm" #include "code\game\jobs\job\silicon.dm" +#include "code\game\jobs\job\supply.dm" #include "code\game\machinery\ai_slipper.dm" #include "code\game\machinery\airlock_control.dm" #include "code\game\machinery\alarm.dm" @@ -482,6 +488,7 @@ #include "code\game\mecha\medical\odysseus.dm" #include "code\game\mecha\working\ripley.dm" #include "code\game\mecha\working\working.dm" +#include "code\game\objects\buckling.dm" #include "code\game\objects\empulse.dm" #include "code\game\objects\explosion.dm" #include "code\game\objects\items.dm" @@ -576,6 +583,7 @@ #include "code\game\objects\items\weapons\AI_modules.dm" #include "code\game\objects\items\weapons\airlock_painter.dm" #include "code\game\objects\items\weapons\cards_ids.dm" +#include "code\game\objects\items\weapons\chrono_eraser.dm" #include "code\game\objects\items\weapons\cigs_lighters.dm" #include "code\game\objects\items\weapons\clown_items.dm" #include "code\game\objects\items\weapons\cosmetics.dm" @@ -840,6 +848,7 @@ #include "code\modules\clothing\shoes\colour.dm" #include "code\modules\clothing\shoes\magboots.dm" #include "code\modules\clothing\shoes\miscellaneous.dm" +#include "code\modules\clothing\spacesuits\chronosuit.dm" #include "code\modules\clothing\spacesuits\hardsuit.dm" #include "code\modules\clothing\spacesuits\miscellaneous.dm" #include "code\modules\clothing\spacesuits\ninja.dm" @@ -1151,6 +1160,7 @@ #include "code\modules\mob\living\simple_animal\friendly\crab.dm" #include "code\modules\mob\living\simple_animal\friendly\drone.dm" #include "code\modules\mob\living\simple_animal\friendly\farm_animals.dm" +#include "code\modules\mob\living\simple_animal\friendly\fox.dm" #include "code\modules\mob\living\simple_animal\friendly\lizard.dm" #include "code\modules\mob\living\simple_animal\friendly\mouse.dm" #include "code\modules\mob\living\simple_animal\friendly\pug.dm" @@ -1236,6 +1246,7 @@ #include "code\modules\projectiles\ammunition.dm" #include "code\modules\projectiles\firing.dm" #include "code\modules\projectiles\gun.dm" +#include "code\modules\projectiles\pins.dm" #include "code\modules\projectiles\projectile.dm" #include "code\modules\projectiles\ammunition\ammo_casings.dm" #include "code\modules\projectiles\ammunition\boxes.dm" @@ -1264,6 +1275,12 @@ #include "code\modules\projectiles\projectile\magic.dm" #include "code\modules\projectiles\projectile\special.dm" #include "code\modules\reagents\Chemistry-Colours.dm" +#include "code\modules\reagents\Chemistry-Goon-420BlazeIt.dm" +#include "code\modules\reagents\Chemistry-Goon-Medicine.dm" +#include "code\modules\reagents\Chemistry-Goon-Other.dm" +#include "code\modules\reagents\Chemistry-Goon-Pyrotechnics.dm" +#include "code\modules\reagents\Chemistry-Goon-Readme.dm" +#include "code\modules\reagents\Chemistry-Goon-Toxins.dm" #include "code\modules\reagents\Chemistry-Holder.dm" #include "code\modules\reagents\Chemistry-Machinery.dm" #include "code\modules\reagents\Chemistry-Readme.dm" @@ -1272,6 +1289,7 @@ #include "code\modules\reagents\reagent_containers.dm" #include "code\modules\reagents\reagent_dispenser.dm" #include "code\modules\reagents\syringe_gun.dm" +#include "code\modules\reagents\Chemistry-Reagents\Blob-Reagents.dm" #include "code\modules\reagents\Chemistry-Reagents\Chemistry-Reagents.dm" #include "code\modules\reagents\Chemistry-Reagents\Medicine-Reagents.dm" #include "code\modules\reagents\Chemistry-Reagents\Toxin-Reagents.dm" @@ -1282,6 +1300,7 @@ #include "code\modules\reagents\reagent_containers\dropper.dm" #include "code\modules\reagents\reagent_containers\glass.dm" #include "code\modules\reagents\reagent_containers\hypospray.dm" +#include "code\modules\reagents\reagent_containers\patch.dm" #include "code\modules\reagents\reagent_containers\pill.dm" #include "code\modules\reagents\reagent_containers\spray.dm" #include "code\modules\reagents\reagent_containers\syringes.dm" @@ -1293,6 +1312,7 @@ #include "code\modules\research\circuitprinter.dm" #include "code\modules\research\designs.dm" #include "code\modules\research\destructive_analyzer.dm" +#include "code\modules\research\experimentor.dm" #include "code\modules\research\message_server.dm" #include "code\modules\research\protolathe.dm" #include "code\modules\research\rd-readme.dm" From c6a13419a916dab8ad96f4fcf0c3a7882b5dda33 Mon Sep 17 00:00:00 2001 From: Lo6a4evskiy Date: Wed, 21 Jan 2015 22:09:52 +0400 Subject: [PATCH 010/122] Compile, you damn dirty code --- code/datums/datacore.dm | 3 +-- 1 file changed, 1 insertion(+), 2 deletions(-) diff --git a/code/datums/datacore.dm b/code/datums/datacore.dm index 3acf536fe58..fd5f91a97c3 100644 --- a/code/datums/datacore.dm +++ b/code/datums/datacore.dm @@ -344,7 +344,6 @@ var/record_id_num = 1001 clothes_s = icon('icons/mob/uniform.dmi', "director_s") clothes_s.Blend(icon('icons/mob/feet.dmi', "brown"), ICON_UNDERLAY) clothes_s.Blend(icon('icons/mob/suit.dmi', "labcoat"), ICON_OVERLAY) - clothes_s.Blend(icon('icons/mob/items_lefthand.dmi', "clipboard"), ICON_OVERLAY) if("Scientist") clothes_s = icon('icons/mob/uniform.dmi', "toxinswhite_s") clothes_s.Blend(icon('icons/mob/feet.dmi', "white"), ICON_UNDERLAY) @@ -419,4 +418,4 @@ var/record_id_num = 1001 if(clothes_s) photo.Blend(clothes_s, ICON_OVERLAY) - return photo + return photo From 39d5fa01d8840ff14b707b34b852b42c88929255 Mon Sep 17 00:00:00 2001 From: paprka Date: Wed, 21 Jan 2015 15:06:21 -0800 Subject: [PATCH 011/122] update, gauze, etc --- code/game/objects/items/stacks/medical.dm | 44 ++++++++++++------ .../objects/items/weapons/storage/firstaid.dm | 31 ++++++------ code/modules/mob/living/carbon/human/blood.dm | 40 ++++++++-------- .../mob/living/carbon/human/examine.dm | 8 ++++ code/modules/mob/living/carbon/human/human.dm | 4 +- .../mob/living/carbon/human/human_defines.dm | 3 ++ .../mob/living/carbon/human/species_types.dm | 7 ++- code/modules/reagents/Chemistry-Holder.dm | 2 - .../reagents/reagent_containers/blood_pack.dm | 26 +++++------ icons/obj/bloodpack.dmi | Bin 0 -> 1072 bytes icons/obj/items.dmi | Bin 62469 -> 63407 bytes tgstation.dme | 1 + 12 files changed, 101 insertions(+), 65 deletions(-) create mode 100644 icons/obj/bloodpack.dmi diff --git a/code/game/objects/items/stacks/medical.dm b/code/game/objects/items/stacks/medical.dm index 74ee638df91..a1490448880 100644 --- a/code/game/objects/items/stacks/medical.dm +++ b/code/game/objects/items/stacks/medical.dm @@ -9,6 +9,8 @@ throw_range = 7 var/heal_brute = 0 var/heal_burn = 0 + var/stop_bleeding = 0 + var/self_delay = 50 /obj/item/stack/medical/attack(mob/living/carbon/M as mob, mob/user as mob) @@ -29,31 +31,34 @@ user << "You don't have the dexterity to do this!" return 1 - if (user) + if(isliving(M)) + if(!M.can_inject(user, 1)) + return + + if(user) if (M != user) - user.visible_message( \ - "[user] has applied [src] on [M].", \ - "You apply \the [src] to [M]." \ - ) + user.visible_message("[user] applies the [src] on [M].", "You apply the [src] on [M].") else var/t_himself = "itself" if (user.gender == MALE) t_himself = "himself" else if (user.gender == FEMALE) t_himself = "herself" + user.visible_message("[user] starts to apply the [src] on [t_himself]...", "You begin applying the [src] on yourself...") + if(!do_mob(user, M, self_delay)) return + user.visible_message("[user] applies the [src] on [t_himself].", "You apply the [src] on yourself.") - user.visible_message( \ - "[M] applied [src] on [t_himself].", \ - "You apply \the [src] on yourself." \ - ) - - if (istype(M, /mob/living/carbon/human)) + if(istype(M, /mob/living/carbon/human)) var/mob/living/carbon/human/H = M var/obj/item/organ/limb/affecting = H.get_organ(check_zone(user.zone_sel.selecting)) + if(stop_bleeding) + if(H.bleedsuppress) //so you can't stack bleed suppression + H.suppress_bloodloss(stop_bleeding) + if(affecting.status == ORGAN_ORGANIC) //Limb must be organic to be healed - RR - if (affecting.heal_damage(src.heal_brute, src.heal_burn, 0)) + if(affecting.heal_damage(src.heal_brute, src.heal_burn, 0)) H.update_damage_overlays(0) M.updatehealth() @@ -72,9 +77,22 @@ singular_name = "bruise pack" desc = "A pack designed to treat blunt-force trauma." icon_state = "brutepack" - heal_brute = 60 + heal_brute = 40 origin_tech = "biotech=1" +/obj/item/stack/medical/gauze + name = "medical gauze" + desc = "A roll of elastic cloth that is extremely effective at stopping bloodloss, but does not heal wounds." + singular_name = "medical gauze" + icon_state = "gauze" + stop_bleeding = 3000 //five minutes + +/obj/item/stack/medical/gauze/improvised + name = "improvised gauze" + singular_name = "improvised gauze" + desc = "A roll of cloth roughly cut from something that can stop bloodloss, but does not heal wounds." + stop_bleeding = 1200 //two minutes + /obj/item/stack/medical/ointment name = "ointment" desc = "Used to treat those nasty burns." diff --git a/code/game/objects/items/weapons/storage/firstaid.dm b/code/game/objects/items/weapons/storage/firstaid.dm index 063b565b512..04d16afc073 100644 --- a/code/game/objects/items/weapons/storage/firstaid.dm +++ b/code/game/objects/items/weapons/storage/firstaid.dm @@ -31,8 +31,8 @@ new /obj/item/device/healthanalyzer(src) new /obj/item/weapon/reagent_containers/hypospray/medipen(src) - new /obj/item/weapon/reagent_containers/pill/patch/silver_sulf(src) - new /obj/item/weapon/reagent_containers/pill/patch/silver_sulf(src) + new /obj/item/stack/medical/ointment(src) + new /obj/item/stack/medical/ointment(src) new /obj/item/weapon/reagent_containers/pill/patch/silver_sulf(src) new /obj/item/weapon/reagent_containers/pill/patch/silver_sulf(src) new /obj/item/weapon/reagent_containers/pill/patch/silver_sulf(src) @@ -45,11 +45,11 @@ /obj/item/weapon/storage/firstaid/regular/New() ..() if (empty) return - new /obj/item/weapon/reagent_containers/pill/patch/styptic(src) - new /obj/item/weapon/reagent_containers/pill/patch/styptic(src) - new /obj/item/weapon/reagent_containers/pill/patch/styptic(src) - new /obj/item/weapon/reagent_containers/pill/patch/silver_sulf(src) - new /obj/item/weapon/reagent_containers/pill/patch/silver_sulf(src) + new /obj/item/stack/medical/gauze(src) + new /obj/item/stack/medical/ointment(src) + new /obj/item/stack/medical/ointment(src) + new /obj/item/stack/medical/bruise_pack(src) + new /obj/item/stack/medical/bruise_pack(src) new /obj/item/device/healthanalyzer(src) new /obj/item/weapon/reagent_containers/hypospray/medipen( src ) return @@ -102,13 +102,16 @@ /obj/item/weapon/storage/firstaid/tactical/New() ..() if (empty) return - new /obj/item/clothing/tie/stethoscope( src ) - new /obj/item/weapon/surgicaldrill ( src ) - new /obj/item/weapon/reagent_containers/hypospray/combat( src ) - new /obj/item/weapon/reagent_containers/pill/patch/styptic( src ) - new /obj/item/weapon/reagent_containers/pill/patch/silver_sulf( src ) - new /obj/item/weapon/reagent_containers/syringe/lethal/choral( src ) - new /obj/item/clothing/glasses/hud/health/night( src ) + new /obj/item/stack/medical/gauze(src) + new /obj/item/stack/medical/gauze(src) + new /obj/item/stack/medical/ointment(src) + new /obj/item/stack/medical/bruise_pack(src) + new /obj/item/stack/medical/bruise_pack(src) + new /obj/item/device/healthanalyzer(src) + new /obj/item/weapon/surgicaldrill(src) + new /obj/item/weapon/reagent_containers/hypospray/combat(src) + new /obj/item/weapon/reagent_containers/syringe/lethal/choral(src) + new /obj/item/clothing/glasses/hud/health/night(src) return diff --git a/code/modules/mob/living/carbon/human/blood.dm b/code/modules/mob/living/carbon/human/blood.dm index 7f554f0964d..40cf7d1a2ce 100644 --- a/code/modules/mob/living/carbon/human/blood.dm +++ b/code/modules/mob/living/carbon/human/blood.dm @@ -32,6 +32,16 @@ var/const/BLOOD_VOLUME_SURVIVE = 122 if(B.id == "blood") B.data = list("donor"=src,"viruses"=null,"blood_DNA"=dna.unique_enzymes,"blood_type"=dna.blood_type,"resistances"=null,"trace_chem"=null,"mind"=null,"ckey"=null,"gender"=null,"real_name"=null,"cloneable"=null,"factions"=null) +/mob/living/carbon/human/proc/suppress_bloodloss(var/amount) + if(bleedsuppress) + return + else + bleedsuppress = 1 + spawn(amount) + bleedsuppress = 0 + if(stat != DEAD) + src << "Your bandage wears off." + // Takes care blood loss and regeneration /mob/living/carbon/human/proc/handle_blood() @@ -70,38 +80,32 @@ var/const/BLOOD_VOLUME_SURVIVE = 122 if(!pale) pale = 1 update_body() - var/word = pick("dizzy","woosey","faint") - src << "\red You feel [word]" - if(prob(1)) - var/word = pick("dizzy","woosey","faint") - src << "\red You feel [word]" + var/word = pick("dizzy","woozy","faint") + src << "You feel [word]." if(oxyloss < 20) oxyloss += 3 if(BLOOD_VOLUME_BAD to BLOOD_VOLUME_OKAY) if(!pale) pale = 1 update_body() - eye_blurry += 6 if(oxyloss < 50) oxyloss += 10 oxyloss += 1 if(prob(5)) - Paralyse(rand(1,3)) - var/word = pick("dizzy","woosey","faint") - src << "\red You feel extremely [word]" + eye_blurry += 6 + var/word = pick("dizzy","woozy","faint") + src << "You feel very [word]." if(BLOOD_VOLUME_SURVIVE to BLOOD_VOLUME_BAD) oxyloss += 5 if(prob(15)) - var/word = pick("dizzy","woosey","faint") - src << "\red You feel extremely [word]" + Paralyse(rand(1,3)) + var/word = pick("dizzy","woozy","faint") + src << "You feel extremely [word]." if(0 to BLOOD_VOLUME_SURVIVE) - // There currently is a strange bug here. If the mob is not below -100 health - // when death() is called, apparently they will be just fine, and this way it'll - // spam deathgasp. Adjusting toxloss ensures the mob will stay dead. death() //Bleeding out - var/blood_max = 0 + blood_max = 0 for(var/obj/item/organ/limb/org in organs) var/brutedamage = org.brute_dam @@ -111,15 +115,13 @@ var/const/BLOOD_VOLUME_SURVIVE = 122 blood_max += 1 if(brutedamage > 80) blood_max += 2 - + if(bleedsuppress) + blood_max = 0 drip(blood_max) //Makes a blood drop, leaking amt units of blood from the mob /mob/living/carbon/human/proc/drip(var/amt as num) - if(NOBLOOD in dna.species.specflags) - return - if(!amt) return diff --git a/code/modules/mob/living/carbon/human/examine.dm b/code/modules/mob/living/carbon/human/examine.dm index 8d0aeed8e5c..79bda25cad5 100644 --- a/code/modules/mob/living/carbon/human/examine.dm +++ b/code/modules/mob/living/carbon/human/examine.dm @@ -230,6 +230,14 @@ else msg += "[t_He] [t_is] quite chubby.\n" + if(pale) + msg += "[t_He] [t_has] pale skin.\n" + + if(bleedsuppress) + msg += "[t_He] [t_is] bandaged with something.\n" + else if(blood_max) + msg += "[t_He] [t_is] bleeding!\n" + msg += "" if(!appears_dead) diff --git a/code/modules/mob/living/carbon/human/human.dm b/code/modules/mob/living/carbon/human/human.dm index 9549db4a779..d9d22804723 100644 --- a/code/modules/mob/living/carbon/human/human.dm +++ b/code/modules/mob/living/carbon/human/human.dm @@ -26,12 +26,12 @@ internal_organs += new /obj/item/organ/heart internal_organs += new /obj/item/organ/brain - make_blood() - // for spawned humans; overwritten by other code ready_dna(src) randomize_human(src) + make_blood() + ..() var/mob/M = src faction |= "\ref[M]" diff --git a/code/modules/mob/living/carbon/human/human_defines.dm b/code/modules/mob/living/carbon/human/human_defines.dm index 52ac1a6c0db..6bd44a4115d 100644 --- a/code/modules/mob/living/carbon/human/human_defines.dm +++ b/code/modules/mob/living/carbon/human/human_defines.dm @@ -49,3 +49,6 @@ var/xylophone = 0 //For the spoooooooky xylophone cooldown var/gender_ambiguous = 0 //if something goes wrong during gender reassignment this generates a line in examine + + var/blood_max = 0 //how much are we bleeding + var/bleedsuppress = 0 //for stopping bloodloss, eventually this will be limb-based like bleeding \ No newline at end of file diff --git a/code/modules/mob/living/carbon/human/species_types.dm b/code/modules/mob/living/carbon/human/species_types.dm index 719aa2cda70..15c107c539b 100644 --- a/code/modules/mob/living/carbon/human/species_types.dm +++ b/code/modules/mob/living/carbon/human/species_types.dm @@ -127,6 +127,7 @@ sexes = 0 ignored_by = list(/mob/living/simple_animal/hostile/faithless) meat = /obj/item/weapon/reagent_containers/food/snacks/meat/human/mutant/shadow + specflags = list(NOBREATH,NOBLOOD,RADIMMUNE) /datum/species/shadow/spec_life(mob/living/carbon/human/H) var/light_amount = 0 @@ -152,7 +153,7 @@ default_color = "00FFFF" darksight = 3 invis_sight = SEE_INVISIBLE_LEVEL_ONE - specflags = list(MUTCOLORS,EYECOLOR,HAIR,FACEHAIR) + specflags = list(MUTCOLORS,EYECOLOR,HAIR,FACEHAIR,NOBLOOD) hair_color = "mutcolor" hair_alpha = 150 ignored_by = list(/mob/living/carbon/slime) @@ -169,7 +170,7 @@ default_color = "00FF90" say_mod = "chirps" eyes = "jelleyes" - specflags = list(MUTCOLORS,EYECOLOR) + specflags = list(MUTCOLORS,EYECOLOR,NOBLOOD) meat = /obj/item/weapon/reagent_containers/food/snacks/meat/human/mutant/slime /* @@ -228,6 +229,7 @@ id = "skeleton" sexes = 0 meat = /obj/item/weapon/reagent_containers/food/snacks/meat/human/mutant/skeleton + specflags = list(NOBREATH,HEATRES,COLDRES,NOBLOOD,RADIMMUNE) /* ZOMBIES */ @@ -239,6 +241,7 @@ say_mod = "moans" sexes = 0 meat = /obj/item/weapon/reagent_containers/food/snacks/meat/human/mutant/zombie + specflags = list(NOBREATH,HEATRES,COLDRES,NOBLOOD,RADIMMUNE) /datum/species/zombie/handle_speech(message) var/list/message_list = text2list(message, " ") diff --git a/code/modules/reagents/Chemistry-Holder.dm b/code/modules/reagents/Chemistry-Holder.dm index ab071558348..c1ab1df890d 100644 --- a/code/modules/reagents/Chemistry-Holder.dm +++ b/code/modules/reagents/Chemistry-Holder.dm @@ -107,8 +107,6 @@ datum/reagents/proc/trans_to(var/obj/target, var/amount=1, var/multiplier=1, var var/part = amount / src.total_volume var/trans_data = null for (var/datum/reagent/current_reagent in src.reagent_list) - if (!current_reagent) - continue if (current_reagent.id == "blood" && ishuman(target)) var/mob/living/carbon/human/H = target H.inject_blood(my_atom, amount) diff --git a/code/modules/reagents/reagent_containers/blood_pack.dm b/code/modules/reagents/reagent_containers/blood_pack.dm index c091f1db8e1..28307d0a058 100644 --- a/code/modules/reagents/reagent_containers/blood_pack.dm +++ b/code/modules/reagents/reagent_containers/blood_pack.dm @@ -7,22 +7,22 @@ var/blood_type = null - New() - ..() - if(blood_type != null) - name = "BloodPack [blood_type]" - reagents.add_reagent("blood", 200, list("donor"=null,"viruses"=null,"blood_DNA"=null,"blood_type"=blood_type,"resistances"=null,"trace_chem"=null)) - update_icon() - - on_reagent_change() +/obj/item/weapon/reagent_containers/blood/New() + ..() + if(blood_type != null) + name = "BloodPack [blood_type]" + reagents.add_reagent("blood", 200, list("donor"=null,"viruses"=null,"blood_DNA"=null,"blood_type"=blood_type,"resistances"=null,"trace_chem"=null)) update_icon() +/obj/item/weapon/reagent_containers/blood/on_reagent_change() update_icon() - var/percent = round((reagents.total_volume / volume) * 100) - switch(percent) - if(0 to 9) icon_state = "empty" - if(10 to 50) icon_state = "half" - if(51 to INFINITY) icon_state = "full" + +/obj/item/weapon/reagent_containers/blood/update_icon() + var/percent = round((reagents.total_volume / volume) * 100) + switch(percent) + if(0 to 9) icon_state = "empty" + if(10 to 50) icon_state = "half" + if(51 to INFINITY) icon_state = "full" /obj/item/weapon/reagent_containers/blood/APlus blood_type = "A+" diff --git a/icons/obj/bloodpack.dmi b/icons/obj/bloodpack.dmi new file mode 100644 index 0000000000000000000000000000000000000000..afd95f6dba5b7505ee3266fdfbb8f46bc670a06f GIT binary patch literal 1072 zcmV-01kd}4P)V=-0C=2JR&a84_w-Y6@%7{?OD!tS%+FJ>RWQ*r;NmRLOex7wuvIWN;^NFm z%}mcIfpCgT5=&AQY!#H!N^^3QxHwZXi;5L&6%4sJ(~1&vQz2})qKw3xG=hp!a|=o; zaj8;PaP@OhaPjrz0ss*4F2r7z*sA~l18qq}K~#90?V3$!6G0e;-)y9-{iC=x&{92! zlH3*|3!)%xj$R5mh-XQm9=v)Iq|!@oB8Y|NBHj!2AQn7Cdb0*x@R0S|r3hu)YHHiG zGb`r7)GkIbk1I1$N(m6nkH87Wb5u(#YNb*U6M^iRKFQA`Z3;lfaiH7f5X?Sm8Adv zsHQu>u@TBmVEO=H7)Gly03f8#Wq`l&tl@68Qdee7(*e|sP;CNF<9%fT@SDIr2(rez z)k;I-ftn$1wSx6(C3*7kP{nDD=Plz$Y7nI2OYZr|?oi*+%?EdPe=QgK5BK(CSFR2n z?QL$y0pQle{eN3uzxCaixL3x=;0{lnU1Px7>-X0V{_e!L{%ppJAJ%%<_5E@=&f=dR zKMxMada%9ny&sP<*o?20IGYKoCMbO_0}R7R*|yy_3BS1NwLp;i9eocN({!}! zk)Tnb&uswf1)#Rz(VsnbMm62>$AH*MOoX8HxtGHXwk9_WBXu%9crt^Lr8j|o6j7}& zJP%;YQrC4G;#JYgBv7p{Y=G;!sb=w6p;}+~5x8iC{;P0g0CfV?L0zn{T0QDJxAn0g0OnpW` z1sxeceMUe9LIzNu5eNby19G{X!~2fU3u+QbF|$aJ&SqkqW&x{H4n&SG5~5l-74-DqztfaJJl@iMwIRh qb)y;4TYx$NY9a%u6QCya2K)zhKh;(8lckgZ0000$6tyRWX{YTXqzfz@*DgRI4IzteiZiM z&fvfbY}v%YhTVqbX6x znrA|&T|w`C+U@M7GZAy_oCG9fyq#j zb!37ok+(w4M~wqZNk$#F$Kt2;oA#=PyO4$OI*z|x-{}6<7h);M&wpW}X|A+=?laUeAV_%7UM*lQ`iAeIzR@G1*mp~g+w~e`N zsUJ_i~MyKL=!5kZ;mCsxisBj#^JK7Vvg<~yc{bmQQN$Kd!I6?OjLu6vZ^ zcH}W+`2C2ZW%=DT1&@NZJn|2k1zpGpx$=7khWvMPJ>3fur1g&=2kLWt{C}qeUMXllm8L!ujjz^s5Eh|38I4b8(J8zcjJXEe~itlzdcoWu9!nyYisgRrUH zZFp6Qw2vGfYOq*}188C>1M*zT4KoBiCfzeLGD?HY$cT3`QJWSi?uKJXUz%|0IT4=> z^wR}|XG(CfHN>X6sNI*FM)qV{Lieus=foMI%?YioBILl@+iI&>zpog;hU}>PV}%7- zS=nl5=O=ueyv*ho(tXl=t{cdcRhNyA8icfpf{^)Y>+cVdnfdfZ**a`zg-3iPZU?_; z56Q!A6PII=FS@kCu_+O+|-w8 zkWg(15U`6}5nJg{5BxU)8q4jw0w4FCk+%wwit1r?UZ=5g=J>RY7oo%%#)jw=->s2W zii3TN=du%QQuEM5voeNrtWDb!?d)uvs6DwoWbi}o?$2$PrfN7>bddvX!!P72Cu%sCr=RL%%Zy9*BO?+_zSiB_!5OvCTa|z&J`%TynfoePE)!#0 z!;4};Yq!zkmt@R3z=NPqZc;}S1GAo43pF|PG&|?A%NOeR=z-@K67q(g*DGP~!~6H< zye{QoV`tJjS~ut)k}1%xtcA>6=nNDfh&0%T4zyoGCo2k3@yhl31?cX4^Ajn1rSGfh=)$x0{fI`5J7mAh`scKqZdH0TaUl9hl&+*)#(} z#uXhj)A@hmcGpbAq}7|`bC~4Qql7k0gw!>jgTSiW3MuyRQg*$!sFVO6#I{<*Tbi5r zY)(o6$02Kqx(xAShqWEduE6UhN!V}RttD5?54Jw3p8Wa_CA?x`Go^Z%;j6ei4{as{ z1Vqsa-@XkbJ1rr^?Qp#DUuYC-eCXs4O0WwVw8Cu^*>1fF%dDDSL>-Sbl z>IMbb=AsujG!9mCsm;B@X3&HC8qcf>R#5&6xD zTgu_O$uoLs%FZbNr?2%T#}4iuC+422o*mR)rp7Zvs@lGx{9xVI~YXiKi z4%x8e{TK-361%++kn(CTJjuz3$EoqqUh$blefQ$y?t#T~2d}N^XJlmb-fZA2u#v9( z#ui$kkcqK5KbTdytg&7!AhxsrzM%1tW-WL6pebzE#`I*Y{M4F4mGHJfzZ=Q5)BpPE zfiFG1P0ML9`jhXTdV^8u;`+Ki35P1RtKJPIDc=p&JY_CCwI=ItR|8lXRq{46 z7m*4*^fb3F;*rpHWo5O3BgvNnS-oRL_=AR8;hU_sIFgbU5V!{d^k#C9#ai8{IMc`cfdw)qpD?182IUvC_IG zWvd4eK5v2?Tp?&i=vXN&aqV;=cx6%7Z*Kh(cj~;67yCn(o8%(aqFsXGA){dpvNR(e z#y>tZWVfQ8nW0Jkb;O_5%u)1I;WM^F$#70p-g#1m(~$#wEq9EDI*dgHb{hY9y55tY zpMM(fiQ`^#2^>rcRjrY{< z|KP@$GB5Pu!|+c*$)c1V9!9?T*Yfi6b35iTN)=T-)y0~(JrOj|Wxj4XybKTb^mYxmJyq)#zILgY&ZlxQ9szcLOiWMPue2iE-{1SmkZhGc z9(y{yr2Crk2{w)NLH6Ux9LFL8&PSU)HDU-|NQ~{83GuX`<4-&8bLDttE2Sx}IOss7 zX%MM!3aDGpi3Q@`dZTf?J=6--u@@{}&OoniE+G+qN}JmG@TW;=rZWAZs}!ep+llCA zz+Kt%P7WxuJK~b3Ors1+U^a>Z5O>EfDCfPyPcUOc33k2Fst?veU0hnhZM~w4B4KK; zP`(s)F-bq83PnRXv2>U!C{gTt5Jal{~|kF_U0R_2zq49gkIi;B=eV5 zzuD$XNtOF1P9|fV!#RH?*qY{JS@lIe)jeZ(3xMc}#3vhAV(~q7Vmy`^VyxW1-kjQ* zC$YOd4R(Kuak-o4NeK1&!+Hka4=sDV`_bM`ML!eUUovL-C8X}+SJ_%1i;(fEBKFA| zM|_;DL_vXBejzMZ6~>E)hJ}(gWsRE~vUv1kZ#Kr7=OHHu)L`oFE?jc*q1Mh%UsFGH z0pJYl>QEMOETxu>kV=a4kw2cC*D%?$RA+`U4c;g@BZd~uj?xl#+*}HG^^FkAQ}S{K zCET<3JtFN+J9qzv*1BiCnuRsUmxGe0xeJ(=Bi0i;{J5NX**S04rAg2gvQ#OA8p+#9*SNPQ8V=byqg zic_pD$-=VyG7=tRc~O`X1je+R?2u!U3;h^hiC=CS%ce-4 z*O4#h-m96KW){ght#^O1BJ2a@4t1P9VDy8aynIwj#61h02UABvC3 zlxdkAn4UT1Hj|*xv1&0itosyp?QcpnjE7AK$@MqOnV3~yQHsh8acfI*ebG$daEJ!Y z)>yT2hl4|imH9}gQSmX*ytZqf68$`xZV!dOY{a1ViKl5s zAn%d_$4Td233zdIGnfnS38kQ;T=Gnf=DF}*;WyrQ{g@ho?st{!x%+k7nt2W50dWA6 zFmG4TL``J99g{25fgoSVYy{KJKJk^6`Bul=*LN;cZJ`KmwFcxRZkO6TT3+o`bY0%q zO9Rt|z{XgR()}mF7D7~3N|iKv2_2VXQif!PlBTh}TOdr&RDXj{3_U@3;}f^U1qAgQ7wt5qW~puVQC0&He988j5#^7#^hcw$$z=A=q_B#|3l}VJ+5+beY802Fg;{El+?o-FH0Yg*4#|! zp^Ls9{7Pah?Gr9OiPvB15rz*z?ODV{qb6A!H@GFP2T~$!EuO-EKq*P5V&z3o$KUz# zK{nu5^GjGC%NqzQ_R$&2(UjAzXKP9p)j}|O8gL!$ic4rDg8QtcdGZW1W>Y|>MqEb$ zx>tkm;eQ>+ZJLE1Dr-2=8-8<#q5y@4e$yR|h>dr6(4L4F$weo4`;CC?<4;i5Rw6gI z-YM5CUq|uQdvFlPY9UJCqdCDOMt4t$ez}UTo+ggx-8+!I{8Kg2jjh*90kz+);PjmM z28>pyvJi;BW#o(^<9BksEKyAvv#vPzI*hljv0CI^O-s#Uvb|Zaj(3cKE3`E2$TZ4$ zgnm+SKVyRy-yox){6viV_HCx-5HrU8!ZPw&nCpQO;pDEc1XuX!7`X9gCzliQ{>oEg9uP3qtQC8b<(bH_5*CI728xMs*3QoR zMA#-Q3vTCJYg$A^d|}}5nc(ol`C`6O(xl=o9pO>zGf^%;3x4ax+C+KRR z5SQDp;X^{L)P!hAGyy(G z{S}3fv|5}C;mY4gI*>+BPa!}OlYxIjTvU4rmL2%|vq%1N$|cQVBGhws z`A&6}`Dulk&V;73bju)<_-u=lTwmV+{_}|+Ka8?nhHNFdm%%XjWVcIhPsYQvIigzH z)byR3({Z;P?Aq*N-}Hf->lw+wgB(QovGH#~BUK^{MuiO$lzl5b$MHVKJI!6MIc37y z9(6&z&O#&$GCWWb1#-K1Uxqpv*R&PS{}W~SjTiSc8e{lpYCI|9$kFcC07)s>3L)No zM@c0po>VMLX-hQbMS~}mO9x&HT#Sf0UJHW1pYday5&u0SOEEG$g;FAzWYQv8K2ySF z@pn(qXS_XO>pkg4$wUoI4a)G(?ou{3HWkB7gQa>MalE#a1`^c%dwXUO&smpm%rRr4 zHYTl9%yrOjP$_M|2)E@suye_ywdZ8z;omu5q+a3Uc2wsZbU{!?>lT=ilRaIez8-m1 zw479^g9sv9<6EJ6wR~b+%f(o%sHG^Mn0r=!}D~wR+a5WY-uvp z=F$UOvBivsEmpfX@9`1xoAh~9OsxIh#Jjb%wMql0?a7l_Bu&Un977!3xvZZ;O&L)5 zO4+aDnF8qPjlUWph3yx@S}OJ=V^D3SiDi~AC_X2tA98ufozA*_2v0yNjhmQw{jB7n zL3RELY+<7_W(yN*>tC9T;q^6Z*F#0x4kjNQCguL7qI1M`j#7aTN+F!G*x(eInkuKR zPV9|}l~G$8$6-7K83Fkw1m7dQCEkO~ko{H$s@vR8Q%@I`)vnIY86PEiCtr$t-L4f1 zY3R5!{Fmt&?AB`Q);f>-xz92YNC!K&cY%n`qWh>&7iB>+FE<>0^Yk?4-y;s)-e8(p7rs4Ae z{&&`Ye8oS!OtgRPBcH;jeC!TOV zKUAkf-DbNOi64Qg=}VgA$W2s_Kz1a>zQt=Xxx+hU#gXMA&FxEc=bKh!J=5lWp6&O0 z1bLWrvXGU=(M<7l+FD(aq1F9*cr%k>zXXLc@xQ%FXx9PzET1;_~SG-oJ+o zYrAKAl8y=|NcLJC@5_9k=*M!kwapV=Tx;O>81TPech?5wC6h#1e4Z1x*QeGv`3+}g z--dv)BYDi>6nn8Z8E8FKY_Kh_yJ9~#B22v;@wjCl6 zFH5&`0eH8}!%#8Hu0S5@!F#Cc1RLoqc0+WpXbd@CYqdx}xCQMZA*HUQnnW9Jcz9G2 z9~ITABk;8X(>5!XG};NA8syD8f2+E>u&As<3SqOn8^>{La<}zt&+Vz$AI!}qdG@z) z?=~fjo`qd*AePx}O4BCs$QIqXG-ML{< zwVmWZQ=|^w3ho#gnpVtg<2m84hSJxhy|2coT4qOcHsjKzxLUrE| zI{Ts-s-iByN4q$jHjwRA-1ZN7_w}}UpqQF^ajss4D4L4`4ZA#>pA_)4*VfRnv5j^0 zDIxrhM;kfG{DN~Lplt>%DOJmXK%T`yZFr+W4?UlKjz7j-y$9a5ttrz^Qv=|{!OAxJ z9ud)bI*q7effrAH4`gERnTu<JaR`RwfMwONwcR+H;u8W9gq&_`z0 z1i#6Bu#?qD;4Js{D=sqvP*u&sg+ydf_3{r($$n>FAz9B?4;FYzvO-^)wjWZ&K36+F z4lNrJ`1Vnr0466E4o}u>p^DVi+5XMMf9@YjXu+4m>9XKi8j}l5QRhj9g^gSY6yVNM zf%&))*>8fAF$TAt`^cKI(vdxf%2fi{0kqV*3{Z9TS$&U}s=05~_03Dj{#uZ|{Zi|( zZijq8gah%yY2Gyp`!`M|`zBZB8CH%XL3m<%7f~S!Y4ftW+Z)kwlae-O|c*7D`@WAKNeI+ifM@NdIqHv(0wtjob zU*l;k8tg@e)#&Olj>CYjSVKignO9U)$qt2ZeIT>_YMoBvVDHgshJ0YMGFd2gu#c3` zY}U*)YAsXrutmyTfASH^(?MhL<)(KuQ{aA~zppn`2(KjWBr)9k_2cIRx9_1n!S_jk z)HNo=!{)cj_oDZs)stsr{S>MYA6XZTSB26uReQr$rt?gvxQK6*Op~aU-pbB7=4BXs z)1`NM&B^lVhtoB^{9D<^Xy{t`qdJ!JKX=SVtmP}X;{>cNQYa|2*zY?L#td^{xA(Cq z)bc9Ncr^NwsTA_hN<_wNnFpGAhKvDK{iLXRn~4O>Qy2}Q*9Rs#%VX}^lm8=P>akL} zZs*=`bV=wqhW5U@MMweSdAmuJ8wzmPh2;&T3-&2XcFYnsD~t+?6Ng4to=iA#I_b^)2x99xH4YMV=|1P zpEI+Ww=*<}B=`FTcUwMsZBbDWn8{1${3I;-f}%T-;f)k%-Ij@aIhGH@quNdhqT)Ui z7nz^MjdXNk#YQWB)7S5UXAXGwz+V>=qZE@zk5Q!{X8K3@j1I+wVo2cgOhhT_a+a;F z$R7m%S}HS;47`|s_7On;M(RoU+5C%4&annsf>HEfx6UKSdy-P37O z9%CZXZhuv{eouw>YUKE-^Y&e^yuHjEUcn9ytmQ@P>52rP_)<9-_e5T|RNu0e%~j9< z|9Qr+3sG&>@ec|cXJ=l>{8UMo9L(v8wdOyWl-v%v4i0c3KhewGMv!wE42ENQr=5W+ z;!1u(;A?E&LLbmBzD*Z+MS@Uh63+VlTsc$E*!d=1%Ig80w-YAJz}F$2R!%PTzQAsu zq8Ido+7}-Au;9U)Q@AG%6Gu8@wH$2z^$`MBWH)7#miaieQ9kIk4PE=g=6DFx=EH6o znIk3}zKwR*xoOJMGBUFbZaki@O>!9&|5-Pr6g905ng>UmbXV`6NN9GWw}16lT7QD+ z_TlM4Q#K}IXRhl3a`7)5Pu=Xr0?2tM`@r$3(2929V^LoIW)1gaK{RP$L8Ya~3HwDG z?iaY%Vw>hIO+bQ%&_){eO;`pM4SkUmg^i5KmDOj^;kI$NJ&gu!4wUkgc2C>ai`$-# zTB@h>9a0SFU;BSr)6wAmAp`ouptD^VhWek^?T`I`Pk_0XEJBxQa$8$)Y1J{?@PEDL zu>Ljm_Vt-fJr~rA!m3}E!jGxNci}*l^6j*HkKqh_@P}RUGZcs#fBznED|i2Q5jeO0 zX=^2vn}tt>r8c(O`&kZ`NP{snH^!wO*`t`{^tHOW`m#&!0!=bb{I8fF^h)Q2MFnd! zWd^`&e#fA`g7?fxtm#rpbGVoMcp+m=xpJvn7N#an98dnj@8aX*<#a=SC5q?d(+p99 zkJl^ZY+1{obUdEzI1+TDXMTScfZ?hs3>t4+)TUwPtCR_+iD~|Sw}PV%lCPU4>|Bb8?1*)P>0yg*~tr`}Z+I#m;{`vB_m?xO2xlrn>W@IV7KS$DW#8ZE<;cV`d(HZNA4-x^QJF&3t)!dF3;}+jc7t3DsW3h< zyTA;x-ny~Y9QU;_t;HIBj0GvzP}jU)eQO(}g{d)CQpUM_*ow`)l?X;aU|KLkGL+oC z!YX-Qk}7r3eKGr~Mb+0IC^~8%#Fw*w$eg-fxb(rjlU`;oPKuAm5b^#ih#+93?zBHu zEZ6w-c<1>v2TZpZYj&5T zE=#mMh!JGwn2b4~ta49(LB5A%j7{yOGMzcZKGIxUr~)y9TXZoV*mBEr!J5zyTa%xA zRN>s=C%&!BZ%Aurs;%to&bt2o{kvO@`&}l7HXqmAel*(>J}rN-zvHZ0IszXPeJQ!g zoJn#lQ)4KvCZ895%rLXOX1`SJ>;p++*PnFWW~q%_TVpT2KS^J|I2vEv8&#jM|6tHr zaJuy2NggN|B2YVI;H`|E5kh*$TRClN*>68bQpTw()zC?Nu6){gL18>TbTrcPZeV!t zBlN5r!#SVJ*a8aI4e_ifFIPH8vA^I?$dO1|#QF127o<%8wlenrDBCQHLA6rvS^MU@ zyE~vJeQW=5q z>7iGdWCqF<#qbO!s`G(?0b8sd=LnXc%PtBcT+6B0mK&K|6dZ=VIH)~zr+0d>wgr`5 zH2|E>dp(jDCPxDK^YV{-*@H~+SF1;6CTW#W`F;25NBf+Rx?i`7$4(~g1-Dj<<%yGp zDr~x~Zy@dM?U357IhosGHwJ_qJW`-z_t(dgx+{gLqPfp@(v;fzR5J~9p?P_%0fGIz z?mN7>n9trZFc@4GD9a{s`fG08kEUZ3Zn+tnb2F#_9V3rTMHdJe`VEL-yr=I2uB;|0 z*H(JfLM*tRxEYyw^Cy{@d8I&q;9uVje;!E!R2Jy~>Lw$Bfe#N- z-0|pqPwo)_{4WD-UbQF})Ouf2zsH@2Q&BrOO0vOL>7quh=y!HPDLgNxPPB*a2IW>g zI|&WsNn0QGt;t}|#58fd?e34E{m5=4Yoj%yjUI4mO}5+~`gss-l)IxVVV3Fa)DOAX}P;XOy&b;gei8(KBPiR)*} zt?Zkx2?=wEOKAM@VQaT;gWJuQSMx3gqm-5nDZ$(NvZSvzVt5MpCkv3`gRbF6S^cL^LYhx}ch9cOs>2l6)ml92EapuV_|-Ka1~@h%^uZPDJdgx?O*@9=@--GsNuRwq zoXpS-!!6B99+@3*I*(yeF_K5QodX;<<%DtV9&eQ%FCytS4y)Tp;oMXyC?-gWN{ltb zphG)Rb2$CS=ch8LJL|2Fx{Q)Yl?!!0vV%u8NJ_NN9ULaANFE9@lYHs0D*_xRAD$K; zl_L!p`;{2`L4_%6c>BzeGp?TVdV`C&bkpP{#^{3d<-9V-yuGXA>X^FIN#D7gt+{twjPfK~ zn&j(mveP^CS7iLzWah`Urjc}rTeC%jYLjs(mV; zQqWT6Wk)du*VWbrC4Ffz3uhIHok6ef>^AXPXpp<6?b)_~PiD7>wxu^E_`l%e`SW&L z<5=;|lW9~eoV{gi_VkDw3C%iuyRc9 z>l*Rl6xP{0XD+_yR?JP(h+99l7y4$UDIg|GX8&iZg&){^5IBczV?4t&+&z?0ySbDZ zNOcuv@%&DHl0|Y5LNG6NwMr~kjn<`?;TeK%mr%xaOdUm=z#v_S?^iI&`x3KAXEEjQk%=H`y_%oQ;6qe zFX6!G;T`5<7ie)xPxfP9y-w{Uns1rN!OtH(7ULi^kuNdpQ|!@dn-_k-7jdf;Y!PHs z>_WqSogriK9HLosP)(xdP@gtZPy}9sms1i_sm$~fd(qL+z%1B#LR1N2WMo7@lvD{v z3mz>p12-)ViMp5`wLQ%giVcOR2yQ=?0T|N`zlQOw-LnYk&PJE0#w!vKlCZ${vR8++ zG2c3HQ$Uvp`-@X0wV}*h8uMOy4A=7#lH3@#F%u?*zM(6G++XLTFq#^sl($Ow51^h5 zPF2;M_yCz*ya|DxOfGvrdpeoyAM=8J9Ek?STVfaolW45s1XW3~4w(0lfx8np&Q-Dy<8oZCPGlRD8#mTraUeVk{>L zBpQ(P?=&qnk1E8u&MTP2^K&u~l&GqSs^*vhNmD+=Ir4(|RLghL;0h4i|{LF!`IN@s6>Vj#YCz`%i>Vni9{Urot^CfdrDk1zT zht4B0I{K1H?YiOPc=K}1UJayS6vhBAkeVBsbRamL>!?m);4%32WlZ(oZ~5tW;CW2A zO@D^IB#%L9;xEtUSQoY<^d?aT2DTXUd9zzGv}F~D&aqo2JzLEANqFeO*=oHYlLF*7 zoX1gKb%HCW<>Q0H#V$!JS!xRF_2@mcGB1y#%w(OoX6HH{j|uXlEjX7$nah*#N87XT z{6~uv>#1X>FF~xz7%!Mu>;fP80Q+Mi2)q=%ctA}h!?JLbU&mDo;ni8|c)OZPdkN3e z0pY_oEQqV+sV#UvAx4SI^XtSJ{}NZr;j`D1OGGQ66n@Vff;R%03WN}+X6 zKua#yYyOvzT6TuA#h_YZj^VJo@_N~V)z4;SWD7;3#y^j|PWzgbZRH?t@k}-Bd!sJd z&juOjnrFhN*5T`VY2;z9P+EQ-%ik&~6}A=C9+&glmGzJcq{qNM7PgDqp^_e=vD!Tq1^{&Ty9>dTXUPW zu%Skg9o5ak`9Q+$-B19Y9qfvcC-Het{#~D)XO%iC?o$s=IvA0uA%KPKV|c*k0B~1E{x2h@L`XV zEM-hslk|WX)^JI4lq-dN@48IdRhK~rk@6hXaIx}`ub?Xcuzz7i*KLFpjP&X2>lf{H zc6H%WPz(n<39L9ztUQSadSX!xx%F^K==#d>kuy&5e;xk$QILY7D9w0mMrHT9fmULq z!-BTnDwyXRPqK|gX}wk3PROKuQ+153_mFw?V;EWrVMdF~SsZk_o6r7|j!aG$4V`^b zvCac2^DEC3VDA68Us3OGzdpEpn&lbXGHi!EBgd70=_$C=Qz#sRH+p%mvMZCI&w_|D zQ!sw&pq(s7scXGAFGhyLwOPQR_849VjOw%$3Rc+qBHU^~EjvK(NAEuU8>n5 zzt+S3sm$Z=wO_g2w0=PlHGO_KRIak0Sb*##nMl=InNEnSTkL?W)zZvH1KUUK=D2)) zTU9y8OUco&Pz=re7n2EYkiF{4K8gA!4IkE@Feu}{po8fci@5V zPcVF%>r?A{sfRbPybzWtqJEYt-8xMbf}GZ|8pl7U}qxED=`?T>LJYw=VN202Boh8Nvy{>Zg6)4CdVsl3%xDM}Enf`mgx z-f4~1A(3pwfej!Ij^*u4Qr|XMRce`rkgWOlsMyTt;Xg(xp;1SA1ph|p}a z%k3JE%O-6yvm$TXq8L|FQc_V>8N{O8Z?6wSb_ntN{o4_(8Z4QChka4 zTxaf$#Pa|u>XFpF1XrA2AQ`$HuxtPsYn?l+Op3OMf1` zWOy~vzylHedXJEhSzj9mHhfMMi0?mYZs?+IG#liB2skf$pueGSh0aeiF^AY_LvDOU zq>9Teek9b^D;HbUJx=AlIYbjV7isHpA#$vbq@Z9wzff`H9jhRfXrQMz z;()c0Ntm#Mgy=V~6u@dUedouswx6EAeNh$EwdF*mXawtDY0OiD8b(uaog(rBi#9(k zpkF4q@2X!S01FG3tu@H@-E#(>_n^FsUoPR3oBJl%sZcHF?R5Kn`@-jjC~ms+{$ zT)rYT4b5n-97W+aSOZuO6^@9GMu`iqJ7W!!a#AKz^z3tl<%8?(#MfadzvBPc&FZ=9VO#tY5_ELK~!!b*+IR4uLI zBGNf1BWW@%YiFgJ^^y$fCs-{jDC!mOu}`MixM?Da8yKp}H#%_~DT+2_U9j4Ix+30R z;5_H5x>TA3CXl{aTR@SHs3WRdFP4pK-TyqDw3sgt{+YWvL`ClG;7#0i+^Zv%>2UZC z^?VeSDj*>yXe6KD)3x!Zb~7SJS!l9ACUU%>+}ySTw#2AS|B2@FxoIy z?m)=H3!~-G`ZQLQYw0HL8{8puqL1n$;^?~%w8_(d4i0HRS;i+=k+joC*K|@KQf?hnO55 z+y74z^q>!v4bcmJsi_p^-9fA9HskQi&Q4CO970C5ku2F_V@{H)VQ(?4e!3W>l2(fx zh-Ay%3z0xqEYKmukguv!vY?%PBkK`sfQ3@FJQQKZ7a1C?`jIDjyVx^)IbKaxe`PQPB)svVnG-k}U0o+Ichac^? z`x5i*5lV=#u}*rkfJ8@PL_K~Q3KccMeAYdoX1yTC1?M2E+Y7*f7q zgp3G``Y=3_CG4+zp?%eqAJp_S-}JYhT#SyLxvIqKW26;qmw8Ql*Ieg3a~4Lr*G;hv zQu9Y}HI_iZ{Db=G?_MhWfZ<>qo4{zP$9WvvK+X8{{A*XV^>oHEJ4{W3`#lz5R94Z$ zN(z*wuUws10>y2^!`R7RB@GR!C#xJZZrj9MZfd)nzg5|qXL^t9^#%|`7ghd3_Vdv*N@W5EZ=+`wh}=S-ncZ=c?c>vk zO4s>4*=t}GGV9(e+JN)48ewa7=x3^u+BNqECv~R~COpXlf3LycSR~A2%tq<(LiZ7O z1;a!0pvhBaAzS$2n)qMI=J{*hu%d>0HD0;UvJBL(&AQx+&(579JdaJb3PX3%(*2RC zwGncw^*9%L+Fe|M@}n~`K~S)8IysZ4e4&cXA<^xdX z&%(p&qcFNlx2``3HYd*S?m`pC2_G6H?K+H_X6qXiWO!7kry`SHwXYfkKh%NyN)mku zbuUydt>u=9DZglSB3?S6e~>6>kA&(jG}ZP49ECY>e8786g{5U5>FG! zM`~z3d?1k-%U55JW)h}!VN73cGqo{In!U4lxMziKThi9JE-svVAc zVm{8dXPdI|?Ba#F3DzJ$YNcBzo+bfd_(s3#tZfrt9KP{a0}7J{>PF|Wa0n6`7(th>S> zZ7E~N9UMYAY2mdrrK;Fk02a(rx$KLWt5Zg5vh(u%0-5XSUz+H5hKGkMDJj*83$wFF z>|P(EA>N!|RZf&cLq9Xi?t=6+opazSGyB6HrLEn6Qz-TlTL(0P2I(vR2vK9eEJ{SHQ-c@&;9819cb5K_zW*7pP zS4E>#r|~zAdqP{t)_e2WUAzA1abm!`ea%gcRkt7JbljPMJIG|SB$`P1Tdt zUv`MDSiU2l7{;^r#kL-GB1rnhkWP=|k<Bxz(7U&_wfbW172Ht%gmb zXO+mkJtb6%`c?LAlSLAtTRkW@De0N+jMb zgF)CGKYu-`f<5&`(PXt|IpKvRj~0`bx?cwwgI<;6;dX_ddAp-^cN#NkK1o?q-lQX+ zbQKVii91vfU*q^rI-3#toA~*}#Dq)CK^V#XlsJU6&B$$WjnFB_aQtwlTE6lebAd2`Er#&g?tH~ujS1-ffD26thZ}HZ z0p&sPO0=r~yIT*InH}n_8XCy-KoBoFHbzcHP7DaWv;one&z{LCIt@QuXkL+fNh*#s zPt|m?e^9ahfUuuu~(H%(R*yj-=-*EYI%WqIN~MV z^$r(r#oEX#H}Dzm$B_y*9s=>xJOBZ%0i_Ig4s9@o8auE#W@F#5$UHK^kRraDUU{}! zhL@MKUxbIFza4lY_zwgBYt&?|uDD$ zh-%8UimY;()(d?Qe64-2B;bJyLYS9h;i}J%_a>Z9ydCCuCpl7nJyXoB<(AU$nWtQt zx2m1n^S-?Xn9qCBSeUrJXz^UH0<=bCi@zn4#x;Y;1?P6_Q#kcR3l{DEyq1&FI3;qO zV`@pv)EP~c{k?ehGRj$edHM!^dAIhU8hm~0@=oA>j_`#lnjNDcnU@fevF*;jEMaoo z@QScNdk4(&RE?jSEU<#)M9}^_-({d&lU~)KEsWW7+EPMy*d3uH@y^DV8_<(EUo6!V zt8f4@0)soFnSy5ROY9nw&iy82qv}CZxXqpq&8|G=$c#>Y}8{wcJ?Z;&@G$B&*xugT+hwPKFw9 z`L3QX#&$0zU5$u^qljUf`IMUk!|Wt$hV~-tgB^9Y@zB46?~B(b zSxGNL22>YgZP?q)EyF*5z@JUTtU4s#MHT9;UOL`IR~tJu;YMt}J8CFSfoat#%zu@Z z9;>#uw@-YX7#`jR?m?fWrKQd1(M8P6-fwJ##RA_rw4%pv(WLwUELtwE=wyB;JmV2e zxfk8MGrF}z+COl?6vAYR40S|E|M_`>PQR<6aYxsdrS+#))AV6>dVOR!Y3}vdn`bQI zht+eb&DDVu){=0h1hk~6s86Xv9+g1M_va`73qiZK1{3}L{Z0LUi{a^e^Cbf#d(e*- zrOL@oZr3ReK&7FK{P=*(vWu^|@u2=L|FK&1zhV6kR|-G^AukR+kXR*Kdjwx2U{3W44{yV4;S3NAmx7U^#_y4ZZ|tNA}T6N zyd88|otkKj^|}IH%BBd!CnY7(`e1IMyMWga0CeZXIrN+)+c|P%@vs++zy5^XJ-X3q z*&yUoNwR|x&D$?(l)JTAp`|Zqg?gE5T#tg$o#p;+b)y%NmJVjxSwjC!qiYe?qKfm=nO&%FQ2tsLXv z-K@p`E8{A|s))KZDJ3W+i0A=Cx)G2%NJ)2tv~d(Y->l)6oxO&Mw zTM|-Io}0hK*wk}BDxh4RVN-}L&HaDMnvPunevoZq1;F{1`~)Age}^rKMmN{z%G@n) zm*Os;v)d-`1;t&LWa^+B{I(E?A4=g@o4*J1NqRF8Rpk=cPk!D+ZK8-F#dc59V{YiA;8ANzF+wl}zDKl2n1THCe~d zYksOc2=e*$M__fhTNw4*ArW(JvXh%FERHqv*F&zWb*Qc5X5TN7d^mDaLcWy@<-CdBr-bL zkZg7WCdd;Td!;}|z0+Il$=2M*9?*^Y{9Gzu4wU++oPqvYHOcD)bM^Lc)4nV{3UH^c z2ei_(&%SHrQq6rZQg{~FT7{<~?R&Ay$GN<}Z|jYmdrYsCW?M9C%tf|Nwu!(Kv5I!R3qWmYvtOQr zl*fbuAHVN-j$A@bKIgDAZwGQ6z_xUSJIq{q)cEPk-ag%PR?1+&jmR8blXw#4DrjD- z_>EZj{Yj~gg-}e1P&z!Dn(4&n-_!i`Mr-wdbm;v_4J|ad4PBe}Y&GC$jXJ+hCO__8 zI%l>Lzu}WX)OD!y-Pg284wvsq2RJL1X*<=JvEt$3&AMj459i+QT5JZq^(MQkIJfSl z;<^AoO_WZ8)Fw@i?D@A(%x(#vV?jek z-_u)6Y)gjyhK>%GI`E;{7pQm99K4T@CQK=N)ev70r37!E2oU2EP^i=g6gKVQW;9W36b+1 z*#^PZZ*n9}9b#e&rOw%`Pz(49O3aSre8aP=e;1Mb&bC|q@}E`BN5Cb42}u3?jXU5+sDy0(r%=;Gf}j&5Wd4Vt3IQwJ|3KUc4v5u2 zPP!TlZto9bI%!Zl268)SV+a&JctuRz4)M(DeKM@bR`}12Fzx@m`9P z*E8s{18foJ`wbIdUB^`&QSx7^>HlGxvV6Y;UPXL~$i|VId(4G-fL23S^z(@Ikw;OJ)59E1mb`-uEwnxDs*rIDREm9n zXZch@>ZT!yDE#eml~YYGz?)y@dDZCo9@$1Y6qbV{N4uEEkEo^vDWYUUvC_qkeg1;0 z3k>_593R=eX0HbF3E2~08-P))b$dK0b(3xym>txL^z%O3ZsXgV?i(Am2h&dX6i-nE zVjUqXV?rV#1D=Z$(DwC z5)|e5=p8TAhT{p#ni(!iPP+xpzv>95zcmi;ba|KT7IMyqb%_`evDp7pL2w}@A#t47 zv-Jfl-A~06;6f-8l8|7$cXj27pI0)!8_FuXX=EpZsKXklL_}J8e@u>v`uU+U;9`UZ zS6olD;8?Yv|5Kzehq#mee=JlO3t}NKU`d;Vke8C_U!T*jZ~JYg&XXU^{VdZh&CRe= z`KECJDZu)->>H;pA3%R4D^wR+v{FbWgwSs>T7PY!Bs5?1K~kgW;9dxoN(B;LY92Gr?L{kpOnrKk$yg|ea%A)Z6!9F6nBb2}F47szM8nd&rHS9cY%Dz!f z-s}X41&Y%EBQoHesW_tZd$CC*Llw(9mX;tv)M#MV_5FJeTmhJua9djj?90)cEF-Ks z+g1>F@_qQV04BrQP?EPBRjTBc?lniIpoa5M10FPZ*XVCUkHz}PP21U}q@zpGjko3$6c!j*Y1Vf0iO5C(lnRQB--aGP(l`#t2>6f`pA9 z%XNO@GT};kXL0PPxDK)U?kAOpBrK;0u{F!YzwSZ+8IOfaO2E#VTO<{s|fiV_$U zh$^aMMcC|hK?l}#IK(j`48COo{)%I3TU*~+fTv>EyL)^2B_-XKg?SBy5rwJ*dw-SFh@lk=UHPQH3;+Q<^Ri_l+mt|9{k=EEBR56eAGG=IVj zRcWzp_5Jo0dh)gwq>L`#TkURlZ7TQ-FXQz68|pi;UO#j9A|x<>sZV?dYPUFjE|2M4 zYwc`qe<8QWf=*)ds&z$pm0JENp5(O3Vr@`h;&i8#OaV~!nRO(6yL+Q?O0%=8H_2#G z`&)SRb?GuG!Vc8eX9ADS*`o-Eu`{?uq@-Z)e!WlNc#m!JcvJoDD{VbycJ?O#05skZ zK%nwqI0v#Giyj<~ZcXRkjR@ZJ&*3os%=Eilr!|+*5+l}ftY&RsJpRhWTP`0k(;pV_ z9PckifL>_pXz>sPPZe7~fgrV(hI!e3pn*xhiX}Yym(0t~R)7o7o?cwqBvH6NVwI`# zg-R|HeT7mDqY9VRm!`XuMQ;JsY}*|MMv+UN?MCk-;bvOYo1!CxPx=zdFBN7+VVx?m>v#eJmaDg;=T{G&Y`feK+q_i;2qD)D z3+ZXVRW-G5vpX4ymkaAHb`5FkhM_1(AisM?pNudtx+hi z(tGHZS_w`t^M-S<_p#TbD_h1!;)V78oYyAnmpmMXo0`kX;e{AKB?#qw+(BoUr1yfH zoQjfQE83ZXB(u3Wb@9P-YU=vg)#0Zo?TxD!o~FwFKlc1u%m;_Av8Fu-6GU1PP1Oe0N~cxE0Ri53R8lEYX3MkXdE^tOQf@z zS(Gq2C0bkKgkEzDFaH{DJUT}#jtYM59xg9fLAV(-eQjqbK{G&Qxw!87+kb<8yf9F2 z3V#%N7eB8P!@9m1Kt^MTbCq3cWBHRx>*WwdEs{-lILh$hjt@lBi3z=7WYvUjHqf7QswTEt6l?tK)>#R7Y%?NAgxabv?8W7ayL@jA^Qe(g z<)!y$A4z~LNGqKg|Iy@#(#q1Vd%eKf*%^xC<*~55Q@lV{(WBO!D^_%;rimXCH7vIDwu3dPZXcmiW@F_#? zg`nx_yA;*7t-2_sF0FuzmCNv5Z6d?5`c8Swo*Y@#TRkUdKj@51I}z8zjYE(Z0jC_M zeiN^DcM@iwwb)^1#zYPvib0q)&1%L%;zU;7LYuCYuSeLe3Q-g{j2`YmX?l#rImPVM zPOdYQz2v>N6-#}dM9upw3mL9yV#*oQETczQdz0ML|o0Wy`?;&K* zyc!inkX$VH)#TGp5w@ucn^V_znR1mL59-s%O_8Rr+E%BSz2=gDfV&BkoU3GfIAcDJ zSKYfDWi9*`bm@vLQQ~(=Qri|VGE7y!*<%%^8x5bNAQCsJ@ zjBRl*TvJ**!xtl-T|x=RmqM4d*L}H_7;YHS=X6Q@&>)~e3)ATMN)+WM#JYQ%SNc3+ z36?1m#^vJEjl2#q9vvSKEG!J}FkU@*cXxMJLlo8X*_)e^zy-AN8;W2PHdNa0aFtJk z1!3-+P=O<_v1r)~%r8a=1pHJt#v!BW*x7`qS4)h+AeIG}M|9=9q=cvk8TU$Aep(AP zB3u_U4dB5|BlWOYy1&UIX#oOyM`D%cXq&VXbr4{G2%`l7$jPM+w6-8%cNf_-dqD^B zJtJ(no>GZ=CEPym(9%~ut8*J5dstT$4)$G$?C+<53Xv(@xgB?g8ZJHHA6}il=5uXv zlbH2>@ZHeQi)gJzOPj$)ucmddt)6+<==ypJJkAZ!;6^ZI8|o#n>jo;vA!x5S@U*gaeb8>e#<(IT`y5!!*cbM`t&ykN8~E zMpW9ZO>yVwR4TgX=#0Jk24WS=>|AYNFKSjX6ZxUy2=SrLZWHjVImJx0N@;7E`UZ^I zwI(FM;e~}Y4ROJ{>NQ*)s=oz+vsf3P7Js;P;@nQvn2fFY z=vYhB>8ATBDJfLw6=qp&U{zL&oSC^4+Y%zK*AB&Su0Fl_V#&e{e8-H;%c~3uFUzY) ztddkYxs(6H#jFtMp1IY)oJoAOkZj*1|YN=de))e z@Y~dCdwYMg^bKI%O27&kSA*5)tZWV=9>4taK9;A4Tm~JW7COC$Bq9gy9%{z}$G&o|c#H%Xs6ibO+dWd`tJbm7O4iFXKH5 z`s+MU0t$oYs%>NpoBQJ?<0g|Pj`aNwKX=rEHkQ3AC)i?Mw2%X2j?neU^-?}Zu;ePz3#&z%`jLqTd#ZmNYCdJrfs~4 zEXk%b%;y5-KpVVfFX-lPEIW2poWve+$z!NUF9@~vm0fIEx|b0_=R8JRp$jqpE(fbu z7Z%QS+K`6`Z>G#lOsL_WvSJi?xj(BPPT#}5!aZjZ+mT&G>O}CxN&SW^313A3*VUpb z2wgqK4>oAHv&CXa0Zt3w97p-GCuj_Awf#yoX@KAP8$I~L)S8k8<=(+dVW-v0?Y{eM z%d^h;EOh#;Eb+WYA9{wPn%tKRg}jovTlDCbax!4ezY=5u7LTt7{7Glui=I!8R@b{= zRDUQoSqdv1%h}0%9!e*joRa%eE))hG_*e!L{OAA4M==6}+e)z>U94ld(Eb!isO%W3 z04fqwA27oX!e-4`l9(0kSt^OUX{co;XN_J{5`aKX+}pcRn66`pOY5W9sXjwWicsQ|<78mV9GmP2P@iTEkK^imz$xk*neIn_~g8^<`;ccoN&CQ>HOP&7F zqMduvDbk7BF!}{+YxgMKtp@V1f#J6nfx!c$u}_}rzdtUIv>->QEvg>Y`8@kk%jiMQB?GsTk zw4drI@N2uD6nH(MJR85-&9-X-D0UIETY=G%b-H$EV)L}(SiFwXN+;57>0WE#799?L zm{RkCh>dsA;=Pq0v^Rqm#2S7f_PkQxNGXcN^R#n0+;%m}(L6Fs2;5wVd?;WkY)c$4YB6#M_jMZ{TdgA-NJIObCEMb-G*n3t9I8O^ z+!FYGu3^L4jDF{;6VCcPh6hgrC24ym*6-Mq z9C^1HoFW7#`7Uut@vzpUJpD&;$DSL%wBcKe}zvWpGgElX>_rTQ(Eyhh(*c8ULn z>lv0xa`c8%uF8+s0aW%@z0N@(hyxiC3gl_gR^4j7t;E49&pRvL2^Q?0vV&&~wxWQPAFH6taV8wJlYTs4w{BXc)(KXS1$w zRAYg2^Oc3%+E> z$wR-6M7sd=v!2w{(hO=m(G{fW^M=0LWZ{o-Z9lD7g?|I5SS-q){?VgqiwkT#S#gg3 zNa{5~Gv1ipYoNx_T!!=ZgLBKCa?)u8sBCNft{#OqbE5Yx%s9hRsS zap(WAU4%T}N)Uux)#8e|P2+TY#4q0u)Bvv-YWQp#?jtvbr7DRv{h-<*DQ4si5;v%1 zbE?N))h&Vt)Q;bvCYz%?O$H3{o5f+L{d3|lO8+>>p z7y7G<^E*30C~1o@#^KT~jj(c0L9PGp3q@`O40Y=chyHt{p+D07rV)(Gw9E&Im^QNl z<>k3U(p+am7RT=|H|_?Pf>eLv>02;G)rYNwe8FM0Ts7yQpwQ52x}l+=Y}o`B=l#i_VUk30i5Ja0*XUktG#&6U^sB#yIrW7EC2FF|um5a!y@g&XHvLXO4MV50{`6)JUuW9|=7zyq z9{xUnBBa2h$T&tAGUH82Ny#2*nZh~V|H`vj^d^Immtowv>x5%XLroqhyFaXwy;&_C zBJtSbQrw?yqjzw7I;&EmSsT&OA(rlbVc=@L>ZgFVWerR?JheJfva=gVNK0eCF34`f z{QT!Lzt0igOzm~cy%aJA#x>m0Qf;`rVt8&=MZ9P40Bh5304|0?3R|o7P zbF#*A?QFZWs;lhXsC-x;PPh@UqiVF3Szg}tXK&u#!?D$+9~pbszvix0a1|(myEDkr zjLYn7+w7i7@#bgNF7|Q^Z>Ef@cc!s9Jjf&#ps@nu$|Y$DJee9 ziuWa=RG3g?p_<-k%~P;YB@|u$@De{G6dtk}9P*Nuj?XvwK!Ab4iVxBhHF@z_SM!Qa zAdNim=JcJ}NXnK8L_*$xx)wtqK&Y;=muHPAMR#+Ld+w}vEfP(`1MNHhU+2@6wE21U zF5ngNjj#j_Z_s-E=q zh&&%%QT~5KK?qRga@PULbcwin(FC+LqLnwhq|E)B(&pV`T&vB!h9#<(FJw9%YAo1K zrqK|kk^ziP7ndQdb$myJ%YhhrF@GJoQ_haI@NBI^iv1wXsyzT1$+6M%xWPVt(5*4Y zb|RUpCQcX}5zO0F0f&vclWw8}{;SnW#KZo1$p>^86|Y<;89*QCi4&l)MPtag?iTN~`V zBz&G91ed<5nSoM;8F_e$3z_+0XCDhMSX`cL@AJ#+)wl*Mhr}~DQPv1<$*^nmpxw&d z<2W2kAT5;+Y#+g5zQ;Kf%N4 zLZvw8R{Ze13M|uZ^lVvB)PCal*{t&UH>96S+_f(Zo1?C>5nA}W<41PP8Oo_l!ou(g zSPy$QlGyp*>V=!M2Pa|Ak?VlA?zD;p;`;n6iy1yWH;0``${(0N7s$ov0~`_#dudpc z&qCG036`@c)T0|?Te5K4gzRrp7wp;}?6&`z%A2DlCO|vfPb)hkQAmM)P>`x9Q~^~j zdu?`4vD`fI?n8mX5#|iqe;4MctySrWsSPbpUYALAmQJjmcRFnQp`e6Ryf-NORIm9Q ze}O^^7~J(QP{n92v7#$G=S!90j)V~=hwdjdp1<*$VCBj!sJC7IT)yrhgz}Ml zy`>M(IGHZksgw-;(Rg3z!ob3^W2~F5+Lq(c=+uuHO5HK0RnGx(!pCid8?FU?&Lj0$JZqF+^2KNvXhfB5j> zNaU~g?v!pTbgEZR(OBXY{C6?`bib~T2SE4?UC2jk#i{AGWv`_8XU`i!_<0*d9@^Ta zf)=~+P;t26VCS(>GHUxi$6qY z2t`<>I@VEBP*T>e%NzcI3~07%8$EI9!iUUQA1k?1M4qnP ze}D4#igo?#P9yTH5jt0B)Mz%b?+i@O%{lFjzkhsu43dAla`e=GKT?}203mMG#o9A} z?Z=yb4Db8ekCXNf9G^=|m~#J61L%8xIVF|InvQ%V;m^{VP(A zAEC;lx1hD1f|iE(9v&8*Ut&2*&b>dX?aX^c@-85-qqV(pz-*`Z;;=n54!A6j#DmAz zDcIMPx~Gj2&|&2eeuLKTK4Ts&VEpBfEL^4-RF*sgYx`8B82w(1v2|-oJPgkl@WYHZ{V?8{ORHiGfX9oxl z+pyj&HI&WLU&JbMEi+{T=wD2C)vd%w1zkegS#@6WiAep$hggZTh&KK_U12W;E>(xH zD_%>14#|NBlJGg9!u|rwxVqjse}r94n@iXG>E4XV6Z%2dlP4_znNmfic6w%Rs@aVR z%|8(S%VB*YC+&$N-?jA!uNI&}6G23SV`zkij&AhjBf<-_(F!kMjLg&M5^p`}n4R%0hl5nO_?>_fNu;6XN@d$&psYttN5%;S&px-VMqRAB z+?ru0tKEe)8Ny8gNEa(!c4%gce#^PQ#g+^h^Q0+=H_M8mw%N!NFX%vj{lLXN@cuXA z_TXmQT6*yK42WiU)36u*J$_jOoDuf{5}fzKu}CfTpf&D!ag!RK{>Se_c5&YhZ) zY(4JW$IIDL&1Ef4?Exjo;a>gY7D1-y;@n%q{u^$p@D{&XJO0@R*ryMTI9B7K5U+au zZ_ZosvkSr}c_}+FakVKY4(xAUAzyh4n~lXgLcd|3wgI>NysKPk{FkN(e$ULInQLiG z4i^&m`5`Z2^{mlYg zDKrWGv)s1xC3|0Y+Z>;3luw_ov$GTF1@Pkc+#x%0I2RWe+!tL{8A(a}?trwhjwiIo zn}b6S*k+{rIS!?OsPI#h;nVezTh|0v4S&)7F(}!RN@oG*o?llBQPsH(yu_o04BB?; z;ln~hjm9%S{ECZnIG8Tv!G_q=cYFKRr+0N`Py(%e@^t>Ny}Z~TVMrN ztaz=ME+pfg3gcn4+e7KBk2pC*gM99K|HloQ>-Dz1F^Kl+l3iXsGw(Lj0U=zLWg@Ju z@zXWCziw2TjZs5cSYR#L*9&b(>A2hLxfryl}TE0Eg-r}F-`+D4042k~7iy38d z?4I6IHoew%(Y_`DI6TSoJvJ)4eZe%pn=Lj@!wrQ_4l zCnY;yDDLY-E8pC*w5i7pl!o06tjC*>AxIJE=0<;Cx_<^dCA%f`4t8&yn1C0%^bl!5 zBahFkZ)bjtnY1vZC%bp43D`&i&rkkK?%fDGqma~q0AxJLFM4{RB5Xg~I6vsll`rf4Gx z46xC{h=hrOcCmxQL+qDKy3m)^c2G(ej7(*ukk@n}n7=_U$$L4-FcnqQd;(~`U9AnT z8Dd2-LJV}8{k`XWhyI~8>#WCy{@YVkbV!$`MB6~*yX>+4i$PO z{Gg=c9fmCSVU^)h1(^H!`j^VL2B>pdS1i8i#jg;QUw z`9-G37P`7byA3z&h~b}g?LkP&zkm?je}WXAGD3pw?i@C05>|H^Ag?jLzkehC>f0RS z8-!w|GwJd<D%qPmlQ2j^1Z~w&&2~%pQ&) z1cBCs-|uV#+YT)iRpPpM)B7+@!NKp-3D9E=y~(!w``ywJA6@OVI++pQlcfrH(dvE4 z)}Q%Ti%Z{rAwsXRN`|>Q#N?&bRFnJOx*1>U+&pk)=sxDOO(*OyS``0^kFOG?MGVcpgiA@n~}0gK{9H@}OY_nu$dM~Ljrw*P#`MiAm0 z{R&E8T^Vb%vs4beEEP_$#0KJmHc5p9Mf4}CG5xEjpZSwI@bisD7mngP40Qm!WBKn6yHQ_F!&oA_QHyQYrWEzd z>#>w3oYRTC9l!WbR5*G#Z{IF$7};@p-`Ug1C-*cc1!pxi5&LG`zKxH~b$*@9y{42P z`mUfnr>rVSk3-EJhLHeG)6%0j=Q*4!-(B%KrDk@?QO{`9QJR_ruiVN&cx;AL%UXd8 zoJ!kefuiE#{kd{-wNk8Rmx=yO|Xbgh|SHz z!9#}d#rr6zjd;76+fQ-qhZc}j?zl77{b5Ai(Cfp-t&LC_SyFnI#yi6iZ!qHh106ml zdu}P--;rOe!e<-#UhddW>UK7(1=x8sy~JTPtJR&4Ws9OOTc^K(+p7TRtH1^|&`P|wUj(=% zjdqB*>*ztA(o{sVxPmzUxI=S&6uU|+%lExP6h+5_x0rmXsc6ljf$mkHMYI0jrA7@| zU#1Ja^Rl`g_HVc+hHUno^OcV^9-JoI+q#^3Y(!^0!MKBigYQ{cBSG;-#v+q*a9}qZ zOMj86*Y4wewLN#iISpU2h*oS}y}u!PdEZ`j5l5(gam!Z37y>udtEQ8z=gr8-SV;fJ z09>%EGGn1urPsT4M-uE?^|i<#hycoN<~8d?^PF$ z8Rm8i@uff*NgUm`OBKrX%*;Hk1<}W|?kds-fBjqAPuVPh*zo)nv2=N304p*eH}FRm zwPYaA>-MCluMfwRt%6pN#5Y{a$KfGR?4TY4w!p}0v>#LsisF813CEsR98sd?NgKJR zea$=jKE`-*?|1o0LdKL-NI1V`%xb9VN8i32pGatu5!W@=qpV!cXXwa9Ln? zf9fB>K{b4r9^xy*z471Hj}~fycS6Z2r=a9`9Qi0a$(*jV-h=DNlTYbWOyR9IpP(QD z(CVEuTgdJ6KCpfz0dy3=EFBJy*A)qFzEN~8+pcB$bO{TlUGdZ8jo>g4-dJP<)W z@vN8dRef;5n8~Egdjwm|OFBLw3cr|YGZU(%Q40r(h-t^{i?$D}nDA6Ilfr@|IJmXP zxc#qiSFK?)M*sVnz2H(6$N^3;(UW_@k*-NMTcXhoK9`ULSja8d5j5;U4Ta4d+ZI+N zXn=NuNH`~BK-dAn_bdpN2we0iKkh7;0dY7CvrPyKrtIxc$pnR)01BAV(a~_)sg7-D z#tdH%+-xB-yB#yGOIP^>^uFrVrs451WbB4W<;))K;t(ES1#nXT_vClfFQRCcRvgS( z_U!7Oic&wzDMr?QH52R33)HR5|?y#$oqC_FBc%hVEp)@er51CKd_8Uu^e#3mD6YcG2nvKIsnxLC&(5NN{&dD1- z2q*IOMzhx#8J=Y4BB5^KYU8yagWc$4=pxPiRI3-(g)DIp+FWgeHn$$@PK%jG#NC~{ zqmxt04Bu3j*EPsuTdSj=sdm=yq{^)v8o?zvl>npcro(UQY?l`pAilHCU0)9kmeFKw zP*xh9@_V01JH1tM(CUFy4*h>Ypn$S8nxs;T$SX;Zu&@ZZ7K?P;y3;{Qmd_QiABNRS zE)DVdbN$8AugUGa$Yz3$u)!>3NA8R8%nhzb&py&330}%}S&?SCs^sQoWqf%_iFGZ| z7E;|EHC)Lv7hzmC@?O3HvgwR;MEDxc_jQ|vWfbT`+Os*XF|sdqm|BA({bn?1#OriL zT1C=rydoL0M>*w9EZQ(%6B0_BnB*>B7GoPY(eV8%9axNqy6bcQH<@&`#mC*9@BRDt zEc@jgdoNHT1g@Jp8z~PXBDmIpo6r{W3W-UnhKKI>aAV6&$HkSrLM9blFpj6>l19WbXDUE<=T#bZfl)O!O!5r!}ay`Z>oT*W+JOEaax2x zdE}Syrd%FFZUo!1%^554<3q&cHp{ls2|HQqJE#>)>lTilS~q=({N4QdrqIPB5)hz$-PG``D-}nntkc8x=L1Q@piMC@Nc+RY0xk>)wl|`A6M2Kav;Up|A`7=Zv{Q^>_&a5t_AA> zAG3FJ&h^q#n8B3oIp3qjoq2}t(lM62P5AGrF-lgPQ~6Id(!1ky#}AY!z51f@@YaiT5ksxW2KS z@_7tJ$rNjw9j|*Q?X#~v`}#>FR?%4;Kd-LytW{L7!MWPb`)25#?itvMgIWy0B1V_V ziSeiS*0M1p5!0aoB-bQ@AGXQ(4$k=23P;jQVOex96Lb@)7Oap;vLw3_htRQ&N#TgbLJj--=%yHL%(u|a z?WS)*$iMnf8v_4cj@1VH9@h2)t>a4OTo(}A#s}qbhTPm-u-?$A2*!t3lpuF}%sOym zt@v_RF)6;;v6+v*V`*iRc}2_>1lEf0ngmMoxJk=*(w6fJEOzuX3gZId@O==4R*+jj zLC5E=eH@L~t8p|^iK{Ea(hU~jTgt9YVk_z2R7n(62boa+7aX%4%j%<^mMbg=)m zsfCr)oP$fDJRXDj)6yqSMJ1Kb!4H>K;fsb!FEyc_HEx`%1S~?rX@AAf4`DPez?Bz0 z{V_HsJ^hI)kFG(|I9YQ8p!@fDWT#6;76uBlRT0OVb~=6SEL z?TvLSFBG3-1_uVr&)+CceburzB2AB{VRAsS=!n7mpn34=+|jk}=Y8qeQdtT3mza`C zdtEv*7Yi*qzdyhfUzxO{pBxz&n76jm^7It2VV8WIoWeqL1Bk1e$7s(*sxZ_iPn1S( z?R7|>WaFbay&IMl6yJAtl1NC|Zp*_gH@k6G`%gN9^11&Lc)!u)g=#TA)~ zt~pu8&btceblj@$q{It+rFumsHlll@dv~Z<2im$}tE5y}7tW8hraHqxjpU z>j3PB&#OYEsp;vMV%dYjXhJq^rxB!r>0sQ5b(}mdt0=lvv#&v(ovi1ytAxQPEDRgm zIT)WjkC^Tsb_Qajqt9Q6Z8oW%u;8X&CRn}j1@xj!QdRYqof$Y z+?o^=MeiCGvmR*md}b|RCi~UPd4N^lgX^^k5|c%J>X3IQ*CQ>MRGG6dxTrj9N0&EW zv9`Mx5jY@iH(V2k^TJnb8Q5h7AKbs z5U#Ej!cscbJ|fvZLVEhjR8xA)EMgsNU?0x>7+L`GDyBfzwK(aUR@T4#OFD zLZ(N=-d+>U`w2?g{i*uE-btltCjrBrqVtu?HTI&>9WCo2(W;EZHva+9s#ODvz5nYA8NKg5TVgX7!f3*{?80xil> z>#&c#ezeayHF-wy9!>L)>Q0EftNlmgrc+a8`ZtJOY5BE7sqNZ~-!>sw3|UTUDF#gxwzm0^dnJJYHdEL%H#>{-`nA5>V$NV}?Pa}j*U+RH`i%Q3;JM#u zdIMdswNOcm)(2XbZIo$rveLlzU@pAu0_kXCdHxkCx1Jh1Z#&ZahT&CmUrFRv^}TH# zeZ9Su+G0~s)_}O^Xa^$soyE6F;r);1>20n(Z;sy-H`SPj@JIVMyo@pXV0Ui~FBob+Xd-Sd&IR9T+}#0#-}Vig&!M zrD=-iAR`sO6h=+(QEdB~AvdSv6dP+nZz7J_U_4BtqNT@LsX#L5OI6DslIdev z)_3?XndH=oD{^!uh(_ErG+L_$z?|g%A$EFPY~Uwh%++S3F8haC%%Xcwt<|@JJI#$h zmuEhCl#qBy0{(viIrSp6V%geZ3;~f&)`2mKZ6PX_=xr<2vk7QqVL2zqWeAb>IPXuC zRhfR)fq%@M9lp&|vxQ$`;KYLvO~Gq&JsnK1q{rze=95R(9`H zJAHZ0tKA6!y#1uf0pHyWSoKKbNwVnN{#=L9_EN4aAuwV;B9rLM%(`SIa7*g8+^ZEz zXmxlmeWUf(=+xb5i;YUA`8Q|M>Gq~{DC>{$VcuM6yA%k)!8Oyx8lQeGCfdg}W(Z2a zY+}l3?5;pYb0C#QB)sZasZ{UmgO_>Y7gZya5~kv7RnA@3xe(FiI|P&qtc(4;u?C)F z;`nlnPQc3TDamT8tdeaNSb1id>eCqkdA$jW!P3+JE}Z&mf3Z8Oq@f{9?fD|i zw83p8V<9Ul6rpqXC@oZ{Eyd8_n~85A#c8B2Z7z(!eT<&8n>uK~hG3 zsoK*W<$FTiPur2Ao*!3iNn3u~&1`D;&Q{9wdc#t87C%D{U3JWl)Z^0AMF99Cw?4}< z|9HXtvKkIer|w#-w$Ym=)oi`mgv+3ub%KeqCRlrOTMd6-i(GGu^(So#{%|FGr?kf5 z>{TDw!(_f47BWVJ*>jtA=_AN-jmJKmvd3@}9v`rJ0nz}G&1F`=6A6@w3P7(+KCpC0 zz%EI;J(_))t6I2RO${hZgz%QPopHHw5nF4hkRp2ZA@n+jhHP~Nb1qcgM5KtA;OG+z z>#uy5mFkG$Q8eSwgPXZ43B0A^<}yEg8XQcIv8%&e8E2)VgOfWh4L>ecDv7e3XeOIJC=(i&_Tng^jKl77> zM1BH~ln;%YWz7XeoQ`WfL?hnC2VqMNb2@OYkye=hSjz>nmX%y|VV9HSz6kTb_`$%G zAY3@3bJCvlvvBiQl2w3V7-NN??90okqAr|jrqN+WvjgCGcuyaZSU1zNLpPIjm%_G?aXueGjCuj z;jRjEM=I|8O8g_K=M>*zTz}Y{F6rBSeUlaJ;#?>9>=g!8@%*>RiJO3(Qv#zKOAdq4)M{+ay)MJt1u#8y(sdD-xJ_A z23|mv-S_k&&BdcZB~2P}UjzNMst2^QzZdj0Nn9RPvsR6uK`vvTAegWLty2UUf1yj; zLOW}M-{Z#^DS$?OTAcd?9M{>6O$JbuYBkTA3Z0b_oic(RDik!Z27hv7nHIhu8`yU3 z>{vx^JWf3}7}fLOSzI@j*PeH9ykNG7E!ep|XRdc9zT}P+f^hdcX%+Z~cy9g#Bc(_= z*8QNiCTk0vi1=5dLp#N;1C}mV#Zq{5Lvzc$&>mi+=o29 z@k^+qigG&7iRC}X1h+5=eY{~)#3vVV{sHa;?r1*UXri*{UHf=eiIp6eVBM~HYYzGa zdMyl06_3(a$t-CZd_f-(a;d2G_(7SgI2lYDca+NR*>|8jyD0qlxj7gc=$BULP+(-F z+FArjhT8kd`}2yszoZo9$=jF4<(Mne^?lxND`ErlczCIetqw934t~dTyOt$q#(Pbg zk9_?TQ3p@!zd2FP|Brj$aABZDWInO7+X&yG*)*qza_{b=kQ3IA!CGfY7IbRxV9C`? zkh%tsQK3@an&t{Zn4jDS*#%T!r+)wP=l#7Vxi`5(U7SD-^>BVp&B2fBZ~^wf>tAte zD+6=hlUQ##*O`dr=QXCkadAmj&nguYA7h3Q=~vpejS$Zak8$JYCWjz@37^-UwiG7K z^}sUsDlqjaE2NwG#^r0-V>!LBU_l2zGQ9omR}4?6=hVL-9nM|&;u@@fa88>vavfDK z@1-O~aw=8GUy&H0;=|o<<14ggm_ly?Xd(ZiMhx}3WuKoNa`Sl z)~C9J`m7czA&3z!IX49q<&F8VsK2N9n_+`42ZfbK5@4wKQ5J_RWdSQKC`i6-vJI-H zOpFt=GZ)LOqF@OEazrD`YvzF@|8PmK9DngonV+XEx}N(GHWY3Pb{zhxJrRg zw_uW$^n~Pgm@?DZ0-1YMi!yD|C;HwjtGD4}O|eGksmJKIo8%drmcj9vacrSVUaS3N zxon{g&Iti{isWu;wJjXip~p5HpT3973A6l@W&L;dN<((QBZc)w)k+GMa`||_U*H9e zy-p*hK9OlGmW1&lKFLhvIYMnYh-z2)5dYZTE?L7`Jg|a1TK!3`15@^&OG?{Q+|%k< z#X3x!#*fuE31Ea}!PuRYyYNxd!-g6Z?^`?nf5 z?;i?jT-x<8AI=xBa(}ork5fZ}nQth*_yVK?q zwap8hByMk_%CBbx+G|Uj|2LRmxY>%#j@766FAvz)lhy90L11BzkL4~u4~?JXdbXO4 zN3enQ^`W|39Ak+YA!*moG1KpbG$9xDr%)mek=+K*#Ompe0lZ#+v}f%K zaF%dQLg17Gk|cd=qjY#eRGfk>#ROilE;OlgRlzxh(OCIi5uSvC2+#>}@@NLxQ zzrsUG_kvvVVtFHb1AD-ibBsLlW84XT8=*8Ey$#ZTeZ?3ag78M750?R31r{<88Lbb* zV29B{O`Rk*yH5!iaa`O+j`kAjIH@alC8STl2(J=k;cru82A=gA-=-`f98dZheRRpn z%L`~}5wf(j1d+msnNoIVqhjvlhyS{kybZ^W{_dBRWZqX;%2iwlL$XUI;@Lfq)3yXA zqNlve{HN>vP5<69K_quKno?eUhka2GlsND4*Ea_PdLs--W=&hsM}r9-KC}6YJ)Q*6fzLEf_(DTPXI~MKMhymF?*8*j(c_ zMnN%9{JZS)Sf@WqA$KwjNd||>OE}Aq=TKaVU3cteEW(R*PTa-qKpl$cn&DjoPltt3op;UqYeipgSCSZR-Qmb#;{65u zdHt1@Q;CgxDmD+w$|)xaWM1CHaM{&9$ZLRqsNB$1Kf}OCeMXz@;gXt-|a5nNa@tMw>31)$?}jBlB5~hl;wN z-TdMtZ2fZ&p@et8I$XWPv(q?Ms_MEj?c3L-In8W^dNh;)Cp*mZtRZkFM zZn)m{GmMx!gox9W&8RPoKz_c@7f8_KmMQ3a7{pcNQ`slZjuvZOIjNiOqjR`diIuRD zzq^)|N94hRXJ0ybUqtF>DXbHz4>H_Oo&c%NM}*fO zzi8`<=e&RItD)#knS&-vb?jd|C@e|$1<4ta!8Wn?+KyLe+-)?4xd(;(>uSU4RtYZI zgYC0pP9i|wgcZX)By9$JrExN+)#OYMwx)KMPLr+59GY*0ZGTs zm!?gZ)f|A)A%43W3Fn9KSZlLvWP~;a)|F6yO*1g|=LH>V7r7i>yGbBhh{72LVA%7A zi#~6U7#e*6Esi)&M=gRNg@n@3HwjmYqh+bUn=FrT z=0VY;gv|1fMz}X+b~43B?(HKqyj+vw*IhQuxtP(3iJw;6Ak1VbDQ8%sk780%$od=` z@fE?oGrun5ZkNQrI0IZWKYzL^k45_#**5Df z6!g~B9^G0Ov%VbGE&KZNCF)<#kNTYSE!mU)jZbi!kDWQ^J8iv9uPe*TP`M-(S=wR^ zC1BnNVJxd)TURModRTSPp-f^sZD%@|mxTHD z`up#Dc%-qcd!Kj8aEh!B(O#ZW(!c)!Ztt7Q-0wX+Vx&FicLzuzS+B|7cAP(cWyWZI zus1+Ih}Y)vsksBu6wK*E!-cWTET4wdO0VY$_5L+Z0WWu1J?<6o^akQZ6< z6%{2-&6gd2tIe1rT=KEoL5-KCP5hcXw3+fXlhdjCugkVM`{PiCNp%d#`Q@b%tijBh^FA9wFHlhKm36erXYt^S{NI%q_*HzFY77~&N(ICEnOjlD9m4e_W!lig*>W?o zymSIP&V(cji!NotPSa}=FVB{=BT7iTSiBu@#mmIOUDlE&l;FW+V7g$O(fVYWR4?bg zGd*b79e|-RYjQGO&$ALHT9hz&k+;21$WDABO-}sjxY8QIlh#sJq5YEpI@9QO5qA4R zqGQ?bi02-xe69MEg}UvIQ%AQ(N6$d_1}(c`l(&$mRu!$&8+W^E=E0-Zu_Av}L1P%u z;2`w3!Dq3-fvI9@b`b|^3KdT>S|^z8yW2i2x5_IN;mLp8k_lumgpjG7U0#akPhn$Y ze{iu$Q}wy~#Ny-QBM~TBWAD5;qqgYLES0#R(e)95IqWtoI@0l(a(&QsAw0Pdlt$7(vkUpz;`kkjQ_1 zn=nymrFk2fkt9Z{&xCOke%>h+Y;|f_jeME>BQENv7UI#P9`l9_$;)fwM_>Z$TDw%n z2=OtyS(hpJ6`?5nZ5&A)Zhuk3yGvSy43S)zPSiavZG=kW=DuJL>e_MrvGph9nAl@$ z^XCFlR@G9?-e^kc`C6-l8@H_i?EJ~moq5uL8Y>XkUNAGBjnYjr1nQo_-UOoSQ3Ze5 z+z+&)h01QzW*4NRmr_XZK<9Uf*OJ=x>gf;;9V*Pde#t^YcOmF?j?d{l3*1`~jX#~S zc{RPhWY}Q0klc0ao8|rv=tg32KJs~H6$f|& zNylhwZLk_sy8Sn@f3IYN+UZI`bcR05OL-dSW$5+e?!^$1pm!AThRZxkvWSLR#GFjcBR^lz-KBJQPpg)+6}q#2feoJo27-IPqC>iB^PE<`<%@ z_oqw7pVF;}ExFbyio?nFUL4C#^4M(DIc)ANH|WkMzSpg_#8=K&n7L6NsjnF4X{b~) zjWF%t1W(#9wOht~O5>2UI#i(-^_cAXR!XVolHvjd{ zSorYc4qiQrgE*h7A4;66wYN_C+4np6Dz9;jL%c_(Mn@A_#UwrWQ|eAkq3$nz~*`rn@-u6(tBGqA_Kke&bpycedz*l=&DczEh0b-Y?YY)Jf@E5qOq ztS44)SDQK72m=-IvUy*INxf**)qnN%P3oKe@G=n(#tp9-$Kw%PWd^#vGW#iuiwUd$9r>~9yCQ^ zdB0zZ$w{y|On^B*`FPxK2&H=4y02*;iekEnSR^Wrr}QK@Q_#hMr{5#&Zha2-t)Q|L zs84T5kYF2KH8s`Mn?9wiZ96u;mcSxq;)1VQRm}6_saCzN_gHRuVlDi`M{+TPV8yFl z?t|p|Zcmj}xjE&rRbnUDmhqxczTh<_1qCV=mRTQZu|{P@s_zQrJFdyRlgq-$Y za_WxA$Oe?vBC_6yQWWOT4}axIN56JeS?+3eG7D{V+HHcR-q37TB%ynPap{kR*uPCE z)r<|4&==!z89328+1MYyXnMyR(OwP+LPFrjT0aeD5W@S3hzs$uR@Gl|g7ONNLw##} z8=aT#TttMJN=H}EM+4~50C4R7%8eU-ZPPQ{6+VmX38rlqF0AVRP(R1(GO+%Wc4c3S zgAcw-OWL8wAi8CQOiM$<;+#)JgiMTcZCCeRtN9?;8%(Z_U2IQmKQUvk7OQI6jcAX% zt$3%|n^Iu94gc6aSQ^{yTKI9i680gD=PS3Nms0Vy^REMuk!yQEb!2I#kS?xDXrfm? z6HM}^dVg-E3CS-RDV`ldZrQjtO)OVDQcfU&9!LHsHn4kEyIGOf^|}sZ8PE2=;Dx*S zRldm>Sl~Z-3WH}Uk?!^jN_pjRNDNS^#`VVPU}jr2u{goF>Le8k`IKyIQ5|B+P73Pk zZ+`!-i`J2p{K*606@o8KP9`QMmRs$=vFvD*;?|c=Srb)u5Uz)Qex4m18B+tJUj}-fc#~ru5DqICa3DcT3(a*2(Xmv(7| zka7@^I(LA2ceb9Fl)0i_r|m<#h?XAWSDLM79*E4uFd7sE2cRP|(J@G%ekdnfR>JGe zM&7f603gUf_$0|GySH~fiDzvt;Yn5(g^GD{1LnI(VPaykM@jMeW8xE@xw*NR5?)vz z@>9c_LEGa&GiEVs^rx0UE~Q{v3pZ@G4p2?0K_b$zuppFWL~C(9p4 zf049uVB~{XYY;B|X-TpC9> zki3R8@4C|NHMUWIgp0eLVsgd1zqXAZCk+ok+5ag3dh3ES^NZ# zv>7`%xW2rdd3f%6jP{Q97_O=S02>#*K^}_HU!H*6>crkdby~jgMQZ}|WX^8F_cTpV zYdDb|(f91k{`2S5=Z$5sC}1CmmN6$N^`rM{v*pR*NcfjoV=0hYH@0GQPsaUUq-&P$ z5fFYj=j5Q7T<5(JOsn2zSt?ztayfDwZ{_CoxbMzmw-S~eT_r)`kjlyt8U1uZCfWKL z$hTemMAPwZ>ZWr&dk^~|_>_Up!i~$Sqv#%!Oh}y(#P_C%)9N(Xzt5HmH|z@|0$0{; zf-6$)7WRh27`5?UrR8RUamnixMzE;ob&L-e@QP>yA6LY2@AY7|w6f<76Zqw{HU3`l zkH&cFebM5EV!u}@3yzE#g_G9rIuU?#rsG0x=r}zBM5sg(P_B8MH1=F7C|N)NrYmsCR-VsC7yy;Xs6RRGg&kiouAz%F7E(Tyk7FM@J5?o1^!$nS|*_ zVGa!w_N=W}UwN$OGlfBMCru#SS=1f!G&Suq$#b!j=%D{S#?I%B_wc!H9Y{E1V3poc zw^m#pS2?JsgsFxjD#*#@*sZoLWHb^X{)2oN8yi>HEb@SLRxQd2rgQdAye-nYyU<9q zx_PtbC)n;0^Iy$ruFI<1mCb;^)fzV|UIg2qiWwO$H(Ht&!TVA^tRl!^pUGfJcldWp zYcLT_-0e~)&)j|`wY~yI&OefBdOwwp+p#0~luu}9(!)xUPtVr7;nl%I#%kIQFM@-E zHK|%GXBc*^95GePbw_^DD-ZnnQ^l^$COJ^7R*w7+B9n~PEQpiN?^5M{=A-=5d(&;z z;ark1TF8@&GhcyV@&|QHgzN#`kiMaZX=ASuNCR;5+>-js!1pw=II9Qfj{9$x6Q3t$ z;);w6^38+3PRDuYDVpYqqpqLmHh-pJVN#SJ4&9|RpaZmt8m*q(8X6jT-)cy!s;X)r zoyJ}1Ya5{~2$_0Dr_wHk@nF$0B6tD0#98s3lNKhYa<)9p(mc|3IFJ4%>TuS&Y3x&%J#-n2n_WFA@)8IhK>sIt zfE4E%Mm(JJ6A%zw9fBT5L65gq+565xuV15&bd;fSa&jKM3v2ceZ^CASFle>3zIvF? zxVd1Rc;;y)=n_-Ray(48yq}0|_;yzP66@;$K121Vj%6mP`0n&0XSyTyN3Hm5aT3R@ zIYL4$t_&buAm|6$HE@$dgd+C;F7UVz+j#V7eeVoH6JxK+ayz4QaG#c>R#H-WDSLsX z5H03V1<|H)KEAp}bd+@eI;^|-wl7@`XcF82MFWbOzf_0J-o3JZQSMbmHb(0`;qu=l z>ymDb#`nE()clTAaBD7J$NC@5CUD0Odq4upvzltl8U`Y}b3$-;Kjubk!*q28hHP&~ zTKd#rmv$q&Tu*N(Pl|E(8jd>-HF?r4D~RhQL$}H3dTtZjNCR~j09n*87-qZB2Yu4H zYAJkqr31#+fL0YYU~HFd0CDfJe9hCc>PJ2L07v&45qYX)5%FP;RcCD2eii51y53d9@c>qdbqM^d$7`0U1=lSYNuRvEDllzkdEQ2;*W;lWD}9Q7HYHbtig~n zoeo%OB0TKYpAQmu8f#=08@^>Fjs^}fI?%Tz;#&9E*eAmOk7D|?i}~+WVAgY7t$BLU z{kt7wR8S{z=MT$XOZnXnW7HrRA(4~LYXVxoS=`TAem<*Ts$;yR=pJNguQPi;#;d)x zsI4%QZ1NadG0y+7l!WFYq+BBmhSEEeTMjbK^j}n3?_(%+tYy^kXZs*8o@aiSY#ha8 zs$wlh@p^4BhO@XkqiDAiSAN^$r9Pc5LV(;vVrrrAQVCaTccYdJ@n*uFvyRgj~T|SwqiD z+yBges`ifR8ahck4IYa2(Q+|)_ih;Y@2FS3=D#>Zp(-Q+M37Xvl=u472ZQOL!PQN5 zW(Akww0w^%whu^VFSPqr{(PUk$ic?;BNb6+eSZpju|KW($Z!CmfiX zIES;ec)qXPTP>=tQ#wrQYbH(r>uk*fEeX#&3JamBE&U z<4S9M>z)MdFY{@uoIwL~fBpu}L?Sp_tsWofWqpS?0DwNTuIM(nfv+O~I%}t&aj~#W z9{oRl4DQ>l$`9!ltZ2}CC(NGQt)Jf^S|W5GgFXnwiqU)w_5$2(InW=?w&`=YuRiqd zTH-hHsasrU_^M|?;*YA~drUNl{lxK-3p0Qi)Sek`7#@QLk63ySc+D@42CnR2hcsb; z($c8N66^AAD+sN|B=sMHk>!6(!|H`sntxgZv{5T`8ixa*1kI+?RZZhWtYbza2Opcf z+_d9v)c^w}KW9ss1Jt5V(gi%Ij}4aNfPuRi0(WEoFGiO6AMKT*4Xoec9*Eo5*|)m} z{QsFVazG5innI!lC_Uqjv-gBsMw@NbvgQ9P812;khnuCFht_LlirA=`$(QC^Y|e0Y zwTg_uPql$M(3akKOG8C0Q1td(AHe6XtY`)JEVn}2m;q{4On2;x9ZT90>K3}Jkx(<9 zm^X#C?%h9>lr};CmQ^OY!=6%8s!>22Y3vD>@T;_pL{ZDcN7_NN7sN`+naC8?&`6n6 z!?zOv?55PW_MMFK&z`e7>kN4EN85|#{P5D9!@rn_FK`hSK&zS@_zgNXpOds^ZDpYI zqP~|4^B_8)sBS1MaHd+*fKl{3^b0H<^Jr1>RFt`b*IVr}rQ` zupH?2pYR}r5%uo^@b(_g1~87Ng!#F2N*-ThVPm7~T394p-@K&(xfxG(z}J46PZ>kD z+4U8^*?C@ZUZlD9^Zz!qOdP9U;P6v4hLq;Zz~q2&wqMZ643F2~yR27deicsum_kXyatHhX^6Zb%B0!R}&5ZE{lR()K$ITy~J1GKFx zhR=S|uL3lvmDMpy^Bo>47FB>P`$t1m>6(ubU2K&AFGj-hkEzn0` zBez83ceck`w#T!JumESULlQB6|^J>eDCzVc) zs8Z9e9i^M9ei43lSv?SFg&cKW7e;mFNPESX^Xcjm=-Ci_E+IpJuwzFl+oN_kUlC5* z=)PN$pUmsZ|93^4%$#j3c*GwQQ(IyJp8A)(od1QjxC=GCYp;o9KFzTe2ruR04fdp5;}zw(2iajqln%TiGsKWsLzdM3z)&>Wh1+6|vBNqkA^iNOb42jMuJN}j z_F@oT+81v89Y%$}a0$M>$M!#FboT(bBm^*A*Xx16m)IiXKjYTwl4M8ZHPTTGTpglFHT@Q-Ls)n6Z#7KDRBPcOk)^0rZbac*PQLk%g}Olg z2Unq>b>(ZUtXU}-+~@uAJ=s$z0WI1r=EsPY&)DG*A_UdS@{H}Ty!YgW@_mN>t_+>T0|k{I~Jh$3ZCPf z4}BVtv!A>DlCv1S3tZ1+kbT=;byVIL?+9Z)Q=M4`{=}ORH-Bn(Yg{+cn19*qIlpl; zkL+Ma+V#EoMW-NF{1HW*9MU;U`OP|rxpLKR)YDf5`^8Yd#Xd0aRZ1bf;YiUT)Q!s`J z#T>GtHgeL&N_KvO0RfM*T7mUVC`QET^BYZVRa`RlVVXn!cvu*|P0+PdA&UZ`k_P1v z)s0hxQ01_Bz1*v-{zGWVO~MabdWoY?4X2$&MVMgJw{Q*2s~sH@C<+v|^&Bny?qu}t z*n>iAJuLpW1n%9b&No;)D8@CR?5^LjhTmdr#`Q;9)3rGVzQ*v~;Wx)|Zd)ipd$?O& zyf9&kXynR|Ui%d=)(d5~rIB}>>t1Ua{NIer&BzC5AXUAZ8PgkRFUQ95POt|S>RJyu zB03^sbqNWvXIf^6a-V@-gz;#FOV&QE57*@YrZ9|WfA3}@3C@ZPlqQj9Pt}Wk#Q@=H zxS%;7{w2eQsCPQ?>r<;!8wz}RqSemm&Lox{imuLspFT!BS-hR1A@MxyRt~^@ zC-J&_(L8g)KS4@^>;vWq`jH;C&fT7zi|m$%<)cy%U{p0Ve4y~lbdbU7V}JxYhmO%i zc3@Tg0omEPdBtw);=&;UO*%D#bi%y(7T&n;-(UM$aL^{C{Ipjs(O1WJ z5~4vXoaRhTP2Hu9w7o!2QRV+dy-&7KO1=;&ehd0j8(#TYfi(IqM;fNu8Z$(f zM|qT`{A|0sbHS+gak|TJU&>;61T>BbFCDoYkrp&at)iGPKL*uWg4Q6#AA~Dm5u*`F zpP5I&SOR<`wuLf|5jGhaju`wsUMLIKtpnR1zKG{P1tnJs4=xjsF#Wz@5Avw=srsR) zbnBr0QP5j%=-2ipcHWXebl}a2=oy#*gSas=<+1`Rczm47Bb$rFMxm~5+G}|Hc<>Q0 zSBLO-i8|Wa6?O2=@IQ!eZg<#oPdusx#mS|d86lfkAradsBAo@L~F?x z)K7@9-k3~x-A;8smmO7fY8`M2BJLt?xGdlSVHuH}k+d3vJ*i!niEwZTK1b~OHsQpE zenWi?_+Yznq=J5H4L<4YCiVRCxy1W^8(Hyp>`}Q#e;NJd7V@1bqUwy}-Hy(cX`tES zBC>%>(-o7-I-^v#H;Q>UXk|bIi&>+cv1Kb-y8cp#gT_?WgK9cNsWtOAn^$96oqkV0 zNMkHv-@wjJ?t~%AKMLy5Dltb<^e7Laq}eJvE%qqMl#$YSuQN=IO=R#Hx^es}Q&X87 z&WbYNR$@3>KS8bK=^Ao#cNnir7 z^_J(NAq3OieWktyWiJVL03o$$328_nDlPoo7XH zpg;UV*I@Z&G>Lm@`aC`6t)d1zhF2wsLFhr zPKk*#9Cu7-iwnsoKoV)TOAFu?|_5#G0fh&pe%m!s49%Ps=$$EqKbTD3Rvd%}v357pn9&nOj;IV^Z9$J8!zrDivBs8| z+;acYLSJW8vldq%{4B_89Za0ZBs`p*M@Ubqv0K{1l9tY0`@FMZ?l1agQUX7D9<%HE zlDi!d>U6KG^zc*_d?>uek$0+8h80iOTZ}DEv(wK?^`T|$8ZEw|fM7fZzZO^hD0^~4 z+*|6J&lKXEq5Oybbu|dTV?o@8HlD8Z{h$rrOlif3p+V-{Nuhb3)rq-GDnXpHj|5Vq z!PZCG;kwMz>-&WS;$=R}j!jM`7iI4s z7c&0Gay>^NxIyca-B|9`#jL8dN2EA9!{YkFKLdUtHWPn-l?3AdO72)0a#>Jh`0LTX zDJG|GI}}^0j~3Xu55(%A7;mIn*0r(&Q+`{K1g6%R5VY!T?umG{*<}4)ilP%EIv*l= zn~f0tZYe0#^E2f|RgAR?7n@l^*+~X3RHJ5!p zlh8l&8w%Y_;-+AWl@vK48tv2j-g0;T;zy{m%7~5ro`%fprUq>~rZi3viz|7tq5#IY`jn2C7jWkUz z-0WLvF>41&VZlS%O#;F0F|u2&VSIQdk(K92Du+Qy52~Q1zX4&so4^KfS&~+1Qei7W zVnEmMkJcuW^nzd~!hil;QX?@ZlGi2D0eQ8DI#D7T5r9i^+zFKIWk#=xb~g>?M&^VL z`|SM?2Il15Wm9=Ohs*(uFtK5uw zE%N7R3BNM118-L0&n~WC6@J_z9A1Hi|3=1h57cdBDBUKrCtMu%lBz zk5tcF8JjOt2qmwyJSE<0;!moWU%VfAZrjZ@h@MP(QAxDZuVLIsofpz94Z06TWH6#a zie4S<8SZ2O+w~fBf>co}W<=00mL*gS0 z>Pr$0J|GDbw#gq};Mz`%PN23F`WJev>F1N!ZKI=s*=LaUZGs1zw>H&-m6CbXuAoI8 z#%Z8@?5{`D&?ygPc*)0SB)XOqR^Sl0)WB;Pg;gFRn{OH3lGpBsyiAB*jp7Zke3!TE zpxRw-wGiA_{h2*Rte)omlOt%quKHXO=$=iGvWfi(rBq{Tas6mo=S9Q;9o6%iiEJ@) zsWGF5Kbzahlo{k*g>1k5RlHeWSieMLSYoF3pvE_+q7!JGQTH^~75)3Z#Pm2SSP}3r zhIO`-aH}mls1_7iNYtuQLUVI#3#ZG4Y$cX;)V-nhorfXyxG#?dq*W2^t5c+VAj&TH zS475!f4S9aw8a}w+Z3~>qKjhKySLv<;)vllsb{bf-SSh^^Q5rON7|&bW=4ckL|vs^ zmY6LO4r<5Tx!XPx%=HnhCg)htx!SQ;txPwZrghdb9y`UsA29D@H8H<~D~NFnsCi*Y zb~1u~J&*D|{Ckl2cut`vUYCSxka|=$@LOxIsl3%rZ`28#K4$yvD{ocqg%WnOJ|yci z_Zvo%t04*dl$?GhS5ZJGudf-jM2;Ok`Exw3jpt>*m$rmoV&bTrRsUD`8N2FKhrk?~S>SFaSQBs?Q_cJ;5GvU1lkPgQjGscMGIf*|ldb<&*pYvMISW zIevY*Fm$Lz-G3+cXF Date: Wed, 21 Jan 2015 16:00:57 -0800 Subject: [PATCH 012/122] adds IV drips --- code/game/machinery/iv_drip.dm | 164 ++++++++++++++++++++ code/game/objects/items/devices/scanners.dm | 18 ++- code/game/objects/items/stacks/medical.dm | 2 +- code/modules/mob/living/carbon/carbon.dm | 2 + icons/obj/iv_drip.dmi | Bin 0 -> 881 bytes tgstation.dme | 1 + 6 files changed, 185 insertions(+), 2 deletions(-) create mode 100644 code/game/machinery/iv_drip.dm create mode 100644 icons/obj/iv_drip.dmi diff --git a/code/game/machinery/iv_drip.dm b/code/game/machinery/iv_drip.dm new file mode 100644 index 00000000000..38e6c24de13 --- /dev/null +++ b/code/game/machinery/iv_drip.dm @@ -0,0 +1,164 @@ +/obj/machinery/iv_drip + name = "\improper IV drip" + icon = 'icons/obj/iv_drip.dmi' + anchored = 0 + density = 1 + + +/obj/machinery/iv_drip/var/mob/living/carbon/human/attached = null +/obj/machinery/iv_drip/var/mode = 1 // 1 is injecting, 0 is taking blood. +/obj/machinery/iv_drip/var/obj/item/weapon/reagent_containers/beaker = null + +/obj/machinery/iv_drip/update_icon() + if(src.attached) + icon_state = "hooked" + else + icon_state = "" + + overlays = null + + if(beaker) + var/datum/reagents/reagents = beaker.reagents + if(reagents.total_volume) + var/image/filling = image('icons/obj/iv_drip.dmi', src, "reagent") + + var/percent = round((reagents.total_volume / beaker.volume) * 100) + switch(percent) + if(0 to 9) filling.icon_state = "reagent0" + if(10 to 24) filling.icon_state = "reagent10" + if(25 to 49) filling.icon_state = "reagent25" + if(50 to 74) filling.icon_state = "reagent50" + if(75 to 79) filling.icon_state = "reagent75" + if(80 to 90) filling.icon_state = "reagent80" + if(91 to INFINITY) filling.icon_state = "reagent100" + + filling.icon += mix_color_from_reagents(reagents.reagent_list) + overlays += filling + +/obj/machinery/iv_drip/MouseDrop(over_object, src_location, over_location) + ..() + + if(attached) + visible_message("[src.attached] is detached from \the [src]") + src.attached = null + src.update_icon() + return + + if(in_range(src, usr) && ishuman(over_object) && get_dist(over_object, src) <= 1) + visible_message("[usr] attaches \the [src] to \the [over_object].") + src.attached = over_object + src.update_icon() + + +/obj/machinery/iv_drip/attackby(obj/item/weapon/W as obj, mob/user as mob) + if (istype(W, /obj/item/weapon/reagent_containers)) + if(!isnull(src.beaker)) + user << "There is already a reagent container loaded!" + return + + user.drop_item() + W.loc = src + src.beaker = W + user << "You attach \the [W] to \the [src]." + src.update_icon() + return + else + return ..() + + +/obj/machinery/iv_drip/process() + set background = 1 + + if(src.attached) + + if(!(get_dist(src, src.attached) <= 1 && isturf(src.attached.loc))) + attached.visible_message("The needle is ripped out of you, doesn't that hurt?") + src.attached:apply_damage(3, BRUTE, pick("r_arm", "l_arm")) + src.attached = null + src.update_icon() + return + + if(src.attached && src.beaker) + // Give blood + if(mode) + if(src.beaker.volume > 0) + var/transfer_amount = REAGENTS_METABOLISM + if(istype(src.beaker, /obj/item/weapon/reagent_containers/blood)) + // speed up transfer on blood packs + transfer_amount = 4 + src.beaker.reagents.trans_to(src.attached, transfer_amount) + update_icon() + + // Take blood + else + var/amount = beaker.reagents.maximum_volume - beaker.reagents.total_volume + amount = min(amount, 4) + // If the beaker is full, ping + if(amount == 0) + if(prob(5)) visible_message("\The [src] pings.") + return + + var/mob/living/carbon/human/T = attached + + if(!istype(T)) return + if(!T.dna) + return + if(NOCLONE in T.mutations) + return + + if(NOBLOOD in T.dna.species.specflags) + return + + // If the human is losing too much blood, beep. + if(T.vessel.get_reagent_amount("blood") < BLOOD_VOLUME_SAFE) if(prob(5)) + visible_message("\The [src] beeps loudly.") + playsound(src.loc, 'sound/machines/twobeep.ogg', 50, 1) + var/datum/reagent/B = T.take_blood(beaker,amount) + + if (B) + beaker.reagents.reagent_list |= B + beaker.reagents.update_total() + beaker.on_reagent_change() + beaker.reagents.handle_reactions() + update_icon() + +/obj/machinery/iv_drip/attack_hand(mob/user as mob) + if(src.beaker) + src.beaker.loc = get_turf(src) + src.beaker = null + update_icon() + else + toggle_mode() + + +/obj/machinery/iv_drip/verb/toggle_mode() + set category = "Object" + set name = "Toggle Mode" + set src in view(1) + + if(!istype(usr, /mob/living)) + usr << "\red You can't do that." + return + + if(usr.stat) + return + + mode = !mode + usr << "The IV drip is now [mode ? "injecting" : "taking blood"]." + +/obj/machinery/iv_drip/examine() + set src in view() + ..() + if (!(usr in view(2)) && usr!=src.loc) return + + usr << "The IV drip is [mode ? "injecting" : "taking blood"]." + + if(beaker) + if(beaker.reagents && beaker.reagents.reagent_list.len) + usr << "\blue Attached is \a [beaker] with [beaker.reagents.total_volume] units of liquid." + else + usr << "\blue Attached is an empty [beaker]." + else + usr << "\blue No chemicals are attached." + + usr << "\blue [attached ? attached : "No one"] is attached." \ No newline at end of file diff --git a/code/game/objects/items/devices/scanners.dm b/code/game/objects/items/devices/scanners.dm index 1c665893f85..c84d0078f14 100644 --- a/code/game/objects/items/devices/scanners.dm +++ b/code/game/objects/items/devices/scanners.dm @@ -139,7 +139,7 @@ MASS SPECTROMETER // Damage descriptions - user.show_message(text("[] | [] | [] | []", oxy_loss > 50 ? " Severe oxygen deprivation detected" : "Subject bloodstream oxygen level normal", tox_loss > 50 ? " Dangerous amount of toxins detected" : "Subject bloodstream toxin level minimal", fire_loss > 50 ? " Severe burn damage detected" : "Subject burn injury status O.K", brute_loss > 50 ? " Severe anatomical damage detected" : "Subject brute-force injury status O.K"), 1) + user.show_message(text("[] | [] | [] | []", oxy_loss > 50 ? " Severe oxygen deprivation detected" : "Subject bloodstream oxygen level normal", tox_loss > 50 ? " Dangerous amount of toxins detected" : "Subject bloodstream toxin level minimal", fire_loss > 50 ? " Severe burn damage detected" : "Subject burn injury status O.K", brute_loss > 50 ? " Severe tissue damage detected" : "Subject brute-force injury status O.K"), 1) if(M.getStaminaLoss()) user.show_message("Subject appears to be suffering from fatigue.", 1) @@ -160,6 +160,22 @@ MASS SPECTROMETER else if (M.getBrainLoss() >= 10) user.show_message("Significant brain damage detected. Subject may have had a concussion.", 1) + // Blood Level + if(ishuman(M)) + var/mob/living/carbon/human/H = M + if(H:vessel) + var/blood_volume = round(H:vessel.get_reagent_amount("blood")) + var/blood_percent = blood_volume / 560 + var/blood_type = H.dna.blood_type + blood_percent *= 100 + if(blood_volume <= 500 && blood_volume > 336) + user.show_message("Warning: Blood Level LOW: [blood_percent]% [blood_volume]cl. Type: [blood_type]") + else if(blood_volume <= 336) + user.show_message("Warning: Blood Level CRITICAL: [blood_percent]% [blood_volume]cl. Type: [blood_type]") + else + user.show_message("Blood Level Normal: [blood_percent]% [blood_volume]cl. Type: [blood_type]") + + /obj/item/device/healthanalyzer/verb/toggle_mode() set name = "Switch Verbosity" set category = "Object" diff --git a/code/game/objects/items/stacks/medical.dm b/code/game/objects/items/stacks/medical.dm index a1490448880..32b3f83ca56 100644 --- a/code/game/objects/items/stacks/medical.dm +++ b/code/game/objects/items/stacks/medical.dm @@ -54,7 +54,7 @@ var/obj/item/organ/limb/affecting = H.get_organ(check_zone(user.zone_sel.selecting)) if(stop_bleeding) - if(H.bleedsuppress) //so you can't stack bleed suppression + if(!H.bleedsuppress) //so you can't stack bleed suppression H.suppress_bloodloss(stop_bleeding) if(affecting.status == ORGAN_ORGANIC) //Limb must be organic to be healed - RR diff --git a/code/modules/mob/living/carbon/carbon.dm b/code/modules/mob/living/carbon/carbon.dm index 3ed06021ef6..4d68abbf598 100644 --- a/code/modules/mob/living/carbon/carbon.dm +++ b/code/modules/mob/living/carbon/carbon.dm @@ -168,6 +168,8 @@ if(status == "") status = "OK" src << "\t [status == "OK" ? "\blue" : "\red"] My [org.getDisplayName()] is [status]." + if(H.blood_max) + src << "You are bleeding!" if(staminaloss) if(staminaloss > 30) src << "You're completely exhausted." diff --git a/icons/obj/iv_drip.dmi b/icons/obj/iv_drip.dmi new file mode 100644 index 0000000000000000000000000000000000000000..9adc8ec4cb5d82cef2b0c7645e0527c3dedb1084 GIT binary patch literal 881 zcmeAS@N?(olHy`uVBq!ia0vp^4M3d0!3HF+R#kZdsd-f)5hX6E#mPmP1tppJc?=8{ zb9&Eg5iG4 zUow7hYaZXy)O6Xg;9K81mVkmc7TglG8n;g#6=Pxb^~iL)UhqsQH9*0#dP41^ZS`;Z z%G{!KDyKNT`4sDrVY_bWvad_0XH~w-PL03&X4ULXyMBsqGw_iD8q5CYe2eO&oL%o2 z7?}DzT^vIy=DfYL(f6=}L|dZt#obBl{0%Ozzi7UQJY1WyG?mw^;5-x01kQ{VHjSDA zOE?5;p5OWTZvXpQtrn(l^Y>UL2`~RQ!(QvfF7Lg}9mY{lB=r;@2Jdd3itYiaoKa-~amg0i6!t406xAILB&KGFV>-EiMYuU-G`>G0dzuD&e!^}Q^A`S$jJ z+d8pd7`9#7misE!VC4*kX<@BvBP$gnd>Ga+ycQ95$kT2Rea5uoo5NU bx??`k`$uej9D^w^4>5SU`njxgN@xNAL Date: Wed, 21 Jan 2015 17:11:15 -0800 Subject: [PATCH 013/122] faster bleeding --- code/modules/mob/living/carbon/human/blood.dm | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/code/modules/mob/living/carbon/human/blood.dm b/code/modules/mob/living/carbon/human/blood.dm index 40cf7d1a2ce..8f4d268c3b9 100644 --- a/code/modules/mob/living/carbon/human/blood.dm +++ b/code/modules/mob/living/carbon/human/blood.dm @@ -109,11 +109,11 @@ var/const/BLOOD_VOLUME_SURVIVE = 122 for(var/obj/item/organ/limb/org in organs) var/brutedamage = org.brute_dam - if(brutedamage > 40) + if(brutedamage > 20) blood_max += 0.5 - if(brutedamage > 60) + if(brutedamage > 40) blood_max += 1 - if(brutedamage > 80) + if(brutedamage > 60) blood_max += 2 if(bleedsuppress) blood_max = 0 From a9d402e3d9e816af56589de2ff537a5c96ac2039 Mon Sep 17 00:00:00 2001 From: paprka Date: Wed, 21 Jan 2015 17:19:11 -0800 Subject: [PATCH 014/122] drip tweak --- code/modules/mob/living/carbon/human/blood.dm | 31 +++++++++---------- 1 file changed, 14 insertions(+), 17 deletions(-) diff --git a/code/modules/mob/living/carbon/human/blood.dm b/code/modules/mob/living/carbon/human/blood.dm index 8f4d268c3b9..e332ec07d70 100644 --- a/code/modules/mob/living/carbon/human/blood.dm +++ b/code/modules/mob/living/carbon/human/blood.dm @@ -257,7 +257,7 @@ var/const/BLOOD_VOLUME_SURVIVE = 122 //AB is a universal receiver. return 0 -/mob/living/carbon/proc/blood_splatter(var/target,var/datum/reagent/blood/source,var/large) +/mob/living/carbon/proc/blood_splatter(var/target,var/datum/reagent/blood/source) var/obj/effect/decal/cleanable/blood/B var/decal_type = /obj/effect/decal/cleanable/blood/splatter @@ -273,24 +273,21 @@ var/const/BLOOD_VOLUME_SURVIVE = 122 source.data["blood_DNA"] = donor.dna.unique_enzymes source.data["blood_type"] = donor.dna.blood_type - // Are we dripping or splattering? - if(!large) + // Only a certain number of drips can be on a given turf. + var/list/drips = list() + var/list/drip_icons = list("1","2","3","4","5") - // Only a certain number of drips can be on a given turf. - var/list/drips = list() - var/list/drip_icons = list("1","2","3","4","5") + for(var/obj/effect/decal/cleanable/blood/drip/drop in T) + drips += drop + drip_icons.Remove(drop.icon_state) - for(var/obj/effect/decal/cleanable/blood/drip/drop in T) - drips += drop - drip_icons.Remove(drop.icon_state) - - // If we have too many drips, remove them and spawn a proper blood splatter. - if(drips.len >= 5) - //TODO: copy all virus data from drips to new splatter? - for(var/obj/effect/decal/cleanable/blood/drip/drop in drips) - del drop - else - decal_type = /obj/effect/decal/cleanable/blood/drip + // If we have too many drips, remove them and spawn a proper blood splatter. + if(drips.len >= 5) + //TODO: copy all virus data from drips to new splatter? + for(var/obj/effect/decal/cleanable/blood/drip/drop in drips) + del drop + else + decal_type = /obj/effect/decal/cleanable/blood/drip // Find a blood decal or create a new one. B = locate(decal_type) in T From 89167471135be5603d98f1591e293cbb0c0e2ddb Mon Sep 17 00:00:00 2001 From: paprka Date: Wed, 21 Jan 2015 18:18:28 -0800 Subject: [PATCH 015/122] fixes dual var --- code/modules/mob/living/carbon/human/blood.dm | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/code/modules/mob/living/carbon/human/blood.dm b/code/modules/mob/living/carbon/human/blood.dm index e332ec07d70..373b6e3674a 100644 --- a/code/modules/mob/living/carbon/human/blood.dm +++ b/code/modules/mob/living/carbon/human/blood.dm @@ -8,7 +8,7 @@ var/const/BLOOD_VOLUME_BAD = 224 var/const/BLOOD_VOLUME_SURVIVE = 122 /mob/living/carbon/human/var/datum/reagents/vessel //Container for blood and BLOOD ONLY. Do not transfer other chems here. -/mob/living/carbon/human/var/var/pale = 0 //Should affect how mob sprite is drawn, but currently doesn't. +/mob/living/carbon/human/var/pale = 0 //Should affect how mob sprite is drawn, but currently doesn't. //Initializes blood vessels /mob/living/carbon/human/proc/make_blood() From e5ceac8acdd225938488390f42c50097fc830d48 Mon Sep 17 00:00:00 2001 From: TZK13 Date: Thu, 22 Jan 2015 20:35:52 -0600 Subject: [PATCH 016/122] Lowers both skin symptoms from level 5 to 4. --- code/datums/diseases/advance/symptoms/skin.dm | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/code/datums/diseases/advance/symptoms/skin.dm b/code/datums/diseases/advance/symptoms/skin.dm index 86cf573f973..d2bcf627358 100644 --- a/code/datums/diseases/advance/symptoms/skin.dm +++ b/code/datums/diseases/advance/symptoms/skin.dm @@ -21,7 +21,7 @@ BONUS resistance = -1 stage_speed = -1 transmittable = -2 - level = 5 + level = 4 severity = 1 /datum/symptom/vitiligo/Activate(var/datum/disease/advance/A) @@ -65,7 +65,7 @@ BONUS resistance = -1 stage_speed = -1 transmittable = -2 - level = 5 + level = 4 severity = 1 /datum/symptom/vitiligo/Activate(var/datum/disease/advance/A) From 5361458b510682be1fe648d6d2adc9fa83ce042a Mon Sep 17 00:00:00 2001 From: paprka Date: Fri, 23 Jan 2015 21:00:09 -0800 Subject: [PATCH 017/122] some updates --- code/game/atoms.dm | 8 ++-- code/modules/admin/create_mob.dm | 1 + .../detectivework/footprints_and_rag.dm | 20 ---------- code/modules/mob/living/carbon/human/blood.dm | 40 +++++++++++-------- 4 files changed, 30 insertions(+), 39 deletions(-) diff --git a/code/game/atoms.dm b/code/game/atoms.dm index 1c6692677cb..723e8d81a61 100644 --- a/code/game/atoms.dm +++ b/code/game/atoms.dm @@ -329,11 +329,12 @@ var/list/blood_splatter_icons = list() bloody_hands_mob = M return 1 -/turf/simulated/add_blood(mob/living/carbon/M) +/turf/simulated/add_blood(mob/living/carbon/human/M) if(..() == 0) return 0 var/obj/effect/decal/cleanable/blood/B = locate() in contents //check for existing blood splatter - if(!B) B = new /obj/effect/decal/cleanable/blood(src) //make a bloood splatter if we couldn't find one + if(!B) + blood_splatter(src,M.get_blood(M.vessel),1) B.add_blood_list(M) return 1 //we bloodied the floor @@ -366,7 +367,8 @@ var/list/blood_splatter_icons = list() if(istype(src, /turf/simulated)) if(check_dna_integrity(M)) //mobs with dna = (monkeys + humans at time of writing) var/obj/effect/decal/cleanable/blood/B = locate() in contents - if(!B) B = new(src) + if(!B) + blood_splatter(src,M,1) B.blood_DNA[M.dna.unique_enzymes] = M.dna.blood_type else if(istype(M, /mob/living/carbon/alien)) var/obj/effect/decal/cleanable/xenoblood/B = locate() in contents diff --git a/code/modules/admin/create_mob.dm b/code/modules/admin/create_mob.dm index 425837d9e84..656f0adfb7c 100644 --- a/code/modules/admin/create_mob.dm +++ b/code/modules/admin/create_mob.dm @@ -20,4 +20,5 @@ H.hair_color = random_short_color() H.facial_hair_color = H.hair_color H.eye_color = random_eye_color() + H.dna.blood_type = random_blood_type() H.update_icons() \ No newline at end of file diff --git a/code/modules/detectivework/footprints_and_rag.dm b/code/modules/detectivework/footprints_and_rag.dm index 098f7bfea7c..a2d323e81d8 100644 --- a/code/modules/detectivework/footprints_and_rag.dm +++ b/code/modules/detectivework/footprints_and_rag.dm @@ -8,26 +8,6 @@ var/mob/living/carbon/human/bloody_hands_mob - -/proc/blood_incompatible(donor,receiver) - - var/donor_antigen = copytext(donor,1,lentext(donor)) - var/receiver_antigen = copytext(receiver,1,lentext(receiver)) - var/donor_rh = findtext("+",donor) - var/receiver_rh = findtext("+",receiver) - - if(donor_rh && !receiver_rh) return 1 - switch(receiver_antigen) - if("A") - if(donor_antigen != "A" && donor_antigen != "O") return 1 - if("B") - if(donor_antigen != "B" && donor_antigen != "O") return 1 - if("O") - if(donor_antigen != "O") return 1 - //AB is a universal receiver. - return 0 - - /obj/item/weapon/reagent_containers/glass/rag name = "damp rag" desc = "For cleaning up messes, you suppose." diff --git a/code/modules/mob/living/carbon/human/blood.dm b/code/modules/mob/living/carbon/human/blood.dm index 373b6e3674a..6a4bee74152 100644 --- a/code/modules/mob/living/carbon/human/blood.dm +++ b/code/modules/mob/living/carbon/human/blood.dm @@ -234,7 +234,7 @@ var/const/BLOOD_VOLUME_SURVIVE = 122 return D return res -/mob/living/carbon/proc/blood_incompatible(donor,receiver,donor_species,receiver_species) +proc/blood_incompatible(donor,receiver,donor_species,receiver_species) if(!donor || !receiver) return 0 if(donor_species && receiver_species) @@ -257,8 +257,7 @@ var/const/BLOOD_VOLUME_SURVIVE = 122 //AB is a universal receiver. return 0 -/mob/living/carbon/proc/blood_splatter(var/target,var/datum/reagent/blood/source) - +proc/blood_splatter(var/target,var/datum/reagent/blood/source,var/large) var/obj/effect/decal/cleanable/blood/B var/decal_type = /obj/effect/decal/cleanable/blood/splatter var/turf/T = get_turf(target) @@ -273,21 +272,24 @@ var/const/BLOOD_VOLUME_SURVIVE = 122 source.data["blood_DNA"] = donor.dna.unique_enzymes source.data["blood_type"] = donor.dna.blood_type - // Only a certain number of drips can be on a given turf. - var/list/drips = list() - var/list/drip_icons = list("1","2","3","4","5") + // Are we dripping or splattering? + if(!large) - for(var/obj/effect/decal/cleanable/blood/drip/drop in T) - drips += drop - drip_icons.Remove(drop.icon_state) + // Only a certain number of drips can be on a given turf. + var/list/drips = list() + var/list/drip_icons = list("1","2","3","4","5") - // If we have too many drips, remove them and spawn a proper blood splatter. - if(drips.len >= 5) - //TODO: copy all virus data from drips to new splatter? - for(var/obj/effect/decal/cleanable/blood/drip/drop in drips) - del drop - else - decal_type = /obj/effect/decal/cleanable/blood/drip + for(var/obj/effect/decal/cleanable/blood/drip/drop in T) + drips += drop + drip_icons.Remove(drop.icon_state) + + // If we have too many drips, remove them and spawn a proper blood splatter. + if(drips.len >= 5) + //TODO: copy all virus data from drips to new splatter? + for(var/obj/effect/decal/cleanable/blood/drip/drop in drips) + del drop + else + decal_type = /obj/effect/decal/cleanable/blood/drip // Find a blood decal or create a new one. B = locate(decal_type) in T @@ -306,4 +308,10 @@ var/const/BLOOD_VOLUME_SURVIVE = 122 else B.blood_DNA[source.data["blood_DNA"]] = "O+" + // Update virus information. + for(var/datum/disease/D in source.data["viruses"]) + var/datum/disease/new_virus = D.Copy(1) + source.data["viruses"] += new_virus + new_virus.holder = B + return B \ No newline at end of file From f071655ea4f821185277f4f88e1290ea510b6ee3 Mon Sep 17 00:00:00 2001 From: paprka Date: Sat, 24 Jan 2015 01:12:57 -0800 Subject: [PATCH 018/122] updates and optimizations --- code/game/atoms.dm | 2 + code/game/machinery/bots/cleanbot.dm | 1 + .../machinery/computer/HolodeckControl.dm | 3 + code/game/machinery/iv_drip.dm | 12 ++-- .../effects/decals/Cleanable/humans.dm | 12 ++-- code/game/objects/items/devices/scanners.dm | 4 +- code/game/objects/items/stacks/medical.dm | 11 ++-- code/modules/mob/living/carbon/human/blood.dm | 6 +- .../mob/living/carbon/human/human_damage.dm | 4 ++ code/modules/mob/living/living.dm | 58 +++++++++++-------- 10 files changed, 70 insertions(+), 43 deletions(-) diff --git a/code/game/atoms.dm b/code/game/atoms.dm index 723e8d81a61..732d74f7a00 100644 --- a/code/game/atoms.dm +++ b/code/game/atoms.dm @@ -335,6 +335,7 @@ var/list/blood_splatter_icons = list() var/obj/effect/decal/cleanable/blood/B = locate() in contents //check for existing blood splatter if(!B) blood_splatter(src,M.get_blood(M.vessel),1) + B = locate(/obj/effect/decal/cleanable/blood) in contents B.add_blood_list(M) return 1 //we bloodied the floor @@ -369,6 +370,7 @@ var/list/blood_splatter_icons = list() var/obj/effect/decal/cleanable/blood/B = locate() in contents if(!B) blood_splatter(src,M,1) + B = locate(/obj/effect/decal/cleanable/blood) in contents B.blood_DNA[M.dna.unique_enzymes] = M.dna.blood_type else if(istype(M, /mob/living/carbon/alien)) var/obj/effect/decal/cleanable/xenoblood/B = locate() in contents diff --git a/code/game/machinery/bots/cleanbot.dm b/code/game/machinery/bots/cleanbot.dm index 45c7aad316d..63d7a2e8b14 100644 --- a/code/game/machinery/bots/cleanbot.dm +++ b/code/game/machinery/bots/cleanbot.dm @@ -222,6 +222,7 @@ text("[on ? "On" : "Off"]")) target_types += /obj/effect/decal/cleanable/xenoblood/xgibs target_types += /obj/effect/decal/cleanable/blood/ target_types += /obj/effect/decal/cleanable/blood/gibs/ + target_types += /obj/effect/decal/cleanable/blooddrip/ target_types += /obj/effect/decal/cleanable/trail_holder /obj/machinery/bot/cleanbot/proc/clean(var/obj/effect/decal/cleanable/target) diff --git a/code/game/machinery/computer/HolodeckControl.dm b/code/game/machinery/computer/HolodeckControl.dm index 5badb4c9f9f..61e409d9cd4 100644 --- a/code/game/machinery/computer/HolodeckControl.dm +++ b/code/game/machinery/computer/HolodeckControl.dm @@ -230,6 +230,9 @@ for(var/obj/effect/decal/cleanable/blood/B in linkedholodeck) qdel(B) + for(var/obj/effect/decal/cleanable/blooddrip/D in linkedholodeck) + qdel(D) + for(var/mob/living/simple_animal/hostile/carp/C in linkedholodeck) qdel(C) diff --git a/code/game/machinery/iv_drip.dm b/code/game/machinery/iv_drip.dm index 38e6c24de13..d14c2de4bf0 100644 --- a/code/game/machinery/iv_drip.dm +++ b/code/game/machinery/iv_drip.dm @@ -72,7 +72,7 @@ if(src.attached) if(!(get_dist(src, src.attached) <= 1 && isturf(src.attached.loc))) - attached.visible_message("The needle is ripped out of you, doesn't that hurt?") + attached << ("The IV drip needle is ripped out of you, doesn't that hurt?You can't do that." return if(usr.stat) @@ -155,10 +155,10 @@ if(beaker) if(beaker.reagents && beaker.reagents.reagent_list.len) - usr << "\blue Attached is \a [beaker] with [beaker.reagents.total_volume] units of liquid." + usr << "Attached is \a [beaker] with [beaker.reagents.total_volume] units of liquid.Attached is an empty [beaker].No chemicals are attached.[attached ? attached : "No one"] is attached.Subject is bleeding!") var/blood_volume = round(H:vessel.get_reagent_amount("blood")) var/blood_percent = blood_volume / 560 var/blood_type = H.dna.blood_type diff --git a/code/game/objects/items/stacks/medical.dm b/code/game/objects/items/stacks/medical.dm index 32b3f83ca56..29991b298ca 100644 --- a/code/game/objects/items/stacks/medical.dm +++ b/code/game/objects/items/stacks/medical.dm @@ -37,16 +37,16 @@ if(user) if (M != user) - user.visible_message("[user] applies the [src] on [M].", "You apply the [src] on [M].") + user.visible_message("[user] applies [src] on [M].", "You apply [src] on [M].") else var/t_himself = "itself" if (user.gender == MALE) t_himself = "himself" else if (user.gender == FEMALE) t_himself = "herself" - user.visible_message("[user] starts to apply the [src] on [t_himself]...", "You begin applying the [src] on yourself...") + user.visible_message("[user] starts to apply [src] on [t_himself]...", "You begin applying [src] on yourself...") if(!do_mob(user, M, self_delay)) return - user.visible_message("[user] applies the [src] on [t_himself].", "You apply the [src] on yourself.") + user.visible_message("[user] applies [src] on [t_himself].", "You apply [src] on yourself.") if(istype(M, /mob/living/carbon/human)) @@ -82,7 +82,8 @@ /obj/item/stack/medical/gauze name = "medical gauze" - desc = "A roll of elastic cloth that is extremely effective at stopping bloodloss, but does not heal wounds." + desc = "A roll of elastic cloth that is extremely effective at stopping bleeding, but does not heal wounds." + gender = PLURAL singular_name = "medical gauze" icon_state = "gauze" stop_bleeding = 3000 //five minutes @@ -90,7 +91,7 @@ /obj/item/stack/medical/gauze/improvised name = "improvised gauze" singular_name = "improvised gauze" - desc = "A roll of cloth roughly cut from something that can stop bloodloss, but does not heal wounds." + desc = "A roll of cloth roughly cut from something that can stop bleeding, but does not heal wounds." stop_bleeding = 1200 //two minutes /obj/item/stack/medical/ointment diff --git a/code/modules/mob/living/carbon/human/blood.dm b/code/modules/mob/living/carbon/human/blood.dm index 6a4bee74152..991c083e466 100644 --- a/code/modules/mob/living/carbon/human/blood.dm +++ b/code/modules/mob/living/carbon/human/blood.dm @@ -279,17 +279,17 @@ proc/blood_splatter(var/target,var/datum/reagent/blood/source,var/large) var/list/drips = list() var/list/drip_icons = list("1","2","3","4","5") - for(var/obj/effect/decal/cleanable/blood/drip/drop in T) + for(var/obj/effect/decal/cleanable/blooddrip/drop in T) drips += drop drip_icons.Remove(drop.icon_state) // If we have too many drips, remove them and spawn a proper blood splatter. if(drips.len >= 5) //TODO: copy all virus data from drips to new splatter? - for(var/obj/effect/decal/cleanable/blood/drip/drop in drips) + for(var/obj/effect/decal/cleanable/blooddrip/drop in drips) del drop else - decal_type = /obj/effect/decal/cleanable/blood/drip + decal_type = /obj/effect/decal/cleanable/blooddrip // Find a blood decal or create a new one. B = locate(decal_type) in T diff --git a/code/modules/mob/living/carbon/human/human_damage.dm b/code/modules/mob/living/carbon/human/human_damage.dm index b13f76395c3..0e9ec240ca8 100644 --- a/code/modules/mob/living/carbon/human/human_damage.dm +++ b/code/modules/mob/living/carbon/human/human_damage.dm @@ -140,6 +140,10 @@ mob/living/carbon/human/proc/hat_fall_prob() if(update) update_damage_overlays(0) +/mob/living/carbon/human/proc/restore_blood() + if(NOBLOOD in dna.species.specflags) + var/blood_volume = vessel.get_reagent_amount("blood") + vessel.add_reagent("blood",560.0-blood_volume) //////////////////////////////////////////// diff --git a/code/modules/mob/living/living.dm b/code/modules/mob/living/living.dm index 7a6348c833a..07e04b8d265 100644 --- a/code/modules/mob/living/living.dm +++ b/code/modules/mob/living/living.dm @@ -410,6 +410,9 @@ Sorry Giacom. Please don't be mad :( dead_mob_list -= src living_mob_list += src if(!isanimal(src)) stat = CONSCIOUS + if(ishuman(src)) + var/mob/living/carbon/human/human_mob = src + human_mob.restore_blood() update_fire() regenerate_icons() ..() @@ -492,30 +495,8 @@ Sorry Giacom. Please don't be mad :( M.stop_pulling() //this is the gay blood on floor shit -- Added back -- Skie - if (M.lying && (prob(M.getBruteLoss() / 2))) - var/blood_exists = 0 - var/trail_type = M.getTrail() - for(var/obj/effect/decal/cleanable/trail_holder/C in M.loc) //checks for blood splatter already on the floor - blood_exists = 1 - if (istype(M.loc, /turf/simulated) && trail_type != null) - var/newdir = get_dir(T, M.loc) - if(newdir != M.dir) - newdir = newdir | M.dir - if(newdir == 3) //N + S - newdir = NORTH - else if(newdir == 12) //E + W - newdir = EAST - if((newdir in list(1, 2, 4, 8)) && (prob(50))) - newdir = turn(get_dir(T, M.loc), 180) - if(!blood_exists) - new /obj/effect/decal/cleanable/trail_holder(M.loc) - for(var/obj/effect/decal/cleanable/trail_holder/H in M.loc) - if((!(newdir in H.existing_dirs) || trail_type == "trails_1" || trail_type == "trails_2") && H.existing_dirs.len <= 16) //maximum amount of overlays is 16 (all light & heavy directions filled) - H.existing_dirs += newdir - H.overlays.Add(image('icons/effects/blood.dmi',trail_type,dir = newdir)) - if(check_dna_integrity(M)) //blood DNA - var/mob/living/carbon/DNA_helper = pulling - H.blood_DNA[DNA_helper.dna.unique_enzymes] = DNA_helper.dna.blood_type + if(M.lying && (prob(M.getBruteLoss() / 2))) + makeTrail(T, M) pulling.Move(T, get_dir(pulling, T)) if(M) M.start_pulling(t) @@ -532,6 +513,35 @@ Sorry Giacom. Please don't be mad :( for(var/mob/living/carbon/slime/M in view(1,src)) M.UpdateFeed(src) +/mob/living/proc/makeTrail(var/turf/T, var/mob/living/M) + if(ishuman(M)) + var/mob/living/carbon/human/H = M + if((NOBLOOD in H.dna.species.specflags) || (!H.blood_max) || (H.bleedsuppress)) + return + var/blood_exists = 0 + var/trail_type = M.getTrail() + for(var/obj/effect/decal/cleanable/trail_holder/C in M.loc) //checks for blood splatter already on the floor + blood_exists = 1 + if (istype(M.loc, /turf/simulated) && trail_type != null) + var/newdir = get_dir(T, M.loc) + if(newdir != M.dir) + newdir = newdir | M.dir + if(newdir == 3) //N + S + newdir = NORTH + else if(newdir == 12) //E + W + newdir = EAST + if((newdir in list(1, 2, 4, 8)) && (prob(50))) + newdir = turn(get_dir(T, M.loc), 180) + if(!blood_exists) + new /obj/effect/decal/cleanable/trail_holder(M.loc) + for(var/obj/effect/decal/cleanable/trail_holder/H in M.loc) + if((!(newdir in H.existing_dirs) || trail_type == "trails_1" || trail_type == "trails_2") && H.existing_dirs.len <= 16) //maximum amount of overlays is 16 (all light & heavy directions filled) + H.existing_dirs += newdir + H.overlays.Add(image('icons/effects/blood.dmi',trail_type,dir = newdir)) + if(check_dna_integrity(M)) //blood DNA + var/mob/living/carbon/DNA_helper = pulling + H.blood_DNA[DNA_helper.dna.unique_enzymes] = DNA_helper.dna.blood_type + /mob/living/proc/getTrail() //silicon and simple_animals don't get blood trails return null From 5ac37a6b691873355f77c525c01b22d306870313 Mon Sep 17 00:00:00 2001 From: paprka Date: Sat, 24 Jan 2015 01:36:38 -0800 Subject: [PATCH 019/122] updates packs --- code/datums/supplypacks.dm | 1 + code/game/machinery/vending.dm | 2 +- 2 files changed, 2 insertions(+), 1 deletion(-) diff --git a/code/datums/supplypacks.dm b/code/datums/supplypacks.dm index 9a2b80739f7..0deb9acea38 100644 --- a/code/datums/supplypacks.dm +++ b/code/datums/supplypacks.dm @@ -544,6 +544,7 @@ var/list/all_supply_groups = list(supply_emergency,supply_security,supply_engine /obj/item/weapon/reagent_containers/glass/bottle/toxin, /obj/item/weapon/reagent_containers/glass/beaker/large, /obj/item/weapon/reagent_containers/glass/beaker/large, + /obj/item/stack/medical/gauze, /obj/item/weapon/storage/box/beakers, /obj/item/weapon/storage/box/syringes, /obj/item/weapon/storage/box/bodybags) diff --git a/code/game/machinery/vending.dm b/code/game/machinery/vending.dm index d4c77a3aa8a..0d7e99f079d 100644 --- a/code/game/machinery/vending.dm +++ b/code/game/machinery/vending.dm @@ -764,7 +764,7 @@ icon_deny = "med-deny" product_ads = "Go save some lives!;The best stuff for your medbay.;Only the finest tools.;Natural chemicals!;This stuff saves lives.;Don't you want some?;Ping!" req_access_txt = "5" - products = list(/obj/item/weapon/reagent_containers/syringe = 12,/obj/item/weapon/reagent_containers/pill/patch/styptic = 10, + products = list(/obj/item/weapon/reagent_containers/syringe = 12,/obj/item/stack/medical/gauze = 8,/obj/item/weapon/reagent_containers/pill/patch/styptic = 10, /obj/item/weapon/reagent_containers/pill/patch/silver_sulf = 10,/obj/item/weapon/reagent_containers/glass/bottle/charcoal = 4, /obj/item/weapon/reagent_containers/glass/bottle/epinephrine = 4,/obj/item/weapon/reagent_containers/glass/bottle/morphine = 4, /obj/item/weapon/reagent_containers/glass/bottle/diphenhydramine = 4,/obj/item/weapon/reagent_containers/glass/bottle/potass_iodide = 3, /obj/item/weapon/reagent_containers/glass/bottle/salglu_solution = 5,/obj/item/weapon/reagent_containers/glass/bottle/atropine = 3,/obj/item/weapon/reagent_containers/syringe/antiviral = 6,/obj/item/weapon/reagent_containers/syringe/calomel = 10,/obj/item/weapon/reagent_containers/pill/salbutamol = 10,/obj/item/weapon/reagent_containers/pill/mannitol = 10,/obj/item/weapon/reagent_containers/pill/mutadone = 5,/obj/item/device/healthanalyzer = 4, /obj/item/device/sensor_device = 2) From d13288350af8ce6926dafcad1b315ff9a48cc925 Mon Sep 17 00:00:00 2001 From: paprka Date: Sat, 24 Jan 2015 01:51:14 -0800 Subject: [PATCH 020/122] fixes noblood check --- code/modules/mob/living/carbon/human/human_damage.dm | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/code/modules/mob/living/carbon/human/human_damage.dm b/code/modules/mob/living/carbon/human/human_damage.dm index 0e9ec240ca8..b15db63a746 100644 --- a/code/modules/mob/living/carbon/human/human_damage.dm +++ b/code/modules/mob/living/carbon/human/human_damage.dm @@ -141,7 +141,7 @@ mob/living/carbon/human/proc/hat_fall_prob() if(update) update_damage_overlays(0) /mob/living/carbon/human/proc/restore_blood() - if(NOBLOOD in dna.species.specflags) + if(!NOBLOOD in dna.species.specflags) var/blood_volume = vessel.get_reagent_amount("blood") vessel.add_reagent("blood",560.0-blood_volume) From bfd74684b4254d683a2b47b643cbe871550caa10 Mon Sep 17 00:00:00 2001 From: Lo6a4evskiy Date: Sat, 24 Jan 2015 16:14:44 +0400 Subject: [PATCH 021/122] Tweaks as noted, added myself to admins.txt --- code/datums/datacore.dm | 140 +++++++++++------------ code/game/machinery/computer/security.dm | 6 +- config/admins.txt | 1 + 3 files changed, 74 insertions(+), 73 deletions(-) diff --git a/code/datums/datacore.dm b/code/datums/datacore.dm index fd5f91a97c3..d256d328460 100644 --- a/code/datums/datacore.dm +++ b/code/datums/datacore.dm @@ -292,18 +292,45 @@ var/record_id_num = 1001 var/icon/clothes_s = null switch(H.mind.assigned_role) - if("Head of Personnel") - clothes_s = icon('icons/mob/uniform.dmi', "hop_s") - clothes_s.Blend(icon('icons/mob/feet.dmi', "brown"), ICON_UNDERLAY) - if("Bartender") - clothes_s = icon('icons/mob/uniform.dmi', "ba_suit_s") + if("Assistant") + clothes_s = icon('icons/mob/uniform.dmi', "grey_s") clothes_s.Blend(icon('icons/mob/feet.dmi', "black"), ICON_UNDERLAY) - clothes_s.Blend(icon('icons/mob/suit.dmi', "armoralt"), ICON_OVERLAY) + if("Scientist") + clothes_s = icon('icons/mob/uniform.dmi', "toxinswhite_s") + clothes_s.Blend(icon('icons/mob/feet.dmi', "white"), ICON_UNDERLAY) + clothes_s.Blend(icon('icons/mob/suit.dmi', "labcoat_tox"), ICON_OVERLAY) + if("Station Engineer") + clothes_s = icon('icons/mob/uniform.dmi', "engine_s") + clothes_s.Blend(icon('icons/mob/feet.dmi', "orange"), ICON_UNDERLAY) + clothes_s.Blend(icon('icons/mob/belt.dmi', "utility"), ICON_OVERLAY) + if("Security Officer") + clothes_s = icon('icons/mob/uniform.dmi', "security_s") + clothes_s.Blend(icon('icons/mob/feet.dmi', "jackboots"), ICON_UNDERLAY) + clothes_s.Blend(icon('icons/mob/hands.dmi', "bgloves"), ICON_UNDERLAY) + clothes_s.Blend(icon('icons/mob/suit.dmi', "armor"), ICON_OVERLAY) + if("Medical Doctor") + clothes_s = icon('icons/mob/uniform.dmi', "medical_s") + clothes_s.Blend(icon('icons/mob/feet.dmi', "white"), ICON_UNDERLAY) + clothes_s.Blend(icon('icons/mob/suit.dmi', "labcoat"), ICON_OVERLAY) + if("Cargo Technician") + clothes_s = icon('icons/mob/uniform.dmi', "cargo_s") + clothes_s.Blend(icon('icons/mob/feet.dmi', "black"), ICON_UNDERLAY) + if("Shaft Miner") + clothes_s = icon('icons/mob/uniform.dmi', "miner_s") + clothes_s.Blend(icon('icons/mob/feet.dmi', "black"), ICON_UNDERLAY) + if("Atmospheric Technician") + clothes_s = icon('icons/mob/uniform.dmi', "atmos_s") + clothes_s.Blend(icon('icons/mob/feet.dmi', "black"), ICON_UNDERLAY) + clothes_s.Blend(icon('icons/mob/belt.dmi', "utility"), ICON_OVERLAY) if("Botanist") clothes_s = icon('icons/mob/uniform.dmi', "hydroponics_s") clothes_s.Blend(icon('icons/mob/feet.dmi', "black"), ICON_UNDERLAY) clothes_s.Blend(icon('icons/mob/hands.dmi', "ggloves"), ICON_UNDERLAY) clothes_s.Blend(icon('icons/mob/suit.dmi', "apron"), ICON_OVERLAY) + if("Chemist") + clothes_s = icon('icons/mob/uniform.dmi', "chemistrywhite_s") + clothes_s.Blend(icon('icons/mob/feet.dmi', "white"), ICON_UNDERLAY) + clothes_s.Blend(icon('icons/mob/suit.dmi', "labcoat_chem"), ICON_OVERLAY) if("Cook") clothes_s = icon('icons/mob/uniform.dmi', "chef_s") clothes_s.Blend(icon('icons/mob/feet.dmi', "black"), ICON_UNDERLAY) @@ -311,55 +338,6 @@ var/record_id_num = 1001 if("Janitor") clothes_s = icon('icons/mob/uniform.dmi', "janitor_s") clothes_s.Blend(icon('icons/mob/feet.dmi', "black"), ICON_UNDERLAY) - if("Librarian") - clothes_s = icon('icons/mob/uniform.dmi', "red_suit_s") - clothes_s.Blend(icon('icons/mob/feet.dmi', "black"), ICON_UNDERLAY) - if("Quartermaster") - clothes_s = icon('icons/mob/uniform.dmi', "qm_s") - clothes_s.Blend(icon('icons/mob/feet.dmi', "brown"), ICON_UNDERLAY) - if("Cargo Technician") - clothes_s = icon('icons/mob/uniform.dmi', "cargo_s") - clothes_s.Blend(icon('icons/mob/feet.dmi', "black"), ICON_UNDERLAY) - if("Shaft Miner") - clothes_s = icon('icons/mob/uniform.dmi', "miner_s") - clothes_s.Blend(icon('icons/mob/feet.dmi', "black"), ICON_UNDERLAY) - if("Lawyer") - clothes_s = icon('icons/mob/uniform.dmi', "bluesuit_s") - clothes_s.Blend(icon('icons/mob/feet.dmi', "laceups"), ICON_UNDERLAY) - clothes_s.Blend(icon('icons/mob/suit.dmi', "suitjacket_blue"), ICON_OVERLAY) - if("Chaplain") - clothes_s = icon('icons/mob/uniform.dmi', "chapblack_s") - clothes_s.Blend(icon('icons/mob/feet.dmi', "black"), ICON_UNDERLAY) - if("Clown") - clothes_s = icon('icons/mob/uniform.dmi', "clown_s") - clothes_s.Blend(icon('icons/mob/feet.dmi', "clown"), ICON_UNDERLAY) - clothes_s.Blend(icon('icons/mob/mask.dmi', "clown"), ICON_OVERLAY) - if("Mime") - clothes_s = icon('icons/mob/uniform.dmi', "mime_s") - clothes_s.Blend(icon('icons/mob/feet.dmi', "black"), ICON_UNDERLAY) - clothes_s.Blend(icon('icons/mob/hands.dmi', "lgloves"), ICON_UNDERLAY) - clothes_s.Blend(icon('icons/mob/mask.dmi', "mime"), ICON_OVERLAY) - clothes_s.Blend(icon('icons/mob/suit.dmi', "suspenders"), ICON_OVERLAY) - if("Research Director") - clothes_s = icon('icons/mob/uniform.dmi', "director_s") - clothes_s.Blend(icon('icons/mob/feet.dmi', "brown"), ICON_UNDERLAY) - clothes_s.Blend(icon('icons/mob/suit.dmi', "labcoat"), ICON_OVERLAY) - if("Scientist") - clothes_s = icon('icons/mob/uniform.dmi', "toxinswhite_s") - clothes_s.Blend(icon('icons/mob/feet.dmi', "white"), ICON_UNDERLAY) - clothes_s.Blend(icon('icons/mob/suit.dmi', "labcoat_tox"), ICON_OVERLAY) - if("Chemist") - clothes_s = icon('icons/mob/uniform.dmi', "chemistrywhite_s") - clothes_s.Blend(icon('icons/mob/feet.dmi', "white"), ICON_UNDERLAY) - clothes_s.Blend(icon('icons/mob/suit.dmi', "labcoat_chem"), ICON_OVERLAY) - if("Chief Medical Officer") - clothes_s = icon('icons/mob/uniform.dmi', "cmo_s") - clothes_s.Blend(icon('icons/mob/feet.dmi', "brown"), ICON_UNDERLAY) - clothes_s.Blend(icon('icons/mob/suit.dmi', "labcoat_cmo"), ICON_OVERLAY) - if("Medical Doctor") - clothes_s = icon('icons/mob/uniform.dmi', "medical_s") - clothes_s.Blend(icon('icons/mob/feet.dmi', "white"), ICON_UNDERLAY) - clothes_s.Blend(icon('icons/mob/suit.dmi', "labcoat"), ICON_OVERLAY) if("Geneticist") clothes_s = icon('icons/mob/uniform.dmi', "geneticswhite_s") clothes_s.Blend(icon('icons/mob/feet.dmi', "white"), ICON_UNDERLAY) @@ -372,6 +350,38 @@ var/record_id_num = 1001 clothes_s = icon('icons/mob/uniform.dmi', "robotics_s") clothes_s.Blend(icon('icons/mob/feet.dmi', "black"), ICON_UNDERLAY) clothes_s.Blend(icon('icons/mob/suit.dmi', "labcoat"), ICON_OVERLAY) + if("Lawyer") + clothes_s = icon('icons/mob/uniform.dmi', "bluesuit_s") + clothes_s.Blend(icon('icons/mob/feet.dmi', "laceups"), ICON_UNDERLAY) + clothes_s.Blend(icon('icons/mob/suit.dmi', "suitjacket_blue"), ICON_OVERLAY) + if("Clown") + clothes_s = icon('icons/mob/uniform.dmi', "clown_s") + clothes_s.Blend(icon('icons/mob/feet.dmi', "clown"), ICON_UNDERLAY) + clothes_s.Blend(icon('icons/mob/mask.dmi', "clown"), ICON_OVERLAY) + if("Mime") + clothes_s = icon('icons/mob/uniform.dmi', "mime_s") + clothes_s.Blend(icon('icons/mob/feet.dmi', "black"), ICON_UNDERLAY) + clothes_s.Blend(icon('icons/mob/hands.dmi', "lgloves"), ICON_UNDERLAY) + clothes_s.Blend(icon('icons/mob/mask.dmi', "mime"), ICON_OVERLAY) + clothes_s.Blend(icon('icons/mob/suit.dmi', "suspenders"), ICON_OVERLAY) + if("Bartender") + clothes_s = icon('icons/mob/uniform.dmi', "ba_suit_s") + clothes_s.Blend(icon('icons/mob/feet.dmi', "black"), ICON_UNDERLAY) + clothes_s.Blend(icon('icons/mob/suit.dmi', "armoralt"), ICON_OVERLAY) + if("Quartermaster") + clothes_s = icon('icons/mob/uniform.dmi', "qm_s") + clothes_s.Blend(icon('icons/mob/feet.dmi', "brown"), ICON_UNDERLAY) + if("Chaplain") + clothes_s = icon('icons/mob/uniform.dmi', "chapblack_s") + clothes_s.Blend(icon('icons/mob/feet.dmi', "black"), ICON_UNDERLAY) + if("Research Director") + clothes_s = icon('icons/mob/uniform.dmi', "director_s") + clothes_s.Blend(icon('icons/mob/feet.dmi', "brown"), ICON_UNDERLAY) + clothes_s.Blend(icon('icons/mob/suit.dmi', "labcoat"), ICON_OVERLAY) + if("Chief Medical Officer") + clothes_s = icon('icons/mob/uniform.dmi', "cmo_s") + clothes_s.Blend(icon('icons/mob/feet.dmi', "brown"), ICON_UNDERLAY) + clothes_s.Blend(icon('icons/mob/suit.dmi', "labcoat_cmo"), ICON_OVERLAY) if("Captain") clothes_s = icon('icons/mob/uniform.dmi', "captain_s") clothes_s.Blend(icon('icons/mob/feet.dmi', "brown"), ICON_UNDERLAY) @@ -393,26 +403,16 @@ var/record_id_num = 1001 clothes_s.Blend(icon('icons/mob/mask.dmi', "cigaron"), ICON_OVERLAY) clothes_s.Blend(icon('icons/mob/head.dmi', "detective"), ICON_OVERLAY) clothes_s.Blend(icon('icons/mob/suit.dmi', "detective"), ICON_OVERLAY) - if("Security Officer") - clothes_s = icon('icons/mob/uniform.dmi', "security_s") - clothes_s.Blend(icon('icons/mob/feet.dmi', "jackboots"), ICON_UNDERLAY) - clothes_s.Blend(icon('icons/mob/hands.dmi', "bgloves"), ICON_UNDERLAY) - clothes_s.Blend(icon('icons/mob/suit.dmi', "armor"), ICON_OVERLAY) if("Chief Engineer") clothes_s = icon('icons/mob/uniform.dmi', "chief_s") clothes_s.Blend(icon('icons/mob/feet.dmi', "brown"), ICON_UNDERLAY) clothes_s.Blend(icon('icons/mob/hands.dmi', "bgloves"), ICON_UNDERLAY) clothes_s.Blend(icon('icons/mob/belt.dmi', "utility"), ICON_OVERLAY) - if("Station Engineer") - clothes_s = icon('icons/mob/uniform.dmi', "engine_s") - clothes_s.Blend(icon('icons/mob/feet.dmi', "orange"), ICON_UNDERLAY) - clothes_s.Blend(icon('icons/mob/belt.dmi', "utility"), ICON_OVERLAY) - if("Atmospheric Technician") - clothes_s = icon('icons/mob/uniform.dmi', "atmos_s") - clothes_s.Blend(icon('icons/mob/feet.dmi', "black"), ICON_UNDERLAY) - clothes_s.Blend(icon('icons/mob/belt.dmi', "utility"), ICON_OVERLAY) - if("Assistant") - clothes_s = icon('icons/mob/uniform.dmi', "grey_s") + if("Head of Personnel") + clothes_s = icon('icons/mob/uniform.dmi', "hop_s") + clothes_s.Blend(icon('icons/mob/feet.dmi', "brown"), ICON_UNDERLAY) + if("Librarian") + clothes_s = icon('icons/mob/uniform.dmi', "red_suit_s") clothes_s.Blend(icon('icons/mob/feet.dmi', "black"), ICON_UNDERLAY) if(clothes_s) diff --git a/code/game/machinery/computer/security.dm b/code/game/machinery/computer/security.dm index c5a4c85ee29..b3bde675ab4 100644 --- a/code/game/machinery/computer/security.dm +++ b/code/game/machinery/computer/security.dm @@ -686,14 +686,14 @@ What a mess.*/ return /obj/machinery/computer/secure_data/proc/get_photo(var/mob/user) - if (istype(user.get_active_hand(), /obj/item/weapon/photo)) - var/obj/item/weapon/photo/photo = user.get_active_hand() - return photo.img if (istype(user, /mob/living/silicon)) var/mob/living/silicon/tempAI = user var/datum/picture/selection = tempAI.GetPhoto() if (selection) return selection.fields["img"] + else if (istype(user.get_active_hand(), /obj/item/weapon/photo)) + var/obj/item/weapon/photo/photo = user.get_active_hand() + return photo.img /obj/machinery/computer/secure_data/emp_act(severity) if(stat & (BROKEN|NOPOWER)) diff --git a/config/admins.txt b/config/admins.txt index 3081f865151..dc149720d8b 100644 --- a/config/admins.txt +++ b/config/admins.txt @@ -77,3 +77,4 @@ thurgatar = Game Master xerux = Game Master dannno = Game Master allura = Game Master +lo6a4evskiy = Game Master From c33992fed01d137fc8ac542a5e1e744ad787470a Mon Sep 17 00:00:00 2001 From: Lo6a4evskiy Date: Sun, 25 Jan 2015 00:04:50 +0400 Subject: [PATCH 022/122] Code cleanup --- code/game/machinery/computer/medical.dm | 68 +++++++++------- code/game/machinery/computer/security.dm | 56 ++++++++----- code/modules/mob/living/carbon/human/human.dm | 81 +++++++++++-------- 3 files changed, 119 insertions(+), 86 deletions(-) diff --git a/code/game/machinery/computer/medical.dm b/code/game/machinery/computer/medical.dm index 70455e2a9fd..37b0d766a7f 100644 --- a/code/game/machinery/computer/medical.dm +++ b/code/game/machinery/computer/medical.dm @@ -188,8 +188,9 @@ return /obj/machinery/computer/med_data/Topic(href, href_list) - if(..()) - return + . = ..() + if(.) + return . if(!(active1 in data_core.general)) src.active1 = null if(!(active2 in data_core.medical)) @@ -281,8 +282,8 @@ switch(href_list["field"]) if("fingerprint") if(active1) - var/t1 = copytext(sanitize(input("Please input fingerprint hash:", "Med. records", src.active1.fields["fingerprint"], null) as text),1,MAX_MESSAGE_LEN) - if ((!( t1 ) || !( src.authenticated ) || usr.stat || usr.restrained() || (!in_range(src, usr) && (!istype(usr, /mob/living/silicon))) || src.active1 != a1)) + var/t1 = stripped_input("Please input fingerprint hash:", "Med. records", src.active1.fields["fingerprint"], null) + if (!canUseMedicalRecordsConsole(usr, t1, a1)) return src.active1.fields["fingerprint"] = t1 if("sex") @@ -294,67 +295,67 @@ if("age") if(active1) var/t1 = input("Please input age:", "Med. records", src.active1.fields["age"], null) as num - if ((!( t1 ) || !( src.authenticated ) || usr.stat || usr.restrained() || (!in_range(src, usr) && (!istype(usr, /mob/living/silicon))) || src.active1 != a1)) + if (!canUseMedicalRecordsConsole(usr, t1, a1)) return src.active1.fields["age"] = t1 if("species") if(active1) var/t1 = input("Select a species", "Species Selection") as null|anything in roundstart_species - if ((!( t1 ) || !( src.authenticated ) || usr.stat || usr.restrained() || (!in_range(src, usr) && (!istype(usr, /mob/living/silicon))) || src.active1 != a1)) + if (!canUseMedicalRecordsConsole(usr, t1, a1)) return active1.fields["species"] = t1 if("mi_dis") if(active2) - var/t1 = copytext(sanitize(input("Please input minor disabilities list:", "Med. records", src.active2.fields["mi_dis"], null) as text),1,MAX_MESSAGE_LEN) - if ((!( t1 ) || !( src.authenticated ) || usr.stat || usr.restrained() || (!in_range(src, usr) && (!istype(usr, /mob/living/silicon))) || src.active2 != a2)) + var/t1 = stripped_input("Please input minor disabilities list:", "Med. records", src.active2.fields["mi_dis"], null) + if (!canUseMedicalRecordsConsole(usr, t1, null, a2)) return src.active2.fields["mi_dis"] = t1 if("mi_dis_d") if(active2) - var/t1 = copytext(sanitize(input("Please summarize minor dis.:", "Med. records", src.active2.fields["mi_dis_d"], null) as message),1,MAX_MESSAGE_LEN) - if ((!( t1 ) || !( src.authenticated ) || usr.stat || usr.restrained() || (!in_range(src, usr) && (!istype(usr, /mob/living/silicon))) || src.active2 != a2)) + var/t1 = stripped_multiline_input("Please summarize minor dis.:", "Med. records", src.active2.fields["mi_dis_d"], null) + if (!canUseMedicalRecordsConsole(usr, t1, null, a2)) return src.active2.fields["mi_dis_d"] = t1 if("ma_dis") if(active2) - var/t1 = copytext(sanitize(input("Please input major diabilities list:", "Med. records", src.active2.fields["ma_dis"], null) as text),1,MAX_MESSAGE_LEN) - if ((!( t1 ) || !( src.authenticated ) || usr.stat || usr.restrained() || (!in_range(src, usr) && (!istype(usr, /mob/living/silicon))) || src.active2 != a2)) + var/t1 = stripped_input("Please input major diabilities list:", "Med. records", src.active2.fields["ma_dis"], null) + if (!canUseMedicalRecordsConsole(usr, t1, null, a2)) return src.active2.fields["ma_dis"] = t1 if("ma_dis_d") if(active2) - var/t1 = copytext(sanitize(input("Please summarize major dis.:", "Med. records", src.active2.fields["ma_dis_d"], null) as message),1,MAX_MESSAGE_LEN) - if ((!( t1 ) || !( src.authenticated ) || usr.stat || usr.restrained() || (!in_range(src, usr) && (!istype(usr, /mob/living/silicon))) || src.active2 != a2)) + var/t1 = stripped_multiline_input("Please summarize major dis.:", "Med. records", src.active2.fields["ma_dis_d"], null) + if (!canUseMedicalRecordsConsole(usr, t1, null, a2)) return src.active2.fields["ma_dis_d"] = t1 if("alg") if(active2) - var/t1 = copytext(sanitize(input("Please state allergies:", "Med. records", src.active2.fields["alg"], null) as text),1,MAX_MESSAGE_LEN) - if ((!( t1 ) || !( src.authenticated ) || usr.stat || usr.restrained() || (!in_range(src, usr) && (!istype(usr, /mob/living/silicon))) || src.active2 != a2)) + var/t1 = stripped_input("Please state allergies:", "Med. records", src.active2.fields["alg"], null) + if (!canUseMedicalRecordsConsole(usr, t1, null, a2)) return src.active2.fields["alg"] = t1 if("alg_d") if(active2) - var/t1 = copytext(sanitize(input("Please summarize allergies:", "Med. records", src.active2.fields["alg_d"], null) as message),1,MAX_MESSAGE_LEN) - if ((!( t1 ) || !( src.authenticated ) || usr.stat || usr.restrained() || (!in_range(src, usr) && (!istype(usr, /mob/living/silicon))) || src.active2 != a2)) + var/t1 = stripped_multiline_input("Please summarize allergies:", "Med. records", src.active2.fields["alg_d"], null) + if (!canUseMedicalRecordsConsole(usr, t1, null, a2)) return src.active2.fields["alg_d"] = t1 if("cdi") if(active2) - var/t1 = copytext(sanitize(input("Please state diseases:", "Med. records", src.active2.fields["cdi"], null) as text),1,MAX_MESSAGE_LEN) - if ((!( t1 ) || !( src.authenticated ) || usr.stat || usr.restrained() || (!in_range(src, usr) && (!istype(usr, /mob/living/silicon))) || src.active2 != a2)) + var/t1 = stripped_input("Please state diseases:", "Med. records", src.active2.fields["cdi"], null) + if (!canUseMedicalRecordsConsole(usr, t1, null, a2)) return src.active2.fields["cdi"] = t1 if("cdi_d") if(active2) - var/t1 = copytext(sanitize(input("Please summarize diseases:", "Med. records", src.active2.fields["cdi_d"], null) as message),1,MAX_MESSAGE_LEN) - if ((!( t1 ) || !( src.authenticated ) || usr.stat || usr.restrained() || (!in_range(src, usr) && (!istype(usr, /mob/living/silicon))) || src.active2 != a2)) + var/t1 = stripped_multiline_input("Please summarize diseases:", "Med. records", src.active2.fields["cdi_d"], null) + if (!canUseMedicalRecordsConsole(usr, t1, null, a2)) return src.active2.fields["cdi_d"] = t1 if("notes") if(active2) - var/t1 = copytext(sanitize(input("Please summarize notes:", "Med. records", src.active2.fields["notes"], null) as message),1,MAX_MESSAGE_LEN) - if ((!( t1 ) || !( src.authenticated ) || usr.stat || usr.restrained() || (!in_range(src, usr) && (!istype(usr, /mob/living/silicon))) || src.active2 != a2)) + var/t1 = stripped_multiline_input("Please summarize notes:", "Med. records", src.active2.fields["notes"], null) + if (!canUseMedicalRecordsConsole(usr, t1, null, a2)) return src.active2.fields["notes"] = t1 if("p_stat") @@ -368,8 +369,8 @@ src.temp = text("Blood Type:
\n\tA- A+
\n\tB- B+
\n\tAB- AB+
\n\tO- O+
", src, src, src, src, src, src, src, src) if("b_dna") if(active2) - var/t1 = copytext(sanitize(input("Please input DNA hash:", "Med. records", src.active2.fields["b_dna"], null) as text),1,MAX_MESSAGE_LEN) - if ((!( t1 ) || !( src.authenticated ) || usr.stat || usr.restrained() || (!in_range(src, usr) && (!istype(usr, /mob/living/silicon))) || src.active2 != a2)) + var/t1 = stripped_input("Please input DNA hash:", "Med. records", src.active2.fields["b_dna"], null) + if (!canUseMedicalRecordsConsole(usr, t1, null, a2)) return src.active2.fields["b_dna"] = t1 else @@ -463,8 +464,8 @@ if(!(active2 in data_core.medical)) return var/a2 = src.active2 - var/t1 = copytext(sanitize(input("Add Comment:", "Med. records", null, null) as message),1,MAX_MESSAGE_LEN) - if ((!( t1 ) || !( src.authenticated ) || usr.stat || usr.restrained() || (!in_range(src, usr) && (!istype(usr, /mob/living/silicon))) || src.active2 != a2)) + var/t1 = stripped_multiline_input("Add Comment:", "Med. records", null, null) + if (!canUseMedicalRecordsConsole(usr, t1, null, a2)) return var/counter = 1 while(src.active2.fields[text("com_[]", counter)]) @@ -477,7 +478,7 @@ else if (href_list["search"]) var/t1 = stripped_input(usr, "Search String: (Name, DNA, or ID)", "Med. records") - if ((!( t1 ) || usr.stat || !( src.authenticated ) || usr.restrained() || ((!in_range(src, usr)) && (!istype(usr, /mob/living/silicon))))) + if (!canUseMedicalRecordsConsole(usr, t1)) return src.active1 = null src.active2 = null @@ -554,6 +555,15 @@ ..(severity) +/obj/machinery/computer/med_data/proc/canUseMedicalRecordsConsole(mob/user, message = 1, record1, record2) + if (user) + if (message) + if (authenticated) + if (user.canUseTopic(src)) + if (!record1 || record1 == active1) + if (!record2 || record2 == active2) + return 1 + return 0 /obj/machinery/computer/med_data/laptop name = "medical laptop" diff --git a/code/game/machinery/computer/security.dm b/code/game/machinery/computer/security.dm index b3bde675ab4..e05d4f11466 100644 --- a/code/game/machinery/computer/security.dm +++ b/code/game/machinery/computer/security.dm @@ -251,8 +251,9 @@ I can't be bothered to look more of the actual code outside of switch but that probably needs revising too. What a mess.*/ /obj/machinery/computer/secure_data/Topic(href, href_list) - if(..()) - return + . = ..() + if(.) + return . if (!( data_core.general.Find(active1) )) active1 = null if (!( data_core.security.Find(active2) )) @@ -433,8 +434,8 @@ What a mess.*/ if (!( istype(active2, /datum/data/record) )) return var/a2 = active2 - var/t1 = copytext(sanitize(input("Add Comment:", "Secure. records", null, null) as message),1,MAX_MESSAGE_LEN) - if ((!( t1 ) || !( authenticated ) || usr.stat || usr.restrained() || (!in_range(src, usr) && (!istype(usr, /mob/living/silicon))) || active2 != a2)) + var/t1 = stripped_multiline_input("Add Comment:", "Secure. records", null, null) + if (!canUseSecurityRecordsConsole(t1, usr, null, a2)) return var/counter = 1 while(active2.fields[text("com_[]", counter)]) @@ -529,7 +530,7 @@ What a mess.*/ if("name") if (istype(active1, /datum/data/record) || istype(active2, /datum/data/record)) var/t1 = stripped_input(usr, "Please input name:", "Secure. records", active1.fields["name"], null) - if ((!( t1 ) || !length(trim(t1)) || !( authenticated ) || usr.stat || usr.restrained() || (!in_range(src, usr) && (!istype(usr, /mob/living/silicon)))) || active1 != a1) + if (!canUseSecurityRecordsConsole(usr, t1, null, a1)) return if(istype(active1, /datum/data/record)) active1.fields["name"] = t1 @@ -537,8 +538,8 @@ What a mess.*/ active2.fields["name"] = t1 if("id") if(istype(active2,/datum/data/record) || istype(active1,/datum/data/record)) - var/t1 = copytext(sanitize(input("Please input id:", "Secure. records", active1.fields["id"], null) as text),1,MAX_MESSAGE_LEN) - if ((!( t1 ) || !( authenticated ) || usr.stat || usr.restrained() || (!in_range(src, usr) && (!istype(usr, /mob/living/silicon))) || active1 != a1)) + var/t1 = stripped_input(usr, "Please input id:", "Secure. records", active1.fields["id"], null) + if (!canUseSecurityRecordsConsole(usr, t1, null, a1)) return if(istype(active1,/datum/data/record)) active1.fields["id"] = t1 @@ -546,8 +547,8 @@ What a mess.*/ active2.fields["id"] = t1 if("fingerprint") if (istype(active1, /datum/data/record)) - var/t1 = copytext(sanitize(input("Please input fingerprint hash:", "Secure. records", active1.fields["fingerprint"], null) as text),1,MAX_MESSAGE_LEN) - if ((!( t1 ) || !( authenticated ) || usr.stat || usr.restrained() || (!in_range(src, usr) && (!istype(usr, /mob/living/silicon))) || active1 != a1)) + var/t1 = stripped_input(usr, "Please input fingerprint hash:", "Secure. records", active1.fields["fingerprint"], null) + if (!canUseSecurityRecordsConsole(usr, t1, null, a1)) return active1.fields["fingerprint"] = t1 if("sex") @@ -558,14 +559,14 @@ What a mess.*/ active1.fields["sex"] = "Male" if("age") if (istype(active1, /datum/data/record)) - var/t1 = input("Please input age:", "Secure. records", active1.fields["age"], null) as num - if ((!( t1 ) || !( authenticated ) || usr.stat || usr.restrained() || (!in_range(src, usr) && (!istype(usr, /mob/living/silicon))) || active1 != a1)) + var/t1 = input("Please input age:", "Secure. records", active1.fields["age"], null) as num + if (!canUseSecurityRecordsConsole(usr, null, null, a1) || !t1) return active1.fields["age"] = t1 if("species") if (istype(active1, /datum/data/record)) var/t1 = input("Select a species", "Species Selection") as null|anything in roundstart_species - if ((!( t1 ) || !( authenticated ) || usr.stat || usr.restrained() || (!in_range(src, usr) && (!istype(usr, /mob/living/silicon))) || active1 != a1)) + if (!canUseSecurityRecordsConsole(usr, t1, null, a1)) return active1.fields["species"] = t1 if("photo front") @@ -578,36 +579,36 @@ What a mess.*/ active1.fields["photo_side"] = photo if("mi_crim_add") if (istype(active1, /datum/data/record)) - var/t1 = copytext(sanitize(input("Please input minor crime names:", "Secure. records", "", null) as text),1,MAX_MESSAGE_LEN) - var/t2 = copytext(sanitize(input("Please input minor crime details:", "Secure. records", "", null) as message),1,MAX_MESSAGE_LEN) - if ((!( t1 ) || !( t2 ) || !( authenticated ) || usr.stat || usr.restrained() || (!in_range(src, usr) && (!istype(usr, /mob/living/silicon))) || active2 != a2)) + var/t1 = stripped_input(usr, "Please input minor crime names:", "Secure. records", "", null) + var/t2 = stripped_multiline_input(usr, "Please input minor crime details:", "Secure. records", "", null) + if (!canUseSecurityRecordsConsole(usr, t1, t2, null, a2)) return var/crime = data_core.createCrimeEntry(t1, t2, authenticated, worldtime2text()) data_core.addMinorCrime(active1.fields["id"], crime) if("mi_crim_delete") if (istype(active1, /datum/data/record)) if (href_list["cdataid"]) - if ((!( authenticated ) || usr.stat || usr.restrained() || (!in_range(src, usr) && (!istype(usr, /mob/living/silicon))) || active2 != a2)) + if (!canUseSecurityRecordsConsole(usr, null, null, a2)) return data_core.removeMinorCrime(active1.fields["id"], href_list["cdataid"]) if("ma_crim_add") if (istype(active1, /datum/data/record)) - var/t1 = copytext(sanitize(input("Please input major crime names:", "Secure. records", "", null) as text),1,MAX_MESSAGE_LEN) - var/t2 = copytext(sanitize(input("Please input major crime details:", "Secure. records", "", null) as message),1,MAX_MESSAGE_LEN) - if ((!( t1 ) || !( t2 ) || !( authenticated ) || usr.stat || usr.restrained() || (!in_range(src, usr) && (!istype(usr, /mob/living/silicon))) || active2 != a2)) + var/t1 = stripped_input(usr, "Please input major crime names:", "Secure. records", "", null) + var/t2 = stripped_multiline_input(usr, "Please input major crime details:", "Secure. records", "", null) + if (!canUseSecurityRecordsConsole(usr, t1, t2, a2)) return var/crime = data_core.createCrimeEntry(t1, t2, authenticated, worldtime2text()) data_core.addMajorCrime(active1.fields["id"], crime) if("ma_crim_delete") if (istype(active1, /datum/data/record)) if (href_list["cdataid"]) - if ((!( authenticated ) || usr.stat || usr.restrained() || (!in_range(src, usr) && (!istype(usr, /mob/living/silicon))) || active2 != a2)) + if (!canUseSecurityRecordsConsole(usr, null, null, a2)) return data_core.removeMajorCrime(active1.fields["id"], href_list["cdataid"]) if("notes") if (istype(active2, /datum/data/record)) - var/t1 = copytext(sanitize(input("Please summarize notes:", "Secure. records", active2.fields["notes"], null) as message),1,MAX_MESSAGE_LEN) - if ((!( t1 ) || !( authenticated ) || usr.stat || usr.restrained() || (!in_range(src, usr) && (!istype(usr, /mob/living/silicon))) || active2 != a2)) + var/t1 = stripped_input(usr, "Please summarize notes:", "Secure. records", active2.fields["notes"], null) + if (!canUseSecurityRecordsConsole(usr, t1, null, a2)) return active2.fields["notes"] = t1 if("criminal") @@ -729,6 +730,17 @@ What a mess.*/ ..(severity) +/obj/machinery/computer/secure_data/proc/canUseSecurityRecordsConsole(mob/user, message1 = 1, message2 = 1, record1, record2) + if (user) + if (trim(message1)) + if (trim(message2)) + if (authenticated) + if (user.canUseTopic(src)) + if (!record1 || record1 == active1) + if (!record2 || record2 == active2) + return 1 + return 0 + /obj/machinery/computer/secure_data/detective_computer icon = 'icons/obj/computer.dmi' icon_state = "messyfiles" diff --git a/code/modules/mob/living/carbon/human/human.dm b/code/modules/mob/living/carbon/human/human.dm index a80c25296b6..a6cadd85469 100644 --- a/code/modules/mob/living/carbon/human/human.dm +++ b/code/modules/mob/living/carbon/human/human.dm @@ -298,32 +298,35 @@ var/mob/living/carbon/human/H = usr var/perpname = get_face_name(get_id_name("")) if(istype(H.glasses, /obj/item/clothing/glasses/hud)) - var/datum/data/record/R = find_record("name", perpname, data_core.general) - if(R) - if(usr.stat || H.weakened || H.stunned || H.restrained() || !istype(H.glasses, /obj/item/clothing/glasses/hud)) - return - var/icon/img = null - if(href_list["photo_front"]) - img = R.fields["photo_front"] - if(href_list["photo_side"]) - img = R.fields["photo_side"] - if(img) - usr << browse_rsc(img, "photo") - usr << browse("", "window=photo;size=120x120") + var/datum/data/record/R + if(href_list["photo_front"] || href_list["photo_side"]) + R = find_record("name", perpname, data_core.general) + if(R) + if(!usr.canUseTopic(src)) + else if(!istype(H.glasses, /obj/item/clothing/glasses/hud)) + return + var/icon/img = null + if(href_list["photo_front"]) + img = R.fields["photo_front"] + else if(href_list["photo_side"]) + img = R.fields["photo_side"] + if(img) + usr << browse_rsc(img, "photo") + usr << browse("", "window=photo;size=120x120") if(href_list["hud"] == "m") if(istype(H.glasses, /obj/item/clothing/glasses/hud/health)) - if(usr.stat || H.weakened || H.stunned || H.restrained() || !istype(H.glasses, /obj/item/clothing/glasses/hud/health)) - return if(href_list["p_stat"]) var/health = input(usr, "Specify a new physical status for this person.", "Medical HUD", R.fields["p_stat"]) in list("Active", "Physically Unfit", "*Unconscious*", "*Deceased*", "Cancel") - if(usr.stat || H.weakened || H.stunned || H.restrained() || !istype(H.glasses, /obj/item/clothing/glasses/hud/health)) + if(!usr.canUseTopic(src)) + else if(!istype(H.glasses, /obj/item/clothing/glasses/hud/health)) return if(health != "Cancel") R.fields["p_stat"] = health if(href_list["m_stat"]) var/health = input(usr, "Specify a new mental status for this person.", "Medical HUD", R.fields["m_stat"]) in list("Stable", "*Watch*", "*Unstable*", "*Insane*", "Cancel") - if(usr.stat || H.weakened || H.stunned || H.restrained() || !istype(H.glasses, /obj/item/clothing/glasses/hud/health)) + if(!usr.canUseTopic(src)) + else if(!istype(H.glasses, /obj/item/clothing/glasses/hud/health)) return if(health != "Cancel") R.fields["m_stat"] = health @@ -394,16 +397,18 @@ if(href_list["status"]) var/setcriminal = input(usr, "Specify a new criminal status for this person.", "Security HUD", R.fields["criminal"]) in list("None", "*Arrest*", "Incarcerated", "Parolled", "Discharged", "Cancel") if(R) - if(istype(H.glasses, /obj/item/clothing/glasses/hud/security)) - if(setcriminal != "Cancel") - investigate_log("[src.key] has been set from [R.fields["criminal"]] to [setcriminal] by [usr.name] ([usr.key]).", "records") - R.fields["criminal"] = setcriminal - sec_hud_set_security_status() - return + if(usr.canUseTopic(src)) + if(istype(H.glasses, /obj/item/clothing/glasses/hud/security)) + if(setcriminal != "Cancel") + investigate_log("[src.key] has been set from [R.fields["criminal"]] to [setcriminal] by [usr.name] ([usr.key]).", "records") + R.fields["criminal"] = setcriminal + sec_hud_set_security_status() + return if(href_list["view"]) if(R) - if(usr.stat || H.weakened || H.stunned || H.restrained() || !istype(H.glasses, /obj/item/clothing/glasses/hud/security)) + if(!usr.canUseTopic(src)) + else if(!istype(H.glasses, /obj/item/clothing/glasses/hud/security)) return usr << "Name: [R.fields["name"]] Criminal Status: [R.fields["criminal"]]" usr << "Minor Crimes:" @@ -419,16 +424,18 @@ usr << "Added by [c.author] at [c.time]" usr << "----------" usr << "Notes: [R.fields["notes"]]" - return + return if(href_list["add_crime"]) switch(alert("What crime would you like to add?","Security HUD","Minor Crime","Major Crime","Cancel")) if("Minor Crime") if(R) - var/t1 = copytext(sanitize(input("Please input minor crime names:", "Security HUD", "", null) as text),1,MAX_MESSAGE_LEN) - var/t2 = copytext(sanitize(input("Please input minor crime details:", "Security HUD", "", null) as message),1,MAX_MESSAGE_LEN) + var/t1 = stripped_input("Please input minor crime names:", "Security HUD", "", null) + var/t2 = stripped_multiline_input("Please input minor crime details:", "Security HUD", "", null) if(R) - if (!t1 || !t2 || !allowed_access || H.stat || H.weakened || H.stunned || H.restrained() || !istype(H.glasses, /obj/item/clothing/glasses/hud/security)) + if (!t1 || !t2 || !allowed_access) + else if(!usr.canUseTopic(src)) + else if(!istype(H.glasses, /obj/item/clothing/glasses/hud/security)) return var/crime = data_core.createCrimeEntry(t1, t2, allowed_access, worldtime2text()) data_core.addMinorCrime(R.fields["id"], crime) @@ -436,20 +443,22 @@ return if("Major Crime") if(R) - var/t1 = copytext(sanitize(input("Please input major crime names:", "Security HUD", "", null) as text),1,MAX_MESSAGE_LEN) - var/t2 = copytext(sanitize(input("Please input major crime details:", "Security HUD", "", null) as message),1,MAX_MESSAGE_LEN) + var/t1 = stripped_input("Please input major crime names:", "Security HUD", "", null) + var/t2 = stripped_multiline_input("Please input major crime details:", "Security HUD", "", null) if(R) - if (!t1 || !t2 || !allowed_access || H.stat || H.weakened || H.stunned || H.restrained() || !istype(H.glasses, /obj/item/clothing/glasses/hud/security)) + if (!t1 || !t2 || !allowed_access) + else if (!usr.canUseTopic(src)) + else if (!istype(H.glasses, /obj/item/clothing/glasses/hud/security)) return var/crime = data_core.createCrimeEntry(t1, t2, allowed_access, worldtime2text()) data_core.addMajorCrime(R.fields["id"], crime) usr << "Successfully added a major crime." - return - else return + return if(href_list["view_comment"]) if(R) - if(H.stat || H.weakened || H.stunned || H.restrained() || !istype(H.glasses, /obj/item/clothing/glasses/hud/security)) + if(!usr.canUseTopic(src)) + else if(!istype(H.glasses, /obj/item/clothing/glasses/hud/security)) return usr << "Comments/Log:" var/counter = 1 @@ -461,9 +470,11 @@ if(href_list["add_comment"]) if(R) - var/t1 = copytext(sanitize(input("Add Comment:", "Secure. records", null, null) as message),1,MAX_MESSAGE_LEN) + var/t1 = stripped_multiline_input("Add Comment:", "Secure. records", null, null) if(R) - if (!t1 || !allowed_access || H.stat || H.weakened || H.stunned || H.restrained() || !istype(H.glasses, /obj/item/clothing/glasses/hud/security)) + if (!t1 || !allowed_access) + else if(!usr.canUseTopic(src)) + else if(!istype(H.glasses, /obj/item/clothing/glasses/hud/security)) return var/counter = 1 while(R.fields[text("com_[]", counter)]) From 1f3ab829ccf7e78faf2b9ebf0b6950ab734af1d8 Mon Sep 17 00:00:00 2001 From: paprka Date: Sat, 24 Jan 2015 21:15:20 -0800 Subject: [PATCH 023/122] updated bloodrips --- icons/effects/drip.dmi | Bin 3953 -> 699 bytes 1 file changed, 0 insertions(+), 0 deletions(-) diff --git a/icons/effects/drip.dmi b/icons/effects/drip.dmi index c78843e5863f0b2c2d342df205ffd4acc392c91a..a36887103d176d1d3f9048998ba48037254ed8bc 100644 GIT binary patch delta 542 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 Date: Sat, 24 Jan 2015 21:27:24 -0800 Subject: [PATCH 024/122] added blood packs and iv drips to cargo --- code/datums/supplypacks.dm | 22 +++++++++++++++++++ .../reagents/reagent_containers/blood_pack.dm | 8 +++---- 2 files changed, 26 insertions(+), 4 deletions(-) diff --git a/code/datums/supplypacks.dm b/code/datums/supplypacks.dm index 0deb9acea38..1a06118c135 100644 --- a/code/datums/supplypacks.dm +++ b/code/datums/supplypacks.dm @@ -608,6 +608,28 @@ var/list/all_supply_groups = list(supply_emergency,supply_security,supply_engine access = access_cmo +/datum/supply_packs/medical/bloodpacks + name = "Blood Pack Variety Crate" + contains = list(/obj/item/weapon/reagent_containers/blood/empty, + /obj/item/weapon/reagent_containers/blood/empty, + /obj/item/weapon/reagent_containers/blood/APlus, + /obj/item/weapon/reagent_containers/blood/AMinus, + /obj/item/weapon/reagent_containers/blood/BPlus, + /obj/item/weapon/reagent_containers/blood/BMinus, + /obj/item/weapon/reagent_containers/blood/OPlus, + /obj/item/weapon/reagent_containers/blood/OMinus) + cost = 35 + containertype = /obj/structure/closet/crate/freezer + containername = "blood pack crate" + +/datum/supply_packs/medical/iv_drip + name = "IV Drip Crate" + contains = list(/obj/machinery/iv_drip) + cost = 30 + containertype = /obj/structure/closet/crate/secure + containername = "iv drip crate" + access = access_cmo + ////////////////////////////////////////////////////////////////////////////// //////////////////////////// Science ///////////////////////////////////////// ////////////////////////////////////////////////////////////////////////////// diff --git a/code/modules/reagents/reagent_containers/blood_pack.dm b/code/modules/reagents/reagent_containers/blood_pack.dm index 28307d0a058..93f53a19cc1 100644 --- a/code/modules/reagents/reagent_containers/blood_pack.dm +++ b/code/modules/reagents/reagent_containers/blood_pack.dm @@ -1,6 +1,6 @@ /obj/item/weapon/reagent_containers/blood - name = "BloodPack" - desc = "Contains blood used for transfusion." + name = "blood pack" + desc = "Contains blood used for transfusion. Must be attached to an IV drip." icon = 'icons/obj/bloodpack.dmi' icon_state = "empty" volume = 200 @@ -10,7 +10,7 @@ /obj/item/weapon/reagent_containers/blood/New() ..() if(blood_type != null) - name = "BloodPack [blood_type]" + name = "blood pack [blood_type]" reagents.add_reagent("blood", 200, list("donor"=null,"viruses"=null,"blood_DNA"=null,"blood_type"=blood_type,"resistances"=null,"trace_chem"=null)) update_icon() @@ -43,6 +43,6 @@ blood_type = "O-" /obj/item/weapon/reagent_containers/blood/empty - name = "Empty BloodPack" + name = "empty blood pack" desc = "Seems pretty useless... Maybe if there were a way to fill it?" icon_state = "empty" \ No newline at end of file From d9f49a4eb56d61202a94ce0a3158bdf547adcb62 Mon Sep 17 00:00:00 2001 From: paprka Date: Sun, 25 Jan 2015 16:53:12 -0800 Subject: [PATCH 025/122] colon and locate() for blood --- code/game/objects/items/devices/scanners.dm | 2 +- code/modules/reagents/reagent_containers/syringes.dm | 5 +---- 2 files changed, 2 insertions(+), 5 deletions(-) diff --git a/code/game/objects/items/devices/scanners.dm b/code/game/objects/items/devices/scanners.dm index 22deea89bd3..41877c85f4e 100644 --- a/code/game/objects/items/devices/scanners.dm +++ b/code/game/objects/items/devices/scanners.dm @@ -166,7 +166,7 @@ MASS SPECTROMETER if(H.vessel) if(H.blood_max) user.show_message("Subject is bleeding!") - var/blood_volume = round(H:vessel.get_reagent_amount("blood")) + var/blood_volume = round(H.vessel.get_reagent_amount("blood")) var/blood_percent = blood_volume / 560 var/blood_type = H.dna.blood_type blood_percent *= 100 diff --git a/code/modules/reagents/reagent_containers/syringes.dm b/code/modules/reagents/reagent_containers/syringes.dm index eb180105fd7..82ef30e7873 100644 --- a/code/modules/reagents/reagent_containers/syringes.dm +++ b/code/modules/reagents/reagent_containers/syringes.dm @@ -155,10 +155,7 @@ reagents.reaction(target, INGEST) spawn(5) target.add_fingerprint(user) - var/datum/reagent/blood/B - for(var/datum/reagent/blood/d in src.reagents.reagent_list) - B = d - break + var/datum/reagent/blood/B = locate() in src.reagents.reagent_list var/trans if(B && istype(target,/mob/living/carbon)) var/mob/living/carbon/C = target From 88b75316581cd9b795285bba567a119a296a6e3f Mon Sep 17 00:00:00 2001 From: paprka Date: Sun, 25 Jan 2015 20:17:07 -0800 Subject: [PATCH 026/122] iv drip sprite update --- icons/obj/iv_drip.dmi | Bin 881 -> 1034 bytes 1 file changed, 0 insertions(+), 0 deletions(-) diff --git a/icons/obj/iv_drip.dmi b/icons/obj/iv_drip.dmi index 9adc8ec4cb5d82cef2b0c7645e0527c3dedb1084..7c6898d36cd00be7f612bfe4a3d43635d4b9fc17 100644 GIT binary patch delta 842 zcmey!*2OX5Y(2BOr;B4q#hkZu_U7F-5NTcC<>Vm7&3Z@t#ge1Z4QK9|R-Csk2uiC8KjBS4LvHQ(yKGJ>AY_CyMPH9O_agAOBb5d2-4k^}i}C z)A`p~JKXuS@ip_~(lxi|o6qj`c{Vv?hTcy{ji0?*4$@|E$9LVWpA{+Gxu^C1|M;C+ zUtd37ZTEN0KY^mU#atK8%*wF;vaz;o{~v+3uhk#fI-QgMI+Nwt>j?R2`-?*VCD&~` zv!_CFmw;29_T&T8b1FYi(#_AY+0MV?-2C&!u{vCf6+7G+87HZ9UMbDpqR+}PVb?lU zPoc%NnhpzQgf$#gZ&b<`UbwN|zu}h<&O#(i}^b!VSkzVKJlkr`SI-G7`fdpGQUu6;8s`ls1^o~!dG z@37lv|K!ro+y}9&62gj4zUT27s5zZD&vl_$;8XcJhPRuZzbw((r_(4mDd5xmtqLjs zlRARuMA^MHR(xi@j^U%#H80J~G~X+EO7;3Z^*8>{4m$Ot^;2iSXKC&QQ;ecAW~g*( zEUhZd>S>v^|N5*0Nr5kRt$X_KOea z82U^Zeb)P{=WSGSsBStUdUVl+pEk=I*dhcU%z1s;Ip_Zz>yjIXw$x^?Zi)?K`10-i z$~qfS9=`s1rUMI6%;95YXlH70W+X=VeV&-D$@Pm{U+Y=40)v=~0aJ4r%ZcYZKUbP0l+XkKrDS#- delta 688 zcmeC;_{cWlY&}z-r;B4q#hkZyHu@fRkZ4PkzPLMyoxj25^%u<-k%wzjmZtKW6`W_{ znZTK`!lqF(U-=}DW3>Ml*H`?yBR?%To6etX;1 zmnFZxm*p?t-X3sUC-w`&woBV`U&R`%oWU?HtaWWWIvp?`rSb}5|HZx@yHL)0U$9$sqkJ$P+22%zg@O1TaS?83{1OSt5H@E-* From 32ef260c7483bb172799fa0ca00171311aaa6e02 Mon Sep 17 00:00:00 2001 From: paprka Date: Sun, 25 Jan 2015 22:45:50 -0800 Subject: [PATCH 027/122] made the iv drip even easier to see on medical tiles --- icons/obj/iv_drip.dmi | Bin 1034 -> 1047 bytes 1 file changed, 0 insertions(+), 0 deletions(-) diff --git a/icons/obj/iv_drip.dmi b/icons/obj/iv_drip.dmi index 7c6898d36cd00be7f612bfe4a3d43635d4b9fc17..daa6d5e9e0f0ad3f674ebaaf48465c53c214c4bd 100644 GIT binary patch delta 740 zcmVa3#N11%JrG#{F1juli}-6L|^0 z_&X7i+n={;(>86w<@{O|pnh8S7DHzYYDbbh-b>^EI@$8!zv1QZmHD>35qWSSzflu7s2$1R@#E6+hgSFGq18Px*|rT-HGkL)Rn&>JPC>bw zKoODl)14#-iGPS3nry~es+!;TeM!?)Yu!RB018#jpQfq!zOS_|D}Vu2&aYbmjGDmj z179VRd-?YD@KvLeH9}QyfJ|{AztJh6{d6bogFj2lZ3w;#T*%KJzyKHW7g7O4{v8Ex z=ftkDDZeckHG%K3N&=Jecov-f4uU`?lgY;Qt|!-@@_&x83v9X)Sf~IZ`#T>7L9mZu zoTG37_QiWufvm=v`vHO=cz%_QP5lom065kOuJ2#N@h&VMIKL_t(|ob8;wZrd;vg|CW2Ko$!H+!yGi#an>P-Zgm7J8)8G z*U*@tZ;`c=_UuJAFPbuDsR2V-3TR=6LXK<1E-i_s$a6kGKz?MC$Nqdt$&{ie{UijJ z53V~v-14#O1LJk9+n+a^jZEf~XqYbfK`8l+DnJ`HUdOuKntxdniM)m1|6jQ(_3PuS zKK-oz5ORK_3ee1&Xg~C^eRjY65bf(H;ypsnAN838#_L!gmcMdU{$qZ&%)EFZx)4Hs zE0e&NYjH>eW=u@e)OHg=auES8!T+iPd7og;1EguX z+g#(*+=mqa9Pb1;_C}B4lfREIlfYg>z}@qeeE+!}s(&v=9DAdys@iRr!bSd}=~V%~ ze)%n%$)}(fJQ|C~E?*uu1ZYpa4?Rsi(&Vq6$}oK0+ZVVCX?y|6%Frh7CkiA(Y5O?IE59H zZvz$-Rs_iBx$`@8xNhGU;O`H>Gl2velhFe(9}WcohXQ~@0l@hK9ua_2Psb>^00000 LNkvXXu0mjffb?Fl From 1c59e972ce7679b5ba66bb3d8e8ae1ddbbb9cfc9 Mon Sep 17 00:00:00 2001 From: paprka Date: Mon, 26 Jan 2015 00:21:11 -0800 Subject: [PATCH 028/122] adds iv drip and blood packs to the map --- _maps/map_files/TgStation/tgstation.2.1.3.dmm | 41 ++++++++++--------- code/modules/mob/living/carbon/human/blood.dm | 6 +-- 2 files changed, 24 insertions(+), 23 deletions(-) diff --git a/_maps/map_files/TgStation/tgstation.2.1.3.dmm b/_maps/map_files/TgStation/tgstation.2.1.3.dmm index 51d550d9d9a..6d5fba121ee 100644 --- a/_maps/map_files/TgStation/tgstation.2.1.3.dmm +++ b/_maps/map_files/TgStation/tgstation.2.1.3.dmm @@ -3305,7 +3305,7 @@ "blC" = (/obj/structure/closet,/turf/simulated/floor/plasteel{icon_state = "red"; dir = 10},/area/security/checkpoint/medical) "blD" = (/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"},/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden,/turf/simulated/floor/plasteel{icon_state = "red"},/area/security/checkpoint/medical) "blE" = (/obj/machinery/light_switch{pixel_x = 28; pixel_y = 0},/obj/item/weapon/screwdriver{pixel_y = 10},/obj/item/device/radio/off,/obj/machinery/atmospherics/pipe/simple/supply/hidden,/turf/simulated/floor/plasteel{icon_state = "red"; dir = 6},/area/security/checkpoint/medical) -"blF" = (/obj/structure/table,/turf/simulated/floor/plasteel{icon_state = "dark"},/area/medical/morgue) +"blF" = (/obj/machinery/atmospherics/unary/vent_scrubber{dir = 8; on = 1; scrub_N2O = 0; scrub_Toxins = 0},/obj/structure/closet/crate/freezer,/obj/item/weapon/reagent_containers/blood/empty,/obj/item/weapon/reagent_containers/blood/AMinus,/obj/item/weapon/reagent_containers/blood/BMinus,/obj/item/weapon/reagent_containers/blood/OMinus,/obj/item/weapon/reagent_containers/blood/OPlus,/obj/item/weapon/reagent_containers/blood/BPlus,/obj/item/weapon/reagent_containers/blood/APlus,/turf/simulated/floor/plasteel{icon_state = "white"},/area/medical/virology) "blG" = (/obj/structure/disposalpipe/segment{dir = 4; icon_state = "pipe-c"},/obj/structure/cable{d1 = 2; d2 = 4; icon_state = "2-4"},/turf/simulated/floor/plasteel{icon_state = "dark"},/area/medical/morgue) "blH" = (/obj/structure/disposalpipe/segment{dir = 4},/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"; pixel_x = 0},/obj/machinery/light_switch{pixel_y = -25},/turf/simulated/floor/plasteel{icon_state = "dark"},/area/medical/morgue) "blI" = (/obj/structure/disposalpipe/segment{dir = 4},/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"; pixel_x = 0},/obj/machinery/light/small,/obj/machinery/atmospherics/pipe/simple/supply/hidden,/turf/simulated/floor/plasteel{icon_state = "dark"},/area/medical/morgue) @@ -3939,7 +3939,7 @@ "bxM" = (/obj/structure/disposalpipe/segment,/turf/simulated/floor/plasteel{icon_state = "dark"},/area/medical/sleeper) "bxN" = (/obj/structure/stool/bed/chair,/obj/machinery/alarm{frequency = 1439; pixel_y = 23},/turf/simulated/floor/plasteel{icon_state = "dark"},/area/medical/sleeper) "bxO" = (/obj/structure/stool/bed/chair,/obj/machinery/atmospherics/unary/vent_pump{on = 1},/turf/simulated/floor/plasteel{icon_state = "dark"},/area/medical/sleeper) -"bxP" = (/obj/structure/closet/wardrobe/pjs,/obj/machinery/alarm{dir = 4; icon_state = "alarm0"; pixel_x = -22},/obj/machinery/camera{c_tag = "Medbay Treatment Center"; dir = 4; network = list("SS13"); pixel_x = 0; pixel_y = 0},/turf/simulated/floor/plasteel{icon_state = "white"},/area/medical/sleeper) +"bxP" = (/obj/machinery/iv_drip,/turf/simulated/floor/plasteel{icon_state = "white"},/area/medical/virology) "bxQ" = (/obj/machinery/atmospherics/pipe/manifold/supply/hidden{tag = "icon-manifold-b-f (WEST)"; dir = 8},/turf/simulated/floor/plasteel{icon_state = "white"},/area/medical/sleeper) "bxR" = (/obj/effect/landmark/start{name = "Medical Doctor"},/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden,/obj/machinery/atmospherics/pipe/simple/supply/hidden{dir = 4},/turf/simulated/floor/plasteel{icon_state = "white"},/area/medical/sleeper) "bxS" = (/obj/machinery/atmospherics/unary/vent_pump{dir = 8; on = 1},/turf/simulated/floor/plasteel{icon_state = "white"},/area/medical/sleeper) @@ -4003,7 +4003,7 @@ "byY" = (/obj/structure/stool/bed/chair,/turf/simulated/floor/plasteel{icon_state = "dark"},/area/medical/sleeper) "byZ" = (/obj/machinery/hologram/holopad,/obj/structure/disposalpipe/segment,/turf/simulated/floor/plasteel{icon_state = "dark"},/area/medical/sleeper) "bza" = (/obj/structure/stool/bed/chair,/obj/machinery/atmospherics/pipe/simple/supply/hidden,/turf/simulated/floor/plasteel{icon_state = "dark"},/area/medical/sleeper) -"bzb" = (/obj/structure/closet/secure_closet/medical1,/turf/simulated/floor/plasteel{icon_state = "white"},/area/medical/sleeper) +"bzb" = (/obj/machinery/iv_drip,/turf/simulated/floor/plasteel{icon_state = "white"},/area/medical/sleeper) "bzc" = (/obj/machinery/light,/obj/machinery/sleeper{icon_state = "sleeper-open"; dir = 8},/turf/simulated/floor/plasteel,/area/medical/sleeper) "bzd" = (/obj/machinery/portable_atmospherics/canister/oxygen,/turf/simulated/floor/plasteel,/area/medical/sleeper) "bze" = (/obj/structure/table/reinforced,/obj/item/weapon/wrench{pixel_x = 5; pixel_y = -5},/turf/simulated/floor/plasteel,/area/medical/sleeper) @@ -4338,7 +4338,7 @@ "bFv" = (/obj/machinery/atmospherics/pipe/manifold/scrubbers/hidden{tag = "icon-manifold-r-f (WEST)"; dir = 8},/turf/simulated/floor/plasteel{dir = 4; icon_state = "whitehall"},/area/medical/sleeper) "bFw" = (/obj/machinery/computer/operating,/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{dir = 4},/turf/simulated/floor/plasteel{icon_state = "white"},/area/medical/sleeper) "bFx" = (/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{dir = 4},/obj/machinery/atmospherics/pipe/simple/supply/hidden,/turf/simulated/floor/plasteel{dir = 8; icon_state = "whitehall"},/area/medical/sleeper) -"bFy" = (/obj/structure/stool/bed,/obj/item/weapon/bedsheet/medical,/obj/structure/sign/nosmoking_2{pixel_x = -28},/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{dir = 4},/turf/simulated/floor/plasteel{dir = 1; icon_state = "whitebluecorner"},/area/medical/sleeper) +"bFy" = (/obj/structure/table,/obj/item/device/radio/intercom{broadcasting = 0; freerange = 0; frequency = 1485; listening = 1; name = "Station Intercom (Medbay)"; pixel_x = 0; pixel_y = -30},/obj/item/weapon/storage/firstaid/toxin,/obj/item/weapon/storage/firstaid/toxin,/obj/item/weapon/storage/firstaid/toxin,/turf/simulated/floor/plasteel{icon_state = "white"},/area/medical/sleeper) "bFz" = (/obj/structure/table/glass,/obj/machinery/camera{c_tag = "Medbay Cryogenics"; dir = 2; network = list("SS13"); pixel_x = 0; pixel_y = 0},/obj/item/weapon/reagent_containers/glass/beaker/cryoxadone{pixel_x = 0; pixel_y = 0},/obj/item/weapon/reagent_containers/glass/beaker/cryoxadone{pixel_x = 0; pixel_y = 0},/turf/simulated/floor/plasteel,/area/medical/sleeper) "bFA" = (/obj/structure/table,/obj/item/weapon/folder/white,/obj/item/weapon/folder/white,/obj/item/weapon/hand_labeler,/obj/item/weapon/gun/syringe,/turf/simulated/floor/plasteel{icon_state = "white"},/area/medical/sleeper) "bFB" = (/obj/structure/grille,/obj/machinery/door/poddoor/preopen{id = "telelab"; name = "test chamber blast door"},/obj/structure/window/reinforced/fulltile,/obj/machinery/door/firedoor/heavy,/turf/simulated/floor/engine,/area/toxins/explab) @@ -4405,15 +4405,15 @@ "bGK" = (/obj/machinery/alarm{dir = 1; icon_state = "alarm0"; pixel_y = -22},/turf/simulated/floor/plasteel{icon_state = "whitehall"; dir = 1},/area/medical/sleeper) "bGL" = (/obj/machinery/camera{c_tag = "Telescience Test Chamber"; dir = 1; network = list("SS13","RD")},/obj/machinery/light,/obj/structure/sign/nosmoking_2{pixel_y = -32},/turf/simulated/floor/engine,/area/toxins/explab) "bGM" = (/obj/machinery/firealarm{dir = 1; pixel_y = -24},/turf/simulated/floor/plasteel{icon_state = "whitehall"; dir = 1},/area/medical/sleeper) -"bGN" = (/obj/structure/closet/crate/freezer,/obj/machinery/atmospherics/unary/vent_pump{dir = 1; external_pressure_bound = 101.325; on = 1; pressure_checks = 1},/turf/simulated/floor/plasteel,/area/medical/sleeper) -"bGO" = (/obj/structure/stool/bed,/obj/item/weapon/bedsheet/medical,/obj/machinery/atmospherics/unary/vent_pump{dir = 4; on = 1},/turf/simulated/floor/plasteel{icon_state = "white"},/area/medical/sleeper) +"bGN" = (/obj/structure/table,/obj/machinery/requests_console{announcementConsole = 0; department = "Medbay"; departmentType = 1; name = "Medbay RC"; pixel_x = 0; pixel_y = -30; pixel_z = 0},/obj/item/weapon/storage/firstaid/fire,/obj/item/weapon/storage/firstaid/fire,/obj/item/weapon/storage/firstaid/fire,/turf/simulated/floor/plasteel{icon_state = "white"},/area/medical/sleeper) +"bGO" = (/obj/structure/table,/obj/item/weapon/storage/firstaid/regular,/obj/item/weapon/storage/firstaid/regular,/obj/item/weapon/storage/firstaid/regular,/turf/simulated/floor/plasteel{icon_state = "white"},/area/medical/sleeper) "bGP" = (/obj/machinery/light/small,/obj/machinery/atmospherics/pipe/simple/supply/hidden{dir = 9},/turf/simulated/floor/plasteel{icon_state = "white"},/area/medical/sleeper) -"bGQ" = (/obj/structure/stool/bed,/obj/item/weapon/bedsheet/medical,/obj/machinery/atmospherics/unary/vent_scrubber{dir = 1; on = 1; scrub_N2O = 0; scrub_Toxins = 0},/turf/simulated/floor/plasteel{icon_state = "white"},/area/medical/sleeper) +"bGQ" = (/obj/machinery/atmospherics/unary/vent_scrubber{dir = 1; on = 1; scrub_N2O = 0; scrub_Toxins = 0},/obj/structure/closet/secure_closet/medical1,/turf/simulated/floor/plasteel{icon_state = "white"},/area/medical/sleeper) "bGR" = (/obj/structure/table,/obj/machinery/light,/obj/item/weapon/reagent_containers/spray/cleaner,/obj/item/clothing/glasses/hud/health,/obj/item/clothing/glasses/hud/health,/obj/item/clothing/glasses/hud/health,/turf/simulated/floor/plasteel{icon_state = "white"},/area/medical/sleeper) -"bGS" = (/obj/structure/table,/obj/item/weapon/storage/belt/medical,/obj/item/weapon/reagent_containers/glass/beaker/large/charcoal,/obj/item/weapon/reagent_containers/glass/beaker/large/epinephrine,/obj/item/weapon/reagent_containers/glass/beaker/large/styptic,/obj/item/weapon/reagent_containers/glass/beaker/large/silver_sulfadiazine,/turf/simulated/floor/plasteel{icon_state = "white"},/area/medical/sleeper) -"bGT" = (/obj/structure/table,/obj/machinery/requests_console{announcementConsole = 0; department = "Medbay"; departmentType = 1; name = "Medbay RC"; pixel_x = 0; pixel_y = -30; pixel_z = 0},/obj/item/weapon/storage/firstaid/regular{pixel_x = 2; pixel_y = 6},/obj/item/weapon/storage/firstaid/regular{pixel_x = 2; pixel_y = 6},/obj/item/weapon/storage/firstaid/regular{pixel_x = 2; pixel_y = 6},/obj/item/weapon/storage/firstaid/fire{pixel_x = -2; pixel_y = 4},/obj/item/weapon/storage/firstaid/fire{pixel_x = -2; pixel_y = 4},/turf/simulated/floor/plasteel{icon_state = "white"},/area/medical/sleeper) -"bGU" = (/obj/structure/table,/obj/item/device/radio/intercom{broadcasting = 0; freerange = 0; frequency = 1485; listening = 1; name = "Station Intercom (Medbay)"; pixel_x = 0; pixel_y = -30},/obj/item/weapon/storage/firstaid/toxin{pixel_x = 2; pixel_y = 6},/obj/item/weapon/storage/firstaid/toxin{pixel_x = 2; pixel_y = 6},/obj/item/weapon/storage/firstaid/toxin{pixel_x = 2; pixel_y = 6},/obj/item/weapon/storage/firstaid/o2{pixel_x = -2; pixel_y = 4},/turf/simulated/floor/plasteel{icon_state = "white"},/area/medical/sleeper) -"bGV" = (/obj/structure/table,/obj/item/weapon/storage/firstaid/regular{pixel_x = 2; pixel_y = 6},/obj/item/weapon/storage/firstaid/regular{pixel_x = 2; pixel_y = 6},/obj/item/weapon/storage/firstaid/regular{pixel_x = 2; pixel_y = 6},/obj/item/weapon/storage/firstaid/brute{pixel_x = -2; pixel_y = 4},/obj/item/weapon/storage/firstaid/brute{pixel_x = -2; pixel_y = 4},/turf/simulated/floor/plasteel{icon_state = "white"},/area/medical/sleeper) +"bGS" = (/obj/structure/table,/obj/item/weapon/storage/firstaid/o2,/obj/item/weapon/storage/firstaid/o2,/obj/item/weapon/storage/firstaid/o2,/turf/simulated/floor/plasteel{icon_state = "white"},/area/medical/sleeper) +"bGT" = (/obj/structure/closet/crate/freezer,/obj/machinery/atmospherics/unary/vent_pump{dir = 1; external_pressure_bound = 101.325; on = 1; pressure_checks = 1},/obj/item/weapon/reagent_containers/blood/empty{pixel_x = 2; pixel_y = 1},/obj/item/weapon/reagent_containers/blood/empty{pixel_x = -3; pixel_y = -4},/obj/item/weapon/reagent_containers/blood/empty,/obj/item/weapon/reagent_containers/blood/OPlus{pixel_x = 5; pixel_y = 2},/obj/item/weapon/reagent_containers/blood/OMinus,/obj/item/weapon/reagent_containers/blood/BPlus,/obj/item/weapon/reagent_containers/blood/BMinus{pixel_x = 6; pixel_y = 2},/obj/item/weapon/reagent_containers/blood/APlus{pixel_x = -5; pixel_y = 3},/obj/item/weapon/reagent_containers/blood/AMinus,/turf/simulated/floor/plasteel,/area/medical/sleeper) +"bGU" = (/obj/machinery/atmospherics/unary/vent_pump{dir = 4; on = 1},/obj/structure/stool/bed,/obj/item/weapon/bedsheet/medical,/turf/simulated/floor/plasteel{icon_state = "white"},/area/medical/sleeper) +"bGV" = (/obj/structure/sign/nosmoking_2{pixel_x = -28},/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{dir = 4},/obj/structure/stool/bed,/obj/item/weapon/bedsheet/medical,/turf/simulated/floor/plasteel{dir = 1; icon_state = "whitebluecorner"},/area/medical/sleeper) "bGW" = (/obj/machinery/disposal,/obj/structure/disposalpipe/trunk{dir = 1},/obj/machinery/light,/turf/simulated/floor/plasteel{icon_state = "white"},/area/medical/sleeper) "bGX" = (/obj/structure/stool/bed,/obj/item/weapon/bedsheet/medical,/turf/simulated/floor/plasteel{icon_state = "white"},/area/medical/medbay) "bGY" = (/obj/machinery/atmospherics/unary/vent_scrubber{dir = 4; on = 1; scrub_N2O = 0; scrub_Toxins = 0},/turf/simulated/floor/plasteel{icon_state = "white"},/area/medical/medbay) @@ -4717,7 +4717,7 @@ "bMK" = (/obj/structure/grille,/turf/simulated/wall/r_wall,/area/atmos) "bML" = (/obj/structure/lattice,/obj/machinery/atmospherics/pipe/simple/yellow/visible,/turf/space,/area/space) "bMM" = (/obj/machinery/atmospherics/pipe/manifold/scrubbers/hidden{tag = "icon-manifold-r-f (WEST)"; dir = 8},/turf/simulated/wall/r_wall,/area/medical/virology) -"bMN" = (/obj/machinery/atmospherics/unary/vent_scrubber{dir = 8; on = 1; scrub_N2O = 0; scrub_Toxins = 0},/turf/simulated/floor/plasteel{icon_state = "white"},/area/medical/virology) +"bMN" = (/obj/machinery/vending/wallmed{pixel_x = 28; pixel_y = 0},/obj/machinery/camera{c_tag = "Medbay Recovery Room"; dir = 8; network = list("SS13")},/obj/machinery/atmospherics/pipe/manifold/scrubbers/hidden{tag = "icon-manifold-r-f (EAST)"; dir = 4},/obj/structure/closet/wardrobe/pjs,/turf/simulated/floor/plasteel{icon_state = "white"},/area/medical/sleeper) "bMO" = (/obj/item/weapon/storage/secure/safe{pixel_x = 5; pixel_y = 29},/obj/machinery/camera{c_tag = "Virology Break Room"},/turf/simulated/floor/plasteel{icon_state = "white"},/area/medical/virology) "bMP" = (/obj/machinery/light{dir = 1},/obj/machinery/alarm{frequency = 1439; pixel_y = 23},/turf/simulated/floor/plasteel{icon_state = "white"},/area/medical/virology) "bMQ" = (/obj/item/weapon/bedsheet,/obj/structure/stool/bed,/turf/simulated/floor/plasteel{icon_state = "white"},/area/medical/virology) @@ -4795,7 +4795,7 @@ "bOk" = (/obj/structure/table,/obj/item/weapon/storage/box/beakers{pixel_x = 2; pixel_y = 2},/obj/item/weapon/storage/box/syringes,/turf/simulated/floor/plasteel{icon_state = "white"},/area/toxins/xenobiology) "bOl" = (/obj/structure/reagent_dispensers/watertank,/turf/simulated/floor/plasteel{icon_state = "white"},/area/toxins/xenobiology) "bOm" = (/obj/structure/grille,/obj/structure/window/fulltile,/turf/simulated/floor/plating,/area/toxins/misc_lab) -"bOn" = (/obj/structure/stool/bed,/obj/item/weapon/bedsheet/medical,/obj/machinery/vending/wallmed{pixel_x = 28; pixel_y = 0},/obj/machinery/camera{c_tag = "Medbay Recovery Room"; dir = 8; network = list("SS13")},/obj/machinery/atmospherics/pipe/manifold/scrubbers/hidden{tag = "icon-manifold-r-f (EAST)"; dir = 4},/turf/simulated/floor/plasteel{icon_state = "white"},/area/medical/sleeper) +"bOn" = (/obj/structure/table,/obj/item/weapon/reagent_containers/blood/empty,/obj/item/weapon/reagent_containers/glass/bottle/epinephrine{pixel_x = 7; pixel_y = -3},/obj/item/weapon/reagent_containers/glass/bottle/morphine,/obj/item/weapon/reagent_containers/glass/bottle/toxin{pixel_x = 4; pixel_y = 2},/obj/item/weapon/reagent_containers/syringe,/turf/simulated/floor/plasteel{icon_state = "white"},/area/medical/sleeper) "bOo" = (/obj/structure/grille,/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden,/obj/structure/window/fulltile,/turf/simulated/floor/plating,/area/toxins/misc_lab) "bOp" = (/turf/simulated/wall,/area/toxins/misc_lab) "bOq" = (/obj/effect/spawner/lootdrop/maintenance,/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden,/turf/simulated/floor/plating,/area/maintenance/asmaint2) @@ -4810,7 +4810,7 @@ "bOz" = (/obj/machinery/door/airlock/engineering{name = "Construction Area"; req_access_txt = "32"},/turf/simulated/floor/plating,/area/construction) "bOA" = (/turf/simulated/floor/plasteel,/area/hallway/primary/aft) "bOB" = (/turf/simulated/floor/plasteel{icon_state = "caution"; dir = 5},/area/hallway/primary/aft) -"bOC" = (/obj/structure/table,/obj/item/weapon/reagent_containers/glass/bottle/epinephrine{pixel_x = 7; pixel_y = -3},/obj/item/weapon/reagent_containers/glass/bottle/morphine,/obj/item/weapon/reagent_containers/glass/bottle/toxin{pixel_x = 4; pixel_y = 2},/obj/item/weapon/reagent_containers/syringe,/turf/simulated/floor/plasteel{icon_state = "white"},/area/medical/sleeper) +"bOC" = (/obj/machinery/alarm{dir = 4; icon_state = "alarm0"; pixel_x = -22},/obj/machinery/camera{c_tag = "Medbay Treatment Center"; dir = 4; network = list("SS13"); pixel_x = 0; pixel_y = 0},/obj/machinery/iv_drip,/turf/simulated/floor/plasteel{icon_state = "white"},/area/medical/sleeper) "bOD" = (/obj/structure/dispenser{pixel_x = -1},/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden,/turf/simulated/floor/plasteel,/area/atmos) "bOE" = (/obj/machinery/atmospherics/pipe/simple/supply/hidden{dir = 6},/turf/simulated/floor/plasteel,/area/atmos) "bOF" = (/obj/machinery/atmospherics/pipe/simple/supply/hidden{dir = 4},/turf/simulated/floor/plasteel,/area/atmos) @@ -6417,6 +6417,7 @@ "ctu" = (/obj/structure/window/reinforced{dir = 1},/obj/structure/lattice,/turf/space,/area/space) "ctv" = (/obj/docking_port/stationary{dheight = 9; dir = 2; dwidth = 5; height = 22; id = "syndicate_s"; name = "south of station"; turf_type = /turf/space; width = 18},/turf/space,/area/space) "ctw" = (/obj/structure/cable{d1 = 2; d2 = 8; icon_state = "2-8"},/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{dir = 10},/turf/simulated/floor/plasteel{icon_state = "vault"; dir = 8},/area/turret_protected/aisat_interior) +"ctx" = (/obj/structure/table,/obj/item/weapon/reagent_containers/blood/empty,/turf/simulated/floor/plasteel{icon_state = "dark"},/area/medical/morgue) "ctB" = (/obj/structure/grille,/obj/structure/window/reinforced/fulltile,/turf/simulated/floor/plating,/area/ai_monitored/storage/secure) "ctC" = (/obj/structure/disposalpipe/segment,/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden,/obj/machinery/chem_heater,/turf/simulated/floor/plasteel{icon_state = "white"},/area/medical/chemistry) "ctD" = (/obj/effect/landmark{name = "blobstart"},/obj/effect/landmark{name = "xeno_spawn"; pixel_x = -1},/turf/simulated/floor/engine,/area/toxins/explab) @@ -6601,7 +6602,7 @@ aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaafaafaafaafavMbdyavMavMavMavMavMavMbdAavMaafaafaafaaabdDbgybdDbgzbeZbgAbgBbcraVbbgCbgDbgEbgFbgGbgGbgGbgGbgGbgGbgHbgIbgJbfdbgKbgLaYpaYpaYpaYpaYpaYpbgMaYpaYpaYpbgNbgObgPbgQbgRbaHbaHbeabgSbecbedaHYbgTaYxbgUaYAaYAaYAaYAbfAbaSbgVaYxaafbfCbfDbgWbgXbgYbfDbgZaafaYHbhabbYbhbbhcbajbesbajbajaYHaXqaHYaHYbeubqqbhebhfbhgbhhbhibfXbhjbfXbhkbfXbfXbhlbfYbhmbhnbhobezbhpbgdbhqbgdbhpbhrbgdbeAbhsbhtbhubhvbeGbhwbeIbhxbhybhzbhAbhAbeKbhBbhCbhDbhEbhFbhGbhHbeKbhIbhJbhKbeRbhLbhMbhLbhNbhObhObeRbhPbgxaaaaafaaaaafaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaafaaaaaaaaaaaaaaaaaaaafaafaaaaaaaaaaaaaaaaafaafaaabdDbhQbhRbhSbhTbhTbhUbhVaWPbhWaOcbhXbhYbhZbhZbhZbiabiabiabiabiabiabiabibbgNbicbidbiebifbigbihbiibijaYpbikbilbimbinbinbiobaHbaHbeabaHaYvbedaHYaWUbipbiqbirbisbitaYAbiubaSaYxaYxaafbfCbfDbgXbfDbgXbfDbgZaafaYHaYHbivbcZbiwbajbixbiybizaYHaXqaHYbiAbiBbiCbiDbqrbiFbrWbiHbfXbiIbiJbiKbiLbiLbiMbfYbiNbhnbiObezbhpbgdbhqbiPbhpbiQbiRbeAbiSbiTbiUbiVbeGbgibeIbiWbiXbiXbiYbiZbjabjbbjcbjcbjcbjdbjebjfbeKbjgbhJbjhbeRbjibjjbjkbjlbjmbjnbeRbhPbgxbjobjobjobjoaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaFZaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaafaafaaaaaaaaaaaaaaaaafaafaaaaaaaaaaaaaaaaafaafaaabdDbjpbdDbjqbjrbjrbjsbdDbjtbjtaOcbjubjvbjubjubjubjvbjuaOcaOcaYpaYpaYpbjwbgNbjxbjxbjybjxbjxbjxbiibjxbjzbjAbjBbjCbjDbjEbjEbjEbjEbjFbjGbjHbjIbjJbjKbjLbjMbjNbjObjPaYAbfAbaSaYxaafaafbfCbfDbgYbjQbgWbjRbgZaafaafaYHbjSbjTaYHaYHaYHaYHbjUaYHbjVaHYaHYbeubjWbhebjXbhgbhhbjYbfXbjZbkabkbbkcbtmbkebezbkfbkgbkhbezbhpbgdbkibkjbhpbkkbgdbeAbeGbeGbeGbeGbeGbgibeIbklbkmbknbkobkpbkqbkrbksbktbktbkubkvbkwbeKbkxbhJbkybeRbkzbkAbkBbkCbkDbkEbeRbhPbkFbkGbkHbkIbkHaaaaaaaafaaaaafaaaaafaaaaafaafaafaafaafaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa -aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaeaafaafaaaaaaaaaaaaaaaaafaaaaaaaaaaaaaaaaaaaaaaafaaabdDbkJbhRbkKbjrbkLbkMbdDaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabkNbkObkPbkQbkRbkSbkSbkTbkSbkSbkSbkUbkSbkVbkWbkXbkYbkZbecbecbecblaaYvblbaYvblcbldaKAbipbleblfblfblfblfblgblhbliaafaaabljblkbllbfDbfDblmbgZaaaaafblnbloblpblqblrblsblnbltblnbluaHYaHYbeublvbhectCblwblxbeublybjZbkablzblAbfXblBbezblCblDblEbezblFblGblHblIblJblKblLblMblNblOblNblNblNblPbeIblQbhyblRblSblTbkqblUblVblWblWblXblYblZbeKbmabgrbmbbeRbmcbmdbmebkCbhObmfbeRbhPbmgbmhbmibmibmibmibmibmibmjaafaaaaafaaaaaaaafaaaaafaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa +aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaeaafaafaaaaaaaaaaaaaaaaafaaaaaaaaaaaaaaaaaaaaaaafaaabdDbkJbhRbkKbjrbkLbkMbdDaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabkNbkObkPbkQbkRbkSbkSbkTbkSbkSbkSbkUbkSbkVbkWbkXbkYbkZbecbecbecblaaYvblbaYvblcbldaKAbipbleblfblfblfblfblgblhbliaafaaabljblkbllbfDbfDblmbgZaaaaafblnbloblpblqblrblsblnbltblnbluaHYaHYbeublvbhectCblwblxbeublybjZbkablzblAbfXblBbezblCblDblEbezctxblGblHblIblJblKblLblMblNblOblNblNblNblPbeIblQbhyblRblSblTbkqblUblVblWblWblXblYblZbeKbmabgrbmbbeRbmcbmdbmebkCbhObmfbeRbhPbmgbmhbmibmibmibmibmibmibmjaafaaaaafaaaaaaaafaaaaafaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaafaaaaaaaaaaaaaaaaafaaaaaaaaaaaaaaaaaaaaaaafaaabdDbmkbhRbhRbhRbdDbdDbdDaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabkNbmlbjxbmmbmnbmobmnbmnbmnbmnbmnbmpbmnbmqbmrbmsbmtbmubmvbecbmwbaHbmxbmybmzbedbmAbmBbipbipblibmCbmDbmEbmFbmGbliaaaaaabfCbmHbmIbmJbmIbmKbgZaaaaaablnbmLbmMbmNblnbmOblnbltblnbluaHYaHYbeubmPbhebjXbmQbmRbeubmSbmTbmUbmVbmWbfXbmXbezbfYbmYbmZbezbeAbnabeAbeBbnbbncbncbncbncbncbncbncbncbgibeIbndbkmbknbnebnfbngbnhbnibnibniblXbkvbnjbnkbnlbnmbnnbnobnpbnqbnpbnrbhObnsbeRbntbnubnubnubnubnubnubnubnvbgxbjobjobjoaaaaaaaafaaaaafaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaafaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaafaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabnwbkNbkNbnxbjxbjxbjxbnybnzbnzbnzbjxbjxbjxbjxbjzbnAbeabnBbnCbnDbnEbnFbnGbnHbaHbmzbnIbnJbnKbnLbnMbnNbnObnPbnQbnRbnSbliaafaaabfCbnTbnUbnUbnUbnVbgZaaaaafblnbnWbnXbnYblnbnZblnbltblnboaaHYaKJbobbocbodboebofbogbeubohbjZbhkbmVboibojbmSbmSbokbolbombonboobopbfXboqborbosbvtboubovbowboxboybncbgibeIbozboAboBboCboDbeKboEbnibniboFboGbkvboHboIboJboKboLbnoboMboNbhOboOboPboQbeRboRbrVbrVbrVbrVbrVbrVbrVbhPbgxboTboUbjobjoaafaafaafaafaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaafaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaafaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaboVboWboVboXboYbjxbjxbiibjxbjxbjxbjxbjxboZaYpaYpbpabpbbjEbpcbpdbecbpebaHbpfbaHbpgblubmAbphbpibpjbpkbplbpmbpnbpobppbliaaaaaabfCbpqbprbpsbprbptbgZaaaaaabpubpvbpwbpubpubpubpubpxbpubpyaKAaKAbeubeubpzbpAbpBbpCbeubpDbjZbpEbpFbpFbpFbpFbpFbpGbpHbpIbpJbpFbpKbpFbpLbpMbosbpNbpObpPbpQbpRbpSbncbpTbpUbpVbpWbpWbpXbpYbpZbqabqbbqbbqcbqdbkvbqebqfbqgbqhbqibnobnobqjbqkbqlbqmbnobeRbrVbrVbrXbvwbrZbrYbsabrVbqsbqtbqubqvbqwbjoaaaaafaaaaaaaaaaaaaaaaaeaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa @@ -6610,20 +6611,20 @@ aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabtobqxbqybqxbmlbtpbjxbjxbtqbjxbtpbjxbjxbjxbqAbtraYpbtsbttbnGbtubtvbecbpbbjEbtwbtxbmzbsnbqHaWUbpibtyblibtzbtAbtBbtCbmGbliaaaaaaaafbtDbtEbnUbtFbtGaafaaaaaabqVbtHbtIbtJbtKbtLbtMbtNbpubtOaHYaHYbmSbmSbtPbtQbpGbtRbtSbtTbtUbtVbtWbtXbtWbtXbtWbtXbtWbtXbtYbtZbsPbuabubbucbudbuebufbugbuhbuibujbncbukbulbumbnmbunbhJbhJbuobhJbhJbupbuqburbusbutbtcbuubuvbuwbuxbuxbuxbuybuybuybuybuybwcbwbbwebwdbwebwfbwebrVbtnbgxbsdbuEbjobjoaafaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabuFbuGbuFbuHbuIbuHbuHbuHbuHbuHbuJbuKbjxbqAbuLaYpbuMbaHbuNbuObuPbuQbuRbuRbuRbuQbuQbuSbqHaJkbuTbpjblibuUbuVbuWbuXbuYbliaaaaaaaafbuZbvabqRbvbbvcaafaaaaaabqVbvdbvebvfbvgbtLbtMbtNbpubvhaHYaHYbvibvjbvkbvlbvmbvnbtXbvobvpbvqbvrbvsbDibvubvvbvubFzbtXbhkbjZbsPbvxbvybvzbvAbvBbvCbvDbvEbvEbvFbvGbvHbvIbvJbvKbvLbvMbvNbvMbvMbvObvMbvMbvPbvQbvRbvRbvSbvTbqibuxbvUbvVbvWbvXbvYbFDbuybxjbxibzCbyAbzDbxibAVbrVbtnbgxbwgbqvbwhbjoaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabnwbkNbkNbkNaYpbkNbkNbkNbwibwibwibwibwjbwkbwkbwibwibwlbwlbwmbwnbuQbwobwpbwqbwrbuQbsnbqHaHZaIcaIcbliblibwsbliblibwtbliaHUaHUaHUbwubwvbsubwwbwxaHUaHUaHUbpubpubpubpubpubpubpubpubpubvhaHYbwybtXbtXbtXbwzbtXbtXbtXbwAbvpbwBbwCbwDbwEbwFbwGbwHbwIbwDbhkbjZbsPbwJbwKbwLbwMbwNbwObrAbrAbrAbwPbwQbwRbwSbwTbwTbwTbwTbwUbwTbwTbwTbwVbwVbwWbwXbwYbwYbwZbxabqibuxbxbbxcbxdbxebxfbxgbxhbrVbrVbFBbFBbFBbrVcfYbrVbtnbgxbsdbsebjobjoaafaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa -aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabwibxkbxlbxmbxnbxobxpbwkbxqbxrbxsbxtbxubxvbxwbxxbxybuQbsnbqHaHYaHYaHYbxzaKQbxAaKAbxBbxCbxDaVLaVLaVLbxEbxFbxGbxHbxIaHYaHYaHYaHYaKQaHYaKAaHYaHYaHYbxzaHYbvhaHYbxJbtXbxKbxLbxMbxNbxObtXbxPbxQbxRbxSbwDbwEbwEbxTbxUbxVbwDbhkbxWbsPbrAbxXbxYbxZbwQbyabybbycbydbncbncbeHbyebwTbyfbygbyhbyibyjbykbwTbylbymbynbyobypbwYbyqbyrbysbytbyubyvbywbyxbyybyzbxhchfchfchfchfchfchfchfbrVbtnbgxbsdbsebjoaaaaafaafaafaafaafaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaFZaaaaaaaaaaaaaaaaaaaaaaaa +aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabwibxkbxlbxmbxnbxobxpbwkbxqbxrbxsbxtbxubxvbxwbxxbxybuQbsnbqHaHYaHYaHYbxzaKQbxAaKAbxBbxCbxDaVLaVLaVLbxEbxFbxGbxHbxIaHYaHYaHYaHYaKQaHYaKAaHYaHYaHYbxzaHYbvhaHYbxJbtXbxKbxLbxMbxNbxObtXbOCbxQbxRbxSbwDbwEbwEbxTbxUbxVbwDbhkbxWbsPbrAbxXbxYbxZbwQbyabybbycbydbncbncbeHbyebwTbyfbygbyhbyibyjbykbwTbylbymbynbyobypbwYbyqbyrbysbytbyubyvbywbyxbyybyzbxhchfchfchfchfchfchfchfbrVbtnbgxbsdbsebjoaaaaafaafaafaafaafaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaFZaaaaaaaaaaaaaaaaaaaaaaaa aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaeaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabwkbyBbyCbyDbyEbyFbyGbyHbyIbyJbyKbyLbyMbyNbyObxxbyPbuQbsnbyQaHYaHYaHYaHYaHYaHYaKAaHYbqHaHYaHYaHYaHYaHYbyRbySbyTaHYaHYaHYaHYaHYaHYaHYaKAbyUaHYaHYaHYaHYbvhbyVbyWbtSbyXbyYbyZbyYbzabtXbzbbvpbvqbzcbtXbzdbzebzfbzgbzhbtXbhkbjZbsPbsPbsPbsPbsPbncbncbncbncbncbncbzibgibzjbwTbzkbzlbzmbznbzobzpbwTbzqbzrbzsbztbzubwYbyqbzvbzwbzxbzybzzbzzbzzbzAbzBbxhchfchfctEctDchfchfchfbrVbtnbgxbsdbsebjobjoaafaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabwibzEbzFbzGbzHbzIbzJbwkbxrbxrbzKbzLbuRbzMbzNbzObzPbuQbzQbzRbzSbzSbzSbzTbzSbzSbzUbzSbzVaHYbzWbzXbzYbzYbzZbAabAbbAcbAdbAeaVLaVLbAfaVLbAgbAhaVLbAibAjbAkbAlaHYaHYbtXbAmbAnbAobtWbApbtXbtWbAqbArbtXbtXbtXbtXbtXbtXbtXbtXbhkbjZbfXbAsbAtbAubAvbAwbAxbAybAzbAAbAwbzibgibABbwTbACbADbAEbAFbAGbAHbwTbAIbAJbAKbALbAMbwYbyqbANbAObuybAPbAQbARbASbATbAUbxhchfchfchfbGLchfchfchfbrVbtnbqtbAWbqvbqwbjoaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaafaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabwibwibwkbwkbwkbwkbwibwibAXbAYbAZbBabuQbuQbuQbuQbuQbuQbBbbBcaIcaIcaIcaIcbBdbBdbBdbBdbBdbBdbBdbBdbBdbBdbBebBfbBgbBhbBhbBhbBhbBhbBibBhbBhbBjbBhbyebBkbyeaIdaJlbBlbtXbBmbBnbBobBpbBqbtXbBrbxQbBsbBtbBubBvbBwbBxbBybBzbBAbBBbBCbBDbBDbBEbBFbBGbBHbBIbBJbBKbBLbAwbzibgibBMbBMbBMbBMbBMbBMbBMbBMbBMbBNbBNbBNbBNbBNbBNbBObBPbBQbuybuybuybuybuybuybuybxhbrVbrVbrVbrVbrVbrVbrVbrVbtnbgxbBRbBSbjobjoaafaafaafaagaagaagaagaagaagaagaagaafaafaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaafaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabBTaaaaaaaaaaafaaaaaabwlbBUbBVbBWbBXbBYbBZbCabCbbCcbCdbCebCfaaaaaaaafaaabBdbCgbChbCibCjbCkbClbCmbCnbCobCpbCqbCrbBhbCsbCtcuzbCubCwbCvbCvbCxbCybCzbCAbyebyebyebyebtXbCBbCCbCDbCCbCEbtXbCFbvpbCGbCHbCIbCJbCIbCIbCKbCLbCMbCNbCObCObCObCPbCQbvlbCRbCSbCTbCUbCVbAwbzibgibBMbCWbCWbCWbCXbCWbCWbCWbBMbCYbCYbCZbCYbCYbBNbDabDbbqibDcbDdbDebDfbDgbDhbJqbDjbDkbDlbDmbDnbDobDpbDqbDqbDrbDsbDdbDdbjoaafaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaafaafaafaafaafaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaajxaekaeZaekaelaaaaafaaabwlbwlbDtbxrbDubDvbDwbDxbDybDybDzbDAbDBbDCaafbDDbDEbDFbDGbDHbDIbDJbDIbDKbDIbDIbDIbBdbDLbDMbDNbBhbDObDPbDQbDRbDSbCvbDTbBjbBhbDUbDVbDWbDXbDYbDZbEabEbbCCbEcbCCbxQbEdbEebEfbEgbtXbEhbEibCCbCCbEjbEkbmSbmSbmSbmSbmSbElbEmbpGbEnbEobEpbBKbEqbAwbzibgibBMbCWbCWbCWbCWbCWbCWbCWbBMbErbEsbEtbEubEvbBNbEwbExbEybEzbEAbEBbECbEDbEDbEDbEDbEEbEFbEGbDnbjobEHbEIbEJbEJbEKbELbEMaafaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaafaafbENbEObENaafaafaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa -aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaajZbEPbEQbEPajZbERbERbERbwlbESbxrbETbEUbEVbEWbwlbBcbEXbBcbBcbEYbEZaaabFabFbbFcbFdbDIbDIbFebDIbFfbFgbFhbDIbBdbDLbFibFjbBhbFkbFlbFmbFnbFobCvbFpbBjbzibFqbFrbFsbFrbFtbFubtXbFvbCIbFwbCIbFxbtSbFybCJbOnbtXbFAbCCbCCbCCbOCbFCbmSbPIbFEbFFbFGbBEbFHbvlbFIbBKbBKbFJbFKbFLbFMbFNbBMbCWbCWbCWbCWbCWbCWbCWbBMbFObFPbFQbFRbFSbFTbFUbFVbtbbFWbFXbEDbFYbEDbEDbEDbEDbEDbEDbEDbDnbFZbGabGbbGcbGdbGebGfbEMaafaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaafaafbEObENbGgbENbEOaafaafaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa -aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaeZalQaHnalQaeZbERbGhbGibwlbGjbxrbGkbxrbxrbEWbwlbGlbGmbGnbBcbEYbEZaafbFabGobGpbGqbGrbGsbGrbGrbGtbGubGrbGrbGvbGwbGxbGybBhbGzbBhbBhbBhbBhbGAbGBbGCbGDbGEbGFbGGbGHbGIbGIbtXbGJbGKcltbGMbGNbtXbGObGPbGQbtXbGRbGSbGUbGTbGVbGWbmSbGXbGYbpFbGZbHabHbbHcbCRbHdbBKbBKbHebAwbzibgibBMbBMbHfbCWbCWbHgbHfbBMbBMbHhbHibHjbHkbHlbBNbHmbHnbtbbHobHpbHqbHqbHrbHsbHtbHqbHubHvbHwbHxbHybHzbHAbHBbHCbHDbHEbEMaafaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaafaafbHFbEObHGbHHbHIbEObHFaafaafaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa +aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaajZbEPbEQbEPajZbERbERbERbwlbESbxrbETbEUbEVbEWbwlbBcbEXbBcbBcbEYbEZaaabFabFbbFcbFdbDIbDIbFebDIbFfbFgbFhbDIbBdbDLbFibFjbBhbFkbFlbFmbFnbFobCvbFpbBjbzibFqbFrbFsbFrbFtbFubtXbFvbCIbFwbCIbFxbtSbGVbCJbMNbtXbFAbCCbCCbCCbOnbFCbmSbPIbFEbFFbFGbBEbFHbvlbFIbBKbBKbFJbFKbFLbFMbFNbBMbCWbCWbCWbCWbCWbCWbCWbBMbFObFPbFQbFRbFSbFTbFUbFVbtbbFWbFXbEDbFYbEDbEDbEDbEDbEDbEDbEDbDnbFZbGabGbbGcbGdbGebGfbEMaafaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaafaafbEObENbGgbENbEOaafaafaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa +aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaeZalQaHnalQaeZbERbGhbGibwlbGjbxrbGkbxrbxrbEWbwlbGlbGmbGnbBcbEYbEZaafbFabGobGpbGqbGrbGsbGrbGrbGtbGubGrbGrbGvbGwbGxbGybBhbGzbBhbBhbBhbBhbGAbGBbGCbGDbGEbGFbGGbGHbGIbGIbtXbGJbGKcltbGMbGTbtXbGUbGPbGQbtXbGRbGSbFybGNbGObGWbmSbGXbGYbpFbGZbHabHbbHcbCRbHdbBKbBKbHebAwbzibgibBMbBMbHfbCWbCWbHgbHfbBMbBMbHhbHibHjbHkbHlbBNbHmbHnbtbbHobHpbHqbHqbHrbHsbHtbHqbHubHvbHwbHxbHybHzbHAbHBbHCbHDbHEbEMaafaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaafaafbHFbEObHGbHHbHIbEObHFaafaafaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaeaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaajZalQalQalQbHJbHKbxrbxrbHLbGjbxrbxrbxrbxrbEWbwlbHMbGnbHNbBcbEYbEZaaabFabHObHPbHQbDIbDIbHRbDIbHSbHTbHUbHVbBdbHWbHXbHYbHZbIabIbbIbbIbbIbbIbbIcbIbbIdbIebIfbIgbIhbIibIjbtSbtSbtSbtSbtSbtSbtSbtSbtSbtSbtSbtSbtSbtSbtSbtSbIkbmSbmSbmSbmSbmSbIlbImbhjbAwbAwbAwbAwbAwbAwbzibgibBMbInbIobIpbIqbIrbIsbInbItbHhbHibHjbIubIvbIwbIxbIybuwbIzbDdbIAbIAbIBbICbIDbIEbEDbEDbIFbDnbIGbIHbIIbDdbIJbIKbIKbDdaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafbEObEObILbIMbIMbIMbINbEObEOaafaafaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaeZaHnaHnaHnaeZbERbIObIPbIQbIRbxrbxrbISbITbIUbwlbBcbBcbBcbBcbEYbDCaafbIVbDEbIWbDGbIXbDIbIYbDIbDIbDIbDIbDIbBdbDLbIZbJabJbbJcbJcbJcbJcbJcbJcbJdbJebJfbJgbJhbJibJjbJkbJlbJmbJnbJmbJmbJmbJmbJmbJmbJmbJmbJmbJmbJmbJmbJmbJobJpbmSbGXcqlbBDbJrbBEbJsbJtbJubJvbJvbJwbJxbJgbJybJzbBMbJAbJBbJCbJDbJEbJFbJGbItbItbItbItbItbItbJHbJIbJJbJKbJLbDdbDnbDnbDnbDnbDnbDnbJMbEDbEDbDnbjobEHbgxbDdbJNbJObJPbJQaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabJRbJSbJRbIMbJTbIMbJUbJVbENaafaafaafaafaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaajZamIbJWbJXajZbERbERbERbwlbwlbERbERbERbwlbwlbwlaaaaaaaaabJYbJZbEZaaaaaaaafaaabBdbKabKbbKcbDIbKdbKebKfbKgbKhbKibKjbKkbKlbKmbKnbKobKpbKqbKmbKmbKmbKmbKmbKrbKsbKmbKmbKtbKmbKubKmbKmbKmbKmbKmbyebyebyebyebyebyebyebyebKvbKwbmSbKxbKybKzbKAbKBbKCbKDbKEbKFbKFbKGbKFbKFbKHbKIbBMbKJbKKbKLbKKbKMbKKbKNbKObKPbKQbKRbKSbKTbKUbyqbHnbqibKVaafbKWbKXbKYbKZbLabKZbLbbLcbLdbDnbLebtnbLfbDdbDdbDdbDdbDdaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafbEObEObLgbIMbIMbIMbLhbEObEOaafaafaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaanTaekbLiaekafOaaaaaaaaaaafaaIaafaaaaafaaIaafaaaaaaaaaaafbJYbEYbEZaafaafaafaafbBdbBdbBdbBdbBdbBdbBdbBdbBdbBdbLjbLkbLlbLmbKmbKnbKobKpbKqbLnbLnbLobLpbLqbLrbLsbLtbLubLvbLwbLxbLybLzbLAbLBbLCbLDbLDbLDbLDbLDbLDbLEbyebKvbLFbLGbLGbLGbLGbLGbLHbLIbLJbLGbLGbLGbLGbLGbLGbLFbLKbLLbLMbLNbLObLNbLPbLQbLRbLSbLSbLSbLSbLSbLSbLTbLUbLVbqibKVaafbKWbLWbLWbLXbLYbLZbMabMbbMcbDnbMdbtnbkFbjobMebMfbjoaafaafaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaeaaaaaaaaaaaaaaaaaaaaaaaaaafaafbHFbEObMgbMhbMibMjbHFaafaafaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa -aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaafaaIaafaaaaafaaIaafaaaaaaaaaaaabJYbEYbEZaaaaaaaaaaafbMkbMlbMlbMmbMnbMobMobMpbMpbMkbDLbMqbKkbMrbKmbMsbMtbMtbMubMvbLnbMwbMxbMybMzbMAbMBbMCbMDbMEbMFbMGbMFbMHbMIbMJaafbMKbMKbMKbMKbMKbMLbyebKvbMMbMNbMObMPbMQbLGbMRbMSbMTbLGbMUbMVbMWbMVbMUbLFbMXbBMbKKbKKbKKbMYbKKbKKbMZbNabNbbNbbNcbNbbNbbNdbNebNfbNgbKVaafbKWbLWbNhbKZbNibKZbNjbNkbNlbDnbsebtnbkFbjobsebsebjoaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaafaafbEObENbNmbENbMjaafaafaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa -aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaafbBcbBcbJYbJYbJYbBcbBcaaaaaaaaaaaabJYbEYbEZaaaaaaaaaaafbMkbNnbMmbMmbMmbMmbMobYnbNpbNqbNrbKjbNsbNtbNubNvbNwbNxbNybNzbNAbNwbNwbNwbNybNBbNCbNDbNEbNFbLBbNGbNHbNIbNJbNKbLDbNLbNMbNNbNObMKbMLbNPbKvbLFbNQbMUbMUbMUbLGbNRbNSbNTbLGbMVbNUbMVbNVbNWbNXbNYbBMbNZbOabObbOcbOdbOebOfbOgbOhbOibOjbOkbOlbItbOmbZlbOobOpbOpbDnbDnbDnbDnbDnbDnbDdbDdbDdbDnbsebtnbOqbsebsebOrbjoaafaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaafaafbENbEObENaafaafaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa +aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaafaaIaafaaaaafaaIaafaaaaaaaaaaaabJYbEYbEZaaaaaaaaaaafbMkbMlbMlbMmbMnbMobMobMpbMpbMkbDLbMqbKkbMrbKmbMsbMtbMtbMubMvbLnbMwbMxbMybMzbMAbMBbMCbMDbMEbMFbMGbMFbMHbMIbMJaafbMKbMKbMKbMKbMKbMLbyebKvbMMblFbMObMPbMQbLGbMRbMSbMTbLGbMUbMVbMWbMVbMUbLFbMXbBMbKKbKKbKKbMYbKKbKKbMZbNabNbbNbbNcbNbbNbbNdbNebNfbNgbKVaafbKWbLWbNhbKZbNibKZbNjbNkbNlbDnbsebtnbkFbjobsebsebjoaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaafaafbEObENbNmbENbMjaafaafaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa +aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaafbBcbBcbJYbJYbJYbBcbBcaaaaaaaaaaaabJYbEYbEZaaaaaaaaaaafbMkbNnbMmbMmbMmbMmbMobYnbNpbNqbNrbKjbNsbNtbNubNvbNwbNxbNybNzbNAbNwbNwbNwbNybNBbNCbNDbNEbNFbLBbNGbNHbNIbNJbNKbLDbNLbNMbNNbNObMKbMLbNPbKvbLFbNQbMUbMUbxPbLGbNRbNSbNTbLGbMVbNUbMVbNVbNWbNXbNYbBMbNZbOabObbOcbOdbOebOfbOgbOhbOibOjbOkbOlbItbOmbZlbOobOpbOpbDnbDnbDnbDnbDnbDnbDdbDdbDdbDnbsebtnbOqbsebsebOrbjoaafaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaafaafbENbEObENaafaafaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabBcbOsbGnbOtbGnbOubBcaaaaaaaaaaaabJYbJZbEZaaaaafbJYbJYbMkbMmbMmbOwbOvbMmbOxbMobMobOzbDLbMqbOAbOBbZmbODbOEbOFbOGbOHbOIbOFbOJbOFbOKbOLbOMbLubONbOObOPbOQbORbOSbOTbOUaafbOVbOWbNObOXbMKbMLbNPbKvbLFbOYbOZbMUbPabLGbPbbPcbPdbLGbMUbPebPfbMUbMUbLFbKvbBMbItbItbItbItbJHbPgbPhbPibJHbItbItbItbItbItbPjbPkbPlbPmbPnbPobPpbPqbPpbPrbOpbPsbPtbPubPvbPwbtnbkFbjobjobjobjoabtaafaafaafaagaagaagaagaagaagaafaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaafaafaafaafaafaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaafaafbBcbPxbGnbGnbGnbPybBcaaaaaaaaaaaabJYbEYbEZaaaaafbJYbPzbPAbPBbMmbMmcbdbPDbPDbPDbPEbPFcbebMqbOAbPHccdbPJbPKbMFbPLbPMbPNbPObPPbPQbPRbPSbPSbPTbPUbLBbPVbPWbPXbPYbPZbQabQbbNLbQcbNObNObMKbMLbNPbKvbLFbQdbMUbQebLHbLGbLGbQfbLGbLGbQgbQhbQibQgbQgbLFbKvbBMbQjbQkbQkbQlbQmbKKbQnbQobQpbQqbCWbCWbCWbItbQrbQsbQtbQubQvbPobQwbQxbQybQzbOmbPtbQAbPtbPvbBRbQBbQCbjoaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaafaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabBcbPxbGnbGnbQDbQEbBcaaaaafaaaaaabJYbEYbDCbBcbBcbBcbQFbMkbQGbMmbMmcqmbQHbQIbQJbQKbMkcqnbMqbOAbPHcqobQLbQMbMFbMFbQNbLnbQObQPbQQbQRbMFbMFbLubQSbQTbQUbQVbQWbQXbQWbQYaafbMKbMKbMKbMKbMKbMLbyebKvbLFbQZbRabRabRbbRcbRdbRebRfbRgbMUbPebMUbMUcqpbLFbKvbBMbCWbCWbCWbRhbRibKKbRjbKKbRkbRlbCWbCWbCWbItbRmbRnbRobRpbRqbRrbRsbRtbRrbRubOpbRvbPtbRwbPvbjobRxbRybjoaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaafaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa diff --git a/code/modules/mob/living/carbon/human/blood.dm b/code/modules/mob/living/carbon/human/blood.dm index 991c083e466..802eec5049f 100644 --- a/code/modules/mob/living/carbon/human/blood.dm +++ b/code/modules/mob/living/carbon/human/blood.dm @@ -109,11 +109,11 @@ var/const/BLOOD_VOLUME_SURVIVE = 122 for(var/obj/item/organ/limb/org in organs) var/brutedamage = org.brute_dam - if(brutedamage > 20) + if(brutedamage > 30) blood_max += 0.5 - if(brutedamage > 40) + if(brutedamage > 50) blood_max += 1 - if(brutedamage > 60) + if(brutedamage > 70) blood_max += 2 if(bleedsuppress) blood_max = 0 From cc94e4eb9c0a4de2c154a5d3eeeee1ebbb356d17 Mon Sep 17 00:00:00 2001 From: paprka Date: Mon, 26 Jan 2015 03:58:23 -0800 Subject: [PATCH 029/122] changelog and nerf --- code/game/objects/items/stacks/medical.dm | 4 ++-- html/changelogs/Paprka-ointmentandshit.yml | 4 ++++ 2 files changed, 6 insertions(+), 2 deletions(-) create mode 100644 html/changelogs/Paprka-ointmentandshit.yml diff --git a/code/game/objects/items/stacks/medical.dm b/code/game/objects/items/stacks/medical.dm index 29991b298ca..02f70309dd0 100644 --- a/code/game/objects/items/stacks/medical.dm +++ b/code/game/objects/items/stacks/medical.dm @@ -86,13 +86,13 @@ gender = PLURAL singular_name = "medical gauze" icon_state = "gauze" - stop_bleeding = 3000 //five minutes + stop_bleeding = 1800 //180 seconds /obj/item/stack/medical/gauze/improvised name = "improvised gauze" singular_name = "improvised gauze" desc = "A roll of cloth roughly cut from something that can stop bleeding, but does not heal wounds." - stop_bleeding = 1200 //two minutes + stop_bleeding = 900 //90 seconds /obj/item/stack/medical/ointment name = "ointment" diff --git a/html/changelogs/Paprka-ointmentandshit.yml b/html/changelogs/Paprka-ointmentandshit.yml new file mode 100644 index 00000000000..ea04e9e1fa0 --- /dev/null +++ b/html/changelogs/Paprka-ointmentandshit.yml @@ -0,0 +1,4 @@ +author: Paprika +delete-after: True +changes: + - rscadd: "Added blood and bleeding. If you take enough brute damage on a certain limb, you will start bleeding, and will need to patch your bleeding with gauze from medbay. You can replace lost blood by eating nutritious food and waiting for your heart to reproduce it, or by getting a blood transfusion from an IV drip." \ No newline at end of file From 6e382138723117b870f4535a48d3ac4adf62327e Mon Sep 17 00:00:00 2001 From: Iamgoofball Date: Mon, 26 Jan 2015 11:14:35 -0800 Subject: [PATCH 030/122] fixes styptic powder and silver sulf not healing properly --- code/modules/reagents/Chemistry-Goon-Medicine.dm | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/code/modules/reagents/Chemistry-Goon-Medicine.dm b/code/modules/reagents/Chemistry-Goon-Medicine.dm index 9afb2cc233b..61b526ed6a7 100644 --- a/code/modules/reagents/Chemistry-Goon-Medicine.dm +++ b/code/modules/reagents/Chemistry-Goon-Medicine.dm @@ -14,7 +14,7 @@ datum/reagent/silver_sulfadiazine datum/reagent/silver_sulfadiazine/reaction_mob(var/mob/living/M as mob, var/method=TOUCH, var/volume) if(method == TOUCH) - M.adjustFireLoss((volume-(volume*2))*REM) + M.adjustFireLoss(-volume) M << "You feel your burns healing!" M.emote("scream") if(method == INGEST) @@ -40,7 +40,7 @@ datum/reagent/styptic_powder datum/reagent/styptic_powder/reaction_mob(var/mob/living/M as mob, var/method=TOUCH, var/volume) if(method == TOUCH) - M.heal_organ_damage(volume*REM,0) + M.adjustBruteLoss(-volume) M << "You feel your wounds knitting back together!" M.emote("scream") if(method == INGEST) @@ -814,4 +814,4 @@ datum/reagent/stimulants/overdose_process(var/mob/living/M as mob) M.adjustToxLoss(2*REM) M.losebreath++ ..() - return \ No newline at end of file + return From ea315705492603fcb38131eb3232c091dde55cc7 Mon Sep 17 00:00:00 2001 From: Iamgoofball Date: Mon, 26 Jan 2015 16:17:26 -0800 Subject: [PATCH 031/122] buffs styptic and silver sulf --- code/modules/reagents/Chemistry-Goon-Medicine.dm | 5 ++--- 1 file changed, 2 insertions(+), 3 deletions(-) diff --git a/code/modules/reagents/Chemistry-Goon-Medicine.dm b/code/modules/reagents/Chemistry-Goon-Medicine.dm index 61b526ed6a7..cb92c80a920 100644 --- a/code/modules/reagents/Chemistry-Goon-Medicine.dm +++ b/code/modules/reagents/Chemistry-Goon-Medicine.dm @@ -25,8 +25,7 @@ datum/reagent/silver_sulfadiazine/reaction_mob(var/mob/living/M as mob, var/meth datum/reagent/silver_sulfadiazine/on_mob_life(var/mob/living/M as mob) if(!M) M = holder.my_atom - if(prob(55)) - M.adjustFireLoss(-2*REM) + M.adjustFireLoss(-2*REM) ..() return @@ -52,7 +51,7 @@ datum/reagent/styptic_powder/reaction_mob(var/mob/living/M as mob, var/method=TO datum/reagent/styptic_powder/on_mob_life(var/mob/living/M as mob) if(!M) M = holder.my_atom if(prob(55)) - M.adjustBruteLoss(-2*REM) + M.adjustBruteLoss(-8*REM) ..() return From 454879d5547c624719fd77ca767afa0f4491b32e Mon Sep 17 00:00:00 2001 From: Iamgoofball Date: Mon, 26 Jan 2015 16:18:30 -0800 Subject: [PATCH 032/122] nerfs synthflesh --- code/modules/reagents/Chemistry-Goon-Medicine.dm | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/code/modules/reagents/Chemistry-Goon-Medicine.dm b/code/modules/reagents/Chemistry-Goon-Medicine.dm index cb92c80a920..d2df3266575 100644 --- a/code/modules/reagents/Chemistry-Goon-Medicine.dm +++ b/code/modules/reagents/Chemistry-Goon-Medicine.dm @@ -80,8 +80,8 @@ datum/reagent/synthflesh datum/reagent/synthflesh/reaction_mob(var/mob/living/M, var/method=TOUCH, var/volume) if(!M) M = holder.my_atom if(method == TOUCH) - M.adjustBruteLoss(-(1*volume)*REM) - M.adjustFireLoss(-(1*volume)*REM) + M.adjustBruteLoss(-0.5*volume) + M.adjustFireLoss(-0.5*volume) M << "You feel your burns healing and your flesh knitting together!" ..() return From a59b26542919e3032173733f658517d990afe0e5 Mon Sep 17 00:00:00 2001 From: Iamgoofball Date: Mon, 26 Jan 2015 18:14:32 -0800 Subject: [PATCH 033/122] adjusts synthflesh more --- code/modules/reagents/Chemistry-Goon-Medicine.dm | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/code/modules/reagents/Chemistry-Goon-Medicine.dm b/code/modules/reagents/Chemistry-Goon-Medicine.dm index d2df3266575..7671682303e 100644 --- a/code/modules/reagents/Chemistry-Goon-Medicine.dm +++ b/code/modules/reagents/Chemistry-Goon-Medicine.dm @@ -80,8 +80,8 @@ datum/reagent/synthflesh datum/reagent/synthflesh/reaction_mob(var/mob/living/M, var/method=TOUCH, var/volume) if(!M) M = holder.my_atom if(method == TOUCH) - M.adjustBruteLoss(-0.5*volume) - M.adjustFireLoss(-0.5*volume) + M.adjustBruteLoss(-1.5*volume) + M.adjustFireLoss(-1.5*volume) M << "You feel your burns healing and your flesh knitting together!" ..() return From 18fe642fcc96b146588cba490efea713a10a8c71 Mon Sep 17 00:00:00 2001 From: Steelpoint Date: Thu, 29 Jan 2015 19:03:07 +0800 Subject: [PATCH 034/122] ERTBalanceV2 --- _maps/map_files/generic/z2.dmm | 18 +++++++++--------- code/game/objects/items/weapons/cards_ids.dm | 4 ++++ .../objects/items/weapons/storage/boxes.dm | 17 ++++++++++++++++- code/modules/admin/verbs/debug.dm | 1 + 4 files changed, 30 insertions(+), 10 deletions(-) diff --git a/_maps/map_files/generic/z2.dmm b/_maps/map_files/generic/z2.dmm index 5270c612f11..626053d3888 100644 --- a/_maps/map_files/generic/z2.dmm +++ b/_maps/map_files/generic/z2.dmm @@ -350,7 +350,7 @@ "gL" = (/obj/structure/flora/grass/both,/turf/unsimulated/floor{icon = 'icons/turf/snow.dmi'; icon_state = "snow"},/area/syndicate_mothership) "gM" = (/obj/structure/table/reinforced,/obj/item/mecha_parts/mecha_equipment/anticcw_armor_booster,/obj/item/mecha_parts/mecha_equipment/tesla_energy_relay,/obj/item/mecha_parts/mecha_equipment/repair_droid,/obj/item/weapon/weldingtool/largetank,/turf/unsimulated/floor{icon_state = "floor"},/area/centcom/ferry) "gN" = (/obj/structure/table/reinforced,/obj/item/mecha_parts/mecha_equipment/weapon/ballistic/missile_rack/flashbang,/turf/unsimulated/floor{icon_state = "floor"},/area/centcom/ferry) -"gO" = (/obj/structure/table/reinforced,/obj/item/mecha_parts/mecha_equipment/weapon/energy/taser,/obj/item/mecha_parts/mecha_equipment/weapon/energy/laser,/turf/unsimulated/floor{dir = 4; heat_capacity = 1; icon_state = "warning"},/area/centcom/ferry) +"gO" = (/obj/structure/table/reinforced,/obj/item/mecha_parts/mecha_equipment/weapon/energy/taser,/obj/item/mecha_parts/mecha_equipment/weapon/energy/pulse,/turf/unsimulated/floor{dir = 4; heat_capacity = 1; icon_state = "warning"},/area/centcom/ferry) "gP" = (/obj/structure/table/reinforced,/obj/item/mecha_parts/mecha_equipment/tool/hydraulic_clamp,/obj/item/mecha_parts/mecha_equipment/tool/cable_layer,/turf/unsimulated/floor{dir = 8; heat_capacity = 1; icon_state = "warning"},/area/centcom/ferry) "gQ" = (/obj/structure/table/reinforced,/obj/item/mecha_parts/mecha_equipment/tool/rcd,/obj/item/mecha_parts/mecha_equipment/tool/drill/diamonddrill,/turf/unsimulated/floor{icon_state = "floor"},/area/centcom/ferry) "gR" = (/obj/structure/table/reinforced,/obj/item/mecha_parts/mecha_equipment/tesla_energy_relay,/obj/item/weapon/weldingtool/largetank,/turf/unsimulated/floor{icon_state = "floor"},/area/centcom/ferry) @@ -431,7 +431,7 @@ "io" = (/turf/unsimulated/wall/fakeglass{icon_state = "fakewindows"; dir = 4},/area/syndicate_mothership) "ip" = (/turf/unsimulated/floor{icon = 'icons/turf/snow.dmi'; icon_state = "snow"},/obj/structure/flora/grass/both,/turf/unsimulated/floor{icon = 'icons/turf/snow.dmi'; icon_state = "gravsnow_corner"},/area/syndicate_mothership) "iq" = (/turf/unsimulated/floor{icon = 'icons/turf/snow.dmi'; icon_state = "snow"},/obj/structure/flora/tree/pine,/turf/unsimulated/floor{icon = 'icons/turf/snow.dmi'; icon_state = "gravsnow_corner"},/area/syndicate_mothership) -"ir" = (/obj/machinery/door/airlock/glass_large{name = "Medical Equipment"},/turf/unsimulated/floor{icon_state = "floor"},/area/centcom/ferry) +"ir" = (/obj/machinery/door/airlock/glass_large{name = "Medical Equipment"; req_access_txt = "104"},/turf/unsimulated/floor{icon_state = "floor"},/area/centcom/ferry) "is" = (/obj/machinery/door/airlock/glass_large{name = "Miscellaneous Equipment"},/turf/unsimulated/floor{icon_state = "floor"},/area/centcom/ferry) "it" = (/obj/structure/table,/turf/unsimulated/floor{icon_state = "floor"},/area/tdome/tdomeobserve) "iu" = (/turf/unsimulated/floor{icon_state = "floor"},/area/tdome/tdomeobserve) @@ -482,7 +482,7 @@ "jn" = (/obj/item/device/paicard,/turf/unsimulated/floor{icon_state = "grimy"},/area/syndicate_mothership) "jo" = (/obj/structure/stool/bed/chair/comfy/teal,/turf/unsimulated/floor{icon_state = "grimy"},/area/syndicate_mothership) "jp" = (/obj/structure/bookcase,/obj/item/weapon/book/manual/wiki/engineering_hacking,/obj/item/weapon/book/manual/robotics_cyborgs,/obj/item/weapon/book/manual/engineering_singularity_safety,/obj/item/weapon/book/manual/detective,/turf/unsimulated/floor{icon_state = "grimy"},/area/syndicate_mothership) -"jq" = (/obj/machinery/door/airlock/centcom{name = "Commander's Room"},/turf/unsimulated/floor{icon_state = "floor"},/area/centcom/ferry) +"jq" = (/obj/machinery/door/airlock/centcom{name = "Commander's Room"; req_access = null; req_access_txt = "109"; req_one_access = null},/turf/unsimulated/floor{icon_state = "floor"},/area/centcom/ferry) "jr" = (/turf/unsimulated/wall/fakeglass{icon_state = "fakewindows2"; dir = 6},/area/tdome/tdomeobserve) "js" = (/obj/structure/lattice,/turf/space/transit,/area/wizard_station) "jt" = (/obj/item/weapon/shard{color = "#008000"},/turf/unsimulated/floor{tag = "icon-cultdamage5"; icon_state = "cultdamage5"},/area/wizard_station) @@ -499,7 +499,7 @@ "jE" = (/mob/living/simple_animal/hostile/retaliate/bat{desc = "A Syndicate experiment in weaponized space carp technology. Its fangs seem to have been intentionally dulled down to prevent accidents."; faction = list("syndicate"); harm_intent_damage = 5; health = 50; icon_dead = "carp_dead"; icon_gib = "carp_gib"; icon_living = "carp"; icon_state = "carp"; name = "Cayenne"; real_name = "Cayenne"; response_disarm = "lightly brushes aside"; response_help = "pets"},/turf/unsimulated/floor{icon_state = "bar"; dir = 2},/area/syndicate_mothership) "jF" = (/obj/machinery/door/airlock/centcom{name = "Study"; opacity = 1; req_access_txt = "150"},/turf/unsimulated/floor{icon_state = "bar"; dir = 2},/area/syndicate_mothership) "jG" = (/turf/unsimulated/floor{icon_state = "grimy"},/area/syndicate_mothership) -"jH" = (/obj/machinery/suit_storage_unit/ertCom,/turf/unsimulated/floor{icon_state = "floor"},/area/centcom/ferry) +"jH" = (/obj/structure/table/reinforced,/obj/item/weapon/tank/emergency_oxygen/double,/obj/item/clothing/mask/breath,/obj/item/clothing/head/helmet/space/hardsuit/ert,/turf/unsimulated/floor{icon_state = "floor"},/area/centcom/ferry) "jI" = (/obj/structure/closet/syndicate/ertCom,/turf/unsimulated/floor{icon_state = "floor"},/area/centcom/ferry) "jJ" = (/turf/unsimulated/floor{tag = "icon-redcorner"; icon_state = "redcorner"; dir = 2},/area/centcom/ferry) "jK" = (/turf/unsimulated/floor{icon_state = "red"; dir = 2},/area/centcom/ferry) @@ -527,8 +527,8 @@ "kg" = (/obj/machinery/computer/telecrystals/uplinker,/turf/unsimulated/floor{tag = "icon-podhatch (NORTHWEST)"; icon_state = "podhatch"; dir = 9},/area/syndicate_mothership) "kh" = (/obj/structure/dresser,/turf/unsimulated/floor{icon_state = "grimy"},/area/syndicate_mothership) "ki" = (/obj/structure/table/wood,/obj/item/weapon/clipboard,/obj/item/weapon/pen,/turf/unsimulated/floor{icon_state = "grimy"},/area/syndicate_mothership) -"kj" = (/obj/machinery/door/airlock/glass_large{name = "Security Equipment"},/turf/unsimulated/floor{icon_state = "floor"},/area/centcom/ferry) -"kk" = (/obj/machinery/door/airlock/glass_large{name = "Engineering Equipment"},/turf/unsimulated/floor{icon_state = "floor"},/area/centcom/ferry) +"kj" = (/obj/machinery/door/airlock/glass_large{name = "Security Equipment"; req_access = null; req_access_txt = "103"; req_one_access = null},/turf/unsimulated/floor{icon_state = "floor"},/area/centcom/ferry) +"kk" = (/obj/machinery/door/airlock/glass_large{name = "Engineering Equipment"; req_access_txt = "106"},/turf/unsimulated/floor{icon_state = "floor"},/area/centcom/ferry) "kl" = (/turf/unsimulated/floor{icon_state = "red"; dir = 10},/area/tdome/tdomeobserve) "km" = (/turf/unsimulated/floor{icon_state = "red"; dir = 2},/area/tdome/tdomeobserve) "kn" = (/turf/unsimulated/floor{icon_state = "green"},/area/tdome/tdomeobserve) @@ -551,7 +551,7 @@ "kE" = (/obj/machinery/suit_storage_unit/ertSec,/turf/unsimulated/floor{dir = 8; icon_state = "red"},/area/centcom/ferry) "kF" = (/obj/structure/rack,/obj/item/weapon/storage/box/handcuffs,/obj/item/weapon/storage/box/flashbangs,/obj/item/weapon/storage/belt/security,/obj/item/weapon/melee/baton/loaded,/obj/item/weapon/shield/riot/tele,/obj/item/device/flash/handheld,/obj/item/weapon/gun/energy/pulse_rifle/pulse_carbine/loyalpin,/turf/unsimulated/floor{icon_state = "floor"},/area/centcom/ferry) "kG" = (/obj/machinery/suit_storage_unit/ertEngi,/turf/unsimulated/floor{tag = "icon-yellow (WEST)"; icon_state = "yellow"; dir = 8},/area/centcom/ferry) -"kH" = (/obj/structure/rack,/obj/item/weapon/storage/belt/utility/full,/obj/item/clothing/glasses/meson,/obj/item/stack/sheet/metal{amount = 50},/obj/item/stack/sheet/glass{amount = 50},/obj/item/device/multitool,/obj/item/weapon/rcd_ammo,/obj/item/weapon/rcd_ammo,/obj/item/weapon/rcd_ammo,/obj/item/weapon/grenade/chem_grenade/metalfoam,/obj/item/weapon/grenade/chem_grenade/metalfoam,/obj/item/weapon/melee/baton/loaded,/obj/item/weapon/rcd{matter = 200; name = "military rapid-construction-device (RCD)"},/turf/unsimulated/floor{icon_state = "floor"},/area/centcom/ferry) +"kH" = (/obj/structure/rack,/obj/item/weapon/storage/belt/utility/full,/obj/item/clothing/glasses/meson,/obj/item/stack/sheet/metal{amount = 50},/obj/item/stack/sheet/glass{amount = 50},/obj/item/device/multitool,/obj/item/weapon/rcd_ammo,/obj/item/weapon/rcd_ammo,/obj/item/weapon/rcd_ammo,/obj/item/weapon/melee/baton/loaded,/obj/item/weapon/rcd{matter = 200; name = "military rapid-construction-device (RCD)"},/turf/unsimulated/floor{icon_state = "floor"},/area/centcom/ferry) "kI" = (/turf/unsimulated/wall/fakeglass{color = "#008000"; dir = 6; icon_state = "fakewindows2"},/area/wizard_station) "kJ" = (/obj/effect/forcefield,/obj/structure/door_assembly{anchored = 1; icon_state = "door_as_uranium1"; name = "Bridge"},/turf/unsimulated/floor{tag = "icon-cult"; icon_state = "cult"},/area/wizard_station) "kK" = (/turf/unsimulated/wall/normal{tag = "icon-uranium6"; icon_state = "uranium6"},/area/wizard_station) @@ -559,7 +559,7 @@ "kM" = (/turf/unsimulated/wall/fakeglass{icon_state = "fakewindows2"; dir = 1},/area/syndicate_mothership) "kN" = (/turf/unsimulated/floor,/area/syndicate_mothership) "kO" = (/obj/machinery/door/poddoor/shutters{id = "nukeop_ready"; name = "shuttle dock"},/turf/unsimulated/floor,/area/syndicate_mothership) -"kP" = (/obj/structure/rack,/obj/item/weapon/storage/belt/utility/full,/obj/item/clothing/glasses/meson,/obj/item/stack/sheet/metal{amount = 50},/obj/item/stack/sheet/glass{amount = 50},/obj/item/device/multitool,/obj/item/weapon/rcd,/obj/item/weapon/rcd_ammo,/obj/item/weapon/rcd_ammo,/obj/item/weapon/rcd_ammo,/obj/item/weapon/grenade/chem_grenade/metalfoam,/obj/item/weapon/grenade/chem_grenade/metalfoam,/obj/item/weapon/melee/baton/loaded,/obj/item/weapon/rcd{matter = 90; name = "military rapid-construction-device (RCD)"},/turf/unsimulated/floor{icon_state = "floor"},/area/centcom/ferry) +"kP" = (/obj/structure/rack,/obj/item/weapon/storage/belt/utility/full,/obj/item/clothing/glasses/meson,/obj/item/stack/sheet/metal{amount = 50},/obj/item/stack/sheet/glass{amount = 50},/obj/item/device/multitool,/obj/item/weapon/rcd,/obj/item/weapon/rcd_ammo,/obj/item/weapon/rcd_ammo,/obj/item/weapon/rcd_ammo,/obj/item/weapon/melee/baton/loaded,/obj/item/weapon/rcd{matter = 90; name = "military rapid-construction-device (RCD)"},/turf/unsimulated/floor{icon_state = "floor"},/area/centcom/ferry) "kQ" = (/turf/space,/area/tdome/tdomeobserve) "kR" = (/obj/effect/decal/remains/human,/obj/effect/decal/cleanable/blood,/turf/unsimulated/floor{tag = "icon-cultdamage6"; icon_state = "cultdamage6"},/area/wizard_station) "kS" = (/obj/effect/decal/cleanable/blood/splatter,/turf/unsimulated/floor{tag = "icon-cultdamage"; icon_state = "cultdamage"},/area/wizard_station) @@ -576,7 +576,7 @@ "ld" = (/obj/structure/table/reinforced,/obj/item/mecha_parts/mecha_equipment/weapon/energy/ion,/obj/item/mecha_parts/mecha_equipment/weapon/energy/pulse,/turf/unsimulated/floor{icon_state = "floor"},/area/centcom/ferry) "le" = (/obj/structure/table/reinforced,/obj/item/mecha_parts/mecha_equipment/weapon/ballistic/missile_rack,/turf/unsimulated/floor{dir = 4; heat_capacity = 1; icon_state = "warning"},/area/centcom/ferry) "lf" = (/obj/structure/table/reinforced,/obj/item/clothing/glasses/night,/obj/item/clothing/glasses/hud/security/sunglasses,/turf/unsimulated/floor{icon_state = "floor"},/area/centcom/ferry) -"lg" = (/obj/structure/table/reinforced,/obj/item/weapon/stock_parts/cell/high,/obj/item/stack/sheet/metal{amount = 50},/obj/item/stack/sheet/metal{amount = 50},/obj/item/stack/sheet/glass{amount = 50},/obj/item/stack/sheet/plasteel{amount = 50},/obj/item/clothing/shoes/magboots,/obj/item/weapon/storage/box,/turf/unsimulated/floor{icon_state = "floor"},/area/centcom/ferry) +"lg" = (/obj/structure/table/reinforced,/obj/item/weapon/stock_parts/cell/high,/obj/item/stack/sheet/metal{amount = 50},/obj/item/stack/sheet/metal{amount = 50},/obj/item/stack/sheet/glass{amount = 50},/obj/item/stack/sheet/plasteel{amount = 50},/obj/item/clothing/shoes/magboots,/obj/item/weapon/storage/box,/obj/item/weapon/storage/box/metalfoam,/turf/unsimulated/floor{icon_state = "floor"},/area/centcom/ferry) "lh" = (/turf/simulated/shuttle/wall{icon_state = "swall0"; dir = 2},/area/wizard_station) "li" = (/turf/unsimulated/wall/fakedoor{name = "Squad 4 Pod"},/area/wizard_station) "lj" = (/turf/simulated/shuttle/wall{icon_state = "swall4"; dir = 2},/area/wizard_station) diff --git a/code/game/objects/items/weapons/cards_ids.dm b/code/game/objects/items/weapons/cards_ids.dm index f232c647fe8..009d1d2bc9f 100644 --- a/code/game/objects/items/weapons/cards_ids.dm +++ b/code/game/objects/items/weapons/cards_ids.dm @@ -197,18 +197,22 @@ update_label("John Doe", "Clowny") registered_name = "Emergency Response Team Commander" assignment = "Emergency Response Team Commander" New() access = get_all_accesses() + New() access = list(access_cent_captain, access_cent_specops, access_cent_storage, access_cent_medical) /obj/item/weapon/card/id/ert/Security registered_name = "Security Response Officer" assignment = "Security Response Officer" + New() access = list(access_cent_specops) /obj/item/weapon/card/id/ert/Engineer registered_name = "Engineer Response Officer" assignment = "Engineer Response Officer" + New() access = list(access_cent_storage) /obj/item/weapon/card/id/ert/Medical registered_name = "Medical Response Officer" assignment = "Medical Response Officer" + New() access = list(access_cent_medical) /obj/item/weapon/card/id/prisoner name = "prisoner ID card" diff --git a/code/game/objects/items/weapons/storage/boxes.dm b/code/game/objects/items/weapons/storage/boxes.dm index 467ca497767..a15c3582408 100644 --- a/code/game/objects/items/weapons/storage/boxes.dm +++ b/code/game/objects/items/weapons/storage/boxes.dm @@ -601,4 +601,19 @@ new /obj/item/clothing/tie/armband/deputy(src) new /obj/item/clothing/tie/armband/deputy(src) new /obj/item/clothing/tie/armband/deputy(src) - new /obj/item/clothing/tie/armband/deputy(src) \ No newline at end of file + new /obj/item/clothing/tie/armband/deputy(src) + +/obj/item/weapon/storage/box/metalfoam + name = "box of metal foam grenades" + desc = "To be used to rapidly seal hull breaches" + icon_state = "flashbang" + +/obj/item/weapon/storage/box/metalfoam/New() + ..() + new /obj/item/weapon/grenade/chem_grenade/metalfoam(src) + new /obj/item/weapon/grenade/chem_grenade/metalfoam(src) + new /obj/item/weapon/grenade/chem_grenade/metalfoam(src) + new /obj/item/weapon/grenade/chem_grenade/metalfoam(src) + new /obj/item/weapon/grenade/chem_grenade/metalfoam(src) + new /obj/item/weapon/grenade/chem_grenade/metalfoam(src) + new /obj/item/weapon/grenade/chem_grenade/metalfoam(src) \ No newline at end of file diff --git a/code/modules/admin/verbs/debug.dm b/code/modules/admin/verbs/debug.dm index 8644ac28ff2..46ad315098c 100644 --- a/code/modules/admin/verbs/debug.dm +++ b/code/modules/admin/verbs/debug.dm @@ -1113,6 +1113,7 @@ var/global/list/g_fancy_list_of_types = null M.equip_to_slot_or_del(R, slot_ears) if(officer) + M.equip_to_slot_or_del(new /obj/item/clothing/suit/space/ert(M), slot_wear_suit) M.equip_to_slot_or_del(new /obj/item/clothing/under/rank/centcom_officer(M), slot_w_uniform) M.equip_to_slot_or_del(new /obj/item/clothing/shoes/combat/swat(M), slot_shoes) M.equip_to_slot_or_del(new /obj/item/clothing/gloves/combat(M), slot_gloves) From c3693046918ac14c5b063f4a2f1e0d6dbf07887a Mon Sep 17 00:00:00 2001 From: Deantwo Date: Thu, 29 Jan 2015 21:11:32 +0100 Subject: [PATCH 035/122] ChemMaster UI Update - Analyze refactored for readability. - Pill bottles can no longer be inserted into a CondiMaster. - Main UI updated to the station standard along with some nice changes. --- code/modules/reagents/Chemistry-Machinery.dm | 129 +++++++++++-------- 1 file changed, 73 insertions(+), 56 deletions(-) diff --git a/code/modules/reagents/Chemistry-Machinery.dm b/code/modules/reagents/Chemistry-Machinery.dm index 21bbbefc1be..dc6c0e24184 100644 --- a/code/modules/reagents/Chemistry-Machinery.dm +++ b/code/modules/reagents/Chemistry-Machinery.dm @@ -251,7 +251,7 @@ icon_state = "mixer0" use_power = 1 idle_power_usage = 20 - var/beaker = null + var/obj/item/weapon/reagent_containers/glass/beaker = null var/obj/item/weapon/storage/pill_bottle/loaded_pill_bottle = null var/mode = 0 var/condi = 0 @@ -294,7 +294,7 @@ src.updateUsrDialog() icon_state = "mixer1" - else if(istype(B, /obj/item/weapon/storage/pill_bottle)) + else if(!condi && istype(B, /obj/item/weapon/storage/pill_bottle)) if(src.loaded_pill_bottle) user << "A pill bottle is already loaded into the machine." @@ -327,11 +327,14 @@ var/datum/reagents/R = beaker:reagents if (href_list["analyze"]) var/dat = "" - if(!condi) - dat += "Chemmaster 3000Chemical infos:

Name:
[href_list["name"]]

Description:
[href_list["desc"]]


(Back)" - else - dat += "Condimaster 3000Condiment infos:

Name:
[href_list["name"]]

Description:
[href_list["desc"]]


(Back)" - usr << browse(dat, "window=chem_master;size=575x400") + dat += "[condi ? "Condiment" : "Chemical"] information:

" + dat += "Name:
[href_list["name"]]

" + dat += "Description:
[href_list["desc"]]


" + dat += "Back" + var/datum/browser/popup = new(usr, "chem_master", name) + popup.set_content(dat) + popup.set_title_image(usr.browse_rsc_icon(src.icon, src.icon_state)) + popup.open(1) return else if (href_list["add"]) @@ -453,61 +456,75 @@ /obj/machinery/chem_master/attack_hand(mob/user as mob) if(stat & BROKEN) return + user.set_machine(src) var/dat = "" - if(!beaker) + if(beaker) + dat += "Beaker \[[beaker.reagents.total_volume]/[beaker.volume]\] Eject and Clear Buffer
" + else dat = "Please insert beaker.
" - if(src.loaded_pill_bottle) - dat += "Eject Pill Bottle \[[loaded_pill_bottle.contents.len]/[loaded_pill_bottle.storage_slots]\]

" - else - dat += "No pill bottle inserted.

" - dat += "Close" - else - var/datum/reagents/R = beaker:reagents - dat += "Eject beaker and Clear Buffer
" - if(src.loaded_pill_bottle) - dat += "Eject Pill Bottle \[[loaded_pill_bottle.contents.len]/[loaded_pill_bottle.storage_slots]\]

" - else - dat += "No pill bottle inserted.

" - if(!R.total_volume) - dat += "Beaker is empty." - else - dat += "Add to buffer:
" - for(var/datum/reagent/G in R.reagent_list) - dat += "[G.name] , [G.volume] Units - " - dat += "(Analyze) " - dat += "(1) " - dat += "(5) " - dat += "(10) " - dat += "(All) " - dat += "(Custom)
" - dat += "
Transfer to [(!mode ? "disposal" : "beaker")]:
" - if(reagents.total_volume) - for(var/datum/reagent/N in reagents.reagent_list) - dat += "[N.name] , [N.volume] Units - " - dat += "(Analyze) " - dat += "(1) " - dat += "(5) " - dat += "(10) " - dat += "(All) " - dat += "(Custom)
" + dat += "
Add to buffer:
Transfer to [(!mode ? "disposal" : "beaker")]:
    " + if(reagents.total_volume) + for(var/datum/reagent/N in reagents.reagent_list) + dat += "
  • [N.name], [N.volume] Units - " + dat += "Analyze " + dat += "1 " + dat += "5 " + dat += "10 " + dat += "All " + dat += "Custom" + else + dat += "
  • Buffer is empty." + dat += "

" + + if(src.loaded_pill_bottle) + dat += "Pill Bottle \[[loaded_pill_bottle.contents.len]/[loaded_pill_bottle.storage_slots]\] Eject" + else + dat += "No pill bottle inserted." + + dat += "" + dat += "
Close" + var/datum/browser/popup = new(user, "chem_master", name) + popup.set_content(dat) + popup.set_title_image(user.browse_rsc_icon(src.icon, src.icon_state)) + popup.open(1) return /obj/machinery/chem_master/proc/isgoodnumber(var/num) From 588b79fd881c353e7722116f0ca3be2e7c711cb4 Mon Sep 17 00:00:00 2001 From: Deantwo Date: Fri, 30 Jan 2015 03:21:44 +0100 Subject: [PATCH 036/122] ChemMaster UI Update 2 - Can now disspense bottles/condiments without inserting a beaker. - Glass is now used when creating bottles. Glass can be refilled with sheets of glass. Can store enough for glass for 40 bottles or 16 condiments, but starts with only half that. - Custom amount transfers now have a cancel button too. - Many many minor changes. Other: - Added "g_amt = 200" to bottle. - Added "g_amt = 500" to condiment. --- code/modules/food&drinks/food/condiment.dm | 1 + code/modules/reagents/Chemistry-Machinery.dm | 122 +++++++++++------- .../reagents/reagent_containers/bottle.dm | 1 + 3 files changed, 76 insertions(+), 48 deletions(-) diff --git a/code/modules/food&drinks/food/condiment.dm b/code/modules/food&drinks/food/condiment.dm index d0050a53b13..ff856dade95 100644 --- a/code/modules/food&drinks/food/condiment.dm +++ b/code/modules/food&drinks/food/condiment.dm @@ -13,6 +13,7 @@ flags = OPENCONTAINER possible_transfer_amounts = list(1,5,10) volume = 50 + g_amt = 500 // Same as beaker. //Possible_states has the reagent id as key and a list of, in order, the icon_state, the name and the desc as values. Used in the on_reagent_change() to change names, descs and sprites. var/list/possible_states = list( "ketchup" = list("ketchup", "ketchup bottle", "You feel more American already."), diff --git a/code/modules/reagents/Chemistry-Machinery.dm b/code/modules/reagents/Chemistry-Machinery.dm index 9ccf27d2551..eef76e7432e 100644 --- a/code/modules/reagents/Chemistry-Machinery.dm +++ b/code/modules/reagents/Chemistry-Machinery.dm @@ -257,10 +257,18 @@ var/condi = 0 var/useramount = 30 // Last used amount + var/g_amount = 0.0 + var/max_g_amount = 8000.0 + var/BOTTLE_COST = 200 // /obj/item/weapon/reagent_containers/glass/bottle.g_amt + + /obj/machinery/chem_master/New() create_reagents(100) overlays += "waitlight" + g_amount = 4000 // ChemMaster can't be constructed, so no need to not do this here. + // 4000 is enough for 20 bottles or 8 condiments. + /obj/machinery/chem_master/ex_act(severity, target) if(severity < 3) ..() @@ -277,15 +285,14 @@ stat |= NOPOWER -/obj/machinery/chem_master/attackby(var/obj/item/weapon/B as obj, var/mob/user as mob) +/obj/machinery/chem_master/attackby(var/obj/item/B as obj, var/mob/user as mob) if(default_unfasten_wrench(user, B)) return if(istype(B, /obj/item/weapon/reagent_containers/glass)) - if(src.beaker) - user << "A beaker is already loaded into the machine." + user << "A beaker is already loaded into the machine." return src.beaker = B user.drop_item() @@ -295,16 +302,27 @@ icon_state = "mixer1" else if(!condi && istype(B, /obj/item/weapon/storage/pill_bottle)) - if(src.loaded_pill_bottle) - user << "A pill bottle is already loaded into the machine." + user << "A pill bottle is already loaded into the machine." return - src.loaded_pill_bottle = B user.drop_item() B.loc = src user << "You add the pill bottle into the dispenser slot!" src.updateUsrDialog() + + else if(istype(B, /obj/item/stack/sheet/glass)) + var/obj/item/stack/sheet/glass/S = B + if(S) + if(g_amount + S.g_amt > max_g_amount) + user << "The [name]'s glass bin is full." + else if (S.g_amt) + var/amount = min(S.amount, round((max_g_amount - g_amount) / S.g_amt)) + S.use(amount) + g_amount += S.g_amt * amount + user << "You insert [amount] sheet[(amount > 1) ? "s" : ""] to the [name]." + src.updateUsrDialog() + return /obj/machinery/chem_master/Topic(href, href_list) @@ -313,18 +331,39 @@ usr.set_machine(src) - if (href_list["ejectp"]) if(loaded_pill_bottle) loaded_pill_bottle.loc = src.loc loaded_pill_bottle = null + else if(href_list["close"]) usr << browse(null, "window=chem_master") usr.unset_machine() return + else if (href_list["toggle"]) + mode = !mode + + else if (href_list["createbottle"]) + if(g_amount >= BOTTLE_COST) + if(!condi) + var/name = stripped_input(usr, "Name:","Name your bottle!", (reagents.total_volume ? reagents.get_master_reagent_name() : " "), MAX_NAME_LEN) + if(!name) + return + if(g_amount < BOTTLE_COST) // Another check after user input. + return + var/obj/item/weapon/reagent_containers/glass/bottle/P = new/obj/item/weapon/reagent_containers/glass/bottle(src.loc) + P.name = trim("[name] bottle") + P.pixel_x = rand(-7, 7) //random position + P.pixel_y = rand(-7, 7) + reagents.trans_to(P, 30) + else + var/obj/item/weapon/reagent_containers/food/condiment/P = new/obj/item/weapon/reagent_containers/food/condiment(src.loc) + reagents.trans_to(P, 50) + g_amount -= BOTTLE_COST + if(beaker) - var/datum/reagents/R = beaker:reagents + var/datum/reagents/R = beaker.reagents if (href_list["analyze"]) var/dat = "" dat += "[condi ? "Condiment" : "Chemical"] information:

" @@ -338,7 +377,6 @@ return else if (href_list["add"]) - if(href_list["amount"]) var/id = href_list["add"] var/amount = text2num(href_list["amount"]) @@ -346,14 +384,14 @@ R.trans_id_to(src, id, amount) else if (href_list["addcustom"]) - var/id = href_list["addcustom"] - useramount = input("Select the amount to transfer.", 30, useramount) as num - useramount = isgoodnumber(useramount) + var/amt_temp = isgoodnumber(input(usr, "Select the amount to transfer.", "Transfer how much?", useramount) as num|null) + if(!amt_temp) + return + useramount = amt_temp src.Topic(null, list("amount" = "[useramount]", "add" = "[id]")) else if (href_list["remove"]) - if(href_list["amount"]) var/id = href_list["remove"] var/amount = text2num(href_list["amount"]) @@ -363,36 +401,35 @@ else reagents.remove_reagent(id, amount) - else if (href_list["removecustom"]) - var/id = href_list["removecustom"] - useramount = input("Select the amount to transfer.", 30, useramount) as num - useramount = isgoodnumber(useramount) + var/amt_temp = isgoodnumber(input(usr, "Select the amount to transfer.", "Transfer how much?", useramount) as num|null) + if(!amt_temp) + return + useramount = amt_temp src.Topic(null, list("amount" = "[useramount]", "remove" = "[id]")) - else if (href_list["toggle"]) - mode = !mode - else if (href_list["main"]) attack_hand(usr) return + else if (href_list["eject"]) if(beaker) - beaker:loc = src.loc + beaker.loc = src.loc beaker = null reagents.clear_reagents() icon_state = "mixer0" + else if (href_list["createpill"]) //Also used for condiment packs. if(reagents.total_volume == 0) return if(!condi) var/amount = 1 var/vol_each = min(reagents.total_volume, 50) if(text2num(href_list["many"])) - amount = min(max(round(input(usr, "Amount:", "How many pills?", amount) as num|null), 0), 10) + amount = min(max(round(input(usr, "Max 10. Buffer content will be split evenly.", "How many pills?", amount) as num|null), 0), 10) if(!amount) return - vol_each = min(reagents.total_volume/amount, 50) + vol_each = min(reagents.total_volume / amount, 50) var/name = stripped_input(usr,"Name:","Name your pill!", "[reagents.get_master_reagent_name()] ([vol_each]u)", MAX_NAME_LEN) if(!name) return @@ -418,28 +455,15 @@ P.desc = "A small condiment pack. The label says it contains [name]." reagents.trans_to(P,10) - else if (href_list["createbottle"]) - if(!condi) - var/name = stripped_input(usr, "Name:","Name your bottle!", (reagents.total_volume ? reagents.get_master_reagent_name() : " "), MAX_NAME_LEN) - if(!name) - return - var/obj/item/weapon/reagent_containers/glass/bottle/P = new/obj/item/weapon/reagent_containers/glass/bottle(src.loc) - P.name = trim("[name] bottle") - P.pixel_x = rand(-7, 7) //random position - P.pixel_y = rand(-7, 7) - reagents.trans_to(P,30) - else - var/obj/item/weapon/reagent_containers/food/condiment/P = new/obj/item/weapon/reagent_containers/food/condiment(src.loc) - reagents.trans_to(P,50) else if(href_list["createpatch"]) if(reagents.total_volume == 0) return var/amount = 1 var/vol_each = min(reagents.total_volume, 50) if(text2num(href_list["many"])) - amount = min(max(round(input(usr, "Amount:", "How many patches?", amount) as num|null), 0), 10) + amount = min(max(round(input(usr, "Max 10. Buffer content will be split evenly.", "How many patches?", amount) as num|null), 0), 10) if(!amount) return - vol_each = min(reagents.total_volume/amount, 50) + vol_each = min(reagents.total_volume / amount, 50) var/name = stripped_input(usr,"Name:","Name your patch!", "[reagents.get_master_reagent_name()] ([vol_each]u)", MAX_NAME_LEN) if(!name) return @@ -511,22 +535,23 @@ if(!condi) if(beaker && reagents.total_volume) dat += "
  • Create pill (50 units max)" - dat += "
  • Create multiple pills (10 pills max)
    " + dat += "
  • Create multiple pills
    " dat += "
  • Create patch (50 units max)" - dat += "
  • Create multiple patches (10 patches max)
    " + dat += "
  • Create multiple patches
    " else dat += "
  • Create pill (50 units max)" - dat += "
  • Create multiple pills (10 pills max)
    " + dat += "
  • Create multiple pills
    " dat += "
  • Create patch (50 units max)" - dat += "
  • Create multiple patches (10 patches max)
    " - - dat += "
  • Create bottle (30 units max)" + dat += "
  • Create multiple patches
    " else if(beaker && reagents.total_volume) dat += "
  • Create pack (10 units max)
    " else - dat += "
  • Create pack (10 units max)
    " - dat += "
  • Create bottle (50 units max)" + dat += "
  • Create pack (10 units max)
    " + if(src.g_amount >= BOTTLE_COST) + dat += "
  • Create bottle ([condi ? "50" : "30"] units max) \[[round(g_amount / BOTTLE_COST)]/[round(max_g_amount / BOTTLE_COST)]\]" + else + dat += "
  • Create bottle (No more glass) \[[round(g_amount / BOTTLE_COST)]/[round(max_g_amount / BOTTLE_COST)]\]" dat += "" dat += "
    Close" var/datum/browser/popup = new(user, "chem_master", name) @@ -540,7 +565,7 @@ if(num > 200) num = 200 else if(num < 0) - num = 1 + num = 0 else num = round(num) return num @@ -548,12 +573,13 @@ return 0 - /obj/machinery/chem_master/condimaster name = "CondiMaster 3000" desc = "Used to create condiments and other cooking supplies." condi = 1 + BOTTLE_COST = 500 // /obj/item/weapon/reagent_containers/food/condiment.g_amt + //////////////////////////////////////////////////////////////////////// //////////////////////////////////////////////////////////////////////// diff --git a/code/modules/reagents/reagent_containers/bottle.dm b/code/modules/reagents/reagent_containers/bottle.dm index b92a7406498..00cd7432259 100644 --- a/code/modules/reagents/reagent_containers/bottle.dm +++ b/code/modules/reagents/reagent_containers/bottle.dm @@ -7,6 +7,7 @@ item_state = "atoxinbottle" possible_transfer_amounts = list(5,10,15,25,30) volume = 30 + g_amt = 200 // Beaker is 500, so this seemed fair. /obj/item/weapon/reagent_containers/glass/bottle/New() ..() From 38dbcaae01c2851d501a7f68fd96d0cf4b7dc1f5 Mon Sep 17 00:00:00 2001 From: AlexanderUlanH Date: Fri, 30 Jan 2015 00:05:04 -0500 Subject: [PATCH 037/122] Blob Update Blobs' bursting on solars makes a log and an admin message, and will end the round if the blob bursting was the last remaining blob. Feedback on the specifics of the admin logging/messaging is welcome. --- code/game/gamemodes/blob/blob.dm | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) diff --git a/code/game/gamemodes/blob/blob.dm b/code/game/gamemodes/blob/blob.dm index a8613af17f5..e47d10d0c40 100644 --- a/code/game/gamemodes/blob/blob.dm +++ b/code/game/gamemodes/blob/blob.dm @@ -83,6 +83,11 @@ var/list/blob_nodes = list() location = get_turf(C) if(location.z != ZLEVEL_STATION || istype(location, /turf/space)) location = null + log_admin("[key_name(C)] was in space when attempting to burst as a blob.") + message_admins("[key_name(C)] was in space when attempting to burst as a blob.") + infected_crew -= blob + if(!infected_crew.len) + declare_completion() C.gib() @@ -93,7 +98,6 @@ var/list/blob_nodes = list() infected_crew -= blob infected_crew += core.overmind.mind - /datum/game_mode/blob/post_setup() for(var/datum/mind/blob in infected_crew) From 1b390c11cfc08f7f8e17f83d8a61c3e81449bb16 Mon Sep 17 00:00:00 2001 From: Deantwo Date: Fri, 30 Jan 2015 18:10:59 +0100 Subject: [PATCH 038/122] Reverted Finite Bottles Also removed "g_amt" from bottle.dm and condiment.dm again. --- code/modules/food&drinks/food/condiment.dm | 1 - code/modules/reagents/Chemistry-Machinery.dm | 54 +++++-------------- .../reagents/reagent_containers/bottle.dm | 1 - 3 files changed, 13 insertions(+), 43 deletions(-) diff --git a/code/modules/food&drinks/food/condiment.dm b/code/modules/food&drinks/food/condiment.dm index ff856dade95..d0050a53b13 100644 --- a/code/modules/food&drinks/food/condiment.dm +++ b/code/modules/food&drinks/food/condiment.dm @@ -13,7 +13,6 @@ flags = OPENCONTAINER possible_transfer_amounts = list(1,5,10) volume = 50 - g_amt = 500 // Same as beaker. //Possible_states has the reagent id as key and a list of, in order, the icon_state, the name and the desc as values. Used in the on_reagent_change() to change names, descs and sprites. var/list/possible_states = list( "ketchup" = list("ketchup", "ketchup bottle", "You feel more American already."), diff --git a/code/modules/reagents/Chemistry-Machinery.dm b/code/modules/reagents/Chemistry-Machinery.dm index eef76e7432e..1bdb7e87dc8 100644 --- a/code/modules/reagents/Chemistry-Machinery.dm +++ b/code/modules/reagents/Chemistry-Machinery.dm @@ -257,18 +257,11 @@ var/condi = 0 var/useramount = 30 // Last used amount - var/g_amount = 0.0 - var/max_g_amount = 8000.0 - var/BOTTLE_COST = 200 // /obj/item/weapon/reagent_containers/glass/bottle.g_amt - /obj/machinery/chem_master/New() create_reagents(100) overlays += "waitlight" - g_amount = 4000 // ChemMaster can't be constructed, so no need to not do this here. - // 4000 is enough for 20 bottles or 8 condiments. - /obj/machinery/chem_master/ex_act(severity, target) if(severity < 3) ..() @@ -311,18 +304,6 @@ user << "You add the pill bottle into the dispenser slot!" src.updateUsrDialog() - else if(istype(B, /obj/item/stack/sheet/glass)) - var/obj/item/stack/sheet/glass/S = B - if(S) - if(g_amount + S.g_amt > max_g_amount) - user << "The [name]'s glass bin is full." - else if (S.g_amt) - var/amount = min(S.amount, round((max_g_amount - g_amount) / S.g_amt)) - S.use(amount) - g_amount += S.g_amt * amount - user << "You insert [amount] sheet[(amount > 1) ? "s" : ""] to the [name]." - src.updateUsrDialog() - return /obj/machinery/chem_master/Topic(href, href_list) @@ -345,22 +326,18 @@ mode = !mode else if (href_list["createbottle"]) - if(g_amount >= BOTTLE_COST) - if(!condi) - var/name = stripped_input(usr, "Name:","Name your bottle!", (reagents.total_volume ? reagents.get_master_reagent_name() : " "), MAX_NAME_LEN) - if(!name) - return - if(g_amount < BOTTLE_COST) // Another check after user input. - return - var/obj/item/weapon/reagent_containers/glass/bottle/P = new/obj/item/weapon/reagent_containers/glass/bottle(src.loc) - P.name = trim("[name] bottle") - P.pixel_x = rand(-7, 7) //random position - P.pixel_y = rand(-7, 7) - reagents.trans_to(P, 30) - else - var/obj/item/weapon/reagent_containers/food/condiment/P = new/obj/item/weapon/reagent_containers/food/condiment(src.loc) - reagents.trans_to(P, 50) - g_amount -= BOTTLE_COST + if(!condi) + var/name = stripped_input(usr, "Name:","Name your bottle!", (reagents.total_volume ? reagents.get_master_reagent_name() : " "), MAX_NAME_LEN) + if(!name) + return + var/obj/item/weapon/reagent_containers/glass/bottle/P = new/obj/item/weapon/reagent_containers/glass/bottle(src.loc) + P.name = trim("[name] bottle") + P.pixel_x = rand(-7, 7) //random position + P.pixel_y = rand(-7, 7) + reagents.trans_to(P, 30) + else + var/obj/item/weapon/reagent_containers/food/condiment/P = new/obj/item/weapon/reagent_containers/food/condiment(src.loc) + reagents.trans_to(P, 50) if(beaker) var/datum/reagents/R = beaker.reagents @@ -548,10 +525,7 @@ dat += "
  • Create pack (10 units max)
    " else dat += "
  • Create pack (10 units max)
    " - if(src.g_amount >= BOTTLE_COST) - dat += "
  • Create bottle ([condi ? "50" : "30"] units max) \[[round(g_amount / BOTTLE_COST)]/[round(max_g_amount / BOTTLE_COST)]\]" - else - dat += "
  • Create bottle (No more glass) \[[round(g_amount / BOTTLE_COST)]/[round(max_g_amount / BOTTLE_COST)]\]" + dat += "
  • Create bottle ([condi ? "50" : "30"] units max)" dat += "" dat += "
    Close" var/datum/browser/popup = new(user, "chem_master", name) @@ -578,8 +552,6 @@ desc = "Used to create condiments and other cooking supplies." condi = 1 - BOTTLE_COST = 500 // /obj/item/weapon/reagent_containers/food/condiment.g_amt - //////////////////////////////////////////////////////////////////////// //////////////////////////////////////////////////////////////////////// diff --git a/code/modules/reagents/reagent_containers/bottle.dm b/code/modules/reagents/reagent_containers/bottle.dm index 00cd7432259..b92a7406498 100644 --- a/code/modules/reagents/reagent_containers/bottle.dm +++ b/code/modules/reagents/reagent_containers/bottle.dm @@ -7,7 +7,6 @@ item_state = "atoxinbottle" possible_transfer_amounts = list(5,10,15,25,30) volume = 30 - g_amt = 200 // Beaker is 500, so this seemed fair. /obj/item/weapon/reagent_containers/glass/bottle/New() ..() From c1164888cf7b1b95b77a6c2008ac495889990806 Mon Sep 17 00:00:00 2001 From: AlexanderUlanH Date: Fri, 30 Jan 2015 12:17:59 -0500 Subject: [PATCH 039/122] Makes blob more sensible Gives blobs who burst in space a 30 second warning before they're killed, and informs the admins that it's about to happen. Also changed the round ending logic to use the check_finished proc, rather than building it in to the blobize proc. --- code/game/gamemodes/blob/blob.dm | 48 ++++++++++++++----------- code/game/gamemodes/blob/blob_finish.dm | 2 +- 2 files changed, 29 insertions(+), 21 deletions(-) diff --git a/code/game/gamemodes/blob/blob.dm b/code/game/gamemodes/blob/blob.dm index e47d10d0c40..83467c26220 100644 --- a/code/game/gamemodes/blob/blob.dm +++ b/code/game/gamemodes/blob/blob.dm @@ -18,6 +18,7 @@ var/list/blob_nodes = list() restricted_jobs = list("Cyborg", "AI") var/declared = 0 + var/burst = 0 var/cores_to_spawn = 1 var/players_per_core = 30 @@ -72,31 +73,38 @@ var/list/blob_nodes = list() /datum/game_mode/blob/proc/burst_blobs() for(var/datum/mind/blob in infected_crew) + burst_blob(blob) - var/client/blob_client = null - var/turf/location = null +/datum/game_mode/blob/proc/burst_blob(var/datum/mind/blob, var/warned=0) + var/client/blob_client = null + var/turf/location = null - if(iscarbon(blob.current)) - var/mob/living/carbon/C = blob.current - if(directory[ckey(blob.key)]) - blob_client = directory[ckey(blob.key)] - location = get_turf(C) - if(location.z != ZLEVEL_STATION || istype(location, /turf/space)) - location = null + if(iscarbon(blob.current)) + var/mob/living/carbon/C = blob.current + if(directory[ckey(blob.key)]) + blob_client = directory[ckey(blob.key)] + location = get_turf(C) + if(location.z != ZLEVEL_STATION || istype(location, /turf/space)) + if(!warned) + C << "You feel ready to burst, but this isn't an appropriate place! You must return to the station!." + message_admins("[key_name(C)] was in space when the blobs burst, and will die if he doesn't return to the station.") + spawn(300) + burst_blob(blob, 1) + else + burst ++ log_admin("[key_name(C)] was in space when attempting to burst as a blob.") message_admins("[key_name(C)] was in space when attempting to burst as a blob.") - infected_crew -= blob - if(!infected_crew.len) - declare_completion() + C.gib() + check_finished() + + else if(blob_client && location) + burst ++ C.gib() - - - if(blob_client && location) - var/obj/effect/blob/core/core = new(location, 200, blob_client, blob_point_rate) - if(core.overmind && core.overmind.mind) - core.overmind.mind.name = blob.name - infected_crew -= blob - infected_crew += core.overmind.mind + var/obj/effect/blob/core/core = new(location, 200, blob_client, blob_point_rate) + if(core.overmind && core.overmind.mind) + core.overmind.mind.name = blob.name + infected_crew -= blob + infected_crew += core.overmind.mind /datum/game_mode/blob/post_setup() diff --git a/code/game/gamemodes/blob/blob_finish.dm b/code/game/gamemodes/blob/blob_finish.dm index f83550796b7..56c1b4449c8 100644 --- a/code/game/gamemodes/blob/blob_finish.dm +++ b/code/game/gamemodes/blob/blob_finish.dm @@ -1,5 +1,5 @@ /datum/game_mode/blob/check_finished() - if(!declared)//No blobs have been spawned yet + if(infected_crew.len > burst)//Some blobs have yet to burst return 0 if(blobwincount <= blobs.len)//Blob took over return 1 From 541d0e344b9697f44a191823ff7f57f2903e5352 Mon Sep 17 00:00:00 2001 From: Deantwo Date: Fri, 30 Jan 2015 19:01:29 +0100 Subject: [PATCH 040/122] Changelog This I think needs a changelog. --- html/changelogs/Deantwo-PR-7445.yml | 6 ++++++ 1 file changed, 6 insertions(+) create mode 100644 html/changelogs/Deantwo-PR-7445.yml diff --git a/html/changelogs/Deantwo-PR-7445.yml b/html/changelogs/Deantwo-PR-7445.yml new file mode 100644 index 00000000000..d31b8778699 --- /dev/null +++ b/html/changelogs/Deantwo-PR-7445.yml @@ -0,0 +1,6 @@ +author: Deantwo + +delete-after: True + +changes: + - tweak: "Updated the ChemMaster's UI to the station default along with some functionality improvements." From 0fbb343078a4538dc41833a2634f47d66738e624 Mon Sep 17 00:00:00 2001 From: AlexanderUlanH Date: Fri, 30 Jan 2015 13:47:55 -0500 Subject: [PATCH 041/122] Reblob A blob bursting in space will cause a random valid crewmember to be infected. They'll have a short time to get to a good location before they burst. This means a lone blob bursting in space will not end the round unless there are no blob-valid crewmembers to choose from. --- code/game/gamemodes/blob/blob.dm | 36 +++++++++++++++++++++++++++++++- 1 file changed, 35 insertions(+), 1 deletion(-) diff --git a/code/game/gamemodes/blob/blob.dm b/code/game/gamemodes/blob/blob.dm index 83467c26220..8994b023c67 100644 --- a/code/game/gamemodes/blob/blob.dm +++ b/code/game/gamemodes/blob/blob.dm @@ -53,6 +53,39 @@ var/list/blob_nodes = list() return 1 +/datum/game_mode/blob/proc/get_blob_candidates() + var/list/candidates = list() + for(var/mob/living/carbon/human/player in player_list) + if(!player.stat && player.mind && !player.mind.special_role && !jobban_isbanned(player, "Syndicate") && (player.client.prefs.be_special & BE_BLOB)) + candidates += player + return candidates + + +/datum/game_mode/blob/proc/blobize(var/mob/living/carbon/human/blob) + var/datum/mind/blobmind = blob.mind + if(!istype(blobmind)) + return 0 + infected_crew += blobmind + blobmind.special_role = "Blob" + log_game("[blob.key] (ckey) has been selected as a Blob") + greet_blob(blobmind) + blob << "You feel very tired and bloated! You don't have long before you burst!" + spawn(600) + burst_blob(blobmind) + return 1 + +/datum/game_mode/blob/proc/make_blobs(var/count) + var/list/candidates = get_blob_candidates() + var/mob/living/carbon/human/blob = null + count=min(count, candidates.len) + for(var/i = 0, i < count, i++) + blob = pick(candidates) + candidates -= blob + blobize(blob) + return count + + + /datum/game_mode/blob/announce() world << "The current game mode is - Blob!" world << "A dangerous alien organism is rapidly spreading throughout the station!" @@ -95,7 +128,8 @@ var/list/blob_nodes = list() log_admin("[key_name(C)] was in space when attempting to burst as a blob.") message_admins("[key_name(C)] was in space when attempting to burst as a blob.") C.gib() - check_finished() + make_blobs(1) + check_finished() //Still needed in case we can't make any blobs else if(blob_client && location) burst ++ From 044b10e926a986f018ab97860631e52595c35b08 Mon Sep 17 00:00:00 2001 From: AlexanderUlanH Date: Fri, 30 Jan 2015 14:10:46 -0500 Subject: [PATCH 042/122] Fixed Typo Very important --- code/game/gamemodes/blob/blob.dm | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/code/game/gamemodes/blob/blob.dm b/code/game/gamemodes/blob/blob.dm index 8994b023c67..ae0b05441c6 100644 --- a/code/game/gamemodes/blob/blob.dm +++ b/code/game/gamemodes/blob/blob.dm @@ -119,7 +119,7 @@ var/list/blob_nodes = list() location = get_turf(C) if(location.z != ZLEVEL_STATION || istype(location, /turf/space)) if(!warned) - C << "You feel ready to burst, but this isn't an appropriate place! You must return to the station!." + C << "You feel ready to burst, but this isn't an appropriate place! You must return to the station!" message_admins("[key_name(C)] was in space when the blobs burst, and will die if he doesn't return to the station.") spawn(300) burst_blob(blob, 1) From a3d2b769d99132d06575f69fd8638242dcd989ce Mon Sep 17 00:00:00 2001 From: Iamgoofball Date: Fri, 30 Jan 2015 16:20:30 -0800 Subject: [PATCH 043/122] Fixes #7312 Fixes #7312 --- code/datums/goon_mutations_disabilities.dm | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/code/datums/goon_mutations_disabilities.dm b/code/datums/goon_mutations_disabilities.dm index decfd10a987..f7051862337 100644 --- a/code/datums/goon_mutations_disabilities.dm +++ b/code/datums/goon_mutations_disabilities.dm @@ -143,7 +143,7 @@ message = replacetext(message,"i don't know","wot mate") message = replacetext(message,"no","naw") message = replacetext(message,"robust","chin") - message = replacetext(message,"hi","how what how") + message = replacetext(message," hi ","how what how") message = replacetext(message,"hello","sup bruv") message = replacetext(message,"kill","bang") message = replacetext(message,"murder","bang") @@ -182,4 +182,4 @@ message = replacetext(message,"yes",pick("sure", "yea")) message = replacetext(message,"faggot","square") message = replacetext(message,"muh valids","getting my kicks") - return message \ No newline at end of file + return message From 7bf38b41f76da64b4e034055820dc1d74704de0f Mon Sep 17 00:00:00 2001 From: Iamgoofball Date: Fri, 30 Jan 2015 16:47:40 -0800 Subject: [PATCH 044/122] Fixes #7258 Fixes #7258 --- code/modules/reagents/Chemistry-Goon-Other.dm | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/code/modules/reagents/Chemistry-Goon-Other.dm b/code/modules/reagents/Chemistry-Goon-Other.dm index 62b5a848c9a..4664b374960 100644 --- a/code/modules/reagents/Chemistry-Goon-Other.dm +++ b/code/modules/reagents/Chemistry-Goon-Other.dm @@ -119,7 +119,7 @@ datum/reagent/colorful_reagent result_amount = 5 datum/reagent/colorful_reagent/reaction_mob(var/mob/M, var/volume) - if(M) + if(M && ishuman(M)) M.color = pick(potential_colors) ..() return @@ -147,4 +147,4 @@ datum/reagent/triple_citrus id = "triple_citrus" result = "triple_citrus" required_reagents = list("lemonjuice" = 1, "limejuice" = 1, "orangejuice" = 1) - result_amount = 5 \ No newline at end of file + result_amount = 5 From 453a3db19676e8fc96a1f2b1c793b5534732052c Mon Sep 17 00:00:00 2001 From: paprka Date: Fri, 30 Jan 2015 23:18:02 -0800 Subject: [PATCH 045/122] etc --- code/game/gamemodes/wizard/rightandwrong.dm | 2 +- code/game/machinery/portable_turret.dm | 4 -- .../game/objects/items/weapons/power_cells.dm | 10 ++++ .../crates_lockers/closets/syndicate.dm | 6 +- code/modules/admin/topic.dm | 2 +- code/modules/admin/verbs/debug.dm | 6 +- code/modules/projectiles/ammunition/energy.dm | 22 -------- code/modules/projectiles/guns/energy/pulse.dm | 52 +++++++----------- code/modules/projectiles/guns/energy/stun.dm | 9 --- .../research/designs/weapon_designs.dm | 10 ---- icons/obj/guns/energy.dmi | Bin 33417 -> 32414 bytes 11 files changed, 38 insertions(+), 85 deletions(-) diff --git a/code/game/gamemodes/wizard/rightandwrong.dm b/code/game/gamemodes/wizard/rightandwrong.dm index ffe84d0a232..430950915b4 100644 --- a/code/game/gamemodes/wizard/rightandwrong.dm +++ b/code/game/gamemodes/wizard/rightandwrong.dm @@ -45,7 +45,7 @@ if("gyrojet") new /obj/item/weapon/gun/projectile/automatic/gyropistol(get_turf(H)) if("pulse") - new /obj/item/weapon/gun/energy/pulse_rifle(get_turf(H)) + new /obj/item/weapon/gun/energy/pulse(get_turf(H)) if("suppressed") new /obj/item/weapon/gun/projectile/automatic/pistol(get_turf(H)) new /obj/item/weapon/suppressor(get_turf(H)) diff --git a/code/game/machinery/portable_turret.dm b/code/game/machinery/portable_turret.dm index 35ee5e7bad4..727c1617861 100644 --- a/code/game/machinery/portable_turret.dm +++ b/code/game/machinery/portable_turret.dm @@ -123,10 +123,6 @@ eprojectile = /obj/item/projectile/beam eshot_sound = 'sound/weapons/Laser.ogg' - if(/obj/item/weapon/gun/energy/stunrevolver) - eprojectile = /obj/item/projectile/beam - eshot_sound = 'sound/weapons/Laser.ogg' - if(/obj/item/weapon/gun/energy/gun) eprojectile = /obj/item/projectile/beam //If it has, going to kill mode eshot_sound = 'sound/weapons/Laser.ogg' diff --git a/code/game/objects/items/weapons/power_cells.dm b/code/game/objects/items/weapons/power_cells.dm index fceaa3c4193..c510f5fcec2 100644 --- a/code/game/objects/items/weapons/power_cells.dm +++ b/code/game/objects/items/weapons/power_cells.dm @@ -44,6 +44,16 @@ ..() charge = 0 +/obj/item/weapon/stock_parts/cell/emproof/pulse //40 pulse shots + name = "pulse rifle power cell" + maxcharge = 8000 + rating = 3 + +/obj/item/weapon/stock_parts/cell/emproof/pulse/carbine //25 pulse shots + name = "pulse rifle power cell" + maxcharge = 5000 + rating = 3 + /obj/item/weapon/stock_parts/cell/high name = "high-capacity power cell" origin_tech = "powerstorage=2" diff --git a/code/game/objects/structures/crates_lockers/closets/syndicate.dm b/code/game/objects/structures/crates_lockers/closets/syndicate.dm index 2f3d9932bda..6b32db1b84c 100644 --- a/code/game/objects/structures/crates_lockers/closets/syndicate.dm +++ b/code/game/objects/structures/crates_lockers/closets/syndicate.dm @@ -21,7 +21,7 @@ icon_state = "secoff" icon_closed = "secoff" icon_opened = "secopen" - new /obj/item/weapon/gun/energy/pulse_rifle/pulse_pistol/loyalpin(src) + new /obj/item/weapon/gun/energy/pulse/carbine/loyalpin(src) new /obj/item/weapon/card/id/ert/Security(src) new /obj/item/weapon/storage/backpack/security(src) return @@ -32,7 +32,7 @@ icon_state = "securemedoff" icon_closed = "securemedoff" icon_opened = "securemedopen" - new /obj/item/weapon/gun/energy/pulse_rifle/pulse_pistol/loyalpin(src) + new /obj/item/weapon/gun/energy/pulse/carbine/loyalpin(src) new /obj/item/weapon/card/id/ert/Medical(src) new /obj/item/weapon/storage/backpack/medic(src) return @@ -43,7 +43,7 @@ icon_state = "secureengoff" icon_closed = "secureengoff" icon_opened = "secureengopen" - new /obj/item/weapon/gun/energy/pulse_rifle/pulse_pistol/loyalpin(src) + new /obj/item/weapon/gun/energy/pulse/carbine/loyalpin(src) new /obj/item/weapon/card/id/ert/Engineer(src) new /obj/item/weapon/storage/backpack/industrial(src) return diff --git a/code/modules/admin/topic.dm b/code/modules/admin/topic.dm index 49119c0109c..d94b8634697 100644 --- a/code/modules/admin/topic.dm +++ b/code/modules/admin/topic.dm @@ -1555,7 +1555,7 @@ else if(!ispath(path, /obj) && !ispath(path, /turf) && !ispath(path, /mob)) removed_paths += dirty_path continue - else if(ispath(path, /obj/item/weapon/gun/energy/pulse_rifle)) + else if(ispath(path, /obj/item/weapon/gun/energy/pulse)) if(!check_rights(R_FUN,0)) removed_paths += dirty_path continue diff --git a/code/modules/admin/verbs/debug.dm b/code/modules/admin/verbs/debug.dm index 1a99e573f41..563d6502593 100644 --- a/code/modules/admin/verbs/debug.dm +++ b/code/modules/admin/verbs/debug.dm @@ -653,7 +653,7 @@ var/global/list/g_fancy_list_of_types = null M.equip_to_slot_or_del(new /obj/item/clothing/suit/armor/vest(M), slot_wear_suit) M.equip_to_slot_or_del(new /obj/item/clothing/head/helmet/thunderdome(M), slot_head) - M.equip_to_slot_or_del(new /obj/item/weapon/gun/energy/pulse_rifle/destroyer(M), slot_r_hand) + M.equip_to_slot_or_del(new /obj/item/weapon/gun/energy/pulse/destroyer(M), slot_r_hand) M.equip_to_slot_or_del(new /obj/item/weapon/kitchenknife(M), slot_l_hand) M.equip_to_slot_or_del(new /obj/item/weapon/grenade/smokebomb(M), slot_r_store) @@ -883,7 +883,7 @@ var/global/list/g_fancy_list_of_types = null M.equip_to_slot_or_del(new /obj/item/clothing/glasses/thermal/eyepatch(M), slot_glasses) M.equip_to_slot_or_del(new /obj/item/clothing/mask/cigarette/cigar/havana(M), slot_wear_mask) M.equip_to_slot_or_del(new /obj/item/clothing/head/helmet/space/deathsquad/beret(M), slot_head) - M.equip_to_slot_or_del(new /obj/item/weapon/gun/energy/pulse_rifle/M1911(M), slot_belt) + M.equip_to_slot_or_del(new /obj/item/weapon/gun/energy/pulse/pistol(M), slot_belt) M.equip_to_slot_or_del(new /obj/item/weapon/lighter/zippo(M), slot_r_store) M.equip_to_slot_or_del(new /obj/item/weapon/storage/backpack/satchel(M), slot_back) @@ -1090,7 +1090,7 @@ var/global/list/g_fancy_list_of_types = null M.equip_to_slot_or_del(new /obj/item/weapon/tank/emergency_oxygen(M), slot_s_store) M.equip_to_slot_or_del(new /obj/item/weapon/gun/projectile/revolver/mateba(M), slot_belt) - M.equip_to_slot_or_del(new /obj/item/weapon/gun/energy/pulse_rifle(M), slot_r_hand) + M.equip_to_slot_or_del(new /obj/item/weapon/gun/energy/pulse(M), slot_r_hand) var/obj/item/weapon/implant/loyalty/L = new/obj/item/weapon/implant/loyalty(M)//Here you go Deuryn diff --git a/code/modules/projectiles/ammunition/energy.dm b/code/modules/projectiles/ammunition/energy.dm index 0bf2aca5611..582b358b85d 100644 --- a/code/modules/projectiles/ammunition/energy.dm +++ b/code/modules/projectiles/ammunition/energy.dm @@ -38,24 +38,6 @@ select_name = "DESTROY" fire_sound = 'sound/weapons/pulse.ogg' -/obj/item/ammo_casing/energy/laser/pulse/carbine - e_cost = 50 - -/obj/item/ammo_casing/energy/laser/carbine - e_cost = 50 - -/obj/item/ammo_casing/energy/electrode/carbine - e_cost = 50 - -/obj/item/ammo_casing/energy/laser/pulse/pistol - e_cost = 100 - -/obj/item/ammo_casing/energy/laser/pistol - e_cost = 50 - -/obj/item/ammo_casing/energy/electrode/pistol - e_cost = 50 - /obj/item/ammo_casing/energy/laser/bluetag projectile_type = /obj/item/projectile/lasertag/bluetag select_name = "bluetag" @@ -75,10 +57,6 @@ fire_sound = 'sound/weapons/taser.ogg' e_cost = 200 -/obj/item/ammo_casing/energy/electrode/gun - fire_sound = 'sound/weapons/gunshot.ogg' - e_cost = 100 - /obj/item/ammo_casing/energy/ion projectile_type = /obj/item/projectile/ion select_name = "ion" diff --git a/code/modules/projectiles/guns/energy/pulse.dm b/code/modules/projectiles/guns/energy/pulse.dm index dc0e90b608e..245ca756b0f 100644 --- a/code/modules/projectiles/guns/energy/pulse.dm +++ b/code/modules/projectiles/guns/energy/pulse.dm @@ -1,58 +1,46 @@ -/obj/item/weapon/gun/energy/pulse_rifle +/obj/item/weapon/gun/energy/pulse name = "pulse rifle" desc = "A heavy-duty, multifaceted energy rifle with three modes. Preferred by front-line combat personnel." icon_state = "pulse" item_state = "pulse" - w_class = 4.0 + w_class = 4 force = 10 flags = CONDUCT slot_flags = SLOT_BACK ammo_type = list(/obj/item/ammo_casing/energy/laser/pulse, /obj/item/ammo_casing/energy/electrode, /obj/item/ammo_casing/energy/laser) - cell_type = "/obj/item/weapon/stock_parts/cell/super" + cell_type = "/obj/item/weapon/stock_parts/cell/emproof/pulse" - -/obj/item/weapon/gun/energy/pulse_rifle/attack_self(mob/living/user as mob) +/obj/item/weapon/gun/energy/pulse/attack_self(mob/living/user as mob) select_fire(user) -/obj/item/weapon/gun/energy/pulse_rifle/pulse_carbine +/obj/item/weapon/gun/energy/pulse/carbine name = "pulse carbine" - desc = "A ligther weight varient of the pulse rifle, a multifaceted energy carbine with three modes." - w_class = 3.0 + desc = "A compact variant of the pulse rifle with less firepower but easier storage." + w_class = 3 + slot_flags = null icon_state = "pulse_carbine" item_state = "pulse" - ammo_type = list(/obj/item/ammo_casing/energy/laser/pulse/carbine, /obj/item/ammo_casing/energy/electrode/carbine, /obj/item/ammo_casing/energy/laser/carbine) - cell_type = "/obj/item/weapon/stock_parts/cell" + cell_type = "/obj/item/weapon/stock_parts/cell/emproof/pulse/carbine" -/obj/item/weapon/gun/energy/pulse_rifle/pulse_carbine/loyalpin +/obj/item/weapon/gun/energy/pulse/carbine/loyalpin pin = /obj/item/device/firing_pin/implant/loyalty -/obj/item/weapon/gun/energy/pulse_rifle/pulse_pistol +/obj/item/weapon/gun/energy/pulse/pistol name = "pulse pistol" - desc = "A ligther weight varient of the pulse rifle, a multifaceted energy pistol with three modes." - w_class = 2.0 - icon_state = "pulse_pistol" - item_state = "pulse" - ammo_type = list(/obj/item/ammo_casing/energy/laser/pulse/pistol, /obj/item/ammo_casing/energy/electrode/pistol, /obj/item/ammo_casing/energy/laser/pistol) - cell_type = "/obj/item/weapon/stock_parts/cell" + desc = "A compact pulse core in a classic handgun frame for Nanotrasen officers. It's not the size of the gun, it's the size of the hole it puts through people." + w_class = 2 + icon_state = "m1911-p" + item_state = "gun" + cell_type = "/obj/item/weapon/stock_parts/cell/emproof/pulse/carbine" -/obj/item/weapon/gun/energy/pulse_rifle/pulse_pistol/loyalpin +/obj/item/weapon/gun/energy/pulse/pistol/loyalpin pin = /obj/item/device/firing_pin/implant/loyalty -/obj/item/weapon/gun/energy/pulse_rifle/destroyer +/obj/item/weapon/gun/energy/pulse/destroyer name = "pulse destroyer" desc = "A heavy-duty energy rifle built for pure destruction." cell_type = "/obj/item/weapon/stock_parts/cell/infinite" ammo_type = list(/obj/item/ammo_casing/energy/laser/pulse) -/obj/item/weapon/gun/energy/pulse_rifle/destroyer/attack_self(mob/living/user as mob) - user << "[src.name] has three settings, and they are all DESTROY." - - - -/obj/item/weapon/gun/energy/pulse_rifle/M1911 - name = "m1911-P" - desc = "A compact pulse core in a classic handgun frame for Nanotrasen officers. It's not the size of the gun, it's the size of the hole it puts through people." - icon_state = "m1911-p" - cell_type = "/obj/item/weapon/stock_parts/cell/infinite" - - +/obj/item/weapon/gun/energy/pulse/destroyer/attack_self(mob/living/user as mob) + user << "[src.name] has three settings, and they are all DESTROY." \ No newline at end of file diff --git a/code/modules/projectiles/guns/energy/stun.dm b/code/modules/projectiles/guns/energy/stun.dm index 9933294f86a..eeed10cdd90 100644 --- a/code/modules/projectiles/guns/energy/stun.dm +++ b/code/modules/projectiles/guns/energy/stun.dm @@ -6,15 +6,6 @@ item_state = null //so the human update icon uses the icon_state instead. ammo_type = list(/obj/item/ammo_casing/energy/electrode) -/obj/item/weapon/gun/energy/stunrevolver - name = "stun revolver" - desc = "A high-tech revolver that fires internal, reusable stun cartidges in a revolving cylinder. Holds twice as many electrodes as a standard taser." - icon_state = "stunrevolver" - origin_tech = "combat=3;materials=3;powerstorage=2" - ammo_type = list(/obj/item/ammo_casing/energy/electrode/gun) - can_flashlight = 0 - pin = null - /obj/item/weapon/gun/energy/gun/advtaser name = "hybrid taser" desc = "A dual-mode taser designed to fire both short-range high-power electrodes and long-range disabler beams." diff --git a/code/modules/research/designs/weapon_designs.dm b/code/modules/research/designs/weapon_designs.dm index aeac82800b8..569e5a9a18b 100644 --- a/code/modules/research/designs/weapon_designs.dm +++ b/code/modules/research/designs/weapon_designs.dm @@ -33,16 +33,6 @@ build_path = /obj/item/weapon/gun/energy/gun/nuclear category = list("Weapons") -/datum/design/stunrevolver - name = "Stun Revolver" - desc = "A high-tech revolver that fires internal, reusable stun cartridges in a revolving cylinder. The stun cartridges can be recharged using a conventional energy weapon recharger." - id = "stunrevolver" - req_tech = list("combat" = 3, "materials" = 3, "powerstorage" = 2) - build_type = PROTOLATHE - materials = list("$metal" = 4000) - build_path = /obj/item/weapon/gun/energy/stunrevolver - category = list("Weapons") - /datum/design/tele_shield name = "Telescopic Riot Shield" desc = "An advanced riot shield made of lightweight materials that collapses for easy storage." diff --git a/icons/obj/guns/energy.dmi b/icons/obj/guns/energy.dmi index c149fb50bc0733bb3000f249aeb49eeae5cd43e5..d2cef062ede9a81b944fc48646ff640395460ec3 100644 GIT binary patch literal 32414 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 Km9N_NFa8fr{&l4Q literal 33417 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 From 4256f3b8fdbb932313f185a217126cb5657fadd6 Mon Sep 17 00:00:00 2001 From: Menshin Date: Sat, 31 Jan 2015 18:48:17 +0100 Subject: [PATCH 046/122] * Made the strip_html_properly() proceed the text in one pass * Added stripping everything between http and ://, to prevent links being passed to Byond text window * Stripped an unsafe inputting for advanced diseases --- code/__HELPERS/text.dm | 71 ++++++++++++++++++------- code/datums/diseases/advance/advance.dm | 2 +- 2 files changed, 52 insertions(+), 21 deletions(-) diff --git a/code/__HELPERS/text.dm b/code/__HELPERS/text.dm index 71a290ec08f..cc1e0306ad9 100644 --- a/code/__HELPERS/text.dm +++ b/code/__HELPERS/text.dm @@ -147,32 +147,63 @@ return t_out -//this proc strips html properly, but it's not lazy like the other procs. -//this means that it doesn't just remove < and > and call it a day. seriously, who the fuck thought that would be useful. +//this proc strips html properly, this means that it removes everything between < and >, and between "http" and "://" //also limit the size of the input, if specified to /proc/strip_html_properly(var/input,var/max_length=MAX_MESSAGE_LEN) if(!input) return - var/opentag = 1 //These store the position of < and > respectively. - var/closetag = 1 - while(1) - opentag = findtext(input, "<") - closetag = findtext(input, ">") - if(closetag && opentag) - if(closetag < opentag) - input = copytext(input, (closetag + 1)) - else - input = copytext(input, 1, opentag) + copytext(input, (closetag + 1)) - else if(closetag || opentag) - if(opentag) - input = copytext(input, 1, opentag) - else - input = copytext(input, (closetag + 1)) + + var/sanitized_output + var/next_html_tag = findtext(input, "<") + var/next_http = findtext(input, "http", 1, next_html_tag) + + //the opening and closing of the expression to skip, e.g '<' and '>' + var/opening = non_zero_min(next_html_tag, next_http) + var/closing + + sanitized_output = copytext(input, 1, opening) + + while(next_html_tag || next_http) + + //we treat < ... > + if(opening == next_html_tag) + closing = findtext(input, ">", opening + 1) + if(closing) + next_html_tag = findtext(input, "<", closing) + next_http = findtext(input, "http", closing, next_html_tag) + else //no matching ">" + next_html_tag = 0 + + //we treat "http(s)://" else - break + closing = findtext(input, "://", opening + 1) + if(closing) + closing += 2 //skip these extra // + next_http = findtext(input, "http", closing) + next_html_tag = findtext(input, "<", closing, next_http) + else //no matching "://" + next_http = 0 + + //check if we've something to skip + if(closing) + opening = non_zero_min(next_html_tag, next_http) + sanitized_output += copytext(input, closing + 1, opening) + + sanitized_output += copytext(input, opening) //don't forget the remaining text + if(max_length) - input = copytext(input,1,max_length) - return input + sanitized_output = copytext(sanitized_output,1,max_length) + + return sanitized_output + +//strip_html_properly helper proc that returns the smallest non null of two numbers +//or 0 if they're both null (needed because of findtext returning 0 when a value is not present) +/proc/non_zero_min(var/a, var/b) + if(!a) + return b + if(!b) + return a + return (a < b ? a : b) /* * Text searches diff --git a/code/datums/diseases/advance/advance.dm b/code/datums/diseases/advance/advance.dm index 60f50050301..28b08852240 100644 --- a/code/datums/diseases/advance/advance.dm +++ b/code/datums/diseases/advance/advance.dm @@ -396,7 +396,7 @@ var/list/advance_cures = list( if(D.symptoms.len > 0) - var/new_name = input(user, "Name your new disease.", "New Name") + var/new_name = stripped_input(user, "Name your new disease.", "New Name") if(!new_name) return D.AssignName(new_name) From fa7ac922f963636eeb7757538763b72efc059492 Mon Sep 17 00:00:00 2001 From: Iamgoofball Date: Sat, 31 Jan 2015 10:21:44 -0800 Subject: [PATCH 047/122] changes to isliving() --- code/modules/reagents/Chemistry-Goon-Other.dm | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/code/modules/reagents/Chemistry-Goon-Other.dm b/code/modules/reagents/Chemistry-Goon-Other.dm index 4664b374960..963e85a214c 100644 --- a/code/modules/reagents/Chemistry-Goon-Other.dm +++ b/code/modules/reagents/Chemistry-Goon-Other.dm @@ -118,8 +118,8 @@ datum/reagent/colorful_reagent required_reagents = list("stable_plasma" = 1, "radium" = 1, "space_drugs" = 1, "cryoxadone" = 1, "triple_citrus" = 1) result_amount = 5 -datum/reagent/colorful_reagent/reaction_mob(var/mob/M, var/volume) - if(M && ishuman(M)) +datum/reagent/colorful_reagent/reaction_mob(var/mob/living/M, var/volume) + if(M && isliving(M)) M.color = pick(potential_colors) ..() return From 1ce5722eac780e17b781b54cd42c5267da5c7f6c Mon Sep 17 00:00:00 2001 From: paprka Date: Sat, 31 Jan 2015 23:14:12 -0800 Subject: [PATCH 048/122] map conflicts and other changes --- _maps/map_files/TgStation/tgstation.2.1.3.dmm | 56 +++--- .../objects/items/weapons/storage/firstaid.dm | 182 +++++++++--------- .../reagents/reagent_containers/blood_pack.dm | 3 + icons/obj/items.dmi | Bin 63407 -> 63441 bytes 4 files changed, 121 insertions(+), 120 deletions(-) diff --git a/_maps/map_files/TgStation/tgstation.2.1.3.dmm b/_maps/map_files/TgStation/tgstation.2.1.3.dmm index 5ae648be540..59b4b1df020 100644 --- a/_maps/map_files/TgStation/tgstation.2.1.3.dmm +++ b/_maps/map_files/TgStation/tgstation.2.1.3.dmm @@ -1023,10 +1023,10 @@ "atI" = (/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"},/obj/structure/cable{d1 = 1; d2 = 8; icon_state = "1-8"},/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden,/turf/simulated/floor/plating,/area/maintenance/fpmaint2) "atJ" = (/obj/machinery/atmospherics/pipe/simple/supply/hidden,/turf/simulated/wall,/area/maintenance/fpmaint2) "atK" = (/obj/structure/stool/bed/chair,/turf/simulated/floor/plating,/area/maintenance/fpmaint2) -"atL" = (/obj/structure/mirror{icon_state = "mirror_broke"; pixel_y = 28; shattered = 1},/turf/simulated/floor/plating,/area/maintenance/fpmaint2) +"atL" = (/obj/structure/mirror{icon_state = "mirror_broke"; pixel_y = 28; shattered = 1},/obj/machinery/iv_drip,/turf/simulated/floor/plating,/area/maintenance/fpmaint2) "atM" = (/obj/structure/computerframe,/turf/simulated/floor/plating,/area/maintenance/fpmaint2) "atN" = (/obj/structure/mirror{icon_state = "mirror_broke"; pixel_y = 28; shattered = 1},/obj/item/weapon/shard{icon_state = "medium"},/obj/item/weapon/circuitboard/operating,/turf/simulated/floor/plating,/area/maintenance/fpmaint2) -"atO" = (/obj/effect/decal/cleanable/cobweb2,/obj/structure/stool/bed/chair,/turf/simulated/floor/plating,/area/maintenance/fpmaint2) +"atO" = (/obj/effect/decal/cleanable/cobweb2,/obj/structure/stool/bed/chair,/obj/item/weapon/reagent_containers/blood/random,/turf/simulated/floor/plating,/area/maintenance/fpmaint2) "atP" = (/obj/item/weapon/airlock_painter,/obj/structure/lattice,/obj/structure/closet,/turf/space,/area/space) "atQ" = (/obj/machinery/meter,/obj/machinery/atmospherics/pipe/manifold/supplymain/hidden{tag = "icon-manifold (WEST)"; icon_state = "manifold"; dir = 8},/turf/simulated/floor/plating,/area/maintenance/fpmaint2) "atR" = (/obj/machinery/atmospherics/unary/tank/air{dir = 8},/turf/simulated/floor/plating,/area/maintenance/fpmaint2) @@ -1201,9 +1201,9 @@ "axe" = (/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"; pixel_y = 0},/turf/simulated/floor/plasteel{icon_state = "warningcorner"; dir = 1},/area/hallway/secondary/entry) "axf" = (/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"; pixel_y = 0},/turf/simulated/floor/plasteel,/area/hallway/secondary/entry) "axg" = (/obj/structure/cable{d1 = 2; d2 = 8; icon_state = "2-8"},/obj/structure/extinguisher_cabinet{pixel_x = 27; pixel_y = 0},/turf/simulated/floor/plasteel{dir = 4; icon_state = "arrival"},/area/hallway/secondary/entry) -"axh" = (/obj/structure/closet/wardrobe/white,/obj/item/clothing/shoes/jackboots,/turf/simulated/floor/plating,/area/maintenance/fpmaint2) +"axh" = (/obj/structure/closet/wardrobe/white,/obj/item/clothing/shoes/jackboots,/obj/item/weapon/reagent_containers/blood/random,/turf/simulated/floor/plating,/area/maintenance/fpmaint2) "axi" = (/obj/structure/table/glass,/obj/item/weapon/hemostat,/turf/simulated/floor/plating,/area/maintenance/fpmaint2) -"axj" = (/obj/structure/table/glass,/obj/item/weapon/restraints/handcuffs/cable/zipties,/turf/simulated/floor/plating,/area/maintenance/fpmaint2) +"axj" = (/obj/structure/table/glass,/obj/item/weapon/restraints/handcuffs/cable/zipties,/obj/item/weapon/reagent_containers/blood/random,/turf/simulated/floor/plating,/area/maintenance/fpmaint2) "axk" = (/obj/structure/cable{d1 = 1; d2 = 4; icon_state = "1-4"},/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{dir = 5},/turf/simulated/floor/plating,/area/maintenance/fpmaint2) "axl" = (/obj/structure/cable{d1 = 2; d2 = 8; icon_state = "2-8"},/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{dir = 10},/turf/simulated/floor/plating,/area/maintenance/fpmaint2) "axm" = (/obj/structure/closet/firecloset,/turf/simulated/floor/plating,/area/maintenance/fpmaint2) @@ -3939,7 +3939,7 @@ "bxM" = (/obj/structure/disposalpipe/segment,/turf/simulated/floor/plasteel{icon_state = "dark"},/area/medical/sleeper) "bxN" = (/obj/structure/stool/bed/chair,/obj/machinery/alarm{frequency = 1439; pixel_y = 23},/turf/simulated/floor/plasteel{icon_state = "dark"},/area/medical/sleeper) "bxO" = (/obj/structure/stool/bed/chair,/obj/machinery/atmospherics/unary/vent_pump{on = 1},/turf/simulated/floor/plasteel{icon_state = "dark"},/area/medical/sleeper) -"bxP" = (/obj/structure/closet/wardrobe/pjs,/obj/machinery/alarm{dir = 4; icon_state = "alarm0"; pixel_x = -22},/obj/machinery/camera{c_tag = "Medbay Treatment Center"; dir = 4; network = list("SS13"); pixel_x = 0; pixel_y = 0},/turf/simulated/floor/plasteel{icon_state = "white"},/area/medical/sleeper) +"bxP" = (/obj/machinery/alarm{dir = 4; icon_state = "alarm0"; pixel_x = -22},/obj/machinery/camera{c_tag = "Medbay Treatment Center"; dir = 4; network = list("SS13"); pixel_x = 0; pixel_y = 0},/obj/machinery/iv_drip,/turf/simulated/floor/plasteel{icon_state = "white"},/area/medical/sleeper) "bxQ" = (/obj/machinery/atmospherics/pipe/manifold/supply/hidden{tag = "icon-manifold-b-f (WEST)"; dir = 8},/turf/simulated/floor/plasteel{icon_state = "white"},/area/medical/sleeper) "bxR" = (/obj/effect/landmark/start{name = "Medical Doctor"},/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden,/obj/machinery/atmospherics/pipe/simple/supply/hidden{dir = 4},/turf/simulated/floor/plasteel{icon_state = "white"},/area/medical/sleeper) "bxS" = (/obj/machinery/atmospherics/unary/vent_pump{dir = 8; on = 1},/turf/simulated/floor/plasteel{icon_state = "white"},/area/medical/sleeper) @@ -4003,7 +4003,7 @@ "byY" = (/obj/structure/stool/bed/chair,/turf/simulated/floor/plasteel{icon_state = "dark"},/area/medical/sleeper) "byZ" = (/obj/machinery/hologram/holopad,/obj/structure/disposalpipe/segment,/turf/simulated/floor/plasteel{icon_state = "dark"},/area/medical/sleeper) "bza" = (/obj/structure/stool/bed/chair,/obj/machinery/atmospherics/pipe/simple/supply/hidden,/turf/simulated/floor/plasteel{icon_state = "dark"},/area/medical/sleeper) -"bzb" = (/obj/structure/closet/secure_closet/medical1,/turf/simulated/floor/plasteel{icon_state = "white"},/area/medical/sleeper) +"bzb" = (/obj/machinery/iv_drip,/turf/simulated/floor/plasteel{icon_state = "white"},/area/medical/sleeper) "bzc" = (/obj/machinery/light,/obj/machinery/sleeper{icon_state = "sleeper-open"; dir = 8},/turf/simulated/floor/plasteel,/area/medical/sleeper) "bzd" = (/obj/machinery/portable_atmospherics/canister/oxygen,/turf/simulated/floor/plasteel,/area/medical/sleeper) "bze" = (/obj/structure/table/reinforced,/obj/item/weapon/wrench{pixel_x = 5; pixel_y = -5},/turf/simulated/floor/plasteel,/area/medical/sleeper) @@ -4131,7 +4131,7 @@ "bBw" = (/obj/structure/closet/secure_closet/medical3,/obj/machinery/alarm{pixel_y = 24},/turf/simulated/floor/plasteel{icon_state = "white"},/area/medical/sleeper) "bBx" = (/obj/structure/closet/secure_closet/medical3,/obj/machinery/camera{c_tag = "Medbay Storage"; dir = 2; network = list("SS13")},/turf/simulated/floor/plasteel{icon_state = "white"},/area/medical/sleeper) "bBy" = (/obj/structure/table,/obj/item/weapon/storage/box/bodybags{pixel_x = 3; pixel_y = 3},/obj/item/weapon/storage/box/rxglasses,/turf/simulated/floor/plasteel{icon_state = "white"},/area/medical/sleeper) -"bBz" = (/obj/structure/table,/obj/item/weapon/storage/box/beakers{pixel_x = 2; pixel_y = 2},/obj/item/weapon/storage/box/syringes,/turf/simulated/floor/plasteel{icon_state = "white"},/area/medical/sleeper) +"bBz" = (/obj/structure/disposalpipe/trunk,/obj/machinery/disposal,/turf/simulated/floor/plasteel{icon_state = "white"},/area/medical/sleeper) "bBA" = (/obj/structure/grille,/obj/structure/window/reinforced/fulltile,/turf/simulated/floor/plating,/area/medical/sleeper) "bBB" = (/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden,/turf/simulated/floor/plasteel{dir = 8; icon_state = "whitebluecorner"},/area/medical/medbay) "bBC" = (/obj/machinery/atmospherics/pipe/simple/supply/hidden{dir = 5},/turf/simulated/floor/plasteel{icon_state = "white"},/area/medical/medbay) @@ -4195,7 +4195,7 @@ "bCI" = (/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{dir = 4},/turf/simulated/floor/plasteel{icon_state = "white"},/area/medical/sleeper) "bCJ" = (/obj/machinery/atmospherics/pipe/simple/supply/hidden,/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{dir = 4},/turf/simulated/floor/plasteel{icon_state = "white"},/area/medical/sleeper) "bCK" = (/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{dir = 10},/turf/simulated/floor/plasteel{icon_state = "white"},/area/medical/sleeper) -"bCL" = (/obj/structure/disposalpipe/segment{dir = 4; icon_state = "pipe-c"},/turf/simulated/floor/plasteel{icon_state = "white"},/area/medical/sleeper) +"bCL" = (/obj/structure/disposalpipe/segment{dir = 1; icon_state = "pipe-c"},/turf/simulated/floor/plasteel{icon_state = "white"},/area/medical/sleeper) "bCM" = (/obj/machinery/door/airlock/glass_medical{id_tag = null; name = "Medbay Storage"; req_access_txt = "45"},/obj/structure/disposalpipe/segment{dir = 4},/turf/simulated/floor/plasteel{icon_state = "white"},/area/medical/sleeper) "bCN" = (/obj/structure/disposalpipe/segment{dir = 4},/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{dir = 5},/turf/simulated/floor/plasteel{dir = 8; icon_state = "whiteblue"},/area/medical/medbay) "bCO" = (/obj/structure/disposalpipe/segment{dir = 4},/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{dir = 4},/turf/simulated/floor/plasteel{icon_state = "white"},/area/medical/medbay) @@ -4272,7 +4272,7 @@ "bEh" = (/obj/structure/table,/obj/item/weapon/storage/belt/medical{pixel_x = 0; pixel_y = 2},/obj/item/weapon/storage/belt/medical{pixel_x = 0; pixel_y = 2},/obj/item/weapon/storage/belt/medical{pixel_x = 0; pixel_y = 2},/obj/item/clothing/tie/stethoscope,/turf/simulated/floor/plasteel{icon_state = "white"},/area/medical/sleeper) "bEi" = (/obj/machinery/atmospherics/unary/vent_pump{dir = 1; external_pressure_bound = 101.325; on = 1; pressure_checks = 1},/turf/simulated/floor/plasteel{icon_state = "white"},/area/medical/sleeper) "bEj" = (/obj/machinery/atmospherics/unary/vent_scrubber{dir = 1; on = 1; scrub_N2O = 0; scrub_Toxins = 0},/turf/simulated/floor/plasteel{icon_state = "white"},/area/medical/sleeper) -"bEk" = (/obj/structure/disposalpipe/segment,/obj/structure/sink{dir = 4; icon_state = "sink"; pixel_x = 11; pixel_y = 0},/turf/simulated/floor/plasteel{icon_state = "white"},/area/medical/sleeper) +"bEk" = (/obj/structure/sink{dir = 4; icon_state = "sink"; pixel_x = 11; pixel_y = 0},/turf/simulated/floor/plasteel{icon_state = "white"},/area/medical/sleeper) "bEl" = (/obj/item/device/radio/intercom{broadcasting = 0; freerange = 0; frequency = 1485; listening = 1; name = "Station Intercom (Medbay)"; pixel_x = -30; pixel_y = 0},/obj/machinery/camera{c_tag = "Medbay South"; dir = 4; network = list("SS13")},/obj/machinery/atmospherics/pipe/manifold/scrubbers/hidden{tag = "icon-manifold-r-f (WEST)"; dir = 8},/turf/simulated/floor/plasteel{icon_state = "white"},/area/medical/medbay) "bEm" = (/obj/structure/disposalpipe/segment,/obj/machinery/atmospherics/pipe/simple/supply/hidden,/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{dir = 4},/turf/simulated/floor/plasteel{icon_state = "white"},/area/medical/medbay) "bEn" = (/obj/structure/grille,/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{dir = 4},/obj/structure/window/reinforced/fulltile,/turf/simulated/floor/plating,/area/medical/cmo) @@ -4340,9 +4340,9 @@ "bFx" = (/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{dir = 4},/obj/machinery/atmospherics/pipe/simple/supply/hidden,/turf/simulated/floor/plasteel{dir = 8; icon_state = "whitehall"},/area/medical/sleeper) "bFy" = (/obj/structure/stool/bed,/obj/item/weapon/bedsheet/medical,/obj/structure/sign/nosmoking_2{pixel_x = -28},/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{dir = 4},/turf/simulated/floor/plasteel{dir = 1; icon_state = "whitebluecorner"},/area/medical/sleeper) "bFz" = (/obj/structure/table/glass,/obj/machinery/camera{c_tag = "Medbay Cryogenics"; dir = 2; network = list("SS13"); pixel_x = 0; pixel_y = 0},/obj/item/weapon/reagent_containers/glass/beaker/cryoxadone{pixel_x = 0; pixel_y = 0},/obj/item/weapon/reagent_containers/glass/beaker/cryoxadone{pixel_x = 0; pixel_y = 0},/turf/simulated/floor/plasteel,/area/medical/sleeper) -"bFA" = (/obj/structure/table,/obj/item/weapon/folder/white,/obj/item/weapon/folder/white,/obj/item/weapon/hand_labeler,/obj/item/weapon/gun/syringe,/turf/simulated/floor/plasteel{icon_state = "white"},/area/medical/sleeper) +"bFA" = (/obj/machinery/vending/wallmed{pixel_x = 28; pixel_y = 0},/obj/machinery/camera{c_tag = "Medbay Recovery Room"; dir = 8; network = list("SS13")},/obj/machinery/atmospherics/pipe/manifold/scrubbers/hidden{tag = "icon-manifold-r-f (EAST)"; dir = 4},/obj/structure/closet/wardrobe/pjs,/turf/simulated/floor/plasteel{icon_state = "white"},/area/medical/sleeper) "bFB" = (/obj/structure/grille,/obj/machinery/door/poddoor/preopen{id = "telelab"; name = "test chamber blast door"},/obj/structure/window/reinforced/fulltile,/obj/machinery/door/firedoor/heavy,/turf/simulated/floor/engine,/area/toxins/explab) -"bFC" = (/obj/structure/disposalpipe/segment,/turf/simulated/floor/plasteel{icon_state = "white"},/area/medical/sleeper) +"bFC" = (/obj/structure/table,/obj/item/weapon/hand_labeler,/obj/item/weapon/gun/syringe,/turf/simulated/floor/plasteel{icon_state = "white"},/area/medical/sleeper) "bFD" = (/obj/structure/flora/tree/festivus,/turf/simulated/floor/plasteel{icon_state = "warnwhite"; dir = 5},/area/crew_quarters/hor) "bFE" = (/obj/structure/stool/bed/chair/office/light{dir = 8},/obj/machinery/atmospherics/unary/vent_pump{dir = 4; on = 1},/turf/simulated/floor/plasteel{icon_state = "white"},/area/medical/medbay) "bFF" = (/obj/structure/closet/secure_closet/personal/patient,/obj/machinery/door_control{id = "medpriv4"; name = "Privacy Shutters"; pixel_y = 25},/obj/machinery/atmospherics/pipe/simple/supply/hidden{dir = 4},/turf/simulated/floor/plasteel{icon_state = "white"},/area/medical/medbay) @@ -4405,16 +4405,16 @@ "bGK" = (/obj/machinery/alarm{dir = 1; icon_state = "alarm0"; pixel_y = -22},/turf/simulated/floor/plasteel{icon_state = "whitehall"; dir = 1},/area/medical/sleeper) "bGL" = (/obj/machinery/camera{c_tag = "Telescience Test Chamber"; dir = 1; network = list("SS13","RD")},/obj/machinery/light,/obj/structure/sign/nosmoking_2{pixel_y = -32},/turf/simulated/floor/engine,/area/toxins/explab) "bGM" = (/obj/machinery/firealarm{dir = 1; pixel_y = -24},/turf/simulated/floor/plasteel{icon_state = "whitehall"; dir = 1},/area/medical/sleeper) -"bGN" = (/obj/structure/closet/crate/freezer,/obj/machinery/atmospherics/unary/vent_pump{dir = 1; external_pressure_bound = 101.325; on = 1; pressure_checks = 1},/turf/simulated/floor/plasteel,/area/medical/sleeper) +"bGN" = (/obj/structure/table,/obj/item/weapon/reagent_containers/glass/bottle/epinephrine{pixel_x = 7; pixel_y = -3},/obj/item/weapon/reagent_containers/glass/bottle/morphine,/obj/item/weapon/reagent_containers/syringe,/turf/simulated/floor/plasteel{icon_state = "white"},/area/medical/sleeper) "bGO" = (/obj/structure/stool/bed,/obj/item/weapon/bedsheet/medical,/obj/machinery/atmospherics/unary/vent_pump{dir = 4; on = 1},/turf/simulated/floor/plasteel{icon_state = "white"},/area/medical/sleeper) "bGP" = (/obj/machinery/light/small,/obj/machinery/atmospherics/pipe/simple/supply/hidden{dir = 9},/turf/simulated/floor/plasteel{icon_state = "white"},/area/medical/sleeper) -"bGQ" = (/obj/structure/stool/bed,/obj/item/weapon/bedsheet/medical,/obj/machinery/atmospherics/unary/vent_scrubber{dir = 1; on = 1; scrub_N2O = 0; scrub_Toxins = 0},/turf/simulated/floor/plasteel{icon_state = "white"},/area/medical/sleeper) +"bGQ" = (/obj/structure/closet/crate/freezer,/obj/machinery/atmospherics/unary/vent_pump{dir = 1; external_pressure_bound = 101.325; on = 1; pressure_checks = 1},/obj/item/weapon/reagent_containers/blood/empty,/obj/item/weapon/reagent_containers/blood/empty{pixel_x = -3; pixel_y = -3},/obj/item/weapon/reagent_containers/blood/AMinus,/obj/item/weapon/reagent_containers/blood/BMinus{pixel_x = -4; pixel_y = 4},/obj/item/weapon/reagent_containers/blood/BPlus{pixel_x = 1; pixel_y = 2},/obj/item/weapon/reagent_containers/blood/OMinus,/obj/item/weapon/reagent_containers/blood/OPlus{pixel_x = -2; pixel_y = -1},/obj/item/weapon/reagent_containers/blood/random,/obj/item/weapon/reagent_containers/blood/random,/obj/item/weapon/reagent_containers/blood/random,/turf/simulated/floor/plasteel,/area/medical/sleeper) "bGR" = (/obj/structure/table,/obj/machinery/light,/obj/item/weapon/reagent_containers/spray/cleaner,/obj/item/clothing/glasses/hud/health,/obj/item/clothing/glasses/hud/health,/obj/item/clothing/glasses/hud/health,/turf/simulated/floor/plasteel{icon_state = "white"},/area/medical/sleeper) -"bGS" = (/obj/structure/table,/obj/item/weapon/storage/belt/medical,/obj/item/weapon/reagent_containers/glass/beaker/large/charcoal,/obj/item/weapon/reagent_containers/glass/beaker/large/epinephrine,/obj/item/weapon/reagent_containers/glass/beaker/large/styptic,/obj/item/weapon/reagent_containers/glass/beaker/large/silver_sulfadiazine,/turf/simulated/floor/plasteel{icon_state = "white"},/area/medical/sleeper) -"bGT" = (/obj/structure/table,/obj/machinery/requests_console{announcementConsole = 0; department = "Medbay"; departmentType = 1; name = "Medbay RC"; pixel_x = 0; pixel_y = -30; pixel_z = 0},/obj/item/weapon/storage/firstaid/regular{pixel_x = 2; pixel_y = 6},/obj/item/weapon/storage/firstaid/regular{pixel_x = 2; pixel_y = 6},/obj/item/weapon/storage/firstaid/regular{pixel_x = 2; pixel_y = 6},/obj/item/weapon/storage/firstaid/fire{pixel_x = -2; pixel_y = 4},/obj/item/weapon/storage/firstaid/fire{pixel_x = -2; pixel_y = 4},/turf/simulated/floor/plasteel{icon_state = "white"},/area/medical/sleeper) -"bGU" = (/obj/structure/table,/obj/item/device/radio/intercom{broadcasting = 0; freerange = 0; frequency = 1485; listening = 1; name = "Station Intercom (Medbay)"; pixel_x = 0; pixel_y = -30},/obj/item/weapon/storage/firstaid/toxin{pixel_x = 2; pixel_y = 6},/obj/item/weapon/storage/firstaid/toxin{pixel_x = 2; pixel_y = 6},/obj/item/weapon/storage/firstaid/toxin{pixel_x = 2; pixel_y = 6},/obj/item/weapon/storage/firstaid/o2{pixel_x = -2; pixel_y = 4},/turf/simulated/floor/plasteel{icon_state = "white"},/area/medical/sleeper) -"bGV" = (/obj/structure/table,/obj/item/weapon/storage/firstaid/regular{pixel_x = 2; pixel_y = 6},/obj/item/weapon/storage/firstaid/regular{pixel_x = 2; pixel_y = 6},/obj/item/weapon/storage/firstaid/regular{pixel_x = 2; pixel_y = 6},/obj/item/weapon/storage/firstaid/brute{pixel_x = -2; pixel_y = 4},/obj/item/weapon/storage/firstaid/brute{pixel_x = -2; pixel_y = 4},/turf/simulated/floor/plasteel{icon_state = "white"},/area/medical/sleeper) -"bGW" = (/obj/machinery/disposal,/obj/structure/disposalpipe/trunk{dir = 1},/obj/machinery/light,/turf/simulated/floor/plasteel{icon_state = "white"},/area/medical/sleeper) +"bGS" = (/obj/machinery/atmospherics/unary/vent_scrubber{dir = 1; on = 1; scrub_N2O = 0; scrub_Toxins = 0},/obj/structure/closet/secure_closet/medical1,/turf/simulated/floor/plasteel{icon_state = "white"},/area/medical/sleeper) +"bGT" = (/obj/structure/table,/obj/item/weapon/storage/firstaid/regular{pixel_x = 3; pixel_y = -3},/obj/item/weapon/storage/firstaid/o2{pixel_x = 3; pixel_y = 3},/obj/item/weapon/storage/firstaid/o2,/obj/item/weapon/storage/firstaid/o2{pixel_x = -3; pixel_y = -3},/turf/simulated/floor/plasteel{icon_state = "white"},/area/medical/sleeper) +"bGU" = (/obj/structure/table,/obj/machinery/requests_console{announcementConsole = 0; department = "Medbay"; departmentType = 1; name = "Medbay RC"; pixel_x = 0; pixel_y = -30; pixel_z = 0},/obj/item/weapon/storage/firstaid/regular{pixel_x = 3; pixel_y = -3},/obj/item/weapon/storage/firstaid/fire{pixel_x = 3; pixel_y = 3},/obj/item/weapon/storage/firstaid/fire,/obj/item/weapon/storage/firstaid/fire{pixel_x = -3; pixel_y = -3},/turf/simulated/floor/plasteel{icon_state = "white"},/area/medical/sleeper) +"bGV" = (/obj/structure/table,/obj/item/device/radio/intercom{broadcasting = 0; freerange = 0; frequency = 1485; listening = 1; name = "Station Intercom (Medbay)"; pixel_x = 0; pixel_y = -30},/obj/item/weapon/storage/firstaid/regular{pixel_x = 3; pixel_y = -3},/obj/item/weapon/storage/firstaid/toxin{pixel_x = 3; pixel_y = 3},/obj/item/weapon/storage/firstaid/toxin,/obj/item/weapon/storage/firstaid/toxin{pixel_x = -3; pixel_y = -3},/turf/simulated/floor/plasteel{icon_state = "white"},/area/medical/sleeper) +"bGW" = (/obj/machinery/light,/obj/structure/table,/obj/item/weapon/storage/box/beakers{pixel_x = 2; pixel_y = 2},/obj/item/weapon/storage/box/syringes,/turf/simulated/floor/plasteel{icon_state = "white"},/area/medical/sleeper) "bGX" = (/obj/structure/stool/bed,/obj/item/weapon/bedsheet/medical,/turf/simulated/floor/plasteel{icon_state = "white"},/area/medical/medbay) "bGY" = (/obj/machinery/atmospherics/unary/vent_scrubber{dir = 4; on = 1; scrub_N2O = 0; scrub_Toxins = 0},/turf/simulated/floor/plasteel{icon_state = "white"},/area/medical/medbay) "bGZ" = (/obj/machinery/door/airlock/medical{name = "Patient Room"; req_access_txt = "5"},/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{dir = 4},/turf/simulated/floor/plasteel{icon_state = "white"},/area/medical/medbay) @@ -4480,7 +4480,7 @@ "bIh" = (/obj/effect/landmark{name = "blobstart"},/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{dir = 4},/turf/simulated/floor/plating,/area/maintenance/asmaint) "bIi" = (/obj/structure/disposalpipe/segment,/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{dir = 4},/turf/simulated/floor/plating,/area/maintenance/asmaint) "bIj" = (/obj/structure/disposalpipe/segment,/obj/machinery/atmospherics/pipe/manifold/scrubbers/hidden{tag = "icon-manifold-r-f (NORTH)"; dir = 1},/turf/simulated/floor/plating,/area/maintenance/asmaint) -"bIk" = (/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{dir = 10},/turf/simulated/wall,/area/medical/sleeper) +"bIk" = (/obj/structure/table,/obj/item/weapon/storage/firstaid/regular{pixel_x = 3; pixel_y = -3},/obj/item/weapon/storage/firstaid/brute{pixel_x = 3; pixel_y = 3},/obj/item/weapon/storage/firstaid/brute,/obj/item/weapon/storage/firstaid/brute{pixel_x = -3; pixel_y = -3},/turf/simulated/floor/plasteel{icon_state = "white"},/area/medical/sleeper) "bIl" = (/obj/machinery/light{icon_state = "tube1"; dir = 8},/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden,/turf/simulated/floor/plasteel{icon_state = "white"},/area/medical/medbay) "bIm" = (/obj/structure/disposalpipe/segment,/obj/machinery/atmospherics/pipe/simple/supply/hidden,/turf/simulated/floor/plasteel{icon_state = "white"},/area/medical/medbay) "bIn" = (/obj/structure/cable{icon_state = "0-2"; d2 = 2},/obj/machinery/shieldwallgen{req_access = list(55)},/turf/simulated/floor/plating,/area/toxins/xenobiology) @@ -4717,7 +4717,7 @@ "bMK" = (/obj/structure/grille,/turf/simulated/wall/r_wall,/area/atmos) "bML" = (/obj/structure/lattice,/obj/machinery/atmospherics/pipe/simple/yellow/visible,/turf/space,/area/space) "bMM" = (/obj/machinery/atmospherics/pipe/manifold/scrubbers/hidden{tag = "icon-manifold-r-f (WEST)"; dir = 8},/turf/simulated/wall/r_wall,/area/medical/virology) -"bMN" = (/obj/machinery/atmospherics/unary/vent_scrubber{dir = 8; on = 1; scrub_N2O = 0; scrub_Toxins = 0},/turf/simulated/floor/plasteel{icon_state = "white"},/area/medical/virology) +"bMN" = (/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{dir = 4},/turf/simulated/wall/r_wall,/area/medical/sleeper) "bMO" = (/obj/item/weapon/storage/secure/safe{pixel_x = 5; pixel_y = 29},/obj/machinery/camera{c_tag = "Virology Break Room"},/turf/simulated/floor/plasteel{icon_state = "white"},/area/medical/virology) "bMP" = (/obj/machinery/light{dir = 1},/obj/machinery/alarm{frequency = 1439; pixel_y = 23},/turf/simulated/floor/plasteel{icon_state = "white"},/area/medical/virology) "bMQ" = (/obj/item/weapon/bedsheet,/obj/structure/stool/bed,/turf/simulated/floor/plasteel{icon_state = "white"},/area/medical/virology) @@ -4795,7 +4795,7 @@ "bOk" = (/obj/structure/table,/obj/item/weapon/storage/box/beakers{pixel_x = 2; pixel_y = 2},/obj/item/weapon/storage/box/syringes,/turf/simulated/floor/plasteel{icon_state = "white"},/area/toxins/xenobiology) "bOl" = (/obj/structure/reagent_dispensers/watertank,/turf/simulated/floor/plasteel{icon_state = "white"},/area/toxins/xenobiology) "bOm" = (/obj/structure/grille,/obj/structure/window/fulltile,/turf/simulated/floor/plating,/area/toxins/misc_lab) -"bOn" = (/obj/structure/stool/bed,/obj/item/weapon/bedsheet/medical,/obj/machinery/vending/wallmed{pixel_x = 28; pixel_y = 0},/obj/machinery/camera{c_tag = "Medbay Recovery Room"; dir = 8; network = list("SS13")},/obj/machinery/atmospherics/pipe/manifold/scrubbers/hidden{tag = "icon-manifold-r-f (EAST)"; dir = 4},/turf/simulated/floor/plasteel{icon_state = "white"},/area/medical/sleeper) +"bOn" = (/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{dir = 10},/turf/simulated/wall/r_wall,/area/medical/sleeper) "bOo" = (/obj/structure/grille,/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden,/obj/structure/window/fulltile,/turf/simulated/floor/plating,/area/toxins/misc_lab) "bOp" = (/turf/simulated/wall,/area/toxins/misc_lab) "bOq" = (/obj/effect/spawner/lootdrop/maintenance,/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden,/turf/simulated/floor/plating,/area/maintenance/asmaint2) @@ -4810,7 +4810,7 @@ "bOz" = (/obj/machinery/door/airlock/engineering{name = "Construction Area"; req_access_txt = "32"},/turf/simulated/floor/plating,/area/construction) "bOA" = (/turf/simulated/floor/plasteel,/area/hallway/primary/aft) "bOB" = (/turf/simulated/floor/plasteel{icon_state = "caution"; dir = 5},/area/hallway/primary/aft) -"bOC" = (/obj/structure/table,/obj/item/weapon/reagent_containers/glass/bottle/epinephrine{pixel_x = 7; pixel_y = -3},/obj/item/weapon/reagent_containers/glass/bottle/morphine,/obj/item/weapon/reagent_containers/glass/bottle/toxin{pixel_x = 4; pixel_y = 2},/obj/item/weapon/reagent_containers/syringe,/turf/simulated/floor/plasteel{icon_state = "white"},/area/medical/sleeper) +"bOC" = (/turf/simulated/wall/r_wall,/area/medical/medbay) "bOD" = (/obj/structure/dispenser{pixel_x = -1},/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden,/turf/simulated/floor/plasteel,/area/atmos) "bOE" = (/obj/machinery/atmospherics/pipe/simple/supply/hidden{dir = 6},/turf/simulated/floor/plasteel,/area/atmos) "bOF" = (/obj/machinery/atmospherics/pipe/simple/supply/hidden{dir = 4},/turf/simulated/floor/plasteel,/area/atmos) @@ -6263,6 +6263,7 @@ "cqw" = (/obj/machinery/door/airlock/hatch{name = "Teleporter Room"; req_access_txt = "17;65"},/turf/simulated/floor/plasteel{icon_state = "dark"},/area/aisat) "cqx" = (/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden,/turf/simulated/wall/r_wall,/area/tcommsat/computer) "cqy" = (/obj/machinery/light{dir = 1},/obj/machinery/atmospherics/unary/vent_scrubber{dir = 8; on = 1; scrub_N2O = 0; scrub_Toxins = 0},/turf/simulated/floor/plasteel,/area/tcommsat/computer) +"cqz" = (/obj/structure/closet/crate/freezer,/obj/item/weapon/reagent_containers/blood/empty,/obj/item/weapon/reagent_containers/blood/empty{pixel_x = -3; pixel_y = -3},/obj/item/weapon/reagent_containers/blood/AMinus,/obj/item/weapon/reagent_containers/blood/BMinus{pixel_x = -4; pixel_y = 4},/obj/item/weapon/reagent_containers/blood/BPlus{pixel_x = 1; pixel_y = 2},/obj/item/weapon/reagent_containers/blood/OMinus,/obj/item/weapon/reagent_containers/blood/OPlus{pixel_x = -2; pixel_y = -1},/obj/item/weapon/reagent_containers/blood/random,/obj/item/weapon/reagent_containers/blood/random,/obj/item/weapon/reagent_containers/blood/random,/obj/machinery/atmospherics/unary/vent_scrubber{dir = 8; on = 1; scrub_N2O = 0; scrub_Toxins = 0},/turf/simulated/floor/plasteel{icon_state = "white"},/area/medical/virology) "cqA" = (/obj/machinery/camera/emp_proof{c_tag = "Singularity West"; dir = 1; network = list("Singularity")},/turf/simulated/floor/plating/airless,/area/engine/engineering) "cqB" = (/obj/machinery/camera/emp_proof{c_tag = "Singularity East"; dir = 1; network = list("Singularity")},/turf/simulated/floor/plating/airless,/area/engine/engineering) "cqC" = (/obj/item/device/radio/intercom{dir = 8; freerange = 1; name = "Station Intercom (Telecoms)"; pixel_x = 0; pixel_y = 26},/obj/machinery/atmospherics/pipe/manifold/scrubbers/hidden{tag = "icon-manifold-r-f (WEST)"; dir = 8},/turf/simulated/floor/plasteel,/area/tcommsat/computer) @@ -6305,6 +6306,7 @@ "crn" = (/obj/machinery/door_control{id = "teledoor"; name = "AI Satellite Teleport Shutters Control"; pixel_x = 25; pixel_y = 0; req_access_txt = "17;65"},/obj/machinery/atmospherics/unary/vent_scrubber{dir = 2; on = 1},/turf/simulated/floor/plasteel{icon_state = "dark"},/area/aisat) "cro" = (/obj/structure/window/reinforced{dir = 1},/obj/structure/window/reinforced,/obj/machinery/atmospherics/pipe/simple/supply/hidden{dir = 4},/turf/simulated/floor/plating,/area/aisat) "crp" = (/obj/machinery/door/airlock/maintenance_hatch{req_access_txt = "65"},/obj/machinery/atmospherics/pipe/simple/supply/hidden{dir = 4},/turf/simulated/floor/plasteel{icon_state = "dark"},/area/turret_protected/aisat_interior) +"crq" = (/obj/machinery/iv_drip,/turf/simulated/floor/plasteel{icon_state = "white"},/area/medical/virology) "crs" = (/obj/structure/cable{d1 = 1; d2 = 4; icon_state = "1-4"},/turf/simulated/floor/plasteel{icon_state = "dark"},/area/turret_protected/aisat_interior) "cru" = (/obj/machinery/atmospherics/pipe/simple/supply/hidden,/turf/simulated/wall/r_wall,/area/aisat) "crv" = (/obj/machinery/door/poddoor/shutters{id = "teledoor"; name = "AI Satellite Teleport Access"},/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden,/turf/simulated/floor/plasteel{icon_state = "dark"},/area/aisat) @@ -6618,14 +6620,14 @@ aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabwibwibwkbwkbwkbwkbwibwibAXbAYbAZbBabuQbuQbuQbuQbuQbuQbBbbBcaIcaIcaIcaIcbBdbBdbBdbBdbBdbBdbBdbBdbBdbBdbBebBfbBgbBhbBhbBhbBhbBhbBibBhbBhbBjbBhbyebBkbyeaIdaJlbBlbtXbBmbBnbBobBpbBqbtXbBrbxQbBsbBtbBubBvbBwbBxbBybBzbBAbBBbBCbBDbBDbBEbBFbBGbBHbBIbBJbBKbBLbAwbzibgibBMbBMbBMbBMbBMbBMbBMbBMbBMbBNbBNbBNbBNbBNbBNbBObBPbBQbuybuybuybuybuybuybuybxhbrVbrVbrVbrVbrVbrVbrVbrVbtnbgxbBRbBSbjobjoaafaafaafaagaagaagaagaagaagaagaagaafaafaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaafaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabBTaaaaaaaaaaafaaaaaabwlbBUbBVbBWbBXbBYbBZbCabCbbCcbCdbCebCfaaaaaaaafaaabBdbCgbChbCibCjbCkbClbCmbCnbCobCpbCqbCrbBhbCsbCtbCubCvbCwbCvbCvbCxbCybCzbCAbyebyebyebyebtXbCBbCCbCDbCCbCEbtXbCFbvpbCGbCHbCIbCJbCIbCIbCKbCLbCMbCNbCObCObCObCPbCQbvlbCRbCSbCTbCUbCVbAwbzibgibBMbCWbCWbCWbCXbCWbCWbCWbBMbCYbCYbCZbCYbCYbBNbDabDbbqibDcbDdbDebDfbDgbDhbJqbDjbDkbDlbDmbDnbDobDpbDqbDqbDrbDsbDdbDdbjoaafaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaafaafaafaafaafaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaajxaekaeZaekaelaaaaafaaabwlbwlbDtbxrbDubDvbDwbDxbDybDybDzbDAbDBbDCaafbDDbDEbDFbDGbDHbDIbDJbDIbDKbDIbDIbDIbBdbDLbDMbDNbBhbDObDPbDQbDRbDSbCvbDTbBjbBhbDUbDVbDWbDXbDYbDZbEabEbbCCbEcbCCbxQbEdbEebEfbEgbtXbEhbEibCCbCCbEjbEkbmSbmSbmSbmSbmSbElbEmbpGbEnbEobEpbBKbEqbAwbzibgibBMbCWbCWbCWbCWbCWbCWbCWbBMbErbEsbEtbEubEvbBNbEwbExbEybEzbEAbEBbECbEDbEDbEDbEDbEEbEFbEGbDnbjobEHbEIbEJbEJbEKbELbEMaafaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaafaafbENbEObENaafaafaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa -aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaajZbEPbEQbEPajZbERbERbERbwlbESbxrbETbEUbEVbEWbwlbBcbEXbBcbBcbEYbEZaaabFabFbbFcbFdbDIbDIbFebDIbFfbFgbFhbDIbBdbDLbFibFjbBhbFkbFlbFmbFnbFobCvbFpbBjbzibFqbFrbFsbFrbFtbFubtXbFvbCIbFwbCIbFxbtSbFybCJbOnbtXbFAbCCbCCbCCbOCbFCbmSbPIbFEbFFbFGbBEbFHbvlbFIbBKbBKbFJbFKbFLbFMbFNbBMbCWbCWbCWbCWbCWbCWbCWbBMbFObFPbFQbFRbFSbFTbFUbFVbtbbFWbFXbEDbFYbEDbEDbEDbEDbEDbEDbEDbDnbFZbGabGbbGcbGdbGebGfbEMaafaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaafaafbEObENbGgbENbEOaafaafaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa -aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaeZalQaHnalQaeZbERbGhbGibwlbGjbxrbGkbxrbxrbEWbwlbGlbGmbGnbBcbEYbEZaafbFabGobGpbGqbGrbGsbGrbGrbGtbGubGrbGrbGvbGwbGxbGybBhbGzbBhbBhbBhbBhbGAbGBbGCbGDbGEbGFbGGbGHbGIbGIbtXbGJbGKcltbGMbGNbtXbGObGPbGQbtXbGRbGSbGUbGTbGVbGWbmSbGXbGYbpFbGZbHabHbbHcbCRbHdbBKbBKbHebAwbzibgibBMbBMbHfbCWbCWbHgbHfbBMbBMbHhbHibHjbHkbHlbBNbHmbHnbtbbHobHpbHqbHqbHrbHsbHtbHqbHubHvbHwbHxbHybHzbHAbHBbHCbHDbHEbEMaafaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaafaafbHFbEObHGbHHbHIbEObHFaafaafaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa -aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaeaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaajZalQalQalQbHJbHKbxrbxrbHLbGjbxrbxrbxrbxrbEWbwlbHMbGnbHNbBcbEYbEZaaabFabHObHPbHQbDIbDIbHRbDIbHSbHTbHUbHVbBdbHWbHXbHYbHZbIabIbbIbbIbbIbbIbbIcbIbbIdbIebIfbIgbIhbIibIjbtSbtSbtSbtSbtSbtSbtSbtSbtSbtSbtSbtSbtSbtSbtSbtSbIkbmSbmSbmSbmSbmSbIlbImbhjbAwbAwbAwbAwbAwbAwbzibgibBMbInbIobIpbIqbIrbIsbInbItbHhbHibHjbIubIvbIwbIxbIybuwbIzbDdbIAbIAbIBbICbIDbIEbEDbEDbIFbDnbIGbIHbIIbDdbIJbIKbIKbDdaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafbEObEObILbIMbIMbIMbINbEObEOaafaafaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa +aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaajZbEPbEQbEPajZbERbERbERbwlbESbxrbETbEUbEVbEWbwlbBcbEXbBcbBcbEYbEZaaabFabFbbFcbFdbDIbDIbFebDIbFfbFgbFhbDIbBdbDLbFibFjbBhbFkbFlbFmbFnbFobCvbFpbBjbzibFqbFrbFsbFrbFtbFubtXbFvbCIbFwbCIbFxbtSbFybCJbFAbtXbFCbCCbCCbCCbCCbGNbmSbPIbFEbFFbFGbBEbFHbvlbFIbBKbBKbFJbFKbFLbFMbFNbBMbCWbCWbCWbCWbCWbCWbCWbBMbFObFPbFQbFRbFSbFTbFUbFVbtbbFWbFXbEDbFYbEDbEDbEDbEDbEDbEDbEDbDnbFZbGabGbbGcbGdbGebGfbEMaafaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaafaafbEObENbGgbENbEOaafaafaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa +aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaeZalQaHnalQaeZbERbGhbGibwlbGjbxrbGkbxrbxrbEWbwlbGlbGmbGnbBcbEYbEZaafbFabGobGpbGqbGrbGsbGrbGrbGtbGubGrbGrbGvbGwbGxbGybBhbGzbBhbBhbBhbBhbGAbGBbGCbGDbGEbGFbGGbGHbGIbGIbtXbGJbGKcltbGMbGQbtXbGObGPbGSbtXbGRbGTbGVbGUbIkbGWbmSbGXbGYbpFbGZbHabHbbHcbCRbHdbBKbBKbHebAwbzibgibBMbBMbHfbCWbCWbHgbHfbBMbBMbHhbHibHjbHkbHlbBNbHmbHnbtbbHobHpbHqbHqbHrbHsbHtbHqbHubHvbHwbHxbHybHzbHAbHBbHCbHDbHEbEMaafaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaafaafbHFbEObHGbHHbHIbEObHFaafaafaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa +aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaeaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaajZalQalQalQbHJbHKbxrbxrbHLbGjbxrbxrbxrbxrbEWbwlbHMbGnbHNbBcbEYbEZaaabFabHObHPbHQbDIbDIbHRbDIbHSbHTbHUbHVbBdbHWbHXbHYbHZbIabIbbIbbIbbIbbIbbIcbIbbIdbIebIfbIgbIhbIibIjbtSbtSbtSbtSbtSbtSbtSbtSbtSbtSbMNbMNbMNbMNbMNbMNbOnbOCbmSbmSbmSbmSbIlbImbhjbAwbAwbAwbAwbAwbAwbzibgibBMbInbIobIpbIqbIrbIsbInbItbHhbHibHjbIubIvbIwbIxbIybuwbIzbDdbIAbIAbIBbICbIDbIEbEDbEDbIFbDnbIGbIHbIIbDdbIJbIKbIKbDdaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafbEObEObILbIMbIMbIMbINbEObEOaafaafaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaeZaHnaHnaHnaeZbERbIObIPbIQbIRbxrbxrbISbITbIUbwlbBcbBcbBcbBcbEYbDCaafbIVbDEbIWbDGbIXbDIbIYbDIbDIbDIbDIbDIbBdbDLbIZbJabJbbJcbJcbJcbJcbJcbJcbJdbJebJfbJgbJhbJibJjbJkbJlbJmbJnbJmbJmbJmbJmbJmbJmbJmbJmbJmbJmbJmbJmbJmbJobJpbmSbGXcqlbBDbJrbBEbJsbJtbJubJvbJvbJwbJxbJgbJybJzbBMbJAbJBbJCbJDbJEbJFbJGbItbItbItbItbItbItbJHbJIbJJbJKbJLbDdbDnbDnbDnbDnbDnbDnbJMbEDbEDbDnbjobEHbgxbDdbJNbJObJPbJQaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabJRbJSbJRbIMbJTbIMbJUbJVbENaafaafaafaafaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaajZamIbJWbJXajZbERbERbERbwlbwlbERbERbERbwlbwlbwlaaaaaaaaabJYbJZbEZaaaaaaaafaaabBdbKabKbbKcbDIbKdbKebKfbKgbKhbKibKjbKkbKlbKmbKnbKobKpbKqbKmbKmbKmbKmbKmbKrbKsbKmbKmbKtbKmbKubKmbKmbKmbKmbKmbyebyebyebyebyebyebyebyebKvbKwbmSbKxbKybKzbKAbKBbKCbKDbKEbKFbKFbKGbKFbKFbKHbKIbBMbKJbKKbKLbKKbKMbKKbKNbKObKPbKQbKRbKSbKTbKUbyqbHnbqibKVaafbKWbKXbKYbKZbLabKZbLbbLcbLdbDnbLebtnbLfbDdbDdbDdbDdbDdaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafbEObEObLgbIMbIMbIMbLhbEObEOaafaafaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaanTaekbLiaekafOaaaaaaaaaaafaaIaafaaaaafaaIaafaaaaaaaaaaafbJYbEYbEZaafaafaafaafbBdbBdbBdbBdbBdbBdbBdbBdbBdbBdbLjbLkbLlbLmbKmbKnbKobKpbKqbLnbLnbLobLpbLqbLrbLsbLtbLubLvbLwbLxbLybLzbLAbLBbLCbLDbLDbLDbLDbLDbLDbLEbyebKvbLFbLGbLGbLGbLGbLGbLHbLIbLJbLGbLGbLGbLGbLGbLGbLFbLKbLLbLMbLNbLObLNbLPbLQbLRbLSbLSbLSbLSbLSbLSbLTbLUbLVbqibKVaafbKWbLWbLWbLXbLYbLZbMabMbbMcbDnbMdbtnbkFbjobMebMfbjoaafaafaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaeaaaaaaaaaaaaaaaaaaaaaaaaaafaafbHFbEObMgbMhbMibMjbHFaafaafaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa -aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaafaaIaafaaaaafaaIaafaaaaaaaaaaaabJYbEYbEZaaaaaaaaaaafbMkbMlbMlbMmbMnbMobMobMpbMpbMkbDLbMqbKkbMrbKmbMsbMtbMtbMubMvbLnbMwbMxbMybMzbMAbMBbMCbMDbMEbMFbMGbMFbMHbMIbMJaafbMKbMKbMKbMKbMKbMLbyebKvbMMbMNbMObMPbMQbLGbMRbMSbMTbLGbMUbMVbMWbMVbMUbLFbMXbBMbKKbKKbKKbMYbKKbKKbMZbNabNbbNbbNcbNbbNbbNdbNebNfbNgbKVaafbKWbLWbNhbKZbNibKZbNjbNkbNlbDnbsebtnbkFbjobsebsebjoaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaafaafbEObENbNmbENbMjaafaafaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa -aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaafbBcbBcbJYbJYbJYbBcbBcaaaaaaaaaaaabJYbEYbEZaaaaaaaaaaafbMkbNnbMmbMmbMmbMmbMobYnbNpbNqbNrbKjbNsbNtbNubNvbNwbNxbNybNzbNAbNwbNwbNwbNybNBbNCbNDbNEbNFbLBbNGbNHbNIbNJbNKbLDbNLbNMbNNbNObMKbMLbNPbKvbLFbNQbMUbMUbMUbLGbNRbNSbNTbLGbMVbNUbMVbNVbNWbNXbNYbBMbNZbOabObbOcbOdbOebOfbOgbOhbOibOjbOkbOlbItbOmbZlbOobOpbOpbDnbDnbDnbDnbDnbDnbDdbDdbDdbDnbsebtnbOqbsebsebOrbjoaafaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaafaafbENbEObENaafaafaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa +aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaafaaIaafaaaaafaaIaafaaaaaaaaaaaabJYbEYbEZaaaaaaaaaaafbMkbMlbMlbMmbMnbMobMobMpbMpbMkbDLbMqbKkbMrbKmbMsbMtbMtbMubMvbLnbMwbMxbMybMzbMAbMBbMCbMDbMEbMFbMGbMFbMHbMIbMJaafbMKbMKbMKbMKbMKbMLbyebKvbMMcqzbMObMPbMQbLGbMRbMSbMTbLGbMUbMVbMWbMVbMUbLFbMXbBMbKKbKKbKKbMYbKKbKKbMZbNabNbbNbbNcbNbbNbbNdbNebNfbNgbKVaafbKWbLWbNhbKZbNibKZbNjbNkbNlbDnbsebtnbkFbjobsebsebjoaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaafaafbEObENbNmbENbMjaafaafaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa +aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaafbBcbBcbJYbJYbJYbBcbBcaaaaaaaaaaaabJYbEYbEZaaaaaaaaaaafbMkbNnbMmbMmbMmbMmbMobYnbNpbNqbNrbKjbNsbNtbNubNvbNwbNxbNybNzbNAbNwbNwbNwbNybNBbNCbNDbNEbNFbLBbNGbNHbNIbNJbNKbLDbNLbNMbNNbNObMKbMLbNPbKvbLFbNQbMUbMUcrqbLGbNRbNSbNTbLGbMVbNUbMVbNVbNWbNXbNYbBMbNZbOabObbOcbOdbOebOfbOgbOhbOibOjbOkbOlbItbOmbZlbOobOpbOpbDnbDnbDnbDnbDnbDnbDdbDdbDdbDnbsebtnbOqbsebsebOrbjoaafaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaafaafbENbEObENaafaafaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabBcbOsbGnbOtbGnbOubBcaaaaaaaaaaaabJYbJZbEZaaaaafbJYbJYbMkbMmbMmbOwbOvbMmbOxbMobMobOzbDLbMqbOAbOBbZmbODbOEbOFbOGbOHbOIbOFbOJbOFbOKbOLbOMbLubONbOObOPbOQbORbOSbOTbOUaafbOVbOWbNObOXbMKbMLbNPbKvbLFbOYbOZbMUbPabLGbPbbPcbPdbLGbMUbPebPfbMUbMUbLFbKvbBMbItbItbItbItbJHbPgbPhbPibJHbItbItbItbItbItbPjbPkbPlbPmbPnbPobPpbPqbPpbPrbOpbPsbPtbPubPvbPwbtnbkFbjobjobjobjoabtaafaafaafaagaagaagaagaagaagaafaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaafaafaafaafaafaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaafaafbBcbPxbGnbGnbGnbPybBcaaaaaaaaaaaabJYbEYbEZaaaaafbJYbPzbPAbPBbMmbMmcbdbPDbPDbPDbPEbPFcbebMqbOAbPHccdbPJbPKbMFbPLbPMbPNbPObPPbPQbPRbPSbPSbPTbPUbLBbPVbPWbPXbPYbPZbQabQbbNLbQcbNObNObMKbMLbNPbKvbLFbQdbMUbQebLHbLGbLGbQfbLGbLGbQgbQhbQibQgbQgbLFbKvbBMbQjbQkbQkbQlbQmbKKbQnbQobQpbQqbCWbCWbCWbItbQrbQsbQtbQubQvbPobQwbQxbQybQzbOmbPtbQAbPtbPvbBRbQBbQCbjoaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaafaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaagaagaagaagaagaagaagaagaagaagaagaagaagaagaagaaaaaaaaaaaaaaaaaaaaabBcbPxbGnbGnbQDbQEbBcaaaaafaaaaaabJYbEYbDCbBcbBcbBcbQFbMkbQGbMmbMmcqmbQHbQIbQJbQKbMkcqnbMqbOAbPHcqobQLbQMbMFbMFbQNbLnbQObQPbQQbQRbMFbMFbLubQSbQTbQUbQVbQWbQXbQWbQYaafbMKbMKbMKbMKbMKbMLbyebKvbLFbQZbRabRabRbbRcbRdbRebRfbRgbMUbPebMUbMUcqpbLFbKvbBMbCWbCWbCWbRhbRibKKbRjbKKbRkbRlbCWbCWbCWbItbRmbRnbRobRpbRqbRrbRsbRtbRrbRubOpbRvbPtbRwbPvbjobRxbRybjoaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaafaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa diff --git a/code/game/objects/items/weapons/storage/firstaid.dm b/code/game/objects/items/weapons/storage/firstaid.dm index 7a948f66377..38b22179c38 100644 --- a/code/game/objects/items/weapons/storage/firstaid.dm +++ b/code/game/objects/items/weapons/storage/firstaid.dm @@ -16,117 +16,113 @@ throw_range = 7 var/empty = 0 - -/obj/item/weapon/storage/firstaid/fire - name = "fire first-aid kit" - desc = "It's an emergency medical kit for when the toxins lab -spontaneously- burns down." - icon_state = "ointment" - item_state = "firstaid-ointment" - -/obj/item/weapon/storage/firstaid/fire/New() - ..() - if (empty) return - - icon_state = pick("ointment","firefirstaid") - - new /obj/item/stack/medical/ointment(src) - new /obj/item/stack/medical/ointment(src) - new /obj/item/weapon/reagent_containers/pill/patch/silver_sulf(src) - new /obj/item/weapon/reagent_containers/pill/patch/silver_sulf(src) - new /obj/item/weapon/reagent_containers/hypospray/medipen(src) - new /obj/item/weapon/reagent_containers/pill/salicyclic(src) - new /obj/item/device/healthanalyzer(src) - return - - /obj/item/weapon/storage/firstaid/regular icon_state = "firstaid" + desc = "A first aid kit with the ability to heal common types of injuries." /obj/item/weapon/storage/firstaid/regular/New() ..() - if (empty) return + if(empty) return new /obj/item/stack/medical/gauze(src) new /obj/item/stack/medical/bruise_pack(src) new /obj/item/stack/medical/bruise_pack(src) new /obj/item/stack/medical/ointment(src) new /obj/item/stack/medical/ointment(src) - new /obj/item/weapon/reagent_containers/hypospray/medipen( src ) + new /obj/item/weapon/reagent_containers/hypospray/medipen(src) + new /obj/item/device/healthanalyzer(src) + return + +/obj/item/weapon/storage/firstaid/fire + name = "burn treatment kit" + desc = "A specialized medical kit for when the toxins lab -spontaneously- burns down." + icon_state = "ointment" + item_state = "firstaid-ointment" + +/obj/item/weapon/storage/firstaid/fire/New() + ..() + if(empty) return + icon_state = pick("ointment","firefirstaid") + new /obj/item/weapon/reagent_containers/pill/patch/silver_sulf(src) + new /obj/item/weapon/reagent_containers/pill/patch/silver_sulf(src) + new /obj/item/weapon/reagent_containers/pill/patch/silver_sulf(src) + new /obj/item/weapon/reagent_containers/pill/salicyclic(src) + new /obj/item/weapon/reagent_containers/pill/salicyclic(src) + new /obj/item/weapon/reagent_containers/hypospray/medipen(src) new /obj/item/device/healthanalyzer(src) return /obj/item/weapon/storage/firstaid/toxin - name = "toxin first aid" - desc = "Used to treat when you have a high amoutn of toxins in your body." + name = "toxin treatment kit" + desc = "Used to treat toxic blood content and radiation poisoning." icon_state = "antitoxin" item_state = "firstaid-toxin" /obj/item/weapon/storage/firstaid/toxin/New() ..() - if (empty) return - + if(empty) return icon_state = pick("antitoxin","antitoxfirstaid","antitoxfirstaid2","antitoxfirstaid3") - - new /obj/item/weapon/reagent_containers/syringe/charcoal( src ) - new /obj/item/weapon/reagent_containers/syringe/charcoal( src ) - new /obj/item/weapon/reagent_containers/syringe/charcoal( src ) - new /obj/item/weapon/reagent_containers/pill/charcoal( src ) - new /obj/item/weapon/reagent_containers/pill/charcoal( src ) - new /obj/item/weapon/reagent_containers/pill/charcoal( src ) - new /obj/item/device/healthanalyzer( src ) + new /obj/item/weapon/reagent_containers/syringe/charcoal(src) + new /obj/item/weapon/reagent_containers/syringe/charcoal(src) + new /obj/item/weapon/reagent_containers/syringe/charcoal(src) + new /obj/item/weapon/reagent_containers/pill/charcoal(src) + new /obj/item/weapon/reagent_containers/pill/charcoal(src) + new /obj/item/weapon/reagent_containers/pill/charcoal(src) + new /obj/item/device/healthanalyzer(src) return /obj/item/weapon/storage/firstaid/o2 - name = "oxygen deprivation first aid" + name = "oxygen deprivation treatment kit" desc = "A box full of oxygen goodies." icon_state = "o2" item_state = "firstaid-o2" /obj/item/weapon/storage/firstaid/o2/New() ..() - if (empty) return + if(empty) return new /obj/item/weapon/reagent_containers/pill/salbutamol(src) new /obj/item/weapon/reagent_containers/pill/salbutamol(src) new /obj/item/weapon/reagent_containers/pill/salbutamol(src) new /obj/item/weapon/reagent_containers/pill/salbutamol(src) new /obj/item/weapon/reagent_containers/hypospray/medipen(src) new /obj/item/weapon/reagent_containers/hypospray/medipen(src) - new /obj/item/device/healthanalyzer( src ) + new /obj/item/device/healthanalyzer(src) return /obj/item/weapon/storage/firstaid/brute - name = "brute first aid" + name = "brute trauma treatment kit" desc = "A first aid kit for when you get toolboxed." icon_state = "brute" item_state = "firstaid-brute" /obj/item/weapon/storage/firstaid/brute/New() ..() - if (empty) return - new /obj/item/stack/medical/gauze(src) - new /obj/item/stack/medical/gauze(src) + if(empty) return new /obj/item/weapon/reagent_containers/pill/patch/styptic(src) new /obj/item/weapon/reagent_containers/pill/patch/styptic(src) - new /obj/item/device/healthanalyzer( src ) + new /obj/item/weapon/reagent_containers/pill/patch/styptic(src) + new /obj/item/weapon/reagent_containers/pill/patch/styptic(src) + new /obj/item/stack/medical/gauze(src) + new /obj/item/stack/medical/gauze(src) new /obj/item/weapon/reagent_containers/hypospray/medipen(src) - new /obj/item/stack/medical/bruise_pack(src) + new /obj/item/device/healthanalyzer(src) return /obj/item/weapon/storage/firstaid/tactical - name = "first-aid kit" - icon_state = "bezerk" + name = "combat medical kit" desc = "I hope you've got insurance." + icon_state = "bezerk" max_w_class = 3 /obj/item/weapon/storage/firstaid/tactical/New() ..() - if (empty) return - new /obj/item/stack/medical/gauze( src ) - new /obj/item/stack/medical/gauze( src ) - new /obj/item/weapon/reagent_containers/hypospray/combat( src ) - new /obj/item/weapon/reagent_containers/pill/patch/styptic( src ) - new /obj/item/weapon/reagent_containers/pill/patch/silver_sulf( src ) - new /obj/item/weapon/reagent_containers/syringe/lethal/choral( src ) - new /obj/item/clothing/glasses/hud/health/night( src ) + if(empty) return + new /obj/item/stack/medical/gauze(src) + new /obj/item/stack/medical/gauze(src) + new /obj/item/weapon/reagent_containers/hypospray/combat(src) + new /obj/item/weapon/reagent_containers/pill/patch/styptic(src) + new /obj/item/weapon/reagent_containers/pill/patch/silver_sulf(src) + new /obj/item/weapon/reagent_containers/syringe/lethal/choral(src) + new /obj/item/clothing/glasses/hud/health/night(src) return @@ -146,11 +142,11 @@ /obj/item/weapon/storage/pill_bottle/MouseDrop(obj/over_object as obj) //Quick pillbottle fix. -Agouri - if (ishuman(usr) || ismonkey(usr)) //Can monkeys even place items in the pocket slots? Leaving this in just in case~ + if(ishuman(usr) || ismonkey(usr)) //Can monkeys even place items in the pocket slots? Leaving this in just in case~ var/mob/M = usr - if (!istype(over_object, /obj/screen) || !Adjacent(M)) + if(!istype(over_object, /obj/screen) || !Adjacent(M)) return ..() - if ((!( M.restrained() ) && !( M.stat ) /*&& M.pocket == src*/)) + if((!( M.restrained() ) && !( M.stat ) /*&& M.pocket == src*/)) switch(over_object.name) if("r_hand") M.unEquip(src) @@ -161,7 +157,7 @@ src.add_fingerprint(usr) return if(over_object == usr && in_range(src, usr) || usr.contents.Find(src)) - if (usr.s_active) + if(usr.s_active) usr.s_active.close(usr) src.show_to(usr) return @@ -173,13 +169,13 @@ /obj/item/weapon/storage/box/silver_sulf/New() ..() - new /obj/item/weapon/reagent_containers/pill/patch/silver_sulf( src ) - new /obj/item/weapon/reagent_containers/pill/patch/silver_sulf( src ) - new /obj/item/weapon/reagent_containers/pill/patch/silver_sulf( src ) - new /obj/item/weapon/reagent_containers/pill/patch/silver_sulf( src ) - new /obj/item/weapon/reagent_containers/pill/patch/silver_sulf( src ) - new /obj/item/weapon/reagent_containers/pill/patch/silver_sulf( src ) - new /obj/item/weapon/reagent_containers/pill/patch/silver_sulf( src ) + new /obj/item/weapon/reagent_containers/pill/patch/silver_sulf(src) + new /obj/item/weapon/reagent_containers/pill/patch/silver_sulf(src) + new /obj/item/weapon/reagent_containers/pill/patch/silver_sulf(src) + new /obj/item/weapon/reagent_containers/pill/patch/silver_sulf(src) + new /obj/item/weapon/reagent_containers/pill/patch/silver_sulf(src) + new /obj/item/weapon/reagent_containers/pill/patch/silver_sulf(src) + new /obj/item/weapon/reagent_containers/pill/patch/silver_sulf(src) /obj/item/weapon/storage/pill_bottle/charcoal @@ -188,13 +184,13 @@ /obj/item/weapon/storage/pill_bottle/charcoal/New() ..() - new /obj/item/weapon/reagent_containers/pill/charcoal( src ) - new /obj/item/weapon/reagent_containers/pill/charcoal( src ) - new /obj/item/weapon/reagent_containers/pill/charcoal( src ) - new /obj/item/weapon/reagent_containers/pill/charcoal( src ) - new /obj/item/weapon/reagent_containers/pill/charcoal( src ) - new /obj/item/weapon/reagent_containers/pill/charcoal( src ) - new /obj/item/weapon/reagent_containers/pill/charcoal( src ) + new /obj/item/weapon/reagent_containers/pill/charcoal(src) + new /obj/item/weapon/reagent_containers/pill/charcoal(src) + new /obj/item/weapon/reagent_containers/pill/charcoal(src) + new /obj/item/weapon/reagent_containers/pill/charcoal(src) + new /obj/item/weapon/reagent_containers/pill/charcoal(src) + new /obj/item/weapon/reagent_containers/pill/charcoal(src) + new /obj/item/weapon/reagent_containers/pill/charcoal(src) /obj/item/weapon/storage/pill_bottle/epinephrine name = "bottle of epinephrine pills" @@ -202,13 +198,13 @@ /obj/item/weapon/storage/pill_bottle/epinephrine/New() ..() - new /obj/item/weapon/reagent_containers/pill/epinephrine( src ) - new /obj/item/weapon/reagent_containers/pill/epinephrine( src ) - new /obj/item/weapon/reagent_containers/pill/epinephrine( src ) - new /obj/item/weapon/reagent_containers/pill/epinephrine( src ) - new /obj/item/weapon/reagent_containers/pill/epinephrine( src ) - new /obj/item/weapon/reagent_containers/pill/epinephrine( src ) - new /obj/item/weapon/reagent_containers/pill/epinephrine( src ) + new /obj/item/weapon/reagent_containers/pill/epinephrine(src) + new /obj/item/weapon/reagent_containers/pill/epinephrine(src) + new /obj/item/weapon/reagent_containers/pill/epinephrine(src) + new /obj/item/weapon/reagent_containers/pill/epinephrine(src) + new /obj/item/weapon/reagent_containers/pill/epinephrine(src) + new /obj/item/weapon/reagent_containers/pill/epinephrine(src) + new /obj/item/weapon/reagent_containers/pill/epinephrine(src) /obj/item/weapon/storage/pill_bottle/mutadone name = "bottle of mutadone pills" @@ -244,11 +240,11 @@ /obj/item/weapon/storage/pill_bottle/stimulant/New() ..() - new /obj/item/weapon/reagent_containers/pill/stimulant( src ) - new /obj/item/weapon/reagent_containers/pill/stimulant( src ) - new /obj/item/weapon/reagent_containers/pill/stimulant( src ) - new /obj/item/weapon/reagent_containers/pill/stimulant( src ) - new /obj/item/weapon/reagent_containers/pill/stimulant( src ) + new /obj/item/weapon/reagent_containers/pill/stimulant(src) + new /obj/item/weapon/reagent_containers/pill/stimulant(src) + new /obj/item/weapon/reagent_containers/pill/stimulant(src) + new /obj/item/weapon/reagent_containers/pill/stimulant(src) + new /obj/item/weapon/reagent_containers/pill/stimulant(src) /obj/item/weapon/storage/pill_bottle/dice name = "bag of dice" @@ -258,11 +254,11 @@ /obj/item/weapon/storage/pill_bottle/dice/New() ..() - new /obj/item/weapon/dice/d4( src ) - new /obj/item/weapon/dice( src ) - new /obj/item/weapon/dice/d8( src ) - new /obj/item/weapon/dice/d10( src ) - new /obj/item/weapon/dice/d00( src ) - new /obj/item/weapon/dice/d12( src ) - new /obj/item/weapon/dice/d20( src ) + new /obj/item/weapon/dice/d4(src) + new /obj/item/weapon/dice(src) + new /obj/item/weapon/dice/d8(src) + new /obj/item/weapon/dice/d10(src) + new /obj/item/weapon/dice/d00(src) + new /obj/item/weapon/dice/d12(src) + new /obj/item/weapon/dice/d20(src) diff --git a/code/modules/reagents/reagent_containers/blood_pack.dm b/code/modules/reagents/reagent_containers/blood_pack.dm index 93f53a19cc1..2196a552aa4 100644 --- a/code/modules/reagents/reagent_containers/blood_pack.dm +++ b/code/modules/reagents/reagent_containers/blood_pack.dm @@ -24,6 +24,9 @@ if(10 to 50) icon_state = "half" if(51 to INFINITY) icon_state = "full" +/obj/item/weapon/reagent_containers/blood/random/New() + blood_type = pick("A+", "A-", "B+", "B-", "O+", "O-") + /obj/item/weapon/reagent_containers/blood/APlus blood_type = "A+" diff --git a/icons/obj/items.dmi b/icons/obj/items.dmi index 9aeac380ca24b0ef3f93f81a410fa6e71dfb3d14..25760c88d18d70c308bbedcdc04d40a3d5b3b54f 100644 GIT binary patch delta 4435 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 Z{|D?}x)pgJpEv*j002ovPDHLkV1f&M)+PV| delta 4401 zcmV-15zg+>?*p&z1F%lz0Zg+`w<0UxZp*qVU9&8Skf2E&#K1BOZYM)X zVwgR-isCA=8&RezC$UeqDN!XGN^L(G@ zEe5Ajz8-$~y>FV^wr!=dGKiwU<-}#i;-j1y{w-hpgS${X3W@>>9=zTP6vabwdXlNc z1ewe%CXmU@GIZ)Uq|>P~`7VG(x1w|^P#`x4y8%e!zN#uTN@Y{ARG?oka8##qP@MH-v4>k)%q6s?qrTw<@pwdpx%+2}- z)_KfLz=LpXGaQr0Vc0IocC$6+B;{7154OkGd3xQfzZk42`Fa!-kHV#-2NVV4vIk6s zOGy!mzC5LX2@^>ZGix$`F=>(o#NVaG(YH=2&%F2xWq5d)XI}h8&iT=|PAb#W(@alK zGchs2#KZ)NM1n*jVP8*7Oz`xxFWu1h^v~aW^z7Yt|1s~s|2uyD>nH>7{D#rdQT+Y@ zQ&UsS&SuD(CYUB`*WN^8@)G0YF+Tb*&fuWVyYKe%-q1UY#?G*Rsp0c>Uc8LLD6Ils z0WA0W#oWsK1MuC;xnsTtjs2F}S&}W}=7AR?UkUl7u4`zTAXgpD8n^W>TF#YtPS;`g z4SllWFrM=QaNrDFc=>nClm?+*rY5~a8FMUEiEms*LT24u=(T*g%xq3u|=WHp=zVn@j*BiMUZc+ zHSQ#3`CJqTyL|&UfR!X)fUKzq1qI-*zrNRe`K6Zt_{#?#;9vi< zdr{xfwQJXITDx`)v$M0@?Da7-J&muTf;;ZGlkwljNvG0eGZ~V}Nv>VJ%GIlBhKJrI zl}_XLdGS_%tV2~dP#^w0KA)fJ8ntY|S^%zdz<+aTbI$#@m?-d6>9CUPOBb^=TXAxJ zKG#XY5;Fh$Z-aUcF-rwqyf#?InFYyeLhhoW)1^TK5u?^EWh@kN7qGu1pI4|`5yny< zPD5Xi&c^_}4D|`}1;kjJxL->6Hu`Krof(-SHWs6Q^@&zuV=F4eJX@^!*Vuu;c&A@YspKfH`sY4Qcg zW<@%8Vk%2@MV5&vs0n(wIHgcm4Mswc??l3+rb^-bB!nsf(*q?`!QHPNnfE#W>AR1c z!^6XW)YjJW!yo@w&i(&2Bk<&tbLWeMM^QL`-XNL0!p2|?nanJefpvJ+uHi~5#cbvp z7tVjk)YKG%@0`Tv^WyO+RM)KMmRoK?@vNb`rjBej!?FK+efB?|d1Y;(&rpWIqC?Q9 z6a6{ImBvc0pF_TRkmjmlCMzfL{_(T`YR2d`NcM`~bfQ0qGIM;!_4r}aa0GsmWZ-!$j*zU`lw;Wha^7VK`S<%HQs9Fb?lTZ`P zayhA>R>H&-)cV0lfLaX~XCPP$YgU4Rfti^ZyVKP?*yMZ9qJQqU|KTT_4u1bz>9%|B zxw-FHAMXqdaI@FT?Ce#%-kS(k2Jlx_ar?#)6%{@_9tE$rg0rK)OJ!z%M=syyi;^%@)I5y0l|y=;-X`t|fnFzz!`R(o=M{S>fi+^9&u>K$A7c z7)cA2EXUh~BJMgEcC~y?Xjz7vn;&Y1dUD7(o5~W~F&B<5g#re0Ldzh+%`y)x z(cj;Xs;Y!SAzL9k@0SoxqRl7XHww&gjeOD_hV7exvyOYM%&BB+9GM$l4y-2mf~f8F zC<-+W1*`z;E3-lg2f@sWa5RcZT_A(UV^YfS^HNbYw0PomB9WMXN__Ca2X%keelJtW zB=PtdUayzNhR;!3yPkCV3cdVPHrt#%#o zGW-JIBwh(8(H3j2QHXHQOlFin`NKPNex4P8rprp|YMK>Twuo1g%2*e(b?J_dfZpXk z3|$vW07CIbcBP?zElu5sBfr}w3JFz$sEsL`d}*7c>tN7!MK2W|pU8qFdy}NjrD%Pk zl~cY`xkL=ah~>;{u5TvV9W7X@v=~VDb37hrU|@iK`}WxeED#DA$T3?D3=GiH(!%)o zc)?PoMIt|!o3DcNuk%%}t30p_LCYL(3bxBJV0+3^$k9B1cXSH2M~jpyxy5ReuM?M& zP!)hnQ&3Y06O#&Rm8b)*_QQpw$p%Xiud6k!)*Q=^XJ3B3;P-LnXFHbsJ$+-}1D>a! zeJT5QPyKAekDq${O4Ap<;0p$W+;YpUD2l?`wQEUVy~>r;mDHKj?_GZGg~PXYzjmbJ zOFO@2tKFr4f1=MO$~oX7xFfj6bdv9x$&4aj&UtP-Tj{z!m(#UWFSg`RVN1*vGAVQ5);ghj*-bJq6dG-G{y$QMk6 z+3MmHR0l-;Z*8T>35(8Gus*0Tkua&N1Y^=exMnrp>GI)g-}-*T_2!g`*BwfufLE{? z$4V*SjA@r9ekVhuv@^9*@)B-foAXVJ=h+q6vqb zyUZvQnl5%-5=gS`%QIR%=pgA<=9+W3UGLs)cbW3_aUoxj8!f=b&?fv<_1s=xkH0$1 z?e$@N!Fp~F*W<4W6RxkvR~06_>2~XX$wmK{TE=G>i&nrVroY1p>3Z#lZT-vZdcN-Z zsLP&rE)|LyvV^Bfw29f zM@~YPHNrA){KdOVA_ircIX@?SJ*DfKi1TZF3ynJoIeMMv7K_by-bpAFveN;pO}>EW ze)Z8=vRUkIPV$&F6%=ciq`CH!^6jp^39F1x4i-hg%eBw%CuRNRfM%JiWZqZTMM09@ z<%ln9Sl5DtBau0`bSWT1%8^}v37b@R_if0TBgZ>moy!e_Xv*QX6ISY63VMagRrjhG z-3Eit585S2AnJhwI|4M+H_-4zX`67!@UxR(^U>emZ-<}v?c0Z87&!#(5`~Od#hPz8 zuS)`{dY#>`@y5?%j5mIehwb&R8ja_ENFuA2Z5-$8kU4GCqA+ zv;r<;X;`QnN!0V=?73m(cs05l6~dwiw3D2rOm^1^tMf4!>Jx^n&R5UV)E5L&95@Jd zA+hnoZq3RU_vJR{Xliq{G$2e>$=;-`faP`c2T_}l<#DD_lp}#4ZfVGJgN}|4;_*1+ z$CxK|SO3#(7Kg-|BZ zGFAd*0$z1!wvyFke@S$kS|gD;JG7IevC5U)_JWr6yoYp)h#h7t*>bY;;WYG#UeS_p z>p}@4AuvV&7wwQ!=Tdl%iwzh81n_P2*>%1Fauu(?(T{(tpJZ=;QgqO2^ov?x7mYY1 zu}boFcD@RS!?qF2*?v-zvn1mke|}xB%0gI3)#kgQuh%Pj(Qp{9a?DkdT%B%c=W`FP zKqHPa%J{US>=;-f6e?konCr74c14op8quthBwdhiL=!K0U%I8;;J`tV-;L}_V~nJ! z3ni@DU<-Xg+Z`=`J73BB>ccm_#o0pGvS*7;rXHWit_=q4E?80_H`F)S_qXiXQj+!C z+uLn2H4I~(`AUYHJ32a0Rn@-lbV-*8I~^|xrvv(p0{2~`54N`=%vBFsJ0i(@J~-wq zIg)k4^0`vJk21>mtU)=STzIqRGL|3TvGxN7MnzBfM0y(U+nee&PTEnR(?KMhMZ*>xB5G;_tBU^zyhgQ0_F`yc00000NkvXXu0mjf?H1Ho From 47615635713ac7067a38d47e3659614c1f7c767e Mon Sep 17 00:00:00 2001 From: paprka Date: Sat, 31 Jan 2015 23:18:21 -0800 Subject: [PATCH 049/122] removes carp and blood checks from holodeck --- code/game/machinery/computer/HolodeckControl.dm | 9 --------- 1 file changed, 9 deletions(-) diff --git a/code/game/machinery/computer/HolodeckControl.dm b/code/game/machinery/computer/HolodeckControl.dm index 61e409d9cd4..601bde71545 100644 --- a/code/game/machinery/computer/HolodeckControl.dm +++ b/code/game/machinery/computer/HolodeckControl.dm @@ -227,15 +227,6 @@ for(var/item in holographic_items) derez(item) - for(var/obj/effect/decal/cleanable/blood/B in linkedholodeck) - qdel(B) - - for(var/obj/effect/decal/cleanable/blooddrip/D in linkedholodeck) - qdel(D) - - for(var/mob/living/simple_animal/hostile/carp/C in linkedholodeck) - qdel(C) - holographic_items = A.copy_contents_to(linkedholodeck , 1) if(emagged) From ce65ad8c6269d96dc60f21480e191519d395e07c Mon Sep 17 00:00:00 2001 From: paprka Date: Sat, 31 Jan 2015 23:27:23 -0800 Subject: [PATCH 050/122] fixes some gauze inconsistencies --- code/game/objects/items/stacks/medical.dm | 31 +++++++++++++---------- 1 file changed, 18 insertions(+), 13 deletions(-) diff --git a/code/game/objects/items/stacks/medical.dm b/code/game/objects/items/stacks/medical.dm index 36285ba439b..b43cd46e735 100644 --- a/code/game/objects/items/stacks/medical.dm +++ b/code/game/objects/items/stacks/medical.dm @@ -14,49 +14,55 @@ /obj/item/stack/medical/attack(mob/living/carbon/M as mob, mob/user as mob) - if (M.stat == 2) + if(M.stat == 2) var/t_him = "it" - if (M.gender == MALE) + if(M.gender == MALE) t_him = "him" - else if (M.gender == FEMALE) + else if(M.gender == FEMALE) t_him = "her" user << "\The [M] is dead, you cannot help [t_him]!" return - if (!istype(M)) - user << "\The [src] cannot be applied to [M]!" + if(!istype(M)) + user << "You don't know how to apply \the [src] to [M]..." return 1 if(!user.IsAdvancedToolUser()) user << "You don't have the dexterity to do this!" return 1 + if(ishuman(M)) + var/mob/living/carbon/human/H = M + if(stop_bleeding) + if(H.bleedsuppress) + user << "[H]'s bleeding is already bandaged." + if(!H.blood_max) + user << "[H] isn't bleeding." + if(isliving(M)) if(!M.can_inject(user, 1)) return if(user) - if (M != user) + if(M != user) user.visible_message("[user] applies [src] on [M].", "You apply [src] on [M].") else var/t_himself = "itself" - if (user.gender == MALE) + if(user.gender == MALE) t_himself = "himself" - else if (user.gender == FEMALE) + else if(user.gender == FEMALE) t_himself = "herself" user.visible_message("[user] starts to apply [src] on [t_himself]...", "You begin applying [src] on yourself...") if(!do_mob(user, M, self_delay)) return user.visible_message("[user] applies [src] on [t_himself].", "You apply [src] on yourself.") - if(istype(M, /mob/living/carbon/human)) + if(ishuman(M)) var/mob/living/carbon/human/H = M var/obj/item/organ/limb/affecting = H.get_organ(check_zone(user.zone_sel.selecting)) - if(stop_bleeding) if(!H.bleedsuppress) //so you can't stack bleed suppression H.suppress_bloodloss(stop_bleeding) - if(affecting.status == ORGAN_ORGANIC) //Limb must be organic to be healed - RR if(affecting.heal_damage(src.heal_brute, src.heal_burn, 0)) H.update_damage_overlays(0) @@ -75,11 +81,10 @@ /obj/item/stack/medical/bruise_pack name = "bruise pack" singular_name = "bruise pack" - desc = "A gel pack and bandages designed to treat blunt-force trauma." + desc = "A theraputic gel pack and bandages designed to treat blunt-force trauma." icon_state = "brutepack" heal_brute = 40 origin_tech = "biotech=1" - stop_bleeding = 20 /obj/item/stack/medical/gauze name = "medical gauze" From 0b64a233100a2e11e339f6f257f1c89f46dbd5dc Mon Sep 17 00:00:00 2001 From: paprka Date: Sat, 31 Jan 2015 23:40:27 -0800 Subject: [PATCH 051/122] fixes blood drips --- code/game/machinery/bots/cleanbot.dm | 2 +- code/game/objects/effects/decals/Cleanable/humans.dm | 9 ++------- code/modules/mob/living/carbon/human/blood.dm | 6 +++--- 3 files changed, 6 insertions(+), 11 deletions(-) diff --git a/code/game/machinery/bots/cleanbot.dm b/code/game/machinery/bots/cleanbot.dm index 63d7a2e8b14..17051973fc4 100644 --- a/code/game/machinery/bots/cleanbot.dm +++ b/code/game/machinery/bots/cleanbot.dm @@ -222,7 +222,7 @@ text("[on ? "On" : "Off"]")) target_types += /obj/effect/decal/cleanable/xenoblood/xgibs target_types += /obj/effect/decal/cleanable/blood/ target_types += /obj/effect/decal/cleanable/blood/gibs/ - target_types += /obj/effect/decal/cleanable/blooddrip/ + target_types += /obj/effect/decal/cleanable/blood/drip/ target_types += /obj/effect/decal/cleanable/trail_holder /obj/machinery/bot/cleanbot/proc/clean(var/obj/effect/decal/cleanable/target) diff --git a/code/game/objects/effects/decals/Cleanable/humans.dm b/code/game/objects/effects/decals/Cleanable/humans.dm index 914da240358..4e4c8dd0795 100644 --- a/code/game/objects/effects/decals/Cleanable/humans.dm +++ b/code/game/objects/effects/decals/Cleanable/humans.dm @@ -94,20 +94,15 @@ if (step_to(src, get_step(src, direction), 0)) break -/obj/effect/decal/cleanable/blooddrip +/obj/effect/decal/cleanable/blood/drip name = "drip of blood" desc = "It's red." icon = 'icons/effects/drip.dmi' icon_state = "1" random_icon_states = list("1","2","3","4","5") - density = 0 - anchored = 1 - layer = 2 - blood_DNA = list() - var/list/viruses = list() var/list/drips = list() -/obj/effect/decal/cleanable/blooddrip/New() +/obj/effect/decal/cleanable/blood/drip/New() ..() spawn(1) drips |= icon_state \ No newline at end of file diff --git a/code/modules/mob/living/carbon/human/blood.dm b/code/modules/mob/living/carbon/human/blood.dm index 19245222cf4..a7ecd5c76a0 100644 --- a/code/modules/mob/living/carbon/human/blood.dm +++ b/code/modules/mob/living/carbon/human/blood.dm @@ -275,18 +275,18 @@ proc/blood_splatter(var/target,var/datum/reagent/blood/source,var/large) // Are we dripping or splattering? var/list/drips = list() // Only a certain number of drips (or one large splatter) can be on a given turf. - for(var/obj/effect/decal/cleanable/blooddrip/drop in T) + for(var/obj/effect/decal/cleanable/blood/drip/drop in T) drips |= drop.drips del(drop) if(!large && drips.len < 3) - decal_type = /obj/effect/decal/cleanable/blooddrip + decal_type = /obj/effect/decal/cleanable/blood/drip // Find a blood decal or create a new one. B = locate(decal_type) in T if(!B) B = new decal_type(T) - var/obj/effect/decal/cleanable/blooddrip/drop = B + var/obj/effect/decal/cleanable/blood/drip/drop = B if(istype(drop) && drips && drips.len && !large) drop.overlays |= drips drop.drips |= drips From d6dce069f4df50e94c99cdedae7cfe223bd56649 Mon Sep 17 00:00:00 2001 From: paprka Date: Sun, 1 Feb 2015 00:29:37 -0800 Subject: [PATCH 052/122] finally actually fixes the blood decals --- .../effects/decals/Cleanable/humans.dm | 20 +++++++++---------- code/modules/mob/living/carbon/human/blood.dm | 1 + 2 files changed, 10 insertions(+), 11 deletions(-) diff --git a/code/game/objects/effects/decals/Cleanable/humans.dm b/code/game/objects/effects/decals/Cleanable/humans.dm index 4e4c8dd0795..b50b02a3a46 100644 --- a/code/game/objects/effects/decals/Cleanable/humans.dm +++ b/code/game/objects/effects/decals/Cleanable/humans.dm @@ -18,13 +18,13 @@ /obj/effect/decal/cleanable/blood/New() ..() - remove_ex_blood() - -/obj/effect/decal/cleanable/blood/proc/remove_ex_blood() //removes existant blood on the turf - if(src.loc && isturf(src.loc)) - for(var/obj/effect/decal/cleanable/blood/B in src.loc) - if(B != src) - qdel(B) + if(src.type == /obj/effect/decal/cleanable/blood) + if(src.loc && isturf(src.loc)) + for(var/obj/effect/decal/cleanable/blood/B in src.loc) + if(B != src) + if (B.blood_DNA) + blood_DNA |= B.blood_DNA.Copy() + qdel(B) /obj/effect/decal/cleanable/blood/splatter random_icon_states = list("gibbl1", "gibbl2", "gibbl3", "gibbl4", "gibbl5") @@ -61,9 +61,6 @@ /obj/effect/decal/cleanable/blood/gibs/ex_act(severity, target) return -/obj/effect/decal/cleanable/blood/gibs/remove_ex_blood() - return - /obj/effect/decal/cleanable/blood/gibs/up random_icon_states = list("gib1", "gib2", "gib3", "gib4", "gib5", "gib6","gibup1","gibup1","gibup1") @@ -95,8 +92,9 @@ break /obj/effect/decal/cleanable/blood/drip - name = "drip of blood" + name = "drips of blood" desc = "It's red." + gender = PLURAL icon = 'icons/effects/drip.dmi' icon_state = "1" random_icon_states = list("1","2","3","4","5") diff --git a/code/modules/mob/living/carbon/human/blood.dm b/code/modules/mob/living/carbon/human/blood.dm index a7ecd5c76a0..37b4be1fef5 100644 --- a/code/modules/mob/living/carbon/human/blood.dm +++ b/code/modules/mob/living/carbon/human/blood.dm @@ -258,6 +258,7 @@ proc/blood_incompatible(donor,receiver,donor_species,receiver_species) return 0 proc/blood_splatter(var/target,var/datum/reagent/blood/source,var/large) + var/obj/effect/decal/cleanable/blood/B var/decal_type = /obj/effect/decal/cleanable/blood/splatter var/turf/T = get_turf(target) From e4b52c3974e7ec7b78b67ec19be5521a13209d14 Mon Sep 17 00:00:00 2001 From: paprka Date: Sun, 1 Feb 2015 02:11:42 -0800 Subject: [PATCH 053/122] removes voxtest 2 --- code/modules/mob/living/silicon/ai/vox_sounds.dm | 1 - 1 file changed, 1 deletion(-) diff --git a/code/modules/mob/living/silicon/ai/vox_sounds.dm b/code/modules/mob/living/silicon/ai/vox_sounds.dm index aa2bb96cfe2..317e887e90a 100644 --- a/code/modules/mob/living/silicon/ai/vox_sounds.dm +++ b/code/modules/mob/living/silicon/ai/vox_sounds.dm @@ -673,7 +673,6 @@ var/list/vox_sounds = list("," = 'sound/vox_fem/,.ogg', "vox" = 'sound/vox_fem/vox.ogg', "vox_login" = 'sound/vox_fem/vox_login.ogg', "voxtest" = 'sound/vox_fem/voxtest.ogg', -"voxtest2" = 'sound/vox_fem/voxtest2.ogg', "w" = 'sound/vox_fem/w.ogg', "walk" = 'sound/vox_fem/walk.ogg', "wall" = 'sound/vox_fem/wall.ogg', From f6f4318f2333fd4b330dda943d006cef7536bb10 Mon Sep 17 00:00:00 2001 From: Deantwo Date: Sun, 1 Feb 2015 11:25:59 +0100 Subject: [PATCH 054/122] Fixes the Goof fix Fixes https://github.com/tgstation/-tg-station/pull/7453 I wouldn't wish any of these mutations on my worst enemy. --- code/datums/goon_mutations_disabilities.dm | 157 +++++++++++---------- 1 file changed, 79 insertions(+), 78 deletions(-) diff --git a/code/datums/goon_mutations_disabilities.dm b/code/datums/goon_mutations_disabilities.dm index f7051862337..44555ce8c4b 100644 --- a/code/datums/goon_mutations_disabilities.dm +++ b/code/datums/goon_mutations_disabilities.dm @@ -31,51 +31,52 @@ /datum/mutation/human/smile/say_mod(var/message) if(message) + message = " [message] " //Time for a friendly game of SS13 - message = replacetext(message,"stupid","smart") - message = replacetext(message,"retard","genius") - message = replacetext(message,"unrobust","robust") - message = replacetext(message,"dumb","smart") - message = replacetext(message,"awful","great") - message = replacetext(message,"gay",pick("nice","ok","alright")) - message = replacetext(message,"horrible","fun") - message = replacetext(message,"terrible","terribly fun") - message = replacetext(message,"terrifying","wonderful") - message = replacetext(message,"gross","cool") - message = replacetext(message,"disgusting","amazing") - message = replacetext(message,"loser","winner") - message = replacetext(message,"useless","useful") - message = replacetext(message,"oh god","cheese and crackers") - message = replacetext(message,"jesus","gee wiz") - message = replacetext(message,"weak","strong") - message = replacetext(message,"kill","hug") - message = replacetext(message,"murder","tease") - message = replacetext(message,"ugly","beautiful") - message = replacetext(message,"douchbag","nice guy") - message = replacetext(message,"whore","lady") - message = replacetext(message,"nerd","smart guy") - message = replacetext(message,"moron","fun person") - message = replacetext(message,"IT'S LOOSE","EVERYTHING IS FINE") - message = replacetext(message,"sex","hug fight") - message = replacetext(message,"idiot","genius") - message = replacetext(message,"fat","thin") - message = replacetext(message,"beer","water with ice") - message = replacetext(message,"drink","water") - message = replacetext(message,"feminist","empowered woman") - message = replacetext(message,"i hate you","you're mean") - message = replacetext(message,"nigger","african american") - message = replacetext(message,"jew","jewish") - message = replacetext(message,"shit","shiz") - message = replacetext(message,"crap","poo") - message = replacetext(message,"slut","tease") - message = replacetext(message,"ass","butt") - message = replacetext(message,"damn","dang") - message = replacetext(message,"fuck","") - message = replacetext(message,"penis","privates") - message = replacetext(message,"cunt","privates") - message = replacetext(message,"dick","jerk") - message = replacetext(message,"vagina","privates") - return message + message = replacetext(message," stupid "," smart ") + message = replacetext(message," retard "," genius ") + message = replacetext(message," unrobust "," robust ") + message = replacetext(message," dumb "," smart ") + message = replacetext(message," awful "," great ") + message = replacetext(message," gay ",pick(" nice "," ok "," alright ")) + message = replacetext(message," horrible "," fun ") + message = replacetext(message," terrible "," terribly fun ") + message = replacetext(message," terrifying "," wonderful ") + message = replacetext(message," gross "," cool ") + message = replacetext(message," disgusting "," amazing ") + message = replacetext(message," loser "," winner ") + message = replacetext(message," useless "," useful ") + message = replacetext(message," oh god "," cheese and crackers ") + message = replacetext(message," jesus "," gee wiz ") + message = replacetext(message," weak "," strong ") + message = replacetext(message," kill "," hug ") + message = replacetext(message," murder "," tease ") + message = replacetext(message," ugly "," beautiful ") + message = replacetext(message," douchbag "," nice guy ") + message = replacetext(message," whore "," lady ") + message = replacetext(message," nerd "," smart guy ") + message = replacetext(message," moron "," fun person ") + message = replacetext(message," IT'S LOOSE "," EVERYTHING IS FINE ") + message = replacetext(message," sex "," hug fight ") + message = replacetext(message," idiot "," genius ") + message = replacetext(message," fat "," thin ") + message = replacetext(message," beer "," water with ice ") + message = replacetext(message," drink "," water ") + message = replacetext(message," feminist "," empowered woman ") + message = replacetext(message," i hate you "," you're mean ") + message = replacetext(message," nigger "," african american ") + message = replacetext(message," jew "," jewish ") + message = replacetext(message," shit "," shiz ") + message = replacetext(message," crap "," poo ") + message = replacetext(message," slut "," tease ") + message = replacetext(message," ass "," butt ") + message = replacetext(message," damn "," dang ") + message = replacetext(message," fuck "," ") + message = replacetext(message," penis "," privates ") + message = replacetext(message," cunt "," privates ") + message = replacetext(message," dick "," jerk ") + message = replacetext(message," vagina "," privates ") + return trim(message) /datum/mutation/human/unintelligable name = "Unintelligable" @@ -129,30 +130,29 @@ /datum/mutation/human/chav/say_mod(var/message) if(message) - message = replacetext(message,"dick","prat") - message = replacetext(message,"comdom","knob'ead") - message = replacetext(message,"looking at","gawpin' at") - message = replacetext(message,"great","bangin'") - message = replacetext(message,"man","mate") - message = replacetext(message,"friend",pick("mate","bruv","bledrin")) - message = replacetext(message,"what","wot") - message = replacetext(message,"drink","wet") - message = replacetext(message,"get","giz") - message = replacetext(message,"what","wot") - message = replacetext(message,"no thanks","wuddent fukken do one") - message = replacetext(message,"i don't know","wot mate") - message = replacetext(message,"no","naw") - message = replacetext(message,"robust","chin") - message = replacetext(message," hi ","how what how") - message = replacetext(message,"hello","sup bruv") - message = replacetext(message,"kill","bang") - message = replacetext(message,"murder","bang") - message = replacetext(message,"windows","windies") - message = replacetext(message,"window","windy") - message = replacetext(message,"break","do") - message = replacetext(message,"your","yer") - message = replacetext(message,"security","coppers") - return message + message = " [message] " + message = replacetext(message," looking at "," gawpin' at ") + message = replacetext(message," great "," bangin' ") + message = replacetext(message," man "," mate ") + message = replacetext(message," friend ",pick(" mate "," bruv "," bledrin ")) + message = replacetext(message," what "," wot ") + message = replacetext(message," drink "," wet ") + message = replacetext(message," get "," giz ") + message = replacetext(message," what "," wot ") + message = replacetext(message," no thanks "," wuddent fukken do one ") + message = replacetext(message," i don't know "," wot mate ") + message = replacetext(message," no "," naw ") + message = replacetext(message," robust "," chin ") + message = replacetext(message," hi "," how what how ") + message = replacetext(message," hello "," sup bruv ") + message = replacetext(message," kill "," bang ") + message = replacetext(message," murder "," bang ") + message = replacetext(message," windows "," windies ") + message = replacetext(message," window "," windy ") + message = replacetext(message," break "," do ") + message = replacetext(message," your "," yer ") + message = replacetext(message," security "," coppers ") + return trim(message) /datum/mutation/human/elvis name = "Elvis" @@ -173,13 +173,14 @@ /datum/mutation/human/elvis/say_mod(var/message) if(message) - message = replacetext(message,"i'm not","I aint") - message = replacetext(message,"girl",pick("honey","baby","baby doll")) - message = replacetext(message,"man",pick("son","buddy","brother", "pal", "friendo")) - message = replacetext(message,"out of","outta") - message = replacetext(message,"thank you","thank you, thank you very much") - message = replacetext(message,"what are you","whatcha") - message = replacetext(message,"yes",pick("sure", "yea")) - message = replacetext(message,"faggot","square") - message = replacetext(message,"muh valids","getting my kicks") - return message + message = " [message] " + message = replacetext(message," i'm not "," I aint ") + message = replacetext(message," girl ",pick(" honey "," baby "," baby doll ")) + message = replacetext(message," man ",pick(" son "," buddy "," brother"," pal "," friendo ")) + message = replacetext(message," out of "," outta ") + message = replacetext(message," thank you "," thank you, thank you very much ") + message = replacetext(message," what are you "," whatcha ") + message = replacetext(message," yes ",pick(" sure", "yea ")) + message = replacetext(message," faggot "," square ") + message = replacetext(message," muh valids "," getting my kicks ") + return trim(message) From 77dabb02fec0066ef6a4a7b0a7818fc898105e3d Mon Sep 17 00:00:00 2001 From: paprka Date: Sun, 1 Feb 2015 03:09:09 -0800 Subject: [PATCH 055/122] fixes janicart --- code/game/objects/structures/janicart.dm | 8 ++------ 1 file changed, 2 insertions(+), 6 deletions(-) diff --git a/code/game/objects/structures/janicart.dm b/code/game/objects/structures/janicart.dm index 9f7497781cb..5a8bc0ca53d 100644 --- a/code/game/objects/structures/janicart.dm +++ b/code/game/objects/structures/janicart.dm @@ -251,13 +251,9 @@ user << "You'll need the keys in one of your hands to drive this [callme]." -/obj/structure/stool/bed/chair/janicart/user_buckle_mob(mob/M, mob/user) - if(M != user || !ismob(M) || get_dist(src, user) > 1 || user.restrained() || user.lying || user.stat || M.buckled || istype(user, /mob/living/silicon)) - return - - ..() - +/obj/structure/stool/bed/chair/janicart/user_buckle_mob(mob/living/M, mob/user) M.loc = loc + ..() update_mob() /obj/structure/stool/bed/chair/janicart/unbuckle_mob() From 141bababef3b611a01f05fc8097b1c8ff6eb2284 Mon Sep 17 00:00:00 2001 From: paprka Date: Sun, 1 Feb 2015 03:37:14 -0800 Subject: [PATCH 056/122] makes ghosts float up and down --- code/modules/mob/dead/observer/observer.dm | 2 ++ 1 file changed, 2 insertions(+) diff --git a/code/modules/mob/dead/observer/observer.dm b/code/modules/mob/dead/observer/observer.dm index c8e2e45e854..a29a6925d25 100644 --- a/code/modules/mob/dead/observer/observer.dm +++ b/code/modules/mob/dead/observer/observer.dm @@ -53,6 +53,8 @@ verbs -= /mob/dead/observer/verb/boo verbs -= /mob/dead/observer/verb/possess + animate(src, pixel_y = 2, time = 10, loop = -1) + ..() /mob/dead/CanPass(atom/movable/mover, turf/target, height=0) From ef3a10950af1deba9a63ecf041b7460f5cc27955 Mon Sep 17 00:00:00 2001 From: Miauw Date: Sun, 1 Feb 2015 12:37:49 +0100 Subject: [PATCH 057/122] Fixes saycode breaking when the ckey of a ghost was set to null. --- code/modules/mob/living/carbon/brain/emote.dm | 2 +- code/modules/mob/living/carbon/emote.dm | 2 +- code/modules/mob/living/carbon/human/emote.dm | 2 +- code/modules/mob/living/carbon/human/whisper.dm | 2 +- code/modules/mob/living/emote.dm | 2 +- code/modules/mob/living/say.dm | 2 +- 6 files changed, 6 insertions(+), 6 deletions(-) diff --git a/code/modules/mob/living/carbon/brain/emote.dm b/code/modules/mob/living/carbon/brain/emote.dm index 4c1f2e55271..6c7b938288f 100644 --- a/code/modules/mob/living/carbon/brain/emote.dm +++ b/code/modules/mob/living/carbon/brain/emote.dm @@ -62,7 +62,7 @@ for(var/mob/M in dead_mob_list) if (!M.client || istype(M, /mob/new_player)) continue //skip monkeys, leavers, and new_players - if(M.stat == DEAD && (M.client.prefs.toggles & CHAT_GHOSTSIGHT) && !(M in viewers(src,null))) + if(M.stat == DEAD && (M.client && (M.client.prefs.toggles & CHAT_GHOSTSIGHT)) && !(M in viewers(src,null))) M.show_message(message) diff --git a/code/modules/mob/living/carbon/emote.dm b/code/modules/mob/living/carbon/emote.dm index a67f683174c..7f402cddbf9 100644 --- a/code/modules/mob/living/carbon/emote.dm +++ b/code/modules/mob/living/carbon/emote.dm @@ -188,7 +188,7 @@ for(var/mob/M in dead_mob_list) if(!M.client || istype(M, /mob/new_player)) continue //skip monkeys, leavers and new players - if(M.stat == DEAD && (M.client.prefs.toggles & CHAT_GHOSTSIGHT) && !(M in viewers(src,null))) + if(M.stat == DEAD && (M.client && M.client.prefs.toggles & CHAT_GHOSTSIGHT)) && !(M in viewers(src,null))) M.show_message(message) diff --git a/code/modules/mob/living/carbon/human/emote.dm b/code/modules/mob/living/carbon/human/emote.dm index 53eaa53884f..4846abc0eb7 100644 --- a/code/modules/mob/living/carbon/human/emote.dm +++ b/code/modules/mob/living/carbon/human/emote.dm @@ -322,7 +322,7 @@ for(var/mob/M in dead_mob_list) if(!M.client || istype(M, /mob/new_player)) continue //skip monkeys, leavers and new players - if(M.stat == DEAD && (M.client.prefs.toggles & CHAT_GHOSTSIGHT) && !(M in viewers(src,null))) + if(M.stat == DEAD && M.client && (M.client.prefs.toggles & CHAT_GHOSTSIGHT) && !(M in viewers(src,null))) M.show_message(message) diff --git a/code/modules/mob/living/carbon/human/whisper.dm b/code/modules/mob/living/carbon/human/whisper.dm index 77be26fc621..b7df925da57 100644 --- a/code/modules/mob/living/carbon/human/whisper.dm +++ b/code/modules/mob/living/carbon/human/whisper.dm @@ -46,7 +46,7 @@ var/list/listening_dead = list() for(var/mob/M in player_list) - if(M.stat == DEAD && ((M.client.prefs.toggles & CHAT_GHOSTWHISPER) || (get_dist(M, src) <= 7))) + if(M.stat == DEAD && M.client && ((M.client.prefs.toggles & CHAT_GHOSTWHISPER) || (get_dist(M, src) <= 7))) listening_dead |= M var/list/listening = get_hearers_in_view(1, src) diff --git a/code/modules/mob/living/emote.dm b/code/modules/mob/living/emote.dm index 9adb0fd4188..891fae0abeb 100644 --- a/code/modules/mob/living/emote.dm +++ b/code/modules/mob/living/emote.dm @@ -268,7 +268,7 @@ if(!M.client || istype(M, /mob/new_player)) continue //skip monkeys, leavers and new players var/T = get_turf(src) - if(M.stat == DEAD && (M.client.prefs.toggles & CHAT_GHOSTSIGHT) && !(M in viewers(T,null))) + if(M.stat == DEAD && M.client && (M.client.prefs.toggles & CHAT_GHOSTSIGHT) && !(M in viewers(T,null))) M.show_message(message) diff --git a/code/modules/mob/living/say.dm b/code/modules/mob/living/say.dm index dd3745d4245..f94e95160da 100644 --- a/code/modules/mob/living/say.dm +++ b/code/modules/mob/living/say.dm @@ -161,7 +161,7 @@ var/list/department_radio_keys = list( var/list/listening = get_hearers_in_view(message_range, source) var/list/listening_dead = list() for(var/mob/M in player_list) - if(M.stat == DEAD && ((M.client.prefs.toggles & CHAT_GHOSTEARS) || (get_dist(M, src) <= 7))&& client) // client is so that ghosts don't have to listen to mice + if(M.stat == DEAD && M.client && ((M.client.prefs.toggles & CHAT_GHOSTEARS) || (get_dist(M, src) <= 7)) && client) // client is so that ghosts don't have to listen to mice listening_dead |= M listening -= listening_dead //so ghosts dont hear stuff twice From ffa0a81ecfe46f1c87b25dc320adbef577d15fde Mon Sep 17 00:00:00 2001 From: Miauw Date: Sun, 1 Feb 2015 12:44:22 +0100 Subject: [PATCH 058/122] gotta go fast --- code/modules/mob/living/carbon/emote.dm | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/code/modules/mob/living/carbon/emote.dm b/code/modules/mob/living/carbon/emote.dm index 7f402cddbf9..0c9893c0d39 100644 --- a/code/modules/mob/living/carbon/emote.dm +++ b/code/modules/mob/living/carbon/emote.dm @@ -188,7 +188,7 @@ for(var/mob/M in dead_mob_list) if(!M.client || istype(M, /mob/new_player)) continue //skip monkeys, leavers and new players - if(M.stat == DEAD && (M.client && M.client.prefs.toggles & CHAT_GHOSTSIGHT)) && !(M in viewers(src,null))) + if(M.stat == DEAD && M.client && (M.client.prefs.toggles & CHAT_GHOSTSIGHT) && !(M in viewers(src,null))) M.show_message(message) From e5be04ecd381a47d86e574da40fb26ab5971abc5 Mon Sep 17 00:00:00 2001 From: Menshin Date: Sun, 1 Feb 2015 13:12:40 +0100 Subject: [PATCH 059/122] Cut the message to max_length 'before' sanitizing it, to avoid unnecessary processing --- code/__HELPERS/text.dm | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/code/__HELPERS/text.dm b/code/__HELPERS/text.dm index cc1e0306ad9..f78750e3339 100644 --- a/code/__HELPERS/text.dm +++ b/code/__HELPERS/text.dm @@ -153,6 +153,9 @@ if(!input) return + if(max_length) + input = copytext(input,1,max_length) + var/sanitized_output var/next_html_tag = findtext(input, "<") var/next_http = findtext(input, "http", 1, next_html_tag) @@ -191,9 +194,6 @@ sanitized_output += copytext(input, opening) //don't forget the remaining text - if(max_length) - sanitized_output = copytext(sanitized_output,1,max_length) - return sanitized_output //strip_html_properly helper proc that returns the smallest non null of two numbers From 95e4cf1ffaf6fb0c78954e08307551da58bccd79 Mon Sep 17 00:00:00 2001 From: paprka Date: Sun, 1 Feb 2015 06:13:21 -0800 Subject: [PATCH 060/122] adds directional signs from bay --- code/game/objects/structures/signs.dm | 27 +++++++++++++++++++++++++- icons/obj/decals.dmi | Bin 28058 -> 29461 bytes 2 files changed, 26 insertions(+), 1 deletion(-) diff --git a/code/game/objects/structures/signs.dm b/code/game/objects/structures/signs.dm index 8a1591531a0..bfb9df96d7f 100644 --- a/code/game/objects/structures/signs.dm +++ b/code/game/objects/structures/signs.dm @@ -123,4 +123,29 @@ /obj/structure/sign/botany name = "\improper HYDROPONICS" desc = "A warning sign which reads 'HYDROPONICS'" - icon_state = "hydro1" \ No newline at end of file + icon_state = "hydro1" + +/obj/structure/sign/directions/science + name = "science department" + desc = "A direction sign, pointing out which way the Science department is." + icon_state = "direction_sci" + +/obj/structure/sign/directions/engineering + name = "engineering department" + desc = "A direction sign, pointing out which way the Engineering department is." + icon_state = "direction_eng" + +/obj/structure/sign/directions/security + name = "security department" + desc = "A direction sign, pointing out which way the Security department is." + icon_state = "direction_sec" + +/obj/structure/sign/directions/medical + name = "medical bay" + desc = "A direction sign, pointing out which way the Medical Bay is." + icon_state = "direction_med" + +/obj/structure/sign/directions/evac + name = "escape arm" + desc = "A direction sign, pointing out which way the escape shuttle dock is." + icon_state = "direction_evac" \ No newline at end of file diff --git a/icons/obj/decals.dmi b/icons/obj/decals.dmi index 12791090e09e87b4a8698118943c216c99a23adc..fdeab8c4224950f7c583d17fd111acb23d9c4919 100644 GIT binary patch literal 29461 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 ByW9W( From 6275e9f88a439d5ef619cc7e0521a7a626cc4f8e Mon Sep 17 00:00:00 2001 From: dannno Date: Sun, 1 Feb 2015 09:46:29 -0500 Subject: [PATCH 061/122] waht --- _maps/RandomZLevels/undergroundoutpost45.dmm | 45 +++++++++--------- .../mob/living/carbon/human/species.dm | 4 +- code/modules/projectiles/guns/energy/laser.dm | 1 + icons/mob/inhands/guns_lefthand.dmi | Bin 27013 -> 27347 bytes icons/mob/inhands/guns_righthand.dmi | Bin 29269 -> 29556 bytes 5 files changed, 26 insertions(+), 24 deletions(-) diff --git a/_maps/RandomZLevels/undergroundoutpost45.dmm b/_maps/RandomZLevels/undergroundoutpost45.dmm index 652a4a008c2..c8523dbe502 100644 --- a/_maps/RandomZLevels/undergroundoutpost45.dmm +++ b/_maps/RandomZLevels/undergroundoutpost45.dmm @@ -6,16 +6,16 @@ "af" = (/turf/simulated/shuttle/wall{icon_state = "swall12"; dir = 2},/area/awaycontent/a1{has_gravity = 1; name = "UO45 Central Hall"}) "ag" = (/turf/simulated/shuttle/wall{tag = "icon-swallc1"; icon_state = "swallc1"; dir = 2},/area/awaycontent/a1{has_gravity = 1; name = "UO45 Central Hall"}) "ah" = (/turf/simulated/shuttle/wall{icon_state = "swall3"; dir = 2},/area/awaycontent/a1{has_gravity = 1; name = "UO45 Central Hall"}) -"ai" = (/obj/effect/decal/cleanable/dirt,/turf/simulated/floor/plasteel{dir = 9; heat_capacity = 1e+006; icon_state = "darkblue"; tag = "icon-darkblue (NORTHWEST)"},/area/awaycontent/a1{has_gravity = 1; name = "UO45 Central Hall"}) -"aj" = (/obj/effect/decal/cleanable/dirt,/turf/simulated/floor/plasteel{tag = "icon-darkblue (NORTH)"; icon_state = "darkblue"; dir = 1; heat_capacity = 1e+006},/area/awaycontent/a1{has_gravity = 1; name = "UO45 Central Hall"}) -"ak" = (/turf/simulated/floor/plasteel{tag = "icon-darkblue (NORTH)"; icon_state = "darkblue"; dir = 1; heat_capacity = 1e+006},/area/awaycontent/a1{has_gravity = 1; name = "UO45 Central Hall"}) -"al" = (/turf/simulated/floor/plasteel{dir = 5; heat_capacity = 1e+006; icon_state = "darkblue"; tag = "icon-darkblue (NORTHEAST)"},/area/awaycontent/a1{has_gravity = 1; name = "UO45 Central Hall"}) +"ai" = (/obj/effect/decal/cleanable/dirt,/turf/simulated/floor/plasteel{broken = 1; dir = 8; heat_capacity = 1e+006; icon_state = "damaged1"; tag = "icon-damaged1 (WEST)"},/area/awaycontent/a1{has_gravity = 1; name = "UO45 Central Hall"}) +"aj" = (/obj/effect/decal/cleanable/dirt,/turf/simulated/floor/plasteel{broken = 1; dir = 8; heat_capacity = 1e+006; icon_state = "damaged2"; tag = "icon-damaged2 (WEST)"},/area/awaycontent/a1{has_gravity = 1; name = "UO45 Central Hall"}) +"ak" = (/obj/machinery/light/small{active_power_usage = 0; dir = 8; icon_state = "bulb-broken"; status = 2},/turf/simulated/floor/plasteel{burnt = 1; dir = 8; heat_capacity = 1e+006; icon_state = "floorscorched2"; tag = "icon-floorscorched2 (WEST)"},/area/awaycontent/a1{has_gravity = 1; name = "UO45 Central Hall"}) +"al" = (/turf/simulated/floor/plasteel{broken = 1; dir = 8; heat_capacity = 1e+006; icon_state = "damaged4"; tag = "icon-damaged4 (WEST)"},/area/awaycontent/a1{has_gravity = 1; name = "UO45 Central Hall"}) "am" = (/turf/simulated/wall/r_wall/rust,/area/awaycontent/a1{has_gravity = 1; name = "UO45 Central Hall"}) -"an" = (/obj/machinery/light/small{dir = 8},/turf/simulated/floor/plasteel{dir = 8; heat_capacity = 1e+006; icon_state = "darkblue"; tag = "icon-darkblue (WEST)"},/area/awaycontent/a1{has_gravity = 1; name = "UO45 Central Hall"}) +"an" = (/obj/effect/decal/cleanable/dirt,/obj/machinery/light/small{active_power_usage = 0; dir = 4; icon_state = "bulb-broken"; status = 2},/turf/simulated/floor/plating{heat_capacity = 1e+006},/area/awaycontent/a1{has_gravity = 1; name = "UO45 Central Hall"}) "ao" = (/turf/simulated/floor/plasteel{heat_capacity = 1e+006; icon_state = "dark"},/area/awaycontent/a1{has_gravity = 1; name = "UO45 Central Hall"}) -"ap" = (/obj/machinery/light/small{dir = 4},/obj/effect/decal/cleanable/dirt,/turf/simulated/floor/plasteel{dir = 4; heat_capacity = 1e+006; icon_state = "darkblue"; tag = "icon-darkblue (EAST)"},/area/awaycontent/a1{has_gravity = 1; name = "UO45 Central Hall"}) -"aq" = (/obj/machinery/door_control{desc = "A remote control-switch to send the elevator to the basement floor."; id = "UO45_useless"; name = "B1"; pixel_x = 6; pixel_y = -24; req_access_txt = "0"},/obj/machinery/door_control{desc = "A remote control-switch for the elevator doors."; id = "UO45_Elevator"; name = "Elevator Doors"; pixel_x = -6; pixel_y = -24; req_access_txt = "0"},/obj/machinery/door_control{desc = "A remote control-switch to send the elevator to the ground floor."; id = "UO45_useless"; name = "G1"; pixel_x = 6; pixel_y = -34; req_access_txt = "0"},/turf/simulated/floor/plasteel{tag = "icon-darkblue (SOUTHWEST)"; icon_state = "darkblue"; dir = 10; heat_capacity = 1e+006},/area/awaycontent/a1{has_gravity = 1; name = "UO45 Central Hall"}) -"ar" = (/turf/simulated/floor/plasteel{heat_capacity = 1e+006; icon_state = "darkblue"; tag = "icon-darkblue"; temperature = 273.15},/area/awaycontent/a1{has_gravity = 1; name = "UO45 Central Hall"}) +"ap" = (/obj/machinery/door_control{desc = "A remote control-switch to send the elevator to the basement floor."; id = "UO45_useless"; name = "B1"; pixel_x = 6; pixel_y = -24; req_access_txt = "0"},/obj/machinery/door_control{desc = "A remote control-switch for the elevator doors."; id = "UO45_Elevator"; name = "Elevator Doors"; pixel_x = -6; pixel_y = -24; req_access_txt = "0"},/obj/machinery/door_control{desc = "A remote control-switch to send the elevator to the ground floor."; id = "UO45_useless"; name = "G1"; pixel_x = 6; pixel_y = -34; req_access_txt = "0"},/turf/simulated/floor/plating{burnt = 1; heat_capacity = 1e+006; icon_state = "panelscorched"; tag = "icon-panelscorched"},/area/awaycontent/a1{has_gravity = 1; name = "UO45 Central Hall"}) +"aq" = (/turf/simulated/floor/plasteel{broken = 1; dir = 8; heat_capacity = 1e+006; icon_state = "damaged3"; tag = "icon-damaged3 (WEST)"},/area/awaycontent/a1{has_gravity = 1; name = "UO45 Central Hall"}) +"ar" = (/obj/machinery/door/poddoor{id = "UO45_Elevator"; name = "Elevator Door"},/turf/simulated/floor/plating{broken = 1; heat_capacity = 1e+006; icon_state = "platingdmg1"; tag = "icon-platingdmg1"},/area/awaycontent/a1{has_gravity = 1; name = "UO45 Central Hall"}) "as" = (/obj/effect/decal/cleanable/dirt,/turf/simulated/floor/plasteel{heat_capacity = 1e+006; icon_state = "darkblue"; tag = "icon-darkblue"; temperature = 273.15},/area/awaycontent/a1{has_gravity = 1; name = "UO45 Central Hall"}) "at" = (/turf/simulated/floor/plasteel{tag = "icon-darkblue (SOUTHEAST)"; icon_state = "darkblue"; dir = 6; heat_capacity = 1e+006},/area/awaycontent/a1{has_gravity = 1; name = "UO45 Central Hall"}) "au" = (/turf/simulated/shuttle/wall{tag = "icon-swallc3"; icon_state = "swallc3"; dir = 2},/area/awaycontent/a1{has_gravity = 1; name = "UO45 Central Hall"}) @@ -193,7 +193,7 @@ "dK" = (/obj/machinery/light{dir = 1},/obj/structure/disposalpipe/segment{dir = 4},/obj/machinery/firealarm{dir = 2; pixel_x = 0; pixel_y = 24},/turf/simulated/floor/plasteel{dir = 1; heat_capacity = 1e+006; icon_state = "green"},/area/awaycontent/a1{has_gravity = 1; name = "UO45 Central Hall"}) "dL" = (/obj/structure/disposalpipe/segment{dir = 2; icon_state = "pipe-c"},/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden,/obj/structure/sink{pixel_y = 25},/turf/simulated/floor/plasteel{dir = 1; heat_capacity = 1e+006; icon_state = "green"},/area/awaycontent/a1{has_gravity = 1; name = "UO45 Central Hall"}) "dM" = (/turf/simulated/floor/plasteel{dir = 5; heat_capacity = 1e+006; icon_state = "green"},/area/awaycontent/a1{has_gravity = 1; name = "UO45 Central Hall"}) -"dN" = (/obj/structure/closet/secure_closet{icon_broken = "hydrosecurebroken"; icon_closed = "hydrosecure"; icon_locked = "hydrosecure1"; icon_off = "hydrosecureoff"; icon_opened = "hydrosecureopen"; icon_state = "hydrosecure"; locked = 0; name = "botanist's locker"; req_access_txt = "201"},/obj/item/weapon/storage/bag/plants/portaseeder,/obj/item/device/analyzer/plant_analyzer,/obj/item/clothing/head/greenbandana,/obj/item/weapon/hatchet,/turf/simulated/floor/plasteel{dir = 4; heat_capacity = 1e+006; icon_state = "vault"},/area/awaycontent/a1{has_gravity = 1; name = "UO45 Central Hall"}) +"dN" = (/obj/structure/closet/secure_closet{icon_broken = "hydrosecurebroken"; icon_closed = "hydrosecure"; icon_locked = "hydrosecure1"; icon_off = "hydrosecureoff"; icon_opened = "hydrosecureopen"; icon_state = "hydrosecure"; locked = 0; name = "botanist's locker"; req_access_txt = "201"},/obj/item/weapon/storage/bag/plants/portaseeder,/obj/item/device/analyzer/plant_analyzer,/obj/item/clothing/mask/bandana,/obj/item/weapon/hatchet,/turf/simulated/floor/plasteel{dir = 4; heat_capacity = 1e+006; icon_state = "vault"},/area/awaycontent/a1{has_gravity = 1; name = "UO45 Central Hall"}) "dO" = (/obj/machinery/atmospherics/pipe/simple/supply/hidden,/obj/effect/decal/cleanable/dirt,/turf/simulated/floor/plating{burnt = 1; heat_capacity = 1e+006; icon_state = "panelscorched"; tag = "icon-panelscorched"},/area/awaycontent/a1{has_gravity = 1; name = "UO45 Central Hall"}) "dP" = (/obj/structure/closet/secure_closet{icon_broken = "secbroken"; icon_closed = "sec"; icon_locked = "sec1"; icon_off = "secoff"; icon_opened = "secopen"; icon_state = "sec1"; locked = 1; name = "security officer's locker"; req_access_txt = "201"},/obj/item/weapon/storage/belt/security,/obj/item/device/flash/handheld,/obj/effect/decal/cleanable/dirt,/turf/simulated/floor/plasteel{dir = 9; heat_capacity = 1e+006; icon_state = "red"},/area/awaycontent/a1{has_gravity = 1; name = "UO45 Central Hall"}) "dQ" = (/obj/machinery/atmospherics/pipe/manifold/scrubbers/hidden{tag = "icon-manifold-r-f (WEST)"; dir = 8},/obj/structure/stool/bed/chair,/obj/structure/reagent_dispensers/peppertank{pixel_x = 0; pixel_y = 30},/turf/simulated/floor/plasteel{dir = 1; heat_capacity = 1e+006; icon_state = "red"},/area/awaycontent/a1{has_gravity = 1; name = "UO45 Central Hall"}) @@ -210,7 +210,7 @@ "eb" = (/obj/structure/disposalpipe/segment{dir = 8; icon_state = "pipe-c"},/turf/simulated/floor/plasteel{heat_capacity = 1e+006},/area/awaycontent/a1{has_gravity = 1; name = "UO45 Central Hall"}) "ec" = (/obj/machinery/hydroponics/constructable,/turf/simulated/floor/plasteel{heat_capacity = 1e+006; icon_state = "dark"},/area/awaycontent/a1{has_gravity = 1; name = "UO45 Central Hall"}) "ed" = (/obj/structure/disposalpipe/segment,/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden,/obj/effect/decal/cleanable/dirt,/turf/simulated/floor/plasteel{dir = 8; heat_capacity = 1e+006; icon_state = "floorgrime"; tag = "icon-floorgrime (WEST)"},/area/awaycontent/a1{has_gravity = 1; name = "UO45 Central Hall"}) -"ee" = (/obj/structure/closet/secure_closet{icon_broken = "hydrosecurebroken"; icon_closed = "hydrosecure"; icon_locked = "hydrosecure1"; icon_off = "hydrosecureoff"; icon_opened = "hydrosecureopen"; icon_state = "hydrosecure"; locked = 0; name = "botanist's locker"; req_access_txt = "201"},/obj/item/clothing/suit/apron,/obj/item/weapon/storage/bag/plants/portaseeder,/obj/item/clothing/head/greenbandana,/obj/item/weapon/minihoe,/turf/simulated/floor/plasteel{dir = 4; heat_capacity = 1e+006; icon_state = "vault"},/area/awaycontent/a1{has_gravity = 1; name = "UO45 Central Hall"}) +"ee" = (/obj/structure/closet/secure_closet{icon_broken = "hydrosecurebroken"; icon_closed = "hydrosecure"; icon_locked = "hydrosecure1"; icon_off = "hydrosecureoff"; icon_opened = "hydrosecureopen"; icon_state = "hydrosecure"; locked = 0; name = "botanist's locker"; req_access_txt = "201"},/obj/item/clothing/suit/apron,/obj/item/weapon/storage/bag/plants/portaseeder,/obj/item/clothing/mask/bandana,/obj/item/weapon/minihoe,/turf/simulated/floor/plasteel{dir = 4; heat_capacity = 1e+006; icon_state = "vault"},/area/awaycontent/a1{has_gravity = 1; name = "UO45 Central Hall"}) "ef" = (/obj/machinery/atmospherics/pipe/simple/supply/hidden{dir = 5},/turf/simulated/floor/plating{heat_capacity = 1e+006},/area/awaycontent/a1{has_gravity = 1; name = "UO45 Central Hall"}) "eg" = (/obj/machinery/atmospherics/pipe/simple/supply/hidden{dir = 4},/obj/machinery/door/airlock/maintenance{name = "Security Checkpoint Maintenance"; req_access_txt = "201"; req_one_access_txt = "0"},/turf/simulated/floor/plating{heat_capacity = 1e+006},/area/awaycontent/a1{has_gravity = 1; name = "UO45 Central Hall"}) "eh" = (/obj/machinery/atmospherics/pipe/manifold/supply/hidden{tag = "icon-manifold-b-f (NORTH)"; dir = 1},/turf/simulated/floor/plasteel{dir = 8; heat_capacity = 1e+006; icon_state = "red"},/area/awaycontent/a1{has_gravity = 1; name = "UO45 Central Hall"}) @@ -747,8 +747,8 @@ "os" = (/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"; pixel_x = 0; tag = ""},/obj/structure/disposalpipe/segment{dir = 4},/obj/machinery/atmospherics/pipe/manifold/supply/hidden{tag = "icon-manifold-b-f (EAST)"; dir = 4},/turf/simulated/floor/plasteel{heat_capacity = 1e+006},/area/awaycontent/a2{has_gravity = 1; name = "UO45 Crew Quarters"}) "ot" = (/obj/structure/cable{d1 = 2; d2 = 8; icon_state = "2-8"; tag = ""},/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"; pixel_y = 0; tag = ""},/obj/structure/disposalpipe/junction{tag = "icon-pipe-y (WEST)"; icon_state = "pipe-y"; dir = 8},/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden,/obj/effect/decal/cleanable/dirt,/turf/simulated/floor/plasteel{heat_capacity = 1e+006},/area/awaycontent/a2{has_gravity = 1; name = "UO45 Crew Quarters"}) "ou" = (/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"; pixel_y = 0; tag = ""},/turf/simulated/floor/plasteel{dir = 4; heat_capacity = 1e+006; icon_state = "warndark"; tag = "icon-warndark (EAST)"},/area/awaycontent/a3{has_gravity = 1; name = "UO45 Engineering"}) -"ov" = (/obj/structure/cable,/obj/machinery/power/smes{charge = 1.5e+006; input_level = 10000; inputting = 1; output_level = 7000; outputting = 1},/turf/simulated/floor/plating{heat_capacity = 1e+006},/area/awaycontent/a3{has_gravity = 1; name = "UO45 Engineering"}) -"ow" = (/obj/structure/cable,/obj/machinery/power/smes{charge = 1.5e+006; input_level = 30000; inputting = 1; output_level = 7000; outputting = 1},/turf/simulated/floor/plating{heat_capacity = 1e+006},/area/awaycontent/a3{has_gravity = 1; name = "UO45 Engineering"}) +"ov" = (/obj/structure/cable,/obj/machinery/power/smes{charge = 1.5e+006; input_level = 30000; inputting = 0; output_level = 7000; outputting = 1},/turf/simulated/floor/plating{heat_capacity = 1e+006},/area/awaycontent/a3{has_gravity = 1; name = "UO45 Engineering"}) +"ow" = (/obj/structure/cable,/obj/machinery/power/smes{charge = 1.5e+006; input_level = 10000; inputting = 0; output_level = 7000; outputting = 1},/turf/simulated/floor/plating{heat_capacity = 1e+006},/area/awaycontent/a3{has_gravity = 1; name = "UO45 Engineering"}) "ox" = (/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"; pixel_y = 0; tag = ""},/turf/simulated/floor/plasteel{dir = 8; heat_capacity = 1e+006; icon_state = "warndark"; tag = "icon-warndark (WEST)"},/area/awaycontent/a3{has_gravity = 1; name = "UO45 Engineering"}) "oy" = (/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"; pixel_y = 0; tag = ""},/obj/structure/disposalpipe/segment,/obj/machinery/atmospherics/pipe/simple/supply/hidden,/turf/simulated/floor/plating{broken = 1; heat_capacity = 1e+006; icon_state = "platingdmg3"; tag = "icon-platingdmg3"},/area/awaycontent/a5{has_gravity = 1; name = "UO45 Research"}) "oz" = (/obj/structure/filingcabinet/chestdrawer,/turf/simulated/floor/plasteel{dir = 5; heat_capacity = 1e+006; icon_state = "cafeteria"; tag = "icon-cafeteria (NORTHEAST)"},/area/awaycontent/a5{has_gravity = 1; name = "UO45 Research"}) @@ -857,7 +857,6 @@ "qy" = (/obj/machinery/light/small{dir = 8},/obj/machinery/alarm{dir = 4; frequency = 1439; locked = 0; pixel_x = -23; pixel_y = 0; req_access = null},/turf/simulated/floor/plasteel{heat_capacity = 1e+006; icon_state = "freezerfloor"},/area/awaycontent/a2{has_gravity = 1; name = "UO45 Crew Quarters"}) "qz" = (/obj/structure/sink{dir = 4; icon_state = "sink"; pixel_x = 11; pixel_y = 0},/obj/effect/decal/cleanable/dirt,/turf/simulated/floor/plasteel{heat_capacity = 1e+006; icon_state = "freezerfloor"},/area/awaycontent/a2{has_gravity = 1; name = "UO45 Crew Quarters"}) "qA" = (/obj/structure/disposalpipe/segment,/obj/effect/decal/cleanable/dirt,/turf/simulated/floor/plating{heat_capacity = 1e+006},/area/awaycontent/a2{has_gravity = 1; name = "UO45 Crew Quarters"}) -"qB" = (/obj/machinery/atmospherics/unary/outlet_injector{dir = 4},/turf/simulated/floor/plating/asteroid{carbon_dioxide = 173.4; heat_capacity = 1e+006; name = "Cave Floor"; nitrogen = 135.1; oxygen = 0; temperature = 363.9; toxins = 229.8},/area/awaycontent/a7{always_unpowered = 1; has_gravity = 1; name = "UO45 Caves"; power_environ = 0; power_equip = 0; power_light = 0; poweralm = 0}) "qC" = (/obj/machinery/atmospherics/pipe/manifold/scrubbers/hidden{tag = "icon-manifold-r-f (NORTH)"; dir = 1},/turf/simulated/floor/plating/asteroid{carbon_dioxide = 173.4; heat_capacity = 1e+006; name = "Cave Floor"; nitrogen = 135.1; oxygen = 0; temperature = 363.9; toxins = 229.8},/area/awaycontent/a7{always_unpowered = 1; has_gravity = 1; name = "UO45 Caves"; power_environ = 0; power_equip = 0; power_light = 0; poweralm = 0}) "qD" = (/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{dir = 9},/turf/simulated/floor/plating/asteroid{carbon_dioxide = 173.4; heat_capacity = 1e+006; name = "Cave Floor"; nitrogen = 135.1; oxygen = 0; temperature = 363.9; toxins = 229.8},/area/awaycontent/a7{always_unpowered = 1; has_gravity = 1; name = "UO45 Caves"; power_environ = 0; power_equip = 0; power_light = 0; poweralm = 0}) "qE" = (/obj/machinery/vending/cola,/turf/simulated/floor/plasteel{heat_capacity = 1e+006; icon_state = "dark"},/area/awaycontent/a3{has_gravity = 1; name = "UO45 Engineering"}) @@ -992,7 +991,6 @@ "td" = (/obj/machinery/atmospherics/pipe/simple/cyan/visible,/turf/simulated/floor/plasteel{heat_capacity = 1e+006},/area/awaycontent/a3{has_gravity = 1; name = "UO45 Engineering"}) "te" = (/obj/machinery/computer/general_air_control/large_tank_control{frequency = 1441; input_tag = "UO45_waste_in"; name = "Gas Mix Tank Control"; output_tag = "UO45_waste_out"; sensors = list("UO45_waste_sensor" = "Tank")},/obj/machinery/atmospherics/pipe/simple/green/visible{dir = 6},/obj/effect/decal/cleanable/dirt,/turf/simulated/floor/plasteel{dir = 6; heat_capacity = 1e+006; icon_state = "green"},/area/awaycontent/a3{has_gravity = 1; name = "UO45 Engineering"}) "tf" = (/obj/structure/grille,/obj/structure/window/reinforced/fulltile,/obj/machinery/atmospherics/pipe/simple/green/visible{dir = 4},/obj/machinery/meter{layer = 3.3},/turf/simulated/floor/plating{heat_capacity = 1e+006},/area/awaycontent/a3{has_gravity = 1; name = "UO45 Engineering"}) -"tg" = (/obj/machinery/atmospherics/unary/outlet_injector/on{dir = 8; frequency = 1441; id = "UO45_waste_in"; pixel_y = 1},/turf/simulated/floor/engine{name = "vacuum floor"; nitrogen = 0.01; oxygen = 0.01},/area/awaycontent/a3{has_gravity = 1; name = "UO45 Engineering"}) "th" = (/obj/machinery/air_sensor{frequency = 1441; id_tag = "UO45_waste_sensor"; output = 63},/turf/simulated/floor/engine{name = "vacuum floor"; nitrogen = 0.01; oxygen = 0.01},/area/awaycontent/a3{has_gravity = 1; name = "UO45 Engineering"}) "ti" = (/obj/structure/cable{d1 = 1; d2 = 4; icon_state = "1-4"; tag = ""},/obj/structure/disposalpipe/segment{dir = 1; icon_state = "pipe-c"},/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden,/turf/simulated/floor/plating{heat_capacity = 1e+006},/area/awaycontent/a5{has_gravity = 1; name = "UO45 Research"}) "tj" = (/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"; pixel_x = 0; tag = ""},/obj/structure/disposalpipe/segment{dir = 4},/obj/machinery/atmospherics/pipe/manifold/supply/hidden{tag = "icon-manifold-b-f (WEST)"; dir = 8},/turf/simulated/floor/plating{heat_capacity = 1e+006},/area/awaycontent/a5{has_gravity = 1; name = "UO45 Research"}) @@ -1307,6 +1305,8 @@ "zg" = (/turf/simulated/floor/plating{broken = 1; heat_capacity = 1e+006; icon_state = "platingdmg2"; tag = "icon-platingdmg2"},/area/awaycontent/a7{always_unpowered = 1; has_gravity = 1; name = "UO45 Caves"; power_environ = 0; power_equip = 0; power_light = 0; poweralm = 0}) "zh" = (/turf/simulated/floor/plating{broken = 1; heat_capacity = 1e+006; icon_state = "platingdmg3"; tag = "icon-platingdmg3"},/area/awaycontent/a7{always_unpowered = 1; has_gravity = 1; name = "UO45 Caves"; power_environ = 0; power_equip = 0; power_light = 0; poweralm = 0}) "zi" = (/turf/simulated/floor/plating{burnt = 1; heat_capacity = 1e+006; icon_state = "panelscorched"; tag = "icon-panelscorched"},/area/awaycontent/a7{always_unpowered = 1; has_gravity = 1; name = "UO45 Caves"; power_environ = 0; power_equip = 0; power_light = 0; poweralm = 0}) +"zj" = (/obj/machinery/atmospherics/unary/outlet_injector/on{dir = 4},/turf/simulated/floor/plating/asteroid{carbon_dioxide = 173.4; heat_capacity = 1e+006; name = "Cave Floor"; nitrogen = 135.1; oxygen = 0; temperature = 363.9; toxins = 229.8},/area/awaycontent/a7{always_unpowered = 1; has_gravity = 1; name = "UO45 Caves"; power_environ = 0; power_equip = 0; power_light = 0; poweralm = 0}) +"zk" = (/obj/machinery/atmospherics/unary/outlet_injector/on{dir = 8; frequency = 1441; id = "UO45_waste_in"},/turf/simulated/floor/engine{name = "vacuum floor"; nitrogen = 0.01; oxygen = 0.01},/area/awaycontent/a3{has_gravity = 1; name = "UO45 Engineering"}) (1,1,1) = {" aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaababaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa @@ -1325,10 +1325,10 @@ aaaaaaaaaaaaaaacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacac aaaaaaaaaaaaaaacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacaaaaaaaaaaaaaa aaaaaaaaaaaaaaacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacadadadadadadadadacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacaaaaaaaaaaaaaa aaaaaaaaaaaaaaacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacadaeafafafafagadacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacaaaaaaaaaaaaaa -aaaaaaaaaaaaaaacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacadahaiajakalahamacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacaaaaaaaaaaaaaa -aaaaaaaaaaaaaaacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacadahanaoaoapahadacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacaaaaaaaaaaaaaa -aaaaaaaaaaaaaaacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacadahaqarasatahadacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacaaaaaaaaaaaaaa -aaaaaaaaaaaaaaacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacadauavawawaxayadacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacaaaaaaaaaaaaaa +aaaaaaaaaaaaaaacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacadahaiajcvbNahamacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacaaaaaaaaaaaaaa +aaaaaaaaaaaaaaacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacadahakaoalanahadacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacaaaaaaaaaaaaaa +aaaaaaaaaaaaaaacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacadahapaqasatahadacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacaaaaaaaaaaaaaa +aaaaaaaaaaaaaaacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacadauavawaraxayadacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacaaaaaaaaaaaaaa aaaaaaaaaaaaaaacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacazaAadamamawawadamadazazacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacaaaaaaaaaaaaaa aaaaaaaaaaaaaaacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacaAaBaCaDaEaFaFaFaGaHaIazacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacaaaaaaaaaaaaaa aaaaaaaaaaaaaaacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacazaJaCaFaFaFaKaKaFaFaLaAacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacaaaaaaaaaaaaaa @@ -1374,16 +1374,16 @@ aaaaaaaaaaaaaaacacacacacacgLlplqlrlsltlultlvlwlxlylzlzlAlzlBlzlClzlDlElFlGlHlIlJ aaaaaaaaaaaaaaacacacacacacgMmbjJjIiQmcmcmdgLmemfgxgxgVgVgVgxgVgVgVgwgwmgmhgzgzgzmimjmkmkgyhIhIhIhImlkYkZgAmmmnmogzmpgmmqmrfPmsmtmufOmvmwmxfOfOfPfPfOfPmymzgheKeKeKeKeKeKeKeKacaceKeKeKeKacacacaclomAmBmaloacacacacacacacacacacacacacacacacacacacaaaaaaaaaaaaaa aaaaaaaaaaaaaaacacacacacacgLmCmDmEmFmGmHmIgxgVgVgweKeKeKeKmJeKeKeKeKhdmKmLgAmMmNmOmPmQmRgzmSmTmUhImlmVgAgAgygzgzgymWmXfOfOfPmYmZnafPnbmZncfOndnenfngfPnhmzgseKeKeKeKeKeKeKeKeKeKeKeKeKeKacacaclololoninjnjloacacacacacacacacacacacacacacacacacacaaaaaaaaaaaaaa aaaaaaaaaaaaaaacacacacacacgLgLgMgMgLgwgxgxgweKeKmJeKeKeKeKeKeKeKeKggeKmKnkgAnlnmnnnomQmQgynpnqnrhImlnshdntnunvnvnwnxnynznAfPnBnCfPfOnBnDfPfPnEglnFnGnHnInJgseKeKeKeKeKeKeKeKeKeKeKeKeKeKacacacnjnKnLnLnLnMloacacacacacacacacacacacacacacacacacacaaaaaaaaaaaaaa -aaaaaaaaaaaaaaacacacacacacacacacacacaceKeKeKeKeKeKeKeKeKeKeKggeKeKeKnNnOnPgAnQnmnRnSnTnUgynVnWnXhImlmVhdnPnYnZoaoaobocodoeofogohoiojokoholomonooopoqorosotgseKeKeKeKeKeKeKeKeKeKeKeKeKeKeKacacnjouovowovoxlolololoacacacacacacacacacacacacacacacaaaaaaaaaaaaaa +aaaaaaaaaaaaaaacacacacacacacacacacacaceKeKeKeKeKeKeKeKeKeKeKggeKeKeKacnOnPgAnQnmnRnSnTnUgynVnWnXhImlmVhdnPnYnZoaoaobocodoeofogohoiojokoholomonooopoqorosotgseKeKeKeKeKeKeKeKeKeKeKeKeKeKeKacacnjouowovowoxlolololoacacacacacacacacacacacacacacacaaaaaaaaaaaaaa aaaaaaaaaaaaaaacacacacacacacacacacacacaceKggeKeKeKeKeKeKeKeKeKeKeKeKgAnOoygAoznmoAoBoCoDgyoEoFnXoGmlmVgAnkmKeKeKgsoHleleoIoJoKoLoMoNoKoOoPoQoRoLoSoTfPoUoVghhieKeKeKeKeKeKeKeKeKeKeKeKeKeKacaclooWoXoYoZpalopbpcloacacacacacacacacacacacacacacacaaaaaaaaaaaaaa aaaaaaaaaaaaaaacacacacacacacacacacacacacacaceKeKeKggeKeKeKeKeKeKeKgghdpdpegApfpgmQphpioCgzpjpkplhImlkWhdpmmKeKeKgspnpogtppfPpqfPprfOpsfPfPfOptfPfPpufPpvmzgseKeKeKeKeKeKeKpwpxpxpxpxpypxpxpxpzpApBpCpDpEpFnjpGpHloacacacacacacacacacacacacacacacaaaaaaaaaaaaaa aaaaaaaaaaaaaaacacacacacacacacacacacacacacacacacacacacggeKeKggeKeKachdpIpJgAgzgzpKgzgzpLgzgzpMpNgypOjPgAnPnOggeKgsgspPpQpRfOpSpTpUpVpWfOpXpYpZqafOqbfOjbmzgseKeKeKeKeKeKeKqcnjnjqdqdnjeKeKeKacloqdqdqeqdqdloqfqglololoacacacacacacacacacacacacacaaaaaaaaaaaaaa -aaaaaaaaaaaaaaacacacacacacacacacacacacacacacacacacacacaceKeKeKeKacacgzqhqiqjqkqlqmqngyqoqpgzqqqrqshbqtgAnPmKeKeKeKgsgsgsgsfLquqvfPqwqxfPfPfPqyqzfOqAfPjbmzgseKeKeKgCeKqBqCqDnjqEqFqFlonjnjnjloloqGqHqIqJqKqLqMqNqOqPloacacacacacacacacacacacacacaaaaaaaaaaaaaa +aaaaaaaaaaaaaaacacacacacacacacacacacacacacacacacacacacaceKeKeKeKacacgzqhqiqjqkqlqmqngyqoqpgzqqqrqshbqtgAnPmKeKeKeKgsgsgsgsfLquqvfPqwqxfPfPfPqyqzfOqAfPjbmzgseKeKeKgCeKzjqCqDnjqEqFqFlonjnjnjloloqGqHqIqJqKqLqMqNqOqPloacacacacacacacacacacacacacaaaaaaaaaaaaaa aaaaaaaaaaaaaaacacacacacacacacacacacacacacacacacacacacacacacacacacacgzqQpJqRqSqTqUqVgAhdhdgAqWqXhbhbqYgAqZmKeKeKeKeKeKeKeKghramufPmvrbfPrcrdpZrefPrffPrgrhfLgsgsgsghgsgsrifLlorjrkrlrmnjrnrorprqrrrsrtrurvrwrxryrzqPlolonjnjacacacacacacacacacacaaaaaaaaaaaaaa aaaaaaaaaaaaaaacacacacacacacacacacacacacacacacacacacacacacacacacacacgyrAqiqjrBrCrDrEgArFrGrHrIrJkQrKrLgArMmKeKeKeKggeKeKeKghghghghfPfOfPfOfOrNfPfPrOfOrPrQrRrSrTrUrVrSrWrXrYrZsasbscsdsesfsgshsisjskslsmsnsospsqsqsrssstsunjacacacacacacacacacacaaaaaaaaaaaaaa -aaaaaaaaaaaaaaacacacacacacacacacacacacacacacacacacacacacacacacacacacgyqQqigAgAgAhdhdgAsvswgAsxsyszsAsBgAnPmKacggeKeKeKeKggeKeKeKacacacfPsCsDpZsEfOrffOjRsFsGsHsIsHsJsHsKsLsMsNsOsOsPsQsRsSsTsUsVsWsXsYsZtatbrvtctdtetftgthloacacacacacacacacacacaaaaaaaaaaaaaa +aaaaaaaaaaaaaaacacacacacacacacacacacacacacacacacacacacacacacacacacacgyqQqigAgAgAhdhdgAsvswgAsxsyszsAsBgAnPmKacggeKeKeKeKggeKeKeKacacacfPsCsDpZsEfOrffOjRsFsGsHsIsHsJsHsKsLsMsNsOsOsPsQsRsSsTsUsVsWsXsYsZtatbrvtctdtetfzkthloacacacacacacacacacacaaaaaaaaaaaaaa aaaaaaaaaaaaaaacacacacacacacacacacacacacacacacacacacacacacacacacacacgytitjnutknvnvtltmtntotptptqtptptrtsttnOaceKeKeKeKeKeKeKeKeKeKeKacfLtupZpZsEfOrffPtvtwghgsgsgsghgsgsrifLlotxtytztAlotBtCtDsVtEtFtGtHtItJrlrltKtLlolonjnjacacacacacacacacacacaaaaaaaaaaaaaa -aaaaaaaaaaaaaaacacacacacacacacacacacacacacacacacacacacacacacacacacacgztMtNtOtPtPtOtQtRtRtStRtRtTtRtUtVtWtXtYaceKeKeKeKeKeKeKeKeKeKeKggghghtZuafOfOqAfPubucgseKeKeKudeKqBqDeKnjueufuglolouhuiujloukulumunuoupuqurusutnjacacacacacacacacacacacacacaaaaaaaaaaaaaa +aaaaaaaaaaaaaaacacacacacacacacacacacacacacacacacacacacacacacacacacacgztMtNtOtPtPtOtQtRtRtStRtRtTtRtUtVtWtXtYaceKeKeKeKeKeKeKeKeKeKeKggghghtZuafOfOqAfPubucgseKeKeKudeKzjqDeKnjueufuglolouhuiujloukulumunuoupuqurusutnjacacacacacacacacacacacacacaaaaaaaaaaaaaa aaaaaaaaaaaaaaacacacacacacacacacacacacacacacacacacacacacacacacacacacgyuuuvuwgznNgzgzgzgzgygygAgAhdhdgzuxuyhdeKeKeKggeKeKeKeKeKeKeKeKeKeKghghghfOuzrfuAubucgseKeKeKeKeKeKeKeKnjuBuCuDuEuFqduGqdlolouHuIlouJuKnjuJuKnjnjacacacacacacacacacacacacacaaaaaaaaaaaaaa aaaaaaaaaaaaaaacacacacacacacacacacacacacacacacacacacacacacacacacacacgzuLuMuNgzacacacacacacacaceKeKhduOuPuQhdeKeKeKeKeKeKeKggeKaceKeKeKeKeKeKgsuRuSuTfPuUucgseKeKeKeKeKeKeKeKqduVuWuXsOuYsOsTuZvavbvcvdlovevflovgvhloacacacacacacacacacacacacacacaaaaaaaaaaaaaa aaaaaaaaaaaaaaacacacacacacacacacacacacacacacacacacacacacacacacacacacgzvivjvkgyacacacacacacacacaceKhdhIvlhIhdeKeKeKeKeKeKeKeKacacacggeKeKeKvmvnvovpvqfOvrvsfLeKeKeKeKeKeKeKeKqdvtrlvuvvvwvxvyvzvAvBvCvDlovEvFlovGvHloacacacacacacacacacacacacacacaaaaaaaaaaaaaa @@ -1458,3 +1458,4 @@ aayUyVaayWyXyYyZzaaazbzcaazdaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa aazeaazfzgzhaaziaaaaaaaaaazdaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa "} + diff --git a/code/modules/mob/living/carbon/human/species.dm b/code/modules/mob/living/carbon/human/species.dm index f0dff8e7523..8aaf67db9f2 100644 --- a/code/modules/mob/living/carbon/human/species.dm +++ b/code/modules/mob/living/carbon/human/species.dm @@ -697,8 +697,8 @@ if((H.disabilities & FAT) && grav) mspeed += 1.5 - if(H.bodytemperature < 283.222 && grav) - mspeed += (283.222 - H.bodytemperature) / 10 * 1.75 + if(H.bodytemperature < 283.222) + mspeed += (283.222 - H.bodytemperature) / 10 * (grav+0.5) mspeed += speedmod diff --git a/code/modules/projectiles/guns/energy/laser.dm b/code/modules/projectiles/guns/energy/laser.dm index d0bacd57617..26955c38d71 100644 --- a/code/modules/projectiles/guns/energy/laser.dm +++ b/code/modules/projectiles/guns/energy/laser.dm @@ -23,6 +23,7 @@ obj/item/weapon/gun/energy/laser/retro /obj/item/weapon/gun/energy/laser/captain icon_state = "caplaser" + item_state = "caplaser" desc = "This is an antique laser gun. All craftsmanship is of the highest quality. It is decorated with assistant leather and chrome. The object menaces with spikes of energy. On the item is an image of Space Station 13. The station is exploding." force = 10 origin_tech = null diff --git a/icons/mob/inhands/guns_lefthand.dmi b/icons/mob/inhands/guns_lefthand.dmi index 82c22ba0bd5c9b639d1b955e7f226da193110832..21f990563b58d9d90ea722318cb61b0fddbf4629 100644 GIT binary patch delta 7500 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 Kfql}xANyZy>m|?t delta 7183 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 diff --git a/icons/mob/inhands/guns_righthand.dmi b/icons/mob/inhands/guns_righthand.dmi index 4bafe703ed932409854564a162ad3ae780629ce5..9301b3f50963f7b689a8b02d1d924dcab6b298b0 100644 GIT binary patch delta 10474 zcmb`M1yodDzxNNJD1wB5fW!zA(jXzyf&rp*H%NnY$07cLgd);8paRk*9YaXRh@^z{ zfHVvU1H;UF_&?9R@3Yo>?|ttZd(E1&&hPAf_CEF9pWk@|&ua^dt9O=RhLw&R4zSXQ`@yb> z@k+d9WgA74p^tc9ZEkRYy*DcDy1WUd63BRd@^PQlai zvqN@KrP5C|88i)s19xMsHq@vsvbbX6t#mf`8tG@q+YKUTY09TH!7=8r>`athf+h`m zD+rf(Lj6_eFTSDhm@7Wsi=y`x5rM9V!WaQ3M2>w`I=7#f-GsnfZU#m;H$!?Bw9VvZ z$Y9)xb5rd;yl&TSlOUL%MSj{vNya8?L)UBbIJDlD=6*ZFkVNkeiXu%dVp0^eY7+<) ziKR#P34KUXi^v7BK_Z!Q8W|62PEjY3MA&yQb6;YD9`-l-EPZ@*qTX*A?5O)R)l>AG zRV_a8KZH$Oy8O|^9QNzdV>VMe$}AQFYthylSd%}Yk&55ulUYwXbl1bIWE(xasXjYP z{l?EUOfD_@3I0)wJY^}~zaqo(n(ImLw4`gzg zw?v*Q$TNSqN=qaaMVG2tac|LyLcOVm{N#~kmsVfal+LkJK&_5B(kI5Xu}46zwr0jE zhI+<>?}#L(e)?1CsgAlL;Z;v%VjkW*;Q@d`iOR`s8x;DS-9s_>p@_%skm}CaQKtC& z^>gXtR@>~ggtQD_@RMc$WkQMl zU)3MK(Qb->wyPli8(RZt89z2Y8AJeBb;q_p;gYS&^Dc@V>NC%bNfXNsLNSPniCOGt z#q2-H`|JunqBU*WU<=Dr(Ap$^7Je|Tb5q#MS`7Ckkqg2@?I*y=I3NI^B^D1U1S26Xzo8{x#y#`w(%U_*~B^P4_e+5va zM)BPfFM!4m$m=c@gf0OURz26ZrYebU4reJIfj7XoCy%PcOYlBg67A%-a3(CY3NM#i z?)&U8d2dZwpcc=%umP+$ulFG)^8?l_w`S@nkTPc_t2IM=TlbLW^Q}R?3%GnLP}@LP zl#2y;)3dx&ihR}84lnIumh-*h1`OzxD;n6VQ_BgjtDqK0`}1;MzNk=5E;k^dYG;-M zPpGbA1Bq&}ILU+;xuA^199}Ce4Ksfhb1ooiV=$7rLMSiI!g>xzI&~p^$~q~)J=oF@ zUi{~savgQaxr4|BIBx&R$?-J#)WO#*%oEs$1`HD46(ISZ@2)XRLm=*lRmpsX0t;>Y zQ?Hs?uSt`zcPY3_%o67Lt3oI{Yzx@jY@C#m!W)`%`YT{ngUSFAtjO1AWlPYjf;I4J zp#u^%Rgwivct)e6SB&OQlS|AHvV{+1dQOivS8HcpCD=>+vRg49II_jHyp!2NlPnOz ztlM*>@db6CD{|yz)m6l$8x_LZb52M}jbF>cX-)$Lic#j>+=rM0(jeKp{2;&ARpK-6 zxFM;c#FIc-KU|!Pa>ds%Up}rNmUi>+v}Bhb!MLv_H}r=oq-~)4P;1!S9&&XNMAjVpkdIf`?`H=Qq>#F={W-)ktLvh0sI}2SefSZoJ>}utAsDe(>Wn zm2i@}L+!B|>uCEZtOs$}9Jt11!twE&-goGhBH8K5P@a8q1$^|0g|CB9aP7C_*0ho> z2ge54p!Y6z{sVbjnZyC|#R}YcoN18$we0-567DBq`>1Vx9Ocj3(07@Q@yU)q$M^e`^&C@a;_)!;w zr&`#}I*P@^%4_wzpwtjB_D08RruAv=unsUx7Q`Z)y`|ujPdvxUkU; zQ*Z>8*0!A1X5v?ffd#W>d2hA-$a^O2e`xpSin#N1 z;@Iv-4RuWu6LR3lDN$7N(4jPq#4LO zKh~Br<+xZw% zzY5;oDjMn-x!LIQV%tZKqtEHZWigkmXN!MgDCQ4fEM+EfvQ z2_}7?N(ZkJ9W5>_#_grV#eG^l3erdSviok0z%6Y4z$*)M7Z=NAiSs6+n*Zb!`jJ&* z1@EMf3i1ugJz4xCmgG(HOHcRPTe;dFB--yLoo|}qA6%ZQ#t;n3(RSX(=jwZwT3UPjNCNat znyv%0q;16k$Js&4LlW`J?zgYkYu!J5vs}N>@76Gk>p=!b{ArdJ#qHDPp-P)J7N@;H zTdizg)(8V!vKW_%S0CufhDVzmux54Sn)JBc=IU8}Fwc(HpqMO^f**W46B;}~>ejae zUg~LUo6lUE`4F7UU!woT)OQiQv@Ahxlud+IGvQoA*bK8xX0X=PzgXxnKu%TK zAqNx{Ek`f8(g7lN1fB%-sr5#4GQ4Ndd!B**U2w8e4t71?tB)zm{)=@t5I6gMSTv|4 zt(tpnD9*?oItPXY!}aS$|Cfs|GQRiUudNr~@ozQHK&Wb!+Cs;g%z;{SR-y*RmdH+R zMNT9hzXsigv|c=0$TPW1x*8g}-}i3_CeJy`YFizw^cgTu5*g6a(i$krz&)7;;o(r} zRQ@!h7D@#bNreY^Z!N`mxm6n z+;<9r4)(fD0nowt<^NsF|7OF4dsAR8pMElV4l}T^xp|w?`n2RUC#Qx@p^sV+#z zH$X^97wuP8R~3{15I9!jqXvApzA21K82>A+CGUUc<>qcHS>RKZG2q^1 zmCUSt{@x@eK@qK|rAF61FXw*WSwbP>Krd*8l_;d=1=FB-lRg{X*W|q22?hEM&Kuv0 z&L6;qll<^*K~PJfTqeb;ie6}{p={xPm!Cg>UcW3AbNeIs+0~D@+{BBj{YOr!WP`cA z`UQ^Vm&M8}^({&53ZeJT8zG*Xm8*QZv9Y-X2-ytM2YN2C8#xs8>t~X6H>4VL_JS8Q zSHl(kawFOy23_7gna%y7%SS*QYOG>ht#1;P1_5#-$UOK!jGtj@Cc6puWg1y-B=(JMb!<5baPS(N4#>D@GFPg+VJ3kpjFC~@! zJA8#g;3OOZ2hS~KYNgMOMIxCJTgB&s&i*Vm*ura?YZ)#`^@8@;b(w~0zeqA%1@?Vs zYmR=Fo;0DyeFM68VbE;PHEzuNrKAkg^Js54cIc$ZV|?o1knV!yTIlBb2M6VBJ3~wM zUc~8FNUj19$RU574(e));`E&nXY;Yx>V8lqT=)|0v*sXCJ5m*ngE&F6>g#S-yk}eJ zXvyVtjk14P`Vn}UBC>*-xp z0m*5D3zad z8*$pgYL+fajmLJ7pX~QvOwokihMpAf+{)Dqgx-+om3PJAa82BPmVB*^cmXFr|7$OT zPb_LRc`n1w&ea#=EP6sjhFgzOJ({q2ydUg~86{ zR1On~gBdfKw@+e*2>_Abr4d z2T>W@9H#Ilq2f5K^&(dNN5;7I!A<$QsCfw#JiRPq2X1<H(O^ zv1a2<-c2V^7?$is&oAgiX9Q(PvcYfUf*mkrB(c&YDf(duMoy zcD>dx28p@9ba?gH78v8~_0&4zd}QU;qsr5&pW+Vo-9!UN_G_n`K-@jkb2Pk?>yMap z;6U7->-K|QM~ZZRg$M^|@H*g7l){ivN?u5+;z6C$2o%XkfC2^7NPNldUbB@NlIKI= z7>Z%n0ahS+u3A+VyQlcgveM#cBhCUE=7+4Tw<%_RKdU_MRd-9gI**u&fAoW#GQ|6m zd`NtC)jSY_^pHKLfn$%#>#t_VKVnu3i3ykalP(!kHIJ?5I3orH0(Tgs=(hd*>`s<> zRiL5x&XDK3geX@2Htgz0eRd=VDwS|$N;osmzWJnHL{LSK={;MG35XJ2X0^Q*^k0Gd zT01^Hh#P<|3di26TjB1pVMrt|9S?f5;q@Uky@8>?u~bOLj6qGl+^DDAj0e|t>n(BT zR=7SRArK5D>p?}HrW_iXclN0}HR@JYNivj0xQ~csBxQ`cc44D3qy8~nzj)kI_Z*t2 zUta$IIA4SRZ!`Tz3wFKHJ9?wvqOBZXIlg;_vcL^@W3%|vus?y3kk4m??~Co1c=rt4 zorX%4bIXq_#p*b{O>Rm#9_fK!94Lsj*XL}P#vOVbdQ zDOK}_vGF2oeo9XH1#Jy0Dk#^m#J^#ovLbl8#ueI|7uS%^Io>Eh%Cm}LTnj$wjW;#p zJ;bOR7(_Y9SgMq^(o1UV>V7PLG{rNBAVS;X^!nvGu#v`9nB$+oBi-QVWkU#%acvm> zL?KvVI{Pq*X60sY4Mxvsg4hH+KT6dQH7Rkb3fb`s48jo_9enp^K=Hl#JWJ*ic6Rs9@a`nfTC;e4e4V+Y z0lj8nonU=3huH4=dh1o&bBTE;YX(4GDX!N`Ow5;^<{=tK1e}@zKcY4sNKrLY3G{fW z;V#GX$mAJM57!nB$Y3)5u(oC7QkIn$D%{a@-mrpc<_%obartWi9Kr4c-=he^G!7yX z63`U3t~iTZXu-Psc-MNS-RVqxzQucde&~vz%wrfOB^=3x!C=@ZRRwuIWaCviV}Cz- zRAr6}G!Oz?A@|@aF=0Nu=U{b!Lr%^tP!_(l=<|$uO3<js0o>4kG|4t51L+|ROU?@n@YI1{elJABPwog1aOY8a@3RR+`qd#*inw<+rxLv2E z1!#hM((bYG_#au>>Q`q*>zr>aYlvk3J9H_itgyKum5XSt86}%=3@@ zq*?aQ&XY6apwNe5!^K1g2FbrVR|!K;ocnVfabb%Ih_+U<Wqy!rbm4k_?W$9f+gI zFB?7BJtF-+P~KdEGL^YCn*Y2rlq?85>Tz9IAP{q&7G;vUp}yA*08|_o7Ogi~llN}b ziZOB92!(80Eql4eY`t4PD|mS3=Cw5?{0z;#fAblP5&)Epj25$&wolL_cHJnK!8xg} z7(2&n0F3fV&NnlsQy-C$PZ}IRzUn^P^mMvsX_@5L+FJ8|8bO*8WUeg^)N1bJ!rwJL zJ3t<%XMn9fb_Z){$X$sTMb9f^)((#ZjmG)NUONjqRUaB(XOhmL)8$KS=y9*yOiJM| zwDw}DCL$2s`b7?$Y*izHmw&?NE6N*`-yX$o2ewIwi<*1G0MP>5(x0IK<1I$OxIcG1 zf+-dBAG5@vEOA8To8TBW3C8|wnjOlLM99G#qW_i{{WsH_|23ofKWhm7OD^`Gwj`@3 z_%WNVFG;0hQkJh=X7l{TpxikGt43~4C^#+^QSEll+DsrOpKg@!5MGW%&UjgDm5iJH zEvS%0wub#;NDIYC$>Q~Mk&~NPu{yfZS;N5(A6p!wKvb=b2dmxRRR`x!PZf0nU{1XV z=p6O9p3+`?H2M2V3?yrxCnq7l5Ry~2k57~o4BT(iBx-L`6_%7Jncdd!`f_W8-O@PR zGno2~@o8$Yy=LiV{>!C3>@t-M_2jIfbUgk&f1BP9cD!#*Sr3hNe}>l5Z1r_k$&dbE zaOwB8fufRd>OAh-b3^=FY(Nmy zLMtgLNvK%Yj7GbpQ6)}CSC{A6K?*Nf-3)(MFyipIrmD?}N zUVipf9f#OyN%1CI2r*H0*S5D04hfc>hBH5Yk&dF{*SkURd3id`V;0xijUBZ*OaNy; zFaPn&WWf{|7niqVNyJkTeO_KBER^x)u=jo#$5(#xN}e|+R(MPB`{w4g_BE%B{^M0A zL~PVwx$y*Mf8k_zy_@o+X{ZT4^H2+Wg~b=~P{}`BbT?uR>0Y`?`nqxa`5MR-lJ5l) z{?)M>^{AphkxK!D*NK2x7z$rwPP~3m4~r7+?&QXU2dH5ziAX9U%In6E+T%4=(zI#f zqhr6inOQ@VNK+l!0Qqk}uv)SqGuw3Kle~-SPjv}2^ESi2@wzLk@$7GO@yK^9xvq}!{8;9k`3{OP6rD3fA z)w#^rk$ZUS#%y3clXYUHGT^ahctJ5vw`-I5`pHeP8eKO0Fsi4Y zNmIse-&b05>p13b?LvII8m;u<7x7z?MIL!<7e`jlk*{OzlPIEJ*x9FRg*qQS8dwA*uv>;0uHV=;-4Q5wenU_>!2OAO*g&F2%n1MXV zZo34dQx3c#LW2ZRa(lvC2Wp~noet;6XHtv_G!rYhh?(to$Fq2?(o3+3v~Y4vhCAhQ zJ4Gm@upl(VrQNllPF`|w>1F4ld#F4%D#r0o)Ulof&Gl<5KiKTNOo}7++d@49Zzid5 z5*2n~M;#9n5F8o4au_b1f!^FqOo3=Bej%c=FXG|tP_jC#mQliX$?EahGBdLC9kz71 zJ<;qhdKpF?!VB5^SXv5%$iqUY!Tp>aGC}a4D*8`R)LuHV8T5d8eJU;8d$I40{khbr zD}vg|T6*-g=90X78rfGmw3^`gO1TQQD<6MHOAbTPs2hd2|7zuX2Ue>COQNG^a|`q2 zQ>PGK7nmr++l;BKlmoEoY0GEVC2g4P%sdhpHyLL9I^L3#r!rpwhCm{@?k#x$+J#VA z_KXbp?$8J1Btm}_bpA6g+nw8yG$m2_c;#??6cyP*yoyIqbiN#x7&qsrTC`yg7S<2^i*twl{(Lex4`+64vbKIzIGWo06ucVH?N;aqcC zET>&V5{5A{`v=kf18Cp8MDNxSXsT0>utPsfY2XKj?Tviw-^A*Frz}S^yBsyK^ja1) zn^;3Ut36ehi5r@vkePgCvnp*8p;~dwSwC#P2c#4ug`fW`5S14)s7C zyMp8E8mSGAbp|#5BgM&u@nT{QY87J>WFkT!5Tf!~)P0mQHLZ{KK%z!h&wpGbwxo~% z%}S4Q(KJELzrBGjXU=OMRVRU=4?x?*%O;cMsmc(QJvw}I(f#v9q4eWjlJCbvu&ggE z)sCc*!VaUHN{3HXOdMx^ihHH)>7YRzQU3VGUCq3n$K%q4>HTXTF>~iOET;!vXfEz#kzG^0=GH`-*d}2Q+cl9xDIpdFw)5ZUFZZOGr?aQ*D zx}_%$>igpe_Y1ge)*mjH-f>aM(Fx&6m1L?Up2bUw72C;=pVnaH>o+qNxGAt|7UuJ~ zF?Z9S2NT0Gq9OI*rb|j9nKF+3m%r82iriAEgi}A_2-M`icfgtyL*>#EW#`C?W+g_! znR-xyQ5ukL_bkV&bKjwSS~)LhTCPW&CfN+>^4U4zg>YWz=J6T7B7vT6w!?ytRmBIyz zrc((99d)HP`9$9wnb3t+XDH>P5L1UQCQ1xBa7(^0N_7C@>PmhRl#6Alo#<~UYI&6& zB1sWE4U`j%TjMy#Ephf1IhZw|4U#kRCLba|_H3*A6-n>Qv-FHHedN^ejaO4Gw;){1 zk(6;9x=yTZrAPz>T=g)={nmgq4M-q&rUxb4D^ArcF5Gc)V#po;|F1v)wQzy|MVJ2p z1j66EiAeZY?yC`=HYi5?4RP*b&jT;D+!G-}bFmfpF{%97a$ZRvjg$$vwd%$_Q}$NJ zz_^k?L>$riL-Sm1W-XwxVw3S_R@bt+h=&VN$h)Cm!_#S&s9%?-Mu@$JI-H1tua#^& zWo%#?psp^m=U)tYkUn|XCgnJ`fgfQ z)Qtl~VZGAWV-5$ao`gmiLLOL{nQ!L*L?>?rQQBLN#=`nwJ(zjCj!f6^Go_#j~Y|YVEN!i%^z#hV#dT}u6I_bp=u$_ zDtMFMIn3Y2qLx=&9?Iy)R>iYX=OjX{_JR&i?BA@9=bOH9FiDvnu@Y*e zOn|36J;bm^Q;v)MtFJquBpYJj0?)zF$#JQTh=;Y~VxXhlbY6o)x)GG5+ov5$L}=j% z6_nj7OU#;d576jKw{DNdM2m3Z%dGr0;?3FbKxzI&xd|^vS64nfl3A<~Wr0k(0T}^( zNMy?POr5P0uDchBya`9z_DNoN22d;}NvzSvVmoPr-mA&GUo~`Wd-^V6drO`G)fL8L zQ2g`xa$D*r;kE2FOBD1}L4#CD%~N6Dq0*><)i5qWiV-{B$IVBV9d5Wp-U(296Gkob z@sqc<02Jed$m$%tHx{JSiXr9&S>m2Ngwz!V9fQ1-fu>!{Pp`P|5T0!qip8oD zzgNGXsmU2$WNnG_UJH4fV%i{LI<$V;pvu_Y+|p2#lm zTO*eiot*}7jpZ3~Xpm7c{?SM*TbhJRHnb?O7Hvb*_e>DMJ#UN+X+AuNVL+#@KY*T4 zg0k3F|HG?;_Fo`LKjF-D=-ZGGPBnV*cE>Uh0nj5N z-=OcKFKX1i$9_Y~G0*6FH+c(w?yKN33km2wIJdKz(C4RalPc%ZiruZmZ)49w&(n@c zVSp;!?RNpHEF+NFG-z9A6xq4K=>5{dkcb$tlChGaK(*lf2d@)X6xxi2a50at|Cst7 zvOe-D3x2lA1=e5*=%G+WfW*7tz0gvx?e`9x-V=;P*r+#T-QC%RLviiz&=rj@BF1|p pYW`j_?I*^%Tr8&kw-!P(@e~mbdzNr+$1MOV%8y9+2-P8Sle$Uf;uu3qtOz@EtocGl+ z@OWVDZslg@;$i3P1OPs1>7Ni9o5D2jkiFUll}d%`3mlA-SsbI6z7e{`wTU!%Emswt z9^HxM#jcztS?BIX`hT#!ks0yz?EOsKg#1pQ_kL+QLv2HoaYEPA`fR$|2_5SnF?uG< z@{-?SpBZg!t$)}LeP-0R-dkJ=0u4qj<%p)^4)}g?@=hJIC(Ba0g?b&zm?S8vJ@CNMAYY7EK$?RAOa4%PXO)51X)1-`q4%naAAMN)8v&>l*X`=mc< zU4Bcr!!6dM$HG}eS;T3J6YmzOB@L@A=ZT29ueA zM~nXF*2~lQljU07w|5Zfm&v?6aKlpfhnl@BMu|~Ka9Br0{o^-DF}1{pA1R|WKT;wz zK2lO?e2i45I_jBFwlX5EF|So+8X5FGwWuv?NTr?XtO-GS7|2F^nbN4-!apexR zlwIb^2zi!=k%vEoV|Cf6?qiO@A19jsK8@_|eT?3-xh1KAOFX?eo^7q59vzHVKnejf@Kfd5V|8}{k> z=H0W*fw!A-cg5E*O!b&x2*O@=7_Hv^@eTmk0hI@eIzDMzGvI5T!*n6s7jD8*Rgn5a zamz6Y4(C)&Gfh|hNbz@1tYabb8h2g0&6^o2_nTR>ep4i`KNdzBIGz&aN>b)*ees!=7;N@9(qk zdBb)ypKt=dJFAHD&8{y^cpj4K7-kJ@b(m?9tY*fpzQq(2(Dg*uQ{Te}n6-er#vaJI z%e-8Pr`{uh(y#V8H8Nzw_V?Z11}nZr;)ky z?EZj-UV28;s>|>5<1${?$)@t%jCW(2KkKXUeZt2DK=WDL7kp9>Fm z4X~tUfUN53>IN=7gx^Zz=>@@(_7Z(#SeBT%eLBnzX4YL@WCIh3y-)lyNlr(zkM?X6A}~ogR)L%{h*N>e)TdDYqOF8 zBo{$FlZs0~UVN-l1Y>XfXAaElaSM+FvRu7TW2nk&+X%Dc4d>T(YH0iZ7Z)-Ub1Z#S zIm8x77Z`tuaDUNk?qho}A?C?#!{ZZaa$>?o0bUnI-)60~L+P@VH`j88Hxc{?zIin@ zqqjkttrU?vQXF)Mqc+%mk94pZYD$tePh># zW0Q@?_QB;J)w}&U)(qrh28MbIuRUzu8IPT6Cm*d0JzvUa%B{?T^(~5*F|Rc+EL!4b z32E0qfnKtB$C6d^Zr%gmS|8jbVcU*7T?I(TSHE|1nM z?Cz@$-!jGc2@ENec;lSEH}xP{Ft%Ojp=$dpHj#f^j%X`~ZqYj{Dh^>~ zhVFL>0f70;FVAXdnccvi&54}nr&hWyJ){l2H3Jgn_3T=$rxgT;3mDZr65pD91Ku{n zOaGnyWQ<oU_PJ+;{vg&IM`Won2K$tDXN?rAfo~3MsYa>B0I$gR2z^SvnAip>FxK z_x|x9s5>cJz-xRmlll7OS7*#g{Y&IhjJ28wuDIm47q+{n8kYRLRsEv|z!dpv5L$F$ zOFdQlD1{z4h-cSem5V;xaU{tCAC?wQo$6loEC*ajXhuvTOXbzE&lY5do;>bXxD4|<#%h{_D^}5m0}6gh zGvmC05mdu@j3&lgDL-*9X_f{L%QHpY-8Zz9)zc)On)n}%JyjpM*u8g*YRGaPMg@nO zcZ5)pp9`{F;u;$p0|GBL?NWCXuaJ=PvuD?jwkDS<`G{5()}%Z5@H#?GdR0wQBE+gh zgC>n=q4_E5`(x#8F`#WgprOQ2=hoyG*F!%Zm-}rA2EPa5-jsjA?D(y;F2qTmM!EWI z*CH!(>aHMX&Xwm^xmur<{8b_6sB)!)7gS57yPqZYv6IX$ow+p(+JBKVG_D;9O!pL>1W>}I~wrQ~fpQ$DCvj}tJcTQkZoZ`pCo5)-!6 z-@#sPz*uY*dxG=d>vmGL&t`@maiqp6B21Tb8n)YWB!t>>Y902Sv*Gp*5lt3@xT>aM}&XN_IQ3`w+_(nlYbT|qOcww6&uZKv>tUVw3RB8oE;;sLq zsv+=e2@@TO!doX|mAlb!V17|ENLNRP*8|%bVeOqtJ=So#QF8MplITNtI7QEsA)cG0 zXw*EEDo56iw9Owt$?M}Fd?qn8H1zvb$H0q=*91UIOB=IYNx%W6DGQ>DT6G;HP+6$s zdn%9yDxJJ?ogFHyzIhJ@6+V~ww_5(s4WCmVDezv7wq+XcmM{)qjmurYux>kJ5Ta~P9UqL#gsTU*7-AiJRyx0?tTPj#O3Z9$y(>$ z()Ka_gg|Um+~f7<*{$1$0yJc~HLNbKBjWbRF=XChoDc)zLS%F9^_dZbb~&h-_?sBP zEmOh~VVDA;RZTI;H%@`T{BjRZOkyG_EdekM!4e3}hgp$6o^y$^LXNRLu@1WXg&I`p zjw{c~0!D~NL@++tuU$@_{JN)DWR&KZ0#AAUP57v7;lABh@_b%!Od0nS@L8M)y7MKX z3mrW+#`fJ3m)MO(h?l)6-jbEJWD<2?#t1c75jedne#9+QQYVSGpWfGrxzk`3l>B~IADg1Ixv@#S_6ckf z3Mp2@QLIg*MN;+MNyp4J!rsk#^+0VvuW!Cxmz4kTpCCr&Z|AR8mv;=zHODi#Das2-y~u`ID_7sK*LX+>yTj=2G+A>A?@`X;tl`JVv6c+}ji?QF z^FSzY2iNDn>{LiE>t03OOTECj+BH2J8{FjP(Zz7Of)Tf`1C~_={;mndF}CJhvD@3!nu zt1_6CX1vTK_*hA0M8LR#rvF)wSB6^t_*zQWq90@G?DN}g^B?S{iB0s)3T#MhYzTe^ zEOwHYzTOhSo*h#!F8@F`><-!hd>6)6QDI##0nvXIe0MZ=-uu2n{YDr#WW>8{t~bC6fk7FAy5Cs@`_E; zmcR{y`TmNi>xsJX5_vt>t&KZlvf0g;S)s~RZ?JQNLG20LfeCm{&Y6uC-VqIlHXWz$ zVy7zzbq^(n9x{4b?>Q_Eb;&*SZ?P^6KTuT-gMBJBE@N%lB|Uk#WEii2u8e`-zs*22 ze{$jUoPThst{1)xJ41FyxsUD^Ct^P9oE0otofSAd#8qAJoywYQts*A_hOJ>2bR=Ha@E=A>PX(^!+@nkkKkYLck=|@elCdoZZmM^FlClzz zlKA3~%NOyMg&iP^C#m*Y8FcQcXA3Ddd2?$B3w&|P2%7}I*e-1xYs`lP^HGg~G9XVP>mY2?^Q3m}C{FNZ1;1!0oZWGnK(lltj&venw%^deebb5ccDTt_Yc`PK` zaykF4FB~NG2rm!Q6YiW7v%HXS^ixJwcjtcji%!d z@xsT?=GtqnJ9mb!^e=dS=!oa%S&XSSyK&H|k4O^&&kk;hy&l`E`{lRW5}`lq&*b;H ze*Q-)TRUX$*&!r345l2*cVH+D{p z^grDt4eUC;^C?;Z$Nb}khe7kH)x``yx3*po5<2gyb{GB9tuT8U9UFe{r8sq zf40Z}Cj$kHxf@Nn)q3FJ`{E;*Fu1u%t-Bp$jswS$Y{kEbVqW0R@4*&U>c7`~ zF0%9gNknTJ5Mhn_*tZ$CAxj^xvuQ!TX(7TG=n-%=)EJvoVy9KM`8g{#qr!FP{S~&I z!`in8go3%C9snOfAcC3srxC%C6I|jh-Tq$5C)e|3#fSWolLDFyM z24u;8f=9VR1?+HGc`y8DHTPQ6W_btH154|;OCCc@GVZJSoYW>rS9K`XCN4n$%e)Me z)+%1YmlwTa@g1`q`7q^`uYQP~&hB_$1#curj*e!jBGpUA5=?6wZoNNF(M};i?+$*z zC?vE&-*&8oK^k6LT-+xbL;c+xy?e}%1=@mpR{-;c_ILT}f@Ar{pg-!B!NU0)Qdh|0 z8caUFmT}%CljL@O*szy6S5r+1u$R7H`IW-*jg|8AtGNKcUkF%#;F+FIW=fr~^s4|L z=#r43Blyzx*Jxe_R{iYA%1=0S)83xuihk-TGnxLn+x7_9x|!`J2Cp9)xNp`33Zi$P zqp^wiS=VzW8mx6-XH`9u>etcW(=JRC{s7gN?U~ek#r+@{wW%}^k8 z^<4-T+kk>U30l)>LIf{wMsRw%+i)j$J5O~=vpC<{e2&}iL!d9fJcHB z(5!}bSx&SRG34R2)J!kkU3Io*rBFR^VMdORnwJc{f5ZtAdYiJQX`nvN1xhe?YZ9b6 zIcUd>Gdcg+=FG2RTyf$>&Y!a{p6m zpQ;ApnDI|eQb|&HQ_p04mN5RH150N$h4u4#P(SNil9pbYTUhug{O-XRn-w$a$}ba7XwY>?e$Uy)#6Vv_jz>$X+njRq&yI2!msz4as}}pj8<2Km{YKSb?|^>nfNzF z4)s{SX2OHSMBHZ^6DcAns?mm{^gryW#J2{BgVufYH{^Wjzk2OfFB=CqWC8#UU;JXm|GhUVR4h?v_Y1s)hZTS#7BKS9Sl>Rxpom=W!L z^T^>c(7Jn^)2Z)x>U}rn7A+URt-jCx^H+*XS-DhAU7h()PHOtnp=?`RoNNaVUL^w@ zUCG=Pk-)zm8eSek;pZKw3Q+L${h^&rg}P!xW{PL^FKZ8skJu(ER&@vB43*uhHuK;H zTKyZcHYevVCYrAUE*qn_f#mafiLIATT2|9m(rmw@sHl<_j)@TKh7KWf(cK{=0F(O* zb;TB-4PMpn7Q< z8JCd$2&euRZl2Xl+#;r@RPr8L6C9YEZNO2_2C}dt@>H^sQz(?Sr-hbb3HzCrg=P(UNle znoW9UZ!px3!eHFyMw2W%2LW6Gy^l2B4-8%7F6~V;#9I;IDM#!N#Sep8CfF;6An0ZT2B0UpG89yhd0VxxDnA-TX zGl-!^eOS*`g?ZO7Y)&t$9}R}bq-1j~Ne0dK-5kd~9wni0EgckoVNW+YhcXd#cksOF ztE+oJK&yt5G$inlVasvimZgo{nLDwK z?zz>~#Z}D_ppFQ*dN2U*T*gMcX9w36@HKN}OBnCLk?&@LtIiwT6Z$we5&TpUyDPWg`5&6T#Msa&_iXC5Zq5~0c+7c^># zTNgj=or_ifmI+1qte2k*V&hl_K$nh*=Wp7wU?Icr7LKR<;|gv57@H7ws^C* z%u-jM5?<&YM_CyFz~`c`n(bxnPzwE{q9E`uRn)gsjYyaZqf^@khEDIZpX&8V@Y-OZJ062938@V zJz%^XZ!;Q>ssJGAjg7rgjgTImUF8<xr<7>u!u2DZoYRI>f&)qxS0ru7RD1GYn5TMd+QW&}lE*9#*|*j0p<3>o)1= z>3yzHn&2CN6QON!1K`PO=FA+Ehl%oF2-SqP5e48c5B!WI1oEWiKTKCDt^-f323@BH zYYy$@uiTW6kqBh0&vU?)P80);-Rwh?(q=Do_{4*&Q4->c}w|@&E{dh<07Ym}4zyA{3 zog&TJg$Dmr&IUvp9)m`;;`N%_N8N{9Xw-Mt~l^M>6=nLrYsb zhuHG;)eAuZ@SfL}fwqM{%rO#eicmBljN z+Ee_Vk)G<-|-Lj>Rr&7I{M|zXu7UBu{=HHE4qb<-mZpK zZ(6&T);OY8Y@AgOR>q8AqY2Y&XdL;7^ACA~f6!B$x!YvEVCt6+=he2OA_}1~A8kQ!Pk;PTDhWg%Y!dEi*MCt3r0y{Q@~53MC{D`FqjpYZnS_=q7J7 zzK?k=a#0o1POU^Dv_z4faFQeLrqtWN2`zA8S5_4o+OX=yUDy#zN->ZWh(8Ip4w<6{ zLLYGakvPmF&Rd}A=|+Tz_t1Zq$Ex-8Qo~wE=S1Lh|43N%jU;$jEl12-hlG>xF6ZUp zUwzoPRxGK0A|_QQ0#ooVXf=}x5XA*;aX4B7C7w zB*FiNJ{_FZw?WOQY$>kcH=TINUtjunr0s$~|I6U~|164>4Fo@pQw*eNRZTCn%|=~g zATu;HB#uBFmZBC1LEq3&fxXpZ>oVNNg}?oMOl*(wVDLNTpIWK?_h4Z6s`uLO1yeKV zK=`SlVVM0N$U~?os(2;{LaepsKvx$Y99zly>0h8na>s4Y3KCJn5`#Et8-9ox}CP10`!{}TMka`f22Xe+r}00mcNPfF`dmiK&QTS;pLl!h#!>| zjn_ax%Sh%LUqk(=X%Je^vdyBbW!dxN*=J2Rpo6$vw0b~-~RYQU?G0BUy zsPKnqw2o1oM{=5+cR3n+cdR5Zc?AeU~;%8N;q zoF^e{W?#>-6wAn!c* z@FV1vUyB2gBDIB&Dp_MQGld-VD?Y_8T8<3eVi0dyjY;9>`R&_$Q6S^B^?d>x6_W{O z3Yk_QW8IUCbU2}#H2e-8i1zTMxMr?HtKTVVbOj^ikb}$-qZjG3k#Aa;@A65ZdZ=He93n;%y@wFhK6Ju zjbyqrDv25%5_NY z_&G;i-#^=s`rKE~s6$bM7MaVlY(k^hBdRd=saqI*+ ztSsPf?mdOjpR{fs@nB{!MfY$Uxi9#z*%fbyKMC4;FL;e{zVW+k8%>3qS$C8h_ zrnUY3?@CdtYEr!BolLfaBH@v)(d)8FsHRPb>v}>`sE7jIzB{ZGyC=r(w)_Z%l0UDYE>05vty4f0 Zp2$Q{{n@BoTrdD76(x-a<$s$8|1S&ZXK4Tc From a0b2e72b4c56dec8a611c0385ddbe073e4abb6db Mon Sep 17 00:00:00 2001 From: dannno Date: Sun, 1 Feb 2015 11:04:40 -0500 Subject: [PATCH 062/122] gun suicide messages --- code/modules/projectiles/guns/energy.dm | 7 ++++++- code/modules/projectiles/guns/magic.dm | 7 ++++++- code/modules/projectiles/guns/projectile.dm | 5 +++++ 3 files changed, 17 insertions(+), 2 deletions(-) diff --git a/code/modules/projectiles/guns/energy.dm b/code/modules/projectiles/guns/energy.dm index 4474aa5a6cc..c8e44a242b8 100644 --- a/code/modules/projectiles/guns/energy.dm +++ b/code/modules/projectiles/guns/energy.dm @@ -89,4 +89,9 @@ return /obj/item/weapon/gun/energy/ui_action_click() - toggle_gunlight() \ No newline at end of file + toggle_gunlight() + +/obj/item/weapon/gun/energy/suicide_act(mob/user) + user.visible_message("[user] is aiming the [src.name] at themself! It looks like \he's trying to commit suicide.") + playsound(loc, fire_sound, 50, 1, -1) + return (FIRELOSS) \ No newline at end of file diff --git a/code/modules/projectiles/guns/magic.dm b/code/modules/projectiles/guns/magic.dm index 0fdbc0456bb..2c8147992ea 100644 --- a/code/modules/projectiles/guns/magic.dm +++ b/code/modules/projectiles/guns/magic.dm @@ -70,4 +70,9 @@ /obj/item/weapon/gun/magic/shoot_with_empty_chamber(mob/living/user as mob|obj) user << "The [name] whizzles quietly." - return \ No newline at end of file + return + +/obj/item/weapon/gun/magic/suicide_act(mob/user) + user.visible_message("[user] is casting a spell on themself with the [src.name]! It looks like \he's trying to commit suicide.") + playsound(loc, fire_sound, 50, 1, -1) + return (FIRELOSS) \ No newline at end of file diff --git a/code/modules/projectiles/guns/projectile.dm b/code/modules/projectiles/guns/projectile.dm index db55594fa4d..ab3546cc75e 100644 --- a/code/modules/projectiles/guns/projectile.dm +++ b/code/modules/projectiles/guns/projectile.dm @@ -132,6 +132,11 @@ boolets += magazine.ammo_count() return boolets +/obj/item/weapon/gun/projectile/suicide_act(mob/user) + user.visible_message("[user] is aiming the [src.name] at themself! It looks like \he's trying to commit suicide.") + playsound(loc, fire_sound, 50, 1, -1) + return (BRUTELOSS) + /obj/item/weapon/suppressor name = "suppressor" desc = "A universal syndicate small-arms suppressor for maximum espionage." From a9c181bbcc52d6d1fd3c1d43560727e0aab78138 Mon Sep 17 00:00:00 2001 From: xxalpha Date: Sun, 1 Feb 2015 12:29:51 +0000 Subject: [PATCH 063/122] Repath all non jetpack tank types to tank/internals Repath all portable tanks to tank/internals, except jetpacks Update ministation --- _maps/map_files/MiniStation/MiniStation.dmm | 4 +-- _maps/map_files/TgStation/tgstation.2.1.3.dmm | 20 ++++++------ _maps/map_files/generic/z2.dmm | 6 ++-- _maps/map_files/generic/z3.dmm | 4 +-- _maps/map_files/generic/z5.dmm | 2 +- code/_onclick/hud/screen_objects.dm | 14 ++++---- code/datums/supplypacks.dm | 32 +++++++++---------- code/game/asteroid.dm | 4 +-- .../gamemodes/changeling/powers/mutations.dm | 2 +- code/game/gamemodes/cult/cult_items.dm | 2 +- code/game/gamemodes/sandbox/h_sandbox.dm | 2 +- code/game/machinery/suit_storage_unit.dm | 8 ++--- code/game/machinery/vending.dm | 4 +-- .../objects/effects/spawners/bombspawner.dm | 20 ++++++------ .../game/objects/effects/spawners/lootdrop.dm | 2 +- .../objects/items/weapons/flamethrower.dm | 6 ++-- .../objects/items/weapons/storage/boxes.dm | 4 +-- .../objects/items/weapons/tanks/tank_types.dm | 32 +++++++++---------- .../crates_lockers/closets/secure/cargo.dm | 2 +- .../closets/secure/engineering.dm | 2 +- .../crates_lockers/closets/secure/medical.dm | 6 ++-- .../closets/secure/scientist.dm | 4 +-- .../crates_lockers/closets/utility_closets.dm | 16 +++++----- .../game/objects/structures/tank_dispenser.dm | 12 +++---- code/modules/admin/verbs/debug.dm | 4 +-- code/modules/awaymissions/corpse.dm | 2 +- code/modules/clothing/clothing.dm | 4 +-- code/modules/clothing/spacesuits/hardsuit.dm | 12 +++---- .../clothing/spacesuits/miscellaneous.dm | 10 +++--- code/modules/clothing/spacesuits/ninja.dm | 2 +- code/modules/clothing/spacesuits/syndi.dm | 2 +- code/modules/clothing/suits/armor.dm | 4 +-- code/modules/clothing/suits/bio.dm | 2 +- code/modules/clothing/suits/jobs.dm | 10 +++--- code/modules/clothing/suits/miscellaneous.dm | 14 ++++---- code/modules/clothing/suits/utility.dm | 4 +-- code/modules/events/holiday/xmas.dm | 2 +- code/modules/events/ninja.dm | 2 +- code/modules/mob/living/carbon/carbon.dm | 6 ++-- .../mob/living/carbon/carbon_defines.dm | 2 +- code/modules/mob/living/carbon/human/human.dm | 6 ++-- .../mob/living/simple_animal/corpse.dm | 2 +- .../living/simple_animal/friendly/corgi.dm | 4 +-- code/modules/power/singularity/collector.dm | 6 ++-- 44 files changed, 155 insertions(+), 155 deletions(-) diff --git a/_maps/map_files/MiniStation/MiniStation.dmm b/_maps/map_files/MiniStation/MiniStation.dmm index 52025a7b23a..3d04818ef2a 100644 --- a/_maps/map_files/MiniStation/MiniStation.dmm +++ b/_maps/map_files/MiniStation/MiniStation.dmm @@ -1143,7 +1143,7 @@ "vY" = (/obj/structure/grille,/obj/structure/window/reinforced,/obj/structure/window/reinforced{dir = 4},/obj/structure/window/reinforced{dir = 1},/turf/simulated/shuttle/plating,/area/space) "vZ" = (/obj/machinery/door/airlock/shuttle{name = "Arrivals Shuttle Airlock"},/obj/docking_port/mobile{dir = 2; dwidth = 5; height = 7; id = "arrival"; name = "arrival shuttle"; travelDir = -90; width = 15},/obj/docking_port/stationary{dir = 2; dwidth = 5; height = 7; id = "arrival_home"; name = "port bay 1"; width = 15},/turf/simulated/shuttle/floor,/area/space) "wa" = (/turf/simulated/shuttle/wall{icon_state = "swall_s6"; dir = 2},/area/space) -"wb" = (/obj/structure/rack{dir = 8; layer = 2.9},/obj/item/weapon/tank/emergency_oxygen,/turf/simulated/floor/plating,/area/hallway/primary/central) +"wb" = (/obj/structure/rack{dir = 8; layer = 2.9},/obj/item/weapon/tank/internals/emergency_oxygen,/turf/simulated/floor/plating,/area/hallway/primary/central) "wc" = (/turf/simulated/wall,/area/crew_quarters/heads{name = "\improper Job Assignment"}) "wd" = (/obj/machinery/light/small{dir = 1},/obj/structure/closet,/turf/simulated/floor/plating,/area/hallway/primary/central) "we" = (/obj/structure/piano,/turf/simulated/floor/plasteel{icon_state = "bar"},/area/crew_quarters/bar) @@ -1385,7 +1385,7 @@ "AG" = (/obj/machinery/atmospherics/pipe/simple/supply/hidden{dir = 9},/obj/structure/dispenser,/turf/simulated/floor/plasteel,/area/engine/engineering) "AH" = (/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"},/obj/machinery/door/airlock/glass_engineering{name = "Engineering"; req_access_txt = "10"; req_one_access_txt = "0"},/turf/simulated/floor/plasteel,/area/engine/engineering) "AI" = (/obj/machinery/firealarm{dir = 8; pixel_x = -24},/turf/simulated/floor/plasteel,/area/engine/engineering) -"AJ" = (/obj/structure/rack{dir = 8; layer = 2.9},/obj/item/clothing/suit/hazardvest,/obj/item/clothing/suit/hazardvest,/obj/item/weapon/tank/emergency_oxygen/engi,/obj/item/weapon/tank/emergency_oxygen/engi,/turf/simulated/floor/plasteel,/area/engine/engineering) +"AJ" = (/obj/structure/rack{dir = 8; layer = 2.9},/obj/item/clothing/suit/hazardvest,/obj/item/clothing/suit/hazardvest,/obj/item/weapon/tank/internals/emergency_oxygen/engi,/obj/item/weapon/tank/internals/emergency_oxygen/engi,/turf/simulated/floor/plasteel,/area/engine/engineering) "AK" = (/obj/machinery/door/airlock/glass_engineering{name = "Engineering"; req_access_txt = "10"; req_one_access_txt = "0"},/turf/simulated/floor/plasteel,/area/engine/engineering) "AL" = (/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden,/turf/simulated/floor/plasteel,/area/engine/engineering) "AM" = (/obj/machinery/light{icon_state = "tube1"; dir = 4},/turf/simulated/floor/plasteel,/area/engine/engineering) diff --git a/_maps/map_files/TgStation/tgstation.2.1.3.dmm b/_maps/map_files/TgStation/tgstation.2.1.3.dmm index c89dee2cc70..6aae2f2a24d 100644 --- a/_maps/map_files/TgStation/tgstation.2.1.3.dmm +++ b/_maps/map_files/TgStation/tgstation.2.1.3.dmm @@ -223,7 +223,7 @@ "aeo" = (/obj/structure/cable,/obj/structure/lattice/catwalk,/turf/space,/area/solar/auxport) "aep" = (/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"},/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{dir = 4},/obj/machinery/atmospherics/pipe/simple/supply/hidden,/turf/simulated/floor/plasteel,/area/security/prison) "aeq" = (/obj/structure/window/reinforced{dir = 4},/obj/machinery/atmospherics/pipe/simple/general/visible{dir = 9},/turf/simulated/floor/plating,/area/security/transfer) -"aer" = (/obj/structure/rack,/obj/machinery/atmospherics/pipe/simple/supply/hidden{dir = 5},/obj/item/device/flashlight{pixel_x = 1; pixel_y = 5},/obj/item/weapon/tank/anesthetic{pixel_x = -3; pixel_y = 1},/obj/item/weapon/tank/oxygen/red{pixel_x = 3},/turf/simulated/floor/plasteel{icon_state = "vault"; dir = 8},/area/security/prison) +"aer" = (/obj/structure/rack,/obj/machinery/atmospherics/pipe/simple/supply/hidden{dir = 5},/obj/item/device/flashlight{pixel_x = 1; pixel_y = 5},/obj/item/weapon/tank/internals/anesthetic{pixel_x = -3; pixel_y = 1},/obj/item/weapon/tank/internals/oxygen/red{pixel_x = 3},/turf/simulated/floor/plasteel{icon_state = "vault"; dir = 8},/area/security/prison) "aes" = (/obj/machinery/atmospherics/pipe/simple/general/visible{dir = 5},/turf/simulated/floor/plating{icon_state = "warnplate"; dir = 10},/area/security/transfer) "aet" = (/obj/machinery/atmospherics/pipe/simple/supply/hidden{dir = 4},/obj/machinery/atmospherics/pipe/simple/general/hidden,/obj/structure/cable{d1 = 2; d2 = 4; icon_state = "2-4"},/turf/simulated/floor/plasteel{icon_state = "dark"},/area/security/prison) "aeu" = (/obj/machinery/atmospherics/pipe/manifold/supply/hidden{tag = "icon-manifold-b-f (NORTH)"; dir = 1},/turf/simulated/floor/plasteel{icon_state = "dark"},/area/security/prison) @@ -781,7 +781,7 @@ "apa" = (/obj/structure/disposalpipe/segment{dir = 4; icon_state = "pipe-c"},/obj/structure/cable{d1 = 2; d2 = 8; icon_state = "2-8"},/obj/structure/cable{d1 = 2; d2 = 4; icon_state = "2-4"},/obj/machinery/atmospherics/pipe/manifold/scrubbers/hidden{tag = "icon-manifold-r-f (NORTH)"; dir = 1},/turf/simulated/floor/plating,/area/maintenance/fsmaint) "apb" = (/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"},/obj/structure/disposalpipe/segment{dir = 4},/obj/machinery/atmospherics/pipe/simple/supply/hidden,/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{dir = 4},/turf/simulated/floor/plating,/area/maintenance/fsmaint) "apc" = (/obj/structure/cable{d1 = 1; d2 = 8; icon_state = "1-8"},/obj/structure/disposalpipe/segment{dir = 8; icon_state = "pipe-c"},/obj/machinery/light/small{dir = 4},/obj/machinery/power/apc{dir = 2; name = "Fitness Room APC"; pixel_x = 0; pixel_y = -24},/obj/structure/cable{d2 = 8; icon_state = "0-8"},/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{dir = 9},/turf/simulated/floor/plating,/area/crew_quarters/fitness) -"apd" = (/obj/structure/rack{dir = 1},/obj/item/clothing/suit/fire/firefighter,/obj/item/weapon/tank/oxygen,/obj/item/clothing/mask/gas,/obj/item/weapon/extinguisher,/obj/item/clothing/head/hardhat/red,/obj/item/clothing/glasses/meson,/turf/simulated/floor/plating{icon_state = "warnplate"; dir = 10},/area/maintenance/fsmaint) +"apd" = (/obj/structure/rack{dir = 1},/obj/item/clothing/suit/fire/firefighter,/obj/item/weapon/tank/internals/oxygen,/obj/item/clothing/mask/gas,/obj/item/weapon/extinguisher,/obj/item/clothing/head/hardhat/red,/obj/item/clothing/glasses/meson,/turf/simulated/floor/plating{icon_state = "warnplate"; dir = 10},/area/maintenance/fsmaint) "ape" = (/obj/machinery/atmospherics/unary/portables_connector/visible{dir = 1},/obj/machinery/portable_atmospherics/canister/air,/turf/simulated/floor/plating{icon_state = "warnplate"; dir = 6},/area/maintenance/fsmaint) "apf" = (/obj/structure/grille,/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{dir = 6},/obj/structure/window/reinforced/fulltile,/turf/simulated/floor/plating,/area/crew_quarters/fitness) "apg" = (/obj/structure/grille,/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{dir = 4},/obj/structure/window/reinforced/fulltile,/turf/simulated/floor/plating,/area/crew_quarters/fitness) @@ -2297,7 +2297,7 @@ "aSi" = (/obj/machinery/portable_atmospherics/canister/air,/turf/simulated/floor/plating,/area/storage/emergency2) "aSj" = (/obj/machinery/light/small,/obj/structure/reagent_dispensers/watertank,/turf/simulated/floor/plating,/area/storage/emergency2) "aSk" = (/obj/machinery/space_heater,/turf/simulated/floor/plating,/area/storage/emergency2) -"aSl" = (/obj/structure/rack{dir = 8; layer = 2.9},/obj/item/weapon/tank/emergency_oxygen,/obj/item/weapon/tank/emergency_oxygen,/obj/item/clothing/mask/breath,/obj/item/clothing/mask/breath,/turf/simulated/floor/plating,/area/storage/emergency2) +"aSl" = (/obj/structure/rack{dir = 8; layer = 2.9},/obj/item/weapon/tank/internals/emergency_oxygen,/obj/item/weapon/tank/internals/emergency_oxygen,/obj/item/clothing/mask/breath,/obj/item/clothing/mask/breath,/turf/simulated/floor/plating,/area/storage/emergency2) "aSm" = (/obj/structure/extinguisher_cabinet{pixel_x = -27; pixel_y = 0},/obj/machinery/atmospherics/unary/vent_scrubber{dir = 1; on = 1; scrub_N2O = 0; scrub_Toxins = 0},/turf/simulated/floor/plasteel,/area/storage/tools) "aSn" = (/obj/structure/table,/obj/item/weapon/storage/toolbox/emergency,/turf/simulated/floor/plasteel,/area/storage/tools) "aSo" = (/obj/structure/table,/obj/item/weapon/module/power_control,/obj/item/weapon/airlock_electronics,/turf/simulated/floor/plasteel,/area/storage/tools) @@ -3165,7 +3165,7 @@ "biS" = (/obj/machinery/portable_atmospherics/canister/air,/turf/simulated/floor/plating,/area/storage/emergency) "biT" = (/obj/machinery/space_heater,/turf/simulated/floor/plating,/area/storage/emergency) "biU" = (/obj/structure/reagent_dispensers/watertank,/turf/simulated/floor/plating,/area/storage/emergency) -"biV" = (/obj/structure/rack{dir = 8; layer = 2.9},/obj/item/weapon/tank/emergency_oxygen,/obj/item/weapon/tank/emergency_oxygen,/obj/item/clothing/mask/breath,/obj/item/clothing/mask/breath,/turf/simulated/floor/plating,/area/storage/emergency) +"biV" = (/obj/structure/rack{dir = 8; layer = 2.9},/obj/item/weapon/tank/internals/emergency_oxygen,/obj/item/weapon/tank/internals/emergency_oxygen,/obj/item/clothing/mask/breath,/obj/item/clothing/mask/breath,/turf/simulated/floor/plating,/area/storage/emergency) "biW" = (/obj/structure/cable{d1 = 2; d2 = 4; icon_state = "2-4"},/turf/simulated/floor/bluegrid,/area/assembly/chargebay) "biX" = (/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"},/turf/simulated/floor/bluegrid,/area/assembly/chargebay) "biY" = (/obj/structure/cable{d1 = 2; d2 = 4; icon_state = "2-4"},/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"},/turf/simulated/floor/plasteel,/area/assembly/chargebay) @@ -3800,7 +3800,7 @@ "bvd" = (/obj/machinery/computer/teleporter,/turf/simulated/floor/plating,/area/teleporter) "bve" = (/obj/machinery/teleport/station,/turf/simulated/floor/plating,/area/teleporter) "bvf" = (/obj/machinery/teleport/hub,/turf/simulated/floor/plating,/area/teleporter) -"bvg" = (/obj/structure/rack,/obj/item/weapon/tank/oxygen,/obj/item/clothing/mask/gas,/turf/simulated/floor/plating,/area/teleporter) +"bvg" = (/obj/structure/rack,/obj/item/weapon/tank/internals/oxygen,/obj/item/clothing/mask/gas,/turf/simulated/floor/plating,/area/teleporter) "bvh" = (/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"},/obj/structure/disposalpipe/segment,/turf/simulated/floor/plasteel,/area/hallway/primary/central) "bvi" = (/obj/machinery/navbeacon{codes_txt = "delivery;dir=4"; freq = 1400; location = "Medbay"},/obj/structure/plasticflaps{opacity = 1},/turf/simulated/floor/plasteel{icon_state = "bot"},/area/medical/medbay) "bvj" = (/obj/machinery/door/window/eastleft{name = "Medical Delivery"; req_access_txt = "5"},/turf/simulated/floor/plasteel{icon_state = "delivery"},/area/medical/medbay) @@ -4923,7 +4923,7 @@ "bQI" = (/obj/structure/rack{dir = 1},/obj/item/clothing/suit/hazardvest,/turf/simulated/floor/plating,/area/construction) "bQJ" = (/obj/structure/table,/obj/item/stack/cable_coil{amount = 5},/obj/item/device/flashlight,/turf/simulated/floor/plating,/area/construction) "bQK" = (/obj/structure/table,/turf/simulated/floor/plating,/area/construction) -"bQL" = (/obj/machinery/firealarm{dir = 1; pixel_y = -24},/obj/structure/table,/obj/item/weapon/tank/emergency_oxygen{pixel_x = -8; pixel_y = 0},/obj/item/weapon/tank/emergency_oxygen{pixel_x = -8; pixel_y = 0},/obj/item/clothing/mask/breath{pixel_x = 4; pixel_y = 0},/obj/item/clothing/mask/breath{pixel_x = 4; pixel_y = 0},/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden,/turf/simulated/floor/plasteel,/area/atmos) +"bQL" = (/obj/machinery/firealarm{dir = 1; pixel_y = -24},/obj/structure/table,/obj/item/weapon/tank/internals/emergency_oxygen{pixel_x = -8; pixel_y = 0},/obj/item/weapon/tank/internals/emergency_oxygen{pixel_x = -8; pixel_y = 0},/obj/item/clothing/mask/breath{pixel_x = 4; pixel_y = 0},/obj/item/clothing/mask/breath{pixel_x = 4; pixel_y = 0},/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden,/turf/simulated/floor/plasteel,/area/atmos) "bQM" = (/obj/structure/sign/atmosplaque{pixel_x = 0; pixel_y = -32},/obj/structure/table,/obj/item/weapon/storage/box,/obj/item/weapon/storage/box,/obj/machinery/atmospherics/pipe/simple/supply/hidden,/turf/simulated/floor/plasteel,/area/atmos) "bQN" = (/obj/machinery/computer/station_alert,/obj/machinery/light{dir = 4; icon_state = "tube1"},/obj/machinery/door_control{id = "atmos"; name = "Atmospherics Lockdown"; pixel_x = 24; pixel_y = 4; req_access_txt = "24"},/turf/simulated/floor/plasteel{dir = 6; icon_state = "caution"},/area/atmos) "bQO" = (/obj/structure/table,/obj/item/clothing/head/welding{pixel_x = -3; pixel_y = 7},/obj/item/clothing/head/welding{pixel_x = -5; pixel_y = 3},/obj/machinery/light{dir = 8},/obj/item/device/multitool,/turf/simulated/floor/plasteel,/area/atmos) @@ -5408,7 +5408,7 @@ "bZZ" = (/obj/structure/cable{d2 = 8; icon_state = "0-8"},/obj/machinery/power/solar{id = "portsolar"; name = "Port Solar Array"},/turf/simulated/floor/plasteel/airless{icon_state = "solarpanel"},/area/solar/port) "caa" = (/obj/structure/table,/obj/item/weapon/storage/fancy/cigarettes,/turf/simulated/floor/plating,/area/maintenance/aft) "cab" = (/obj/structure/stool,/turf/simulated/floor/plating,/area/maintenance/aft) -"cac" = (/obj/structure/rack{dir = 8; layer = 2.9},/obj/item/weapon/tank/emergency_oxygen,/obj/item/weapon/tank/emergency_oxygen,/obj/item/clothing/mask/breath,/obj/item/clothing/mask/breath,/obj/effect/decal/cleanable/cobweb,/turf/simulated/floor/plating,/area/maintenance/aft) +"cac" = (/obj/structure/rack{dir = 8; layer = 2.9},/obj/item/weapon/tank/internals/emergency_oxygen,/obj/item/weapon/tank/internals/emergency_oxygen,/obj/item/clothing/mask/breath,/obj/item/clothing/mask/breath,/obj/effect/decal/cleanable/cobweb,/turf/simulated/floor/plating,/area/maintenance/aft) "cad" = (/obj/machinery/light/small{dir = 1},/obj/effect/spawner/lootdrop/maintenance,/turf/simulated/floor/plating,/area/maintenance/aft) "cae" = (/obj/machinery/portable_atmospherics/canister/air,/turf/simulated/floor/plating,/area/maintenance/aft) "caf" = (/obj/item/clothing/head/hardhat,/turf/simulated/floor/plating/airless,/area/space) @@ -5717,7 +5717,7 @@ "cfW" = (/obj/machinery/light{dir = 1},/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"; pixel_x = 0},/obj/structure/cable{d1 = 2; d2 = 4; icon_state = "2-4"},/turf/simulated/floor/plasteel{icon_state = "yellow"},/area/engine/engineering) "cfX" = (/obj/structure/cable{icon_state = "0-4"; d2 = 4},/obj/structure/cable{d2 = 8; icon_state = "0-8"},/obj/machinery/portable_atmospherics/pump,/turf/simulated/floor/plasteel{icon_state = "yellow"},/area/engine/engineering) "cfY" = (/obj/machinery/door/poddoor/preopen{id = "telelab"; name = "test chamber blast door"},/obj/machinery/door/firedoor/heavy,/turf/simulated/floor/engine,/area/toxins/explab) -"cfZ" = (/obj/structure/cable{icon_state = "0-4"; d2 = 4},/obj/structure/cable{d2 = 8; icon_state = "0-8"},/obj/structure/table,/obj/item/weapon/tank/emergency_oxygen/engi,/obj/item/clothing/mask/breath{step_x = 0; step_y = 0},/turf/simulated/floor/plasteel{icon_state = "yellow"},/area/engine/engineering) +"cfZ" = (/obj/structure/cable{icon_state = "0-4"; d2 = 4},/obj/structure/cable{d2 = 8; icon_state = "0-8"},/obj/structure/table,/obj/item/weapon/tank/internals/emergency_oxygen/engi,/obj/item/clothing/mask/breath{step_x = 0; step_y = 0},/turf/simulated/floor/plasteel{icon_state = "yellow"},/area/engine/engineering) "cga" = (/obj/structure/cable{d1 = 2; d2 = 8; icon_state = "2-8"},/obj/structure/extinguisher_cabinet{pixel_x = -5; pixel_y = 30},/turf/simulated/floor/plasteel{icon_state = "yellow"},/area/engine/engineering) "cgb" = (/obj/machinery/alarm{pixel_y = 23},/obj/machinery/portable_atmospherics/canister/oxygen,/turf/simulated/floor/plasteel{icon_state = "yellow"},/area/engine/engineering) "cgc" = (/turf/simulated/wall,/area/engine/engineering) @@ -6009,7 +6009,7 @@ "clC" = (/obj/structure/closet/radiation,/obj/machinery/atmospherics/pipe/manifold/scrubbers/hidden,/turf/simulated/floor/plasteel,/area/engine/engineering) "clD" = (/obj/structure/table,/obj/item/device/flashlight{pixel_y = 5},/obj/item/clothing/ears/earmuffs{pixel_x = -5; pixel_y = 6},/obj/item/weapon/airlock_painter,/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{dir = 4},/turf/simulated/floor/plasteel,/area/engine/engineering) "clE" = (/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"},/obj/machinery/atmospherics/pipe/simple/supply/hidden,/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{dir = 4},/turf/simulated/floor/plasteel,/area/engine/engineering) -"clF" = (/obj/structure/rack{dir = 8; layer = 2.9},/obj/item/clothing/suit/hazardvest,/obj/item/clothing/suit/hazardvest,/obj/item/weapon/tank/emergency_oxygen/engi,/obj/item/weapon/tank/emergency_oxygen/engi,/obj/machinery/camera{c_tag = "Engineering East"; dir = 8; network = list("SS13"); pixel_x = 0; pixel_y = 0},/obj/machinery/atmospherics/pipe/manifold/scrubbers/hidden{tag = "icon-manifold-r-f (EAST)"; dir = 4},/turf/simulated/floor/plasteel{dir = 4; icon_state = "yellowcorner"},/area/engine/engineering) +"clF" = (/obj/structure/rack{dir = 8; layer = 2.9},/obj/item/clothing/suit/hazardvest,/obj/item/clothing/suit/hazardvest,/obj/item/weapon/tank/internals/emergency_oxygen/engi,/obj/item/weapon/tank/internals/emergency_oxygen/engi,/obj/machinery/camera{c_tag = "Engineering East"; dir = 8; network = list("SS13"); pixel_x = 0; pixel_y = 0},/obj/machinery/atmospherics/pipe/manifold/scrubbers/hidden{tag = "icon-manifold-r-f (EAST)"; dir = 4},/turf/simulated/floor/plasteel{dir = 4; icon_state = "yellowcorner"},/area/engine/engineering) "clG" = (/obj/machinery/atmospherics/unary/outlet_injector/on{dir = 1; frequency = 1443; id = "air_in"},/turf/simulated/floor/engine/vacuum,/area/maintenance/incinerator) "clH" = (/obj/machinery/igniter{icon_state = "igniter0"; id = "Incinerator"; luminosity = 2; on = 0},/obj/structure/cable/yellow{d1 = 1; d2 = 2; icon_state = "1-2"},/turf/simulated/floor/engine/vacuum,/area/maintenance/incinerator) "clI" = (/obj/machinery/atmospherics/unary/vent_pump{dir = 1; external_pressure_bound = 0; initialize_directions = 1; internal_pressure_bound = 4000; on = 0; pressure_checks = 2; pump_direction = 0},/obj/structure/sign/securearea{desc = "A warning sign which reads 'EXTERNAL AIRLOCK'"; icon_state = "space"; layer = 4; name = "EXTERNAL AIRLOCK"; pixel_x = 0; pixel_y = -32},/turf/simulated/floor/engine/vacuum,/area/maintenance/incinerator) @@ -6139,7 +6139,7 @@ "coc" = (/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"},/obj/structure/sign/securearea{desc = "A warning sign which reads 'EXTERNAL AIRLOCK'"; icon_state = "space"; layer = 4; name = "EXTERNAL AIRLOCK"; pixel_x = 32},/turf/simulated/floor/plating,/area/engine/engineering) "cod" = (/obj/structure/reagent_dispensers/fueltank,/turf/simulated/floor/plating{icon_state = "warnplate"; dir = 1},/area/engine/engineering) "coe" = (/obj/machinery/power/rad_collector{anchored = 1},/obj/structure/cable/yellow,/turf/simulated/floor/plating{icon_state = "warnplate"; dir = 1},/area/engine/engineering) -"cof" = (/obj/machinery/power/rad_collector{anchored = 1},/obj/item/weapon/tank/plasma,/obj/structure/cable/yellow,/turf/simulated/floor/plating{icon_state = "warnplate"; dir = 1},/area/engine/engineering) +"cof" = (/obj/machinery/power/rad_collector{anchored = 1},/obj/item/weapon/tank/internals/plasma,/obj/structure/cable/yellow,/turf/simulated/floor/plating{icon_state = "warnplate"; dir = 1},/area/engine/engineering) "cog" = (/obj/structure/grille,/obj/structure/window/reinforced/fulltile,/turf/simulated/floor/plating,/area/engine/engineering) "coh" = (/turf/simulated/floor/plating{icon_state = "warnplate"; dir = 8},/area/engine/engineering) "coi" = (/obj/structure/particle_accelerator/particle_emitter/left,/turf/simulated/floor/plating,/area/engine/engineering) diff --git a/_maps/map_files/generic/z2.dmm b/_maps/map_files/generic/z2.dmm index 5270c612f11..a5d5b2b129a 100644 --- a/_maps/map_files/generic/z2.dmm +++ b/_maps/map_files/generic/z2.dmm @@ -733,13 +733,13 @@ "oe" = (/turf/unsimulated/floor{tag = "icon-cultdamage4"; icon_state = "cultdamage4"},/area/wizard_station) "of" = (/obj/machinery/telecomms/allinone{intercept = 1},/turf/simulated/shuttle/floor{icon_state = "floor4"},/area/space) "og" = (/obj/effect/landmark{name = "Nuclear-Bomb"},/turf/simulated/shuttle/floor{icon_state = "floor4"},/area/space) -"oh" = (/obj/structure/rack,/obj/item/weapon/c4,/obj/item/weapon/storage/firstaid/regular,/obj/item/weapon/pinpointer,/obj/item/weapon/shield/energy,/obj/item/clothing/glasses/thermal,/obj/item/weapon/tank/emergency_oxygen,/obj/item/ammo_box/a357,/obj/item/weapon/gun/projectile/revolver/mateba,/obj/item/weapon/melee/energy/sword,/obj/item/weapon/storage/backpack/security,/turf/unsimulated/floor{dir = 4; heat_capacity = 1; icon_state = "warning"},/area/centcom/ferry) -"oi" = (/obj/structure/rack,/obj/item/weapon/c4,/obj/item/weapon/storage/firstaid/regular,/obj/item/weapon/pinpointer,/obj/item/weapon/shield/energy,/obj/item/clothing/glasses/thermal,/obj/item/weapon/tank/emergency_oxygen,/obj/item/ammo_box/a357,/obj/item/weapon/gun/projectile/revolver/mateba,/obj/item/weapon/melee/energy/sword,/obj/item/weapon/storage/backpack/security,/turf/unsimulated/floor{dir = 8; heat_capacity = 1; icon_state = "warning"},/area/centcom/ferry) +"oh" = (/obj/structure/rack,/obj/item/weapon/c4,/obj/item/weapon/storage/firstaid/regular,/obj/item/weapon/pinpointer,/obj/item/weapon/shield/energy,/obj/item/clothing/glasses/thermal,/obj/item/weapon/tank/internals/emergency_oxygen,/obj/item/ammo_box/a357,/obj/item/weapon/gun/projectile/revolver/mateba,/obj/item/weapon/melee/energy/sword,/obj/item/weapon/storage/backpack/security,/turf/unsimulated/floor{dir = 4; heat_capacity = 1; icon_state = "warning"},/area/centcom/ferry) +"oi" = (/obj/structure/rack,/obj/item/weapon/c4,/obj/item/weapon/storage/firstaid/regular,/obj/item/weapon/pinpointer,/obj/item/weapon/shield/energy,/obj/item/clothing/glasses/thermal,/obj/item/weapon/tank/internals/emergency_oxygen,/obj/item/ammo_box/a357,/obj/item/weapon/gun/projectile/revolver/mateba,/obj/item/weapon/melee/energy/sword,/obj/item/weapon/storage/backpack/security,/turf/unsimulated/floor{dir = 8; heat_capacity = 1; icon_state = "warning"},/area/centcom/ferry) "oj" = (/obj/structure/door_assembly{anchored = 1; icon_state = "door_as_uranium1"; name = "Corridor A"},/turf/unsimulated/floor{tag = "icon-cult"; icon_state = "cult"},/area/wizard_station) "ok" = (/turf/unsimulated/wall/normal{tag = "icon-uranium15"; icon_state = "uranium15"},/area/wizard_station) "ol" = (/obj/machinery/door/airlock{icon = 'icons/obj/doors/Dooruranium.dmi'; name = "Corridor A"},/turf/unsimulated/floor{tag = "icon-cult"; icon_state = "cult"},/area/wizard_station) "om" = (/obj/structure/table,/obj/item/robot_parts/r_arm,/obj/item/weapon/storage/firstaid/regular{pixel_x = 0; pixel_y = 0},/turf/simulated/shuttle/floor{icon_state = "floor4"},/area/space) -"on" = (/obj/structure/closet/crate/internals,/obj/item/weapon/tank/oxygen/red,/obj/item/clothing/mask/gas,/obj/item/weapon/tank/oxygen/red,/obj/item/clothing/mask/gas,/obj/item/weapon/tank/oxygen/red,/obj/item/clothing/mask/gas,/obj/item/weapon/tank/oxygen/red,/obj/item/clothing/mask/gas,/obj/item/weapon/tank/oxygen/red,/obj/item/clothing/mask/gas,/turf/simulated/shuttle/floor{icon_state = "floor4"},/area/space) +"on" = (/obj/structure/closet/crate/internals,/obj/item/weapon/tank/internals/oxygen/red,/obj/item/clothing/mask/gas,/obj/item/weapon/tank/internals/oxygen/red,/obj/item/clothing/mask/gas,/obj/item/weapon/tank/internals/oxygen/red,/obj/item/clothing/mask/gas,/obj/item/weapon/tank/internals/oxygen/red,/obj/item/clothing/mask/gas,/obj/item/weapon/tank/internals/oxygen/red,/obj/item/clothing/mask/gas,/turf/simulated/shuttle/floor{icon_state = "floor4"},/area/space) "oo" = (/obj/structure/closet/crate/medical,/obj/item/weapon/surgicaldrill,/obj/item/weapon/scalpel,/turf/simulated/shuttle/floor{icon_state = "floor4"},/area/space) "op" = (/obj/structure/shuttle/engine/heater,/obj/structure/window/reinforced{dir = 1},/turf/simulated/shuttle/plating,/area/space) "oq" = (/obj/machinery/teleport/station,/turf/simulated/shuttle/floor{icon_state = "floor4"},/area/space) diff --git a/_maps/map_files/generic/z3.dmm b/_maps/map_files/generic/z3.dmm index 8f2722e3b71..745e704fc30 100644 --- a/_maps/map_files/generic/z3.dmm +++ b/_maps/map_files/generic/z3.dmm @@ -34,7 +34,7 @@ "aH" = (/turf/simulated/shuttle/floor{icon_state = "floor3"},/turf/simulated/shuttle/wall{icon_state = "swall_f6"; dir = 2},/area/derelict/ship) "aI" = (/obj/item/weapon/stock_parts/cell{charge = 100; maxcharge = 15000},/turf/simulated/shuttle/floor{icon_state = "floor3"},/area/space) "aJ" = (/turf/simulated/shuttle/wall{tag = "icon-swall_f14"; icon_state = "swall_f14"},/area/space) -"aK" = (/obj/structure/rack,/obj/item/weapon/tank/emergency_oxygen,/obj/item/weapon/tank/emergency_oxygen,/obj/item/weapon/tank/emergency_oxygen,/obj/item/weapon/tank/emergency_oxygen,/obj/item/weapon/storage/toolbox/mechanical,/turf/simulated/shuttle/floor{icon_state = "floor3"},/area/space) +"aK" = (/obj/structure/rack,/obj/item/weapon/tank/internals/emergency_oxygen,/obj/item/weapon/tank/internals/emergency_oxygen,/obj/item/weapon/tank/internals/emergency_oxygen,/obj/item/weapon/tank/internals/emergency_oxygen,/obj/item/weapon/storage/toolbox/mechanical,/turf/simulated/shuttle/floor{icon_state = "floor3"},/area/space) "aL" = (/obj/structure/cable,/obj/structure/computerframe{anchored = 1},/turf/simulated/shuttle/floor{icon_state = "floor3"},/area/space) "aM" = (/turf/simulated/shuttle/wall{tag = "icon-swall_f11"; icon_state = "swall_f11"},/area/space) "aN" = (/obj/structure/lattice,/turf/space,/area/space) @@ -56,7 +56,7 @@ "bd" = (/turf/simulated/shuttle/wall{icon_state = "swall11"; dir = 2},/area/space) "be" = (/obj/structure/stool/bed/chair{dir = 4},/obj/effect/decal/remains/human,/turf/simulated/shuttle/floor{icon_state = "floor3"},/area/space) "bf" = (/obj/machinery/portable_atmospherics/canister/oxygen,/turf/simulated/shuttle/floor{icon_state = "floor3"},/area/space) -"bg" = (/obj/structure/table,/obj/item/weapon/tank/oxygen,/turf/simulated/shuttle/floor{icon_state = "floor3"},/area/space) +"bg" = (/obj/structure/table,/obj/item/weapon/tank/internals/oxygen,/turf/simulated/shuttle/floor{icon_state = "floor3"},/area/space) "bh" = (/obj/machinery/door/airlock/shuttle,/turf/simulated/shuttle/floor{icon_state = "floor3"},/area/space) "bi" = (/turf/simulated/shuttle/wall{icon_state = "swall_s9"; dir = 2},/area/derelict/ship) "bj" = (/turf/simulated/shuttle/wall{icon_state = "swall_s5"; dir = 2},/area/derelict/ship) diff --git a/_maps/map_files/generic/z5.dmm b/_maps/map_files/generic/z5.dmm index 6d9fc6f20dd..201c0a384ca 100644 --- a/_maps/map_files/generic/z5.dmm +++ b/_maps/map_files/generic/z5.dmm @@ -210,7 +210,7 @@ "eb" = (/obj/machinery/atmospherics/unary/vent_pump{on = 1},/turf/simulated/floor/plasteel{dir = 2; icon_state = "whiteblue"},/area/mine/laborcamp) "ec" = (/obj/machinery/navbeacon{codes_txt = "patrol;next_patrol=1-Storage"; location = "Sleeper"},/turf/simulated/floor/plasteel{dir = 2; icon_state = "whiteblue"},/area/mine/laborcamp) "ed" = (/obj/machinery/light/small{dir = 4},/obj/structure/stool/bed/roller,/turf/simulated/floor/plasteel{dir = 2; icon_state = "whiteblue"},/area/mine/laborcamp) -"ee" = (/obj/machinery/atmospherics/pipe/simple,/obj/structure/closet/crate/internals,/obj/item/weapon/tank/emergency_oxygen,/obj/item/weapon/tank/emergency_oxygen,/obj/item/weapon/tank/emergency_oxygen,/obj/item/weapon/tank/emergency_oxygen,/obj/item/clothing/mask/breath,/obj/item/clothing/mask/breath,/obj/item/clothing/mask/breath,/obj/item/clothing/mask/breath,/turf/simulated/floor/plasteel{icon_state = "floorgrime"; temperature = 273.15},/area/mine/laborcamp) +"ee" = (/obj/machinery/atmospherics/pipe/simple,/obj/structure/closet/crate/internals,/obj/item/weapon/tank/internals/emergency_oxygen,/obj/item/weapon/tank/internals/emergency_oxygen,/obj/item/weapon/tank/internals/emergency_oxygen,/obj/item/weapon/tank/internals/emergency_oxygen,/obj/item/clothing/mask/breath,/obj/item/clothing/mask/breath,/obj/item/clothing/mask/breath,/obj/item/clothing/mask/breath,/turf/simulated/floor/plasteel{icon_state = "floorgrime"; temperature = 273.15},/area/mine/laborcamp) "ef" = (/obj/machinery/light/small,/turf/simulated/floor/plasteel{icon_state = "floorgrime"; temperature = 273.15},/area/mine/laborcamp) "eg" = (/obj/machinery/bot/secbot/beepsky{desc = "Powered by tears and swet of laborer."; name = "Prison Ofitser"},/obj/machinery/navbeacon{codes_txt = "patrol;next_patrol=2-NMine"; location = "1-Storage"},/turf/simulated/floor/plasteel{icon_state = "asteroidfloor"; temperature = 273.15},/area/mine/laborcamp) "eh" = (/obj/structure/plasticflaps/mining,/turf/simulated/floor/plasteel{icon_state = "asteroidfloor"; temperature = 273.15},/area/mine/laborcamp) diff --git a/code/_onclick/hud/screen_objects.dm b/code/_onclick/hud/screen_objects.dm index 7225f85733b..e23a1e42479 100644 --- a/code/_onclick/hud/screen_objects.dm +++ b/code/_onclick/hud/screen_objects.dm @@ -133,29 +133,29 @@ C << "You are not wearing a mask." return 1 else - if(istype(C.l_hand, /obj/item/weapon/tank)) + if(istype(C.l_hand, /obj/item/weapon/tank/internals)) C << "You are now running on internals from the [C.l_hand] on your left hand." C.internal = C.l_hand - else if(istype(C.r_hand, /obj/item/weapon/tank)) + else if(istype(C.r_hand, /obj/item/weapon/tank/internals)) C << "You are now running on internals from the [C.r_hand] on your right hand." C.internal = C.r_hand else if(ishuman(C)) var/mob/living/carbon/human/H = C - if(istype(H.s_store, /obj/item/weapon/tank)) + if(istype(H.s_store, /obj/item/weapon/tank/internals)) H << "You are now running on internals from the [H.s_store] on your [H.wear_suit]." H.internal = H.s_store - else if(istype(H.belt, /obj/item/weapon/tank)) + else if(istype(H.belt, /obj/item/weapon/tank/internals)) H << "You are now running on internals from the [H.belt] on your belt." H.internal = H.belt - else if(istype(H.l_store, /obj/item/weapon/tank)) + else if(istype(H.l_store, /obj/item/weapon/tank/internals)) H << "You are now running on internals from the [H.l_store] in your left pocket." H.internal = H.l_store - else if(istype(H.r_store, /obj/item/weapon/tank)) + else if(istype(H.r_store, /obj/item/weapon/tank/internals)) H << "You are now running on internals from the [H.r_store] in your right pocket." H.internal = H.r_store //Seperate so CO2 jetpacks are a little less cumbersome. - if(!C.internal && istype(C.back, /obj/item/weapon/tank)) + if(!C.internal && istype(C.back, /obj/item/weapon/tank/internals)) C << "You are now running on internals from the [C.back] on your back." C.internal = C.back diff --git a/code/datums/supplypacks.dm b/code/datums/supplypacks.dm index 4670945c3d0..3832d494020 100644 --- a/code/datums/supplypacks.dm +++ b/code/datums/supplypacks.dm @@ -77,11 +77,11 @@ var/list/all_supply_groups = list(supply_emergency,supply_security,supply_engine /obj/machinery/bot/floorbot, /obj/machinery/bot/medbot, /obj/machinery/bot/medbot, - /obj/item/weapon/tank/air, - /obj/item/weapon/tank/air, - /obj/item/weapon/tank/air, - /obj/item/weapon/tank/air, - /obj/item/weapon/tank/air, + /obj/item/weapon/tank/internals/air, + /obj/item/weapon/tank/internals/air, + /obj/item/weapon/tank/internals/air, + /obj/item/weapon/tank/internals/air, + /obj/item/weapon/tank/internals/air, /obj/item/clothing/mask/gas, /obj/item/clothing/mask/gas, /obj/item/clothing/mask/gas, @@ -97,9 +97,9 @@ var/list/all_supply_groups = list(supply_emergency,supply_security,supply_engine contains = list(/obj/item/clothing/mask/gas, /obj/item/clothing/mask/gas, /obj/item/clothing/mask/gas, - /obj/item/weapon/tank/air, - /obj/item/weapon/tank/air, - /obj/item/weapon/tank/air) + /obj/item/weapon/tank/internals/air, + /obj/item/weapon/tank/internals/air, + /obj/item/weapon/tank/internals/air) cost = 10 containername = "internals crate" @@ -111,8 +111,8 @@ var/list/all_supply_groups = list(supply_emergency,supply_security,supply_engine /obj/item/clothing/mask/gas, /obj/item/device/flashlight, /obj/item/device/flashlight, - /obj/item/weapon/tank/oxygen/red, - /obj/item/weapon/tank/oxygen/red, + /obj/item/weapon/tank/internals/oxygen/red, + /obj/item/weapon/tank/internals/oxygen/red, /obj/item/weapon/extinguisher, /obj/item/weapon/extinguisher, /obj/item/clothing/head/hardhat/red, @@ -306,9 +306,9 @@ var/list/all_supply_groups = list(supply_emergency,supply_security,supply_engine /datum/supply_packs/security/armory/eweapons name = "Incendiary Weapons Crate" contains = list(/obj/item/weapon/flamethrower/full, - /obj/item/weapon/tank/plasma, - /obj/item/weapon/tank/plasma, - /obj/item/weapon/tank/plasma, + /obj/item/weapon/tank/internals/plasma, + /obj/item/weapon/tank/internals/plasma, + /obj/item/weapon/tank/internals/plasma, /obj/item/weapon/grenade/chem_grenade/incendiary, /obj/item/weapon/grenade/chem_grenade/incendiary, /obj/item/weapon/grenade/chem_grenade/incendiary) @@ -649,9 +649,9 @@ var/list/all_supply_groups = list(supply_emergency,supply_security,supply_engine /datum/supply_packs/science/plasma name = "Plasma Assembly Crate" - contains = list(/obj/item/weapon/tank/plasma, - /obj/item/weapon/tank/plasma, - /obj/item/weapon/tank/plasma, + contains = list(/obj/item/weapon/tank/internals/plasma, + /obj/item/weapon/tank/internals/plasma, + /obj/item/weapon/tank/internals/plasma, /obj/item/device/assembly/igniter, /obj/item/device/assembly/igniter, /obj/item/device/assembly/igniter, diff --git a/code/game/asteroid.dm b/code/game/asteroid.dm index e0870964a61..6e9ac7205b5 100644 --- a/code/game/asteroid.dm +++ b/code/game/asteroid.dm @@ -63,7 +63,7 @@ proc/make_mining_asteroid_secret() treasureitems = list(/obj/machinery/bot/medbot/mysterious=1, /obj/item/weapon/circular_saw=1, /obj/structure/closet/critter/cat=2) fluffitems = list(/obj/effect/decal/cleanable/blood=5,/obj/item/organ/appendix=2,/obj/structure/closet/crate/freezer=2, /obj/structure/optable=1,/obj/item/weapon/scalpel=1,/obj/item/weapon/storage/firstaid/regular=3, - /obj/item/weapon/tank/anesthetic=1, /obj/item/weapon/surgical_drapes=2, /obj/item/device/mass_spectrometer/adv=1,/obj/item/clothing/glasses/hud/health=1) + /obj/item/weapon/tank/internals/anesthetic=1, /obj/item/weapon/surgical_drapes=2, /obj/item/device/mass_spectrometer/adv=1,/obj/item/clothing/glasses/hud/health=1) if("cult") theme = "cult" @@ -91,7 +91,7 @@ proc/make_mining_asteroid_secret() treasureitems = list(/obj/mecha/working/ripley/mining=1, /obj/item/weapon/pickaxe/drill/diamonddrill=2,/obj/item/weapon/gun/energy/kinetic_accelerator=1, /obj/item/weapon/resonator=1, /obj/item/weapon/pickaxe/jackhammer=5) fluffitems = list(/obj/effect/decal/cleanable/blood=3,/obj/effect/decal/remains/human=1,/obj/item/clothing/under/overalls=1, - /obj/item/weapon/reagent_containers/food/snacks/grown/chili=1,/obj/item/weapon/tank/oxygen/red=2) + /obj/item/weapon/reagent_containers/food/snacks/grown/chili=1,/obj/item/weapon/tank/internals/oxygen/red=2) if("xenoden") theme = "xenoden" diff --git a/code/game/gamemodes/changeling/powers/mutations.dm b/code/game/gamemodes/changeling/powers/mutations.dm index 60bc0a7bacc..98d0a0f18c6 100644 --- a/code/game/gamemodes/changeling/powers/mutations.dm +++ b/code/game/gamemodes/changeling/powers/mutations.dm @@ -253,7 +253,7 @@ icon_state = "lingspacesuit" desc = "A huge, bulky mass of pressure and temperature-resistant organic tissue, evolved to facilitate space travel." flags = STOPSPRESSUREDMAGE | NODROP //Not THICKMATERIAL because it's organic tissue, so if somebody tries to inject something into it, it still ends up in your blood. (also balance but muh fluff) - allowed = list(/obj/item/device/flashlight, /obj/item/weapon/tank/emergency_oxygen, /obj/item/weapon/tank/oxygen) + allowed = list(/obj/item/device/flashlight, /obj/item/weapon/tank/internals/emergency_oxygen, /obj/item/weapon/tank/internals/oxygen) armor = list(melee = 0, bullet = 0, laser = 0,energy = 0, bomb = 0, bio = 0, rad = 0) //No armor at all. /obj/item/clothing/suit/space/changeling/New() diff --git a/code/game/gamemodes/cult/cult_items.dm b/code/game/gamemodes/cult/cult_items.dm index 2d5225758e4..90ebb2d9f93 100644 --- a/code/game/gamemodes/cult/cult_items.dm +++ b/code/game/gamemodes/cult/cult_items.dm @@ -97,6 +97,6 @@ item_state = "cult_armor" desc = "A bulky suit of armor, bristling with spikes. It looks space proof." w_class = 3 - allowed = list(/obj/item/weapon/tome,/obj/item/weapon/melee/cultblade,/obj/item/weapon/tank/emergency_oxygen) + allowed = list(/obj/item/weapon/tome,/obj/item/weapon/melee/cultblade,/obj/item/weapon/tank/internals/emergency_oxygen) slowdown = 1 armor = list(melee = 60, bullet = 50, laser = 30,energy = 15, bomb = 30, bio = 30, rad = 30) \ No newline at end of file diff --git a/code/game/gamemodes/sandbox/h_sandbox.dm b/code/game/gamemodes/sandbox/h_sandbox.dm index 9b3045d62a1..69c8e75be00 100644 --- a/code/game/gamemodes/sandbox/h_sandbox.dm +++ b/code/game/gamemodes/sandbox/h_sandbox.dm @@ -37,7 +37,7 @@ datum/hSB/proc/update() "Space Gear", "Suit Up (Space Travel Gear)" = "hsbsuit", "Spawn Gas Mask" = "hsbspawn&path=[/obj/item/clothing/mask/gas]", - "Spawn Emergency Air Tank" = "hsbspawn&path=[/obj/item/weapon/tank/emergency_oxygen/double]", + "Spawn Emergency Air Tank" = "hsbspawn&path=[/obj/item/weapon/tank/internals/emergency_oxygen/double]", "Standard Tools", "Spawn Flashlight" = "hsbspawn&path=[/obj/item/device/flashlight]", diff --git a/code/game/machinery/suit_storage_unit.dm b/code/game/machinery/suit_storage_unit.dm index 2ea08978303..16aac4c25cb 100644 --- a/code/game/machinery/suit_storage_unit.dm +++ b/code/game/machinery/suit_storage_unit.dm @@ -79,25 +79,25 @@ SUIT_TYPE = /obj/item/clothing/suit/space/ert HELMET_TYPE = /obj/item/clothing/head/helmet/space/hardsuit/ert MASK_TYPE = /obj/item/clothing/mask/breath - STORAGE_TYPE = /obj/item/weapon/tank/emergency_oxygen/double + STORAGE_TYPE = /obj/item/weapon/tank/internals/emergency_oxygen/double /obj/machinery/suit_storage_unit/ertSec SUIT_TYPE = /obj/item/clothing/suit/space/ert/sec HELMET_TYPE = /obj/item/clothing/head/helmet/space/hardsuit/ert/sec MASK_TYPE = /obj/item/clothing/mask/breath - STORAGE_TYPE = /obj/item/weapon/tank/emergency_oxygen/double + STORAGE_TYPE = /obj/item/weapon/tank/internals/emergency_oxygen/double /obj/machinery/suit_storage_unit/ertEngi SUIT_TYPE = /obj/item/clothing/suit/space/ert/engi HELMET_TYPE = /obj/item/clothing/head/helmet/space/hardsuit/ert/engi MASK_TYPE = /obj/item/clothing/mask/breath - STORAGE_TYPE = /obj/item/weapon/tank/emergency_oxygen/double + STORAGE_TYPE = /obj/item/weapon/tank/internals/emergency_oxygen/double /obj/machinery/suit_storage_unit/ertMed SUIT_TYPE = /obj/item/clothing/suit/space/ert/med HELMET_TYPE = /obj/item/clothing/head/helmet/space/hardsuit/ert/med MASK_TYPE = /obj/item/clothing/mask/breath - STORAGE_TYPE = /obj/item/weapon/tank/emergency_oxygen/double + STORAGE_TYPE = /obj/item/weapon/tank/internals/emergency_oxygen/double /obj/machinery/suit_storage_unit/New() src.update_icon() diff --git a/code/game/machinery/vending.dm b/code/game/machinery/vending.dm index d597250a2fc..2a6a4974f86 100644 --- a/code/game/machinery/vending.dm +++ b/code/game/machinery/vending.dm @@ -589,7 +589,7 @@ desc = "A vendor with a wide variety of masks and gas tanks." icon = 'icons/obj/objects.dmi' icon_state = "dispenser" - product_paths = "/obj/item/weapon/tank/oxygen;/obj/item/weapon/tank/plasma;/obj/item/weapon/tank/emergency_oxygen;/obj/item/weapon/tank/emergency_oxygen/engi;/obj/item/clothing/mask/breath" + product_paths = "/obj/item/weapon/tank/internals/oxygen;/obj/item/weapon/tank/internals/plasma;/obj/item/weapon/tank/internals/emergency_oxygen;/obj/item/weapon/tank/internals/emergency_oxygen/engi;/obj/item/clothing/mask/breath" product_amounts = "10;10;10;5;25" vend_delay = 0 */ @@ -944,7 +944,7 @@ req_access_txt = "29" products = list(/obj/item/clothing/suit/toggle/labcoat = 4,/obj/item/clothing/under/rank/roboticist = 4,/obj/item/stack/cable_coil = 4,/obj/item/device/flash/handheld = 4, /obj/item/weapon/stock_parts/cell/high = 12, /obj/item/device/assembly/prox_sensor = 3,/obj/item/device/assembly/signaler = 3,/obj/item/device/healthanalyzer = 3, - /obj/item/weapon/scalpel = 2,/obj/item/weapon/circular_saw = 2,/obj/item/weapon/tank/anesthetic = 2,/obj/item/clothing/mask/breath/medical = 5, + /obj/item/weapon/scalpel = 2,/obj/item/weapon/circular_saw = 2,/obj/item/weapon/tank/internals/anesthetic = 2,/obj/item/clothing/mask/breath/medical = 5, /obj/item/weapon/screwdriver = 5,/obj/item/weapon/crowbar = 5) //This one's from NTstation diff --git a/code/game/objects/effects/spawners/bombspawner.dm b/code/game/objects/effects/spawners/bombspawner.dm index 8fb093f8938..5e1ef66ee32 100644 --- a/code/game/objects/effects/spawners/bombspawner.dm +++ b/code/game/objects/effects/spawners/bombspawner.dm @@ -30,7 +30,7 @@ // radio if (0) var/obj/item/assembly/r_i_ptank/R = new /obj/item/assembly/r_i_ptank(src.loc) - var/obj/item/weapon/tank/plasma/p3 = new /obj/item/weapon/tank/plasma(R) + var/obj/item/weapon/tank/internals/plasma/p3 = new /obj/item/weapon/tank/internals/plasma(R) var/obj/item/device/radio/signaler/p1 = new /obj/item/device/radio/signaler(R) var/obj/item/device/igniter/p2 = new /obj/item/device/igniter(R) R.part1 = p1 @@ -47,7 +47,7 @@ // proximity if (1) var/obj/item/assembly/m_i_ptank/R = new /obj/item/assembly/m_i_ptank(src.loc) - var/obj/item/weapon/tank/plasma/p3 = new /obj/item/weapon/tank/plasma(R) + var/obj/item/weapon/tank/internals/plasma/p3 = new /obj/item/weapon/tank/internals/plasma(R) var/obj/item/device/prox_sensor/p1 = new /obj/item/device/prox_sensor(R) var/obj/item/device/igniter/p2 = new /obj/item/device/igniter(R) R.part1 = p1 @@ -69,7 +69,7 @@ // timer if (2) var/obj/item/assembly/t_i_ptank/R = new /obj/item/assembly/t_i_ptank(src.loc) - var/obj/item/weapon/tank/plasma/p3 = new /obj/item/weapon/tank/plasma(R) + var/obj/item/weapon/tank/internals/plasma/p3 = new /obj/item/weapon/tank/internals/plasma(R) var/obj/item/device/timer/p1 = new /obj/item/device/timer(R) var/obj/item/device/igniter/p2 = new /obj/item/device/igniter(R) R.part1 = p1 @@ -85,7 +85,7 @@ //bombvest if(3) var/obj/item/clothing/suit/armor/a_i_a_ptank/R = new /obj/item/clothing/suit/armor/a_i_a_ptank(src.loc) - var/obj/item/weapon/tank/plasma/p4 = new /obj/item/weapon/tank/plasma(R) + var/obj/item/weapon/tank/internals/plasma/p4 = new /obj/item/weapon/tank/internals/plasma(R) var/obj/item/device/healthanalyzer/p1 = new /obj/item/device/healthanalyzer(R) var/obj/item/device/igniter/p2 = new /obj/item/device/igniter(R) var/obj/item/clothing/suit/armor/vest/p3 = new /obj/item/clothing/suit/armor/vest(R) @@ -135,8 +135,8 @@ if (0) var/obj/item/device/transfer_valve/V = new(src.loc) - var/obj/item/weapon/tank/plasma/PT = new(V) - var/obj/item/weapon/tank/oxygen/OT = new(V) + var/obj/item/weapon/tank/internals/plasma/PT = new(V) + var/obj/item/weapon/tank/internals/oxygen/OT = new(V) var/obj/item/device/assembly/signaler/S = new(V) @@ -158,8 +158,8 @@ if (1) var/obj/item/device/transfer_valve/V = new(src.loc) - var/obj/item/weapon/tank/plasma/PT = new(V) - var/obj/item/weapon/tank/oxygen/OT = new(V) + var/obj/item/weapon/tank/internals/plasma/PT = new(V) + var/obj/item/weapon/tank/internals/oxygen/OT = new(V) var/obj/item/device/assembly/prox_sensor/P = new(V) @@ -182,8 +182,8 @@ // timer if (2) var/obj/item/device/transfer_valve/V = new(src.loc) - var/obj/item/weapon/tank/plasma/PT = new(V) - var/obj/item/weapon/tank/oxygen/OT = new(V) + var/obj/item/weapon/tank/internals/plasma/PT = new(V) + var/obj/item/weapon/tank/internals/oxygen/OT = new(V) var/obj/item/device/assembly/timer/T = new(V) diff --git a/code/game/objects/effects/spawners/lootdrop.dm b/code/game/objects/effects/spawners/lootdrop.dm index 176fd79b61b..f29d9f39c9e 100644 --- a/code/game/objects/effects/spawners/lootdrop.dm +++ b/code/game/objects/effects/spawners/lootdrop.dm @@ -110,7 +110,7 @@ /obj/item/weapon/storage/fancy/cigarettes/dromedaryco = 1, /obj/item/weapon/storage/toolbox/mechanical = 1, /obj/item/weapon/screwdriver = 3, - /obj/item/weapon/tank/emergency_oxygen = 2, + /obj/item/weapon/tank/internals/emergency_oxygen = 2, /obj/item/weapon/vending_refill/cola = 1, /obj/item/weapon/weldingtool = 3, /obj/item/weapon/wirecutters = 1, diff --git a/code/game/objects/items/weapons/flamethrower.dm b/code/game/objects/items/weapons/flamethrower.dm index 3354f1f5b0c..1fa74f76454 100644 --- a/code/game/objects/items/weapons/flamethrower.dm +++ b/code/game/objects/items/weapons/flamethrower.dm @@ -18,7 +18,7 @@ var/operating = 0//cooldown var/obj/item/weapon/weldingtool/weldtool = null var/obj/item/device/assembly/igniter/igniter = null - var/obj/item/weapon/tank/plasma/ptank = null + var/obj/item/weapon/tank/internals/plasma/ptank = null /obj/item/weapon/flamethrower/Destroy() @@ -100,7 +100,7 @@ update_icon() return - if(istype(W,/obj/item/weapon/tank/plasma)) + if(istype(W,/obj/item/weapon/tank/internals/plasma)) if(ptank) user << "There appears to already be a plasma tank loaded in [src]!" return @@ -204,5 +204,5 @@ /obj/item/weapon/flamethrower/full/tank/New(var/loc) ..() - ptank = new /obj/item/weapon/tank/plasma/full(src) + ptank = new /obj/item/weapon/tank/internals/plasma/full(src) update_icon() \ No newline at end of file diff --git a/code/game/objects/items/weapons/storage/boxes.dm b/code/game/objects/items/weapons/storage/boxes.dm index 467ca497767..8414d40a072 100644 --- a/code/game/objects/items/weapons/storage/boxes.dm +++ b/code/game/objects/items/weapons/storage/boxes.dm @@ -62,7 +62,7 @@ ..() contents = list() new /obj/item/clothing/mask/breath(src) - new /obj/item/weapon/tank/emergency_oxygen(src) + new /obj/item/weapon/tank/internals/emergency_oxygen(src) new /obj/item/weapon/reagent_containers/hypospray/medipen(src) return @@ -72,7 +72,7 @@ ..() contents = list() new /obj/item/clothing/mask/breath(src) - new /obj/item/weapon/tank/emergency_oxygen/engi(src) + new /obj/item/weapon/tank/internals/emergency_oxygen/engi(src) new /obj/item/weapon/reagent_containers/hypospray/medipen(src) return diff --git a/code/game/objects/items/weapons/tanks/tank_types.dm b/code/game/objects/items/weapons/tanks/tank_types.dm index 6af3b539a8b..12c4f8d1a13 100644 --- a/code/game/objects/items/weapons/tanks/tank_types.dm +++ b/code/game/objects/items/weapons/tanks/tank_types.dm @@ -10,24 +10,24 @@ /* * Oxygen */ -/obj/item/weapon/tank/oxygen +/obj/item/weapon/tank/internals/oxygen name = "oxygen tank" desc = "A tank of oxygen." icon_state = "oxygen" distribute_pressure = ONE_ATMOSPHERE*O2STANDARD -/obj/item/weapon/tank/oxygen/New() +/obj/item/weapon/tank/internals/oxygen/New() ..() src.air_contents.oxygen = (6*ONE_ATMOSPHERE)*volume/(R_IDEAL_GAS_EQUATION*T20C) return -/obj/item/weapon/tank/oxygen/yellow +/obj/item/weapon/tank/internals/oxygen/yellow desc = "A tank of oxygen, this one is yellow." icon_state = "oxygen_f" -/obj/item/weapon/tank/oxygen/red +/obj/item/weapon/tank/internals/oxygen/red desc = "A tank of oxygen, this one is red." icon_state = "oxygen_fr" @@ -35,13 +35,13 @@ /* * Anesthetic */ -/obj/item/weapon/tank/anesthetic +/obj/item/weapon/tank/internals/anesthetic name = "anesthetic tank" desc = "A tank with an N2O/O2 gas mix." icon_state = "anesthetic" item_state = "an_tank" -/obj/item/weapon/tank/anesthetic/New() +/obj/item/weapon/tank/internals/anesthetic/New() ..() src.air_contents.oxygen = (3*ONE_ATMOSPHERE)*volume/(R_IDEAL_GAS_EQUATION*T20C) * O2STANDARD @@ -55,13 +55,13 @@ /* * Air */ -/obj/item/weapon/tank/air +/obj/item/weapon/tank/internals/air name = "air tank" desc = "Mixed anyone?" icon_state = "oxygen" -/obj/item/weapon/tank/air/New() +/obj/item/weapon/tank/internals/air/New() ..() src.air_contents.oxygen = (6*ONE_ATMOSPHERE)*volume/(R_IDEAL_GAS_EQUATION*T20C) * O2STANDARD @@ -72,7 +72,7 @@ /* * Plasma */ -/obj/item/weapon/tank/plasma +/obj/item/weapon/tank/internals/plasma name = "plasma tank" desc = "Contains dangerous plasma. Do not inhale. Warning: extremely flammable." icon_state = "plasma" @@ -80,13 +80,13 @@ slot_flags = null //they have no straps! -/obj/item/weapon/tank/plasma/New() +/obj/item/weapon/tank/internals/plasma/New() ..() src.air_contents.toxins = (3*ONE_ATMOSPHERE)*volume/(R_IDEAL_GAS_EQUATION*T20C) return -/obj/item/weapon/tank/plasma/attackby(obj/item/weapon/W as obj, mob/user as mob) +/obj/item/weapon/tank/internals/plasma/attackby(obj/item/weapon/W as obj, mob/user as mob) ..() if (istype(W, /obj/item/weapon/flamethrower)) @@ -98,7 +98,7 @@ src.loc = F return -/obj/item/weapon/tank/plasma/full/New() +/obj/item/weapon/tank/internals/plasma/full/New() ..() src.air_contents.toxins = (10*ONE_ATMOSPHERE)*volume/(R_IDEAL_GAS_EQUATION*T20C) return @@ -106,7 +106,7 @@ /* * Emergency Oxygen */ -/obj/item/weapon/tank/emergency_oxygen +/obj/item/weapon/tank/internals/emergency_oxygen name = "emergency oxygen tank" desc = "Used for emergencies. Contains very little oxygen, so try to conserve it until you actually need it." icon_state = "emergency" @@ -118,17 +118,17 @@ volume = 3 //Tiny. Real life equivalents only have 21 breaths of oxygen in them. They're EMERGENCY tanks anyway -errorage (dangercon 2011) -/obj/item/weapon/tank/emergency_oxygen/New() +/obj/item/weapon/tank/internals/emergency_oxygen/New() ..() src.air_contents.oxygen = (3*ONE_ATMOSPHERE)*volume/(R_IDEAL_GAS_EQUATION*T20C) return -/obj/item/weapon/tank/emergency_oxygen/engi +/obj/item/weapon/tank/internals/emergency_oxygen/engi name = "extended-capacity emergency oxygen tank" icon_state = "emergency_engi" volume = 6 -/obj/item/weapon/tank/emergency_oxygen/double +/obj/item/weapon/tank/internals/emergency_oxygen/double name = "double emergency oxygen tank" icon_state = "emergency_engi" volume = 10 diff --git a/code/game/objects/structures/crates_lockers/closets/secure/cargo.dm b/code/game/objects/structures/crates_lockers/closets/secure/cargo.dm index af573d346f1..e4c16bf5bba 100644 --- a/code/game/objects/structures/crates_lockers/closets/secure/cargo.dm +++ b/code/game/objects/structures/crates_lockers/closets/secure/cargo.dm @@ -37,7 +37,7 @@ new /obj/item/clothing/gloves/fingerless(src) // new /obj/item/weapon/cartridge/quartermaster(src) new /obj/item/clothing/suit/fire/firefighter(src) - new /obj/item/weapon/tank/emergency_oxygen(src) + new /obj/item/weapon/tank/internals/emergency_oxygen(src) new /obj/item/clothing/mask/gas(src) new /obj/item/clothing/glasses/meson(src) new /obj/item/clothing/head/soft(src) diff --git a/code/game/objects/structures/crates_lockers/closets/secure/engineering.dm b/code/game/objects/structures/crates_lockers/closets/secure/engineering.dm index 75c5298b2d2..2225b1d78a6 100644 --- a/code/game/objects/structures/crates_lockers/closets/secure/engineering.dm +++ b/code/game/objects/structures/crates_lockers/closets/secure/engineering.dm @@ -132,7 +132,7 @@ new /obj/item/weapon/storage/toolbox/mechanical(src) new /obj/item/weapon/storage/backpack/satchel_norm(src) new /obj/item/weapon/storage/backpack/dufflebag/engineering(src) - new /obj/item/weapon/tank/emergency_oxygen/engi(src) + new /obj/item/weapon/tank/internals/emergency_oxygen/engi(src) new /obj/item/weapon/watertank/atmos(src) new /obj/item/clothing/suit/fire/atmos(src) new /obj/item/clothing/head/hardhat/atmos(src) diff --git a/code/game/objects/structures/crates_lockers/closets/secure/medical.dm b/code/game/objects/structures/crates_lockers/closets/secure/medical.dm index f8659cfbd55..a47ecc0f87e 100644 --- a/code/game/objects/structures/crates_lockers/closets/secure/medical.dm +++ b/code/game/objects/structures/crates_lockers/closets/secure/medical.dm @@ -46,9 +46,9 @@ /obj/structure/closet/secure_closet/medical2/New() ..() - new /obj/item/weapon/tank/anesthetic(src) - new /obj/item/weapon/tank/anesthetic(src) - new /obj/item/weapon/tank/anesthetic(src) + new /obj/item/weapon/tank/internals/anesthetic(src) + new /obj/item/weapon/tank/internals/anesthetic(src) + new /obj/item/weapon/tank/internals/anesthetic(src) new /obj/item/clothing/mask/breath/medical(src) new /obj/item/clothing/mask/breath/medical(src) new /obj/item/clothing/mask/breath/medical(src) diff --git a/code/game/objects/structures/crates_lockers/closets/secure/scientist.dm b/code/game/objects/structures/crates_lockers/closets/secure/scientist.dm index 86db3895e78..1179a079e6e 100644 --- a/code/game/objects/structures/crates_lockers/closets/secure/scientist.dm +++ b/code/game/objects/structures/crates_lockers/closets/secure/scientist.dm @@ -15,7 +15,7 @@ new /obj/item/clothing/shoes/sneakers/white(src) // new /obj/item/weapon/cartridge/signal/toxins(src) new /obj/item/device/radio/headset/headset_sci(src) - new /obj/item/weapon/tank/air(src) + new /obj/item/weapon/tank/internals/air(src) new /obj/item/clothing/mask/gas(src) return @@ -44,7 +44,7 @@ new /obj/item/clothing/shoes/sneakers/white(src) new /obj/item/clothing/gloves/color/latex(src) new /obj/item/device/radio/headset/heads/rd(src) - new /obj/item/weapon/tank/air(src) + new /obj/item/weapon/tank/internals/air(src) new /obj/item/clothing/mask/gas(src) new /obj/item/clothing/suit/armor/reactive(src) new /obj/item/device/flash/handheld(src) diff --git a/code/game/objects/structures/crates_lockers/closets/utility_closets.dm b/code/game/objects/structures/crates_lockers/closets/utility_closets.dm index 27c2655da50..7fb6712b9e7 100644 --- a/code/game/objects/structures/crates_lockers/closets/utility_closets.dm +++ b/code/game/objects/structures/crates_lockers/closets/utility_closets.dm @@ -27,18 +27,18 @@ switch (pickweight(list("small" = 40, "aid" = 25, "tank" = 20, "both" = 10, "nothing" = 4, "delete" = 1))) if ("small") - new /obj/item/weapon/tank/emergency_oxygen(src) - new /obj/item/weapon/tank/emergency_oxygen(src) + new /obj/item/weapon/tank/internals/emergency_oxygen(src) + new /obj/item/weapon/tank/internals/emergency_oxygen(src) if ("aid") - new /obj/item/weapon/tank/emergency_oxygen(src) + new /obj/item/weapon/tank/internals/emergency_oxygen(src) new /obj/item/weapon/storage/firstaid/o2(src) if ("tank") - new /obj/item/weapon/tank/air(src) + new /obj/item/weapon/tank/internals/air(src) if ("both") - new /obj/item/weapon/tank/emergency_oxygen(src) + new /obj/item/weapon/tank/internals/emergency_oxygen(src) new /obj/item/clothing/mask/breath(src) if ("nothing") @@ -54,7 +54,7 @@ qdel(src)*/ /obj/structure/closet/emcloset/legacy/New() - new /obj/item/weapon/tank/oxygen(src) + new /obj/item/weapon/tank/internals/oxygen(src) new /obj/item/clothing/mask/gas(src) /* @@ -72,7 +72,7 @@ new /obj/item/clothing/suit/fire/firefighter(src) new /obj/item/clothing/mask/gas(src) - new /obj/item/weapon/tank/oxygen/red(src) + new /obj/item/weapon/tank/internals/oxygen/red(src) new /obj/item/weapon/extinguisher(src) new /obj/item/clothing/head/hardhat/red(src) @@ -83,7 +83,7 @@ new /obj/item/clothing/suit/fire/firefighter(src) new /obj/item/clothing/mask/gas(src) new /obj/item/device/flashlight(src) - new /obj/item/weapon/tank/oxygen/red(src) + new /obj/item/weapon/tank/internals/oxygen/red(src) new /obj/item/weapon/extinguisher(src) new /obj/item/clothing/head/hardhat/red(src) diff --git a/code/game/objects/structures/tank_dispenser.dm b/code/game/objects/structures/tank_dispenser.dm index 0dcf0f5f451..06f5aa67d74 100644 --- a/code/game/objects/structures/tank_dispenser.dm +++ b/code/game/objects/structures/tank_dispenser.dm @@ -48,7 +48,7 @@ /obj/structure/dispenser/attackby(obj/item/I as obj, mob/user as mob) - if(istype(I, /obj/item/weapon/tank/oxygen) || istype(I, /obj/item/weapon/tank/air) || istype(I, /obj/item/weapon/tank/anesthetic)) + if(istype(I, /obj/item/weapon/tank/internals/oxygen) || istype(I, /obj/item/weapon/tank/internals/air) || istype(I, /obj/item/weapon/tank/internals/anesthetic)) if(oxygentanks < 10) user.drop_item() I.loc = src @@ -57,7 +57,7 @@ user << "You put [I] in [src]." else user << "[src] is full." - if(istype(I, /obj/item/weapon/tank/plasma)) + if(istype(I, /obj/item/weapon/tank/internals/plasma)) if(plasmatanks < 10) user.drop_item() I.loc = src @@ -76,24 +76,24 @@ usr.set_machine(src) if(href_list["oxygen"]) if(oxygentanks > 0) - var/obj/item/weapon/tank/oxygen/O + var/obj/item/weapon/tank/internals/oxygen/O if(oxytanks.len == oxygentanks) O = oxytanks[1] oxytanks.Remove(O) else - O = new /obj/item/weapon/tank/oxygen(loc) + O = new /obj/item/weapon/tank/internals/oxygen(loc) O.loc = loc usr << "You take [O] out of [src]." oxygentanks-- update_icon() if(href_list["plasma"]) if(plasmatanks > 0) - var/obj/item/weapon/tank/plasma/P + var/obj/item/weapon/tank/internals/plasma/P if(platanks.len == plasmatanks) P = platanks[1] platanks.Remove(P) else - P = new /obj/item/weapon/tank/plasma(loc) + P = new /obj/item/weapon/tank/internals/plasma(loc) P.loc = loc usr << "You take [P] out of [src]." plasmatanks-- diff --git a/code/modules/admin/verbs/debug.dm b/code/modules/admin/verbs/debug.dm index 1a99e573f41..885077e30b6 100644 --- a/code/modules/admin/verbs/debug.dm +++ b/code/modules/admin/verbs/debug.dm @@ -1011,7 +1011,7 @@ var/global/list/g_fancy_list_of_types = null for(var/obj/machinery/power/rad_collector/Rad in world) if(Rad.anchored) if(!Rad.P) - var/obj/item/weapon/tank/plasma/Plasma = new/obj/item/weapon/tank/plasma(Rad) + var/obj/item/weapon/tank/internals/plasma/Plasma = new/obj/item/weapon/tank/internals/plasma(Rad) Plasma.air_contents.toxins = 70 Rad.drainratio = 0 Rad.P = Plasma @@ -1087,7 +1087,7 @@ var/global/list/g_fancy_list_of_types = null M.equip_to_slot_or_del(new /obj/item/weapon/melee/energy/sword/saber(M), slot_l_store) M.equip_to_slot_or_del(new /obj/item/weapon/shield/energy(M), slot_r_store) - M.equip_to_slot_or_del(new /obj/item/weapon/tank/emergency_oxygen(M), slot_s_store) + M.equip_to_slot_or_del(new /obj/item/weapon/tank/internals/emergency_oxygen(M), slot_s_store) M.equip_to_slot_or_del(new /obj/item/weapon/gun/projectile/revolver/mateba(M), slot_belt) M.equip_to_slot_or_del(new /obj/item/weapon/gun/energy/pulse_rifle(M), slot_r_hand) diff --git a/code/modules/awaymissions/corpse.dm b/code/modules/awaymissions/corpse.dm index d383475aee2..703962ae3ba 100644 --- a/code/modules/awaymissions/corpse.dm +++ b/code/modules/awaymissions/corpse.dm @@ -148,7 +148,7 @@ corpsemask = /obj/item/clothing/mask/gas/syndicate corpsehelmet = /obj/item/clothing/head/helmet/space/hardsuit/syndi corpseback = /obj/item/weapon/tank/jetpack/oxygen - corpsepocket1 = /obj/item/weapon/tank/emergency_oxygen + corpsepocket1 = /obj/item/weapon/tank/internals/emergency_oxygen corpseid = 1 corpseidjob = "Operative" corpseidaccess = "Syndicate" diff --git a/code/modules/clothing/clothing.dm b/code/modules/clothing/clothing.dm index 52dd1332283..7ae4d730d3c 100644 --- a/code/modules/clothing/clothing.dm +++ b/code/modules/clothing/clothing.dm @@ -144,7 +144,7 @@ BLIND // can't see anything icon = 'icons/obj/clothing/suits.dmi' name = "suit" var/fire_resist = T0C+100 - allowed = list(/obj/item/weapon/tank/emergency_oxygen) + allowed = list(/obj/item/weapon/tank/internals/emergency_oxygen) armor = list(melee = 0, bullet = 0, laser = 0,energy = 0, bomb = 0, bio = 0, rad = 0) slot_flags = SLOT_OCLOTHING var/blood_overlay_type = "suit" @@ -180,7 +180,7 @@ BLIND // can't see anything permeability_coefficient = 0.02 flags = STOPSPRESSUREDMAGE | THICKMATERIAL body_parts_covered = CHEST|GROIN|LEGS|FEET|ARMS|HANDS - allowed = list(/obj/item/device/flashlight,/obj/item/weapon/tank/emergency_oxygen) + allowed = list(/obj/item/device/flashlight,/obj/item/weapon/tank/internals) slowdown = 2 armor = list(melee = 0, bullet = 0, laser = 0,energy = 0, bomb = 0, bio = 100, rad = 50) flags_inv = HIDEGLOVES|HIDESHOES|HIDEJUMPSUIT diff --git a/code/modules/clothing/spacesuits/hardsuit.dm b/code/modules/clothing/spacesuits/hardsuit.dm index fb75f3e5711..d3f3049eba2 100644 --- a/code/modules/clothing/spacesuits/hardsuit.dm +++ b/code/modules/clothing/spacesuits/hardsuit.dm @@ -42,7 +42,7 @@ item_state = "eng_hardsuit" slowdown = 2 armor = list(melee = 10, bullet = 5, laser = 10, energy = 5, bomb = 10, bio = 100, rad = 75) - allowed = list(/obj/item/device/flashlight,/obj/item/weapon/tank/emergency_oxygen,/obj/item/device/t_scanner, /obj/item/weapon/rcd) + allowed = list(/obj/item/device/flashlight,/obj/item/weapon/tank/internals,/obj/item/device/t_scanner, /obj/item/weapon/rcd) var/obj/item/clothing/head/helmet/space/hardsuit/helmet action_button_name = "Toggle Helmet" var/helmettype = /obj/item/clothing/head/helmet/space/hardsuit @@ -107,7 +107,7 @@ desc = "A special suit that protects against hazardous, low pressure environments. Has reinforced plating for wildlife encounters." item_state = "mining_hardsuit" armor = list(melee = 40, bullet = 5, laser = 10, energy = 5, bomb = 50, bio = 100, rad = 50) - allowed = list(/obj/item/device/flashlight,/obj/item/weapon/tank/emergency_oxygen,/obj/item/weapon/storage/bag/ore,/obj/item/weapon/pickaxe) + allowed = list(/obj/item/device/flashlight,/obj/item/weapon/tank/internals,/obj/item/weapon/storage/bag/ore,/obj/item/weapon/pickaxe) helmettype = /obj/item/clothing/head/helmet/space/hardsuit/mining @@ -164,7 +164,7 @@ var/on = 1 action_button_name = "Toggle Hardsuit Mode" armor = list(melee = 60, bullet = 50, laser = 30, energy = 15, bomb = 35, bio = 100, rad = 50) - allowed = list(/obj/item/weapon/gun,/obj/item/ammo_box,/obj/item/ammo_casing,/obj/item/weapon/melee/baton,/obj/item/weapon/melee/energy/sword/saber,/obj/item/weapon/restraints/handcuffs,/obj/item/weapon/tank/emergency_oxygen) + allowed = list(/obj/item/weapon/gun,/obj/item/ammo_box,/obj/item/ammo_casing,/obj/item/weapon/melee/baton,/obj/item/weapon/melee/energy/sword/saber,/obj/item/weapon/restraints/handcuffs,/obj/item/weapon/tank/internals) helmettype = null /obj/item/clothing/suit/space/hardsuit/syndi/update_icon() @@ -217,7 +217,7 @@ w_class = 3 unacidable = 1 armor = list(melee = 40, bullet = 20, laser = 20, energy = 20, bomb = 35, bio = 100, rad = 50) - allowed = list(/obj/item/weapon/teleportation_scroll,/obj/item/weapon/tank/emergency_oxygen) + allowed = list(/obj/item/weapon/teleportation_scroll,/obj/item/weapon/tank/internals) heat_protection = CHEST|GROIN|LEGS|FEET|ARMS|HANDS //Uncomment to enable firesuit protection max_heat_protection_temperature = FIRE_IMMUNITY_SUIT_MAX_TEMP_PROTECT unacidable = 1 @@ -241,7 +241,7 @@ desc = "A special suit that protects against hazardous, low pressure environments. Built with lightweight materials for easier movement." item_state = "medical_hardsuit" slowdown = 1 - allowed = list(/obj/item/device/flashlight,/obj/item/weapon/tank/emergency_oxygen,/obj/item/weapon/storage/firstaid,/obj/item/device/healthanalyzer,/obj/item/stack/medical) + allowed = list(/obj/item/device/flashlight,/obj/item/weapon/tank/internals,/obj/item/weapon/storage/firstaid,/obj/item/device/healthanalyzer,/obj/item/stack/medical) armor = list(melee = 10, bullet = 5, laser = 10, energy = 5, bomb = 10, bio = 100, rad = 50) helmettype = /obj/item/clothing/head/helmet/space/hardsuit/medical @@ -260,6 +260,6 @@ name = "security hardsuit" desc = "A special suit that protects against hazardous, low pressure environments. Has an additional layer of armor." item_state = "sec_hardsuit" - allowed = list(/obj/item/device/flashlight,/obj/item/weapon/tank/emergency_oxygen, /obj/item/weapon/gun/energy,/obj/item/weapon/reagent_containers/spray/pepper,/obj/item/weapon/gun/projectile,/obj/item/ammo_box,/obj/item/ammo_casing,/obj/item/weapon/melee/baton,/obj/item/weapon/restraints/handcuffs) + allowed = list(/obj/item/device/flashlight,/obj/item/weapon/tank/internals, /obj/item/weapon/gun/energy,/obj/item/weapon/reagent_containers/spray/pepper,/obj/item/weapon/gun/projectile,/obj/item/ammo_box,/obj/item/ammo_casing,/obj/item/weapon/melee/baton,/obj/item/weapon/restraints/handcuffs) armor = list(melee = 30, bullet = 15, laser = 30, energy = 10, bomb = 10, bio = 100, rad = 50) helmettype = /obj/item/clothing/head/helmet/space/hardsuit/security diff --git a/code/modules/clothing/spacesuits/miscellaneous.dm b/code/modules/clothing/spacesuits/miscellaneous.dm index 4dc3903591c..ae7cbf2727e 100644 --- a/code/modules/clothing/spacesuits/miscellaneous.dm +++ b/code/modules/clothing/spacesuits/miscellaneous.dm @@ -14,7 +14,7 @@ icon_state = "caparmor" item_state = "capspacesuit" w_class = 4 - allowed = list(/obj/item/weapon/tank/emergency_oxygen, /obj/item/device/flashlight,/obj/item/weapon/gun/energy, /obj/item/weapon/gun/projectile, /obj/item/ammo_box, /obj/item/ammo_casing, /obj/item/weapon/melee/baton,/obj/item/weapon/restraints/handcuffs) + allowed = list(/obj/item/weapon/tank/internals, /obj/item/device/flashlight,/obj/item/weapon/gun/energy, /obj/item/weapon/gun/projectile, /obj/item/ammo_box, /obj/item/ammo_casing, /obj/item/weapon/melee/baton,/obj/item/weapon/restraints/handcuffs) slowdown = 1 armor = list(melee = 65, bullet = 50, laser = 50, energy = 25, bomb = 50, bio = 100, rad = 50) @@ -35,7 +35,7 @@ desc = "A heavily armored, advanced space suit that protects against most forms of damage." icon_state = "deathsquad" item_state = "swat_suit" - allowed = list(/obj/item/weapon/gun,/obj/item/ammo_box,/obj/item/ammo_casing,/obj/item/weapon/melee/baton,/obj/item/weapon/restraints/handcuffs,/obj/item/weapon/tank/emergency_oxygen) + allowed = list(/obj/item/weapon/gun,/obj/item/ammo_box,/obj/item/ammo_casing,/obj/item/weapon/melee/baton,/obj/item/weapon/restraints/handcuffs,/obj/item/weapon/tank/internals) armor = list(melee = 80, bullet = 80, laser = 50,energy = 50, bomb = 100, bio = 100, rad = 100) slowdown = 1 strip_delay = 130 @@ -73,7 +73,7 @@ item_state = "void" desc = "An old, NASA Centcom branch designed, dark red space suit." slowdown = 1 - allowed = list(/obj/item/device/flashlight,/obj/item/weapon/tank/emergency_oxygen,/obj/item/device/multitool) + allowed = list(/obj/item/device/flashlight,/obj/item/weapon/tank/internals,/obj/item/device/multitool) //Space santa outfit suit @@ -110,7 +110,7 @@ icon_state = "pirate" item_state = "pirate" w_class = 3 - allowed = list(/obj/item/weapon/gun,/obj/item/ammo_box,/obj/item/ammo_casing,/obj/item/weapon/melee/baton,/obj/item/weapon/restraints/handcuffs,/obj/item/weapon/tank/emergency_oxygen) + allowed = list(/obj/item/weapon/gun,/obj/item/ammo_box,/obj/item/ammo_casing,/obj/item/weapon/melee/baton,/obj/item/weapon/restraints/handcuffs,/obj/item/weapon/tank/internals) slowdown = 0 armor = list(melee = 60, bullet = 50, laser = 30,energy = 15, bomb = 30, bio = 30, rad = 30) strip_delay = 40 @@ -150,7 +150,7 @@ desc = "Standard issue command suit for the ERT." icon_state = "ert_command" item_state = "ert_command" - allowed = list(/obj/item/weapon/gun,/obj/item/ammo_box,/obj/item/ammo_casing,/obj/item/weapon/melee/baton,/obj/item/weapon/restraints/handcuffs,/obj/item/weapon/tank/emergency_oxygen) + allowed = list(/obj/item/weapon/gun,/obj/item/ammo_box,/obj/item/ammo_casing,/obj/item/weapon/melee/baton,/obj/item/weapon/restraints/handcuffs,/obj/item/weapon/tank/internals) armor = list(melee = 65, bullet = 50, laser = 50, energy = 50, bomb = 50, bio = 100, rad = 100) slowdown = 1 strip_delay = 130 diff --git a/code/modules/clothing/spacesuits/ninja.dm b/code/modules/clothing/spacesuits/ninja.dm index 93b9129c189..9c6c98d6396 100644 --- a/code/modules/clothing/spacesuits/ninja.dm +++ b/code/modules/clothing/spacesuits/ninja.dm @@ -13,7 +13,7 @@ desc = "A unique, vaccum-proof suit of nano-enhanced armor designed specifically for Spider Clan assassins." icon_state = "s-ninja" item_state = "s-ninja_suit" - allowed = list(/obj/item/weapon/gun,/obj/item/ammo_box,/obj/item/ammo_casing,/obj/item/weapon/melee/baton,/obj/item/weapon/restraints/handcuffs,/obj/item/weapon/tank/emergency_oxygen,/obj/item/weapon/stock_parts/cell) + allowed = list(/obj/item/weapon/gun,/obj/item/ammo_box,/obj/item/ammo_casing,/obj/item/weapon/melee/baton,/obj/item/weapon/restraints/handcuffs,/obj/item/weapon/tank/internals,/obj/item/weapon/stock_parts/cell) slowdown = 0 unacidable = 1 armor = list(melee = 60, bullet = 50, laser = 30,energy = 15, bomb = 30, bio = 30, rad = 30) diff --git a/code/modules/clothing/spacesuits/syndi.dm b/code/modules/clothing/spacesuits/syndi.dm index b4f4bf1d773..4f96b191df6 100644 --- a/code/modules/clothing/spacesuits/syndi.dm +++ b/code/modules/clothing/spacesuits/syndi.dm @@ -13,7 +13,7 @@ item_state = "space_suit_syndicate" desc = "Has a tag on it: Totally not property of of a hostile corporation, honest!" w_class = 3 - allowed = list(/obj/item/weapon/gun,/obj/item/ammo_box,/obj/item/ammo_casing,/obj/item/weapon/melee/baton,/obj/item/weapon/melee/energy/sword/saber,/obj/item/weapon/restraints/handcuffs,/obj/item/weapon/tank/emergency_oxygen) + allowed = list(/obj/item/weapon/gun,/obj/item/ammo_box,/obj/item/ammo_casing,/obj/item/weapon/melee/baton,/obj/item/weapon/melee/energy/sword/saber,/obj/item/weapon/restraints/handcuffs,/obj/item/weapon/tank/internals) slowdown = 1 armor = list(melee = 60, bullet = 50, laser = 30,energy = 15, bomb = 30, bio = 30, rad = 30) diff --git a/code/modules/clothing/suits/armor.dm b/code/modules/clothing/suits/armor.dm index 95499d23afc..99caa01812d 100644 --- a/code/modules/clothing/suits/armor.dm +++ b/code/modules/clothing/suits/armor.dm @@ -112,7 +112,7 @@ name = "armor" desc = "An armored vest with a detective's badge on it." icon_state = "detective-armor" - allowed = list(/obj/item/weapon/tank/emergency_oxygen,/obj/item/weapon/reagent_containers/spray/pepper,/obj/item/device/flashlight,/obj/item/weapon/gun/energy,/obj/item/weapon/gun/projectile,/obj/item/ammo_box,/obj/item/ammo_casing,/obj/item/weapon/melee/baton,/obj/item/weapon/restraints/handcuffs,/obj/item/weapon/storage/fancy/cigarettes,/obj/item/weapon/lighter,/obj/item/device/detective_scanner,/obj/item/device/taperecorder) + allowed = list(/obj/item/weapon/tank/internals/emergency_oxygen,/obj/item/weapon/reagent_containers/spray/pepper,/obj/item/device/flashlight,/obj/item/weapon/gun/energy,/obj/item/weapon/gun/projectile,/obj/item/ammo_box,/obj/item/ammo_casing,/obj/item/weapon/melee/baton,/obj/item/weapon/restraints/handcuffs,/obj/item/weapon/storage/fancy/cigarettes,/obj/item/weapon/lighter,/obj/item/device/detective_scanner,/obj/item/device/taperecorder) @@ -165,7 +165,7 @@ item_state = "centcom" w_class = 4//bulky item body_parts_covered = CHEST|GROIN|LEGS|FEET|ARMS|HANDS - allowed = list(/obj/item/weapon/gun/energy,/obj/item/weapon/melee/baton,/obj/item/weapon/restraints/handcuffs,/obj/item/weapon/tank/emergency_oxygen) + allowed = list(/obj/item/weapon/gun/energy,/obj/item/weapon/melee/baton,/obj/item/weapon/restraints/handcuffs,/obj/item/weapon/tank/internals/emergency_oxygen) flags = THICKMATERIAL flags_inv = HIDEGLOVES|HIDESHOES|HIDEJUMPSUIT cold_protection = CHEST | GROIN | LEGS | FEET | ARMS | HANDS diff --git a/code/modules/clothing/suits/bio.dm b/code/modules/clothing/suits/bio.dm index 869d47d6856..7d75bef57d4 100644 --- a/code/modules/clothing/suits/bio.dm +++ b/code/modules/clothing/suits/bio.dm @@ -20,7 +20,7 @@ flags = THICKMATERIAL body_parts_covered = CHEST|GROIN|LEGS|FEET|ARMS|HANDS slowdown = 1.0 - allowed = list(/obj/item/weapon/tank/emergency_oxygen,/obj/item/weapon/pen,/obj/item/device/flashlight/pen) + allowed = list(/obj/item/weapon/tank/internals/emergency_oxygen,/obj/item/weapon/pen,/obj/item/device/flashlight/pen) armor = list(melee = 0, bullet = 0, laser = 0,energy = 0, bomb = 0, bio = 100, rad = 20) flags_inv = HIDEGLOVES|HIDESHOES|HIDEJUMPSUIT strip_delay = 70 diff --git a/code/modules/clothing/suits/jobs.dm b/code/modules/clothing/suits/jobs.dm index 0b63ed9999f..22a6d9b74e1 100644 --- a/code/modules/clothing/suits/jobs.dm +++ b/code/modules/clothing/suits/jobs.dm @@ -20,7 +20,7 @@ item_state = "bio_suit" body_parts_covered = CHEST|GROIN|LEGS|ARMS flags_inv = HIDEJUMPSUIT - allowed = list(/obj/item/weapon/disk, /obj/item/weapon/stamp, /obj/item/weapon/reagent_containers/food/drinks/flask, /obj/item/weapon/melee, /obj/item/weapon/storage/lockbox/medal, /obj/item/device/flash/handheld, /obj/item/weapon/storage/box/matches, /obj/item/weapon/lighter, /obj/item/clothing/mask/cigarette, /obj/item/weapon/storage/fancy/cigarettes, /obj/item/weapon/tank/emergency_oxygen) + allowed = list(/obj/item/weapon/disk, /obj/item/weapon/stamp, /obj/item/weapon/reagent_containers/food/drinks/flask, /obj/item/weapon/melee, /obj/item/weapon/storage/lockbox/medal, /obj/item/device/flash/handheld, /obj/item/weapon/storage/box/matches, /obj/item/weapon/lighter, /obj/item/clothing/mask/cigarette, /obj/item/weapon/storage/fancy/cigarettes, /obj/item/weapon/tank/internals/emergency_oxygen) //Chaplain /obj/item/clothing/suit/hooded/chaplain_hoodie @@ -29,7 +29,7 @@ icon_state = "chaplain_hoodie" item_state = "chaplain_hoodie" body_parts_covered = CHEST|GROIN|LEGS|ARMS - allowed = list(/obj/item/weapon/storage/book/bible, /obj/item/weapon/nullrod, /obj/item/weapon/reagent_containers/food/drinks/bottle/holywater, /obj/item/weapon/storage/fancy/candle_box, /obj/item/candle, /obj/item/weapon/tank/emergency_oxygen) + allowed = list(/obj/item/weapon/storage/book/bible, /obj/item/weapon/nullrod, /obj/item/weapon/reagent_containers/food/drinks/bottle/holywater, /obj/item/weapon/storage/fancy/candle_box, /obj/item/candle, /obj/item/weapon/tank/internals/emergency_oxygen) hooded = 1 action_button_name = "Toggle Chaplain Hoodie" hoodtype = /obj/item/clothing/head/chaplain_hood @@ -49,7 +49,7 @@ item_state = "nun" body_parts_covered = CHEST|GROIN|LEGS|ARMS|HANDS flags_inv = HIDESHOES|HIDEJUMPSUIT - allowed = list(/obj/item/weapon/storage/book/bible, /obj/item/weapon/nullrod, /obj/item/weapon/reagent_containers/food/drinks/bottle/holywater, /obj/item/weapon/storage/fancy/candle_box, /obj/item/candle, /obj/item/weapon/tank/emergency_oxygen) + allowed = list(/obj/item/weapon/storage/book/bible, /obj/item/weapon/nullrod, /obj/item/weapon/reagent_containers/food/drinks/bottle/holywater, /obj/item/weapon/storage/fancy/candle_box, /obj/item/candle, /obj/item/weapon/tank/internals/emergency_oxygen) //Chef /obj/item/clothing/suit/toggle/chef @@ -82,7 +82,7 @@ item_state = "det_suit" blood_overlay_type = "coat" body_parts_covered = CHEST|GROIN|LEGS|ARMS - allowed = list(/obj/item/weapon/tank/emergency_oxygen,/obj/item/weapon/reagent_containers/spray/pepper,/obj/item/device/flashlight,/obj/item/weapon/gun/energy,/obj/item/weapon/gun/projectile,/obj/item/ammo_box,/obj/item/ammo_casing,/obj/item/weapon/melee/baton,/obj/item/weapon/restraints/handcuffs,/obj/item/weapon/storage/fancy/cigarettes,/obj/item/weapon/lighter,/obj/item/device/detective_scanner,/obj/item/device/taperecorder) + allowed = list(/obj/item/weapon/tank/internals/emergency_oxygen,/obj/item/weapon/reagent_containers/spray/pepper,/obj/item/device/flashlight,/obj/item/weapon/gun/energy,/obj/item/weapon/gun/projectile,/obj/item/ammo_box,/obj/item/ammo_casing,/obj/item/weapon/melee/baton,/obj/item/weapon/restraints/handcuffs,/obj/item/weapon/storage/fancy/cigarettes,/obj/item/weapon/lighter,/obj/item/device/detective_scanner,/obj/item/device/taperecorder) armor = list(melee = 50, bullet = 10, laser = 25, energy = 10, bomb = 0, bio = 0, rad = 0) cold_protection = CHEST|GROIN|LEGS|ARMS heat_protection = CHEST|GROIN|LEGS|ARMS @@ -100,7 +100,7 @@ icon_state = "hazard" item_state = "hazard" blood_overlay_type = "armor" - allowed = list(/obj/item/device/flashlight,/obj/item/weapon/tank/emergency_oxygen,/obj/item/device/t_scanner,) + allowed = list(/obj/item/device/flashlight,/obj/item/weapon/tank/internals/emergency_oxygen,/obj/item/device/t_scanner,) //Lawyer /obj/item/clothing/suit/toggle/lawyer diff --git a/code/modules/clothing/suits/miscellaneous.dm b/code/modules/clothing/suits/miscellaneous.dm index e4d2af2ca59..d18025b4472 100644 --- a/code/modules/clothing/suits/miscellaneous.dm +++ b/code/modules/clothing/suits/miscellaneous.dm @@ -86,7 +86,7 @@ item_state = "syndicate-black-red" desc = "A plastic replica of the Syndicate space suit. You'll look just like a real murderous Syndicate agent in this! This is a toy, it is not made for use in space!" w_class = 3 - allowed = list(/obj/item/device/flashlight,/obj/item/weapon/tank/emergency_oxygen,/obj/item/toy) + allowed = list(/obj/item/device/flashlight,/obj/item/weapon/tank/internals/emergency_oxygen,/obj/item/toy) flags_inv = HIDEGLOVES|HIDESHOES|HIDEJUMPSUIT @@ -106,7 +106,7 @@ item_state = "imperium_monk" body_parts_covered = CHEST|GROIN|LEGS|ARMS flags_inv = HIDESHOES|HIDEJUMPSUIT - allowed = list(/obj/item/weapon/storage/book/bible, /obj/item/weapon/nullrod, /obj/item/weapon/reagent_containers/food/drinks/bottle/holywater, /obj/item/weapon/storage/fancy/candle_box, /obj/item/candle, /obj/item/weapon/tank/emergency_oxygen) + allowed = list(/obj/item/weapon/storage/book/bible, /obj/item/weapon/nullrod, /obj/item/weapon/reagent_containers/food/drinks/bottle/holywater, /obj/item/weapon/storage/fancy/candle_box, /obj/item/candle, /obj/item/weapon/tank/internals/emergency_oxygen) /obj/item/clothing/suit/chickensuit @@ -134,7 +134,7 @@ item_state = "w_suit" body_parts_covered = CHEST|GROIN|LEGS|ARMS flags_inv = HIDEJUMPSUIT - allowed = list(/obj/item/weapon/storage/book/bible, /obj/item/weapon/nullrod, /obj/item/weapon/reagent_containers/food/drinks/bottle/holywater, /obj/item/weapon/storage/fancy/candle_box, /obj/item/candle, /obj/item/weapon/tank/emergency_oxygen) + allowed = list(/obj/item/weapon/storage/book/bible, /obj/item/weapon/nullrod, /obj/item/weapon/reagent_containers/food/drinks/bottle/holywater, /obj/item/weapon/storage/fancy/candle_box, /obj/item/candle, /obj/item/weapon/tank/internals/emergency_oxygen) @@ -201,7 +201,7 @@ desc = "Aviators not included." icon_state = "bomberjacket" item_state = "brownjsuit" - allowed = list(/obj/item/device/flashlight,/obj/item/weapon/tank/emergency_oxygen,/obj/item/toy,/obj/item/weapon/storage/fancy/cigarettes,/obj/item/weapon/lighter) + allowed = list(/obj/item/device/flashlight,/obj/item/weapon/tank/internals/emergency_oxygen,/obj/item/toy,/obj/item/weapon/storage/fancy/cigarettes,/obj/item/weapon/lighter) body_parts_covered = CHEST|GROIN|ARMS cold_protection = CHEST|GROIN|ARMS min_cold_protection_temperature = FIRE_SUIT_MIN_TEMP_PROTECT @@ -230,7 +230,7 @@ cold_protection = CHEST|GROIN|ARMS min_cold_protection_temperature = FIRE_SUIT_MIN_TEMP_PROTECT armor = list(melee = 0, bullet = 0, laser = 0,energy = 0, bomb = 0, bio = 10, rad = 0) - allowed = list(/obj/item/device/flashlight,/obj/item/weapon/tank/emergency_oxygen,/obj/item/toy,/obj/item/weapon/storage/fancy/cigarettes,/obj/item/weapon/lighter) + allowed = list(/obj/item/device/flashlight,/obj/item/weapon/tank/internals/emergency_oxygen,/obj/item/toy,/obj/item/weapon/storage/fancy/cigarettes,/obj/item/weapon/lighter) hooded = 1 action_button_name = "Toggle Winter Hood" @@ -271,7 +271,7 @@ name = "engineering winter coat" icon_state = "coatengineer" armor = list(melee = 0, bullet = 0, laser = 0, energy = 0, bomb = 0, bio = 0, rad = 20) - allowed = list(/obj/item/device/flashlight,/obj/item/weapon/tank/emergency_oxygen,/obj/item/device/t_scanner, /obj/item/weapon/rcd) + allowed = list(/obj/item/device/flashlight,/obj/item/weapon/tank/internals/emergency_oxygen,/obj/item/device/t_scanner, /obj/item/weapon/rcd) /obj/item/clothing/suit/hooded/wintercoat/engineering/atmos name = "atmospherics winter coat" @@ -289,5 +289,5 @@ /obj/item/clothing/suit/hooded/wintercoat/miner name = "mining winter coat" icon_state = "coatminer" - allowed = list(/obj/item/weapon/pickaxe,/obj/item/device/flashlight,/obj/item/weapon/tank/emergency_oxygen,/obj/item/toy,/obj/item/weapon/storage/fancy/cigarettes,/obj/item/weapon/lighter) + allowed = list(/obj/item/weapon/pickaxe,/obj/item/device/flashlight,/obj/item/weapon/tank/internals/emergency_oxygen,/obj/item/toy,/obj/item/weapon/storage/fancy/cigarettes,/obj/item/weapon/lighter) armor = list(melee = 10, bullet = 0, laser = 0, energy = 0, bomb = 0, bio = 0, rad = 0) \ No newline at end of file diff --git a/code/modules/clothing/suits/utility.dm b/code/modules/clothing/suits/utility.dm index 581cb073d03..89a5f7bc936 100644 --- a/code/modules/clothing/suits/utility.dm +++ b/code/modules/clothing/suits/utility.dm @@ -18,7 +18,7 @@ gas_transfer_coefficient = 0.90 permeability_coefficient = 0.50 body_parts_covered = CHEST|GROIN|LEGS|FEET|ARMS|HANDS - allowed = list(/obj/item/device/flashlight,/obj/item/weapon/tank/emergency_oxygen,/obj/item/weapon/extinguisher) + allowed = list(/obj/item/device/flashlight,/obj/item/weapon/tank/internals/emergency_oxygen,/obj/item/weapon/extinguisher) slowdown = 1.0 flags_inv = HIDEGLOVES|HIDESHOES|HIDEJUMPSUIT flags = STOPSPRESSUREDMAGE | THICKMATERIAL @@ -121,7 +121,7 @@ permeability_coefficient = 0.50 flags = THICKMATERIAL body_parts_covered = CHEST|GROIN|LEGS|FEET|ARMS|HANDS - allowed = list(/obj/item/device/flashlight,/obj/item/weapon/tank/emergency_oxygen) + allowed = list(/obj/item/device/flashlight,/obj/item/weapon/tank/internals/emergency_oxygen) slowdown = 1.5 armor = list(melee = 0, bullet = 0, laser = 0,energy = 0, bomb = 0, bio = 60, rad = 100) strip_delay = 60 diff --git a/code/modules/events/holiday/xmas.dm b/code/modules/events/holiday/xmas.dm index ed41e80ee0a..727c5a0dce2 100644 --- a/code/modules/events/holiday/xmas.dm +++ b/code/modules/events/holiday/xmas.dm @@ -119,7 +119,7 @@ santa.equip_to_slot_or_del(new /obj/item/clothing/mask/breath, slot_wear_mask) santa.equip_to_slot_or_del(new /obj/item/clothing/gloves/color/red, slot_gloves) santa.equip_to_slot_or_del(new /obj/item/clothing/shoes/sneakers/red, slot_shoes) - santa.equip_to_slot_or_del(new /obj/item/weapon/tank/emergency_oxygen/double, slot_belt) + santa.equip_to_slot_or_del(new /obj/item/weapon/tank/internals/emergency_oxygen/double, slot_belt) santa.equip_to_slot_or_del(new /obj/item/device/radio/headset/heads/captain, slot_ears) santa.equip_to_slot_or_del(new /obj/item/weapon/storage/backpack/santabag, slot_back) santa.equip_to_slot_or_del(new /obj/item/device/flashlight, slot_r_store) //most blob spawn locations are really dark. diff --git a/code/modules/events/ninja.dm b/code/modules/events/ninja.dm index 055204702ac..7396ef19ed8 100644 --- a/code/modules/events/ninja.dm +++ b/code/modules/events/ninja.dm @@ -375,7 +375,7 @@ ________________________________________________________________________________ equip_to_slot_or_del(new /obj/item/device/flashlight(src), slot_belt) equip_to_slot_or_del(new /obj/item/weapon/c4(src), slot_r_store) equip_to_slot_or_del(new /obj/item/weapon/c4(src), slot_l_store) - equip_to_slot_or_del(new /obj/item/weapon/tank/emergency_oxygen(src), slot_s_store) + equip_to_slot_or_del(new /obj/item/weapon/tank/internals/emergency_oxygen(src), slot_s_store) equip_to_slot_or_del(new /obj/item/weapon/tank/jetpack/carbondioxide(src), slot_back) var/obj/item/weapon/implant/explosive/E = new/obj/item/weapon/implant/explosive(src) diff --git a/code/modules/mob/living/carbon/carbon.dm b/code/modules/mob/living/carbon/carbon.dm index 3ed06021ef6..7a8e7f4d01e 100644 --- a/code/modules/mob/living/carbon/carbon.dm +++ b/code/modules/mob/living/carbon/carbon.dm @@ -361,7 +361,7 @@ dat += "
    Back: [back ? back : "Nothing"]" - if(istype(wear_mask, /obj/item/clothing/mask) && istype(back, /obj/item/weapon/tank)) + if(istype(wear_mask, /obj/item/clothing/mask) && istype(back, /obj/item/weapon/tank/internals)) dat += "
    [internal ? "Disable Internals" : "Set Internals"]" if(handcuffed) @@ -383,7 +383,7 @@ if(href_list["internal"]) var/slot = text2num(href_list["internal"]) var/obj/item/ITEM = get_item_by_slot(slot) - if(ITEM && istype(ITEM, /obj/item/weapon/tank) && wear_mask && (wear_mask.flags & MASKINTERNALS)) + if(ITEM && istype(ITEM, /obj/item/weapon/tank/internals) && wear_mask && (wear_mask.flags & MASKINTERNALS)) visible_message("[usr] tries to [internal ? "close" : "open"] the valve on [src]'s [ITEM].", \ "[usr] tries to [internal ? "close" : "open"] the valve on [src]'s [ITEM].") if(do_mob(usr, src, POCKET_STRIP_DELAY)) @@ -391,7 +391,7 @@ internal = null if(internals) internals.icon_state = "internal0" - else if(ITEM && istype(ITEM, /obj/item/weapon/tank) && wear_mask && (wear_mask.flags & MASKINTERNALS)) + else if(ITEM && istype(ITEM, /obj/item/weapon/tank/internals) && wear_mask && (wear_mask.flags & MASKINTERNALS)) internal = ITEM if(internals) internals.icon_state = "internal1" diff --git a/code/modules/mob/living/carbon/carbon_defines.dm b/code/modules/mob/living/carbon/carbon_defines.dm index a1237ccd8c8..b934cd36517 100644 --- a/code/modules/mob/living/carbon/carbon_defines.dm +++ b/code/modules/mob/living/carbon/carbon_defines.dm @@ -12,6 +12,6 @@ //inventory slots var/obj/item/back = null var/obj/item/clothing/mask/wear_mask = null - var/obj/item/weapon/tank/internal = null + var/obj/item/weapon/tank/internals/internal = null var/datum/dna/dna = null//Carbon diff --git a/code/modules/mob/living/carbon/human/human.dm b/code/modules/mob/living/carbon/human/human.dm index 068333c71a1..827bb88843b 100644 --- a/code/modules/mob/living/carbon/human/human.dm +++ b/code/modules/mob/living/carbon/human/human.dm @@ -158,7 +158,7 @@  "} dat += "Back:[(back && !(back.flags&ABSTRACT)) ? back : "Empty"]" - if(has_breathable_mask && istype(back, /obj/item/weapon/tank)) + if(has_breathable_mask && istype(back, /obj/item/weapon/tank/internals)) dat += " [internal ? "Disable Internals" : "Set Internals"]" dat += " " @@ -185,7 +185,7 @@ dat += "Exosuit:[(wear_suit && !(wear_suit.flags&ABSTRACT)) ? wear_suit : "Empty"]" if(wear_suit) dat += " ↳Suit Storage:[(s_store && !(s_store.flags&ABSTRACT)) ? s_store : "Empty"]" - if(has_breathable_mask && istype(s_store, /obj/item/weapon/tank)) + if(has_breathable_mask && istype(s_store, /obj/item/weapon/tank/internals)) dat += " [internal ? "Disable Internals" : "Set Internals"]" dat += "" else @@ -212,7 +212,7 @@ dat += " ↳Belt:" else dat += " ↳Belt:[(belt && !(belt.flags&ABSTRACT)) ? belt : "Empty"]" - if(has_breathable_mask && istype(belt, /obj/item/weapon/tank)) + if(has_breathable_mask && istype(belt, /obj/item/weapon/tank/internals)) dat += " [internal ? "Disable Internals" : "Set Internals"]" dat += "" dat += " ↳Pockets:[(l_store && !(l_store.flags&ABSTRACT)) ? "Left (Full)" : "Left (Empty)"]" diff --git a/code/modules/mob/living/simple_animal/corpse.dm b/code/modules/mob/living/simple_animal/corpse.dm index 405b882ea17..7e8d710e44b 100644 --- a/code/modules/mob/living/simple_animal/corpse.dm +++ b/code/modules/mob/living/simple_animal/corpse.dm @@ -110,7 +110,7 @@ corpsemask = /obj/item/clothing/mask/gas/syndicate corpsehelmet = /obj/item/clothing/head/helmet/space/hardsuit/syndi corpseback = /obj/item/weapon/tank/jetpack/oxygen - corpsepocket1 = /obj/item/weapon/tank/emergency_oxygen + corpsepocket1 = /obj/item/weapon/tank/internals/emergency_oxygen corpseid = 1 corpseidjob = "Operative" corpseidaccess = "Syndicate" diff --git a/code/modules/mob/living/simple_animal/friendly/corgi.dm b/code/modules/mob/living/simple_animal/friendly/corgi.dm index 9546b077482..5d470a986bd 100644 --- a/code/modules/mob/living/simple_animal/friendly/corgi.dm +++ b/code/modules/mob/living/simple_animal/friendly/corgi.dm @@ -153,8 +153,8 @@ /obj/item/device/radio, /obj/item/device/radio/off, /obj/item/clothing/suit/cardborg, - /obj/item/weapon/tank/oxygen, - /obj/item/weapon/tank/air, + /obj/item/weapon/tank/internals/oxygen, + /obj/item/weapon/tank/internals/air, /obj/item/weapon/extinguisher ) diff --git a/code/modules/power/singularity/collector.dm b/code/modules/power/singularity/collector.dm index 8e07804317d..dcbda800de8 100644 --- a/code/modules/power/singularity/collector.dm +++ b/code/modules/power/singularity/collector.dm @@ -10,7 +10,7 @@ var/global/list/rad_collectors = list() density = 1 req_access = list(access_engine_equip) // use_power = 0 - var/obj/item/weapon/tank/plasma/P = null + var/obj/item/weapon/tank/internals/plasma/P = null var/last_power = 0 var/active = 0 var/locked = 0 @@ -57,7 +57,7 @@ var/global/list/rad_collectors = list() return 1 else if(istype(W, /obj/item/device/analyzer) && P) atmosanalyzer_scan(P.air_contents, user) - else if(istype(W, /obj/item/weapon/tank/plasma)) + else if(istype(W, /obj/item/weapon/tank/internals/plasma)) if(!src.anchored) user << "The [src] needs to be secured to the floor first." return 1 @@ -115,7 +115,7 @@ var/global/list/rad_collectors = list() /obj/machinery/power/rad_collector/proc/eject() locked = 0 - var/obj/item/weapon/tank/plasma/Z = src.P + var/obj/item/weapon/tank/internals/plasma/Z = src.P if (!Z) return Z.loc = get_turf(src) From f2ccc18c5cfc7b8ff12e798d62d8520dd8f91ccb Mon Sep 17 00:00:00 2001 From: dannno Date: Sun, 1 Feb 2015 14:19:17 -0500 Subject: [PATCH 064/122] kill yourself with banana my friend --- code/modules/hydroponics/grown.dm | 7 +++++++ code/modules/hydroponics/growninedible.dm | 5 +++++ 2 files changed, 12 insertions(+) diff --git a/code/modules/hydroponics/grown.dm b/code/modules/hydroponics/grown.dm index b757827c5da..66f21bc6e1c 100644 --- a/code/modules/hydroponics/grown.dm +++ b/code/modules/hydroponics/grown.dm @@ -478,6 +478,13 @@ reagents.add_reagent("vitamin", 1 + round((potency / 20), 1)) bitesize = 5 +/obj/item/weapon/reagent_containers/food/snacks/grown/banana/suicide_act(mob/user) + user.visible_message("[user] is aiming the [src.name] at themself! It looks like \he's trying to commit suicide.") + user.visible_message("[user] begins dying of laughter!") + user.visible_message("[user] laughs uncontrollably!") + playsound(loc, 'sound/items/bikehorn.ogg', 50, 1, -1) + return (OXYLOSS) + /obj/item/weapon/reagent_containers/food/snacks/grown/chili seed = /obj/item/seeds/chiliseed name = "chili" diff --git a/code/modules/hydroponics/growninedible.dm b/code/modules/hydroponics/growninedible.dm index ccd46def4df..b1eab4fc945 100644 --- a/code/modules/hydroponics/growninedible.dm +++ b/code/modules/hydroponics/growninedible.dm @@ -257,6 +257,11 @@ throw_speed = 3 throw_range = 7 +/obj/item/weapon/grown/bananapeel/suicide_act(mob/user) + user.visible_message("[user] is deliberately slipping on the [src.name]! It looks like \he's trying to commit suicide.") + playsound(loc, 'sound/misc/slip.ogg', 50, 1, -1) + return (BRUTELOSS) + /obj/item/weapon/grown/bananapeel/Crossed(AM as mob|obj) if (istype(AM, /mob/living/carbon)) var/mob/living/carbon/M = AM From 295d422dd0e97c27fcc05f690e9f379c5bcf560a Mon Sep 17 00:00:00 2001 From: dannno Date: Sun, 1 Feb 2015 14:29:52 -0500 Subject: [PATCH 065/122] changelog --- html/changelogs/Danno-Suicide-7496.yml | 5 +++++ 1 file changed, 5 insertions(+) create mode 100644 html/changelogs/Danno-Suicide-7496.yml diff --git a/html/changelogs/Danno-Suicide-7496.yml b/html/changelogs/Danno-Suicide-7496.yml new file mode 100644 index 00000000000..9e21ab941ae --- /dev/null +++ b/html/changelogs/Danno-Suicide-7496.yml @@ -0,0 +1,5 @@ +author: Dannno + +delete-after: True + - rscadd: "Added specific suicide messages to guns of all types." + - rscadd: "Added special suicide messages to bananas :^)" \ No newline at end of file From fbad839b4c4d66d0554b4e9bd154412bc3dae86f Mon Sep 17 00:00:00 2001 From: Iamgoofball Date: Sun, 1 Feb 2015 12:26:53 -0800 Subject: [PATCH 066/122] Fixes #7493 Fixes #7493 this also fixes ODing on epi pills --- code/modules/reagents/reagent_containers/pill.dm | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/code/modules/reagents/reagent_containers/pill.dm b/code/modules/reagents/reagent_containers/pill.dm index 04131cd4de8..8fa4f87ebe8 100644 --- a/code/modules/reagents/reagent_containers/pill.dm +++ b/code/modules/reagents/reagent_containers/pill.dm @@ -111,7 +111,7 @@ name = "epinephrine pill" desc = "Used to stabilize patients." icon_state = "pill5" - list_reagents = list("epinephrine" = 50) + list_reagents = list("epinephrine" = 15) /obj/item/weapon/reagent_containers/pill/mannitol name = "mannitol pill" @@ -129,4 +129,4 @@ name = "salicyclic acid pill" desc = "Used to dull pain." icon_state = "pill5" - list_reagents = list("sal_acid" = 50) + list_reagents = list("sal_acid" = 24) From a8fd8d13fa2ed003d383b729129a9072b52bfdc4 Mon Sep 17 00:00:00 2001 From: dannno Date: Sun, 1 Feb 2015 16:33:50 -0500 Subject: [PATCH 067/122] how about i put you to sleep kraso with a banana by killing you with it --- code/modules/hydroponics/grown.dm | 6 ++++-- 1 file changed, 4 insertions(+), 2 deletions(-) diff --git a/code/modules/hydroponics/grown.dm b/code/modules/hydroponics/grown.dm index 66f21bc6e1c..d12387f21b4 100644 --- a/code/modules/hydroponics/grown.dm +++ b/code/modules/hydroponics/grown.dm @@ -480,9 +480,11 @@ /obj/item/weapon/reagent_containers/food/snacks/grown/banana/suicide_act(mob/user) user.visible_message("[user] is aiming the [src.name] at themself! It looks like \he's trying to commit suicide.") - user.visible_message("[user] begins dying of laughter!") - user.visible_message("[user] laughs uncontrollably!") playsound(loc, 'sound/items/bikehorn.ogg', 50, 1, -1) + sleep(15) + user.visible_message("[user] begins dying of laughter!") + sleep(15) + user.visible_message("[user] laughs so hard they begin to suffocate!") return (OXYLOSS) /obj/item/weapon/reagent_containers/food/snacks/grown/chili From c4fccf26515179fd8d10082e2a9d2f25af55b22c Mon Sep 17 00:00:00 2001 From: dannno Date: Sun, 1 Feb 2015 16:35:14 -0500 Subject: [PATCH 068/122] remove redundant message --- code/modules/hydroponics/grown.dm | 6 ++---- 1 file changed, 2 insertions(+), 4 deletions(-) diff --git a/code/modules/hydroponics/grown.dm b/code/modules/hydroponics/grown.dm index d12387f21b4..10fad6295a6 100644 --- a/code/modules/hydroponics/grown.dm +++ b/code/modules/hydroponics/grown.dm @@ -138,7 +138,7 @@ /obj/item/weapon/reagent_containers/food/snacks/grown/harebell seed = /obj/item/seeds/harebell name = "harebell" - desc = "\"I'll sweeten thy sad grave: thou shalt not lack the flower that's like thy face, pale primrose, nor the azured hare-bell, like thy veins; no, nor the leaf of eglantine, whom not to slander, out-sweeten’d not thy breath.\"" + desc = "\"I'll sweeten thy sad grave: thou shalt not lack the flower that's like thy face, pale primrose, nor the azured hare-bell, like thy veins; no, nor the leaf of eglantine, whom not to slander, out-sweeten’d not thy breath.\"" icon_state = "harebell" slot_flags = SLOT_HEAD @@ -482,8 +482,6 @@ user.visible_message("[user] is aiming the [src.name] at themself! It looks like \he's trying to commit suicide.") playsound(loc, 'sound/items/bikehorn.ogg', 50, 1, -1) sleep(15) - user.visible_message("[user] begins dying of laughter!") - sleep(15) user.visible_message("[user] laughs so hard they begin to suffocate!") return (OXYLOSS) @@ -1139,4 +1137,4 @@ obj/item/weapon/reagent_containers/food/snacks/grown/shell/eggy/add_juice() /obj/item/weapon/reagent_containers/food/snacks/grown/tea/astra/add_juice() ..() - reagents.add_reagent("salglu_solution", 1 + round((potency / 20), 1)) \ No newline at end of file + reagents.add_reagent("salglu_solution", 1 + round((potency / 20), 1)) From 1f7ef9b218388ed546919623f0e26acc7c7aba13 Mon Sep 17 00:00:00 2001 From: Iamgoofball Date: Sun, 1 Feb 2015 13:58:07 -0800 Subject: [PATCH 069/122] Fixes #7020 --- code/game/gamemodes/blob/theblob.dm | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/code/game/gamemodes/blob/theblob.dm b/code/game/gamemodes/blob/theblob.dm index 56e73d4e1bb..42a3d83245f 100644 --- a/code/game/gamemodes/blob/theblob.dm +++ b/code/game/gamemodes/blob/theblob.dm @@ -91,7 +91,8 @@ if(!B) expand(T,1,a_color)//No blob here so try and expand return - B.color = a_color + if(!istype(B, /obj/effect/blob/core) || !istype(B, /obj/effect/blob/node)) + B.color = a_color B.Pulse((pulse+1),get_dir(src.loc,T), a_color) return return From c9ffb2e3bc8f2985b8f0620ad1a6511e79c999c4 Mon Sep 17 00:00:00 2001 From: Menshin Date: Mon, 2 Feb 2015 00:25:32 +0100 Subject: [PATCH 070/122] Added _volas_ fix for sanitize_simple infinite loop regarding non standard character stripping --- code/__HELPERS/text.dm | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/code/__HELPERS/text.dm b/code/__HELPERS/text.dm index f78750e3339..9945a13fcad 100644 --- a/code/__HELPERS/text.dm +++ b/code/__HELPERS/text.dm @@ -37,12 +37,12 @@ return t //Removes a few problematic characters -/proc/sanitize_simple(var/t,var/list/repl_chars = list("\n"="#","\t"="#","�"="�")) +/proc/sanitize_simple(var/t,var/list/repl_chars = list("\n"="#","\t"="#")) for(var/char in repl_chars) var/index = findtext(t, char) while(index) t = copytext(t, 1, index) + repl_chars[char] + copytext(t, index+1) - index = findtext(t, char) + index = findtext(t, char, index+1) return t //Runs byond's sanitization proc along-side sanitize_simple From 4ef1deb1f9152e520cffaab43c4e925cd9486c57 Mon Sep 17 00:00:00 2001 From: Menshin Date: Mon, 2 Feb 2015 01:14:46 +0100 Subject: [PATCH 071/122] Fixes being unable to place cables on plating --- code/game/turfs/simulated/floor.dm | 4 +++- code/game/turfs/simulated/floor/plating.dm | 2 +- code/game/turfs/turf.dm | 18 ++++++++++-------- 3 files changed, 14 insertions(+), 10 deletions(-) diff --git a/code/game/turfs/simulated/floor.dm b/code/game/turfs/simulated/floor.dm index d96113a638c..2ef4066499b 100644 --- a/code/game/turfs/simulated/floor.dm +++ b/code/game/turfs/simulated/floor.dm @@ -126,7 +126,9 @@ var/list/icons_to_ignore_at_floor_init = list("damaged1","damaged2","damaged3"," /turf/simulated/floor/attackby(obj/item/C as obj, mob/user as mob) if(!C || !user) return 1 - if(istype(C, /obj/item/weapon/crowbar)) + if(..()) + return 1 + if(intact && istype(C, /obj/item/weapon/crowbar)) if(broken || burnt) broken = 0 burnt = 0 diff --git a/code/game/turfs/simulated/floor/plating.dm b/code/game/turfs/simulated/floor/plating.dm index f78c20ccfae..c0c65f4d039 100644 --- a/code/game/turfs/simulated/floor/plating.dm +++ b/code/game/turfs/simulated/floor/plating.dm @@ -27,7 +27,7 @@ icon_state = icon_plating //Because asteroids are 'platings' too. /turf/simulated/floor/plating/attackby(obj/item/C as obj, mob/user as mob) - if(!C || !user) + if(..()) return if(istype(C, /obj/item/stack/rods)) if(broken || burnt) diff --git a/code/game/turfs/turf.dm b/code/game/turfs/turf.dm index 2c5fdf1d013..f90bed96b57 100644 --- a/code/game/turfs/turf.dm +++ b/code/game/turfs/turf.dm @@ -43,14 +43,16 @@ user.Move_Pulled(src) /turf/attackby(obj/item/C, mob/user) - if(cancable) - if(istype(C, /obj/item/stack/cable_coil)) - var/obj/item/stack/cable_coil/coil = C - for(var/obj/structure/cable/LC in src) - if((LC.d1==0)||(LC.d2==0)) - LC.attackby(C,user) - return - coil.place_turf(src, user) + if(cancable && istype(C, /obj/item/stack/cable_coil)) + var/obj/item/stack/cable_coil/coil = C + for(var/obj/structure/cable/LC in src) + if((LC.d1==0)||(LC.d2==0)) + LC.attackby(C,user) + return + coil.place_turf(src, user) + return 1 + + return 0 /turf/Enter(atom/movable/mover as mob|obj, atom/forget as mob|obj|turf|area) if (!mover) From c48bf44a47e8626947ca13df87a2176bea924115 Mon Sep 17 00:00:00 2001 From: dannno Date: Sun, 1 Feb 2015 19:44:54 -0500 Subject: [PATCH 072/122] framework for a future "suicide hotline" job --- code/_onclick/telekinesis.dm | 4 ++++ code/defines/obj/weapon.dm | 21 +++++++++++++++++++ .../objects/items/weapons/cigs_lighters.dm | 4 ++++ code/game/objects/items/weapons/handcuffs.dm | 5 +++++ .../objects/items/weapons/storage/bags.dm | 4 ++++ .../objects/items/weapons/storage/book.dm | 4 ++++ code/game/objects/items/weapons/tools.dm | 14 +++++++++++++ code/modules/paperwork/stamps.dm | 4 ++++ code/modules/projectiles/guns/energy.dm | 11 +++++++--- code/modules/projectiles/guns/projectile.dm | 11 +++++++--- 10 files changed, 76 insertions(+), 6 deletions(-) diff --git a/code/_onclick/telekinesis.dm b/code/_onclick/telekinesis.dm index 690453df1e6..ec70b9aebe2 100644 --- a/code/_onclick/telekinesis.dm +++ b/code/_onclick/telekinesis.dm @@ -175,6 +175,10 @@ var/const/tk_maxrange = 15 overlays += icon(focus.icon,focus.icon_state) return +obj/item/tk_grab/suicide_act(mob/user) + user.visible_message("[user] is using \his telekinesis to choke \himself! It looks like \he's trying to commit suicide.") + return (OXYLOSS) + /*Not quite done likely needs to use something thats not get_step_to /obj/item/tk_grab/proc/check_path() var/turf/ref = get_turf(src.loc) diff --git a/code/defines/obj/weapon.dm b/code/defines/obj/weapon.dm index 283d6db8282..625e81f7b17 100644 --- a/code/defines/obj/weapon.dm +++ b/code/defines/obj/weapon.dm @@ -11,6 +11,13 @@ attack_verb = list("called", "rang") hitsound = 'sound/weapons/ring.ogg' +/obj/item/weapon/phone/suicide_act(mob/user) + if(locate(/obj/structure/stool) in user.loc) + user.visible_message("[user] begins to tie a noose with the [src.name]'s cord! It looks like \he's trying to commit suicide.") + else + user.visible_message("[user] is strangling \himself with the [src.name]'s cord! It looks like \he's trying to commit suicide.") + return(OXYLOSS) + /obj/item/weapon/rsp name = "\improper Rapid-Seed-Producer (RSP)" desc = "A device used to rapidly deploy seeds." @@ -193,6 +200,11 @@ attack_verb = list("chopped", "torn", "cut") hitsound = 'sound/weapons/bladeslice.ogg' +/obj/item/weapon/hatchet/suicide_act(mob/user) + user.visible_message("[user] is chopping at \himself with the [src.name]! It looks like \he's trying to commit suicide.") + playsound(loc, 'sound/weapons/bladeslice.ogg', 50, 1, -1) + return (BRUTELOSS) + /obj/item/weapon/scythe icon_state = "scythe0" name = "scythe" @@ -208,6 +220,11 @@ attack_verb = list("chopped", "sliced", "cut", "reaped") hitsound = 'sound/weapons/bladeslice.ogg' +/obj/item/weapon/scythe/suicide_act(mob/user) // maybe later i'll actually figure out how to make it behead them + user.visible_message("[user] is beheading \himself with the [src.name]! It looks like \he's trying to commit suicide.") + playsound(loc, 'sound/weapons/bladeslice.ogg', 50, 1, -1) + return (BRUTELOSS) + /* /obj/item/weapon/cigarpacket name = "Pete's Cuban Cigars" @@ -466,6 +483,10 @@ icon = 'icons/obj/wizard.dmi' icon_state = "ectoplasm" +/obj/item/weapon/ectoplasm/suicide_act(mob/user) + user.visible_message("[user] is inhaling the [src.name]! It looks like \he's trying to visit the astral plane.") + return (OXYLOSS) + /obj/item/weapon/research//Makes testing much less of a pain -Sieve name = "research" icon = 'icons/obj/stock_parts.dmi' diff --git a/code/game/objects/items/weapons/cigs_lighters.dm b/code/game/objects/items/weapons/cigs_lighters.dm index 01a96fbf6c6..76ea0c71853 100644 --- a/code/game/objects/items/weapons/cigs_lighters.dm +++ b/code/game/objects/items/weapons/cigs_lighters.dm @@ -110,6 +110,10 @@ CIGARETTE PACKETS ARE IN FANCY.DM var/smoketime = 300 var/chem_volume = 30 +/obj/item/clothing/mask/cigarette/suicide_act(mob/user) + user.visible_message("[user] is huffing the [src.name] is quickly as they can! It looks like \he's trying to give \himself cancer.") + return (TOXLOSS|OXYLOSS) + /obj/item/clothing/mask/cigarette/New() ..() flags |= NOREACT // so it doesn't react until you light it diff --git a/code/game/objects/items/weapons/handcuffs.dm b/code/game/objects/items/weapons/handcuffs.dm index 3020a6d1acc..95a1f00bae0 100644 --- a/code/game/objects/items/weapons/handcuffs.dm +++ b/code/game/objects/items/weapons/handcuffs.dm @@ -152,6 +152,11 @@ desc = "A trap used to catch bears and other legged creatures." var/armed = 0 +/obj/item/weapon/restraints/legcuffs/beartrap/suicide_act(mob/user) + user.visible_message("[user] is sticking \his head in the [src.name]! It looks like \he's trying to commit suicide.") + playsound(loc, 'sound/weapons/bladeslice.ogg', 50, 1, -1) + return (BRUTELOSS) + /obj/item/weapon/restraints/legcuffs/beartrap/suicide_act(mob/user) user.visible_message("[user] is putting the [src.name] on \his head! It looks like \he's trying to commit suicide.") return (BRUTELOSS) diff --git a/code/game/objects/items/weapons/storage/bags.dm b/code/game/objects/items/weapons/storage/bags.dm index 7d9c1ec5575..bbc33441f3a 100644 --- a/code/game/objects/items/weapons/storage/bags.dm +++ b/code/game/objects/items/weapons/storage/bags.dm @@ -39,6 +39,10 @@ can_hold = list() // any cant_hold = list(/obj/item/weapon/disk/nuclear) +/obj/item/weapon/storage/bag/trash/suicide_act(mob/user) + user.visible_message("[user] puts the [src.name] over their head and starts chomping at the insides! Disgusting!") + playsound(loc, 'sound/items/eatfood.ogg', 50, 1, -1) + return (TOXLOSS) /obj/item/weapon/storage/bag/trash/update_icon() if(contents.len == 0) diff --git a/code/game/objects/items/weapons/storage/book.dm b/code/game/objects/items/weapons/storage/book.dm index f8bca96b67f..962a04418e3 100644 --- a/code/game/objects/items/weapons/storage/book.dm +++ b/code/game/objects/items/weapons/storage/book.dm @@ -18,6 +18,10 @@ var/mob/affecting = null var/deity_name = "Christ" +/obj/item/weapon/storage/book/bible/suicide_act(mob/user) + user.visible_message("[user] is offering /himself to \his deity! It looks like \he's trying to commit suicide.") + return (BRUTELOSS) + /obj/item/weapon/storage/book/bible/booze name = "bible" desc = "To be applied to the head repeatedly." diff --git a/code/game/objects/items/weapons/tools.dm b/code/game/objects/items/weapons/tools.dm index 58b32e8abde..f7e967becc0 100644 --- a/code/game/objects/items/weapons/tools.dm +++ b/code/game/objects/items/weapons/tools.dm @@ -28,6 +28,10 @@ origin_tech = "materials=1;engineering=1" attack_verb = list("bashed", "battered", "bludgeoned", "whacked") +/obj/item/weapon/wrench/suicide_act(mob/user) + user.visible_message("[user] is beating \himself to death with the [src.name]! It looks like \he's trying to commit suicide.") + playsound(loc, 'sound/weapons/genhit.ogg', 50, 1, -1) + return (BRUTELOSS) /* * Screwdriver @@ -126,6 +130,11 @@ else ..() +/obj/item/weapon/wirecutters/suicide_act(mob/user) + user.visible_message("[user] is cutting at \his arteries with the [src.name]! It looks like \he's trying to commit suicide.") + playsound(loc, 'sound/items/Wirecutter.ogg', 50, 1, -1) + return (BRUTELOSS) + /* * Welding Tool */ @@ -447,6 +456,11 @@ origin_tech = "engineering=1" attack_verb = list("attacked", "bashed", "battered", "bludgeoned", "whacked") +/obj/item/weapon/crowbar/suicide_act(mob/user) + user.visible_message("[user] is beating \himself to death with the [src.name]! It looks like \he's trying to commit suicide.") + playsound(loc, 'sound/weapons/genhit.ogg', 50, 1, -1) + return (BRUTELOSS) + /obj/item/weapon/crowbar/red icon = 'icons/obj/items.dmi' icon_state = "red_crowbar" diff --git a/code/modules/paperwork/stamps.dm b/code/modules/paperwork/stamps.dm index c6b16fc7d3e..48ebf2b88e3 100644 --- a/code/modules/paperwork/stamps.dm +++ b/code/modules/paperwork/stamps.dm @@ -13,6 +13,10 @@ pressure_resistance = 2 attack_verb = list("stamped") +/obj/item/weapon/stamp/suicide_act(mob/user) + user.visible_message("[user] stamps 'VOID' on \his forehead, then promptly falls over, dead.") + return (OXYLOSS) + /obj/item/weapon/stamp/qm name = "quartermaster's rubber stamp" icon_state = "stamp-qm" diff --git a/code/modules/projectiles/guns/energy.dm b/code/modules/projectiles/guns/energy.dm index c8e44a242b8..f7be8cb5618 100644 --- a/code/modules/projectiles/guns/energy.dm +++ b/code/modules/projectiles/guns/energy.dm @@ -92,6 +92,11 @@ toggle_gunlight() /obj/item/weapon/gun/energy/suicide_act(mob/user) - user.visible_message("[user] is aiming the [src.name] at themself! It looks like \he's trying to commit suicide.") - playsound(loc, fire_sound, 50, 1, -1) - return (FIRELOSS) \ No newline at end of file + if (src.can_shoot()) + user.visible_message("[user] is trying to blow \his brains out with the [src.name]! It looks like \he's trying to commit suicide.") + playsound(loc, fire_sound, 50, 1, -1) + return(FIRELOSS) + else + user.visible_message("[user] is pretending to blow \his brains out with the [src.name]! It looks like \he's trying to commit suicide!") + playsound(loc, 'sound/weapons/empty.ogg', 50, 1, -1) + return (OXYLOSS) \ No newline at end of file diff --git a/code/modules/projectiles/guns/projectile.dm b/code/modules/projectiles/guns/projectile.dm index ab3546cc75e..624244252dd 100644 --- a/code/modules/projectiles/guns/projectile.dm +++ b/code/modules/projectiles/guns/projectile.dm @@ -133,9 +133,14 @@ return boolets /obj/item/weapon/gun/projectile/suicide_act(mob/user) - user.visible_message("[user] is aiming the [src.name] at themself! It looks like \he's trying to commit suicide.") - playsound(loc, fire_sound, 50, 1, -1) - return (BRUTELOSS) + if (src.chambered) + user.visible_message("[user] is trying to blow \his brains out with the [src.name]! It looks like \he's trying to commit suicide.") + playsound(loc, fire_sound, 50, 1, -1) + return(BRUTELOSS) + else + user.visible_message("[user] is pretending to blow \his brains out with the [src.name]! It looks like \he's trying to commit suicide!") + playsound(loc, 'sound/weapons/empty.ogg', 50, 1, -1) + return (OXYLOSS) /obj/item/weapon/suppressor name = "suppressor" From dc51748bd6fe97a1dd08db570e0fa2ca2fc65380 Mon Sep 17 00:00:00 2001 From: dannno Date: Sun, 1 Feb 2015 19:48:06 -0500 Subject: [PATCH 073/122] changelog --- html/changelogs/Danno-Suicide-7496.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/html/changelogs/Danno-Suicide-7496.yml b/html/changelogs/Danno-Suicide-7496.yml index 9e21ab941ae..e32356f3002 100644 --- a/html/changelogs/Danno-Suicide-7496.yml +++ b/html/changelogs/Danno-Suicide-7496.yml @@ -2,4 +2,4 @@ author: Dannno delete-after: True - rscadd: "Added specific suicide messages to guns of all types." - - rscadd: "Added special suicide messages to bananas :^)" \ No newline at end of file + - rscadd: "Added special suicide messages to various different items." \ No newline at end of file From 0ef611fa9830a3cdf13166ee1d0af104a003c90a Mon Sep 17 00:00:00 2001 From: paprka Date: Sun, 1 Feb 2015 18:17:01 -0800 Subject: [PATCH 074/122] fixes mining helmet not having nodrop or thickmaterial --- code/modules/clothing/spacesuits/hardsuit.dm | 1 - 1 file changed, 1 deletion(-) diff --git a/code/modules/clothing/spacesuits/hardsuit.dm b/code/modules/clothing/spacesuits/hardsuit.dm index fb75f3e5711..a5b8bd350bd 100644 --- a/code/modules/clothing/spacesuits/hardsuit.dm +++ b/code/modules/clothing/spacesuits/hardsuit.dm @@ -98,7 +98,6 @@ icon_state = "hardsuit0-mining" item_state = "mining_helm" item_color = "mining" - flags = HEADCOVERSEYES | BLOCKHAIR | HEADCOVERSMOUTH | STOPSPRESSUREDMAGE armor = list(melee = 40, bullet = 5, laser = 10, energy = 5, bomb = 50, bio = 100, rad = 50) /obj/item/clothing/suit/space/hardsuit/mining From 435404da3ce9439b5e31b73423115b25f66d09a6 Mon Sep 17 00:00:00 2001 From: paprka Date: Sun, 1 Feb 2015 18:43:22 -0800 Subject: [PATCH 075/122] pulse rifle updates --- icons/mob/inhands/guns_lefthand.dmi | Bin 27347 -> 27528 bytes icons/mob/inhands/guns_righthand.dmi | Bin 29556 -> 30222 bytes icons/obj/guns/energy.dmi | Bin 32414 -> 32426 bytes 3 files changed, 0 insertions(+), 0 deletions(-) diff --git a/icons/mob/inhands/guns_lefthand.dmi b/icons/mob/inhands/guns_lefthand.dmi index 21f990563b58d9d90ea722318cb61b0fddbf4629..90d2cf71b71ad26fb28769bfbc79a470629e7516 100644 GIT binary patch literal 27528 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 F{5R)r$dUj6 literal 27347 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

    @U*Jac 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 literal 29556 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 X75|0Ag9}9f^rdl6_in)*i{SqS8Ac%a delta 15171 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

    W^+Ep_GAS*IpRY*Ku!mP)$9KUrvpt> From a5dcd1abd8f6fb9c6c82fddd9cd3e32ec11326d1 Mon Sep 17 00:00:00 2001 From: paprka Date: Sun, 1 Feb 2015 21:16:11 -0800 Subject: [PATCH 076/122] improves ert spawning and centcomm --- _maps/map_files/generic/z2.dmm | 175 +++++++----------- .../crates_lockers/closets/syndicate.dm | 43 ----- code/modules/admin/verbs/debug.dm | 81 ++++++-- code/modules/admin/verbs/one_click_antag.dm | 19 +- code/modules/projectiles/guns/energy/pulse.dm | 6 +- 5 files changed, 155 insertions(+), 169 deletions(-) diff --git a/_maps/map_files/generic/z2.dmm b/_maps/map_files/generic/z2.dmm index 66855f11608..8a3afcd9f0b 100644 --- a/_maps/map_files/generic/z2.dmm +++ b/_maps/map_files/generic/z2.dmm @@ -287,7 +287,7 @@ "fA" = (/obj/machinery/flasher{id = "shuttle_flasher"; pixel_x = -24; pixel_y = 6},/obj/machinery/flasher_button{id = "shuttle_flasher"; pixel_x = -24; pixel_y = -6},/turf/simulated/shuttle/floor4,/area/space) "fB" = (/turf/simulated/shuttle/floor4,/area/space) "fC" = (/obj/machinery/door/airlock/glass{name = "Emergency Shuttle Brig"; req_access_txt = "2"},/turf/simulated/shuttle/floor,/area/space) -"fD" = (/obj/structure/rack,/obj/item/weapon/shield/riot,/obj/item/weapon/shield/riot,/turf/unsimulated/floor{tag = "icon-warning"; icon_state = "warning"; dir = 2; heat_capacity = 1},/area/centcom/ferry) +"fD" = (/obj/structure/table/reinforced,/obj/item/mecha_parts/mecha_equipment/weapon/ballistic/missile_rack,/obj/item/mecha_parts/mecha_equipment/weapon/energy/taser,/turf/unsimulated/floor{dir = 4; heat_capacity = 1; icon_state = "warning"},/area/centcom/ferry) "fE" = (/obj/structure/stool,/turf/unsimulated/floor{dir = 8; icon_state = "wood"},/area/centcom/ferry) "fF" = (/turf/unsimulated/floor{dir = 8; icon_state = "wood"},/area/centcom/ferry) "fG" = (/turf/unsimulated/floor{icon_state = "grass1"; name = "grass"},/area/space) @@ -301,9 +301,9 @@ "fO" = (/obj/structure/stool/bed/chair,/turf/simulated/shuttle/floor{icon_state = "floor3"},/area/space) "fP" = (/obj/structure/stool/bed/chair{dir = 4},/turf/simulated/shuttle/floor{icon_state = "floor3"},/area/space) "fQ" = (/obj/structure/table,/turf/simulated/shuttle/floor{icon_state = "floor3"},/area/space) -"fR" = (/obj/structure/rack,/obj/item/weapon/gun/energy/pulse_rifle/pulse_carbine/loyalpin,/obj/item/weapon/gun/energy/pulse_rifle/pulse_carbine/loyalpin,/turf/unsimulated/floor{dir = 4; heat_capacity = 1; icon_state = "warning"},/area/centcom/ferry) +"fR" = (/obj/machinery/door_control{desc = "A remote control switch for the blast doors."; icon_state = "doorctrl0"; id = "deathmechs2"; name = "blast doors control"; pixel_x = 28; pixel_y = 0; req_access_txt = "101"},/turf/unsimulated/floor{icon_state = "floor"},/area/centcom/ferry) "fS" = (/turf/unsimulated/floor{icon_state = "floor"},/area/centcom/ferry) -"fT" = (/obj/structure/rack,/obj/item/weapon/gun/energy/laser,/obj/item/weapon/gun/energy/laser,/turf/unsimulated/floor{dir = 8; heat_capacity = 1; icon_state = "warning"},/area/centcom/ferry) +"fT" = (/turf/simulated/shuttle/wall{icon_state = "swall_f6"; dir = 2},/area/space) "fU" = (/obj/machinery/door/airlock/centcom{name = "Dressing Room"; opacity = 1; req_access_txt = "0"},/turf/unsimulated/floor{dir = 8; icon_state = "wood"},/area/centcom/ferry) "fV" = (/turf/unsimulated/wall/fakeglass{icon_state = "fakewindows2"; dir = 1},/area/centcom/control) "fW" = (/turf/unsimulated/wall/fakeglass{icon_state = "fakewindows"; dir = 8},/area/centcom/control) @@ -323,9 +323,9 @@ "gk" = (/obj/machinery/door/airlock/shuttle{name = "Emergency Shuttle Airlock"},/obj/docking_port/mobile/emergency,/obj/docking_port/stationary{dir = 4; dwidth = 9; height = 11; id = "emergency_away"; name = "Centcom"; width = 22},/turf/simulated/shuttle/plating,/area/space) "gl" = (/obj/structure/extinguisher_cabinet{pixel_x = -5; pixel_y = 30},/turf/simulated/shuttle/floor,/area/space) "gm" = (/obj/structure/extinguisher_cabinet{pixel_x = 27; pixel_y = 0},/turf/simulated/shuttle/floor,/area/space) -"gn" = (/obj/structure/rack,/obj/item/weapon/gun/energy/ionrifle{pin = /obj/item/device/firing_pin},/obj/item/weapon/gun/energy/ionrifle{pin = /obj/item/device/firing_pin},/turf/unsimulated/floor{dir = 4; heat_capacity = 1; icon_state = "warning"},/area/centcom/ferry) -"go" = (/obj/structure/rack,/obj/item/weapon/storage/box/handcuffs,/obj/item/weapon/storage/box/teargas,/obj/item/weapon/storage/box/flashbangs,/turf/unsimulated/floor{dir = 8; heat_capacity = 1; icon_state = "warning"},/area/centcom/ferry) -"gp" = (/turf/unsimulated/floor{name = "plating"},/turf/simulated/shuttle/wall{icon_state = "swall_f6"; dir = 2},/area/space) +"gn" = (/obj/machinery/door/poddoor{id = "deathmechs2"; name = "combat exosuits"},/turf/unsimulated/floor{icon_state = "engine"},/area/centcom/ferry) +"go" = (/obj/machinery/door/airlock/shuttle,/turf/simulated/shuttle/floor,/area/space) +"gp" = (/obj/structure/table/reinforced,/obj/item/mecha_parts/mecha_equipment/weapon/energy/taser,/obj/item/mecha_parts/mecha_equipment/wormhole_generator,/turf/unsimulated/floor{dir = 4; heat_capacity = 1; icon_state = "warning"},/area/centcom/ferry) "gq" = (/obj/structure/window/shuttle,/obj/structure/grille,/turf/simulated/shuttle/plating,/area/space) "gr" = (/turf/unsimulated/floor{name = "plating"},/turf/simulated/shuttle/wall{icon_state = "swall_f10"; dir = 2},/area/space) "gs" = (/turf/unsimulated/floor{name = "plating"},/area/space) @@ -337,7 +337,7 @@ "gy" = (/obj/structure/stool/bed/chair{dir = 8},/turf/simulated/shuttle/floor{icon_state = "floor3"},/area/space) "gz" = (/turf/unsimulated/wall,/area/syndicate_mothership) "gA" = (/turf/unsimulated/wall/fakeglass{icon_state = "fakewindows2"; dir = 6},/area/centcom/ferry) -"gB" = (/obj/machinery/door/airlock/centcom{name = "Equipment Room"; opacity = 1; req_access_txt = "0"},/turf/unsimulated/floor{icon_state = "floor"},/area/centcom/ferry) +"gB" = (/turf/simulated/shuttle/wall{icon_state = "swall_f5"; dir = 2},/area/space) "gC" = (/obj/structure/shuttle/engine/propulsion{tag = "icon-propulsion (EAST)"; icon_state = "propulsion"; dir = 4},/turf/simulated/shuttle/plating,/area/space) "gD" = (/obj/machinery/computer/shuttle/ferry/request,/turf/simulated/shuttle/floor,/area/space) "gE" = (/obj/structure/stool/bed/chair,/turf/simulated/shuttle/floor,/area/space) @@ -348,13 +348,13 @@ "gJ" = (/obj/structure/flora/grass/brown,/turf/unsimulated/floor{icon = 'icons/turf/snow.dmi'; icon_state = "snow"},/area/syndicate_mothership) "gK" = (/obj/structure/flora/tree/pine,/turf/unsimulated/floor{icon = 'icons/turf/snow.dmi'; icon_state = "snow"},/area/syndicate_mothership) "gL" = (/obj/structure/flora/grass/both,/turf/unsimulated/floor{icon = 'icons/turf/snow.dmi'; icon_state = "snow"},/area/syndicate_mothership) -"gM" = (/obj/structure/table/reinforced,/obj/item/mecha_parts/mecha_equipment/anticcw_armor_booster,/obj/item/mecha_parts/mecha_equipment/tesla_energy_relay,/obj/item/mecha_parts/mecha_equipment/repair_droid,/obj/item/weapon/weldingtool/largetank,/turf/unsimulated/floor{icon_state = "floor"},/area/centcom/ferry) -"gN" = (/obj/structure/table/reinforced,/obj/item/mecha_parts/mecha_equipment/weapon/ballistic/missile_rack/flashbang,/turf/unsimulated/floor{icon_state = "floor"},/area/centcom/ferry) -"gO" = (/obj/structure/table/reinforced,/obj/item/mecha_parts/mecha_equipment/weapon/energy/taser,/obj/item/mecha_parts/mecha_equipment/weapon/energy/pulse,/turf/unsimulated/floor{dir = 4; heat_capacity = 1; icon_state = "warning"},/area/centcom/ferry) -"gP" = (/obj/structure/table/reinforced,/obj/item/mecha_parts/mecha_equipment/tool/hydraulic_clamp,/obj/item/mecha_parts/mecha_equipment/tool/cable_layer,/turf/unsimulated/floor{dir = 8; heat_capacity = 1; icon_state = "warning"},/area/centcom/ferry) -"gQ" = (/obj/structure/table/reinforced,/obj/item/mecha_parts/mecha_equipment/tool/rcd,/obj/item/mecha_parts/mecha_equipment/tool/drill/diamonddrill,/turf/unsimulated/floor{icon_state = "floor"},/area/centcom/ferry) -"gR" = (/obj/structure/table/reinforced,/obj/item/mecha_parts/mecha_equipment/tesla_energy_relay,/obj/item/weapon/weldingtool/largetank,/turf/unsimulated/floor{icon_state = "floor"},/area/centcom/ferry) -"gS" = (/obj/structure/shuttle/engine/heater{tag = "icon-heater (WEST)"; icon_state = "heater"; dir = 8},/obj/structure/window/reinforced{dir = 8},/turf/simulated/shuttle/floor,/area/space) +"gM" = (/obj/structure/closet/crate,/turf/simulated/shuttle/floor,/area/space) +"gN" = (/obj/mecha/combat/marauder/seraph,/turf/unsimulated/floor{icon_state = "recharge_floor"; name = "mech bay recharge floor"; tag = "icon-recharge_floor"},/area/centcom/ferry) +"gO" = (/obj/structure/table/reinforced,/obj/item/mecha_parts/mecha_equipment/weapon/energy/taser,/obj/item/mecha_parts/mecha_equipment/teleporter,/turf/unsimulated/floor{dir = 4; heat_capacity = 1; icon_state = "warning"},/area/centcom/ferry) +"gP" = (/obj/machinery/door_control{desc = "A remote control switch for the blast doors."; icon_state = "doorctrl0"; id = "deathmechs"; name = "blast doors control"; pixel_x = 28; pixel_y = 0; req_access_txt = "101"},/turf/unsimulated/floor{icon_state = "floor"},/area/centcom/ferry) +"gQ" = (/obj/structure/table/reinforced,/obj/item/device/aicard,/turf/unsimulated/floor{icon_state = "floor"},/area/centcom/ferry) +"gR" = (/obj/structure/table/reinforced,/obj/item/weapon/soap/nanotrasen,/obj/item/device/flash/handheld,/turf/unsimulated/floor{icon_state = "floor"},/area/centcom/ferry) +"gS" = (/obj/structure/table/reinforced,/obj/item/clothing/mask/gas,/obj/item/device/flashlight/seclite,/turf/unsimulated/floor{icon_state = "floor"},/area/centcom/ferry) "gT" = (/obj/machinery/door/airlock/shuttle,/obj/docking_port/mobile{dir = 8; dwidth = 2; height = 12; id = "ferry"; name = "ferry shuttle"; travelDir = 180; width = 5},/obj/docking_port/stationary{dir = 8; dwidth = 2; height = 12; id = "ferry_away"; name = "unknown"; turf_type = /turf/unsimulated/floor; width = 5},/turf/simulated/shuttle/floor,/area/space) "gU" = (/obj/machinery/door/airlock/external{name = "Ferry Airlock"; req_access_txt = "0"},/turf/unsimulated/floor{icon_state = "engine"},/area/centcom/ferry) "gV" = (/turf/unsimulated/floor{icon_state = "engine"},/area/centcom/ferry) @@ -366,10 +366,10 @@ "hb" = (/obj/machinery/door/airlock/centcom{name = "Transport Shuttle"; opacity = 1; req_access_txt = "109"},/turf/unsimulated/floor{icon_state = "floor"},/area/centcom/ferry) "hc" = (/obj/structure/flora/bush,/turf/unsimulated/floor{icon = 'icons/turf/snow.dmi'; icon_state = "snow"},/area/syndicate_mothership) "hd" = (/obj/machinery/mech_bay_recharge_port,/turf/unsimulated/floor{icon_state = "floor"},/area/centcom/ferry) -"he" = (/obj/mecha/combat/gygax,/turf/unsimulated/floor{icon_state = "recharge_floor"; name = "mech bay recharge floor"; tag = "icon-recharge_floor"},/area/centcom/ferry) -"hf" = (/obj/mecha/working/ripley,/turf/unsimulated/floor{icon_state = "recharge_floor"; name = "mech bay recharge floor"; tag = "icon-recharge_floor"},/area/centcom/ferry) -"hg" = (/obj/machinery/mech_bay_recharge_port{tag = "icon-recharge_port (WEST)"; icon_state = "recharge_port"; dir = 8},/turf/unsimulated/floor{icon_state = "floor"},/area/centcom/ferry) -"hh" = (/turf/unsimulated/floor{name = "plating"},/turf/simulated/shuttle/wall{icon_state = "swall_f5"; dir = 2},/area/space) +"he" = (/obj/structure/table/reinforced,/obj/item/weapon/extinguisher,/obj/item/device/flash/handheld,/obj/item/weapon/tank/emergency_oxygen/engi,/turf/unsimulated/floor{icon_state = "floor"},/area/centcom/ferry) +"hf" = (/obj/structure/table/reinforced,/obj/item/weapon/extinguisher,/obj/item/device/flashlight/seclite,/turf/unsimulated/floor{icon_state = "floor"},/area/centcom/ferry) +"hg" = (/obj/structure/table/reinforced,/obj/item/clothing/mask/gas,/turf/unsimulated/floor{icon_state = "floor"},/area/centcom/ferry) +"hh" = (/obj/structure/table/reinforced,/obj/item/weapon/tank/emergency_oxygen/engi,/obj/item/device/flashlight/flare,/turf/unsimulated/floor{icon_state = "floor"},/area/centcom/ferry) "hi" = (/turf/unsimulated/floor{name = "plating"},/turf/simulated/shuttle/wall{icon_state = "swall_f9"; dir = 2},/area/space) "hj" = (/turf/unsimulated/floor{icon_state = "greencorner"},/area/centcom/ferry) "hk" = (/obj/structure/stool/bed/chair{dir = 4},/turf/unsimulated/floor{icon_state = "greencorner"; dir = 8},/area/centcom/evac) @@ -377,9 +377,9 @@ "hm" = (/turf/unsimulated/wall/fakeglass,/area/centcom/ferry) "hn" = (/obj/machinery/door/airlock/shuttle{name = "Emergency Shuttle Airlock"},/turf/simulated/shuttle/plating,/area/space) "ho" = (/obj/structure/extinguisher_cabinet{pixel_x = 0; pixel_y = -30},/turf/simulated/shuttle/floor,/area/space) -"hp" = (/obj/structure/table/reinforced,/obj/item/mecha_parts/mecha_equipment/tesla_energy_relay,/obj/item/mecha_parts/mecha_equipment/repair_droid,/obj/item/weapon/weldingtool/largetank,/turf/unsimulated/floor{icon_state = "floor"},/area/centcom/ferry) -"hq" = (/obj/structure/table/reinforced,/obj/item/weapon/storage/box/syringes,/obj/item/weapon/storage/box/syringes,/obj/item/mecha_parts/mecha_equipment/tool/syringe_gun,/turf/unsimulated/floor{icon_state = "floor"},/area/centcom/ferry) -"hr" = (/obj/structure/table/reinforced,/obj/item/mecha_parts/mecha_equipment/tool/sleeper,/turf/unsimulated/floor{dir = 4; heat_capacity = 1; icon_state = "warning"},/area/centcom/ferry) +"hp" = (/obj/machinery/door/poddoor{id = "deathmechs"; name = "combat exosuit bay"},/turf/unsimulated/floor{icon_state = "vault"; dir = 5},/area/centcom/ferry) +"hq" = (/obj/effect/landmark{name = "Emergencyresponseteam"},/turf/unsimulated/floor{icon_state = "vault"; dir = 5},/area/centcom/ferry) +"hr" = (/obj/structure/table/reinforced,/obj/item/clothing/mask/gas,/obj/item/device/flashlight/flare,/turf/unsimulated/floor{icon_state = "floor"},/area/centcom/ferry) "hs" = (/turf/unsimulated/wall,/area/centcom/holding) "ht" = (/obj/machinery/door/airlock/centcom{name = "ERT Ready Room"; opacity = 1; req_access_txt = "0"},/turf/unsimulated/floor{icon_state = "floor"},/area/centcom/ferry) "hu" = (/obj/machinery/door/airlock/centcom{name = "Centcom"; opacity = 1; req_access_txt = "0"},/turf/unsimulated/floor{icon_state = "dark"},/area/centcom/evac) @@ -390,12 +390,12 @@ "hz" = (/turf/unsimulated/wall/fakeglass{icon_state = "fakewindows"; dir = 8},/area/centcom/ferry) "hA" = (/turf/unsimulated/wall/fakeglass{icon_state = "fakewindows2"; dir = 8},/area/centcom/ferry) "hB" = (/turf/unsimulated/wall/fakeglass{icon_state = "fakewindows"; dir = 4},/area/centcom/ferry) -"hC" = (/obj/machinery/suit_storage_unit/ertMed,/turf/unsimulated/floor{tag = "icon-blue (WEST)"; icon_state = "blue"; dir = 8},/area/centcom/ferry) -"hD" = (/obj/structure/rack,/obj/item/clothing/glasses/hud/health,/obj/item/weapon/storage/belt/medical,/obj/item/weapon/storage/firstaid/regular,/obj/item/weapon/storage/firstaid/fire{pixel_x = 2; pixel_y = 6},/obj/item/weapon/storage/firstaid/toxin{pixel_x = -2; pixel_y = 4},/obj/item/weapon/storage/firstaid/o2{pixel_x = 2; pixel_y = 6},/obj/item/weapon/storage/box/bodybags,/obj/item/weapon/melee/baton/loaded,/obj/item/weapon/reagent_containers/hypospray/combat/nanites,/obj/item/weapon/defibrillator/combatdefibrillator/loaded,/turf/unsimulated/floor{icon_state = "floor"},/area/centcom/ferry) -"hE" = (/obj/structure/rack,/obj/item/weapon/storage/box/emps,/obj/item/weapon/gun/energy/ionrifle{pin = /obj/item/device/firing_pin},/turf/unsimulated/floor{icon_state = "floor"},/area/centcom/ferry) -"hF" = (/obj/structure/mirror{pixel_y = 28},/turf/unsimulated/floor{icon_state = "floor"},/area/centcom/ferry) -"hG" = (/obj/structure/extinguisher_cabinet{pixel_x = -5; pixel_y = 30},/turf/unsimulated/floor{icon_state = "floor"},/area/centcom/ferry) -"hH" = (/obj/structure/rack,/obj/item/device/aicard,/obj/item/device/flash/handheld,/obj/item/device/flash/handheld,/obj/item/device/flash/handheld,/obj/item/device/flash/handheld,/turf/unsimulated/floor{icon_state = "floor"},/area/centcom/ferry) +"hC" = (/obj/mecha/combat/phazon,/turf/unsimulated/floor{icon_state = "recharge_floor"; name = "mech bay recharge floor"; tag = "icon-recharge_floor"},/area/centcom/ferry) +"hD" = (/turf/unsimulated/floor{tag = "icon-blue"; icon_state = "blue"; dir = 2; heat_capacity = 1},/area/centcom/ferry) +"hE" = (/obj/structure/table/reinforced,/obj/item/clothing/mask/gas,/obj/item/weapon/soap/nanotrasen,/obj/item/weapon/tank/emergency_oxygen/engi,/turf/unsimulated/floor{icon_state = "floor"},/area/centcom/ferry) +"hF" = (/obj/structure/table/reinforced,/obj/item/weapon/melee/baton/loaded{pixel_x = -3; pixel_y = 0},/obj/item/weapon/melee/baton/loaded{pixel_x = 4; pixel_y = 0},/obj/item/weapon/reagent_containers/hypospray/combat/nanites{pixel_x = 4},/obj/item/weapon/reagent_containers/hypospray/combat/nanites,/turf/unsimulated/floor{tag = "icon-blue (WEST)"; icon_state = "blue"; dir = 8},/area/centcom/ferry) +"hG" = (/obj/structure/table/reinforced,/obj/item/weapon/storage/belt/medical,/obj/item/clothing/glasses/hud/health{pixel_x = -2; pixel_y = -1},/obj/item/weapon/defibrillator/combatdefibrillator/loaded,/turf/unsimulated/floor{tag = "icon-blue (EAST)"; icon_state = "blue"; dir = 4; heat_capacity = 1},/area/centcom/ferry) +"hH" = (/obj/structure/table/reinforced,/obj/item/weapon/storage/box/emps,/obj/item/weapon/gun/energy/ionrifle{pin = /obj/item/device/firing_pin},/turf/unsimulated/floor{dir = 8; icon_state = "red"},/area/centcom/ferry) "hI" = (/turf/unsimulated/floor{icon_state = "vault"; dir = 5},/area/centcom/ferry) "hJ" = (/turf/simulated/shuttle/floor{icon_state = "floor2"},/area/space) "hK" = (/obj/structure/extinguisher_cabinet{pixel_x = 27; pixel_y = 0},/turf/simulated/shuttle/floor{icon_state = "floor2"},/area/space) @@ -404,15 +404,15 @@ "hN" = (/turf/simulated/shuttle/wall{icon_state = "wall3"},/area/space) "hO" = (/obj/structure/grille,/obj/machinery/door/poddoor/shutters{id = "syndieshutters"; name = "blast shutters"},/obj/structure/window/reinforced/fulltile,/turf/simulated/shuttle/plating,/area/space) "hP" = (/turf/unsimulated/floor{icon = 'icons/turf/snow.dmi'; icon_state = "snow"},/turf/simulated/shuttle/wall{dir = 1; icon_state = "diagonalWall3"},/area/space) -"hQ" = (/obj/machinery/mech_bay_recharge_port{on = 1},/turf/unsimulated/floor{icon_state = "floor"},/area/centcom/ferry) -"hR" = (/obj/mecha/medical/odysseus,/turf/unsimulated/floor{icon_state = "recharge_floor"; name = "mech bay recharge floor"; tag = "icon-recharge_floor"},/area/centcom/ferry) -"hS" = (/obj/machinery/door/poddoor{name = "Emergency Response Team Armoury"},/turf/unsimulated/floor{icon_state = "floor"},/area/centcom/ferry) -"hT" = (/obj/structure/closet/syndicate/ertEngi,/turf/unsimulated/floor{icon_state = "floor"},/area/centcom/ferry) -"hU" = (/obj/structure/closet/syndicate/ertMed,/turf/unsimulated/floor{icon_state = "floor"},/area/centcom/ferry) -"hV" = (/obj/structure/closet/syndicate/ertSec,/turf/unsimulated/floor{icon_state = "floor"},/area/centcom/ferry) -"hW" = (/obj/structure/table/reinforced,/obj/item/device/paicard,/turf/unsimulated/floor{icon_state = "floor"},/area/centcom/ferry) -"hX" = (/obj/structure/rack,/obj/item/weapon/storage/box/handcuffs,/obj/item/weapon/stock_parts/cell/high,/obj/item/weapon/stock_parts/cell/high,/obj/item/weapon/stock_parts/cell/high,/obj/item/weapon/stock_parts/cell/high,/turf/unsimulated/floor{icon_state = "floor"},/area/centcom/ferry) -"hY" = (/obj/structure/rack,/obj/item/weapon/extinguisher,/obj/item/weapon/extinguisher,/obj/item/clothing/mask/gas,/obj/item/clothing/mask/gas,/obj/item/clothing/mask/gas,/obj/item/clothing/mask/gas,/obj/item/clothing/mask/gas,/obj/item/clothing/mask/gas,/obj/item/weapon/soap/nanotrasen,/turf/unsimulated/floor{icon_state = "floor"},/area/centcom/ferry) +"hQ" = (/obj/structure/table/reinforced,/obj/item/weapon/gun/energy/pulse,/obj/item/weapon/shield/riot/tele{pixel_x = 3; pixel_y = -3},/turf/unsimulated/floor{tag = "icon-red (EAST)"; icon_state = "red"; dir = 4; heat_capacity = 1},/area/centcom/ferry) +"hR" = (/obj/structure/table/reinforced,/obj/item/clothing/shoes/magboots,/obj/item/weapon/storage/belt/utility/full,/obj/item/clothing/glasses/meson,/obj/item/weapon/melee/baton/loaded,/turf/unsimulated/floor{tag = "icon-yellow (WEST)"; icon_state = "yellow"; dir = 8},/area/centcom/ferry) +"hS" = (/obj/structure/table/reinforced,/obj/item/stack/sheet/metal{amount = 50},/obj/item/stack/sheet/glass{amount = 50},/obj/item/device/multitool,/obj/item/weapon/rcd_ammo,/obj/item/weapon/rcd_ammo,/obj/item/weapon/rcd_ammo,/obj/item/weapon/rcd{matter = 200; name = "military rapid-construction-device (RCD)"},/turf/unsimulated/floor{tag = "icon-yellow (EAST)"; icon_state = "yellow"; dir = 4; heat_capacity = 1},/area/centcom/ferry) +"hT" = (/obj/structure/table/reinforced,/obj/item/weapon/storage/box/bodybags,/obj/item/weapon/storage/box/syringes{pixel_x = -3; pixel_y = -3},/obj/item/weapon/gun/syringe/rapidsyringe,/turf/unsimulated/floor{tag = "icon-blue (WEST)"; icon_state = "blue"; dir = 8},/area/centcom/ferry) +"hU" = (/obj/structure/table/reinforced,/obj/item/weapon/storage/firstaid/regular{pixel_x = 3; pixel_y = 3},/obj/item/weapon/storage/firstaid/o2,/obj/item/weapon/storage/firstaid/toxin,/obj/item/weapon/storage/firstaid/fire,/obj/item/weapon/storage/firstaid/brute,/turf/unsimulated/floor{tag = "icon-blue (EAST)"; icon_state = "blue"; dir = 4; heat_capacity = 1},/area/centcom/ferry) +"hV" = (/obj/structure/table/reinforced,/obj/item/weapon/storage/box/handcuffs{pixel_x = 3; pixel_y = -3},/obj/item/weapon/storage/box/flashbangs{pixel_x = -4; pixel_y = -4},/turf/unsimulated/floor{dir = 8; icon_state = "red"},/area/centcom/ferry) +"hW" = (/obj/structure/table/reinforced,/obj/item/weapon/storage/belt/security,/obj/item/weapon/melee/baton/loaded,/obj/item/clothing/glasses/night,/obj/item/clothing/glasses/hud/security/sunglasses,/turf/unsimulated/floor{tag = "icon-red (EAST)"; icon_state = "red"; dir = 4; heat_capacity = 1},/area/centcom/ferry) +"hX" = (/obj/structure/table/reinforced,/obj/item/stack/sheet/plasteel{amount = 50},/obj/item/stack/sheet/glass{amount = 50},/obj/item/stack/sheet/metal{amount = 50},/obj/item/stack/sheet/metal{amount = 50},/obj/item/weapon/storage/box/metalfoam,/obj/item/weapon/stock_parts/cell/high,/turf/unsimulated/floor{tag = "icon-yellow (WEST)"; icon_state = "yellow"; dir = 8},/area/centcom/ferry) +"hY" = (/obj/structure/table/reinforced,/obj/item/stack/sheet/metal{amount = 50},/obj/item/stack/sheet/glass{amount = 50},/obj/item/device/multitool,/obj/item/weapon/rcd_ammo,/obj/item/weapon/rcd_ammo,/obj/item/weapon/rcd_ammo,/obj/item/weapon/rcd{matter = 90; name = "military rapid-construction-device (RCD)"},/turf/unsimulated/floor{tag = "icon-yellow (EAST)"; icon_state = "yellow"; dir = 4; heat_capacity = 1},/area/centcom/ferry) "hZ" = (/turf/unsimulated/wall,/area/tdome/tdomeobserve) "ia" = (/turf/unsimulated/wall/fakeglass{icon_state = "fakewindows"; dir = 9},/area/tdome/tdomeobserve) "ib" = (/turf/unsimulated/wall/fakeglass{icon_state = "fakewindows"; dir = 4},/area/tdome/tdomeobserve) @@ -432,7 +432,6 @@ "ip" = (/turf/unsimulated/floor{icon = 'icons/turf/snow.dmi'; icon_state = "snow"},/obj/structure/flora/grass/both,/turf/unsimulated/floor{icon = 'icons/turf/snow.dmi'; icon_state = "gravsnow_corner"},/area/syndicate_mothership) "iq" = (/turf/unsimulated/floor{icon = 'icons/turf/snow.dmi'; icon_state = "snow"},/obj/structure/flora/tree/pine,/turf/unsimulated/floor{icon = 'icons/turf/snow.dmi'; icon_state = "gravsnow_corner"},/area/syndicate_mothership) "ir" = (/obj/machinery/door/airlock/glass_large{name = "Medical Equipment"; req_access_txt = "104"},/turf/unsimulated/floor{icon_state = "floor"},/area/centcom/ferry) -"is" = (/obj/machinery/door/airlock/glass_large{name = "Miscellaneous Equipment"},/turf/unsimulated/floor{icon_state = "floor"},/area/centcom/ferry) "it" = (/obj/structure/table,/turf/unsimulated/floor{icon_state = "floor"},/area/tdome/tdomeobserve) "iu" = (/turf/unsimulated/floor{icon_state = "floor"},/area/tdome/tdomeobserve) "iv" = (/turf/unsimulated/wall/fakeglass,/area/tdome/tdomeobserve) @@ -449,17 +448,6 @@ "iG" = (/turf/unsimulated/floor{icon = 'icons/turf/snow.dmi'; icon_state = "snow"},/turf/unsimulated/floor{icon = 'icons/turf/snow.dmi'; icon_state = "gravsnow_corner"; dir = 4},/area/syndicate_mothership) "iH" = (/obj/item/weapon/storage/fancy/crayons,/obj/structure/table,/obj/item/weapon/storage/fancy/crayons,/turf/unsimulated/floor{icon_state = "freezerfloor"; dir = 2},/area/syndicate_mothership) "iI" = (/obj/machinery/washing_machine,/turf/unsimulated/floor{icon_state = "freezerfloor"; dir = 2},/area/syndicate_mothership) -"iJ" = (/obj/structure/lattice,/turf/space,/area/space) -"iK" = (/obj/structure/table/reinforced,/obj/item/ammo_box/a357,/obj/item/ammo_box/a357,/obj/item/weapon/gun/projectile/revolver/mateba,/turf/unsimulated/floor{icon_state = "floor"},/area/centcom/ferry) -"iL" = (/obj/structure/table/reinforced,/obj/item/device/aicard,/obj/item/clothing/glasses/hud/security/night,/turf/unsimulated/floor{icon_state = "floor"},/area/centcom/ferry) -"iM" = (/obj/structure/rack,/obj/item/weapon/melee/baton/loaded,/obj/item/weapon/storage/box/handcuffs,/obj/item/weapon/storage/firstaid/regular,/obj/item/weapon/storage/belt/security,/obj/item/device/flash/handheld,/obj/item/weapon/grenade/flashbang,/turf/unsimulated/floor{icon_state = "floor"},/area/centcom/ferry) -"iN" = (/obj/effect/landmark{name = "Emergencyresponseteam"},/turf/unsimulated/floor{icon_state = "delivery"},/area/centcom/ferry) -"iO" = (/turf/unsimulated/floor{tag = "icon-bluecorner (EAST)"; icon_state = "bluecorner"; dir = 4},/area/centcom/ferry) -"iP" = (/turf/unsimulated/floor{tag = "icon-blue (NORTH)"; icon_state = "blue"; dir = 1},/area/centcom/ferry) -"iQ" = (/turf/unsimulated/floor{tag = "icon-bluecorner (NORTH)"; icon_state = "bluecorner"; dir = 1},/area/centcom/ferry) -"iR" = (/turf/unsimulated/floor{tag = "icon-neutralcorner (EAST)"; icon_state = "neutralcorner"; dir = 4},/area/centcom/ferry) -"iS" = (/turf/unsimulated/floor{tag = "icon-neutral (NORTH)"; icon_state = "neutral"; dir = 1},/area/centcom/ferry) -"iT" = (/turf/unsimulated/floor{tag = "icon-neutralcorner (NORTH)"; icon_state = "neutralcorner"; dir = 1},/area/centcom/ferry) "iU" = (/obj/structure/stool/bed/chair/office/dark{dir = 4},/turf/unsimulated/floor{icon_state = "floor"},/area/tdome/tdomeobserve) "iV" = (/obj/structure/table/reinforced,/turf/unsimulated/floor{icon_state = "floor"},/area/tdome/tdomeobserve) "iW" = (/obj/structure/stool/bed/chair/office/dark{dir = 8},/turf/unsimulated/floor{icon_state = "floor"},/area/tdome/tdomeobserve) @@ -482,7 +470,6 @@ "jn" = (/obj/item/device/paicard,/turf/unsimulated/floor{icon_state = "grimy"},/area/syndicate_mothership) "jo" = (/obj/structure/stool/bed/chair/comfy/teal,/turf/unsimulated/floor{icon_state = "grimy"},/area/syndicate_mothership) "jp" = (/obj/structure/bookcase,/obj/item/weapon/book/manual/wiki/engineering_hacking,/obj/item/weapon/book/manual/robotics_cyborgs,/obj/item/weapon/book/manual/engineering_singularity_safety,/obj/item/weapon/book/manual/detective,/turf/unsimulated/floor{icon_state = "grimy"},/area/syndicate_mothership) -"jq" = (/obj/machinery/door/airlock/centcom{name = "Commander's Room"; req_access = null; req_access_txt = "109"; req_one_access = null},/turf/unsimulated/floor{icon_state = "floor"},/area/centcom/ferry) "jr" = (/turf/unsimulated/wall/fakeglass{icon_state = "fakewindows2"; dir = 6},/area/tdome/tdomeobserve) "js" = (/obj/structure/lattice,/turf/space/transit,/area/wizard_station) "jt" = (/obj/item/weapon/shard{color = "#008000"},/turf/unsimulated/floor{tag = "icon-cultdamage5"; icon_state = "cultdamage5"},/area/wizard_station) @@ -499,14 +486,8 @@ "jE" = (/mob/living/simple_animal/hostile/retaliate/bat{desc = "A Syndicate experiment in weaponized space carp technology. Its fangs seem to have been intentionally dulled down to prevent accidents."; faction = list("syndicate"); harm_intent_damage = 5; health = 50; icon_dead = "carp_dead"; icon_gib = "carp_gib"; icon_living = "carp"; icon_state = "carp"; name = "Cayenne"; real_name = "Cayenne"; response_disarm = "lightly brushes aside"; response_help = "pets"},/turf/unsimulated/floor{icon_state = "bar"; dir = 2},/area/syndicate_mothership) "jF" = (/obj/machinery/door/airlock/centcom{name = "Study"; opacity = 1; req_access_txt = "150"},/turf/unsimulated/floor{icon_state = "bar"; dir = 2},/area/syndicate_mothership) "jG" = (/turf/unsimulated/floor{icon_state = "grimy"},/area/syndicate_mothership) -"jH" = (/obj/structure/table/reinforced,/obj/item/weapon/tank/emergency_oxygen/double,/obj/item/clothing/mask/breath,/obj/item/clothing/head/helmet/space/hardsuit/ert,/turf/unsimulated/floor{icon_state = "floor"},/area/centcom/ferry) -"jI" = (/obj/structure/closet/syndicate/ertCom,/turf/unsimulated/floor{icon_state = "floor"},/area/centcom/ferry) -"jJ" = (/turf/unsimulated/floor{tag = "icon-redcorner"; icon_state = "redcorner"; dir = 2},/area/centcom/ferry) "jK" = (/turf/unsimulated/floor{icon_state = "red"; dir = 2},/area/centcom/ferry) -"jL" = (/turf/unsimulated/floor{tag = "icon-redcorner (WEST)"; icon_state = "redcorner"; dir = 8},/area/centcom/ferry) -"jM" = (/turf/unsimulated/floor{tag = "icon-yellowcorner"; icon_state = "yellowcorner"; dir = 2},/area/centcom/ferry) "jN" = (/turf/unsimulated/floor{tag = "icon-yellow"; icon_state = "yellow"; dir = 2},/area/centcom/ferry) -"jO" = (/turf/unsimulated/floor{tag = "icon-yellowcorner (WEST)"; icon_state = "yellowcorner"; dir = 8},/area/centcom/ferry) "jP" = (/turf/unsimulated/floor{dir = 8; icon_state = "red"},/area/tdome/tdomeobserve) "jQ" = (/turf/unsimulated/floor{icon_state = "green"; dir = 4},/area/tdome/tdomeobserve) "jR" = (/turf/unsimulated/floor{dir = 10; icon_state = "green"},/area/centcom/evac) @@ -535,7 +516,6 @@ "ko" = (/turf/unsimulated/floor{icon_state = "green"; dir = 6},/area/tdome/tdomeobserve) "kp" = (/turf/unsimulated/wall/fakedoor{name = "Centcom"},/area/centcom/evac) "kq" = (/obj/structure/showcase{desc = "A strange machine supposedly from another world. The Wizard Federation has been meddling with it for years."; icon_state = "processor"; name = "byond random number generator"},/turf/unsimulated/floor{tag = "icon-cultdamage7"; icon_state = "cultdamage7"},/area/wizard_station) -"kr" = (/obj/item/weapon/gun/energy/pulse_rifle,/turf/unsimulated/floor{tag = "icon-cultdamage"; icon_state = "cultdamage"},/area/wizard_station) "ks" = (/obj/effect/decal/cleanable/blood,/turf/unsimulated/floor{tag = "icon-cult"; icon_state = "cult"},/area/wizard_station) "kt" = (/obj/structure/showcase{desc = "A historical figure of great importance to the wizard federation. He spent his long life learning magic, stealing artifacts, and harassing idiots with swords. May he rest forever, Rodney."; icon = 'icons/mob/mob.dmi'; icon_state = "nim"; name = "wizard of yendor showcase"},/turf/unsimulated/floor{tag = "icon-cultdamage4"; icon_state = "cultdamage4"},/area/wizard_station) "ku" = (/obj/structure/stool/bed/chair{dir = 4},/turf/simulated/shuttle/floor{icon_state = "floor4"},/area/space) @@ -546,12 +526,6 @@ "kz" = (/obj/structure/table/wood,/obj/item/weapon/reagent_containers/food/drinks/beer{pixel_x = 5; pixel_y = -2; step_x = 0},/obj/item/toy/cards/deck/syndicate{icon_state = "deck_syndicate_full"; pixel_x = -6; pixel_y = 6},/turf/unsimulated/floor{icon_state = "bar"; dir = 2},/area/syndicate_mothership) "kA" = (/obj/machinery/computer/telecrystals/uplinker,/turf/unsimulated/floor{tag = "icon-podhatch (WEST)"; icon_state = "podhatch"; dir = 8},/area/syndicate_mothership) "kB" = (/obj/mecha/combat/marauder{operation_req_access = null},/turf/unsimulated/floor{icon_state = "recharge_floor"; name = "mech bay recharge floor"; tag = "icon-recharge_floor"},/area/centcom/ferry) -"kC" = (/obj/machinery/door/poddoor{name = "Death Squad Equipment Room"},/turf/unsimulated/floor{icon_state = "floor"},/area/centcom/ferry) -"kD" = (/obj/structure/table/reinforced,/obj/item/weapon/storage/fancy/donut_box,/turf/unsimulated/floor{icon_state = "floor"},/area/centcom/ferry) -"kE" = (/obj/machinery/suit_storage_unit/ertSec,/turf/unsimulated/floor{dir = 8; icon_state = "red"},/area/centcom/ferry) -"kF" = (/obj/structure/rack,/obj/item/weapon/storage/box/handcuffs,/obj/item/weapon/storage/box/flashbangs,/obj/item/weapon/storage/belt/security,/obj/item/weapon/melee/baton/loaded,/obj/item/weapon/shield/riot/tele,/obj/item/device/flash/handheld,/obj/item/weapon/gun/energy/pulse_rifle/pulse_carbine/loyalpin,/turf/unsimulated/floor{icon_state = "floor"},/area/centcom/ferry) -"kG" = (/obj/machinery/suit_storage_unit/ertEngi,/turf/unsimulated/floor{tag = "icon-yellow (WEST)"; icon_state = "yellow"; dir = 8},/area/centcom/ferry) -"kH" = (/obj/structure/rack,/obj/item/weapon/storage/belt/utility/full,/obj/item/clothing/glasses/meson,/obj/item/stack/sheet/metal{amount = 50},/obj/item/stack/sheet/glass{amount = 50},/obj/item/device/multitool,/obj/item/weapon/rcd_ammo,/obj/item/weapon/rcd_ammo,/obj/item/weapon/rcd_ammo,/obj/item/weapon/melee/baton/loaded,/obj/item/weapon/rcd{matter = 200; name = "military rapid-construction-device (RCD)"},/turf/unsimulated/floor{icon_state = "floor"},/area/centcom/ferry) "kI" = (/turf/unsimulated/wall/fakeglass{color = "#008000"; dir = 6; icon_state = "fakewindows2"},/area/wizard_station) "kJ" = (/obj/effect/forcefield,/obj/structure/door_assembly{anchored = 1; icon_state = "door_as_uranium1"; name = "Bridge"},/turf/unsimulated/floor{tag = "icon-cult"; icon_state = "cult"},/area/wizard_station) "kK" = (/turf/unsimulated/wall/normal{tag = "icon-uranium6"; icon_state = "uranium6"},/area/wizard_station) @@ -559,7 +533,6 @@ "kM" = (/turf/unsimulated/wall/fakeglass{icon_state = "fakewindows2"; dir = 1},/area/syndicate_mothership) "kN" = (/turf/unsimulated/floor,/area/syndicate_mothership) "kO" = (/obj/machinery/door/poddoor/shutters{id = "nukeop_ready"; name = "shuttle dock"},/turf/unsimulated/floor,/area/syndicate_mothership) -"kP" = (/obj/structure/rack,/obj/item/weapon/storage/belt/utility/full,/obj/item/clothing/glasses/meson,/obj/item/stack/sheet/metal{amount = 50},/obj/item/stack/sheet/glass{amount = 50},/obj/item/device/multitool,/obj/item/weapon/rcd,/obj/item/weapon/rcd_ammo,/obj/item/weapon/rcd_ammo,/obj/item/weapon/rcd_ammo,/obj/item/weapon/melee/baton/loaded,/obj/item/weapon/rcd{matter = 90; name = "military rapid-construction-device (RCD)"},/turf/unsimulated/floor{icon_state = "floor"},/area/centcom/ferry) "kQ" = (/turf/space,/area/tdome/tdomeobserve) "kR" = (/obj/effect/decal/remains/human,/obj/effect/decal/cleanable/blood,/turf/unsimulated/floor{tag = "icon-cultdamage6"; icon_state = "cultdamage6"},/area/wizard_station) "kS" = (/obj/effect/decal/cleanable/blood/splatter,/turf/unsimulated/floor{tag = "icon-cultdamage"; icon_state = "cultdamage"},/area/wizard_station) @@ -574,9 +547,6 @@ "lb" = (/obj/structure/toilet{pixel_y = 8},/obj/structure/window/reinforced/tinted{dir = 8; icon_state = "twindow"},/obj/machinery/door/window{name = "Tactical Toilet"; opacity = 1},/turf/unsimulated/floor{icon_state = "freezerfloor"; dir = 2},/area/syndicate_mothership) "lc" = (/obj/structure/table/reinforced,/obj/item/mecha_parts/mecha_equipment/anticcw_armor_booster,/obj/item/mecha_parts/mecha_equipment/antiproj_armor_booster,/obj/item/mecha_parts/mecha_equipment/tesla_energy_relay,/obj/item/mecha_parts/mecha_equipment/repair_droid,/obj/item/weapon/weldingtool/largetank,/turf/unsimulated/floor{icon_state = "floor"},/area/centcom/ferry) "ld" = (/obj/structure/table/reinforced,/obj/item/mecha_parts/mecha_equipment/weapon/energy/ion,/obj/item/mecha_parts/mecha_equipment/weapon/energy/pulse,/turf/unsimulated/floor{icon_state = "floor"},/area/centcom/ferry) -"le" = (/obj/structure/table/reinforced,/obj/item/mecha_parts/mecha_equipment/weapon/ballistic/missile_rack,/turf/unsimulated/floor{dir = 4; heat_capacity = 1; icon_state = "warning"},/area/centcom/ferry) -"lf" = (/obj/structure/table/reinforced,/obj/item/clothing/glasses/night,/obj/item/clothing/glasses/hud/security/sunglasses,/turf/unsimulated/floor{icon_state = "floor"},/area/centcom/ferry) -"lg" = (/obj/structure/table/reinforced,/obj/item/weapon/stock_parts/cell/high,/obj/item/stack/sheet/metal{amount = 50},/obj/item/stack/sheet/metal{amount = 50},/obj/item/stack/sheet/glass{amount = 50},/obj/item/stack/sheet/plasteel{amount = 50},/obj/item/clothing/shoes/magboots,/obj/item/weapon/storage/box,/obj/item/weapon/storage/box/metalfoam,/turf/unsimulated/floor{icon_state = "floor"},/area/centcom/ferry) "lh" = (/turf/simulated/shuttle/wall{icon_state = "swall0"; dir = 2},/area/wizard_station) "li" = (/turf/unsimulated/wall/fakedoor{name = "Squad 4 Pod"},/area/wizard_station) "lj" = (/turf/simulated/shuttle/wall{icon_state = "swall4"; dir = 2},/area/wizard_station) @@ -648,7 +618,6 @@ "mx" = (/turf/unsimulated/floor{icon = 'icons/turf/snow.dmi'; icon_state = "snow"},/turf/unsimulated/floor{tag = "icon-gravsnow_corner (NORTH)"; icon = 'icons/turf/snow.dmi'; icon_state = "gravsnow_corner"; dir = 1},/area/syndicate_mothership) "my" = (/turf/unsimulated/floor{icon = 'icons/turf/snow.dmi'; icon_state = "snow"},/obj/structure/flora/bush,/turf/unsimulated/floor{tag = "icon-gravsnow_corner (NORTH)"; icon = 'icons/turf/snow.dmi'; icon_state = "gravsnow_corner"; dir = 1},/area/syndicate_mothership) "mz" = (/turf/unsimulated/floor{icon_state = "dark"},/area/syndicate_mothership) -"mA" = (/obj/machinery/door/airlock/centcom{name = "Deathsquad Equipment Room"; opacity = 1; req_access_txt = "0"},/turf/unsimulated/floor{icon_state = "floor"},/area/centcom/ferry) "mB" = (/turf/unsimulated/wall,/area/tdome/arena) "mC" = (/obj/machinery/igniter,/turf/simulated/floor/plasteel,/area/tdome/arena) "mD" = (/turf/simulated/floor/plasteel,/area/tdome/arena) @@ -671,8 +640,6 @@ "mU" = (/obj/structure/table,/obj/item/device/assembly/signaler,/obj/item/device/assembly/signaler,/obj/item/device/assembly/prox_sensor{pixel_x = -8; pixel_y = 4},/obj/item/device/assembly/prox_sensor{pixel_x = -8; pixel_y = 4},/turf/simulated/shuttle/floor{icon_state = "floor4"},/area/space) "mV" = (/obj/structure/table,/obj/item/weapon/weldingtool/largetank{pixel_y = 3},/obj/item/device/multitool,/turf/simulated/shuttle/floor{icon_state = "floor4"},/area/space) "mW" = (/obj/structure/stool,/turf/unsimulated/floor{icon_state = "dark"},/area/syndicate_mothership) -"mX" = (/obj/structure/rack,/obj/item/clothing/suit/space/deathsquad,/obj/item/weapon/gun/energy/pulse_rifle,/obj/item/clothing/mask/gas/sechailer/swat,/obj/item/clothing/head/helmet/space/deathsquad,/turf/unsimulated/floor{dir = 4; heat_capacity = 1; icon_state = "warning"},/area/centcom/ferry) -"mY" = (/obj/structure/rack,/obj/item/clothing/suit/space/deathsquad,/obj/item/weapon/gun/energy/pulse_rifle,/obj/item/clothing/mask/gas/sechailer/swat,/obj/item/clothing/head/helmet/space/deathsquad,/turf/unsimulated/floor{dir = 8; heat_capacity = 1; icon_state = "warning"},/area/centcom/ferry) "mZ" = (/obj/structure/rack,/obj/item/clothing/under/color/red,/obj/item/clothing/shoes/sneakers/brown,/obj/item/clothing/suit/armor/tdome/red,/obj/item/clothing/head/helmet/thunderdome,/obj/item/weapon/melee/baton/loaded,/obj/item/weapon/melee/energy/sword/saber/red,/turf/unsimulated/floor{icon_state = "dark"},/area/tdome/arena) "na" = (/obj/machinery/door/poddoor{id = "thunderdomegen"; name = "General Supply"},/turf/unsimulated/floor{icon_state = "dark"},/area/tdome/arena) "nb" = (/obj/effect/landmark{name = "tdome2"},/turf/unsimulated/floor{name = "plating"},/area/tdome/tdome2) @@ -733,8 +700,6 @@ "oe" = (/turf/unsimulated/floor{tag = "icon-cultdamage4"; icon_state = "cultdamage4"},/area/wizard_station) "of" = (/obj/machinery/telecomms/allinone{intercept = 1},/turf/simulated/shuttle/floor{icon_state = "floor4"},/area/space) "og" = (/obj/effect/landmark{name = "Nuclear-Bomb"},/turf/simulated/shuttle/floor{icon_state = "floor4"},/area/space) -"oh" = (/obj/structure/rack,/obj/item/weapon/c4,/obj/item/weapon/storage/firstaid/regular,/obj/item/weapon/pinpointer,/obj/item/weapon/shield/energy,/obj/item/clothing/glasses/thermal,/obj/item/weapon/tank/emergency_oxygen,/obj/item/ammo_box/a357,/obj/item/weapon/gun/projectile/revolver/mateba,/obj/item/weapon/melee/energy/sword,/obj/item/weapon/storage/backpack/security,/turf/unsimulated/floor{dir = 4; heat_capacity = 1; icon_state = "warning"},/area/centcom/ferry) -"oi" = (/obj/structure/rack,/obj/item/weapon/c4,/obj/item/weapon/storage/firstaid/regular,/obj/item/weapon/pinpointer,/obj/item/weapon/shield/energy,/obj/item/clothing/glasses/thermal,/obj/item/weapon/tank/emergency_oxygen,/obj/item/ammo_box/a357,/obj/item/weapon/gun/projectile/revolver/mateba,/obj/item/weapon/melee/energy/sword,/obj/item/weapon/storage/backpack/security,/turf/unsimulated/floor{dir = 8; heat_capacity = 1; icon_state = "warning"},/area/centcom/ferry) "oj" = (/obj/structure/door_assembly{anchored = 1; icon_state = "door_as_uranium1"; name = "Corridor A"},/turf/unsimulated/floor{tag = "icon-cult"; icon_state = "cult"},/area/wizard_station) "ok" = (/turf/unsimulated/wall/normal{tag = "icon-uranium15"; icon_state = "uranium15"},/area/wizard_station) "ol" = (/obj/machinery/door/airlock{icon = 'icons/obj/doors/Dooruranium.dmi'; name = "Corridor A"},/turf/unsimulated/floor{tag = "icon-cult"; icon_state = "cult"},/area/wizard_station) @@ -986,40 +951,40 @@ abababababababababababababababababababababababababababababababababababababababab abababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababeiePeQeRePeieoekeJeJeJeJekabababdGeSeTeUeVdHeNeWdGababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababab abababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababeieXeYeZePeieoekeJfafbfcekababdAfddBdBfedBfffgdBfddCabababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababab ababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababfhfhfhfhfhababeiePeQfifjeieoekfkflfmfnekababdGfofofoezfpdHfqfrfsezabababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababab -ababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababfhfhfhfhfhabababababababababababababababababababfhftfufvfhaDeieifweieieieieiekeJeJeJeJfxfyfzdGfAfBfBfCdHdHdHdHfqdGabababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababab -abababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababfhfhfDfDfDfhfhababababababababababababababababababfhfEfFfFfhfGfHemfIfIfIfIfHfJekeJeJeJeJfKfLfKfMfBfNfNezfOfPfQdHfqezabababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababab -abababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababfhfRfSfSfSfTfhababababfhfhfhfhfhfhfhfhfhfhfhfhfhfhfhfhfUfhfhfJfVemfWfXfYfIfVfJekfxfzfZfxfyfyfzdXdBdBdBgafQfQfQdHfqdGabababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababab -abababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababfhfRfSfSfSfTfhababababfhgbgbgbgbgbgbgbgbgbgbgbgbgbgcgdfSgefhfJfVgfemememggfVfJekghgigigjfKfLfKgkdHgldHdHdHdHdHdHgmdGabababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababab -ababababababababababaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabababababababababababababababababababababababababababababababababababababababababababababababababababababfhgnfSfSfSgofhababababfhgbgpdBdBgqdBdBdBezdBdBgrgsgtgdgugefhfJfVexemememeygvfJekghgigigjfxfyfzdGfPdHgwgxdHgwgxdHgydGabababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababab -ababababababababababaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaababababababgzgzgzgzgzgzgzgzgzgzgzgzgzgzgzgzgzgzgzgzgzgzgzgzgzgzgzgzgzgzabababababababababababababababfhfhfhfhgAgBgAfhfhfhfhababfhgCgaeNgDgEgEgEgEgEgEgEgqgFgGgdgugefhfJgvexemememeseieQekgHgigigjekababezfPdHgwgxdHgwgxdHgyezabababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababab -ababababababababababaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaababababababgzgIgIgIgIgIgIgIgIgIgJgIgIgIgKgLgIgIgIgKgIgIgIgIgIgIgKgIgIgzabababababababababababababababfhgMgNgOfSfSfSgPgQgRfhababfhgCgSdHdHdHdHdHdHdHdHdHgTgUgVgdgugWfhgAfherememememememgigigigigjgXababezfPdHgwgxdHgwgxdHgyezabababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababab -ababababababababababaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaababababababgzgIgIgIgIgJgIgIgIgIgIgIgIgIgIgIgIgKgIgIgIgIgIgKgIgIgIgIgIgzabababababababababababababababgAfSfSgYfSfSfSgdfSfSfhababfhgCgZeDeDeDeDeDeDeDeDeDgqgFhagdgufShbfSfSemememememememgigigigigjekababezfPdHgwgxdHgwgxdHgyezabababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababab -ababababababababababaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaababababababgzgIgIgIgIgIgIgIhcgIgIgIgIgIgJgIgIgLgKgIgIgKgIgIgKgLgIgKgIgzabababababababababababababababfhhdhegYfSfSfSgdhfhgfhababfhgbhhdBdBgqdBdBdBezdBdBhigsgtgdguhjfhgAfhgfemememggeieQekhkgigigjfxfyfzdGfPdHgwgxdHgwgxdHgydGabababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababab -ababababababababababaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaababababababgzgIgIgIgIgIgIgIgIgIgIgIgIgIgIgIgIgIgIgJgIgIgKgLgIgIgKgIgLgzabababababababababababababababfhfhfhfhfSfShlfhfhfhfhababfhgbgbgbgbgbgbgbgbgbgbgbgbgbhmgdfSgefhfJfHevemememewfHfJekghgigigjfKfLfKhndHhodHdHdHdHdHdHgmdGabababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababab -ababababababababababaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaababababababgzgIgIgIgIgIgIgIgIgIgIgIgIgIgIgIgJgIgIgIgIgIgLgIgKgLgIgKgIgzabababababababababababababababfhhphqhrfSfSfSfhabababababhshshshshshshshshshshshshshshshshtfhhsfJfVevemememewfVfJekfxfzhufxfyfyfzdXdBdBhvdBhwezhxezezeaabababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababab -ababababababababababaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaababababababgzgIgIgIgIgIgIhyhyhyhyhyhyhygIgIgIgIgIgIgIgKgIgIhcgLgIgIgIgzabababababababababababababababgAfSfSgYfSfSfSfhhzhAhAhBfhfhfhfhfhfhfhhCfSfShDfhhEhFhGhHfhhIfhhsfJgvevemememewgvfJekgigigigjfKfLfKhnhJhJhJhKdGfrfqfqhLezabababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababab -ababababababababababaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaababababababgzgIgIgIgIgIhMhNhOhOhOhOhOhNhPgIgIgIgIhcgIhygJhygJgIgKgIgKgzabababababababababababababababfhhQhRgYfSfSfSfSfSfSfSfShSfShThUhVhWfhhCfSfShDfhhXfSfShYfhhIfhhshZhZiaibicidiehZhZekgigigigjfxfyfzdGhJhJhJhJdGfqfqfqifdGabababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababab -ababababababababababaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaababababababgzgIgIgIgIgIhNigihiiijikililhNimgIgIhygzgziniogzgzhyipiqhygzabababababababababababababababfhfhfhfhfhfhfhfhfhfhfhfhfhfSfSfSfSfSfhfhirfSfhfhfhisfSfhfhhIfhhsitiuiviwixiyiviuiuekgiiziAiBekababdGiCiCiDiDdGfrfqfqhLezabababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababab -ababababababababababaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaababababababgzgIgIgIgIgIhNiEihihiFihihihhNimgIiGgzgziHiIiIiHgzgzgzgzgzgzgzgzababababababababababababababiJabababiJababfhiKiLiMgAfSiNiNiNfSfSiOiPiPiQfSiRiSiSiTfShIfhhsiuiUiViwixiyiViWiuekgiiXiYiZekababebfeedededededededfeeeabababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababab -ababababababababababaaaaaaaaaaaaaaaaaaaaaaaaaaaaaajajbjcjdaaaaaaaaaaaaaaaaaaaaaaababababababgzgIgIgIgIgIhNjeihihihjfihjghNimhciGgzjhjijijijijjjkjljmjnjojpgzababababababababababababababiJabababiJababgAfSfSfSjqfSiNiNiNfShIhIhIhIhIhIhIhIhIhIhIhIfhhsjriujriwixiyjriujrekgigigigiekabababebegegegegegegegeeababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababab -ababababababababababaaaaaaaaaaaaaaaaaaaaaaaaaajsaajtjujvjwjxaaaaaaaaaaaaaaaaaaaaababababababgzgIgIgIgIgIjyhNhNhNjzhNhNhNjAgIgIjBgzjCjijDjDjEjijijijFjGjGjGgzababababababababababababababiJabababiJababfhjHfSjIgAfSfSiNfSfSfSjJjKjKjLfSjMjNjNjOfSfSfhhsjPiuiuiwixiyiuiujQekjRjSjSjTekababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababab -ababababababababababaaaaaaaaaaaaaaaaaaaaaaaaaajsjUjVjWjvjXjYaaaaaaaaaaaaaaaaaaaaababababababgzgIgIgIgIgIgIgIhNjZihkahNkbhyhyhykcgzjijDkdkejDjikfkgjmkhkigzgzabababababababababababababfhfhfhfhfhfhfhfhfhfhfhfhfhfSfSfSfSfSfhfhkjfSfhfhfhkkfSfhfhfhfhhsklkmkmiwixiyknknkoekekkpekekekababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababab -ababababababababababaaaaaaaaaaaaaaaaaaaaaaaaaajYkqkrjXksktjYaaaaaaaaaaaaaaaaaaaaababababababgzgIgIgIgIgIgIgIhNkuihkvhNkwkxkxkxiogzjijDkykzjDjikfkAgzgzgzgzababababababababababababababfhhdkBgYfSfSfSfSfSfSfSfSkCfShThUhVkDfhkEfSfSkFfhkGfSfSkHfhababhshZhZhZhZixhZhZhZhZekeoeoeoeoekababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababab -ababababababababababaaaaaaaaaaaaaaaaaaaaaaaaaajwjxkIkJkIkKkLaaaaaaaaaaaaaaaaaaaaababababababgzgIgIhMhNhNhNhNhNkuihkvhNkMkNkNkNkNkOjijijijijijikfkAgzgzgzgzababababababababababababababgAfSfSgYfSfSfSfhhzhAhAhBfhfhfhfhfhfhfhkEfSfSkFfhkGfSfSkPfhababababababhZixhZkQkQkQeoeoeoeoeoekababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababab -ababababababababababaaaaaaaaaaaaaaaaaaaaaaaajsjskLkRkSkTjwaaaaaaaaaaaaaaaaaaaaaaababababababgzgIgIhNkUihihkVhNkuihkvhNkWkXinkxiogzkYjDjDjDjijikfkZgzlalbgzgzabababababababababababababfhlcldlefSfSfSfhababababababababababfhfSlflffSfhfSlglgfSfhhZhZhZhZhZhZhZichZhZhZhZhZhZhZhZekekababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababab -ababababababababababaaaaaaaaaaaaaaaaaaaaaalhliljlklllmjvlnjsaaaaaaaaaaaaaaaaaaaaababababababgzgIgIhNkUihlolphNkuihkvhNhNnrlrhPlsgzltlulvlulujijijilwlxlxlygzabababababababababababababfhfhfhfhfSfShlfhababababababababababfhfhfhfhfhfhfhfhfhfhhZlzlAlAlAlAlAlzlzlzlAlAlAlAlAlzhZababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababab -ababababababababababaaaaaaaaaaaaaaaaaaaalBlClDlElFlljvlGlHlIjsjsaaaaaaaaaaaaaaaaababababababgzlJgIhNkUihihlKhNihihihhNihihihhNjBgzlLlMlLlLlNjijijigzlOlPlygzabababababababababababababfhhdkBgYfSfSfSfhabababababababababababababababababababablQlzlzlzlRlzlzlzlzlzlzlzlRlzlzlzlQababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababab -ababababababababababaaaaaaaaaaaaaaaaaajsaaljlSlSlTlljvlUlGlIaalVlWaaaaaaaaaaaaaaababababababgzgIgIhNkUihihihlXihihihlYihihihhNiGgzgzkglZmambgzmcjigzgzgzgzgzabababababababababababababgAfSfSgYfSfSfSfhababababababababababababababababababababhZlzlAlAlAlAlAlzlzlzlAlAlAlAlAlzhZababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababab -ababababababababababaaaaaaaaaaaaaaaaaalnjsaaaajsmdmejWmfjWlnjsjsaaaaaaaaaaaaaaaaababababababgzgIgIhNkUihihihmgihihihmhihihmihNmjmjlsgzgzgzgzgzmkmkmlmmmnmogzabababababababababababababfhlcldlefSfSfSfhababababababababababababababababababababhZidmpmpmpmpmpmpmpmpmpmpmpmpmpibhZababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababab -ababababababababababaaaaaaaaaaaaaakKmqmrmsmtmumtmtmqmvmsmtmtmumtmtaajsaaaaaaaaaaababababababgzgIhMhNhNhNhNhNhNmwihihhNhNhNhNhNhNhPmxmxmxmylsgzmzmzmzmzmzmzgzabababababababababababababfhfhfhfhgAmAgAfhfhabababababababababababmBmBmBmBmBmBmBmBmBmCmDmDmDmDmDmDmDmDmDmDmDmDmDmCmBmBmBmBmBmBmBmBmBababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababab -ababababababababababaaaaaaaaaaaaaamEmFjvjvmFmEmGmHjvjvjvmImJmEmKmLlnmMjsjsaaaaaaababababababgzgIhNmNmNmOmPmQhNihihihhNmRmSmTmUmVhNgIgJgIgIgLjmmzmzmzmzmzmWgzabababababababababababababababfhmXfSfSfSmYfhabababababababababababmBmZnanbnbnbnbnbncndmDmDmDmDmDmDmDmDmDmDmDmDmDnencnfnfnfnfnfnangmBababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababab -ababababababababababaaaaaaaaaaaaaanhnijvjvninhmMmMjvjvjvjvnjnhnknllSlSnmaaaaaaaaababababababgzgIhNihihihloihnnihihihnoihloihlonphNgIhcgKgJhcgznqnqnqnqnqlqgzabababababababababababababababfhmXfSfSfSmYfhabababababababababababmBmZnanbnsnbnsnbncndmDmDmDmDmDmDmDmDmDmDmDmDmDnencnfntnfntnfnangmBababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababab -ababababababababababaaaaaaaaaaaaaanunvjvlGjvnwlUlGjvnxjvjvnynunznAnBnCnDnEaaaaaaababababababgzgIhNnFihihihihnGihihihnHihihihihihhNgIgIgIgKiGgzgzgzgzgzgzgzgzabababababababababababababababfhmXfSfSfSmYfhabababababababababababmBmZnanbnbnInbnbncndmDmDmDmDmDnJnKnJmDmDmDmDmDnencnfnfnLnfnfnangmBababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababab -ababababababababababaaaaaaaaaaaaaanMnijvjWlUnNjWjvjvnOjvjvjvnMnPnQnmnRlhaaaaaaaaababababababgzgIhNnFihihnSnThNnUnVnUhNnWnXihihihhNgIgKgIhciGgzababababababababababababababababababababababfhfhgAfSgAfhfhabababababababababababmBmZnanbnbnbnbnbncndmDmDmDmDmDnJnYnJmDmDmDmDmDnencnfnfnfnfnfnangmBababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababab -ababababababababababaaaaaaaaaaaaaajdnZjvjvnZjdoajvlGjWjvjvoajdobocodoeaaaaaaaaaaababababababgzgIhNihihihhNhNhNofogihhNhNhNihihihhNgIgIgJgIiGgzababababababababababababababababababababababfhohfSfSfSoifhabababababababababababmBmZnanbnsnbnsnbncndmDmDmDmDmDmDmDmDmDmDmDmDmDnencnfntnfntnfnangmBababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababab -ababababababababababaaaaaaaaaaaaaajwmqojmsmtokmtmqkIolkImsmtokmtmqjsjsjsaaaaaaaaababababababgzgIhNomonoohNgIhNopopophNgIhNiloqorhNgIgIgIgIiGgzababababababababababababababababababababababfhohfSfSfSoifhabababababababababababmBmZnanbnbnbnbnbncndmDmDmDmDmDmDmDmDmDmDmDmDmDnencnfnfnfnfnfnangmBababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababab -ababababababababababaaaaaaaaaaaaaaaaaamdlGaajsaajsoslmmdaaaajsaaaaaaaajsaaaaaaaaababababababgzgIhNopopophNgIjyotegoujAgIhNopopophNgIgIgIgIiGgzababababababababababababababababababababababfhohfSfSfSoifhabababababababababababmBmBmBovovovovovmBmCmDmDmDmDmDmDmDmDmDmDmDmDmDmCmBovovovovovmBmBmBababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababab -ababababababababababaaaaaaaaaaaaaaaaaajsjsaaowlGaaoxoymdjsaalUaaaaaaaaaaaaaaaaaaababababababgzgIjyotegoujAgIgIgIgIgIgIgIjyotegoujAgIgIgIgIiGgzababababababababababababababababababababababfhfhfhfhfhfhfhabababababababababababababmBozozozozozmBoAoBoBoBoBoBoBoBoBoBoBoBoBoBoCmBoDoDoDoDoDmBababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababab +ababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababfhftfufvfhaDeieifweieieieieiekeJeJeJeJfxfyfzdGfAfBfBfCdHdHdHdHfqdGabababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababab +ababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababfhfEfFfFfhfGfHemfIfIfIfIfHfJekeJeJeJeJfKfLfKfMfBfNfNezfOfPfQdHfqezabababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababab +abababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababfhfhfhfhfhfhfhfhfhfhfhfhfhfhfhfhfhfhfhfhfhfhfhfUfhfhfJfVemfWfXfYfIfVfJekfxfzfZfxfyfyfzdXdBdBdBgafQfQfQdHfqdGabababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababab +abababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababfhlcldfDfSfSfSfhgbgbgbgbgbgbgbgbgbgbgbgbgbgcgdfSgefhfJfVgfemememggfVfJekghgigigjfKfLfKgkdHgldHdHdHdHdHdHgmdGabababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababab +ababababababababababaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabababababababababababababababababababababababababababababababababababababababababababababababababababababababababgAfSfSgYfShIfSfhgbgCdBdBgqdBdBdBezdBdBgrgsgtgdgugefhfJfVexemememeygvfJekghgigigjfxfyfzdGfPdHgwgxdHgwgxdHgydGabababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababab +ababababababababababaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaababababababgzgzgzgzgzgzgzgzgzgzgzgzgzgzgzgzgzgzgzgzgzgzgzgzgzgzgzgzgzgzabababababababababababababababababababababfhhdkBgYfShIfRfhfTgaeNgDgEgEgEgEgEgEgEgqgFgGgdgugefhfJgvexemememeseieQekgHgigigjekababezfPdHgwgxdHgwgxdHgyezabababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababab +ababababababababababaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaababababababgzgIgIgIgIgIgIgIgIgIgJgIgIgIgKgLgIgIgIgKgIgIgIgIgIgIgKgIgIgzabababababababababababababababababababababfhfhfhfhfShIhIgngodHdHdHdHdHdHdHdHdHdHgTgUgVgdgugWfhgAfherememememememgigigigigjgXababezfPdHgwgxdHgwgxdHgyezabababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababab +ababababababababababaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaababababababgzgIgIgIgIgJgIgIgIgIgIgIgIgIgIgIgIgKgIgIgIgIgIgKgIgIgIgIgIgzabababababababababababababababababababababfhlcldgpfShIfSfhgBgZgMgMeDeDeDeDeDeDeDgqgFhagdgufShbfSfSemememememememgigigigigjekababezfPdHgwgxdHgwgxdHgyezabababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababab +ababababababababababaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaababababababgzgIgIgIgIgIgIgIhcgIgIgIgIgIgJgIgIgLgKgIgIgKgIgIgKgLgIgKgIgzabababababababababababababababababababababgAfSfSgYfShIhlfhgbgCdBdBgqdBdBdBezdBdBhigsgtgdguhjfhgAfhgfemememggeieQekhkgigigjfxfyfzdGfPdHgwgxdHgwgxdHgydGabababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababab +ababababababababababaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaababababababgzgIgIgIgIgIgIgIgIgIgIgIgIgIgIgIgIgIgIgJgIgIgKgLgIgIgKgIgLgzabababababababababababababababababababababfhhdgNgYfShIfSfhgbgbgbgbgbgbgbgbgbgbgbgbgbhmgdfSgefhfJfHevemememewfHfJekghgigigjfKfLfKhndHhodHdHdHdHdHdHgmdGabababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababab +ababababababababababaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaababababababgzgIgIgIgIgIgIgIgIgIgIgIgIgIgIgIgJgIgIgIgIgIgLgIgKgLgIgKgIgzabababababababababababababababababababababfhfhfhfhfShIfSfhfhfhfhfhhzhAhAhAhBfhfhfhfhfhfhhtfhfhfJfVevemememewfVfJekfxfzhufxfyfyfzdXdBdBhvdBhwezhxezezeaabababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababab +ababababababababababaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaababababababgzgIgIgIgIgIgIhyhyhyhyhyhyhygIgIgIgIgIgIgIgKgIgIhcgLgIgIgIgzabababababababababababababababababababababfhlcldgOfShIgPfhgRgQhegSfSfSfSfSfSfShghfhhfSfShIfSfhfJgvevemememewgvfJekgigigigjfKfLfKhnhJhJhJhKdGfrfqfqhLezabababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababab +ababababababababababaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaababababababgzgIgIgIgIgIhMhNhOhOhOhOhOhNhPgIgIgIgIhcgIhygJhygJgIgKgIgKgzabababababababababababababababababababababgAfSfSgYfShIhIhphIhIhIhqhqhqhqhqhqhqhIhIhIhIhIhIhrfhhZhZiaibicidiehZhZekgigigigjfxfyfzdGhJhJhJhJdGfqfqfqifdGabababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababab +ababababababababababaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaababababababgzgIgIgIgIgIhNigihiiijikililhNimgIgIhygzgziniogzgzhyipiqhygzabababababababababababababababababababababfhhdhCgYfSfSfSfhfShDhDfSfSfSjKjKfSfSfSjNjNfSfShfhEfhitiuiviwixiyiviuiuekgiiziAiBekababdGiCiCiDiDdGfrfqfqhLezabababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababab +ababababababababababaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaababababababgzgIgIgIgIgIhNiEihihiFihihihhNimgIiGgzgziHiIiIiHgzgzgzgzgzgzgzgzabababababababababababababababababababfhfhfhfhfhfhfhfhfhirfSfhfhfhkjfSfhfhfhkkfSfhfhfhfhfhiuiUiViwixiyiViWiuekgiiXiYiZekababebfeedededededededfeeeabababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababab +ababababababababababaaaaaaaaaaaaaaaaaaaaaaaaaaaaaajajbjcjdaaaaaaaaaaaaaaaaaaaaaaababababababgzgIgIgIgIgIhNjeihihihjfihjghNimhciGgzjhjijijijijjjkjljmjnjojpgzababababababababababababababababababababababababababfhhFfSfShGfhhHfSfShQfhhRfSfShSfhababhZjriujriwixiyjriujrekgigigigiekabababebegegegegegegegeeababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababab +ababababababababababaaaaaaaaaaaaaaaaaaaaaaaaaajsaajtjujvjwjxaaaaaaaaaaaaaaaaaaaaababababababgzgIgIgIgIgIjyhNhNhNjzhNhNhNjAgIgIjBgzjCjijDjDjEjijijijFjGjGjGgzababababababababababababababababababababababababababfhhTfSfShUfhhVfSfShWfhhXfSfShYfhababhZjPiuiuiwixiyiuiujQekjRjSjSjTekababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababab +ababababababababababaaaaaaaaaaaaaaaaaaaaaaaaaajsjUjVjWjvjXjYaaaaaaaaaaaaaaaaaaaaababababababgzgIgIgIgIgIgIgIhNjZihkahNkbhyhyhykcgzjijDkdkejDjikfkgjmkhkigzgzababababababababababababababababababababababababababfhfhfhfhfhfhfhfhfhfhfhfhfhfhfhfhababhZklkmkmiwixiyknknkoekekkpekekekababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababab +ababababababababababaaaaaaaaaaaaaaaaaaaaaaaaaajYkqlGjXksktjYaaaaaaaaaaaaaaaaaaaaababababababgzgIgIgIgIgIgIgIhNkuihkvhNkwkxkxkxiogzjijDkykzjDjikfkAgzgzgzgzabababababababababababababababababababababababababababababababababababababababababababababhZhZhZhZhZixhZhZhZhZekeoeoeoeoekababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababab +ababababababababababaaaaaaaaaaaaaaaaaaaaaaaaaajwjxkIkJkIkKkLaaaaaaaaaaaaaaaaaaaaababababababgzgIgIhMhNhNhNhNhNkuihkvhNkMkNkNkNkNkOjijijijijijikfkAgzgzgzgzabababababababababababababababababababababababababababababababababababababababababababababababababhZixhZkQkQkQeoeoeoeoeoekababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababab +ababababababababababaaaaaaaaaaaaaaaaaaaaaaaajsjskLkRkSkTjwaaaaaaaaaaaaaaaaaaaaaaababababababgzgIgIhNkUihihkVhNkuihkvhNkWkXinkxiogzkYjDjDjDjijikfkZgzlalbgzgzabababababababababababababababababababababababababababababababababababababababababhZhZhZhZhZhZhZhZichZhZhZhZhZhZhZhZekekababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababab +ababababababababababaaaaaaaaaaaaaaaaaaaaaalhliljlklllmjvlnjsaaaaaaaaaaaaaaaaaaaaababababababgzgIgIhNkUihlolphNkuihkvhNhNnrlrhPlsgzltlulvlulujijijilwlxlxlygzabababababababababababababababababababababababababababababababababababababababababhZlzlAlAlAlAlAlzlzlzlAlAlAlAlAlzhZababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababab +ababababababababababaaaaaaaaaaaaaaaaaaaalBlClDlElFlljvlGlHlIjsjsaaaaaaaaaaaaaaaaababababababgzlJgIhNkUihihlKhNihihihhNihihihhNjBgzlLlMlLlLlNjijijigzlOlPlygzababababababababababababababababababababababababababababababababababababababababablQlzlzlzlRlzlzlzlzlzlzlzlRlzlzlzlQababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababab +ababababababababababaaaaaaaaaaaaaaaaaajsaaljlSlSlTlljvlUlGlIaalVlWaaaaaaaaaaaaaaababababababgzgIgIhNkUihihihlXihihihlYihihihhNiGgzgzkglZmambgzmcjigzgzgzgzgzabababababababababababababababababababababababababababababababababababababababababhZlzlAlAlAlAlAlzlzlzlAlAlAlAlAlzhZababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababab +ababababababababababaaaaaaaaaaaaaaaaaalnjsaaaajsmdmejWmfjWlnjsjsaaaaaaaaaaaaaaaaababababababgzgIgIhNkUihihihmgihihihmhihihmihNmjmjlsgzgzgzgzgzmkmkmlmmmnmogzabababababababababababababababababababababababababababababababababababababababababhZidmpmpmpmpmpmpmpmpmpmpmpmpmpibhZababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababab +ababababababababababaaaaaaaaaaaaaakKmqmrmsmtmumtmtmqmvmsmtmtmumtmtaajsaaaaaaaaaaababababababgzgIhMhNhNhNhNhNhNmwihihhNhNhNhNhNhNhPmxmxmxmylsgzmzmzmzmzmzmzgzabababababababababababababababababababababababababababababababababmBmBmBmBmBmBmBmBmBmCmDmDmDmDmDmDmDmDmDmDmDmDmDmCmBmBmBmBmBmBmBmBmBababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababab +ababababababababababaaaaaaaaaaaaaamEmFjvjvmFmEmGmHjvjvjvmImJmEmKmLlnmMjsjsaaaaaaababababababgzgIhNmNmNmOmPmQhNihihihhNmRmSmTmUmVhNgIgJgIgIgLjmmzmzmzmzmzmWgzabababababababababababababababababababababababababababababababababmBmZnanbnbnbnbnbncndmDmDmDmDmDmDmDmDmDmDmDmDmDnencnfnfnfnfnfnangmBababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababab +ababababababababababaaaaaaaaaaaaaanhnijvjvninhmMmMjvjvjvjvnjnhnknllSlSnmaaaaaaaaababababababgzgIhNihihihloihnnihihihnoihloihlonphNgIhcgKgJhcgznqnqnqnqnqlqgzabababababababababababababababababababababababababababababababababmBmZnanbnsnbnsnbncndmDmDmDmDmDmDmDmDmDmDmDmDmDnencnfntnfntnfnangmBababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababab +ababababababababababaaaaaaaaaaaaaanunvjvlGjvnwlUlGjvnxjvjvnynunznAnBnCnDnEaaaaaaababababababgzgIhNnFihihihihnGihihihnHihihihihihhNgIgIgIgKiGgzgzgzgzgzgzgzgzabababababababababababababababababababababababababababababababababmBmZnanbnbnInbnbncndmDmDmDmDmDnJnKnJmDmDmDmDmDnencnfnfnLnfnfnangmBababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababab +ababababababababababaaaaaaaaaaaaaanMnijvjWlUnNjWjvjvnOjvjvjvnMnPnQnmnRlhaaaaaaaaababababababgzgIhNnFihihnSnThNnUnVnUhNnWnXihihihhNgIgKgIhciGgzababababababababababababababababababababababababababababababababababababababababmBmZnanbnbnbnbnbncndmDmDmDmDmDnJnYnJmDmDmDmDmDnencnfnfnfnfnfnangmBababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababab +ababababababababababaaaaaaaaaaaaaajdnZjvjvnZjdoajvlGjWjvjvoajdobocodoeaaaaaaaaaaababababababgzgIhNihihihhNhNhNofogihhNhNhNihihihhNgIgIgJgIiGgzababababababababababababababababababababababababababababababababababababababababmBmZnanbnsnbnsnbncndmDmDmDmDmDmDmDmDmDmDmDmDmDnencnfntnfntnfnangmBababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababab +ababababababababababaaaaaaaaaaaaaajwmqojmsmtokmtmqkIolkImsmtokmtmqjsjsjsaaaaaaaaababababababgzgIhNomonoohNgIhNopopophNgIhNiloqorhNgIgIgIgIiGgzababababababababababababababababababababababababababababababababababababababababmBmZnanbnbnbnbnbncndmDmDmDmDmDmDmDmDmDmDmDmDmDnencnfnfnfnfnfnangmBababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababab +ababababababababababaaaaaaaaaaaaaaaaaamdlGaajsaajsoslmmdaaaajsaaaaaaaajsaaaaaaaaababababababgzgIhNopopophNgIjyotegoujAgIhNopopophNgIgIgIgIiGgzababababababababababababababababababababababababababababababababababababababababmBmBmBovovovovovmBmCmDmDmDmDmDmDmDmDmDmDmDmDmDmCmBovovovovovmBmBmBababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababab +ababababababababababaaaaaaaaaaaaaaaaaajsjsaaowlGaaoxoymdjsaalUaaaaaaaaaaaaaaaaaaababababababgzgIjyotegoujAgIgIgIgIgIgIgIjyotegoujAgIgIgIgIiGgzababababababababababababababababababababababababababababababababababababababababababmBozozozozozmBoAoBoBoBoBoBoBoBoBoBoBoBoBoBoCmBoDoDoDoDoDmBababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababab ababababababababababaaaaaaaaaaaaaaaaaaaaaaaajsjsaaoElGoFaaaaaajsaaaaaaaaaaaaaaaaababababababgzgIgIgIgIgIgIgIgIgIgIgIgIgIgIgIgIgIgIgIgIgIgIiGgzababababababababababababababababababababababababababababababababababababababababababmBmBmBmBmBmBmBoGoHoHoHoHoHoIoJoKoHoHoHoHoHoGmBmBmBmBmBmBmBababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababab ababababababababababaaaaaaaaaaaaaaaaaaaaaaaaaajsmumqoLmsmujsaajsjsaaaaaaaaaaaaaaababababababgzgzgzgzgzgzgzgzgzgzgzgzgzgzgzgzgzgzgzgzgzgzgzgzgzababababababababababababababababababababababababababababababababababababababababababababababababoMoGoGoGoNoGoOoOoOoOoOoGoNoGoGoGoMababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababab ababababababababababaaaaaaaaaaaaaaaaaaaaaaaaaaaamEoPoQoRmEownllFoSoTjsaaaaaaaaaaabababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababoMoMoUoMoMoMoMoVoWoXoMoMoMoMoUoMoMababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababab diff --git a/code/game/objects/structures/crates_lockers/closets/syndicate.dm b/code/game/objects/structures/crates_lockers/closets/syndicate.dm index 6b32db1b84c..51d4d3a0f99 100644 --- a/code/game/objects/structures/crates_lockers/closets/syndicate.dm +++ b/code/game/objects/structures/crates_lockers/closets/syndicate.dm @@ -5,49 +5,6 @@ icon_closed = "syndicate" icon_opened = "syndicateopen" -/obj/structure/closet/syndicate/ertCom/New() - name = "commanders closet" - desc = "Emergency Response Team equipment locker" - icon_state = "capsecureoff" - icon_closed = "capsecureoff" - icon_opened = "capsecureopen" -// new /obj/item/weapon/card/id/ert(src) - new /obj/item/weapon/storage/backpack/captain(src) - return - -/obj/structure/closet/syndicate/ertSec/New() - name = "security closet" - desc = "Emergency Response Team equipment locker" - icon_state = "secoff" - icon_closed = "secoff" - icon_opened = "secopen" - new /obj/item/weapon/gun/energy/pulse/carbine/loyalpin(src) - new /obj/item/weapon/card/id/ert/Security(src) - new /obj/item/weapon/storage/backpack/security(src) - return - -/obj/structure/closet/syndicate/ertMed/New() - name = "medical closet" - desc = "Emergency Response Team equipment locker" - icon_state = "securemedoff" - icon_closed = "securemedoff" - icon_opened = "securemedopen" - new /obj/item/weapon/gun/energy/pulse/carbine/loyalpin(src) - new /obj/item/weapon/card/id/ert/Medical(src) - new /obj/item/weapon/storage/backpack/medic(src) - return - -/obj/structure/closet/syndicate/ertEngi/New() - name = "engineer closet" - desc = "Emergency Response Team equipment locker" - icon_state = "secureengoff" - icon_closed = "secureengoff" - icon_opened = "secureengopen" - new /obj/item/weapon/gun/energy/pulse/carbine/loyalpin(src) - new /obj/item/weapon/card/id/ert/Engineer(src) - new /obj/item/weapon/storage/backpack/industrial(src) - return - /obj/structure/closet/syndicate/personal desc = "It's a personal storage unit for operative gear." diff --git a/code/modules/admin/verbs/debug.dm b/code/modules/admin/verbs/debug.dm index 1437260c65f..4cf3fff9920 100644 --- a/code/modules/admin/verbs/debug.dm +++ b/code/modules/admin/verbs/debug.dm @@ -597,6 +597,7 @@ var/global/list/g_fancy_list_of_types = null "assassin", "mobster", "death commando", + "emergency response commander", "centcom official", "centcom commander", "special ops officer", @@ -819,8 +820,8 @@ var/global/list/g_fancy_list_of_types = null if("death commando") equip_deathsquad(M) - if("emergency response officer") - equip_emergencyresponsesquad(M) + if("emergency response commander") + equip_emergencyresponsesquad(M, "commander") if("centcom official") M.equip_to_slot_or_del(new /obj/item/clothing/under/rank/centcom_officer(M), slot_w_uniform) @@ -1107,22 +1108,74 @@ var/global/list/g_fancy_list_of_types = null M.equip_to_slot_or_del(W, slot_wear_id) //Emergency Response Team -/proc/equip_emergencyresponsesquad(var/mob/living/carbon/human/M, var/officer) +/proc/equip_emergencyresponsesquad(var/mob/living/carbon/human/M, var/ertrole) var/obj/item/device/radio/R = new /obj/item/device/radio/headset(M) R.set_frequency(1441) M.equip_to_slot_or_del(R, slot_ears) - if(officer) - M.equip_to_slot_or_del(new /obj/item/clothing/suit/space/ert(M), slot_wear_suit) - M.equip_to_slot_or_del(new /obj/item/clothing/under/rank/centcom_officer(M), slot_w_uniform) - M.equip_to_slot_or_del(new /obj/item/clothing/shoes/combat/swat(M), slot_shoes) - M.equip_to_slot_or_del(new /obj/item/clothing/gloves/combat(M), slot_gloves) -// M.equip_to_slot_or_del(new /obj/item/weapon/storage/backpack/captain(M), slot_back) - M.equip_to_slot_or_del(new /obj/item/weapon/card/id/ert(M), slot_wear_id) - else - M.equip_to_slot_or_del(new /obj/item/clothing/under/rank/centcom_officer(M), slot_w_uniform) - M.equip_to_slot_or_del(new /obj/item/clothing/shoes/combat/swat(M), slot_shoes) - M.equip_to_slot_or_del(new /obj/item/clothing/gloves/combat(M), slot_gloves) + switch(ertrole) + if("commander") + M.equip_to_slot_or_del(new /obj/item/clothing/under/rank/centcom_officer(M), slot_w_uniform) + M.equip_to_slot_or_del(new /obj/item/clothing/shoes/combat/swat(M), slot_shoes) + M.equip_to_slot_or_del(new /obj/item/clothing/gloves/combat(M), slot_gloves) + M.equip_to_slot_or_del(new /obj/item/clothing/suit/space/ert(M), slot_wear_suit) + M.equip_to_slot_or_del(new /obj/item/weapon/card/id/ert(M), slot_wear_id) + M.equip_to_slot_or_del(new /obj/item/weapon/storage/backpack/captain(M), slot_back) + + M.equip_to_slot_or_del(new /obj/item/weapon/storage/box/engineer(M), slot_in_backpack) + M.equip_to_slot_or_del(new /obj/item/clothing/head/helmet/space/hardsuit/ert(M), slot_in_backpack) + M.equip_to_slot_or_del(new /obj/item/clothing/mask/gas/sechailer/swat(M), slot_in_backpack) + + M.equip_to_slot_or_del(new /obj/item/weapon/gun/energy/pulse/pistol/loyalpin(M), slot_belt) + M.equip_to_slot_or_del(new /obj/item/weapon/melee/energy/sword/saber(M), slot_l_store) + + if("sec") + M.equip_to_slot_or_del(new /obj/item/clothing/under/rank/centcom_officer(M), slot_w_uniform) + M.equip_to_slot_or_del(new /obj/item/clothing/shoes/combat/swat(M), slot_shoes) + M.equip_to_slot_or_del(new /obj/item/clothing/gloves/combat(M), slot_gloves) + M.equip_to_slot_or_del(new /obj/item/clothing/suit/space/ert/sec(M), slot_wear_suit) + M.equip_to_slot_or_del(new /obj/item/weapon/card/id/ert/Security(M), slot_wear_id) + M.equip_to_slot_or_del(new /obj/item/weapon/storage/backpack/security(M), slot_back) + + M.equip_to_slot_or_del(new /obj/item/weapon/storage/box/engineer(M), slot_in_backpack) + M.equip_to_slot_or_del(new /obj/item/clothing/head/helmet/space/hardsuit/ert/sec(M), slot_in_backpack) + M.equip_to_slot_or_del(new /obj/item/clothing/mask/gas/sechailer/swat(M), slot_in_backpack) + M.equip_to_slot_or_del(new /obj/item/weapon/storage/box/flashbangs(M), slot_in_backpack) + M.equip_to_slot_or_del(new /obj/item/weapon/gun/grenadelauncher(M), slot_in_backpack) + + M.equip_to_slot_or_del(new /obj/item/weapon/gun/energy/pulse/carbine/loyalpin(M), slot_belt) + M.equip_to_slot_or_del(new /obj/item/weapon/restraints/handcuffs(M), slot_l_store) + + if("med") + M.equip_to_slot_or_del(new /obj/item/clothing/under/rank/centcom_officer(M), slot_w_uniform) + M.equip_to_slot_or_del(new /obj/item/clothing/shoes/combat/swat(M), slot_shoes) + M.equip_to_slot_or_del(new /obj/item/clothing/gloves/combat(M), slot_gloves) + M.equip_to_slot_or_del(new /obj/item/clothing/suit/space/ert/med(M), slot_wear_suit) + M.equip_to_slot_or_del(new /obj/item/weapon/card/id/ert/Medical(M), slot_wear_id) + M.equip_to_slot_or_del(new /obj/item/weapon/storage/backpack/medic(M), slot_back) + + M.equip_to_slot_or_del(new /obj/item/weapon/storage/box/engineer(M), slot_in_backpack) + M.equip_to_slot_or_del(new /obj/item/clothing/head/helmet/space/hardsuit/ert/med(M), slot_in_backpack) + M.equip_to_slot_or_del(new /obj/item/clothing/mask/gas/sechailer/swat(M), slot_in_backpack) + M.equip_to_slot_or_del(new /obj/item/weapon/storage/firstaid/tactical(M), slot_in_backpack) + + M.equip_to_slot_or_del(new /obj/item/weapon/gun/energy/pulse/carbine/loyalpin(M), slot_belt) + + if("eng") + M.equip_to_slot_or_del(new /obj/item/clothing/under/rank/centcom_officer(M), slot_w_uniform) + M.equip_to_slot_or_del(new /obj/item/clothing/shoes/combat/swat(M), slot_shoes) + M.equip_to_slot_or_del(new /obj/item/clothing/gloves/combat(M), slot_gloves) + M.equip_to_slot_or_del(new /obj/item/clothing/suit/space/ert/engi(M), slot_wear_suit) + M.equip_to_slot_or_del(new /obj/item/weapon/card/id/ert/Engineer(M), slot_wear_id) + M.equip_to_slot_or_del(new /obj/item/weapon/storage/backpack/industrial(M), slot_back) + + M.equip_to_slot_or_del(new /obj/item/weapon/storage/box/engineer(M), slot_in_backpack) + M.equip_to_slot_or_del(new /obj/item/clothing/head/helmet/space/hardsuit/ert/engi(M), slot_in_backpack) + M.equip_to_slot_or_del(new /obj/item/clothing/mask/gas/sechailer/swat(M), slot_in_backpack) + M.equip_to_slot_or_del(new /obj/item/weapon/storage/box/metalfoam(M), slot_in_backpack) + M.equip_to_slot_or_del(new /obj/item/weapon/gun/energy/pulse/carbine/loyalpin(M), slot_in_backpack) + + M.equip_to_slot_or_del(new /obj/item/weapon/storage/belt/utility/full(M), slot_belt) var/obj/item/weapon/implant/loyalty/L = new/obj/item/weapon/implant/loyalty(M) L.imp_in = M diff --git a/code/modules/admin/verbs/one_click_antag.dm b/code/modules/admin/verbs/one_click_antag.dm index cfac035390e..46ace545763 100644 --- a/code/modules/admin/verbs/one_click_antag.dm +++ b/code/modules/admin/verbs/one_click_antag.dm @@ -467,12 +467,19 @@ client/proc/one_click_antag() var/mob/living/carbon/human/ERTOperative = new(spawnloc) chosen_candidate.client.prefs.copy_to(ERTOperative) ready_dna(ERTOperative) - if(numagents == 1) //If Squad Leader - ERTOperative.real_name = "Commander [pick(ERTOperative.real_name)]" - equip_emergencyresponsesquad(ERTOperative, 1) - else - ERTOperative.real_name = "Officer [pick(ERTOperative.real_name)]" - equip_emergencyresponsesquad(ERTOperative) + switch(numagents) + if(1) + ERTOperative.real_name = "Commander [pick(ERTOperative.real_name)]" + equip_emergencyresponsesquad(ERTOperative, "commander") + if(2 || 5) + ERTOperative.real_name = "Officer [pick(ERTOperative.real_name)]" + equip_emergencyresponsesquad(ERTOperative, "sec") + if(3 || 6) + ERTOperative.real_name = "Officer [pick(ERTOperative.real_name)]" + equip_emergencyresponsesquad(ERTOperative, "med") + if(4 || 7) + ERTOperative.real_name = "Officer [pick(ERTOperative.real_name)]" + equip_emergencyresponsesquad(ERTOperative, "eng") ERTOperative.key = chosen_candidate.key ERTOperative.mind.assigned_role = "ERT" diff --git a/code/modules/projectiles/guns/energy/pulse.dm b/code/modules/projectiles/guns/energy/pulse.dm index 245ca756b0f..66c74fd2006 100644 --- a/code/modules/projectiles/guns/energy/pulse.dm +++ b/code/modules/projectiles/guns/energy/pulse.dm @@ -13,11 +13,14 @@ /obj/item/weapon/gun/energy/pulse/attack_self(mob/living/user as mob) select_fire(user) +/obj/item/weapon/gun/energy/pulse/loyalpin + pin = /obj/item/device/firing_pin/implant/loyalty + /obj/item/weapon/gun/energy/pulse/carbine name = "pulse carbine" desc = "A compact variant of the pulse rifle with less firepower but easier storage." w_class = 3 - slot_flags = null + slot_flags = SLOT_BELT icon_state = "pulse_carbine" item_state = "pulse" cell_type = "/obj/item/weapon/stock_parts/cell/emproof/pulse/carbine" @@ -29,6 +32,7 @@ name = "pulse pistol" desc = "A compact pulse core in a classic handgun frame for Nanotrasen officers. It's not the size of the gun, it's the size of the hole it puts through people." w_class = 2 + slot_flags = SLOT_BELT icon_state = "m1911-p" item_state = "gun" cell_type = "/obj/item/weapon/stock_parts/cell/emproof/pulse/carbine" From f6be6754aeb4d28959d0094eb55a2cd22a949a58 Mon Sep 17 00:00:00 2001 From: paprka Date: Sun, 1 Feb 2015 21:32:51 -0800 Subject: [PATCH 077/122] readds the stun revolver (oops) --- code/modules/projectiles/ammunition/energy.dm | 4 ++++ code/modules/projectiles/guns/energy/stun.dm | 9 +++++++++ .../research/designs/weapon_designs.dm | 10 ++++++++++ icons/obj/guns/energy.dmi | Bin 32426 -> 33021 bytes 4 files changed, 23 insertions(+) diff --git a/code/modules/projectiles/ammunition/energy.dm b/code/modules/projectiles/ammunition/energy.dm index 582b358b85d..04afcf54d7f 100644 --- a/code/modules/projectiles/ammunition/energy.dm +++ b/code/modules/projectiles/ammunition/energy.dm @@ -57,6 +57,10 @@ fire_sound = 'sound/weapons/taser.ogg' e_cost = 200 +/obj/item/ammo_casing/energy/electrode/gun + fire_sound = 'sound/weapons/gunshot.ogg' + e_cost = 100 + /obj/item/ammo_casing/energy/ion projectile_type = /obj/item/projectile/ion select_name = "ion" diff --git a/code/modules/projectiles/guns/energy/stun.dm b/code/modules/projectiles/guns/energy/stun.dm index eeed10cdd90..9933294f86a 100644 --- a/code/modules/projectiles/guns/energy/stun.dm +++ b/code/modules/projectiles/guns/energy/stun.dm @@ -6,6 +6,15 @@ item_state = null //so the human update icon uses the icon_state instead. ammo_type = list(/obj/item/ammo_casing/energy/electrode) +/obj/item/weapon/gun/energy/stunrevolver + name = "stun revolver" + desc = "A high-tech revolver that fires internal, reusable stun cartidges in a revolving cylinder. Holds twice as many electrodes as a standard taser." + icon_state = "stunrevolver" + origin_tech = "combat=3;materials=3;powerstorage=2" + ammo_type = list(/obj/item/ammo_casing/energy/electrode/gun) + can_flashlight = 0 + pin = null + /obj/item/weapon/gun/energy/gun/advtaser name = "hybrid taser" desc = "A dual-mode taser designed to fire both short-range high-power electrodes and long-range disabler beams." diff --git a/code/modules/research/designs/weapon_designs.dm b/code/modules/research/designs/weapon_designs.dm index 569e5a9a18b..aeac82800b8 100644 --- a/code/modules/research/designs/weapon_designs.dm +++ b/code/modules/research/designs/weapon_designs.dm @@ -33,6 +33,16 @@ build_path = /obj/item/weapon/gun/energy/gun/nuclear category = list("Weapons") +/datum/design/stunrevolver + name = "Stun Revolver" + desc = "A high-tech revolver that fires internal, reusable stun cartridges in a revolving cylinder. The stun cartridges can be recharged using a conventional energy weapon recharger." + id = "stunrevolver" + req_tech = list("combat" = 3, "materials" = 3, "powerstorage" = 2) + build_type = PROTOLATHE + materials = list("$metal" = 4000) + build_path = /obj/item/weapon/gun/energy/stunrevolver + category = list("Weapons") + /datum/design/tele_shield name = "Telescopic Riot Shield" desc = "An advanced riot shield made of lightweight materials that collapses for easy storage." diff --git a/icons/obj/guns/energy.dmi b/icons/obj/guns/energy.dmi index ef7a14dd496d46527d3087908b811be5931e6328..3099d69bd800a9e4a39b97d81e7e75d4e716dc97 100644 GIT binary patch delta 14959 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 delta 14898 zcmb_@2UHVX*Y1SgQBaChMLF;{nQYBBd_AFeM={W1%P?Wkqr6ruA%hVz2VH@}QTrdaWr4Fi| z`eFmsr`T5#9Y39i0#IJ_kFgyEix>&#x#c}UoaJ5jM{krykXoPqq%3Cf`)?P%G@_i% zZY(7|Rbv$JceBfRvLbFW51KtI7JgQ$AYxLykF^&`X_fsgVizK7tH(Pt_U;!`S6!+m zvP&uCsPAIhJ*m$Z?*w-MWl@}hu>X8HU6yCPGEnP&p6!DTA5HtJm5L2B`AvTgeSiJZ zV160S%`o=cTq=9Fe^a?^e|lQ7`Q@q!eNMXj_hnU;iDi8i@SQsBn_^TYb|n1CVIgHW z<)_hMkrzf{HOe~iW5nEk`PcnE7j`+$)JA*H7GB{<5^{b2s*CD6Ll2qVntq0xBHh4e z^`<|CJbr$LuLw56Q&S2oMV~`qa0NEWFE%iB1uv^mLs>Qa)1qreyJGZvZ*5K|^U(RM zX*5`=lMxlJu7Mk#a^?DqAw|m#ZNC{MtEorNq*!{i;?{Na+T_yLuhJkzetJZhqo$?2 zQ2GHKZcbg6A&zUxHndTZXs|Ij?eR?`cke?x@0{2)F^P*l->2e+t5|MXFGjJvWK3Ru z@Gj$h?kl522JeHQ^wk2}tQ=>QR~+3^1B}sQKZwfd6%2fBcH7J-imydmPcKO8Em`cU zegkzZ8I`}sw1kFZIMWS%(~sx5o{P%Ns5*wP1SW+voaqWP*ViGvw^ckS<4WnP>9f~~cVP{YEM zqI`P$>B0Nm28rQk*7Wk{5J{Z5eajS>V~SKCIbNyOm$C@0TRY4Snk%Y~Y~Oez$fy;Y zgZnsVRP>o#=kk=Wvf_w@jZf@3-lypqTu##~x|}`)Lp+&G&-N{uoGTWF&&Y5}JZ!>* zWd$YYRt6g@)>08oRJq~4<~&yRQ+1i;H%s8052!7IXTN4o7yY5mnEkf+TWWA;Nq+Sx z+{Q8M%OJIHgi&xzi>B%y+TvXi{#VJ%Ju>D)mnwQ$*(v3*8dKUlw1&|FaM$$@ifE-b z*+a=owD1aw!)EfMFNBgGRspLZV(X!`&gQkzo;w#R=yY zZbp*b&*&Pz@tA*IW;d9rqN4w5lT4=flJ<>?NV>?3a+t|s21Mx+gbTHjq)toCm z-P{1FTF;Vo7!%kXd5SFlKJUfV-6g)_X}xpjwm|yrHz|pkYii&w9tgqroMCJJ!-qZK z(<9|Fo9f3o@9y|3@@8(XKE=k}?YbN8{BhA#W%=7~V?_gbZ9a!yiaG-$rOORJ-@!_& zuCD%jc!1*bZ<^>9vYLtShMU{Uj`@ynvGyamyTHRi)8?`vi|C!j9g8GG#U2zj zur^k~EUfpzaFD!Vx@l$NMexAjph!VYb+rq&?qFuFBmQv1yI$1s`{>2Do_??7+YIR& z@F4;EMXux#4r<7JKFr|j@vCp!?vnT4Gh0JzzzOg7lamsoYHJlU0fw>y#YgwVuZW6> zZ0?&n`yV9p^B3lf@qo**1?Zegjdn3LOs9nys$Pk5tlZJ`EEYaVbWtwbbDNitIHrP) zjEodMydocn^Jwl7yypinP?2||;IXf{9I&DBfn5IPc!Px`X)2w~1YNl`uFsShdi^LXU32X?5Mbt*##Vgs`eL z6y4q3EqEMgiht8LJpAI*%!S`$W8X%4z$*OnoCj0Es=?U&ux;7nP04a+%=hsHIg~mr zz|BN0>oiUS0zO_?i_DOH9dh!Zd+l{pA31n=jk@Q@G9TTq(`k>-82|3N>+itfu8_zU zV|IACLhh^&J%8C)`h~}thk?$p{+Z)!xB^k*Lp$3r?$P(`%HMn-SZRdTwp@k3wYeZT zdGa8``Snc3%lwn&UGZTT;c6z_5et!z*m)&dDbwKc-zQeSC(G zEhBsjM;v_cTWt^g83PvCYjK_5SR{wYI;Ctsf$da>Kb_m9Y;k9iL7-JdLWtgz%)>uv zCVr${^)@}4N7pH+VD)2)yvzpo@3VU-3j%S%$2`gb!v&v`IC*$l>I08A*GhUKl%{86 z;W6OC!V?cq&mY!BIaw0Ku4p9ZLH-<`t}J9&G3x~qSGFb`md8C15@cTEP0McfE+vK5 z&qz%^#ECqwuFQyofeISAjEu|_{%B`uW$o>iRWa+?*4LE>lm1N~Hcvcu%?=*Ttb7Q_ zO?bpVuO@LF6UYFx(=T}yIKgCJ{pMrvLFVSq?)xv)*)I{c_8@nq^A*CmF~M%#t;K+~ zgy-#g%)7Vim8APLgOIQw=XnYE^wMSlvlei#uFj<0o4Q?z;$+FhOjNpl?z3?r>HEsOGrX%ujiLFLWY1=Wd;4HgRD%NljXb~&H1oA$q+vvpoZ}G!V0wS$s0OR(B~f! zZsBcIPOkJw>0iBpV?KoGS1oB!YJg8%+7boAv`H*nrqI`Kgw8DR3> zlnpQNDDh7Lt+rBd3$GrWptVKvQw#So6#lITw$HNf*{Cop6ZK(0o#)F-UsF`4R@pz` zbPPfLI3!N(D7in~v05ijbbQtPogdl4%*+cgreuHD2eDK?Us0bq9Z%oMMHtk0@d$ZvKU@6cWKZd2rhm;6bh?geVz2F$J&Ezg%EnA%O;Z z^gxCyOQBQVs}vH7`bk~?i(JHhXLBPdI;N>oez~p|H$gmBZ-U1RCCw$9f?e~7r9D0^ z^ynTRJy^L4e^1o-PSU{NWmb9oAhYslAvG~w@cd>fvvLr&`hK?V(b@Ko9Ouq$-_U)1 zfB`WQ0=xZudg!0#-WWk3LlVvhQd_L6#JGwAmd!}28ZVkNXV@Z?oIwPi?toUO>+>a+ zNwN%!Q@wiVH9pdjea<^`3|$7exc>rAnXN0@mb+zbAx_x+oLO~ydle?{xpIb%jt&6s ze6CoXCLCbelD>)nL0$79UGt65=B|0|i$;8apyP8VDj+kpQC6M?0N=^`oN5BxV1n1M zW7+SEo*p8uA8M6a(WPeG?~6Q8IwKAC{0Qwl0vY)QT8Z`j7Nj?AKr&am205=&%)}yG z(&LnK9i^=;Af7B2csM^M9+^?GZ*ygo>kgJt&3ORj1p z`mTLsO?^x3ogfO6$Sd?urTl=XDc6<&hS>#e4-l&cQU?{5w1RDhpaA4nCDw3Nhr9=4D|8D20u z(eEF-i3T}0cYuV0Ad;_iTvEupV{9e)VXIuwmMj0YYvn{WIoKZ(xke|DWj<-hJ|*$( zFlyMu_eV`!0r3b%Gxqhq4T-BjHJRIbcEF5M1zk>H=FqX;jaXgWi?sif`-WgZSzPj` zqHbyDJ&0V#C7%Bq-WtX_ud=fXv^~A0rbZ525|gY-yoR9H=KU6DYLmjrsml4(;rUHd z`&5Itemzi;aP^pXQW$r9tbgxbP%`2f!sR2JZ@L;>&c+PEw@QrJ&6ax9D>v+LWsAms zz+YG}%k1dr*xvq=0?0G3VN+{r>a@26zw`6*@H{Z6ilYizTXPs*_ww-cZh9*7>01p~ zP=)D`Qw6!oy=g5tVQaT5O~I26Ncczt_^fo;Z;c&qwB0z1`0;|kP~2w%19ZK^pHrUx z>d*cTBs)derN)W%D1~Asz2SFX36+xhzy;0%E+zJ6Wg#?w>a^j6U?h4B5d8*<+=ft# znK=8dpOS|H4}^FU&HzyExO(-f%giC|vz|SFiYc+60<$WzzhEY$x>_MKXu_SqYgIA! zdvH|fsNSfHo3Pu~kL_}-m=Mt&pvIPW+um+Vkx%|H=dh-8Ud zlQzCpNMzaFsl?ZryZs>F8~B_%aC1UekiCAp*!g@~dOBltOGtmVo&@d(HFUzYL$!G| z*p4KHL$g_6A)11X&oPb zEEcw$O?tlB)s9fU&IiR$>xL&rA~5r9&xQe3C=5uGJVTqnyMl#EV=vS_SqQs5tBB2b zfSle6@wLJ@dSGDSv2*xuJ<^{U=H!BhMr6=OmSP_Z-Xg7RN*uNYL9zH^a#!Z9^YuQ8 zAHqL4{pdaMijPm9IlUQ7$>S(O!2oR?UUCmi)L}>1Za>aAVbi?mWFi0s;)3S8FNlXnCsF;Xn|Gdsc(PW< z&zT;`e8y<_8DlkX$-gIUJjK~y5e5K%7uisY-x?ICXXlx3*Y4bg6L$OIC=d$IP&&G4 z#2fvdTm{NZafyuNz)hO-w?ZXBfFC*{L-QZ||KqzFGXXaYjULbeCl7|rZyVv9b1HVF zHd1WiFcSy)AA3#wt0he5wDDyKVA0E%DZEycxSmc9&r-~}2EvhjMz z)$l>e2aO|HW6jl#b(7(_!fb1i8>Yxr({sw#3rHLO8~a@zi{ZR^7)iA8BzA8IJYDM8 zc1><(Hxm7NsjfhT#QyxAG4)!yZfqSm$k_Y?I~xO*kqYt$GaQR{R}na~-tzL*dUkfw zFA|P+0Pn72Hc2uzP=>AL!A>3bkmeWkGB)V1b(SZ35Z(;4Tm^i5FzhXdJ%~_e;GWz> zRCN3#`AM>p)9uNMZ@|hLMI_$oI|rVe6l{EBiVL_k1|BGRN3VHckJHntLppM4Wxzi} zv)k*qqvGgS@TEd=G({+Rlj_*^;QWQ_`i&neEa;Exm$Ok25L-dTDsj0r$r%5+?q~JT zwX^N`dw(_j5>UCiQ9}WoSy;5eFBW{X_6igYBBqb&-+RbmG>jRF47s13I6L4YCBYu# zcYAFWzWJQm?UgAE5ZIRpWT2g3CwF1O`=)bi2#BjIpL^3N2ONL2MGtq?e^@GyT- z64yY%!Xjvva{6xdk&<)VZ#Pp>fPeMKHo>`uD&B?(P;txpf%SAZ7wAUFhkvgY*AU9F z0CxK!U}Cb%&URMhnm)oA^_;lx(0;a}bi}0)COPihn7kpX_G46gm-%%rm=z0mAH^QB zBlkIY@dF2jqEm@8m{>E9@`{=4$5mZ3%9wGi0MLUH8i)VYU{oJw(!)} zmRsQS#8SDJ=JZWC?!+AVNA%HjE#?(#chrvgtE;OU=T6BF19;7Ao4i4+&PqYsc|7uq zdB!@yV@)6I1#x<@qeXRjWDT3ehpaH{L(&rCkpIwJ6Oc*Da^|Ha7k0nd$NYmb)Xcskq?*eClf|wqP95 z_gu>IBjlpUcsZ@GE`e$yTL8TYMZ3Sg%{+t?yCQN%V;=za*Cc12)`1g!O1bI>zqKxD zMqtWOwM5>pUE52{s=eHQQ#CML04DL0XKM1ZL$LzT}9 zRB|=~Es3;2^+YH+t3wFygWt9Ze!u>BOSi>X(i$F`Cxfkw?+494j*4as*74<{{ro-e z0mb>%Z2PLBuY8{jQ|AvGnbXxwkSDKRP`GhJ-(m}aFX!6%2?T`}DAOMZ9)w&#{NoLW z^Bc~9{O;sd+$<*icKA$38*ejxk8<>e=APzDJ>`A=6}ZE;=}@ooioz4A~KpX}oc-i?Nk`^*MrruByoa!lfS zgq1g=wSxo0pwsHxZPk;MfHoln&tihlW++|nlkNXx;Ijc5IrHp)72G@MQFK4dqC)b78qQZpC-IAET!VUp)AX`QhIu) z`vyAcjw4oMRom#0NQo=yGm)}}m#iUEBKjHMx;MtuM?1#dUz3`Cyp`u2sU!r-3$Mw$ zuE;&D?|rfHp+x?V55p-kPHDoh*}KXw=NV6)FY(VtvS@iEX^j_aZh1TWQ(?}%hgXs^ zlJZS%(*oWT#a!TV9lOg?-Ry}4DC_j{af^X0879e9<2n+?&23*rC?O2{AqcBSt7!7z za?Y6Zw4(vzwF*-fE%Vcd4AT9@IeP!Qx!8cW4BXfZm71d+_55h?e6WJ7Zjw- z&CS)&)Kpz)_T|40>+TT!yQp>}6~JTupem`&lYzO?v{@BB1XNO**}l%~C`DrSFVJ9I z_w1+?cc~?vfs6>VtrF(vF|6d51|?0$S(hL*)7KYtwhwz%v| zyRF>GU-Itza4W82UnRj)f3E8$bWaj`ZM7N}8gIFlJ3o1}^N$tZ;{)pgS)%aNne*an zE{UjG!go`zS&gZqfaGOn>k%YF4pf&YBqe`ipicV>I&S(Vfu+y>0Vtg=4FhvUBjAUi zr9)J+q_WsLIe>QkUQ{HNcJ8iP+ofKaUw;DX>M?rTbJw^ zH@WLUl-@P{=$~k+oHA(iE9-wQT)s>jqaW$9^|pa6{(u=!E|+>Xf`-r!ln+EFFhgU) zN99KI^WVRVL!86MkAbJW!HHs1PIhX1Tl@T=YbBeTeCZnVv5iV}CIsco7NvzP{mV~7 zRp>jy1q4*zaTKN`UWZlBtp?=^Ck>G%*2&Zz8zlS^-Ho7y5EvME*L(QG)pQM=GaLuY zgmW(1ADg}tFX{eWq&UJ>p!RpO>5j{%aKEd%TAuH#3j#m}IJy!uueaSg#tfv=v$pKD zSUir`x%vE)O55h{b^z?}#IG&H&ZQjvwkxvC8^m$Y=J5%!b*(p>XT2K{3_uS<*T?ycK4>kVzm!3-W>TQBlzp!0!I;odiDj zmydv;va#wbM+hAxZ3$_i@zc$DzR97nY`+-@euS4gu>vX#rPEpmi61Q;g>aFrhW%}* z>+9ZldbmFWGjhe>iX1p<{DzA}+2nnuOvy~-Sbh5ACl|cAp#cb5vUu?q(D$tUCieuM z0|T%!aAX9EM=ON-_Os?DChswR6=RIPfvZ}MIfrXmak*F`EiEnm*DwKyWqhjE6rppz z|JwwL#z&M?<23R*VqX>VqucM{X+Ep41iSTy>vna|>Bf1tssL9De>Fln!&v zelVl3u(xK`=+ci)H;Y$)2f>^iLv^+ugzi2{s6TU-{Usxp?4>RUg#$qQ>Q!m!IxaV_ znV6a6ptK&U%v9N`-l3sLoz&X1R#0{LQ}D@YO+oG=@Clu!qgRGQ;JxZ+{aN28B~&S> zfoVSgpXANqS~|&ll`@F>U|o$6sq^$HUo$4~>RAZwn3PdlLYBB7EzPQs4l=!bNfcnU zAI#IYfLLsxVRKVb`KUv$`{4T5Vu&uAU4iQd>M;VfgqMzcyKR$vSQ2`Wutg-MN zho9;6%UKEw8@rhqwVz{2A-d$@LgUtgTPq~-9mioHG8MgC7gf(9fH zEX~^}x0_k@#PY%N7hq`S!y^J&kQ$bUIzyS_-b2Gnci+~L0?Oz}^PiJzIa4RpPv?z= ztrXY3AP0cnWsmdlcMZ|30P!%EH0)eeQo?$}Ypr2v=@P(y;|3Ry@c8;(-Kp8>lR>{W zqj~z958H!6T99gq1x)C3S!F^nApGcPsmAAY;@No@`Lw5?gTvdojjf|gm~?7A=L-=$ zOu$1I!P-8;gNQ4Y{e5aU*7;6^kl`xdX88ibXMbd*(<0Uhea2_Ih+3ay6_1f(To3JB zC4MZ@*nX9pdwI!2L0d-$20+xOl} zHD_=lqx+0aRWIlg57k=_#? zN4K!(3q78r72FQ5bYIj3RGgg)ieo!$Z+dyj_VxE$m6;H#Q2_$_z;KZbHQ=1wzqIt! zvP(E;@3bRnZ5R^+8SD{B&2{&ft-g}*`VQK)_vtZnb|NUywMar9bG^P{y^IpWe_V(O zM-9OXNZ*cd#@w((#PjDO<4$r8YO

    ;uXksuNzTxbdri!L&np%Un!)wcXt{XtVRkT zOP1L0AAPq4k2QS23z9=R5*XO#CTc=}X}Z!NxGVm!QRh@b&vZo{P2<7$5C|3oN9Oi< zWNG5YL9ado4*)pVu6awapAY!yV#;{FE_$Zz-%IV z+|*@AtY#||RbT&Q?56TT!y*MhVG-a~kU15iTp2}HfoIFVP46wv z&VfuSf!qXtJA&udAxXU-y8*4EaA4bSFr%4H9Q zL{Dh2P;&+O#*Y6<2`32j4h)2enU-6U%CP?WOE~QeaXt| zuFx|49fElOZANYO_?;zY8s-}SUKb^)^9J4m+~3&v`6;|lO@*mc9o{^TcySfWi}e0+ z^a+IoA#em&Mp|wVy{CB=VjdmTun|sE0`<4HQ(;=S>uDY@)NC&O1vCgAB+Csp?!N%W zc0T?Tmf-}eT-=xZ|Due*|9AT7iU@E?M4aVz%k2w&gkOSBti+|%YfnJU2@m&d`Pl_A zCC6vJNrg+Z&=lE-g*EMn;?hzX^qx}%*EVi2dGy}ahz^)j-y0FZ_~Rd>QRrowsj-7T z1?B`akMg~X^*NfC86|$HWzlB#iqtl)A=%{T`&4|outB_c^r8$d$+xxL_3R6>s?ZbR zru8u-9KNw%kHWAEPoa0sXpeEpf`UL0gsA23@a)tt{+U4=n5^!3m9_qqxWTHx)b_Jr z;T2d8?>9I-Sj7Qa=P*K3v2KcB?A(U>$^fuk{qv_bHX<#(^7EnK?yo#`gH)bNsakT5 zqha;+$_}G*`7h3$J7*~_6|F%R9FBXlGm;U|+=NYy^?|k@LC2%2NoLc2^2h^fTW~iv zq)#Ve?g17JYmjmm9Ot?_vtrz(t_b4mk6vVxr~swYNK#*4|E)*QE&~}#b!r31ud0E(f^(pqSksYQQaCXIdLQ83-~E5Lq<%D zv5JZu%KfF~<*H;Cp2MyT@QLu5>`-U@-jBqgztxdWpo%Fd+JZ8!Vht6`zOW7Em7RqL zmFA()Ys`tU50A-rPD`NE?#v|9PwmGrB_t+YxF&e}njV3i{Eh8|e|M?OoN?x-gIDyv zzP|GA3k*M7T9C&wvLCj|0sjYd0)dkYJfWih9h;no$XBf`W6t6!U9F+D z<7^O#Hi4ym89H8-l(VD-QB%2i2njU z!1??8v42Iph1)%0(UU8i`B8kKQYqPHgE@eNT3S{eBO{SR01>V%1=H5P^`T=VFwoRV zGoA|H)+Q&=krMT+BefuE+pYA&4LR&PNrClOr>iG9PNHse(;Iu z+Rq`|A4n@Iz_MZt1~ipV`=Y}kl*~;mPOxRTnD;UjK8ZyUj|lZ*g&LCQUKft7L$AnH z#z&7_;w~p-#>*X3+Y9=P__XjCnqnIcK$Ae%GspCn7KJXwsk=;@__jRMmjz2<6mY3kNMlj3XDVSjgTHZl>@@ zI5zctd1k;c79m)1c}U{dwfXM#8_Xx60`x(z4Xhl;W?|S51S1p{$lF&mIKG5AhNW%2n|!I{4m?IT&JA}Tr_wO=$!P-!k^iKzeuf1EVG z+lyUW9n%pu)W z^1?r*{s0nv*CuM%hiUb_zluMxnb_Jbc;bbq(0X;92WoaVd-9D40+#ug*@4Z4RA=hI z`sZiMR^M^~l2TG1^HM+TTTb=ec9?u(!9~q^5FJ-1YJC;n>~3K8pBM)t(=ioZ6Lj72xBUtE(L_X)iu0ZJGr#d2Q{SuH^G%BC{j*f=&A zZr{!(t)D&Q<%)`kpjxX!#sWc~)njl3J)=(~`|a-ZqCHS-sup?{zBY4h>lhkv=F+h! z5a8MT5<6#`oAtoAN^Ad{eo2YY%w0n#tA&MyJH`IDn#T&R31usBa4(Sq_%*u%{>zsy zKSkMsb-bDiJOE^E=ohL3;P_tun32aR%gfJzhF@}+u(UKYNM`dTJ9{=C!BZ`Qe;HJ< zEg>pK36y4gzZli~L-mrGPx)2KuS6gya-;Sv+zCs2e9k;SCx7q5qUFBoo0Jqz58cV+ z>yf{ns6ikQu=Maa1N34rv3sjSpLe*x2ZzgR$mh$rz180s47|W*eY6b92WHoZog+g< z`^Hq*zu&b83mBLuer; zK4k_j2S`QL%FbF(gU=DV&|^&q_RSf2Bwz~%7%ZwdRtm#Q20o0Rbqkot1(`Fqb+}p( zgg?eol9E9neDlJ04Kf=ic4b1ZfQtf8;mF$gShcK!NWb)?q=*IP z$?(9}yrvaSEh*A=P=68Jzma`y&h)pq+w@}B&z}r)?MNsi%KPs-^hz;BlJmw=`_(Bs z&;dBfiF>>K1&={~Xc3+e2#JqVe^JGEgpK(-wbez!UzYiA11itfF0Snk4(Uys1J}qN zn#cuQLjQWwgn$z~9}@&(70Hsj!vB#O;wO^PuhElRo?y`x^DVNzK}XXjrh->OqvyRz zq-94E&!IwdFgbNC*RP;GRDL6_nznNB;&%?aqzP;)GXe^>FzFx`XMRuomuhgVT+F&} z_Q&q73{(9+9k61cm{11NrY z22my8?AtNM*tXD}Me#5Kyt#|djY-9zA=!3xR`o}<=jnBNK$>7w+dCOe-4z9>(2@=K zk-dO3MK+CXzn|Zp?*dLl3*6V;nw_~Mjh`AB8fKJ~NIQ&;47 z510VI>gu2yK_z;qmeE>84{vYLu`KC2aJIY<$RUr~XS~}$m)akX65_wl}=GJEG4It3%Y7DQ^R|+;D$Y^R8kw$ed)F18m!?i}tV4@KZ z%=wxCE}OmM@3t4=Bwzf(gf|SJ-EYAx&HMM%a)-4C-?5}qp}hlyF-Ad8`2w9T+YB>9 z&|Izjnio1lL-!BK~@)p0=`&;GbS*1HJU()NdXM(;;u z1Or6pTUeOE-ao%5e@kIiA!mmG)}7B%Pg9$g!_JG^i}P^rnhLpBwn;>l4g}D?6WxWl z37Co|?C`7!PNYtfg8`ZUC24`Jc;22{9!d!v_ywn=wiqxn*M_ zDOx`pM;#OAXv1PgF3msx0yV1u6@)Xw%#W82Y8fB7L!}l%Tc_?Q^8S6Eo7tjZ;#?;@ z?p}TZgb#|41ix1?F(R`m&gl8TOSjZ1f=$0b(z7H&FarYvu-R?@7GY;+CptENcM!^R zZ!c2j$Ce|!#9E!jrRd{3&Xg((2#^C)9tsb*{I0sy6@Dz`9;V+_#>8T<1Tk6LMA0#z z0q_0foi?zsE6xY^HR#xJ0}r*dw0{5o9o*Mvz@Q*O=H}_e-4Uwjz`4b3 zEQH+P#I4w(w1cU(MhWA}tKB11>Ek7qWhQl~BE`?jE>8k!!?1C;AYt}BO8e342Wb%v zj$Jb-a1Xc8G{oA??8DbMTQweaK9U?acg81699kaDg2`N(Rh05xYqt!!;?z<>^*s4u1rk~m>@rE5mrqg#T4I5v zq;lcCeec-Vs<~_`?9iC|_6@pQ*d4;9QBc2dEfM^JJlbati>@{@yR^nwU zh{0beKd`xsJSuZmW}7RwP^mx98o|v<#jOk3qP?TD5gK2;`Nr=HyhuUdDRzm*Zv_Pn zVQO916`~`YDnGwTrtClA#@hY$DU9mtSHH`W0@Q%8xNo7JCEm(9Iy&Lwpk02cxQH0( z;gPvG`**XdPglm)z4qt=K3F78;*cG3m!dq9NNz{THz8=+c)rXg{|E4`i5BvRSDd+p zJzi+_RG*_JWjc8mJn8wDf(pGAHNKdcOTeYez^>JPefxzM+uP|X&H;F?XySk~6A;8l z<{sRzy%=?>*iex-)?gpZeSKeen6+qj=f)?aBgk~IOchAZJD4h^mD-KEDv!T0Og`=ufv=^<{GaBI-#_;Ca`6Nj7j z;lvT|+zN#o168GY=vTdUQ!%8bPZbo>3*`*ic7=#_LKu!Y{fSw89t*KBot4p5ovi! zh2}TePMJ3N**v9XtUz$o?@ne|Bb%$>5A^NvLHN1&9(fDoA6~$6V+a;#b)rDN_}6JH z8pp+kiW~?CMq=Wvc3!|}A1cb&?poYb-l*TveSCc|(HW|+UdAZ_(EIJyaf`yh7U$O& z6<{XRe}f3S-~6;EdSd9HHS>w)3p^2l{ZkmWe?l_6hY2o_#_{{gjrIGA6NpFIo z#)sn3FTz(&lPCR;cqrlura53aoMAHbx%WAmkLODc%^f{wAAoR zmY;ncRM{-;b;!F+J;oMW6s!#m56=w|KO;hs`w*83YM5=(1JAuI1l)>CTtC*)198wG zJ%XHJ-&?=5%~mKXDKP>kvgWw>c>2&ELA$#iwR_*xp!i9SokEIFXrfZtsL8h^x$?08U_2JTG%rc6QOnpJeKKH@-&iNX@yZpx%X*OsKu< zkZe%exN|qk+u$LDDhvLi%4sHmw?_ujkh*rPN3_lUIC5uiWZT=dALu#py_t}!w1q`Q znxo~8(U+vy8|Tldcg};)hSxto_3*jp)HfaF!3niLP66Fz>Bdp(Vy1G@Gczm!!-wbJ zcZYp=pv<>xKX$SX$`2Z@m?~^bWf6=t%x+)c)7P5U&=}sEd6>=-)?T9DZH0aoM z-@Tuj73Q2-_;6{c{KSZBoBpTn*{LTdkB!br(M Date: Sun, 1 Feb 2015 22:22:08 -0800 Subject: [PATCH 078/122] two of everything for ert gear --- _maps/map_files/generic/z2.dmm | 16 ++++++++-------- 1 file changed, 8 insertions(+), 8 deletions(-) diff --git a/_maps/map_files/generic/z2.dmm b/_maps/map_files/generic/z2.dmm index 8a3afcd9f0b..df8ac027014 100644 --- a/_maps/map_files/generic/z2.dmm +++ b/_maps/map_files/generic/z2.dmm @@ -394,7 +394,7 @@ "hD" = (/turf/unsimulated/floor{tag = "icon-blue"; icon_state = "blue"; dir = 2; heat_capacity = 1},/area/centcom/ferry) "hE" = (/obj/structure/table/reinforced,/obj/item/clothing/mask/gas,/obj/item/weapon/soap/nanotrasen,/obj/item/weapon/tank/emergency_oxygen/engi,/turf/unsimulated/floor{icon_state = "floor"},/area/centcom/ferry) "hF" = (/obj/structure/table/reinforced,/obj/item/weapon/melee/baton/loaded{pixel_x = -3; pixel_y = 0},/obj/item/weapon/melee/baton/loaded{pixel_x = 4; pixel_y = 0},/obj/item/weapon/reagent_containers/hypospray/combat/nanites{pixel_x = 4},/obj/item/weapon/reagent_containers/hypospray/combat/nanites,/turf/unsimulated/floor{tag = "icon-blue (WEST)"; icon_state = "blue"; dir = 8},/area/centcom/ferry) -"hG" = (/obj/structure/table/reinforced,/obj/item/weapon/storage/belt/medical,/obj/item/clothing/glasses/hud/health{pixel_x = -2; pixel_y = -1},/obj/item/weapon/defibrillator/combatdefibrillator/loaded,/turf/unsimulated/floor{tag = "icon-blue (EAST)"; icon_state = "blue"; dir = 4; heat_capacity = 1},/area/centcom/ferry) +"hG" = (/obj/structure/table/reinforced,/obj/item/weapon/storage/belt/medical,/obj/item/clothing/glasses/hud/health{pixel_x = -2; pixel_y = -1},/obj/item/weapon/defibrillator/combatdefibrillator/loaded,/obj/item/weapon/storage/belt/medical,/obj/item/clothing/glasses/hud/health{pixel_x = -2; pixel_y = -1},/obj/item/weapon/defibrillator/combatdefibrillator/loaded,/turf/unsimulated/floor{tag = "icon-blue (EAST)"; icon_state = "blue"; dir = 4; heat_capacity = 1},/area/centcom/ferry) "hH" = (/obj/structure/table/reinforced,/obj/item/weapon/storage/box/emps,/obj/item/weapon/gun/energy/ionrifle{pin = /obj/item/device/firing_pin},/turf/unsimulated/floor{dir = 8; icon_state = "red"},/area/centcom/ferry) "hI" = (/turf/unsimulated/floor{icon_state = "vault"; dir = 5},/area/centcom/ferry) "hJ" = (/turf/simulated/shuttle/floor{icon_state = "floor2"},/area/space) @@ -404,15 +404,15 @@ "hN" = (/turf/simulated/shuttle/wall{icon_state = "wall3"},/area/space) "hO" = (/obj/structure/grille,/obj/machinery/door/poddoor/shutters{id = "syndieshutters"; name = "blast shutters"},/obj/structure/window/reinforced/fulltile,/turf/simulated/shuttle/plating,/area/space) "hP" = (/turf/unsimulated/floor{icon = 'icons/turf/snow.dmi'; icon_state = "snow"},/turf/simulated/shuttle/wall{dir = 1; icon_state = "diagonalWall3"},/area/space) -"hQ" = (/obj/structure/table/reinforced,/obj/item/weapon/gun/energy/pulse,/obj/item/weapon/shield/riot/tele{pixel_x = 3; pixel_y = -3},/turf/unsimulated/floor{tag = "icon-red (EAST)"; icon_state = "red"; dir = 4; heat_capacity = 1},/area/centcom/ferry) -"hR" = (/obj/structure/table/reinforced,/obj/item/clothing/shoes/magboots,/obj/item/weapon/storage/belt/utility/full,/obj/item/clothing/glasses/meson,/obj/item/weapon/melee/baton/loaded,/turf/unsimulated/floor{tag = "icon-yellow (WEST)"; icon_state = "yellow"; dir = 8},/area/centcom/ferry) -"hS" = (/obj/structure/table/reinforced,/obj/item/stack/sheet/metal{amount = 50},/obj/item/stack/sheet/glass{amount = 50},/obj/item/device/multitool,/obj/item/weapon/rcd_ammo,/obj/item/weapon/rcd_ammo,/obj/item/weapon/rcd_ammo,/obj/item/weapon/rcd{matter = 200; name = "military rapid-construction-device (RCD)"},/turf/unsimulated/floor{tag = "icon-yellow (EAST)"; icon_state = "yellow"; dir = 4; heat_capacity = 1},/area/centcom/ferry) +"hQ" = (/obj/structure/table/reinforced,/obj/item/weapon/gun/energy/pulse,/obj/item/weapon/shield/riot/tele{pixel_x = 3; pixel_y = -3},/obj/item/weapon/shield/riot/tele{pixel_x = 3; pixel_y = -3},/turf/unsimulated/floor{tag = "icon-red (EAST)"; icon_state = "red"; dir = 4; heat_capacity = 1},/area/centcom/ferry) +"hR" = (/obj/structure/table/reinforced,/obj/item/weapon/storage/belt/utility/full,/obj/item/clothing/glasses/meson,/obj/item/weapon/melee/baton/loaded,/turf/unsimulated/floor{tag = "icon-yellow (WEST)"; icon_state = "yellow"; dir = 8},/area/centcom/ferry) +"hS" = (/obj/structure/table/reinforced,/obj/item/stack/sheet/metal{amount = 50},/obj/item/stack/sheet/glass{amount = 50},/obj/item/device/multitool,/obj/item/weapon/rcd_ammo,/obj/item/weapon/rcd_ammo,/obj/item/weapon/rcd_ammo,/obj/item/weapon/rcd{matter = 200; name = "military rapid-construction-device (RCD)"},/obj/item/clothing/shoes/magboots,/turf/unsimulated/floor{tag = "icon-yellow (EAST)"; icon_state = "yellow"; dir = 4; heat_capacity = 1},/area/centcom/ferry) "hT" = (/obj/structure/table/reinforced,/obj/item/weapon/storage/box/bodybags,/obj/item/weapon/storage/box/syringes{pixel_x = -3; pixel_y = -3},/obj/item/weapon/gun/syringe/rapidsyringe,/turf/unsimulated/floor{tag = "icon-blue (WEST)"; icon_state = "blue"; dir = 8},/area/centcom/ferry) "hU" = (/obj/structure/table/reinforced,/obj/item/weapon/storage/firstaid/regular{pixel_x = 3; pixel_y = 3},/obj/item/weapon/storage/firstaid/o2,/obj/item/weapon/storage/firstaid/toxin,/obj/item/weapon/storage/firstaid/fire,/obj/item/weapon/storage/firstaid/brute,/turf/unsimulated/floor{tag = "icon-blue (EAST)"; icon_state = "blue"; dir = 4; heat_capacity = 1},/area/centcom/ferry) -"hV" = (/obj/structure/table/reinforced,/obj/item/weapon/storage/box/handcuffs{pixel_x = 3; pixel_y = -3},/obj/item/weapon/storage/box/flashbangs{pixel_x = -4; pixel_y = -4},/turf/unsimulated/floor{dir = 8; icon_state = "red"},/area/centcom/ferry) -"hW" = (/obj/structure/table/reinforced,/obj/item/weapon/storage/belt/security,/obj/item/weapon/melee/baton/loaded,/obj/item/clothing/glasses/night,/obj/item/clothing/glasses/hud/security/sunglasses,/turf/unsimulated/floor{tag = "icon-red (EAST)"; icon_state = "red"; dir = 4; heat_capacity = 1},/area/centcom/ferry) -"hX" = (/obj/structure/table/reinforced,/obj/item/stack/sheet/plasteel{amount = 50},/obj/item/stack/sheet/glass{amount = 50},/obj/item/stack/sheet/metal{amount = 50},/obj/item/stack/sheet/metal{amount = 50},/obj/item/weapon/storage/box/metalfoam,/obj/item/weapon/stock_parts/cell/high,/turf/unsimulated/floor{tag = "icon-yellow (WEST)"; icon_state = "yellow"; dir = 8},/area/centcom/ferry) -"hY" = (/obj/structure/table/reinforced,/obj/item/stack/sheet/metal{amount = 50},/obj/item/stack/sheet/glass{amount = 50},/obj/item/device/multitool,/obj/item/weapon/rcd_ammo,/obj/item/weapon/rcd_ammo,/obj/item/weapon/rcd_ammo,/obj/item/weapon/rcd{matter = 90; name = "military rapid-construction-device (RCD)"},/turf/unsimulated/floor{tag = "icon-yellow (EAST)"; icon_state = "yellow"; dir = 4; heat_capacity = 1},/area/centcom/ferry) +"hV" = (/obj/structure/table/reinforced,/obj/item/weapon/storage/box/handcuffs{pixel_x = 3; pixel_y = -3},/obj/item/weapon/storage/box/flashbangs{pixel_x = -4; pixel_y = -4},/obj/item/weapon/storage/box/handcuffs{pixel_x = 3; pixel_y = -3},/obj/item/weapon/storage/box/flashbangs{pixel_x = -4; pixel_y = -4},/turf/unsimulated/floor{dir = 8; icon_state = "red"},/area/centcom/ferry) +"hW" = (/obj/structure/table/reinforced,/obj/item/weapon/storage/belt/security,/obj/item/weapon/melee/baton/loaded,/obj/item/clothing/glasses/night,/obj/item/clothing/glasses/hud/security/sunglasses,/obj/item/weapon/storage/belt/security,/obj/item/weapon/melee/baton/loaded,/obj/item/clothing/glasses/night,/obj/item/clothing/glasses/hud/security/sunglasses,/turf/unsimulated/floor{tag = "icon-red (EAST)"; icon_state = "red"; dir = 4; heat_capacity = 1},/area/centcom/ferry) +"hX" = (/obj/structure/table/reinforced,/obj/item/stack/sheet/plasteel{amount = 50},/obj/item/stack/sheet/plasteel{amount = 50},/obj/item/stack/sheet/glass{amount = 50},/obj/item/stack/sheet/metal{amount = 50},/obj/item/stack/sheet/metal{amount = 50},/obj/item/weapon/storage/box/metalfoam,/obj/item/weapon/stock_parts/cell/high,/turf/unsimulated/floor{tag = "icon-yellow (WEST)"; icon_state = "yellow"; dir = 8},/area/centcom/ferry) +"hY" = (/obj/structure/table/reinforced,/obj/item/stack/sheet/metal{amount = 50},/obj/item/stack/sheet/glass{amount = 50},/obj/item/device/multitool,/obj/item/weapon/rcd_ammo,/obj/item/weapon/rcd_ammo,/obj/item/weapon/rcd_ammo,/obj/item/weapon/rcd{matter = 90; name = "military rapid-construction-device (RCD)"},/obj/item/clothing/shoes/magboots,/turf/unsimulated/floor{tag = "icon-yellow (EAST)"; icon_state = "yellow"; dir = 4; heat_capacity = 1},/area/centcom/ferry) "hZ" = (/turf/unsimulated/wall,/area/tdome/tdomeobserve) "ia" = (/turf/unsimulated/wall/fakeglass{icon_state = "fakewindows"; dir = 9},/area/tdome/tdomeobserve) "ib" = (/turf/unsimulated/wall/fakeglass{icon_state = "fakewindows"; dir = 4},/area/tdome/tdomeobserve) From 8173cd24601136afcc6e18112fdf90bb477944db Mon Sep 17 00:00:00 2001 From: paprka Date: Sun, 1 Feb 2015 23:27:56 -0800 Subject: [PATCH 079/122] fixes pulse rifles not being emp proof apparently --- code/modules/projectiles/guns/energy/pulse.dm | 5 ++++- code/modules/projectiles/guns/energy/special.dm | 2 ++ 2 files changed, 6 insertions(+), 1 deletion(-) diff --git a/code/modules/projectiles/guns/energy/pulse.dm b/code/modules/projectiles/guns/energy/pulse.dm index 66c74fd2006..a08db357269 100644 --- a/code/modules/projectiles/guns/energy/pulse.dm +++ b/code/modules/projectiles/guns/energy/pulse.dm @@ -2,7 +2,7 @@ name = "pulse rifle" desc = "A heavy-duty, multifaceted energy rifle with three modes. Preferred by front-line combat personnel." icon_state = "pulse" - item_state = "pulse" + item_state = null w_class = 4 force = 10 flags = CONDUCT @@ -13,6 +13,9 @@ /obj/item/weapon/gun/energy/pulse/attack_self(mob/living/user as mob) select_fire(user) +/obj/item/weapon/gun/energy/pulse/emp_act(severity) + return + /obj/item/weapon/gun/energy/pulse/loyalpin pin = /obj/item/device/firing_pin/implant/loyalty diff --git a/code/modules/projectiles/guns/energy/special.dm b/code/modules/projectiles/guns/energy/special.dm index 1547e6857ce..9698ca64d37 100644 --- a/code/modules/projectiles/guns/energy/special.dm +++ b/code/modules/projectiles/guns/energy/special.dm @@ -122,6 +122,8 @@ overheat = 0 recent_reload = 0 ..() +/obj/item/weapon/gun/energy/kinetic_accelerator/emp_act(severity) + return /obj/item/weapon/gun/energy/kinetic_accelerator/attack_self(mob/living/user) if(overheat || recent_reload) From 50e152f402e33aebd158b624b2e9193f9d57404b Mon Sep 17 00:00:00 2001 From: paprka Date: Mon, 2 Feb 2015 00:20:22 -0800 Subject: [PATCH 080/122] rods --- code/game/objects/items/stacks/rods.dm | 8 ++++++++ code/game/objects/items/stacks/stack.dm | 4 ++++ icons/obj/items.dmi | Bin 62469 -> 62268 bytes 3 files changed, 12 insertions(+) diff --git a/code/game/objects/items/stacks/rods.dm b/code/game/objects/items/stacks/rods.dm index 4b25d6fd02c..f3ad7db4378 100644 --- a/code/game/objects/items/stacks/rods.dm +++ b/code/game/objects/items/stacks/rods.dm @@ -8,6 +8,7 @@ var/global/list/datum/stack_recipe/rod_recipes = list ( \ desc = "Some rods. Can be used for building, or something." singular_name = "metal rod" icon_state = "rods" + item_state = "rods" flags = CONDUCT w_class = 3.0 force = 9.0 @@ -21,8 +22,15 @@ var/global/list/datum/stack_recipe/rod_recipes = list ( \ /obj/item/stack/rods/New(var/loc, var/amount=null) recipes = rod_recipes + update_icon() return ..() +/obj/item/stack/rods/update_icon() + if(get_amount() <= 5) + icon_state = "rods-[get_amount()]" + else + icon_state = "rods" + /obj/item/stack/rods/attackby(obj/item/W as obj, mob/user as mob) ..() if (istype(W, /obj/item/weapon/weldingtool)) diff --git a/code/game/objects/items/stacks/stack.dm b/code/game/objects/items/stacks/stack.dm index 9ab05593915..d1c629f2856 100644 --- a/code/game/objects/items/stacks/stack.dm +++ b/code/game/objects/items/stacks/stack.dm @@ -177,6 +177,7 @@ if(usr) usr.unEquip(src, 1) qdel(src) + update_icon() return 1 /obj/item/stack/proc/add(var/amount) @@ -184,6 +185,7 @@ source.add_charge(amount * cost) else src.amount += amount + update_icon() /obj/item/stack/proc/add_to_stacks(mob/usr as mob) var/obj/item/stack/oldsrc = src @@ -199,6 +201,7 @@ usr << "You add new [item.singular_name] to the stack. It now contains [item.amount] [item.singular_name]\s." if(oldsrc.amount <= 0) break + update_icon() /obj/item/stack/attack_hand(mob/user as mob) if (user.get_inactive_hand() == src) @@ -240,6 +243,7 @@ src.use(to_transfer) if (src && usr.machine==src) spawn(0) src.interact(usr) + S.update_icon() else ..() diff --git a/icons/obj/items.dmi b/icons/obj/items.dmi index 166062cd3be6e17e7bb97403bd947c6a266b4f1f..bdc82908b0a1664130698e4138652b1c40602397 100644 GIT binary patch literal 62268 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 R7b5{LMLAX38fmkz{{w;1HxB>+ literal 62469 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 P+Cj-mDoIp{nFRkI6qE*C From 18a90495b2cfec348512cab2af07b62dfe670924 Mon Sep 17 00:00:00 2001 From: paprka Date: Mon, 2 Feb 2015 03:33:37 -0800 Subject: [PATCH 081/122] updates to ERT stuff --- _maps/map_files/generic/z2.dmm | 161 ++++++++++-------- code/game/machinery/recharger.dm | 4 +- code/game/objects/items/weapons/RCD.dm | 18 +- .../game/objects/items/weapons/power_cells.dm | 26 ++- .../objects/items/weapons/storage/belt.dm | 1 + .../crates_lockers/closets/secure/misc.dm | 94 ++++++++++ .../crates_lockers/closets/syndicate.dm | 2 +- code/modules/admin/verbs/debug.dm | 39 +++-- .../clothing/spacesuits/miscellaneous.dm | 2 +- code/modules/projectiles/guns/energy/pulse.dm | 19 ++- code/modules/reagents/Chemistry-Recipes.dm | 2 +- icons/obj/guns/energy.dmi | Bin 33021 -> 34130 bytes tgstation.dme | 1 + 13 files changed, 260 insertions(+), 109 deletions(-) create mode 100644 code/game/objects/structures/crates_lockers/closets/secure/misc.dm diff --git a/_maps/map_files/generic/z2.dmm b/_maps/map_files/generic/z2.dmm index df8ac027014..14f4d3241ac 100644 --- a/_maps/map_files/generic/z2.dmm +++ b/_maps/map_files/generic/z2.dmm @@ -287,7 +287,7 @@ "fA" = (/obj/machinery/flasher{id = "shuttle_flasher"; pixel_x = -24; pixel_y = 6},/obj/machinery/flasher_button{id = "shuttle_flasher"; pixel_x = -24; pixel_y = -6},/turf/simulated/shuttle/floor4,/area/space) "fB" = (/turf/simulated/shuttle/floor4,/area/space) "fC" = (/obj/machinery/door/airlock/glass{name = "Emergency Shuttle Brig"; req_access_txt = "2"},/turf/simulated/shuttle/floor,/area/space) -"fD" = (/obj/structure/table/reinforced,/obj/item/mecha_parts/mecha_equipment/weapon/ballistic/missile_rack,/obj/item/mecha_parts/mecha_equipment/weapon/energy/taser,/turf/unsimulated/floor{dir = 4; heat_capacity = 1; icon_state = "warning"},/area/centcom/ferry) +"fD" = (/obj/structure/table/reinforced,/obj/item/device/aicard,/turf/unsimulated/floor{icon_state = "floor"},/area/space) "fE" = (/obj/structure/stool,/turf/unsimulated/floor{dir = 8; icon_state = "wood"},/area/centcom/ferry) "fF" = (/turf/unsimulated/floor{dir = 8; icon_state = "wood"},/area/centcom/ferry) "fG" = (/turf/unsimulated/floor{icon_state = "grass1"; name = "grass"},/area/space) @@ -301,9 +301,9 @@ "fO" = (/obj/structure/stool/bed/chair,/turf/simulated/shuttle/floor{icon_state = "floor3"},/area/space) "fP" = (/obj/structure/stool/bed/chair{dir = 4},/turf/simulated/shuttle/floor{icon_state = "floor3"},/area/space) "fQ" = (/obj/structure/table,/turf/simulated/shuttle/floor{icon_state = "floor3"},/area/space) -"fR" = (/obj/machinery/door_control{desc = "A remote control switch for the blast doors."; icon_state = "doorctrl0"; id = "deathmechs2"; name = "blast doors control"; pixel_x = 28; pixel_y = 0; req_access_txt = "101"},/turf/unsimulated/floor{icon_state = "floor"},/area/centcom/ferry) +"fR" = (/obj/structure/table/reinforced,/obj/item/weapon/soap/nanotrasen,/obj/item/device/flash/handheld,/turf/unsimulated/floor{icon_state = "floor"},/area/space) "fS" = (/turf/unsimulated/floor{icon_state = "floor"},/area/centcom/ferry) -"fT" = (/turf/simulated/shuttle/wall{icon_state = "swall_f6"; dir = 2},/area/space) +"fT" = (/obj/structure/table/reinforced,/obj/item/clothing/mask/gas,/obj/item/device/flashlight/seclite,/turf/unsimulated/floor{icon_state = "floor"},/area/space) "fU" = (/obj/machinery/door/airlock/centcom{name = "Dressing Room"; opacity = 1; req_access_txt = "0"},/turf/unsimulated/floor{dir = 8; icon_state = "wood"},/area/centcom/ferry) "fV" = (/turf/unsimulated/wall/fakeglass{icon_state = "fakewindows2"; dir = 1},/area/centcom/control) "fW" = (/turf/unsimulated/wall/fakeglass{icon_state = "fakewindows"; dir = 8},/area/centcom/control) @@ -323,9 +323,9 @@ "gk" = (/obj/machinery/door/airlock/shuttle{name = "Emergency Shuttle Airlock"},/obj/docking_port/mobile/emergency,/obj/docking_port/stationary{dir = 4; dwidth = 9; height = 11; id = "emergency_away"; name = "Centcom"; width = 22},/turf/simulated/shuttle/plating,/area/space) "gl" = (/obj/structure/extinguisher_cabinet{pixel_x = -5; pixel_y = 30},/turf/simulated/shuttle/floor,/area/space) "gm" = (/obj/structure/extinguisher_cabinet{pixel_x = 27; pixel_y = 0},/turf/simulated/shuttle/floor,/area/space) -"gn" = (/obj/machinery/door/poddoor{id = "deathmechs2"; name = "combat exosuits"},/turf/unsimulated/floor{icon_state = "engine"},/area/centcom/ferry) +"gn" = (/obj/structure/table/reinforced,/obj/item/weapon/extinguisher,/obj/item/device/flash/handheld,/obj/item/weapon/tank/emergency_oxygen/engi,/turf/unsimulated/floor{icon_state = "floor"},/area/space) "go" = (/obj/machinery/door/airlock/shuttle,/turf/simulated/shuttle/floor,/area/space) -"gp" = (/obj/structure/table/reinforced,/obj/item/mecha_parts/mecha_equipment/weapon/energy/taser,/obj/item/mecha_parts/mecha_equipment/wormhole_generator,/turf/unsimulated/floor{dir = 4; heat_capacity = 1; icon_state = "warning"},/area/centcom/ferry) +"gp" = (/turf/unsimulated/floor{icon_state = "floor"},/area/space) "gq" = (/obj/structure/window/shuttle,/obj/structure/grille,/turf/simulated/shuttle/plating,/area/space) "gr" = (/turf/unsimulated/floor{name = "plating"},/turf/simulated/shuttle/wall{icon_state = "swall_f10"; dir = 2},/area/space) "gs" = (/turf/unsimulated/floor{name = "plating"},/area/space) @@ -337,8 +337,8 @@ "gy" = (/obj/structure/stool/bed/chair{dir = 8},/turf/simulated/shuttle/floor{icon_state = "floor3"},/area/space) "gz" = (/turf/unsimulated/wall,/area/syndicate_mothership) "gA" = (/turf/unsimulated/wall/fakeglass{icon_state = "fakewindows2"; dir = 6},/area/centcom/ferry) -"gB" = (/turf/simulated/shuttle/wall{icon_state = "swall_f5"; dir = 2},/area/space) -"gC" = (/obj/structure/shuttle/engine/propulsion{tag = "icon-propulsion (EAST)"; icon_state = "propulsion"; dir = 4},/turf/simulated/shuttle/plating,/area/space) +"gB" = (/obj/structure/table/reinforced,/obj/item/weapon/extinguisher,/obj/item/device/flashlight/seclite,/turf/unsimulated/floor{icon_state = "floor"},/area/space) +"gC" = (/obj/structure/table/reinforced,/obj/item/clothing/mask/gas,/turf/unsimulated/floor{icon_state = "floor"},/area/space) "gD" = (/obj/machinery/computer/shuttle/ferry/request,/turf/simulated/shuttle/floor,/area/space) "gE" = (/obj/structure/stool/bed/chair,/turf/simulated/shuttle/floor,/area/space) "gF" = (/obj/structure/sign/securearea{desc = "A warning sign which reads 'EXTERNAL AIRLOCK'"; icon_state = "space"; layer = 4; name = "EXTERNAL AIRLOCK"; pixel_x = 0},/turf/unsimulated/wall/fakeglass{icon_state = "fakewindows"; dir = 8},/area/centcom/ferry) @@ -349,39 +349,39 @@ "gK" = (/obj/structure/flora/tree/pine,/turf/unsimulated/floor{icon = 'icons/turf/snow.dmi'; icon_state = "snow"},/area/syndicate_mothership) "gL" = (/obj/structure/flora/grass/both,/turf/unsimulated/floor{icon = 'icons/turf/snow.dmi'; icon_state = "snow"},/area/syndicate_mothership) "gM" = (/obj/structure/closet/crate,/turf/simulated/shuttle/floor,/area/space) -"gN" = (/obj/mecha/combat/marauder/seraph,/turf/unsimulated/floor{icon_state = "recharge_floor"; name = "mech bay recharge floor"; tag = "icon-recharge_floor"},/area/centcom/ferry) -"gO" = (/obj/structure/table/reinforced,/obj/item/mecha_parts/mecha_equipment/weapon/energy/taser,/obj/item/mecha_parts/mecha_equipment/teleporter,/turf/unsimulated/floor{dir = 4; heat_capacity = 1; icon_state = "warning"},/area/centcom/ferry) -"gP" = (/obj/machinery/door_control{desc = "A remote control switch for the blast doors."; icon_state = "doorctrl0"; id = "deathmechs"; name = "blast doors control"; pixel_x = 28; pixel_y = 0; req_access_txt = "101"},/turf/unsimulated/floor{icon_state = "floor"},/area/centcom/ferry) -"gQ" = (/obj/structure/table/reinforced,/obj/item/device/aicard,/turf/unsimulated/floor{icon_state = "floor"},/area/centcom/ferry) -"gR" = (/obj/structure/table/reinforced,/obj/item/weapon/soap/nanotrasen,/obj/item/device/flash/handheld,/turf/unsimulated/floor{icon_state = "floor"},/area/centcom/ferry) -"gS" = (/obj/structure/table/reinforced,/obj/item/clothing/mask/gas,/obj/item/device/flashlight/seclite,/turf/unsimulated/floor{icon_state = "floor"},/area/centcom/ferry) +"gN" = (/obj/structure/table/reinforced,/obj/item/weapon/tank/emergency_oxygen/engi,/obj/item/device/flashlight/flare,/turf/unsimulated/floor{icon_state = "floor"},/area/space) +"gO" = (/turf/unsimulated/floor{icon_state = "vault"; dir = 5},/area/space) +"gP" = (/obj/machinery/door/poddoor{id = "deathmechs"; name = "combat exosuit bay"},/turf/unsimulated/floor{icon_state = "vault"; dir = 5},/area/space) +"gQ" = (/obj/effect/landmark{name = "Emergencyresponseteam"},/turf/unsimulated/floor{icon_state = "vault"; dir = 5},/area/space) +"gR" = (/obj/structure/table/reinforced,/obj/item/clothing/mask/gas,/obj/item/device/flashlight/flare,/turf/unsimulated/floor{icon_state = "floor"},/area/space) +"gS" = (/turf/unsimulated/floor{tag = "icon-blue"; icon_state = "blue"; dir = 2; heat_capacity = 1},/area/space) "gT" = (/obj/machinery/door/airlock/shuttle,/obj/docking_port/mobile{dir = 8; dwidth = 2; height = 12; id = "ferry"; name = "ferry shuttle"; travelDir = 180; width = 5},/obj/docking_port/stationary{dir = 8; dwidth = 2; height = 12; id = "ferry_away"; name = "unknown"; turf_type = /turf/unsimulated/floor; width = 5},/turf/simulated/shuttle/floor,/area/space) "gU" = (/obj/machinery/door/airlock/external{name = "Ferry Airlock"; req_access_txt = "0"},/turf/unsimulated/floor{icon_state = "engine"},/area/centcom/ferry) "gV" = (/turf/unsimulated/floor{icon_state = "engine"},/area/centcom/ferry) "gW" = (/turf/unsimulated/floor{icon_state = "greencorner"; dir = 4},/area/centcom/ferry) "gX" = (/obj/structure/sign/securearea{desc = "A warning sign which reads 'EXTERNAL AIRLOCK'"; icon_state = "space"; layer = 4; name = "EXTERNAL AIRLOCK"; pixel_x = 0},/turf/unsimulated/wall,/area/centcom/evac) -"gY" = (/turf/unsimulated/floor{dir = 4; heat_capacity = 1; icon_state = "warning"},/area/centcom/ferry) -"gZ" = (/turf/simulated/shuttle/wall{icon_state = "swallc1"; dir = 2},/area/space) +"gY" = (/turf/unsimulated/floor{icon_state = "red"; dir = 2},/area/space) +"gZ" = (/turf/unsimulated/floor{tag = "icon-yellow"; icon_state = "yellow"; dir = 2},/area/space) "ha" = (/turf/unsimulated/wall/fakeglass{icon_state = "fakewindows"; dir = 5},/area/centcom/ferry) -"hb" = (/obj/machinery/door/airlock/centcom{name = "Transport Shuttle"; opacity = 1; req_access_txt = "109"},/turf/unsimulated/floor{icon_state = "floor"},/area/centcom/ferry) +"hb" = (/obj/structure/table/reinforced,/obj/item/clothing/mask/gas,/obj/item/weapon/soap/nanotrasen,/obj/item/weapon/tank/emergency_oxygen/engi,/turf/unsimulated/floor{icon_state = "floor"},/area/space) "hc" = (/obj/structure/flora/bush,/turf/unsimulated/floor{icon = 'icons/turf/snow.dmi'; icon_state = "snow"},/area/syndicate_mothership) -"hd" = (/obj/machinery/mech_bay_recharge_port,/turf/unsimulated/floor{icon_state = "floor"},/area/centcom/ferry) -"he" = (/obj/structure/table/reinforced,/obj/item/weapon/extinguisher,/obj/item/device/flash/handheld,/obj/item/weapon/tank/emergency_oxygen/engi,/turf/unsimulated/floor{icon_state = "floor"},/area/centcom/ferry) -"hf" = (/obj/structure/table/reinforced,/obj/item/weapon/extinguisher,/obj/item/device/flashlight/seclite,/turf/unsimulated/floor{icon_state = "floor"},/area/centcom/ferry) -"hg" = (/obj/structure/table/reinforced,/obj/item/clothing/mask/gas,/turf/unsimulated/floor{icon_state = "floor"},/area/centcom/ferry) -"hh" = (/obj/structure/table/reinforced,/obj/item/weapon/tank/emergency_oxygen/engi,/obj/item/device/flashlight/flare,/turf/unsimulated/floor{icon_state = "floor"},/area/centcom/ferry) +"hd" = (/obj/machinery/door/airlock/glass_large{name = "Medical Equipment"; req_access_txt = "104"},/turf/unsimulated/floor{icon_state = "floor"},/area/space) +"he" = (/obj/machinery/door/airlock/glass_large{name = "Security Equipment"; req_access = null; req_access_txt = "103"; req_one_access = null},/turf/unsimulated/floor{icon_state = "floor"},/area/space) +"hf" = (/obj/machinery/door/airlock/glass_large{name = "Engineering Equipment"; req_access_txt = "106"},/turf/unsimulated/floor{icon_state = "floor"},/area/space) +"hg" = (/obj/structure/table/reinforced,/obj/item/weapon/melee/baton/loaded{pixel_x = -3; pixel_y = 0},/obj/item/weapon/melee/baton/loaded{pixel_x = 4; pixel_y = 0},/obj/item/weapon/reagent_containers/hypospray/combat/nanites{pixel_x = 4},/obj/item/weapon/reagent_containers/hypospray/combat/nanites,/turf/unsimulated/floor{tag = "icon-blue (WEST)"; icon_state = "blue"; dir = 8},/area/space) +"hh" = (/obj/structure/table/reinforced,/obj/item/weapon/storage/belt/medical,/obj/item/clothing/glasses/hud/health{pixel_x = -2; pixel_y = -1},/obj/item/weapon/defibrillator/combatdefibrillator/loaded,/obj/item/weapon/storage/belt/medical,/obj/item/clothing/glasses/hud/health{pixel_x = -2; pixel_y = -1},/obj/item/weapon/defibrillator/combatdefibrillator/loaded,/turf/unsimulated/floor{tag = "icon-blue (EAST)"; icon_state = "blue"; dir = 4; heat_capacity = 1},/area/space) "hi" = (/turf/unsimulated/floor{name = "plating"},/turf/simulated/shuttle/wall{icon_state = "swall_f9"; dir = 2},/area/space) "hj" = (/turf/unsimulated/floor{icon_state = "greencorner"},/area/centcom/ferry) "hk" = (/obj/structure/stool/bed/chair{dir = 4},/turf/unsimulated/floor{icon_state = "greencorner"; dir = 8},/area/centcom/evac) -"hl" = (/obj/structure/reagent_dispensers/fueltank,/turf/unsimulated/floor{icon_state = "floor"},/area/centcom/ferry) +"hl" = (/obj/structure/table/reinforced,/obj/item/weapon/storage/box/emps,/obj/item/weapon/gun/energy/ionrifle{pin = /obj/item/device/firing_pin},/turf/unsimulated/floor{dir = 8; icon_state = "red"},/area/space) "hm" = (/turf/unsimulated/wall/fakeglass,/area/centcom/ferry) "hn" = (/obj/machinery/door/airlock/shuttle{name = "Emergency Shuttle Airlock"},/turf/simulated/shuttle/plating,/area/space) "ho" = (/obj/structure/extinguisher_cabinet{pixel_x = 0; pixel_y = -30},/turf/simulated/shuttle/floor,/area/space) -"hp" = (/obj/machinery/door/poddoor{id = "deathmechs"; name = "combat exosuit bay"},/turf/unsimulated/floor{icon_state = "vault"; dir = 5},/area/centcom/ferry) -"hq" = (/obj/effect/landmark{name = "Emergencyresponseteam"},/turf/unsimulated/floor{icon_state = "vault"; dir = 5},/area/centcom/ferry) -"hr" = (/obj/structure/table/reinforced,/obj/item/clothing/mask/gas,/obj/item/device/flashlight/flare,/turf/unsimulated/floor{icon_state = "floor"},/area/centcom/ferry) +"hp" = (/obj/structure/table/reinforced,/obj/item/weapon/gun/energy/pulse,/obj/item/weapon/shield/riot/tele{pixel_x = 3; pixel_y = -3},/obj/item/weapon/shield/riot/tele{pixel_x = 3; pixel_y = -3},/turf/unsimulated/floor{tag = "icon-red (EAST)"; icon_state = "red"; dir = 4; heat_capacity = 1},/area/space) +"hq" = (/obj/structure/table/reinforced,/obj/item/weapon/storage/belt/utility/full,/obj/item/clothing/glasses/meson,/obj/item/weapon/melee/baton/loaded,/turf/unsimulated/floor{tag = "icon-yellow (WEST)"; icon_state = "yellow"; dir = 8},/area/space) +"hr" = (/obj/structure/table/reinforced,/obj/item/stack/sheet/metal{amount = 50},/obj/item/stack/sheet/glass{amount = 50},/obj/item/device/multitool,/obj/item/weapon/rcd_ammo,/obj/item/weapon/rcd_ammo,/obj/item/weapon/rcd_ammo,/obj/item/weapon/rcd{matter = 200; name = "military rapid-construction-device (RCD)"},/obj/item/clothing/shoes/magboots,/turf/unsimulated/floor{tag = "icon-yellow (EAST)"; icon_state = "yellow"; dir = 4; heat_capacity = 1},/area/space) "hs" = (/turf/unsimulated/wall,/area/centcom/holding) -"ht" = (/obj/machinery/door/airlock/centcom{name = "ERT Ready Room"; opacity = 1; req_access_txt = "0"},/turf/unsimulated/floor{icon_state = "floor"},/area/centcom/ferry) +"ht" = (/obj/structure/table/reinforced,/obj/item/weapon/storage/box/bodybags,/obj/item/weapon/storage/box/syringes{pixel_x = -3; pixel_y = -3},/obj/item/weapon/gun/syringe/rapidsyringe,/turf/unsimulated/floor{tag = "icon-blue (WEST)"; icon_state = "blue"; dir = 8},/area/space) "hu" = (/obj/machinery/door/airlock/centcom{name = "Centcom"; opacity = 1; req_access_txt = "0"},/turf/unsimulated/floor{icon_state = "dark"},/area/centcom/evac) "hv" = (/obj/machinery/door/airlock/shuttle{name = "Emergency Shuttle Cargo"},/turf/simulated/shuttle/floor,/area/space) "hw" = (/obj/machinery/status_display,/turf/simulated/shuttle/wall{icon_state = "swall14"; dir = 2},/area/space) @@ -390,13 +390,13 @@ "hz" = (/turf/unsimulated/wall/fakeglass{icon_state = "fakewindows"; dir = 8},/area/centcom/ferry) "hA" = (/turf/unsimulated/wall/fakeglass{icon_state = "fakewindows2"; dir = 8},/area/centcom/ferry) "hB" = (/turf/unsimulated/wall/fakeglass{icon_state = "fakewindows"; dir = 4},/area/centcom/ferry) -"hC" = (/obj/mecha/combat/phazon,/turf/unsimulated/floor{icon_state = "recharge_floor"; name = "mech bay recharge floor"; tag = "icon-recharge_floor"},/area/centcom/ferry) -"hD" = (/turf/unsimulated/floor{tag = "icon-blue"; icon_state = "blue"; dir = 2; heat_capacity = 1},/area/centcom/ferry) -"hE" = (/obj/structure/table/reinforced,/obj/item/clothing/mask/gas,/obj/item/weapon/soap/nanotrasen,/obj/item/weapon/tank/emergency_oxygen/engi,/turf/unsimulated/floor{icon_state = "floor"},/area/centcom/ferry) -"hF" = (/obj/structure/table/reinforced,/obj/item/weapon/melee/baton/loaded{pixel_x = -3; pixel_y = 0},/obj/item/weapon/melee/baton/loaded{pixel_x = 4; pixel_y = 0},/obj/item/weapon/reagent_containers/hypospray/combat/nanites{pixel_x = 4},/obj/item/weapon/reagent_containers/hypospray/combat/nanites,/turf/unsimulated/floor{tag = "icon-blue (WEST)"; icon_state = "blue"; dir = 8},/area/centcom/ferry) -"hG" = (/obj/structure/table/reinforced,/obj/item/weapon/storage/belt/medical,/obj/item/clothing/glasses/hud/health{pixel_x = -2; pixel_y = -1},/obj/item/weapon/defibrillator/combatdefibrillator/loaded,/obj/item/weapon/storage/belt/medical,/obj/item/clothing/glasses/hud/health{pixel_x = -2; pixel_y = -1},/obj/item/weapon/defibrillator/combatdefibrillator/loaded,/turf/unsimulated/floor{tag = "icon-blue (EAST)"; icon_state = "blue"; dir = 4; heat_capacity = 1},/area/centcom/ferry) -"hH" = (/obj/structure/table/reinforced,/obj/item/weapon/storage/box/emps,/obj/item/weapon/gun/energy/ionrifle{pin = /obj/item/device/firing_pin},/turf/unsimulated/floor{dir = 8; icon_state = "red"},/area/centcom/ferry) -"hI" = (/turf/unsimulated/floor{icon_state = "vault"; dir = 5},/area/centcom/ferry) +"hC" = (/obj/structure/table/reinforced,/obj/item/weapon/storage/firstaid/regular{pixel_x = 3; pixel_y = 3},/obj/item/weapon/storage/firstaid/o2,/obj/item/weapon/storage/firstaid/toxin,/obj/item/weapon/storage/firstaid/fire,/obj/item/weapon/storage/firstaid/brute,/turf/unsimulated/floor{tag = "icon-blue (EAST)"; icon_state = "blue"; dir = 4; heat_capacity = 1},/area/space) +"hD" = (/obj/structure/table/reinforced,/obj/item/weapon/storage/box/handcuffs{pixel_x = 3; pixel_y = -3},/obj/item/weapon/storage/box/flashbangs{pixel_x = -4; pixel_y = -4},/obj/item/weapon/storage/box/handcuffs{pixel_x = 3; pixel_y = -3},/obj/item/weapon/storage/box/flashbangs{pixel_x = -4; pixel_y = -4},/turf/unsimulated/floor{dir = 8; icon_state = "red"},/area/space) +"hE" = (/obj/structure/table/reinforced,/obj/item/weapon/storage/belt/security,/obj/item/weapon/melee/baton/loaded,/obj/item/clothing/glasses/night,/obj/item/clothing/glasses/hud/security/sunglasses,/obj/item/weapon/storage/belt/security,/obj/item/weapon/melee/baton/loaded,/obj/item/clothing/glasses/night,/obj/item/clothing/glasses/hud/security/sunglasses,/turf/unsimulated/floor{tag = "icon-red (EAST)"; icon_state = "red"; dir = 4; heat_capacity = 1},/area/space) +"hF" = (/obj/structure/table/reinforced,/obj/item/stack/sheet/plasteel{amount = 50},/obj/item/stack/sheet/plasteel{amount = 50},/obj/item/stack/sheet/glass{amount = 50},/obj/item/stack/sheet/metal{amount = 50},/obj/item/stack/sheet/metal{amount = 50},/obj/item/weapon/storage/box/metalfoam,/obj/item/weapon/stock_parts/cell/high,/turf/unsimulated/floor{tag = "icon-yellow (WEST)"; icon_state = "yellow"; dir = 8},/area/space) +"hG" = (/obj/structure/table/reinforced,/obj/item/stack/sheet/metal{amount = 50},/obj/item/stack/sheet/glass{amount = 50},/obj/item/device/multitool,/obj/item/weapon/rcd_ammo,/obj/item/weapon/rcd_ammo,/obj/item/weapon/rcd_ammo,/obj/item/weapon/rcd{matter = 90; name = "military rapid-construction-device (RCD)"},/obj/item/clothing/shoes/magboots,/turf/unsimulated/floor{tag = "icon-yellow (EAST)"; icon_state = "yellow"; dir = 4; heat_capacity = 1},/area/space) +"hH" = (/turf/unsimulated/floor{name = "plating"},/obj/structure/shuttle/engine/propulsion{tag = "icon-propulsion (EAST)"; icon_state = "propulsion"; dir = 4},/turf/simulated/shuttle/wall{icon_state = "swall_f6"; dir = 2},/area/space) +"hI" = (/turf/simulated/shuttle/floor,/turf/simulated/shuttle/wall/interior{icon_state = "swall_f9"},/area/space) "hJ" = (/turf/simulated/shuttle/floor{icon_state = "floor2"},/area/space) "hK" = (/obj/structure/extinguisher_cabinet{pixel_x = 27; pixel_y = 0},/turf/simulated/shuttle/floor{icon_state = "floor2"},/area/space) "hL" = (/obj/machinery/sleeper{icon_state = "sleeper-open"; dir = 8},/turf/simulated/shuttle/floor{icon_state = "floor3"},/area/space) @@ -404,15 +404,15 @@ "hN" = (/turf/simulated/shuttle/wall{icon_state = "wall3"},/area/space) "hO" = (/obj/structure/grille,/obj/machinery/door/poddoor/shutters{id = "syndieshutters"; name = "blast shutters"},/obj/structure/window/reinforced/fulltile,/turf/simulated/shuttle/plating,/area/space) "hP" = (/turf/unsimulated/floor{icon = 'icons/turf/snow.dmi'; icon_state = "snow"},/turf/simulated/shuttle/wall{dir = 1; icon_state = "diagonalWall3"},/area/space) -"hQ" = (/obj/structure/table/reinforced,/obj/item/weapon/gun/energy/pulse,/obj/item/weapon/shield/riot/tele{pixel_x = 3; pixel_y = -3},/obj/item/weapon/shield/riot/tele{pixel_x = 3; pixel_y = -3},/turf/unsimulated/floor{tag = "icon-red (EAST)"; icon_state = "red"; dir = 4; heat_capacity = 1},/area/centcom/ferry) -"hR" = (/obj/structure/table/reinforced,/obj/item/weapon/storage/belt/utility/full,/obj/item/clothing/glasses/meson,/obj/item/weapon/melee/baton/loaded,/turf/unsimulated/floor{tag = "icon-yellow (WEST)"; icon_state = "yellow"; dir = 8},/area/centcom/ferry) -"hS" = (/obj/structure/table/reinforced,/obj/item/stack/sheet/metal{amount = 50},/obj/item/stack/sheet/glass{amount = 50},/obj/item/device/multitool,/obj/item/weapon/rcd_ammo,/obj/item/weapon/rcd_ammo,/obj/item/weapon/rcd_ammo,/obj/item/weapon/rcd{matter = 200; name = "military rapid-construction-device (RCD)"},/obj/item/clothing/shoes/magboots,/turf/unsimulated/floor{tag = "icon-yellow (EAST)"; icon_state = "yellow"; dir = 4; heat_capacity = 1},/area/centcom/ferry) -"hT" = (/obj/structure/table/reinforced,/obj/item/weapon/storage/box/bodybags,/obj/item/weapon/storage/box/syringes{pixel_x = -3; pixel_y = -3},/obj/item/weapon/gun/syringe/rapidsyringe,/turf/unsimulated/floor{tag = "icon-blue (WEST)"; icon_state = "blue"; dir = 8},/area/centcom/ferry) -"hU" = (/obj/structure/table/reinforced,/obj/item/weapon/storage/firstaid/regular{pixel_x = 3; pixel_y = 3},/obj/item/weapon/storage/firstaid/o2,/obj/item/weapon/storage/firstaid/toxin,/obj/item/weapon/storage/firstaid/fire,/obj/item/weapon/storage/firstaid/brute,/turf/unsimulated/floor{tag = "icon-blue (EAST)"; icon_state = "blue"; dir = 4; heat_capacity = 1},/area/centcom/ferry) -"hV" = (/obj/structure/table/reinforced,/obj/item/weapon/storage/box/handcuffs{pixel_x = 3; pixel_y = -3},/obj/item/weapon/storage/box/flashbangs{pixel_x = -4; pixel_y = -4},/obj/item/weapon/storage/box/handcuffs{pixel_x = 3; pixel_y = -3},/obj/item/weapon/storage/box/flashbangs{pixel_x = -4; pixel_y = -4},/turf/unsimulated/floor{dir = 8; icon_state = "red"},/area/centcom/ferry) -"hW" = (/obj/structure/table/reinforced,/obj/item/weapon/storage/belt/security,/obj/item/weapon/melee/baton/loaded,/obj/item/clothing/glasses/night,/obj/item/clothing/glasses/hud/security/sunglasses,/obj/item/weapon/storage/belt/security,/obj/item/weapon/melee/baton/loaded,/obj/item/clothing/glasses/night,/obj/item/clothing/glasses/hud/security/sunglasses,/turf/unsimulated/floor{tag = "icon-red (EAST)"; icon_state = "red"; dir = 4; heat_capacity = 1},/area/centcom/ferry) -"hX" = (/obj/structure/table/reinforced,/obj/item/stack/sheet/plasteel{amount = 50},/obj/item/stack/sheet/plasteel{amount = 50},/obj/item/stack/sheet/glass{amount = 50},/obj/item/stack/sheet/metal{amount = 50},/obj/item/stack/sheet/metal{amount = 50},/obj/item/weapon/storage/box/metalfoam,/obj/item/weapon/stock_parts/cell/high,/turf/unsimulated/floor{tag = "icon-yellow (WEST)"; icon_state = "yellow"; dir = 8},/area/centcom/ferry) -"hY" = (/obj/structure/table/reinforced,/obj/item/stack/sheet/metal{amount = 50},/obj/item/stack/sheet/glass{amount = 50},/obj/item/device/multitool,/obj/item/weapon/rcd_ammo,/obj/item/weapon/rcd_ammo,/obj/item/weapon/rcd_ammo,/obj/item/weapon/rcd{matter = 90; name = "military rapid-construction-device (RCD)"},/obj/item/clothing/shoes/magboots,/turf/unsimulated/floor{tag = "icon-yellow (EAST)"; icon_state = "yellow"; dir = 4; heat_capacity = 1},/area/centcom/ferry) +"hQ" = (/turf/unsimulated/floor{name = "plating"},/obj/structure/shuttle/engine/propulsion{tag = "icon-propulsion (EAST)"; icon_state = "propulsion"; dir = 4},/turf/simulated/shuttle/wall{icon_state = "swall_f5"; dir = 2},/area/space) +"hR" = (/obj/machinery/door/airlock/centcom{name = "Transport Shuttle"; opacity = 1; req_access_txt = "101"},/turf/unsimulated/floor{icon_state = "floor"},/area/centcom/ferry) +"hS" = (/obj/machinery/door/airlock/centcom{name = "briefing room"; opacity = 1; req_access_txt = "101"},/turf/unsimulated/floor{icon_state = "dark"},/area/centcom/ferry) +"hT" = (/obj/structure/sink{dir = 8; icon_state = "sink"; pixel_x = -10; tag = "icon-sink (WEST)"},/turf/unsimulated/floor{icon_state = "dark"},/area/centcom/ferry) +"hU" = (/turf/unsimulated/floor{icon_state = "dark"},/area/centcom/ferry) +"hV" = (/obj/structure/dresser,/obj/structure/mirror{pixel_x = 0; pixel_y = 30},/turf/unsimulated/floor{icon_state = "dark"},/area/centcom/ferry) +"hW" = (/obj/structure/closet/secure_closet/ertCom,/turf/unsimulated/floor{icon_state = "dark"},/area/centcom/ferry) +"hX" = (/obj/structure/stool/bed/chair/office/dark{dir = 8},/turf/unsimulated/floor{icon_state = "dark"},/area/centcom/ferry) +"hY" = (/obj/structure/table/reinforced,/obj/item/weapon/paper_bin{pixel_x = -3; pixel_y = 5},/obj/item/weapon/pen/blue,/turf/unsimulated/floor{dir = 8; icon_state = "vault"},/area/centcom/ferry) "hZ" = (/turf/unsimulated/wall,/area/tdome/tdomeobserve) "ia" = (/turf/unsimulated/wall/fakeglass{icon_state = "fakewindows"; dir = 9},/area/tdome/tdomeobserve) "ib" = (/turf/unsimulated/wall/fakeglass{icon_state = "fakewindows"; dir = 4},/area/tdome/tdomeobserve) @@ -431,7 +431,8 @@ "io" = (/turf/unsimulated/wall/fakeglass{icon_state = "fakewindows"; dir = 4},/area/syndicate_mothership) "ip" = (/turf/unsimulated/floor{icon = 'icons/turf/snow.dmi'; icon_state = "snow"},/obj/structure/flora/grass/both,/turf/unsimulated/floor{icon = 'icons/turf/snow.dmi'; icon_state = "gravsnow_corner"},/area/syndicate_mothership) "iq" = (/turf/unsimulated/floor{icon = 'icons/turf/snow.dmi'; icon_state = "snow"},/obj/structure/flora/tree/pine,/turf/unsimulated/floor{icon = 'icons/turf/snow.dmi'; icon_state = "gravsnow_corner"},/area/syndicate_mothership) -"ir" = (/obj/machinery/door/airlock/glass_large{name = "Medical Equipment"; req_access_txt = "104"},/turf/unsimulated/floor{icon_state = "floor"},/area/centcom/ferry) +"ir" = (/obj/effect/landmark{name = "Emergencyresponseteam"},/turf/unsimulated/floor{icon_state = "dark"},/area/centcom/ferry) +"is" = (/obj/structure/closet/secure_closet/ertMed,/turf/unsimulated/floor{tag = "icon-darkblue (EAST)"; icon_state = "darkblue"; dir = 4},/area/centcom/ferry) "it" = (/obj/structure/table,/turf/unsimulated/floor{icon_state = "floor"},/area/tdome/tdomeobserve) "iu" = (/turf/unsimulated/floor{icon_state = "floor"},/area/tdome/tdomeobserve) "iv" = (/turf/unsimulated/wall/fakeglass,/area/tdome/tdomeobserve) @@ -448,6 +449,17 @@ "iG" = (/turf/unsimulated/floor{icon = 'icons/turf/snow.dmi'; icon_state = "snow"},/turf/unsimulated/floor{icon = 'icons/turf/snow.dmi'; icon_state = "gravsnow_corner"; dir = 4},/area/syndicate_mothership) "iH" = (/obj/item/weapon/storage/fancy/crayons,/obj/structure/table,/obj/item/weapon/storage/fancy/crayons,/turf/unsimulated/floor{icon_state = "freezerfloor"; dir = 2},/area/syndicate_mothership) "iI" = (/obj/machinery/washing_machine,/turf/unsimulated/floor{icon_state = "freezerfloor"; dir = 2},/area/syndicate_mothership) +"iJ" = (/obj/structure/reagent_dispensers/water_cooler,/turf/unsimulated/floor{icon_state = "dark"},/area/centcom/ferry) +"iK" = (/obj/structure/table/reinforced,/turf/unsimulated/floor{dir = 8; icon_state = "vault"},/area/centcom/ferry) +"iL" = (/obj/structure/closet/secure_closet/ertEngi,/obj/structure/extinguisher_cabinet{pixel_x = 28},/turf/unsimulated/floor{tag = "icon-darkbrown (EAST)"; icon_state = "darkbrown"; dir = 4},/area/centcom/ferry) +"iM" = (/obj/machinery/vending/cigarette{products = list(/obj/item/weapon/storage/fancy/cigarettes/cigpack_syndicate = 7, /obj/item/weapon/storage/fancy/cigarettes/cigpack_uplift = 3, /obj/item/weapon/storage/fancy/cigarettes/cigpack_robust = 2, /obj/item/weapon/storage/fancy/cigarettes/cigpack_carp = 3, /obj/item/weapon/storage/fancy/cigarettes/cigpack_midori = 1, /obj/item/weapon/storage/box/matches = 10, /obj/item/weapon/lighter/random = 4, /obj/item/weapon/storage/fancy/rollingpapers = 5)},/turf/unsimulated/floor{icon_state = "dark"},/area/centcom/ferry) +"iN" = (/obj/structure/sign/map/left,/turf/unsimulated/floor{tag = "icon-light_on"; icon_state = "light_on"},/area/centcom/ferry) +"iO" = (/obj/structure/sign/map/right,/turf/unsimulated/floor{tag = "icon-light_on"; icon_state = "light_on"},/area/centcom/ferry) +"iP" = (/obj/structure/closet/secure_closet/ertSec,/turf/unsimulated/floor{tag = "icon-darkred (EAST)"; icon_state = "darkred"; dir = 4},/area/centcom/ferry) +"iQ" = (/obj/machinery/vending/coffee,/turf/unsimulated/floor{icon_state = "dark"},/area/centcom/ferry) +"iR" = (/obj/structure/table/reinforced,/obj/item/clothing/mask/gas,/obj/item/clothing/mask/gas,/obj/item/clothing/mask/gas,/obj/item/clothing/mask/gas,/obj/item/clothing/mask/gas,/obj/item/clothing/mask/gas,/obj/item/clothing/mask/gas,/turf/unsimulated/floor{icon_state = "dark"},/area/centcom/ferry) +"iS" = (/obj/structure/table/wood,/obj/item/weapon/storage/box/drinkingglasses,/turf/unsimulated/floor{icon_state = "dark"},/area/centcom/ferry) +"iT" = (/obj/structure/table/reinforced,/obj/item/weapon/storage/box/syringes,/obj/item/weapon/gun/syringe/rapidsyringe,/turf/unsimulated/floor{icon_state = "dark"},/area/centcom/ferry) "iU" = (/obj/structure/stool/bed/chair/office/dark{dir = 4},/turf/unsimulated/floor{icon_state = "floor"},/area/tdome/tdomeobserve) "iV" = (/obj/structure/table/reinforced,/turf/unsimulated/floor{icon_state = "floor"},/area/tdome/tdomeobserve) "iW" = (/obj/structure/stool/bed/chair/office/dark{dir = 8},/turf/unsimulated/floor{icon_state = "floor"},/area/tdome/tdomeobserve) @@ -470,6 +482,7 @@ "jn" = (/obj/item/device/paicard,/turf/unsimulated/floor{icon_state = "grimy"},/area/syndicate_mothership) "jo" = (/obj/structure/stool/bed/chair/comfy/teal,/turf/unsimulated/floor{icon_state = "grimy"},/area/syndicate_mothership) "jp" = (/obj/structure/bookcase,/obj/item/weapon/book/manual/wiki/engineering_hacking,/obj/item/weapon/book/manual/robotics_cyborgs,/obj/item/weapon/book/manual/engineering_singularity_safety,/obj/item/weapon/book/manual/detective,/turf/unsimulated/floor{icon_state = "grimy"},/area/syndicate_mothership) +"jq" = (/obj/structure/table/wood,/obj/item/weapon/reagent_containers/food/drinks/bottle/rum,/obj/item/weapon/reagent_containers/food/drinks/bottle/tequilla,/obj/item/weapon/reagent_containers/food/drinks/bottle/vodka{pixel_x = -5},/obj/item/weapon/reagent_containers/food/drinks/bottle/whiskey{pixel_x = 5},/turf/unsimulated/floor{icon_state = "dark"},/area/centcom/ferry) "jr" = (/turf/unsimulated/wall/fakeglass{icon_state = "fakewindows2"; dir = 6},/area/tdome/tdomeobserve) "js" = (/obj/structure/lattice,/turf/space/transit,/area/wizard_station) "jt" = (/obj/item/weapon/shard{color = "#008000"},/turf/unsimulated/floor{tag = "icon-cultdamage5"; icon_state = "cultdamage5"},/area/wizard_station) @@ -486,8 +499,11 @@ "jE" = (/mob/living/simple_animal/hostile/retaliate/bat{desc = "A Syndicate experiment in weaponized space carp technology. Its fangs seem to have been intentionally dulled down to prevent accidents."; faction = list("syndicate"); harm_intent_damage = 5; health = 50; icon_dead = "carp_dead"; icon_gib = "carp_gib"; icon_living = "carp"; icon_state = "carp"; name = "Cayenne"; real_name = "Cayenne"; response_disarm = "lightly brushes aside"; response_help = "pets"},/turf/unsimulated/floor{icon_state = "bar"; dir = 2},/area/syndicate_mothership) "jF" = (/obj/machinery/door/airlock/centcom{name = "Study"; opacity = 1; req_access_txt = "150"},/turf/unsimulated/floor{icon_state = "bar"; dir = 2},/area/syndicate_mothership) "jG" = (/turf/unsimulated/floor{icon_state = "grimy"},/area/syndicate_mothership) -"jK" = (/turf/unsimulated/floor{icon_state = "red"; dir = 2},/area/centcom/ferry) -"jN" = (/turf/unsimulated/floor{tag = "icon-yellow"; icon_state = "yellow"; dir = 2},/area/centcom/ferry) +"jH" = (/obj/structure/closet/secure_closet/ertMed,/turf/unsimulated/floor{tag = "icon-darkblue"; icon_state = "darkblue"; dir = 2},/area/centcom/ferry) +"jI" = (/obj/structure/closet/secure_closet/ertSec,/turf/unsimulated/floor{tag = "icon-darkred"; icon_state = "darkred"; dir = 2},/area/centcom/ferry) +"jJ" = (/obj/structure/closet/secure_closet/ertEngi,/obj/structure/extinguisher_cabinet{pixel_y = -28},/turf/unsimulated/floor{tag = "icon-darkbrown"; icon_state = "darkbrown"; dir = 2},/area/centcom/ferry) +"jK" = (/obj/structure/table/reinforced,/obj/item/weapon/storage/box/emps,/obj/item/weapon/gun/energy/ionrifle,/turf/unsimulated/floor{icon_state = "dark"},/area/centcom/ferry) +"jL" = (/obj/structure/table/reinforced,/obj/item/weapon/c4,/obj/item/weapon/c4{pixel_x = 7},/turf/unsimulated/floor{icon_state = "dark"},/area/centcom/ferry) "jP" = (/turf/unsimulated/floor{dir = 8; icon_state = "red"},/area/tdome/tdomeobserve) "jQ" = (/turf/unsimulated/floor{icon_state = "green"; dir = 4},/area/tdome/tdomeobserve) "jR" = (/turf/unsimulated/floor{dir = 10; icon_state = "green"},/area/centcom/evac) @@ -508,8 +524,6 @@ "kg" = (/obj/machinery/computer/telecrystals/uplinker,/turf/unsimulated/floor{tag = "icon-podhatch (NORTHWEST)"; icon_state = "podhatch"; dir = 9},/area/syndicate_mothership) "kh" = (/obj/structure/dresser,/turf/unsimulated/floor{icon_state = "grimy"},/area/syndicate_mothership) "ki" = (/obj/structure/table/wood,/obj/item/weapon/clipboard,/obj/item/weapon/pen,/turf/unsimulated/floor{icon_state = "grimy"},/area/syndicate_mothership) -"kj" = (/obj/machinery/door/airlock/glass_large{name = "Security Equipment"; req_access = null; req_access_txt = "103"; req_one_access = null},/turf/unsimulated/floor{icon_state = "floor"},/area/centcom/ferry) -"kk" = (/obj/machinery/door/airlock/glass_large{name = "Engineering Equipment"; req_access_txt = "106"},/turf/unsimulated/floor{icon_state = "floor"},/area/centcom/ferry) "kl" = (/turf/unsimulated/floor{icon_state = "red"; dir = 10},/area/tdome/tdomeobserve) "km" = (/turf/unsimulated/floor{icon_state = "red"; dir = 2},/area/tdome/tdomeobserve) "kn" = (/turf/unsimulated/floor{icon_state = "green"},/area/tdome/tdomeobserve) @@ -525,7 +539,6 @@ "ky" = (/obj/structure/table/wood,/obj/item/weapon/reagent_containers/food/snacks/mushroompizzaslice,/turf/unsimulated/floor{icon_state = "bar"; dir = 2},/area/syndicate_mothership) "kz" = (/obj/structure/table/wood,/obj/item/weapon/reagent_containers/food/drinks/beer{pixel_x = 5; pixel_y = -2; step_x = 0},/obj/item/toy/cards/deck/syndicate{icon_state = "deck_syndicate_full"; pixel_x = -6; pixel_y = 6},/turf/unsimulated/floor{icon_state = "bar"; dir = 2},/area/syndicate_mothership) "kA" = (/obj/machinery/computer/telecrystals/uplinker,/turf/unsimulated/floor{tag = "icon-podhatch (WEST)"; icon_state = "podhatch"; dir = 8},/area/syndicate_mothership) -"kB" = (/obj/mecha/combat/marauder{operation_req_access = null},/turf/unsimulated/floor{icon_state = "recharge_floor"; name = "mech bay recharge floor"; tag = "icon-recharge_floor"},/area/centcom/ferry) "kI" = (/turf/unsimulated/wall/fakeglass{color = "#008000"; dir = 6; icon_state = "fakewindows2"},/area/wizard_station) "kJ" = (/obj/effect/forcefield,/obj/structure/door_assembly{anchored = 1; icon_state = "door_as_uranium1"; name = "Bridge"},/turf/unsimulated/floor{tag = "icon-cult"; icon_state = "cult"},/area/wizard_station) "kK" = (/turf/unsimulated/wall/normal{tag = "icon-uranium6"; icon_state = "uranium6"},/area/wizard_station) @@ -545,8 +558,6 @@ "kZ" = (/obj/machinery/computer/telecrystals/uplinker,/turf/unsimulated/floor{tag = "icon-podhatch (SOUTHWEST)"; icon_state = "podhatch"; dir = 10},/area/syndicate_mothership) "la" = (/obj/structure/urinal{pixel_y = 28},/turf/unsimulated/floor{icon_state = "freezerfloor"; dir = 2},/area/syndicate_mothership) "lb" = (/obj/structure/toilet{pixel_y = 8},/obj/structure/window/reinforced/tinted{dir = 8; icon_state = "twindow"},/obj/machinery/door/window{name = "Tactical Toilet"; opacity = 1},/turf/unsimulated/floor{icon_state = "freezerfloor"; dir = 2},/area/syndicate_mothership) -"lc" = (/obj/structure/table/reinforced,/obj/item/mecha_parts/mecha_equipment/anticcw_armor_booster,/obj/item/mecha_parts/mecha_equipment/antiproj_armor_booster,/obj/item/mecha_parts/mecha_equipment/tesla_energy_relay,/obj/item/mecha_parts/mecha_equipment/repair_droid,/obj/item/weapon/weldingtool/largetank,/turf/unsimulated/floor{icon_state = "floor"},/area/centcom/ferry) -"ld" = (/obj/structure/table/reinforced,/obj/item/mecha_parts/mecha_equipment/weapon/energy/ion,/obj/item/mecha_parts/mecha_equipment/weapon/energy/pulse,/turf/unsimulated/floor{icon_state = "floor"},/area/centcom/ferry) "lh" = (/turf/simulated/shuttle/wall{icon_state = "swall0"; dir = 2},/area/wizard_station) "li" = (/turf/unsimulated/wall/fakedoor{name = "Squad 4 Pod"},/area/wizard_station) "lj" = (/turf/simulated/shuttle/wall{icon_state = "swall4"; dir = 2},/area/wizard_station) @@ -931,13 +942,13 @@ abababababababababababababababababababababababababababababababababababababababab abababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababcWcJdIdfcOdJdKcDcXabababababababababababababababababababababababababababababababababababababdwdGdHdHdHdHdHdGdwababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababab ababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababcBdzcVdLcVdIcBababababababababababababababababababababababababababababababababababababababdwdGdHdHdHdHdHdMdNababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababab ababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababcBdOdPdQdRdScBababababababababababababababababababababababababababababababababababababababdwdGdHdHdHdHdHdTdwababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababab -ababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababcWdsdsdsdsdscXababababababababababababababababababababababababababababababababababababababdwdGdHdHdHdHdUdGdwababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababab -abababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababdwdGdHdHdHdHdHdVdwababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababab -abababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababdwdGdHdHdHdHdHdWdNababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababab -abababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababdwdGdHdHdHdHdHdGdwababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababab -abababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababdwdXeBdHdHdHeGeadwababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababab -abababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababdwebecedededeceedwababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababab -abababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababdwdwefegegegehdwdwababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababab +ababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababcWdsdsdsdsdscXabababababababababababaDfRfDgnfTgpgpgpgpgpgpgCgBgNgpgpgOgpabababababababababdwdGdHdHdHdHdUdGdwababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababab +ababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababgPgOgOgOgQgQgQgQgQgQgQgOgOgOgOgOgOgRabababababababababdwdGdHdHdHdHdHdVdwababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababab +ababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababaDgpgSgSgpgpgpgYgYgpgpgpgZgZgpgpgBhbabababababababababdwdGdHdHdHdHdHdWdNababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababab +ababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababaDaDhdgpaDaDaDhegpaDaDaDhfgpaDaDaDaDabababababababababdwdGdHdHdHdHdHdGdwababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababab +ababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababaDhggpgphhaDhlgpgphpaDhqgpgphraDabababababababababababdwdXeBdHdHdHeGeadwababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababab +ababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababaDhtgpgphCaDhDgpgphEaDhFgpgphGaDabababababababababababdwebecedededeceedwababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababab +ababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababaDaDaDaDaDaDaDaDaDaDaDaDaDaDaDaDabababababababababababdwdwefegegegehdwdwababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababab ababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababdwdwdwdwdwdwdwabababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababab ababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababab ababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababab @@ -953,25 +964,25 @@ abababababababababababababababababababababababababababababababababababababababab ababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababfhfhfhfhfhababeiePeQfifjeieoekfkflfmfnekababdGfofofoezfpdHfqfrfsezabababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababab ababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababfhftfufvfhaDeieifweieieieieiekeJeJeJeJfxfyfzdGfAfBfBfCdHdHdHdHfqdGabababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababab ababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababfhfEfFfFfhfGfHemfIfIfIfIfHfJekeJeJeJeJfKfLfKfMfBfNfNezfOfPfQdHfqezabababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababab -abababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababfhfhfhfhfhfhfhfhfhfhfhfhfhfhfhfhfhfhfhfhfhfhfhfUfhfhfJfVemfWfXfYfIfVfJekfxfzfZfxfyfyfzdXdBdBdBgafQfQfQdHfqdGabababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababab -abababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababfhlcldfDfSfSfSfhgbgbgbgbgbgbgbgbgbgbgbgbgbgcgdfSgefhfJfVgfemememggfVfJekghgigigjfKfLfKgkdHgldHdHdHdHdHdHgmdGabababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababab -ababababababababababaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabababababababababababababababababababababababababababababababababababababababababababababababababababababababababgAfSfSgYfShIfSfhgbgCdBdBgqdBdBdBezdBdBgrgsgtgdgugefhfJfVexemememeygvfJekghgigigjfxfyfzdGfPdHgwgxdHgwgxdHgydGabababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababab -ababababababababababaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaababababababgzgzgzgzgzgzgzgzgzgzgzgzgzgzgzgzgzgzgzgzgzgzgzgzgzgzgzgzgzgzabababababababababababababababababababababfhhdkBgYfShIfRfhfTgaeNgDgEgEgEgEgEgEgEgqgFgGgdgugefhfJgvexemememeseieQekgHgigigjekababezfPdHgwgxdHgwgxdHgyezabababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababab -ababababababababababaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaababababababgzgIgIgIgIgIgIgIgIgIgJgIgIgIgKgLgIgIgIgKgIgIgIgIgIgIgKgIgIgzabababababababababababababababababababababfhfhfhfhfShIhIgngodHdHdHdHdHdHdHdHdHdHgTgUgVgdgugWfhgAfherememememememgigigigigjgXababezfPdHgwgxdHgwgxdHgyezabababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababab -ababababababababababaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaababababababgzgIgIgIgIgJgIgIgIgIgIgIgIgIgIgIgIgKgIgIgIgIgIgKgIgIgIgIgIgzabababababababababababababababababababababfhlcldgpfShIfSfhgBgZgMgMeDeDeDeDeDeDeDgqgFhagdgufShbfSfSemememememememgigigigigjekababezfPdHgwgxdHgwgxdHgyezabababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababab -ababababababababababaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaababababababgzgIgIgIgIgIgIgIhcgIgIgIgIgIgJgIgIgLgKgIgIgKgIgIgKgLgIgKgIgzabababababababababababababababababababababgAfSfSgYfShIhlfhgbgCdBdBgqdBdBdBezdBdBhigsgtgdguhjfhgAfhgfemememggeieQekhkgigigjfxfyfzdGfPdHgwgxdHgwgxdHgydGabababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababab -ababababababababababaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaababababababgzgIgIgIgIgIgIgIgIgIgIgIgIgIgIgIgIgIgIgJgIgIgKgLgIgIgKgIgLgzabababababababababababababababababababababfhhdgNgYfShIfSfhgbgbgbgbgbgbgbgbgbgbgbgbgbhmgdfSgefhfJfHevemememewfHfJekghgigigjfKfLfKhndHhodHdHdHdHdHdHgmdGabababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababab -ababababababababababaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaababababababgzgIgIgIgIgIgIgIgIgIgIgIgIgIgIgIgJgIgIgIgIgIgLgIgKgLgIgKgIgzabababababababababababababababababababababfhfhfhfhfShIfSfhfhfhfhfhhzhAhAhAhBfhfhfhfhfhfhhtfhfhfJfVevemememewfVfJekfxfzhufxfyfyfzdXdBdBhvdBhwezhxezezeaabababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababab -ababababababababababaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaababababababgzgIgIgIgIgIgIhyhyhyhyhyhyhygIgIgIgIgIgIgIgKgIgIhcgLgIgIgIgzabababababababababababababababababababababfhlcldgOfShIgPfhgRgQhegSfSfSfSfSfSfShghfhhfSfShIfSfhfJgvevemememewgvfJekgigigigjfKfLfKhnhJhJhJhKdGfrfqfqhLezabababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababab -ababababababababababaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaababababababgzgIgIgIgIgIhMhNhOhOhOhOhOhNhPgIgIgIgIhcgIhygJhygJgIgKgIgKgzabababababababababababababababababababababgAfSfSgYfShIhIhphIhIhIhqhqhqhqhqhqhqhIhIhIhIhIhIhrfhhZhZiaibicidiehZhZekgigigigjfxfyfzdGhJhJhJhJdGfqfqfqifdGabababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababab -ababababababababababaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaababababababgzgIgIgIgIgIhNigihiiijikililhNimgIgIhygzgziniogzgzhyipiqhygzabababababababababababababababababababababfhhdhCgYfSfSfSfhfShDhDfSfSfSjKjKfSfSfSjNjNfSfShfhEfhitiuiviwixiyiviuiuekgiiziAiBekababdGiCiCiDiDdGfrfqfqhLezabababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababab -ababababababababababaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaababababababgzgIgIgIgIgIhNiEihihiFihihihhNimgIiGgzgziHiIiIiHgzgzgzgzgzgzgzgzabababababababababababababababababababfhfhfhfhfhfhfhfhfhirfSfhfhfhkjfSfhfhfhkkfSfhfhfhfhfhiuiUiViwixiyiViWiuekgiiXiYiZekababebfeedededededededfeeeabababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababab -ababababababababababaaaaaaaaaaaaaaaaaaaaaaaaaaaaaajajbjcjdaaaaaaaaaaaaaaaaaaaaaaababababababgzgIgIgIgIgIhNjeihihihjfihjghNimhciGgzjhjijijijijjjkjljmjnjojpgzababababababababababababababababababababababababababfhhFfSfShGfhhHfSfShQfhhRfSfShSfhababhZjriujriwixiyjriujrekgigigigiekabababebegegegegegegegeeababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababab -ababababababababababaaaaaaaaaaaaaaaaaaaaaaaaaajsaajtjujvjwjxaaaaaaaaaaaaaaaaaaaaababababababgzgIgIgIgIgIjyhNhNhNjzhNhNhNjAgIgIjBgzjCjijDjDjEjijijijFjGjGjGgzababababababababababababababababababababababababababfhhTfSfShUfhhVfSfShWfhhXfSfShYfhababhZjPiuiuiwixiyiuiujQekjRjSjSjTekababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababab -ababababababababababaaaaaaaaaaaaaaaaaaaaaaaaaajsjUjVjWjvjXjYaaaaaaaaaaaaaaaaaaaaababababababgzgIgIgIgIgIgIgIhNjZihkahNkbhyhyhykcgzjijDkdkejDjikfkgjmkhkigzgzababababababababababababababababababababababababababfhfhfhfhfhfhfhfhfhfhfhfhfhfhfhfhababhZklkmkmiwixiyknknkoekekkpekekekababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababab -ababababababababababaaaaaaaaaaaaaaaaaaaaaaaaaajYkqlGjXksktjYaaaaaaaaaaaaaaaaaaaaababababababgzgIgIgIgIgIgIgIhNkuihkvhNkwkxkxkxiogzjijDkykzjDjikfkAgzgzgzgzabababababababababababababababababababababababababababababababababababababababababababababhZhZhZhZhZixhZhZhZhZekeoeoeoeoekababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababab +ababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababfhfhfhfhfhfhfhfhfhfhfhfhfhfhfhfhfUfhfhfJfVemfWfXfYfIfVfJekfxfzfZfxfyfyfzdXdBdBdBgafQfQfQdHfqdGabababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababab +ababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababfhgbgbgbgbgbgbgbgbgbgbgbgbgbgcgdfSgefhfJfVgfemememggfVfJekghgigigjfKfLfKgkdHgldHdHdHdHdHdHgmdGabababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababab +ababababababababababaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababfhgbhHdBdBgqdBdBdBezdBdBgrgsgtgdgugefhfJfVexemememeygvfJekghgigigjfxfyfzdGfPdHgwgxdHgwgxdHgydGabababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababab +ababababababababababaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaababababababgzgzgzgzgzgzgzgzgzgzgzgzgzgzgzgzgzgzgzgzgzgzgzgzgzgzgzgzgzgzababababababababababababababababababababababababababababfhhHhIeNgDgEgEgEgEgEgEgEgqgFgGgdgugefhfJgvexemememeseieQekgHgigigjekababezfPdHgwgxdHgwgxdHgyezabababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababab +ababababababababababaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaababababababgzgIgIgIgIgIgIgIgIgIgJgIgIgIgKgLgIgIgIgKgIgIgIgIgIgIgKgIgIgzababababababababababababababababababababababababababababfhgodHdHdHdHdHdHdHdHdHdHgTgUgVgdgugWfhgAfherememememememgigigigigjgXababezfPdHgwgxdHgwgxdHgyezabababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababab +ababababababababababaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaababababababgzgIgIgIgIgJgIgIgIgIgIgIgIgIgIgIgIgKgIgIgIgIgIgKgIgIgIgIgIgzababababababababababababababababababababababababababababfhhQeBgMgMeDeDeDeDeDeDeDgqgFhagdgufShRfSfSemememememememgigigigigjekababezfPdHgwgxdHgwgxdHgyezabababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababab +ababababababababababaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaababababababgzgIgIgIgIgIgIgIhcgIgIgIgIgIgJgIgIgLgKgIgIgKgIgIgKgLgIgKgIgzababababababababababababababababababababababababababababfhgbhQdBdBgqdBdBdBezdBdBhigsgtgdguhjfhgAfhgfemememggeieQekhkgigigjfxfyfzdGfPdHgwgxdHgwgxdHgydGabababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababab +ababababababababababaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaababababababgzgIgIgIgIgIgIgIgIgIgIgIgIgIgIgIgIgIgIgJgIgIgKgLgIgIgKgIgLgzababababababababababababababababababababababababababababfhgbgbgbgbgbgbgbgbgbgbgbgbgbhmgdfSgefhfJfHevemememewfHfJekghgigigjfKfLfKhndHhodHdHdHdHdHdHgmdGabababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababab +ababababababababababaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaababababababgzgIgIgIgIgIgIgIgIgIgIgIgIgIgIgIgJgIgIgIgIgIgLgIgKgLgIgKgIgzababababababababababababababababababababababababababababfhfhfhfhfhfhfhhzhAhAhBfhfhfhfhfhhSfhfhfJfVevemememewfVfJekfxfzhufxfyfyfzdXdBdBhvdBhwezhxezezeaabababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababab +ababababababababababaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaababababababgzgIgIgIgIgIgIhyhyhyhyhyhyhygIgIgIgIgIgIgIgKgIgIhcgLgIgIgIgzabababababababababababababababababababababababababababababababfhhThVhUhUhUhUhUhUhWhYhXhUhUhUfhfJgvevemememewgvfJekgigigigjfKfLfKhnhJhJhJhKdGfrfqfqhLezabababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababab +ababababababababababaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaababababababgzgIgIgIgIgIhMhNhOhOhOhOhOhNhPgIgIgIgIhcgIhygJhygJgIgKgIgKgzabababababababababababababababababababababababababababababababfhhUhUhUhUirirhUhUhUhUhUhUhUisfhhZhZiaibicidiehZhZekgigigigjfxfyfzdGhJhJhJhJdGfqfqfqifdGabababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababab +ababababababababababaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaababababababgzgIgIgIgIgIhNigihiiijikililhNimgIgIhygzgziniogzgzhyipiqhygzabababababababababababababababababababababababababababababababfhiJhUhUiKiKiKiKhUhUhUhUhUhUiLfhitiuiviwixiyiviuiuekgiiziAiBekababdGiCiCiDiDdGfrfqfqhLezabababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababab +ababababababababababaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaababababababgzgIgIgIgIgIhNiEihihiFihihihhNimgIiGgzgziHiIiIiHgzgzgzgzgzgzgzgzabababababababababababababababababababababababababababababfhiMhUiriKiNiOiKirhUhUhUhUhUiPfhiuiUiViwixiyiViWiuekgiiXiYiZekababebfeedededededededfeeeabababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababab +ababababababababababaaaaaaaaaaaaaaaaaaaaaaaaaaaaaajajbjcjdaaaaaaaaaaaaaaaaaaaaaaababababababgzgIgIgIgIgIhNjeihihihjfihjghNimhciGgzjhjijijijijjjkjljmjnjojpgzabababababababababababababababababababababababababababababfhiQhUiriKiKiKiKhUhUhUhUhUhUiRfhjriujriwixiyjriujrekgigigigiekabababebegegegegegegegeeababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababab +ababababababababababaaaaaaaaaaaaaaaaaaaaaaaaaajsaajtjujvjwjxaaaaaaaaaaaaaaaaaaaaababababababgzgIgIgIgIgIjyhNhNhNjzhNhNhNjAgIgIjBgzjCjijDjDjEjijijijFjGjGjGgzabababababababababababababababababababababababababababababfhiShUhUhUirirhUhUhUhUhUhUhUiTfhjPiuiuiwixiyiuiujQekjRjSjSjTekababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababab +ababababababababababaaaaaaaaaaaaaaaaaaaaaaaaaajsjUjVjWjvjXjYaaaaaaaaaaaaaaaaaaaaababababababgzgIgIgIgIgIgIgIhNjZihkahNkbhyhyhykcgzjijDkdkejDjikfkgjmkhkigzgzabababababababababababababababababababababababababababababfhjqhUhUhUhUhUhUhUjHjJjIjKiTjLfhklkmkmiwixiyknknkoekekkpekekekababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababab +ababababababababababaaaaaaaaaaaaaaaaaaaaaaaaaajYkqlGjXksktjYaaaaaaaaaaaaaaaaaaaaababababababgzgIgIgIgIgIgIgIhNkuihkvhNkwkxkxkxiogzjijDkykzjDjikfkAgzgzgzgzababababababababababababababababababababababababababababababfhfhfhfhfhfhfhfhfhfhfhfhfhfhfhfhhZhZhZhZixhZhZhZhZekeoeoeoeoekababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababab ababababababababababaaaaaaaaaaaaaaaaaaaaaaaaaajwjxkIkJkIkKkLaaaaaaaaaaaaaaaaaaaaababababababgzgIgIhMhNhNhNhNhNkuihkvhNkMkNkNkNkNkOjijijijijijikfkAgzgzgzgzabababababababababababababababababababababababababababababababababababababababababababababababababhZixhZkQkQkQeoeoeoeoeoekababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababab -ababababababababababaaaaaaaaaaaaaaaaaaaaaaaajsjskLkRkSkTjwaaaaaaaaaaaaaaaaaaaaaaababababababgzgIgIhNkUihihkVhNkuihkvhNkWkXinkxiogzkYjDjDjDjijikfkZgzlalbgzgzabababababababababababababababababababababababababababababababababababababababababhZhZhZhZhZhZhZhZichZhZhZhZhZhZhZhZekekababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababab +ababababababababababaaaaaaaaaaaaaaaaaaaaaaaajsjskLkRkSkTjwaaaaaaaaaaaaaaaaaaaaaaababababababgzgIgIhNkUihihkVhNkuihkvhNkWkXinkxiogzkYjDjDjDjijikfkZgzlalbgzgzabababababababababababababababababababababababababababababababababababababababababkQhZhZhZhZhZhZhZichZhZhZhZhZhZhZhZekekababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababab ababababababababababaaaaaaaaaaaaaaaaaaaaaalhliljlklllmjvlnjsaaaaaaaaaaaaaaaaaaaaababababababgzgIgIhNkUihlolphNkuihkvhNhNnrlrhPlsgzltlulvlulujijijilwlxlxlygzabababababababababababababababababababababababababababababababababababababababababhZlzlAlAlAlAlAlzlzlzlAlAlAlAlAlzhZababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababab ababababababababababaaaaaaaaaaaaaaaaaaaalBlClDlElFlljvlGlHlIjsjsaaaaaaaaaaaaaaaaababababababgzlJgIhNkUihihlKhNihihihhNihihihhNjBgzlLlMlLlLlNjijijigzlOlPlygzababababababababababababababababababababababababababababababababababababababababablQlzlzlzlRlzlzlzlzlzlzlzlRlzlzlzlQababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababab ababababababababababaaaaaaaaaaaaaaaaaajsaaljlSlSlTlljvlUlGlIaalVlWaaaaaaaaaaaaaaababababababgzgIgIhNkUihihihlXihihihlYihihihhNiGgzgzkglZmambgzmcjigzgzgzgzgzabababababababababababababababababababababababababababababababababababababababababhZlzlAlAlAlAlAlzlzlzlAlAlAlAlAlzhZababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababab diff --git a/code/game/machinery/recharger.dm b/code/game/machinery/recharger.dm index 1e0c73fbfca..cf92f21046f 100644 --- a/code/game/machinery/recharger.dm +++ b/code/game/machinery/recharger.dm @@ -71,7 +71,7 @@ if(istype(charging, /obj/item/weapon/gun/energy)) var/obj/item/weapon/gun/energy/E = charging if(E.power_supply.charge < E.power_supply.maxcharge) - E.power_supply.give(100) + E.power_supply.give(E.power_supply.chargerate) icon_state = "recharger1" use_power(250) else @@ -80,7 +80,7 @@ if(istype(charging, /obj/item/weapon/melee/baton)) var/obj/item/weapon/melee/baton/B = charging if(B.bcell) - if(B.bcell.give(1500)) //Because otherwise it takes two minutes to fully charge due to 15k cells. - Neerti + if(B.bcell.give(B.bcell.chargerate)) icon_state = "recharger1" use_power(200) else diff --git a/code/game/objects/items/weapons/RCD.dm b/code/game/objects/items/weapons/RCD.dm index b31b1ea09c7..19d17f14778 100644 --- a/code/game/objects/items/weapons/RCD.dm +++ b/code/game/objects/items/weapons/RCD.dm @@ -103,12 +103,13 @@ RCD /obj/item/weapon/rcd/attackby(obj/item/weapon/W, mob/user) ..() if(istype(W, /obj/item/weapon/rcd_ammo)) - if((matter + 20) > max_matter) + var/obj/item/weapon/rcd_ammo/R = W + if((matter + R.ammoamt) > max_matter) user << "The RCD cant hold any more matter-units." return user.drop_item() qdel(W) - matter += 20 + matter += R.ammoamt playsound(src.loc, 'sound/machines/click.ogg', 50, 1) user << "The RCD now holds [matter]/[max_matter] matter-units." desc = "A RCD. It currently holds [matter]/[max_matter] matter-units." @@ -265,6 +266,15 @@ RCD desc = "A device used to rapidly build walls/floor." canRwall = 1 +/obj/item/weapon/rcd/loaded + matter = 100 + +/obj/item/weapon/rcd/combat + name = "combat RCD" + max_matter = 500 + matter = 500 + canRwall = 1 + /obj/item/weapon/rcd_ammo name = "compressed matter cartridge" desc = "Highly compressed matter for the RCD." @@ -277,3 +287,7 @@ RCD origin_tech = "materials=2" m_amt = 16000 g_amt = 8000 + var/ammoamt = 20 + +/obj/item/weapon/rcd_ammo/large + ammoamt = 100 \ No newline at end of file diff --git a/code/game/objects/items/weapons/power_cells.dm b/code/game/objects/items/weapons/power_cells.dm index c510f5fcec2..448673346eb 100644 --- a/code/game/objects/items/weapons/power_cells.dm +++ b/code/game/objects/items/weapons/power_cells.dm @@ -16,6 +16,7 @@ g_amt = 50 var/rigged = 0 // true if rigged to explode var/minor_fault = 0 //If not 100% reliable, it will build up faults. + var/chargerate = 100 //how much power is given every tick in a recharger /obj/item/weapon/stock_parts/cell/suicide_act(mob/user) user.visible_message("[user] is licking the electrodes of the [src.name]! It looks like \he's trying to commit suicide.") @@ -44,15 +45,19 @@ ..() charge = 0 -/obj/item/weapon/stock_parts/cell/emproof/pulse //40 pulse shots +/obj/item/weapon/stock_parts/cell/pulse //40 pulse shots name = "pulse rifle power cell" maxcharge = 8000 rating = 3 + chargerate = 1500 -/obj/item/weapon/stock_parts/cell/emproof/pulse/carbine //25 pulse shots - name = "pulse rifle power cell" +/obj/item/weapon/stock_parts/cell/pulse/carbine //25 pulse shots + name = "pulse carbine power cell" maxcharge = 5000 - rating = 3 + +/obj/item/weapon/stock_parts/cell/pulse/pistol //10 pulse shots + name = "pulse pistol power cell" + maxcharge = 2000 /obj/item/weapon/stock_parts/cell/high name = "high-capacity power cell" @@ -61,6 +66,7 @@ maxcharge = 10000 g_amt = 60 rating = 3 + chargerate = 1500 /obj/item/weapon/stock_parts/cell/high/empty/New() ..() @@ -73,6 +79,7 @@ maxcharge = 20000 g_amt = 70 rating = 4 + chargerate = 2000 /obj/item/weapon/stock_parts/cell/super/empty/New() ..() @@ -85,6 +92,7 @@ maxcharge = 30000 g_amt = 80 rating = 5 + chargerate = 3000 /obj/item/weapon/stock_parts/cell/hyper/empty/New() ..() @@ -97,6 +105,7 @@ maxcharge = 30000 g_amt = 80 rating = 6 + chargerate = 30000 use() return 1 @@ -113,16 +122,15 @@ minor_fault = 1 rating = 1 -/obj/item/weapon/stock_parts/cell/slime +/obj/item/weapon/stock_parts/cell/high/slime name = "charged slime core" desc = "A yellow slime core infused with plasma, it crackles with power." origin_tech = "powerstorage=2;biotech=4" - icon = 'icons/mob/slimes.dmi' //'icons/obj/harvest.dmi' - icon_state = "yellow slime extract" //"potato_battery" - maxcharge = 10000 + icon = 'icons/mob/slimes.dmi' + icon_state = "yellow slime extract" m_amt = 0 g_amt = 0 - rating = 3 + /obj/item/weapon/stock_parts/cell/emproof name = "\improper EMP-proof cell" diff --git a/code/game/objects/items/weapons/storage/belt.dm b/code/game/objects/items/weapons/storage/belt.dm index 6229c40f004..5ac93427b86 100644 --- a/code/game/objects/items/weapons/storage/belt.dm +++ b/code/game/objects/items/weapons/storage/belt.dm @@ -33,6 +33,7 @@ new /obj/item/weapon/weldingtool(src) new /obj/item/weapon/crowbar(src) new /obj/item/weapon/wirecutters(src) + new /obj/item/device/multitool(src) new /obj/item/stack/cable_coil(src,30,pick("red","yellow","orange")) diff --git a/code/game/objects/structures/crates_lockers/closets/secure/misc.dm b/code/game/objects/structures/crates_lockers/closets/secure/misc.dm new file mode 100644 index 00000000000..c18e2ca667c --- /dev/null +++ b/code/game/objects/structures/crates_lockers/closets/secure/misc.dm @@ -0,0 +1,94 @@ +/obj/structure/closet/secure_closet/ertCom + name = "commander's closet" + desc = "Emergency Response Team equipment locker." + req_access = list(access_cent_captain) + icon_state = "capsecure1" + icon_closed = "capsecure" + icon_locked = "capsecure1" + icon_opened = "capsecureopen" + icon_broken = "capsecurebroken" + icon_off = "capsecureoff" + +/obj/structure/closet/secure_closet/ertCom/New() + ..() + new /obj/item/weapon/storage/firstaid/regular(src) + new /obj/item/weapon/storage/box/handcuffs(src) + new /obj/item/device/aicard(src) + new /obj/item/weapon/melee/baton/loaded(src) + new /obj/item/device/flash/handheld(src) + if(prob(50)) + new /obj/item/ammo_box/magazine/m50(src) + new /obj/item/ammo_box/magazine/m50(src) + new /obj/item/weapon/gun/projectile/automatic/pistol/deagle(src) + else + new /obj/item/ammo_box/a357(src) + new /obj/item/ammo_box/a357(src) + new /obj/item/weapon/gun/projectile/revolver/mateba(src) + return + +/obj/structure/closet/secure_closet/ertSec + name = "security closet" + desc = "Emergency Response Team equipment locker." + req_access = list(access_cent_specops) + icon_state = "hossecure1" + icon_closed = "hossecure" + icon_locked = "hossecure1" + icon_opened = "hossecureopen" + icon_broken = "hossecurebroken" + icon_off = "hossecureoff" + +/obj/structure/closet/secure_closet/ertSec/New() + ..() + new /obj/item/weapon/storage/box/flashbangs(src) + new /obj/item/weapon/storage/box/teargas(src) + new /obj/item/weapon/storage/box/flashes(src) + new /obj/item/weapon/storage/box/handcuffs(src) + new /obj/item/weapon/melee/baton/loaded(src) + new /obj/item/weapon/shield/riot/tele(src) + return + +/obj/structure/closet/secure_closet/ertMed + name = "medical closet" + desc = "Emergency Response Team equipment locker." + req_access = list(access_cent_medical) + icon_state = "cmosecure1" + icon_closed = "cmosecure" + icon_locked = "cmosecure1" + icon_opened = "cmosecureopen" + icon_broken = "cmosecurebroken" + icon_off = "cmosecureoff" + +/obj/structure/closet/secure_closet/ertMed/New() + ..() + new /obj/item/weapon/storage/firstaid/o2(src) + new /obj/item/weapon/storage/firstaid/toxin(src) + new /obj/item/weapon/storage/firstaid/fire(src) + new /obj/item/weapon/storage/firstaid/brute(src) + new /obj/item/weapon/storage/firstaid/regular(src) + new /obj/item/weapon/melee/baton/loaded(src) + new /obj/machinery/bot/medbot(src) + return + +/obj/structure/closet/secure_closet/ertEngi + name = "engineer closet" + desc = "Emergency Response Team equipment locker." + req_access = list(access_cent_storage) + icon_state = "securece1" + icon_closed = "securece" + icon_locked = "securece1" + icon_opened = "secureceopen" + icon_broken = "securecebroken" + icon_off = "secureceoff" + +/obj/structure/closet/secure_closet/ertEngi/New() + ..() + new /obj/item/stack/sheet/plasteel(src, 50) + new /obj/item/stack/sheet/metal(src, 50) + new /obj/item/stack/sheet/glass(src, 50) + new /obj/item/clothing/shoes/magboots(src) + new /obj/item/weapon/storage/box/metalfoam(src) + new /obj/item/weapon/melee/baton/loaded(src) + new /obj/item/weapon/rcd_ammo/large(src) + new /obj/item/weapon/rcd_ammo/large(src) + new /obj/item/weapon/rcd_ammo/large(src) + return \ No newline at end of file diff --git a/code/game/objects/structures/crates_lockers/closets/syndicate.dm b/code/game/objects/structures/crates_lockers/closets/syndicate.dm index 51d4d3a0f99..0cdf06406cf 100644 --- a/code/game/objects/structures/crates_lockers/closets/syndicate.dm +++ b/code/game/objects/structures/crates_lockers/closets/syndicate.dm @@ -125,4 +125,4 @@ var/obj/item/stack/R = new res(src) R.amount = R.max_amount - return \ No newline at end of file + return diff --git a/code/modules/admin/verbs/debug.dm b/code/modules/admin/verbs/debug.dm index 4cf3fff9920..bdc013aa000 100644 --- a/code/modules/admin/verbs/debug.dm +++ b/code/modules/admin/verbs/debug.dm @@ -820,8 +820,16 @@ var/global/list/g_fancy_list_of_types = null if("death commando") equip_deathsquad(M) - if("emergency response commander") - equip_emergencyresponsesquad(M, "commander") + if("emergency response officer") + switch(input("Which class?") in list("Commander","Security","Engineer","Medical")) + if("Commander") + equip_emergencyresponsesquad(M, "commander") + if("Security") + equip_emergencyresponsesquad(M, "sec") + if("Engineer") + equip_emergencyresponsesquad(M, "eng") + if("Medic") + equip_emergencyresponsesquad(M, "med") if("centcom official") M.equip_to_slot_or_del(new /obj/item/clothing/under/rank/centcom_officer(M), slot_w_uniform) @@ -884,7 +892,7 @@ var/global/list/g_fancy_list_of_types = null M.equip_to_slot_or_del(new /obj/item/clothing/glasses/thermal/eyepatch(M), slot_glasses) M.equip_to_slot_or_del(new /obj/item/clothing/mask/cigarette/cigar/havana(M), slot_wear_mask) M.equip_to_slot_or_del(new /obj/item/clothing/head/helmet/space/deathsquad/beret(M), slot_head) - M.equip_to_slot_or_del(new /obj/item/weapon/gun/energy/pulse/pistol(M), slot_belt) + M.equip_to_slot_or_del(new /obj/item/weapon/gun/energy/pulse/pistol/m1911(M), slot_belt) M.equip_to_slot_or_del(new /obj/item/weapon/lighter/zippo(M), slot_r_store) M.equip_to_slot_or_del(new /obj/item/weapon/storage/backpack/satchel(M), slot_back) @@ -1121,12 +1129,14 @@ var/global/list/g_fancy_list_of_types = null M.equip_to_slot_or_del(new /obj/item/clothing/suit/space/ert(M), slot_wear_suit) M.equip_to_slot_or_del(new /obj/item/weapon/card/id/ert(M), slot_wear_id) M.equip_to_slot_or_del(new /obj/item/weapon/storage/backpack/captain(M), slot_back) + M.equip_to_slot_or_del(new /obj/item/clothing/glasses/thermal/eyepatch(M), slot_glasses) M.equip_to_slot_or_del(new /obj/item/weapon/storage/box/engineer(M), slot_in_backpack) M.equip_to_slot_or_del(new /obj/item/clothing/head/helmet/space/hardsuit/ert(M), slot_in_backpack) M.equip_to_slot_or_del(new /obj/item/clothing/mask/gas/sechailer/swat(M), slot_in_backpack) + M.equip_to_slot_or_del(new /obj/item/weapon/gun/energy/pulse/pistol/loyalpin(M), slot_in_backpack) - M.equip_to_slot_or_del(new /obj/item/weapon/gun/energy/pulse/pistol/loyalpin(M), slot_belt) + M.equip_to_slot_or_del(new /obj/item/weapon/storage/belt/security/full(M), slot_belt) M.equip_to_slot_or_del(new /obj/item/weapon/melee/energy/sword/saber(M), slot_l_store) if("sec") @@ -1136,15 +1146,15 @@ var/global/list/g_fancy_list_of_types = null M.equip_to_slot_or_del(new /obj/item/clothing/suit/space/ert/sec(M), slot_wear_suit) M.equip_to_slot_or_del(new /obj/item/weapon/card/id/ert/Security(M), slot_wear_id) M.equip_to_slot_or_del(new /obj/item/weapon/storage/backpack/security(M), slot_back) + M.equip_to_slot_or_del(new /obj/item/clothing/glasses/hud/security/sunglasses(M), slot_glasses) M.equip_to_slot_or_del(new /obj/item/weapon/storage/box/engineer(M), slot_in_backpack) + M.equip_to_slot_or_del(new /obj/item/weapon/storage/box/handcuffs(M), slot_in_backpack) M.equip_to_slot_or_del(new /obj/item/clothing/head/helmet/space/hardsuit/ert/sec(M), slot_in_backpack) M.equip_to_slot_or_del(new /obj/item/clothing/mask/gas/sechailer/swat(M), slot_in_backpack) - M.equip_to_slot_or_del(new /obj/item/weapon/storage/box/flashbangs(M), slot_in_backpack) - M.equip_to_slot_or_del(new /obj/item/weapon/gun/grenadelauncher(M), slot_in_backpack) + M.equip_to_slot_or_del(new /obj/item/weapon/gun/energy/pulse/carbine/loyalpin(M), slot_in_backpack) - M.equip_to_slot_or_del(new /obj/item/weapon/gun/energy/pulse/carbine/loyalpin(M), slot_belt) - M.equip_to_slot_or_del(new /obj/item/weapon/restraints/handcuffs(M), slot_l_store) + M.equip_to_slot_or_del(new /obj/item/weapon/storage/belt/security/full(M), slot_belt) if("med") M.equip_to_slot_or_del(new /obj/item/clothing/under/rank/centcom_officer(M), slot_w_uniform) @@ -1153,13 +1163,16 @@ var/global/list/g_fancy_list_of_types = null M.equip_to_slot_or_del(new /obj/item/clothing/suit/space/ert/med(M), slot_wear_suit) M.equip_to_slot_or_del(new /obj/item/weapon/card/id/ert/Medical(M), slot_wear_id) M.equip_to_slot_or_del(new /obj/item/weapon/storage/backpack/medic(M), slot_back) + M.equip_to_slot_or_del(new /obj/item/clothing/glasses/hud/health(M), slot_glasses) M.equip_to_slot_or_del(new /obj/item/weapon/storage/box/engineer(M), slot_in_backpack) M.equip_to_slot_or_del(new /obj/item/clothing/head/helmet/space/hardsuit/ert/med(M), slot_in_backpack) M.equip_to_slot_or_del(new /obj/item/clothing/mask/gas/sechailer/swat(M), slot_in_backpack) - M.equip_to_slot_or_del(new /obj/item/weapon/storage/firstaid/tactical(M), slot_in_backpack) + M.equip_to_slot_or_del(new /obj/item/weapon/gun/energy/pulse/pistol/loyalpin(M), slot_in_backpack) - M.equip_to_slot_or_del(new /obj/item/weapon/gun/energy/pulse/carbine/loyalpin(M), slot_belt) + M.equip_to_slot_or_del(new /obj/item/weapon/storage/belt/medical(M), slot_belt) + + M.equip_to_slot_or_del(new /obj/item/weapon/storage/firstaid/regular(M), slot_r_hand) if("eng") M.equip_to_slot_or_del(new /obj/item/clothing/under/rank/centcom_officer(M), slot_w_uniform) @@ -1168,14 +1181,16 @@ var/global/list/g_fancy_list_of_types = null M.equip_to_slot_or_del(new /obj/item/clothing/suit/space/ert/engi(M), slot_wear_suit) M.equip_to_slot_or_del(new /obj/item/weapon/card/id/ert/Engineer(M), slot_wear_id) M.equip_to_slot_or_del(new /obj/item/weapon/storage/backpack/industrial(M), slot_back) + M.equip_to_slot_or_del(new /obj/item/clothing/glasses/meson(M), slot_glasses) M.equip_to_slot_or_del(new /obj/item/weapon/storage/box/engineer(M), slot_in_backpack) M.equip_to_slot_or_del(new /obj/item/clothing/head/helmet/space/hardsuit/ert/engi(M), slot_in_backpack) M.equip_to_slot_or_del(new /obj/item/clothing/mask/gas/sechailer/swat(M), slot_in_backpack) - M.equip_to_slot_or_del(new /obj/item/weapon/storage/box/metalfoam(M), slot_in_backpack) - M.equip_to_slot_or_del(new /obj/item/weapon/gun/energy/pulse/carbine/loyalpin(M), slot_in_backpack) + M.equip_to_slot_or_del(new /obj/item/weapon/rcd/combat(M), slot_in_backpack) + M.equip_to_slot_or_del(new /obj/item/weapon/gun/energy/pulse/pistol/loyalpin(M), slot_in_backpack) M.equip_to_slot_or_del(new /obj/item/weapon/storage/belt/utility/full(M), slot_belt) + M.equip_to_slot_or_del(new /obj/item/weapon/rcd_ammo/large(M), slot_l_store) var/obj/item/weapon/implant/loyalty/L = new/obj/item/weapon/implant/loyalty(M) L.imp_in = M diff --git a/code/modules/clothing/spacesuits/miscellaneous.dm b/code/modules/clothing/spacesuits/miscellaneous.dm index 4dc3903591c..5953c4f37ad 100644 --- a/code/modules/clothing/spacesuits/miscellaneous.dm +++ b/code/modules/clothing/spacesuits/miscellaneous.dm @@ -152,7 +152,7 @@ item_state = "ert_command" allowed = list(/obj/item/weapon/gun,/obj/item/ammo_box,/obj/item/ammo_casing,/obj/item/weapon/melee/baton,/obj/item/weapon/restraints/handcuffs,/obj/item/weapon/tank/emergency_oxygen) armor = list(melee = 65, bullet = 50, laser = 50, energy = 50, bomb = 50, bio = 100, rad = 100) - slowdown = 1 + slowdown = 0 strip_delay = 130 /obj/item/clothing/suit/space/ert/sec diff --git a/code/modules/projectiles/guns/energy/pulse.dm b/code/modules/projectiles/guns/energy/pulse.dm index a08db357269..be1d07818b0 100644 --- a/code/modules/projectiles/guns/energy/pulse.dm +++ b/code/modules/projectiles/guns/energy/pulse.dm @@ -8,7 +8,7 @@ flags = CONDUCT slot_flags = SLOT_BACK ammo_type = list(/obj/item/ammo_casing/energy/laser/pulse, /obj/item/ammo_casing/energy/electrode, /obj/item/ammo_casing/energy/laser) - cell_type = "/obj/item/weapon/stock_parts/cell/emproof/pulse" + cell_type = "/obj/item/weapon/stock_parts/cell/pulse" /obj/item/weapon/gun/energy/pulse/attack_self(mob/living/user as mob) select_fire(user) @@ -26,19 +26,19 @@ slot_flags = SLOT_BELT icon_state = "pulse_carbine" item_state = "pulse" - cell_type = "/obj/item/weapon/stock_parts/cell/emproof/pulse/carbine" + cell_type = "/obj/item/weapon/stock_parts/cell/pulse/carbine" /obj/item/weapon/gun/energy/pulse/carbine/loyalpin pin = /obj/item/device/firing_pin/implant/loyalty /obj/item/weapon/gun/energy/pulse/pistol name = "pulse pistol" - desc = "A compact pulse core in a classic handgun frame for Nanotrasen officers. It's not the size of the gun, it's the size of the hole it puts through people." + desc = "A pulse rifle in an easily concealed handgun package with low capacity." w_class = 2 slot_flags = SLOT_BELT - icon_state = "m1911-p" + icon_state = "pulse_pistol" item_state = "gun" - cell_type = "/obj/item/weapon/stock_parts/cell/emproof/pulse/carbine" + cell_type = "/obj/item/weapon/stock_parts/cell/pulse/pistol" /obj/item/weapon/gun/energy/pulse/pistol/loyalpin pin = /obj/item/device/firing_pin/implant/loyalty @@ -50,4 +50,11 @@ ammo_type = list(/obj/item/ammo_casing/energy/laser/pulse) /obj/item/weapon/gun/energy/pulse/destroyer/attack_self(mob/living/user as mob) - user << "[src.name] has three settings, and they are all DESTROY." \ No newline at end of file + user << "[src.name] has three settings, and they are all DESTROY." + +/obj/item/weapon/gun/energy/pulse/pistol/m1911 + name = "\improper M1911-P" + desc = "A compact pulse core in a classic handgun frame for Nanotrasen officers. It's not the size of the gun, it's the size of the hole it puts through people." + icon_state = "m1911-p" + item_state = "gun" + cell_type = "/obj/item/weapon/stock_parts/cell/infinite" \ No newline at end of file diff --git a/code/modules/reagents/Chemistry-Recipes.dm b/code/modules/reagents/Chemistry-Recipes.dm index c97db6d16bd..e81ee2c5813 100644 --- a/code/modules/reagents/Chemistry-Recipes.dm +++ b/code/modules/reagents/Chemistry-Recipes.dm @@ -1066,7 +1066,7 @@ datum/chemical_reaction/pestkiller required_other = 1 /datum/chemical_reaction/slimecell/on_reaction(var/datum/reagents/holder, var/created_volume) feedback_add_details("slime_cores_used","[replacetext(name," ","_")]") - var/obj/item/weapon/stock_parts/cell/slime/P = new /obj/item/weapon/stock_parts/cell/slime + var/obj/item/weapon/stock_parts/cell/high/slime/P = new /obj/item/weapon/stock_parts/cell/high/slime P.loc = get_turf(holder.my_atom) /datum/chemical_reaction/slimeglow diff --git a/icons/obj/guns/energy.dmi b/icons/obj/guns/energy.dmi index 3099d69bd800a9e4a39b97d81e7e75d4e716dc97..50c51284344c6c1937c58452d60c5b48e0b17a0f 100644 GIT binary patch delta 16598 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 H75skyG_pgk delta 14946 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

    m0EF$yvLL5h5m34(mgdgpWu?g&iHQL< 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 Date: Mon, 2 Feb 2015 03:54:24 -0800 Subject: [PATCH 082/122] small bandaid fix --- code/modules/admin/verbs/debug.dm | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/code/modules/admin/verbs/debug.dm b/code/modules/admin/verbs/debug.dm index bdc013aa000..b1ee64f880a 100644 --- a/code/modules/admin/verbs/debug.dm +++ b/code/modules/admin/verbs/debug.dm @@ -597,7 +597,7 @@ var/global/list/g_fancy_list_of_types = null "assassin", "mobster", "death commando", - "emergency response commander", + "emergency response officer", "centcom official", "centcom commander", "special ops officer", From e15b8b2199beeedf4bf2e819acaa9776db201a43 Mon Sep 17 00:00:00 2001 From: paprka Date: Mon, 2 Feb 2015 03:58:31 -0800 Subject: [PATCH 083/122] this kills the culture --- sound/vox_fem/voxtest2.ogg | Bin 85962 -> 0 bytes 1 file changed, 0 insertions(+), 0 deletions(-) delete mode 100644 sound/vox_fem/voxtest2.ogg diff --git a/sound/vox_fem/voxtest2.ogg b/sound/vox_fem/voxtest2.ogg deleted file mode 100644 index da1f57bc93ac611b7a16b8f3c5dddc43b2eaf3f8..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 85962 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 H0FM&@P&?Nk From f4cd2cd4affc29bbecdd1d800f039213622785c9 Mon Sep 17 00:00:00 2001 From: paprka Date: Mon, 2 Feb 2015 06:22:07 -0800 Subject: [PATCH 084/122] fixes ert access --- code/game/jobs/access.dm | 11 +++++++++++ code/game/objects/items/weapons/cards_ids.dm | 9 ++++----- 2 files changed, 15 insertions(+), 5 deletions(-) diff --git a/code/game/jobs/access.dm b/code/game/jobs/access.dm index 11d280c0663..1cbffbab51d 100644 --- a/code/game/jobs/access.dm +++ b/code/game/jobs/access.dm @@ -218,6 +218,17 @@ /proc/get_all_centcom_access() return list(access_cent_general, access_cent_thunder, access_cent_specops, access_cent_medical, access_cent_living, access_cent_storage, access_cent_teleporter, access_cent_captain) +/proc/get_ert_access(var/class) + switch(class) + if("commander") + return get_all_centcom_access() + if("sec") + return list(access_cent_general, access_cent_specops) + if("eng") + return list(access_cent_general, access_cent_storage) + if("med") + return list(access_cent_general, access_cent_medical) + /proc/get_all_syndicate_access() return list(access_syndicate, access_syndicate) diff --git a/code/game/objects/items/weapons/cards_ids.dm b/code/game/objects/items/weapons/cards_ids.dm index 009d1d2bc9f..60fc902e23e 100644 --- a/code/game/objects/items/weapons/cards_ids.dm +++ b/code/game/objects/items/weapons/cards_ids.dm @@ -196,23 +196,22 @@ update_label("John Doe", "Clowny") icon_state = "centcom" registered_name = "Emergency Response Team Commander" assignment = "Emergency Response Team Commander" - New() access = get_all_accesses() - New() access = list(access_cent_captain, access_cent_specops, access_cent_storage, access_cent_medical) + New() access = get_all_accesses()+get_ert_access("commander") /obj/item/weapon/card/id/ert/Security registered_name = "Security Response Officer" assignment = "Security Response Officer" - New() access = list(access_cent_specops) + New() access = get_all_accesses()+get_ert_access("sec") /obj/item/weapon/card/id/ert/Engineer registered_name = "Engineer Response Officer" assignment = "Engineer Response Officer" - New() access = list(access_cent_storage) + New() access = get_all_accesses()+get_ert_access("eng") /obj/item/weapon/card/id/ert/Medical registered_name = "Medical Response Officer" assignment = "Medical Response Officer" - New() access = list(access_cent_medical) + New() access = get_all_accesses()+get_ert_access("med") /obj/item/weapon/card/id/prisoner name = "prisoner ID card" From e4262d21a586d69cde0494655c378e962a76dd73 Mon Sep 17 00:00:00 2001 From: paprka Date: Mon, 2 Feb 2015 06:24:16 -0800 Subject: [PATCH 085/122] nanite injector for med ert --- code/modules/admin/verbs/debug.dm | 1 + code/modules/reagents/reagent_containers/hypospray.dm | 2 +- 2 files changed, 2 insertions(+), 1 deletion(-) diff --git a/code/modules/admin/verbs/debug.dm b/code/modules/admin/verbs/debug.dm index b1ee64f880a..207085787a8 100644 --- a/code/modules/admin/verbs/debug.dm +++ b/code/modules/admin/verbs/debug.dm @@ -1168,6 +1168,7 @@ var/global/list/g_fancy_list_of_types = null M.equip_to_slot_or_del(new /obj/item/weapon/storage/box/engineer(M), slot_in_backpack) M.equip_to_slot_or_del(new /obj/item/clothing/head/helmet/space/hardsuit/ert/med(M), slot_in_backpack) M.equip_to_slot_or_del(new /obj/item/clothing/mask/gas/sechailer/swat(M), slot_in_backpack) + M.equip_to_slot_or_del(new /obj/item/weapon/reagent_containers/hypospray/combat/nanites(M), slot_in_backpack) M.equip_to_slot_or_del(new /obj/item/weapon/gun/energy/pulse/pistol/loyalpin(M), slot_in_backpack) M.equip_to_slot_or_del(new /obj/item/weapon/storage/belt/medical(M), slot_belt) diff --git a/code/modules/reagents/reagent_containers/hypospray.dm b/code/modules/reagents/reagent_containers/hypospray.dm index 6706572d78b..8a0afbfe290 100644 --- a/code/modules/reagents/reagent_containers/hypospray.dm +++ b/code/modules/reagents/reagent_containers/hypospray.dm @@ -50,7 +50,7 @@ ignore_flags = 1 // So they can heal their comrades. list_reagents = list("epinephrine" = 15, "salglu_solution" = 15) -obj/item/weapon/reagent_containers/hypospray/combat/nanites +/obj/item/weapon/reagent_containers/hypospray/combat/nanites desc = "A modified air-needle autoinjector for use in combat situations. Prefilled with expensive medical nanites for rapid healing." volume = 100 list_reagents = list("nanites" = 80, "synaptizine" = 20) From c18f485b1774b1f230a2d7e039339dce58dedf41 Mon Sep 17 00:00:00 2001 From: dannno Date: Mon, 2 Feb 2015 15:13:17 -0500 Subject: [PATCH 086/122] fix shit, make bible suicide sacrifice you to your deity --- code/game/objects/items/weapons/cigs_lighters.dm | 2 +- code/game/objects/items/weapons/handcuffs.dm | 4 ---- code/game/objects/items/weapons/storage/book.dm | 2 +- 3 files changed, 2 insertions(+), 6 deletions(-) diff --git a/code/game/objects/items/weapons/cigs_lighters.dm b/code/game/objects/items/weapons/cigs_lighters.dm index 76ea0c71853..216812720b3 100644 --- a/code/game/objects/items/weapons/cigs_lighters.dm +++ b/code/game/objects/items/weapons/cigs_lighters.dm @@ -111,7 +111,7 @@ CIGARETTE PACKETS ARE IN FANCY.DM var/chem_volume = 30 /obj/item/clothing/mask/cigarette/suicide_act(mob/user) - user.visible_message("[user] is huffing the [src.name] is quickly as they can! It looks like \he's trying to give \himself cancer.") + user.visible_message("[user] is huffing the [src.name] as quickly as they can! It looks like \he's trying to give \himself cancer.") return (TOXLOSS|OXYLOSS) /obj/item/clothing/mask/cigarette/New() diff --git a/code/game/objects/items/weapons/handcuffs.dm b/code/game/objects/items/weapons/handcuffs.dm index 95a1f00bae0..ad243908696 100644 --- a/code/game/objects/items/weapons/handcuffs.dm +++ b/code/game/objects/items/weapons/handcuffs.dm @@ -157,10 +157,6 @@ playsound(loc, 'sound/weapons/bladeslice.ogg', 50, 1, -1) return (BRUTELOSS) -/obj/item/weapon/restraints/legcuffs/beartrap/suicide_act(mob/user) - user.visible_message("[user] is putting the [src.name] on \his head! It looks like \he's trying to commit suicide.") - return (BRUTELOSS) - /obj/item/weapon/restraints/legcuffs/beartrap/attack_self(mob/user as mob) ..() if(ishuman(user) && !user.stat && !user.restrained()) diff --git a/code/game/objects/items/weapons/storage/book.dm b/code/game/objects/items/weapons/storage/book.dm index 962a04418e3..136d250eec9 100644 --- a/code/game/objects/items/weapons/storage/book.dm +++ b/code/game/objects/items/weapons/storage/book.dm @@ -19,7 +19,7 @@ var/deity_name = "Christ" /obj/item/weapon/storage/book/bible/suicide_act(mob/user) - user.visible_message("[user] is offering /himself to \his deity! It looks like \he's trying to commit suicide.") + user.visible_message("[user] is offering \himself to [src.deity_name]! It looks like \he's trying to commit suicide.") return (BRUTELOSS) /obj/item/weapon/storage/book/bible/booze From 400cc02d3e1d30f3e5f3f504bcfd87c69b6371b9 Mon Sep 17 00:00:00 2001 From: JJRcop Date: Mon, 2 Feb 2015 19:06:38 -0500 Subject: [PATCH 087/122] Fixes Z2 mispathing --- _maps/map_files/generic/z2.dmm | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/_maps/map_files/generic/z2.dmm b/_maps/map_files/generic/z2.dmm index 471681ae206..31bb1425510 100644 --- a/_maps/map_files/generic/z2.dmm +++ b/_maps/map_files/generic/z2.dmm @@ -499,7 +499,7 @@ "jE" = (/mob/living/simple_animal/hostile/retaliate/bat{desc = "A Syndicate experiment in weaponized space carp technology. Its fangs seem to have been intentionally dulled down to prevent accidents."; faction = list("syndicate"); harm_intent_damage = 5; health = 50; icon_dead = "carp_dead"; icon_gib = "carp_gib"; icon_living = "carp"; icon_state = "carp"; name = "Cayenne"; real_name = "Cayenne"; response_disarm = "lightly brushes aside"; response_help = "pets"},/turf/unsimulated/floor{icon_state = "bar"; dir = 2},/area/syndicate_mothership) "jF" = (/obj/machinery/door/airlock/centcom{name = "Study"; opacity = 1; req_access_txt = "150"},/turf/unsimulated/floor{icon_state = "bar"; dir = 2},/area/syndicate_mothership) "jG" = (/turf/unsimulated/floor{icon_state = "grimy"},/area/syndicate_mothership) -"jH" = (/obj/structure/table/reinforced,/obj/item/weapon/tank/emergency_oxygen/double,/obj/item/clothing/mask/breath,/obj/item/clothing/head/helmet/space/hardsuit/ert,/turf/unsimulated/floor{icon_state = "floor"},/area/centcom/ferry) +"jH" = (/obj/structure/table/reinforced,/obj/item/weapon/tank/internals/emergency_oxygen/double,/obj/item/clothing/mask/breath,/obj/item/clothing/head/helmet/space/hardsuit/ert,/turf/unsimulated/floor{icon_state = "floor"},/area/centcom/ferry) "jI" = (/obj/structure/closet/syndicate/ertCom,/turf/unsimulated/floor{icon_state = "floor"},/area/centcom/ferry) "jJ" = (/turf/unsimulated/floor{tag = "icon-redcorner"; icon_state = "redcorner"; dir = 2},/area/centcom/ferry) "jK" = (/turf/unsimulated/floor{icon_state = "red"; dir = 2},/area/centcom/ferry) @@ -834,7 +834,7 @@ "qb" = (/obj/structure/grille,/obj/structure/window/reinforced,/obj/structure/window/reinforced{dir = 4},/obj/structure/window/reinforced{dir = 1},/obj/structure/window/reinforced{dir = 8},/turf/unsimulated/floor{name = "plating"},/area/centcom/holding) "qc" = (/obj/effect/landmark{name = "Holding Facility"},/turf/unsimulated/floor{icon_state = "engine"},/area/centcom/holding) "qd" = (/obj/docking_port/stationary/transit{dheight = 0; dir = 2; dwidth = 11; height = 22; id = "whiteship_transit"; width = 35},/turf/space/transit/horizontal,/area/space) - + (1,1,1) = {" aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacabababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababadaeaeaeaeaeafaeaeaeaeaeafaeaeaeaeaeafaeaeaeaeaeag aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacabababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababahaiaiaiaiaiajakakakakakajalalalalalajamanananaoap From fa7e15d734404251c524234ab5d122fdabb4b537 Mon Sep 17 00:00:00 2001 From: Iamgoofball Date: Mon, 2 Feb 2015 18:30:24 -0800 Subject: [PATCH 088/122] what is object oriented programming --- code/game/gamemodes/blob/blobs/core.dm | 1 + code/game/gamemodes/blob/blobs/node.dm | 2 +- code/game/gamemodes/blob/theblob.dm | 3 ++- 3 files changed, 4 insertions(+), 2 deletions(-) diff --git a/code/game/gamemodes/blob/blobs/core.dm b/code/game/gamemodes/blob/blobs/core.dm index 4412b095858..ac5e4ab7ef2 100644 --- a/code/game/gamemodes/blob/blobs/core.dm +++ b/code/game/gamemodes/blob/blobs/core.dm @@ -8,6 +8,7 @@ var/overmind_get_delay = 0 // we don't want to constantly try to find an overmind, do it every 30 seconds var/resource_delay = 0 var/point_rate = 2 + can_change_color = 0 /obj/effect/blob/core/New(loc, var/h = 200, var/client/new_overmind = null, var/new_rate = 2) blob_cores += src diff --git a/code/game/gamemodes/blob/blobs/node.dm b/code/game/gamemodes/blob/blobs/node.dm index 4dee5d6517a..93d1f9753fd 100644 --- a/code/game/gamemodes/blob/blobs/node.dm +++ b/code/game/gamemodes/blob/blobs/node.dm @@ -5,7 +5,7 @@ health = 100 fire_resist = 2 var/mob/camera/blob/overmind - + can_change_color = 0 /obj/effect/blob/node/New(loc, var/h = 100) blob_nodes += src diff --git a/code/game/gamemodes/blob/theblob.dm b/code/game/gamemodes/blob/theblob.dm index 42a3d83245f..c3a0f3cff6e 100644 --- a/code/game/gamemodes/blob/theblob.dm +++ b/code/game/gamemodes/blob/theblob.dm @@ -11,6 +11,7 @@ var/health_timestamp = 0 var/brute_resist = 4 var/fire_resist = 1 + var/can_change_color = 1 /obj/effect/blob/New(loc) @@ -91,7 +92,7 @@ if(!B) expand(T,1,a_color)//No blob here so try and expand return - if(!istype(B, /obj/effect/blob/core) || !istype(B, /obj/effect/blob/node)) + if(B.can_change_color) B.color = a_color B.Pulse((pulse+1),get_dir(src.loc,T), a_color) return From 48413b4a89a05d44d6930f90585f3bff74db1d41 Mon Sep 17 00:00:00 2001 From: Iamgoofball Date: Mon, 2 Feb 2015 18:35:51 -0800 Subject: [PATCH 089/122] makes roundstart pills append their reagent number to their name, only roundstart ones do this --- .../reagents/reagent_containers/pill.dm | 26 +++++++++++-------- 1 file changed, 15 insertions(+), 11 deletions(-) diff --git a/code/modules/reagents/reagent_containers/pill.dm b/code/modules/reagents/reagent_containers/pill.dm index 8fa4f87ebe8..dfdb24a2863 100644 --- a/code/modules/reagents/reagent_containers/pill.dm +++ b/code/modules/reagents/reagent_containers/pill.dm @@ -8,11 +8,14 @@ volume = 50 var/apply_type = INGEST var/apply_method = "swallow" + var/roundstart = 0 /obj/item/weapon/reagent_containers/pill/New() ..() if(!icon_state) icon_state = "pill[rand(1,20)]" + if(reagents.total_volume && roundstart) + name += " ([reagents.total_volume]u)" /obj/item/weapon/reagent_containers/pill/attack_self(mob/user) @@ -70,63 +73,64 @@ desc = "Highly toxic." icon_state = "pill5" list_reagents = list("toxin" = 50) - + roundstart = 1 /obj/item/weapon/reagent_containers/pill/cyanide name = "cyanide pill" desc = "Don't swallow this." icon_state = "pill5" list_reagents = list("cyanide" = 50) - + roundstart = 1 /obj/item/weapon/reagent_containers/pill/adminordrazine name = "adminordrazine pill" desc = "It's magic. We don't have to explain it." icon_state = "pill16" list_reagents = list("adminordrazine" = 50) - + roundstart = 1 /obj/item/weapon/reagent_containers/pill/morphine name = "morphine pill" desc = "Commonly used to treat insomnia." icon_state = "pill8" list_reagents = list("morphine" = 30) - + roundstart = 1 /obj/item/weapon/reagent_containers/pill/stimulant name = "stimulant pill" desc = "Often taken by overworked employees, athletes, and the inebriated. You'll snap to attention immediately!" icon_state = "pill19" list_reagents = list("ephedrine" = 10, "ethylredoxrazine" = 10, "coffee" = 30) - + roundstart = 1 /obj/item/weapon/reagent_containers/pill/salbutamol name = "salbutamol pill" desc = "Used to treat oxygen deprivation." icon_state = "pill18" list_reagents = list("salbutamol" = 30) - + roundstart = 1 /obj/item/weapon/reagent_containers/pill/charcoal name = "antitoxin pill" desc = "Neutralizes many common toxins." icon_state = "pill17" list_reagents = list("charcoal" = 50) - + roundstart = 1 /obj/item/weapon/reagent_containers/pill/epinephrine name = "epinephrine pill" desc = "Used to stabilize patients." icon_state = "pill5" list_reagents = list("epinephrine" = 15) - + roundstart = 1 /obj/item/weapon/reagent_containers/pill/mannitol name = "mannitol pill" desc = "Used to treat brain damage." icon_state = "pill17" list_reagents = list("mannitol" = 50) - + roundstart = 1 /obj/item/weapon/reagent_containers/pill/mutadone name = "mutadone pill" desc = "Used to treat genetic damage." icon_state = "pill20" list_reagents = list("mutadone" = 50) - + roundstart = 1 /obj/item/weapon/reagent_containers/pill/salicyclic - name = "salicyclic acid pill" + name = "salicylic acid pill" desc = "Used to dull pain." icon_state = "pill5" list_reagents = list("sal_acid" = 24) + roundstart = 1 From 052d7d090d525be0aeec114f3624c2e2f3d3e4e7 Mon Sep 17 00:00:00 2001 From: Jordie0608 Date: Tue, 3 Feb 2015 18:08:55 +1100 Subject: [PATCH 090/122] adds some lacking changelogs --- html/changelogs/Danno-dufflebag.yml | 6 ++++++ html/changelogs/Delimusca-foam armblade.yml | 6 ++++++ html/changelogs/Delimusca-slime.yml | 7 +++++++ html/changelogs/Gunhog-emotes.yml | 6 ++++++ html/changelogs/Incoming5643-butterflycrate.yml | 6 ++++++ html/changelogs/Incoming5643-shuttle stranding.yml | 6 ++++++ html/changelogs/Menshin-platingcable.yml | 6 ++++++ html/changelogs/Paprika-hardsuit helmets.yml | 8 ++++++++ html/changelogs/Perakp-slowdown.yml | 6 ++++++ html/changelogs/Steelpoint-ert access.yml | 8 ++++++++ 10 files changed, 65 insertions(+) create mode 100644 html/changelogs/Danno-dufflebag.yml create mode 100644 html/changelogs/Delimusca-foam armblade.yml create mode 100644 html/changelogs/Delimusca-slime.yml create mode 100644 html/changelogs/Gunhog-emotes.yml create mode 100644 html/changelogs/Incoming5643-butterflycrate.yml create mode 100644 html/changelogs/Incoming5643-shuttle stranding.yml create mode 100644 html/changelogs/Menshin-platingcable.yml create mode 100644 html/changelogs/Paprika-hardsuit helmets.yml create mode 100644 html/changelogs/Perakp-slowdown.yml create mode 100644 html/changelogs/Steelpoint-ert access.yml diff --git a/html/changelogs/Danno-dufflebag.yml b/html/changelogs/Danno-dufflebag.yml new file mode 100644 index 00000000000..1bbbf93aa6f --- /dev/null +++ b/html/changelogs/Danno-dufflebag.yml @@ -0,0 +1,6 @@ +author: Danno + +delete-after: True + +changes: + - bugfix: "Fixes dufflebag's storage capacity." \ No newline at end of file diff --git a/html/changelogs/Delimusca-foam armblade.yml b/html/changelogs/Delimusca-foam armblade.yml new file mode 100644 index 00000000000..b6964ef7820 --- /dev/null +++ b/html/changelogs/Delimusca-foam armblade.yml @@ -0,0 +1,6 @@ +author: Delimusca + +delete-after: True + +changes: + - rscadd: "Added new foam armblade toy to arcade prizes." \ No newline at end of file diff --git a/html/changelogs/Delimusca-slime.yml b/html/changelogs/Delimusca-slime.yml new file mode 100644 index 00000000000..edb277e18f5 --- /dev/null +++ b/html/changelogs/Delimusca-slime.yml @@ -0,0 +1,7 @@ +author: Delimusca + +delete-after: True + +changes: + - tweak: "Slimes can drag themselves to mobs to start feeding." + - tweak: "Attacking another slime will pull them off their victim if they're feeding or steal some of their mass." \ No newline at end of file diff --git a/html/changelogs/Gunhog-emotes.yml b/html/changelogs/Gunhog-emotes.yml new file mode 100644 index 00000000000..953335418ea --- /dev/null +++ b/html/changelogs/Gunhog-emotes.yml @@ -0,0 +1,6 @@ +author: GunHog + +delete-after: True + +changes: + - rscadd: "Five new silicon emotes: *buzz2, *chime, *honk, *sad and *warn" \ No newline at end of file diff --git a/html/changelogs/Incoming5643-butterflycrate.yml b/html/changelogs/Incoming5643-butterflycrate.yml new file mode 100644 index 00000000000..5ac42c62b36 --- /dev/null +++ b/html/changelogs/Incoming5643-butterflycrate.yml @@ -0,0 +1,6 @@ +author: Incoming5643 + +delete-after: True + +changes: + - rscadd: "New contraband crate containing fifty butterflies." \ No newline at end of file diff --git a/html/changelogs/Incoming5643-shuttle stranding.yml b/html/changelogs/Incoming5643-shuttle stranding.yml new file mode 100644 index 00000000000..bfd210ffdea --- /dev/null +++ b/html/changelogs/Incoming5643-shuttle stranding.yml @@ -0,0 +1,6 @@ +author: Incoming5643 + +delete-after: True + +changes: + - tweak: "Shuttle will now always arrive, but won't launch in rounds where it would've been previously auto-recalled." \ No newline at end of file diff --git a/html/changelogs/Menshin-platingcable.yml b/html/changelogs/Menshin-platingcable.yml new file mode 100644 index 00000000000..43f3fc0fae4 --- /dev/null +++ b/html/changelogs/Menshin-platingcable.yml @@ -0,0 +1,6 @@ +author: Menshin + +delete-after: True + +changes: + - bugfix: "Fixed being unable to place cables on plating." \ No newline at end of file diff --git a/html/changelogs/Paprika-hardsuit helmets.yml b/html/changelogs/Paprika-hardsuit helmets.yml new file mode 100644 index 00000000000..0181cb0ac28 --- /dev/null +++ b/html/changelogs/Paprika-hardsuit helmets.yml @@ -0,0 +1,8 @@ +author: Paprika + +delete-after: True + +changes: + - wip: "Helmets for hardsuits are stored inside the suit and cannot be equipped without the suit on." + - tweak: "EVA space suits are now lighter for faster movement but lack flash or welding protection, don't hide your identity and have less radiation protection." + \ No newline at end of file diff --git a/html/changelogs/Perakp-slowdown.yml b/html/changelogs/Perakp-slowdown.yml new file mode 100644 index 00000000000..21330d222a2 --- /dev/null +++ b/html/changelogs/Perakp-slowdown.yml @@ -0,0 +1,6 @@ +author: Perakp + +delete-after: True + +changes: + - tweak: "Tweaked slowdown due to coldness when in in low gravity." \ No newline at end of file diff --git a/html/changelogs/Steelpoint-ert access.yml b/html/changelogs/Steelpoint-ert access.yml new file mode 100644 index 00000000000..373f936c8f9 --- /dev/null +++ b/html/changelogs/Steelpoint-ert access.yml @@ -0,0 +1,8 @@ +author: Steelpoint + +delete-after: True + +changes: + - rscadd: "ERT base equipment rooms are now access restriction to each role." + - tweak: "ERT commander spawns wearing hardsuit for identification." + - rscadd: "Two boxes of metal foam grenades added for ERT engineers." \ No newline at end of file From 9bf58de009430e41df3e2de7ed6268cbd145fb79 Mon Sep 17 00:00:00 2001 From: TheVekter Date: Tue, 3 Feb 2015 08:25:50 -0600 Subject: [PATCH 091/122] Added red button --- code/game/machinery/computer/arcade.dm | 3 ++- code/game/objects/items/toys.dm | 27 +++++++++++++++++++++++++- 2 files changed, 28 insertions(+), 2 deletions(-) diff --git a/code/game/machinery/computer/arcade.dm b/code/game/machinery/computer/arcade.dm index b0f9f5fb88e..7f1f9bdb3ed 100644 --- a/code/game/machinery/computer/arcade.dm +++ b/code/game/machinery/computer/arcade.dm @@ -28,7 +28,8 @@ /obj/item/toy/nuke = 2, /obj/item/toy/minimeteor = 2, /obj/item/toy/carpplushie = 2, - /obj/item/toy/foamblade = 2 + /obj/item/toy/foamblade = 2, + /obj/item/toy/redbutton = 2 ) /obj/machinery/computer/arcade/New() diff --git a/code/game/objects/items/toys.dm b/code/game/objects/items/toys.dm index db374f48f67..b93e780dfbf 100644 --- a/code/game/objects/items/toys.dm +++ b/code/game/objects/items/toys.dm @@ -1091,4 +1091,29 @@ obj/item/toy/cards/deck/syndicate desc = "An adorable stuffed toy that resembles a space carp." icon = 'icons/obj/toy.dmi' icon_state = "carpplushie" - w_class = 2.0 \ No newline at end of file + w_class = 2.0 + +/* + * Toy big red button + */ +/obj/item/toy/redbutton + name = "big red button" + desc = "A big, plastic red button. Reads 'From HonkCo Pranks©' on the back." + icon = 'icons/obj/assemblies.dmi' + icon_state = "bigred" + w_class = 2.0 + var/cooldown = 0 + +/obj/item/toy/redbutton/attack_self(mob/user) + if (cooldown < world.time) + cooldown = (world.time + 300) // Sets cooldown at 30 seconds + user.visible_message("[user] presses the big red button.", "You press the button, it plays a loud noise!", "The button clicks loudly.") + //spawn(5) //gia said so + playsound(src, 'sound/effects/explosionfar.ogg', 50, 0, surround = 0) + for(var/mob/M in range(10, src)) // Checks range + if(!M.stat && !istype(M, /mob/living/silicon/ai)) // Checks to make sure whoever's getting shaken is alive/not the AI + sleep(8) // Short delay to match up with the explosion sound + shake_camera(M, 2, 1) // Shakes player camera 2 squares for 1 second. + + else + user << "Nothing happens." \ No newline at end of file From de0175bfee44d42ac100de7a35bebd359fe25fb4 Mon Sep 17 00:00:00 2001 From: TheVekter Date: Tue, 3 Feb 2015 08:37:48 -0600 Subject: [PATCH 092/122] Blargh removed commented code I'm fuckin' tired --- code/game/objects/items/toys.dm | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/code/game/objects/items/toys.dm b/code/game/objects/items/toys.dm index b93e780dfbf..6c21bea8066 100644 --- a/code/game/objects/items/toys.dm +++ b/code/game/objects/items/toys.dm @@ -14,6 +14,7 @@ * Fake meteor * Carp plushie * Foam armblade + * Toy big red button */ @@ -1108,7 +1109,6 @@ obj/item/toy/cards/deck/syndicate if (cooldown < world.time) cooldown = (world.time + 300) // Sets cooldown at 30 seconds user.visible_message("[user] presses the big red button.", "You press the button, it plays a loud noise!", "The button clicks loudly.") - //spawn(5) //gia said so playsound(src, 'sound/effects/explosionfar.ogg', 50, 0, surround = 0) for(var/mob/M in range(10, src)) // Checks range if(!M.stat && !istype(M, /mob/living/silicon/ai)) // Checks to make sure whoever's getting shaken is alive/not the AI From 4fa0998b6d5afbf57ba66e17c6e822a37661e99a Mon Sep 17 00:00:00 2001 From: paprka Date: Tue, 3 Feb 2015 15:24:08 -0800 Subject: [PATCH 093/122] adds signs to the map --- _maps/map_files/TgStation/tgstation.2.1.3.dmm | 16 ++++++++++------ icons/obj/decals.dmi | Bin 29461 -> 29541 bytes 2 files changed, 10 insertions(+), 6 deletions(-) diff --git a/_maps/map_files/TgStation/tgstation.2.1.3.dmm b/_maps/map_files/TgStation/tgstation.2.1.3.dmm index c621606d621..04feb549c9c 100644 --- a/_maps/map_files/TgStation/tgstation.2.1.3.dmm +++ b/_maps/map_files/TgStation/tgstation.2.1.3.dmm @@ -4053,7 +4053,7 @@ "bzW" = (/obj/machinery/atmospherics/unary/vent_pump{dir = 4; on = 1},/obj/structure/extinguisher_cabinet{pixel_x = 5; pixel_y = -32},/turf/simulated/floor/plasteel,/area/hallway/primary/central) "bzX" = (/obj/machinery/light,/obj/machinery/atmospherics/pipe/simple/supply/hidden{dir = 4},/turf/simulated/floor/plasteel,/area/hallway/primary/central) "bzY" = (/obj/machinery/atmospherics/pipe/simple/supply/hidden{dir = 4},/turf/simulated/floor/plasteel,/area/hallway/primary/central) -"bzZ" = (/obj/structure/disposalpipe/junction{icon_state = "pipe-j2"; dir = 2},/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden,/obj/machinery/atmospherics/pipe/simple/supply/hidden{dir = 4},/turf/simulated/floor/plasteel,/area/hallway/primary/central) +"bzZ" = (/obj/structure/sign/directions/security{dir = 1; icon_state = "direction_sec"; pixel_x = 32; pixel_y = 40; tag = "icon-direction_sec (NORTH)"},/obj/structure/sign/directions/medical{dir = 4; icon_state = "direction_med"; pixel_x = 32; pixel_y = 32; tag = "icon-direction_med (EAST)"},/obj/structure/sign/directions/evac{dir = 4; icon_state = "direction_evac"; pixel_x = 32; pixel_y = 24; tag = "icon-direction_evac (EAST)"},/turf/simulated/floor/plasteel{dir = 4; icon_state = "bluecorner"},/area/hallway/primary/central) "bAa" = (/obj/structure/disposalpipe/segment{dir = 4},/obj/machinery/atmospherics/pipe/simple/supply/hidden{dir = 4},/turf/simulated/floor/plasteel,/area/hallway/primary/central) "bAb" = (/obj/structure/disposalpipe/segment{dir = 4},/obj/machinery/atmospherics/pipe/manifold/supply/hidden{tag = "icon-manifold-b-f (EAST)"; dir = 4},/turf/simulated/floor/plasteel,/area/hallway/primary/central) "bAc" = (/obj/structure/disposalpipe/segment{dir = 4},/obj/machinery/status_display{pixel_y = -32},/turf/simulated/floor/plasteel,/area/hallway/primary/central) @@ -6307,7 +6307,9 @@ "cro" = (/obj/structure/window/reinforced{dir = 1},/obj/structure/window/reinforced,/obj/machinery/atmospherics/pipe/simple/supply/hidden{dir = 4},/turf/simulated/floor/plating,/area/aisat) "crp" = (/obj/machinery/door/airlock/maintenance_hatch{req_access_txt = "65"},/obj/machinery/atmospherics/pipe/simple/supply/hidden{dir = 4},/turf/simulated/floor/plasteel{icon_state = "dark"},/area/turret_protected/aisat_interior) "crq" = (/obj/machinery/iv_drip,/turf/simulated/floor/plasteel{icon_state = "white"},/area/medical/virology) +"crr" = (/obj/machinery/atmospherics/pipe/simple/supply/hidden,/obj/structure/sign/directions/security{dir = 4; icon_state = "direction_sec"; pixel_x = 32; pixel_y = -24; tag = "icon-direction_sec (EAST)"},/obj/structure/sign/directions/evac{dir = 4; icon_state = "direction_evac"; pixel_x = 32; pixel_y = -32; tag = "icon-direction_evac (EAST)"},/obj/structure/sign/directions/engineering{pixel_x = 32; pixel_y = -40},/turf/simulated/floor/plasteel,/area/hallway/primary/port) "crs" = (/obj/structure/cable{d1 = 1; d2 = 4; icon_state = "1-4"},/turf/simulated/floor/plasteel{icon_state = "dark"},/area/turret_protected/aisat_interior) +"crt" = (/obj/structure/sign/directions/evac{dir = 4; icon_state = "direction_evac"; pixel_x = 32; pixel_y = 28; tag = "icon-direction_evac (EAST)"},/obj/structure/sign/directions/security{dir = 1; icon_state = "direction_sec"; pixel_x = 32; pixel_y = 36; tag = "icon-direction_sec (NORTH)"},/turf/simulated/floor/plasteel,/area/hallway/primary/central) "cru" = (/obj/machinery/atmospherics/pipe/simple/supply/hidden,/turf/simulated/wall/r_wall,/area/aisat) "crv" = (/obj/machinery/door/poddoor/shutters{id = "teledoor"; name = "AI Satellite Teleport Access"},/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden,/turf/simulated/floor/plasteel{icon_state = "dark"},/area/aisat) "crw" = (/obj/machinery/door/airlock/maintenance_hatch{req_access_txt = "65"},/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"},/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{dir = 4},/turf/simulated/floor/plasteel{icon_state = "dark"},/area/turret_protected/aisat_interior) @@ -6470,6 +6472,8 @@ "cux" = (/obj/machinery/power/port_gen/pacman,/obj/structure/cable,/turf/simulated/floor/plasteel{icon_state = "dark"},/area/ai_monitored/storage/secure) "cuy" = (/obj/structure/table,/obj/item/stack/sheet/mineral/plasma{layer = 2.9},/turf/simulated/floor/plasteel{icon_state = "dark"},/area/ai_monitored/storage/secure) "cuz" = (/obj/docking_port/stationary{dir = 2; dwidth = 11; height = 22; id = "whiteship_ss13"; name = "SS13 Arrival Docking"; width = 35},/turf/space,/area/space) +"cuA" = (/obj/structure/sign/directions/medical{dir = 4; icon_state = "direction_med"; pixel_x = 32; pixel_y = -24; tag = "icon-direction_med (EAST)"},/obj/structure/sign/directions/science{dir = 4; icon_state = "direction_sci"; pixel_x = 32; pixel_y = -32; tag = "icon-direction_sci (EAST)"},/obj/structure/sign/directions/engineering{pixel_x = 32; pixel_y = -40},/turf/simulated/floor/plasteel,/area/hallway/primary/central) +"cuB" = (/obj/structure/disposalpipe/junction{icon_state = "pipe-j2"; dir = 2},/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden,/obj/machinery/atmospherics/pipe/simple/supply/hidden{dir = 4},/obj/structure/sign/directions/engineering{pixel_x = -32; pixel_y = -40},/obj/structure/sign/directions/medical{dir = 4; icon_state = "direction_med"; pixel_x = -32; pixel_y = -24; tag = "icon-direction_med (EAST)"},/obj/structure/sign/directions/evac{dir = 4; icon_state = "direction_evac"; pixel_x = -32; pixel_y = -32; tag = "icon-direction_evac (EAST)"},/turf/simulated/floor/plasteel,/area/hallway/primary/central) (1,1,1) = {" aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa @@ -6583,11 +6587,11 @@ aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaajxaekaekaCXaOualQaCZaDaaDbaDcaDdaDealQaDgaDfavMaBGaDhaAvaDiaDjaDkaDlaDmaDnayuaDoazEazEazEazEaDpaDqbRJaDsaDtaDuaBYaBYaBYaBYaBYaBYaBYaAEaaaazNaDvaDwaDxaDyaDzazNaaaaxoaxuaxvaDAaDBaDCaDDaDEaxvapNaDFaxxaxxaDGaATaDHaATaDIaxxaxxaDJaDKaxKaDLaxKayQamwayRacAaeUapTapTapTapTapTaDMaDNaDOaDPaDQaDRaDRaDRaDSayZaDTayZaDUaDVaDWaBdaBeaApallallallallallallallallallallallallallaDXallallallallawTaBtaDYaDZaEaaDZaEbaEcaEdaEdaEeaEfaEfaEfaEfaEfaEgaEhaEiaEiaEiaEiaEiaEiaBDaEjaEkaElaBDaBDaBDaafaafaafaafaafaafaafaafaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaeZaEmaEmaEnalQaEoalQaEoalQaEoalQaEoalQaDgaEpavMaBGaEqaAvaEraEsaEtaEuaEvaEwayuaExazEaEyaEzaEzaEAaEBaECaEDaEEaEFaEGaEGaEGaEGaEGaEHaEIaAEaafazNaEJaDwaEKaELaEMazNaafaxoaENaEOaEPaEQaDCaERaESaETaEUaEVaxKaEWaEXaDJaDJaDJaEYaEZaxKaFaaFaaxKaDJaxKaFbaoeaFcacAaeUaeUaeUaeUaeUamXawvaFdaFeaFfaFgaFeaFhaFeaFiaFeaFjayZaFkaFlaFmaBdaFnaFoaFpaFqaFraFsaFtaFuaFuaFuaFuaFvaFwaFuaFuaFxaFyaFzaFAaBpaFBaFCaFDaFEaFFaFEaFGaFHaEfaEfaFIaEfaFJaFKaFLaEfaEiaFMaEiaFNaFOaFPaFQaFRaFSaFTaFUaFVaFWaFXaFYaaaaaaaaaaaaaaaaafaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaFZaaaaaaaaaaaaaaaaaaaaaaaa aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaeZalQalQaGaalQaEoalQaEoaGbaEoalQaEoalQaDgaEpavMaBGaGcaAvaAvaGdaGeaGfaGgaAvayuayuayuayuaGhazEazEaGiayuaGjaGkaBYaBYaBYaGlaBYaBYaBYaGmaAEaaaazNazNaGnaGoaGnazNazNaaaaxoaxuaxvaGpaGqaGraGsaGtaxvapNaGuaxKaGvaEXaDJaDJaDJaEYaGwaxKaAgaAgaxKaCsaxKaGxaGyaGzacAamXacAacAacAacAacAaGAaGBayZaGCaAmayZaGDayZaGEayZaGFayZaGGaGHaFmaBdaGIaGJaGKaGLaGMaGMaGNaGMaGMaGOaGMaGPaGQauwauwauwauwaGRaGSaGTaGUaGVamlaGWaGWaGWaGWaGXaEfaGYaGZaHaaHbaHcaHdaEfaHeaHfaEiaHgaHhaHiaHjaFRaHkaEjaEkaCTaHlaHmaFYaaaaaaaaaaaaaaaaafaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa -aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaeZaHnaHnaHoalQaEoalQaEoalQaEoalQaEoalQaDgaEpavMaHpaHqaHraHsaHsaHtaHuaxaaHvaHwaHxaHyayuaHzazEazEaHAayuaHBaHCaBYaHDaHEaOwaHGaHHaHIaHJaAEaaaaafaaaaHKaHLaHKaaaaafaaaaxoaxuaxvaDCaHMaHNaHOaHPaxvapNasJaxKaHQaHRaDJaDJaDJaHSaHTaxKaaaaaaaHUaHVaHWaHXaHYaHZaIaaIbaHUaaaaaaaIcaIdaIeaIfayZaIgaAmaAmaAmaCxaAmaAmaAmayZaBdaIhaIiaBdaBdaApaIjaIkaIkaIlaImaInaIkaIoaIkaIpaIqaIpaIraIpaIsaGWaGWaItaGWaGWaGWaGWaIuaIvaGWaGXaEfaGZaIwaIxaIyaIzaIAaEfaIBaICaIDaIEaIFaIGaIHaIIaIJaBAaIKaFVaFWaILaFYaaaaaaaaaaaaaaaaafaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa +aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaeZaHnaHnaHoalQaEoalQaEoalQaEoalQaEoalQaDgaEpavMaHpaHqaHraHsaHsaHtaHuaxaaHvaHwaHxaHyayuaHzazEazEaHAayuaHBaHCaBYaHDaHEaOwaHGaHHaHIaHJaAEaaaaafaaaaHKaHLaHKaaaaafaaaaxoaxuaxvaDCaHMaHNaHOaHPaxvapNasJaxKaHQaHRaDJaDJaDJaHSaHTaxKaaaaaaaHUaHVaHWaHXaHYbzZaIaaIbaHUaaaaaaaIcaIdaIeaIfayZaIgaAmaAmaAmaCxaAmaAmaAmayZaBdaIhaIiaBdaBdaApaIjaIkaIkaIlaImaInaIkaIoaIkaIpaIqaIpaIraIpaIsaGWaGWaItaGWaGWaGWaGWaIuaIvaGWaGXaEfaGZaIwaIxaIyaIzaIAaEfaIBaICaIDaIEaIFaIGaIHaIIaIJaBAaIKaFVaFWaILaFYaaaaaaaaaaaaaaaaafaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaanTaekaekaCXaCYalQalQalQalQalQalQaIMalQaDgaINavMaBGaxaaIOaIPaIPaIPaIPaIPaIPaIPaIQaxaayuaIRaISaIRayuayuaITaIUaIVaADaADaADaADaIVaIWaIXaAEaIYaIZaIZaJaaJbaJaaIZaIZaJcaxoaJdaxvaJeaxvaJfaJfaJgaxvaJhaJiaxKaxKaxKaAgaDHaAgaxKaxKaxKaHUaHUaHUaJjaHYaHYaHYaHYaHYaJkaHUaHUaHUaIcaJlaIeaJmayZayZayZayZayZayZayZayZayZayZaJnaJoaJpaJqaJraJsaJtaJuaIkaJvaImaJwaJxaJwaIpaJyaJzaIpaJAaIpaJBaJCaJDaJEaJFaJFaJFaJGaJHaJIaGWaGXaEfaJJaIwaJKaIyaIzaJLaEfaJMaJNaJOaJPaJQaJRaJSaJTaJUaJVaJWaCTaHlaHmaFYaaaaafaafaafaafaafaafaafaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaanTaekaJXaekaeZaeZaeZaeZaekaBEaJYafOaqpaJZaxaaKaaKbaKbaKcaKbaKdarpaKeaKfaxaaKgaKhaKiaKiaKjaKiaKkaKlaKiaKiaKiaKiaKiaKiaKiaKmaKnaKoaKpaKqaKqaKraKsaKqaKqaKqaKtaKuaKvaKraKqaKqaKqaKwaGyaKxaHYaKyaKzaHZaIaaIaaIaaHXaHYaHYaKAaHYaKBaKCaKDaKEaKFaKGaKHaKIaHYaHYaKAaKJaKKaKLaKMaKNaKOaKPaKQaHYaKRaHYaBdaKSaKTaKUaJoaKVaKWaKXaKYaKZaLaaIkaLbaLcaLdaLeaLfaIpaLgaJzaLhaLiaIpaGWaLjaLkaLlaLmaLnaLoaLpaLqaLraGWaGXaEfaLsaLtaLuaLvaLwaLxaEfaLyaLzaEiaLAaLAaLAaLAaEiaLBaCRaJWaCTaBDaBDaBDaLCaLCaLCaLDaLDaLDaafaafaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaavMaylavMavMavMavMavMavMaylavMaaaaqpaAuaLEaKaaLFaLGaLHaLHaLIarpaLJaKfaLKaLLaKhaLMaLNaLOaLPaLQaLRaKiaKiaKiaKiaKiaKiaKiaKmaKiaKhaKiaKiaKiaLSaLTaLUaLUaLUaLUaLVaLUaLWaLUaLUaLXaKhaGyaHYaHYaHYaHYaHYaHYaHYaHYaHYaHYaHYaKAaHYaLYaLZaMaaMbaMcaMdaMeaMfaHYaHYaKAaHYaHYaHYaHYaHYaHYaHYaHYaHYaMgaHYaBdaKUaKUaKUaMhaMiaMjaMkaMlaMmaMnaIkaMoaImaMpaIkaIkaIpaMqaJzaMraLiaMsaIpaGWaGWaGWaGWaGWaGWaMtaMuaMvaGWaGXaEfaMwaGZaMxaMyaGZaMzaEfaEiaEiaEiaEiaEiaEiaMAaEiaEjaEjaEkaCTaMCaMDaBDaMEaMFaMGaMHaMIaLDaafaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa -aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaagaafaafaafaafaztaqpavMatBavMaNTaNUaNVaNWavMatBavMavMaqpaBGaxaaKaaMJaMKaLHaLHaLIarpaMLaKfaxaaLLaKhaKiaMMaMNaMNaMNaMOaMPaMQaMNaMRaMNaMNaMNaMSaMNaMTaMNaMNaMNaMUaMVaMWaMXaMXaMYaMZaNaaNbaNcaKiaNdaKhaGyaHYaNeaHYaNfaNfaNfaNfaNfaNfaNfaNfaNgaNfaNfaNfaNfaNfaNfaNfaNfaNfaNfaNfaNhaNfaNfaNfaNfaNfaNfaNfaNfaHYaHYaHYaBdaNiaNiaNiaNiaNiaNjaNkaJsaKZaNlaIkaNmaNnaNoaIkaNpaIpaNqaNraNsaLiaNtaIpaGWaNuaNvaNwaNxaNwaNyaNzaNAaGWaGXaEfaNBaNBaNCaNDaNEaNEbqoaEfaNGaNHaNIaBDaNJaNKaNLaEjaEjaNMaNNaBDaNOaBDaNPaNQaNRaNRaNSaLDaLDaLDaLDaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa +aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaagaafaafaafaafaztaqpavMatBavMaNTaNUaNVaNWavMatBavMavMaqpaBGaxaaKaaMJaMKaLHaLHaLIarpaMLaKfaxaaLLaKhaKiaMMaMNaMNaMNaMOaMPaMQaMNaMRaMNaMNaMNaMSaMNaMTaMNaMNaMNaMUaMVaMWaMXaMXaMYaMZaNaaNbaNcaKicrraKhaGyaHYaNeaHYaNfaNfaNfaNfaNfaNfaNfaNfaNgaNfaNfaNfaNfaNfaNfaNfaNfaNfaNfaNfaNhaNfaNfaNfaNfaNfaNfaNfaNfaHYaHYaHYaBdaNiaNiaNiaNiaNiaNjaNkaJsaKZaNlaIkaNmaNnaNoaIkaNpaIpaNqaNraNsaLiaNtaIpaGWaNuaNvaNwaNxaNwaNyaNzaNAaGWaGXaEfaNBaNBaNCaNDaNEaNEbqoaEfaNGaNHaNIaBDaNJaNKaNLaEjaEjaNMaNNaBDaNOaBDaNPaNQaNRaNRaNSaLDaLDaLDaLDaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaafaafarpavMaylavMaBGaxaaxaaMBavMaylavMaNXaNYaNZaxaaKaaOaaOaaKcaOaaKdarpaObaKfaxaaOcaOcaOcaOdaOcaOeaOeaOeaOeaOeaOfaOgaOeaOhaOeaOeaOeaOiaOjaOkaOjaOlaOmaOnaKiaKiaOoaOpaOqaOraKlaKiaNdaOsaOsaHYaHYaHZaHUaHUaHUaHUaHUaHUaHUaHUaOtbUPbUObUQbUObUObUObVMbUObWHbUObXtaOtaHUaHUaHUaHUaHUaHUaHUaHUaHXaHYaHYaIkaOAaOBaOCaOCaOCaOCaOCaJsaODaOCaIkaOEaOFaOGaIpaIpaIpaOHaOIaIpaIpaIpaIpaGWaNwaOJaOKaOKaOKaOLaOMaNwaGWaGXaEfaONaGZaNCaNDaGZaGZaOOaEfaOPaOQaORaBDaEjaOSaOTaOUaOUaOVaOWaOXaOYaBDaOZaPaaNRaPbaNRaPcaPdaPdaPcaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaeaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaFZaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaavMaPeaxaavNaNZaxaaxaaPfavNaxaaPeaNZaxaaxaaxaaPgaPhaPhaPhaPhaPhaPhaPhaPiaxaaOcaPjaOcaPkaOeaPlaPmaPnaPoaPpaPmaPqaPraPsaPtaPuaPvaOiaPwaPxaPyaOlaPzaOnaOnaPAaOnaOnaOsaPBaPCaPDaPEaOsaOsaPFaHYaHZaHUaaaaaaaaaaaaaaaaaaaaaaOtaPGaPHaPIaPJaPKaPLaPMaPNaPOaPPaPQaOtaaaaaaaaaaaaaaaaaaaaaaHUaHXaHYaPRaIkaPSaOCaOCaOCaOCaOCaPTaJsaODaPUaPVaJsaPWaPXaIpaPYaPZaQaaQbaQcaQdaQeaQfaIpaNwaQgaQhaQhaQhaQiaQjaNwaGWaQkaEfaQlaQlaNCaNDaQmaQmaQnaEfaEfaQoaEfaBDaQpaNKaNLaQqaQqaNMaNNaBDaBDaBDaLDaQraQsaQtaLDaLDaLDaLDaQuaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaeaaaaaaaaaaaaaaaaaaavMaQvaQwaQwaQwaQwaQwaQwaQwaQwaQvaQwaQxaxaaxaaLLaxaaQyaQzaxaaQAaQBaxaaQCaQDaOcaQEaOcaPkaOeaQFaPmaQGaPmaPmaPmaPqaQHaPmaPmaPmaPvaOiaQIaPxaPxaOlaPzaOnaQJaQKaQKaQLaOsaQMaQNaQOaQPaQQaQRaHYaHYaHZaHUaaaaaaaaaaaaaOtaOtaOtaOtaQSaQTaQUaQVaQWaQXaQYaQZaRaaRbaRcaOtaOtaOtaOtaaaaaaaaaaaaaHUaHXaHYaHYaRdaOCaReaRgaRgaRgaRhaRiaRjaRkaRlaRmaRnaRoaRpaRqaRraRraRsaRtaRuaRuaRvaRraRwaRxaRyaRzaRAaRBaRCaQjaNwaGWaGXaEfaGZaGZaNCaNDaGZaGZaGZaRDaREaGZbqpaBDaRGaRHaRIaQqaQqaRJaRKaRLaBDaRMaRNaPaaNRaROaNRaRPaPdaPdaRQaRRaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa @@ -6597,9 +6601,9 @@ aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaWraWsatBaWsaxaaxaaRTaWtaWuaWvaWvaWvaWwaWxaWyaRTaWzaQEaUQaWAaWAaWAaWBaWCaWAaWDaWEaWFaWGaWHaWHaWIaWJaOeaWKaWLaWMaWNaWOaWPaWPaWQaWRaWRaWSaWSaWSaWSaWSaWTaOsaHYaHYaWUaWVaWWaWXaWYaWZaOtaXaaXbaXcaXdaXeaXfaXfaXgaXhaXiaXjaXkaXlaXmaXcaXnaXaaOtaWZaWYaXoaXpaWVaXqaHYaHYaRdaOCaXraXsaOCaOCaOCaXsaOCaODaOCaPUaPUaOCaOCaXtaXuaXvaUeaUeaUeaUeaXwaXxaIpaXyaXzaQhaXAaXBaXCaXzaXDaGWaXEaXFaXFaXGaXHaXIaXJaXKaXLaXJaXJaXJaXMaXNaXOaXPaXPaXPaXPaXPaXQaXRaXNaXSaXTaXUaXVaNRaXWaLDaaaaafaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaavMavMavMaBGaxaaXXaTraXYaWvaWvaWvaXZaYaaTraRTaYbaYcaUQaWAaYdaYeaYfaYgaWAaYhaYiaYjaOeaYkaYlaYmaRZaOeaYnaYoaYpaYpaYpaYpaYqaYpaYpaYraYsaYsaYsaYtaYsaYuaYvaKAaKAaYwaYxaYxaYxaYxaYxaYxaYyaYzaYAaYBaXgaYCaYDaYDaYEaYFaYDaYCaXiaYGaYHaYIaYJaYHaYHaYHaYHaYHaYHaYKaKAaKAaIkaYLaYMaYNaYOaOCaOCaOCaYPaYQaYRaOCaYSaYTaYUaIpaIpaIpaYVaYWaYWaYWaIpaIpaIpaYXaQhaQhaYYaYZaZaaZbaYYaGWaZcaXFaZdaEfaZeaZfaZgaZhaZiaZjaTgaUuaZkaBDaZlaEjaZmaQqaQqaZmaEjaZnaBDaZoaZpaZqaROaNRaNSaLDaLDaLDaLDaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaavMaZraNZaZsaRTaTtaZtaTtaTraZuaZvaZwaTtaRTaZxaZyaZzaWAaWAaWAaZAaZBaWAaZCaZDaZEaOeaYkaYlaYmaRZaOeaYnaYoaYpaZFaZGaZGaZGaZHaYpaZIaZJaZKaZLaYvaYvaYvaYvaHYaHYaZMaZNaZOaZPaZQaZRaZSaZTaZUaZVaZWaZXaYDaYDaZYaZZaZYaYDaYDbaababbacbadbaebafbagbahbaibajaYHaXqaHYaHYaIkaIkaIkaIkaIkbakaRdbakbalbamaIkaIkaIkaIkaIkbanbaobaobaobaobaobaobapbaobanaYYbaqbaqaYYbaraXFaXFaXFbanaZcaXFaZdaEfaEfaEfbasbatbasaEfbasaEfaEfaBDaBDbaubaubaubaubaubauaBDaBDbavaNRbawaROaNRaNRaRQaPdaPdaRQaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa -aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaafaafaafaafaqpaqpavMavMavMavMavMavMavMavMaqpaqparpaQyaxaaRTaRTaRUaRTaRTaRTaRVaRTaRTaRTbaxbaybazaWAbaAbaBaZAbaCaWAbaDbaEbaDaOeaYkaYlaYmaRZaOeaYnaYoaYpaZGbaFbaFaZGbaFaYpaZIbaGbaHbaHbaIbaJbaKaYvbaLaHYaWUbXubaNbaObaPbaQbaQbaRbaSbaTaZWbaUaYDaYDaZYbaVaZYaYDaYDbaWbabbaXbaYbaZbbabbbbbcbajbbdaYHaXqbbeaHYaGybbfaXFaXFaXFaXFaXFaXFaXFaXFbbgaXFaXFaXFaXFbbhaXFaXFaXFaXFaXFaXFaXFaXFbbfaXFaXFaXFaXFbaraXFaXFaXFbbibbjaXFaXFbbkaXFaXFaXFbblaXFaXFaXFaXFaXFbbhbbmaXFaXFaXFaXFaXFaXFbbfbbnaRNaNRbbobbpbbqbbraLDaLDaLDaQuaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa +aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaafaafaafaafaqpaqpavMavMavMavMavMavMavMavMaqpaqparpaQyaxaaRTaRTaRUaRTaRTaRTaRVaRTaRTaRTbaxbaybazaWAbaAbaBaZAbaCaWAbaDbaEbaDaOeaYkaYlaYmaRZaOeaYnaYoaYpaZGbaFbaFaZGbaFaYpaZIbaGbaHbaHbaIbaJbaKaYvbaLaHYaWUbXubaNbaObaPbaQbaQbaRbaSbaTaZWbaUaYDaYDaZYbaVaZYaYDaYDbaWbabbaXbaYbaZbbabbbbbcbajbbdaYHaXqbbecrtaGybbfaXFaXFaXFaXFaXFaXFaXFaXFbbgaXFaXFaXFaXFbbhaXFaXFaXFaXFaXFaXFaXFaXFbbfaXFaXFaXFaXFbaraXFaXFaXFbbibbjaXFaXFbbkaXFaXFaXFbblaXFaXFaXFaXFaXFbbhbbmaXFaXFaXFaXFaXFaXFbbfbbnaRNaNRbbobbpbbqbbraLDaLDaLDaQuaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaavMavQavPavPavPavPavPavPavPavPavQavPbbsbbtaxabbuaRWbbvaWPaWPaWPbbwbbxbbyaOcbbzbbAbbBaWAaWAaWAbbCbbDaWAaOeaOeaOeaOeaYkaYlbbEbbFaOeaYnaYoaYpaZGbbGaZGbaFbbHaYpaZIbbIbaHbaHbaHbbJbbKaYvbbLaHYaWUbXvbbMbaObbNbbObbPbbQbbRbbSaZWbbTaZYaYDbbUbbVbbUaYDaZYbbWbabbbXbbYbbZbcabcbbbcbajbajaYHbccaHYaHYaGybbfaXFaXFaXFaXFaXFaXFaXFaXFbcdaXFaXFaXFaXFaXFaXFbcebcfbcfbcfbcgaXFaXFbbfaXFaXFaXFaXFbaraXFaXFbchaWbbciaWbaWbaWbaWbaWbaWbbcjaWbaWbaWbaWbaWbaWbaWbaWbaWbaWbaWbaWbbckbclbcmbcnbcnbcoaROaNRaNRbcpaPdaPdbcpaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa -aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaafavMawZaxaawZaxbaxaaxaaxcawZaxaawZaxbaxabcqaHqbcrbcsbctbcrbcrbcrbcubcvaOcaOcaOcbcwaUQaWAaYdbcxbcybczaWAbcAbcBbcAaOeaOeaOebcCbcDaOcaYnaYoaYpbcEaZGbaFbcFbcGaYpaZIaYvbcHbaHbaHbcIbcJbcKbcLaHYaWUbXvbcMbaObbNbcNbcObcPbaSbaOaZWbcQbcRaYDbcSbcTbcUaYDbcVbcWbabbcXbcYbcZbdabdabdbbajbdcaYHbddbdeaHYaGybbfaXFaXFbdfaXFbdgbdhbdhbdhbdibdhbdhbdhbdjaXFaXFaXFaXFaXFaXFbdkbdlbdmbbfaXFaXFaXFaXFbarbdnbdobdpbdqbdraXFaXFaXFaXFaXFbdsbdtaXFaXFaXFaXFaXFaXFaXFaXFaXFaXFaXFaXFaXFbbfbdubdvbdwbdxaROaNRaNSaLDaLDaLDaLDaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaeaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa +aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaafavMawZaxaawZaxbaxaaxaaxcawZaxaawZaxbaxabcqaHqbcrbcsbctbcrbcrbcrbcubcvaOcaOcaOcbcwaUQaWAaYdbcxbcybczaWAbcAbcBbcAaOeaOeaOebcCbcDaOcaYnaYoaYpbcEaZGbaFbcFbcGaYpaZIaYvbcHbaHbaHbcIbcJbcKbcLaHYaWUbXvbcMbaObbNbcNbcObcPbaSbaOaZWbcQbcRaYDbcSbcTbcUaYDbcVbcWbabbcXbcYbcZbdabdabdbbajbdcaYHbddbdecuAaGybbfaXFaXFbdfaXFbdgbdhbdhbdhbdibdhbdhbdhbdjaXFaXFaXFaXFaXFaXFbdkbdlbdmbbfaXFaXFaXFaXFbarbdnbdobdpbdqbdraXFaXFaXFaXFaXFbdsbdtaXFaXFaXFaXFaXFaXFaXFaXFaXFaXFaXFaXFaXFbbfbdubdvbdwbdxaROaNRaNSaLDaLDaLDaLDaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaeaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaarpavMbdyavMaBGaxaaxabdzavMbdAavMayqbdBbdCbdCbdDbdEbdFbdGbdHbdIbdJbdKbdLbdMbdMbdNbdOaWAaWAaWAbdPbdQaWAaOcaOcaOcaOcbdRaVbbdSbdTaVbbdUaYoaYpbdVaZGaZGbdWbdXaYpbdYaYvbdZbaHbaHbeabebbecbedaHYaWUaYxbaObeebaPbaPbefbaRbaSbegbehaXfbeibejbekbekbekbelbemaXkbenbeobepbeqberbajbesbajbetaYHaXqaHYaHYbeubeubeubeubeubeubeubevbewbewbexbeybeybevbezbezbezbezbezbeAbeAbeBbeCbeAbeAbeAbeAbeDaXFbeEbeFbeGbeHbeIaXFaXFaXFbeJbeJbeKbeKbeKbeKbeKbeLbeMbeMbeMbeNbeMbeObePbeMbeMbeQbeRbeRbeRbeRbeSbeTbeUbeVaLDaafaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaafaztaqpazuatBavMaymaynbeWbeXavMatBazuavMaqpaztarpbdDbeYbeZbeZbeZbfabdJbfbbfcbfdbfdbfebffaWAaYdbfgbdPbfhaWAbfibfiaQEaQEbfjbfkbflbfmbflbflbfnaYpbfobfpaZGaZGbdXbfqbfraYvbfsbaHbaHbeabftbfubedaHYbfvaYxbfwaYAbfxbfybfzbfAbaSbfBaYxaafbfCbfDbfDbfDbfEbfFbfGaafaYHbfHbfIbfJbfKbajbfLbajbfMaYHaXqaHYbfNbeubfObotbfQbfRbfSbeubqnbfUbfVbfWbfXbfXbfXbfYbfZbgabgbbezbgcbgdbgebgdbgdbgfbggbeAbeGbghbeGbeGbeGbgibeIbeIbgjbeIbgkbgkbeKbglbgmbgnbeKbgobgpbgobeKbgqbgrbgqbeRbgsbgtbgsbeRbgubgvbeRbgwbgxaLDaLDaLDaafaafaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaafaafaafaafavMbdyavMavMavMavMavMavMbdAavMaafaafaafaaabdDbgybdDbgzbeZbgAbgBbcraVbbgCbgDbgEbgFbgGbgGbgGbgGbgGbgGbgHbgIbgJbfdbgKbgLaYpaYpaYpaYpaYpaYpbgMaYpaYpaYpbgNbgObgPbgQbgRbaHbaHbeabgSbecbedaHYbgTaYxbgUaYAaYAaYAaYAbfAbaSbgVaYxaafbfCbfDbgWbgXbgYbfDbgZaafaYHbhabbYbhbbhcbajbesbajbajaYHaXqaHYaHYbeubqqbhebhfbhgbhhbhibfXbhjbfXbhkbfXbfXbhlbfYbhmbhnbhobezbhpbgdbhqbgdbhpbhrbgdbeAbhsbhtbhubhvbeGbhwbeIbhxbhybhzbhAbhAbeKbhBbhCbhDbhEbhFbhGbhHbeKbhIbhJbhKbeRbhLbhMbhLbhNbhObhObeRbhPbgxaaaaafaaaaafaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa @@ -6616,7 +6620,7 @@ aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabnwbkNbkNbkNaYpbkNbkNbkNbwibwibwibwibwjbwkbwkbwibwibwlbwlbwmbwnbuQbwobwpbwqbwrbuQbsnbqHaHZaIcaIcbliblibwsbliblibwtbliaHUaHUaHUbwubwvbsubwwbwxaHUaHUaHUbpubpubpubpubpubpubpubpubpubvhaHYbwybtXbtXbtXbwzbtXbtXbtXbwAbvpbwBbwCbwDbwEbwFbwGbwHbwIbwDbhkbjZbsPbwJbwKbwLbwMbwNbwObrAbrAbrAbwPbwQbwRbwSbwTbwTbwTbwTbwUbwTbwTbwTbwVbwVbwWbwXbwYbwYbwZbxabqibuxbxbbxcbxdbxebxfbxgbxhbrVbrVbFBbFBbFBbrVcfYbrVbtnbgxbsdbsebjobjoaafaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabwibxkbxlbxmbxnbxobxpbwkbxqbxrbxsbxtbxubxvbxwbxxbxybuQbsnbqHaHYaHYaHYbxzaKQbxAaKAbxBbxCbxDaVLaVLaVLbxEbxFbxGbxHbxIaHYaHYaHYaHYaKQaHYaKAaHYaHYaHYbxzaHYbvhaHYbxJbtXbxKbxLbxMbxNbxObtXbxPbxQbxRbxSbwDbwEbwEbxTbxUbxVbwDbhkbxWbsPbrAbxXbxYbxZbwQbyabybbycbydbncbncbeHbyebwTbyfbygbyhbyibyjbykbwTbylbymbynbyobypbwYbyqbyrbysbytbyubyvbywbyxbyybyzbxhchfchfchfchfchfchfchfbrVbtnbgxbsdbsebjoaaaaafaafaafaafaafaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaFZaaaaaaaaaaaaaaaaaaaaaaaa aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaeaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabwkbyBbyCbyDbyEbyFbyGbyHbyIbyJbyKbyLbyMbyNbyObxxbyPbuQbsnbyQaHYaHYaHYaHYaHYaHYaKAaHYbqHaHYaHYaHYaHYaHYbyRbySbyTaHYaHYaHYaHYaHYaHYaHYaKAbyUaHYaHYaHYaHYbvhbyVbyWbtSbyXbyYbyZbyYbzabtXbzbbvpbvqbzcbtXbzdbzebzfbzgbzhbtXbhkbjZbsPbsPbsPbsPbsPbncbncbncbncbncbncbzibgibzjbwTbzkbzlbzmbznbzobzpbwTbzqbzrbzsbztbzubwYbyqbzvbzwbzxbzybzzbzzbzzbzAbzBbxhchfchfctEctDchfchfchfbrVbtnbgxbsdbsebjobjoaafaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa -aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabwibzEbzFbzGbzHbzIbzJbwkbxrbxrbzKbzLbuRbzMbzNbzObzPbuQbzQbzRbzSbzSbzSbzTbzSbzSbzUbzSbzVaHYbzWbzXbzYbzYbzZbAabAbbAcbAdbAeaVLaVLbAfaVLbAgbAhaVLbAibAjbAkbAlaHYaHYbtXbAmbAnbAobtWbApbtXbtWbAqbArbtXbtXbtXbtXbtXbtXbtXbtXbhkbjZbfXbAsbAtbAubAvbAwbAxbAybAzbAAbAwbzibgibABbwTbACbADbAEbAFbAGbAHbwTbAIbAJbAKbALbAMbwYbyqbANbAObuybAPbAQbARbASbATbAUbxhchfchfchfbGLchfchfchfbrVbtnbqtbAWbqvbqwbjoaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaafaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa +aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabwibzEbzFbzGbzHbzIbzJbwkbxrbxrbzKbzLbuRbzMbzNbzObzPbuQbzQbzRbzSbzSbzSbzTbzSbzSbzUbzSbzVaHYbzWbzXbzYbzYcuBbAabAbbAcbAdbAeaVLaVLbAfaVLbAgbAhaVLbAibAjbAkbAlaHYaHYbtXbAmbAnbAobtWbApbtXbtWbAqbArbtXbtXbtXbtXbtXbtXbtXbtXbhkbjZbfXbAsbAtbAubAvbAwbAxbAybAzbAAbAwbzibgibABbwTbACbADbAEbAFbAGbAHbwTbAIbAJbAKbALbAMbwYbyqbANbAObuybAPbAQbARbASbATbAUbxhchfchfchfbGLchfchfchfbrVbtnbqtbAWbqvbqwbjoaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaafaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabwibwibwkbwkbwkbwkbwibwibAXbAYbAZbBabuQbuQbuQbuQbuQbuQbBbbBcaIcaIcaIcaIcbBdbBdbBdbBdbBdbBdbBdbBdbBdbBdbBebBfbBgbBhbBhbBhbBhbBhbBibBhbBhbBjbBhbyebBkbyeaIdaJlbBlbtXbBmbBnbBobBpbBqbtXbBrbxQbBsbBtbBubBvbBwbBxbBybBzbBAbBBbBCbBDbBDbBEbBFbBGbBHbBIbBJbBKbBLbAwbzibgibBMbBMbBMbBMbBMbBMbBMbBMbBMbBNbBNbBNbBNbBNbBNbBObBPbBQbuybuybuybuybuybuybuybxhbrVbrVbrVbrVbrVbrVbrVbrVbtnbgxbBRbBSbjobjoaafaafaafaagaagaagaagaagaagaagaagaafaafaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaafaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabBTaaaaaaaaaaafaaaaaabwlbBUbBVbBWbBXbBYbBZbCabCbbCcbCdbCebCfaaaaaaaafaaabBdbCgbChbCibCjbCkbClbCmbCnbCobCpbCqbCrbBhbCsbCtbCubCvbCwbCvbCvbCxbCybCzbCAbyebyebyebyebtXbCBbCCbCDbCCbCEbtXbCFbvpbCGbCHbCIbCJbCIbCIbCKbCLbCMbCNbCObCObCObCPbCQbvlbCRbCSbCTbCUbCVbAwbzibgibBMbCWbCWbCWbCXbCWbCWbCWbBMbCYbCYbCZbCYbCYbBNbDabDbbqibDcbDdbDebDfbDgbDhbJqbDjbDkbDlbDmbDnbDobDpbDqbDqbDrbDsbDdbDdbjoaafaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaafaafaafaafaafaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaajxaekaeZaekaelaaaaafaaabwlbwlbDtbxrbDubDvbDwbDxbDybDybDzbDAbDBbDCaafbDDbDEbDFbDGbDHbDIbDJbDIbDKbDIbDIbDIbBdbDLbDMbDNbBhbDObDPbDQbDRbDSbCvbDTbBjbBhbDUbDVbDWbDXbDYbDZbEabEbbCCbEcbCCbxQbEdbEebEfbEgbtXbEhbEibCCbCCbEjbEkbmSbmSbmSbmSbmSbElbEmbpGbEnbEobEpbBKbEqbAwbzibgibBMbCWbCWbCWbCWbCWbCWbCWbBMbErbEsbEtbEubEvbBNbEwbExbEybEzbEAbEBbECbEDbEDbEDbEDbEEbEFbEGbDnbjobEHbEIbEJbEJbEKbELbEMaafaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaafaafbENbEObENaafaafaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa diff --git a/icons/obj/decals.dmi b/icons/obj/decals.dmi index fdeab8c4224950f7c583d17fd111acb23d9c4919..030c6b6fb04c0ee79d4c2d71515a0e75833a371a 100644 GIT binary patch delta 9592 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 delta 9512 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 EFV8(2NB{r; From a480ffbc98d7fdb38eb3fe834b48206054c77e7b Mon Sep 17 00:00:00 2001 From: Iamgoofball Date: Tue, 3 Feb 2015 17:57:57 -0800 Subject: [PATCH 094/122] whole lotta bugfixes --- code/datums/goon_mutations_powers.dm | 6 +++++- code/game/objects/items/weapons/grenades/chem_grenade.dm | 1 + code/modules/reagents/Chemistry-Goon-Medicine.dm | 8 ++++---- code/modules/reagents/Chemistry-Goon-Pyrotechnics.dm | 3 ++- code/modules/reagents/Chemistry-Goon-Toxins.dm | 3 +-- 5 files changed, 13 insertions(+), 8 deletions(-) diff --git a/code/datums/goon_mutations_powers.dm b/code/datums/goon_mutations_powers.dm index 38069f48488..e164eced752 100644 --- a/code/datums/goon_mutations_powers.dm +++ b/code/datums/goon_mutations_powers.dm @@ -6,6 +6,7 @@ text_gain_indication = "You begin to fade into the shadows." text_lose_indication = "You become fully visible." + /datum/mutation/human/stealth/on_life(mob/living/carbon/human/owner) var/turf/simulated/T = get_turf(owner) if(!istype(T)) @@ -26,8 +27,11 @@ lowest_value = 256 * 14 text_gain_indication = "You feel one with your surroundings." text_lose_indication = "You feel oddly exposed." - + var/last_location /datum/mutation/human/chameleon/on_life(mob/living/carbon/human/owner) + if(owner.loc != last_location) + owner.alpha = round(255 * 0.80) + last_location = owner.loc if((world.time - owner.last_movement) >= 30 && !owner.stat && owner.canmove && !owner.restrained()) owner.alpha -= 25 else diff --git a/code/game/objects/items/weapons/grenades/chem_grenade.dm b/code/game/objects/items/weapons/grenades/chem_grenade.dm index 2098d686ea9..b60e8a27131 100644 --- a/code/game/objects/items/weapons/grenades/chem_grenade.dm +++ b/code/game/objects/items/weapons/grenades/chem_grenade.dm @@ -203,6 +203,7 @@ qdel(src) //correctly before deleting the grenade. /obj/item/weapon/grenade/chem_grenade/proc/mix_reagents() + reagents.chem_temp = 1000 for(var/obj/item/weapon/reagent_containers/glass/G in beakers) G.reagents.trans_to(src, G.reagents.total_volume) diff --git a/code/modules/reagents/Chemistry-Goon-Medicine.dm b/code/modules/reagents/Chemistry-Goon-Medicine.dm index 9afb2cc233b..d5dd5ad717e 100644 --- a/code/modules/reagents/Chemistry-Goon-Medicine.dm +++ b/code/modules/reagents/Chemistry-Goon-Medicine.dm @@ -615,10 +615,10 @@ datum/reagent/strange_reagent/reaction_mob(var/mob/living/carbon/human/M as mob, M.visible_message("[M]'s body convulses a bit.") if(M.health <= config.health_threshold_dead && !M.suiciding && !ghost && !(NOCLONE in M.mutations)) M.stat = 1 - M.adjustBruteLoss(-10) - M.adjustFireLoss(-10) - M.adjustOxyLoss(-10) - M.adjustToxLoss(-10) + M.adjustBruteLoss(-20) // this should keep them from dying immediately + M.adjustFireLoss(-20) + M.adjustOxyLoss(-20) + M.adjustToxLoss(-20) dead_mob_list -= M living_mob_list |= list(M) M.emote("gasp") diff --git a/code/modules/reagents/Chemistry-Goon-Pyrotechnics.dm b/code/modules/reagents/Chemistry-Goon-Pyrotechnics.dm index ddb358b72b5..777ec06fdf0 100644 --- a/code/modules/reagents/Chemistry-Goon-Pyrotechnics.dm +++ b/code/modules/reagents/Chemistry-Goon-Pyrotechnics.dm @@ -140,4 +140,5 @@ proc/goonchem_vortex(var/turf/simulated/T, var/setting_type, var/range, var/pull for(var/i = 0, i < pull_times, i++) step_away(X,T) else - X.throw_at(T) \ No newline at end of file + for(var/i = 0, i < pull_times, i++) + step_towards(X,T) \ No newline at end of file diff --git a/code/modules/reagents/Chemistry-Goon-Toxins.dm b/code/modules/reagents/Chemistry-Goon-Toxins.dm index 4264afcefa2..8c0a3b7d61c 100644 --- a/code/modules/reagents/Chemistry-Goon-Toxins.dm +++ b/code/modules/reagents/Chemistry-Goon-Toxins.dm @@ -103,12 +103,11 @@ datum/reagent/neurotoxin2 datum/reagent/neurotoxin2/on_mob_life(var/mob/living/M as mob) cycle_count++ - if(!M) M = holder.my_atom if(M.brainloss + M.toxloss <= 60) M.adjustBrainLoss(1*REM) M.adjustToxLoss(1*REM) if(cycle_count == 17) - M.sleeping += 1 + M.sleeping += 10 // buffed so it works ..() return From 0645d461686aa805381497fd2c39291cc5674eb1 Mon Sep 17 00:00:00 2001 From: paprka Date: Tue, 3 Feb 2015 18:34:32 -0800 Subject: [PATCH 095/122] iv drip hotfixes --- code/game/machinery/iv_drip.dm | 77 +++++++++++++----- .../objects/items/weapons/storage/firstaid.dm | 1 - code/modules/mob/living/carbon/human/blood.dm | 2 +- .../reagents/reagent_containers/blood_pack.dm | 1 + icons/obj/iv_drip.dmi | Bin 1047 -> 1438 bytes 5 files changed, 59 insertions(+), 22 deletions(-) diff --git a/code/game/machinery/iv_drip.dm b/code/game/machinery/iv_drip.dm index d14c2de4bf0..4d12edf0437 100644 --- a/code/game/machinery/iv_drip.dm +++ b/code/game/machinery/iv_drip.dm @@ -1,23 +1,37 @@ /obj/machinery/iv_drip name = "\improper IV drip" icon = 'icons/obj/iv_drip.dmi' + icon_state = "iv_drip" anchored = 0 density = 1 + var/mob/living/carbon/human/attached = null + var/mode = 1 // 1 is injecting, 0 is taking blood. + var/obj/item/weapon/reagent_containers/beaker = null -/obj/machinery/iv_drip/var/mob/living/carbon/human/attached = null -/obj/machinery/iv_drip/var/mode = 1 // 1 is injecting, 0 is taking blood. -/obj/machinery/iv_drip/var/obj/item/weapon/reagent_containers/beaker = null +/obj/machinery/iv_drip/New() + ..() + update_icon() /obj/machinery/iv_drip/update_icon() - if(src.attached) - icon_state = "hooked" - else - icon_state = "" + overlays.Cut() - overlays = null + if(src.attached) + if(mode) + icon_state = "injecting" + else + icon_state = "donating" + else + if(mode) + icon_state = "injectidle" + else + icon_state = "donateidle" if(beaker) + if(attached) + overlays += "beakeractive" + else + overlays += "beakeridle" var/datum/reagents/reagents = beaker.reagents if(reagents.total_volume) var/image/filling = image('icons/obj/iv_drip.dmi', src, "reagent") @@ -45,9 +59,12 @@ return if(in_range(src, usr) && ishuman(over_object) && get_dist(over_object, src) <= 1) - visible_message("[usr] attaches \the [src] to \the [over_object].") - src.attached = over_object - src.update_icon() + if(src.beaker) + visible_message("[usr] attaches \the [src] to \the [over_object].") + src.attached = over_object + src.update_icon() + else + usr << "There's nothing attached to the IV drip!" /obj/machinery/iv_drip/attackby(obj/item/weapon/W as obj, mob/user as mob) @@ -72,7 +89,7 @@ if(src.attached) if(!(get_dist(src, src.attached) <= 1 && isturf(src.attached.loc))) - attached << ("The IV drip needle is ripped out of you, doesn't that hurt?The IV drip needle is ripped out of you, doesn't that hurt?" src.attached:apply_damage(3, BRUTE, pick("r_arm", "l_arm")) src.attached = null src.update_icon() @@ -122,14 +139,33 @@ beaker.reagents.handle_reactions() update_icon() -/obj/machinery/iv_drip/attack_hand(mob/user as mob) +/obj/machinery/iv_drip/attack_hand(mob/user) + if(src.attached) + visible_message("[src.attached] is detached from \the [src]") + src.attached = null + src.update_icon() + return + else if(src.beaker) + eject_beaker(user) + else + toggle_mode() + +/obj/machinery/iv_drip/verb/eject_beaker(mob/user) + set category = "Object" + set name = "Remove IV Container" + set src in view(1) + + if(!istype(usr, /mob/living)) + usr << "You can't do that." + return + + if(usr.stat) + return + if(src.beaker) src.beaker.loc = get_turf(src) src.beaker = null update_icon() - else - toggle_mode() - /obj/machinery/iv_drip/verb/toggle_mode() set category = "Object" @@ -145,6 +181,7 @@ mode = !mode usr << "The IV drip is now [mode ? "injecting" : "taking blood"]." + update_icon() /obj/machinery/iv_drip/examine() set src in view() @@ -155,10 +192,10 @@ if(beaker) if(beaker.reagents && beaker.reagents.reagent_list.len) - usr << "Attached is \a [beaker] with [beaker.reagents.total_volume] units of liquid.Attached is \a [beaker] with [beaker.reagents.total_volume] units of liquid." else - usr << "Attached is an empty [beaker].Attached is an empty [beaker]." else - usr << "No chemicals are attached.No chemicals are attached." - usr << "[attached ? attached : "No one"] is attached.[attached ? attached : "No one"] is attached." \ No newline at end of file diff --git a/code/game/objects/items/weapons/storage/firstaid.dm b/code/game/objects/items/weapons/storage/firstaid.dm index 38b22179c38..6901e0e41af 100644 --- a/code/game/objects/items/weapons/storage/firstaid.dm +++ b/code/game/objects/items/weapons/storage/firstaid.dm @@ -103,7 +103,6 @@ new /obj/item/weapon/reagent_containers/pill/patch/styptic(src) new /obj/item/stack/medical/gauze(src) new /obj/item/stack/medical/gauze(src) - new /obj/item/weapon/reagent_containers/hypospray/medipen(src) new /obj/item/device/healthanalyzer(src) return diff --git a/code/modules/mob/living/carbon/human/blood.dm b/code/modules/mob/living/carbon/human/blood.dm index 37b4be1fef5..06bfcf41c23 100644 --- a/code/modules/mob/living/carbon/human/blood.dm +++ b/code/modules/mob/living/carbon/human/blood.dm @@ -67,7 +67,7 @@ var/const/BLOOD_VOLUME_SURVIVE = 122 B.volume += 0.4 reagents.remove_reagent("nutriment", 0.1) if (reagents.has_reagent("iron")) //Hematogen candy anyone? - B.volume += 0.8 + B.volume += 0.4 reagents.remove_reagent("iron", 0.1) //Effects of bloodloss diff --git a/code/modules/reagents/reagent_containers/blood_pack.dm b/code/modules/reagents/reagent_containers/blood_pack.dm index 2196a552aa4..088c6ae2236 100644 --- a/code/modules/reagents/reagent_containers/blood_pack.dm +++ b/code/modules/reagents/reagent_containers/blood_pack.dm @@ -26,6 +26,7 @@ /obj/item/weapon/reagent_containers/blood/random/New() blood_type = pick("A+", "A-", "B+", "B-", "O+", "O-") + ..() /obj/item/weapon/reagent_containers/blood/APlus blood_type = "A+" diff --git a/icons/obj/iv_drip.dmi b/icons/obj/iv_drip.dmi index daa6d5e9e0f0ad3f674ebaaf48465c53c214c4bd..016513245e1e53da3ade22cb4ec545d230474989 100644 GIT binary patch literal 1438 zcmeAS@N?(olHy`uVBq!ia0vp^3xK$RgAGXbBqvD&sZ&)U5hX6E#mPmP1tppJc?=8{ zbEcl#$k${b!1iEgZ5Q{NV*yiMTsrE&!@Q@-@@3?z2%k)YeS4YJtTJ?N$A0?zKbB{A zQv9_E;i~c{d6#WhNZjjVv0M6S^n?vwmf0s?T=PHu;G(cc$C-+Nb9a=^O(|sd5STMp zCN6W<{d4nHemwT-z0p&jz;^x#3S#nxSEJ|5uaXUx{rlJZtC%h8MdgRBcX+yb&673W zUC0#j{50L#$@kj%1-BD+o^(nTyEBumyz9Za`37x^&MB_<`p5EP!#V4g@aG*23@rVg zE{-7;bKc%H%$6>fIrj0nS6js->y(#5{pKqen->&s6JX&rmG!zN@r#K?w)9xAqQ1fe zo=B(mW3x4CxtF$G_;tW&$pgKu2b*_z$}wGE%C#!lvwZpP>Lr)IGdD#{{2KFN@%_6m zpVT)!{u0q}I{h8*fwbMhPiCL%KX>`%diTW>%jUmjdzvHkbM}<|1x$X2K;kEJ)AQ9k z9!E?PIld7jeYsxW^L^Z2@8>qTX-~|p>mRb*xp|vYZDF^Z`QD4EdzI3k%HRJR^mlLm zmtVCD)@lA-9-__la_zzhWo-iuL|y>-kvqv+>&|@u~SYkBe9CJNLD-uP>-{ zU9#tQ-JfsyS0)Aj3ln*Hy(~KVzps+}zfjJft$mE)2hVaoIWd3UfzsWUjWRzk3-4I5 zRrkRj&XDkbYdB-tD}`6A`x7Z_(Z5x9K{eA(^@2#@jG2Fo)IQu2yI|XRM|j5?&MiK5 zlEM|a+%M)iyyHA$xL_toox$;jw0E3O<{gk>p0!hbLN$~5Q;7-u$_Kib4&gzoK5Tu^ z-OW9B-aM~KyV_2Fd}6M={{lOX&K*6}X(VM_O$ z^knkyD*LZqzt8G?nmv1dHq*QPH~1&11Wr=9RliZ*C$G}ETWNpg&zXIU=g*zHlC@RE zbNck@^8alNYwuUs?E5OZkq4wLQ=BKHb$eohD`O%M9sSj?A*t3OBGrm}UvBM=7svNs zK7W{9iuZrWm&1P(ED8TnUYJ#C)G{-l3Nv%Sr^yb?0D;Kxw)Br|DpWDJbY}K zyYGg{954EleD~*OAou_5J*D}xt?kzzl6Q+}oys^Td-0ji{@edgRjDn98`LjmM zfzSxa13S&QP90=v5fv5)YxQ?}Hkb8!;=RZXx1YEiC}nzZ?)>5pQzrl;cHh4b?N-;- zQ}g`Oq63$#-k!fz)OFgQ$~*QI<#lp0%!j&?5464dw)>#f9>u-exI@-$3jKM|->c&D zzD4K1o77Z^wk>Qs{P524y^{NOPXB7DnQ-{(S0|3c8!mhgbeNKKF=S5bdFHSO+hXG{ zwRhaYa-+Y!uIeoYjbg+q19eoH>z)V^Us%wT7Q1m=ZU_mtT|hwuB{eq_vZ^P zuX~@^FYdrLRm8w^lE2>ctC^QSU(e(Zx#|At?)Bu8-=998`7Z`&XZpbniyFvBw|@NB zTq#^~XZD7RGjJHQDyK8mdKI;Vst0CYaNJOBUy literal 1047 zcmeAS@N?(olHy`uVBq!ia0vp^4M3d0!3HF+R#kZdsd-f)5hX6E#mPmP1tppJc?=8{ zb9&Eg5iG4 zUow7hYaZXy)O6Xg;9K81mVkmc7TglG8n;g#6=Pxb^~iL)UhqsQH9*0#dP41^ZS`;Z z%G{!KDyKNT`4sDrVY_bWvad_0XH~w-PL03&X4ULXyMBsqGw_iD8q5CYe2eO&oL%o2 z7?@2wT^vIy=DeM=Kl`?WM4P?n`=+*YA6Mu~FwNX6opT~&li37&hYJ^Zqc)dl@5p}f zrz~CKRPjM*2j5yD^?wsLpW9UOeILI>)1nt&ZuQ&MEFlFNb8`b<$$s3Ozf2*~%aL)^F9*ZeR>Ow?3M& zXV!uD%<-y|tABp``XO}jWK*Zm{05&w#r+pG7yKqZ{tI`kzfR z{%GUB&MrQ(@M7}x9h2gJw@tX`nxA_jw0wTcekbi`2Y2n5RsTBjz|a2A&l6_;>`u(J zlPW3D-M@|D^2?H!Zij!?>`VE-Dpl`6R^8%irp~_wQXG7&4DCz}&Wr~ZGCT-iD9~WA zXysh+`)^5*UMq({sZ!{(s~c7buiPLRkqj0h3^H5{m_`y7PQE(Xsr$hVYrSf5uU1j)rT`secKFi#3xVH$Y-9Le p!w|=*aslFG!sa7;5Ul!K{9og#0$E#ycLH-dgQu&X%Q~loCIBIq&HexY From d0b51e86ed56c04ca0ebbd08bb4c0b0700ed54d2 Mon Sep 17 00:00:00 2001 From: Iamgoofball Date: Tue, 3 Feb 2015 19:09:18 -0800 Subject: [PATCH 096/122] fixes #7154 --- .../reagents/Chemistry-Goon-Medicine.dm | 25 +++++++++---------- 1 file changed, 12 insertions(+), 13 deletions(-) diff --git a/code/modules/reagents/Chemistry-Goon-Medicine.dm b/code/modules/reagents/Chemistry-Goon-Medicine.dm index d5dd5ad717e..e986c8de6b9 100644 --- a/code/modules/reagents/Chemistry-Goon-Medicine.dm +++ b/code/modules/reagents/Chemistry-Goon-Medicine.dm @@ -601,22 +601,21 @@ datum/reagent/strange_reagent metabolization_rate = 0.2 datum/reagent/strange_reagent/reaction_mob(var/mob/living/carbon/human/M as mob, var/method=TOUCH, var/volume) - if(M.bruteloss > 80 || M.fireloss > 80) - if(ishuman(M) || ismonkey(M)) - var/mob/living/carbon/C_target = M - var/obj/item/organ/brain/B = C_target.getorgan(/obj/item/organ/brain) - if(B) - B.loc = get_turf(C_target) - B.transfer_identity(C_target) - C_target.internal_organs -= B - M.gib() - else if(M.stat == DEAD) + if(M.stat == DEAD) + if(M.getBruteLoss() >= 80 || M.getFireLoss() >= 80) + if(ishuman(M) || ismonkey(M)) + var/mob/living/carbon/C_target = M + var/obj/item/organ/brain/B = C_target.getorgan(/obj/item/organ/brain) + if(B) + B.loc = get_turf(C_target) + B.transfer_identity(C_target) + C_target.internal_organs -= B + M.gib(M) + return var/mob/dead/observer/ghost = M.get_ghost() M.visible_message("[M]'s body convulses a bit.") - if(M.health <= config.health_threshold_dead && !M.suiciding && !ghost && !(NOCLONE in M.mutations)) + if(!M.suiciding && !ghost && !(NOCLONE in M.mutations)) M.stat = 1 - M.adjustBruteLoss(-20) // this should keep them from dying immediately - M.adjustFireLoss(-20) M.adjustOxyLoss(-20) M.adjustToxLoss(-20) dead_mob_list -= M From 9a1036d43bf2a4dc06c07773d18dd260ca8c02d1 Mon Sep 17 00:00:00 2001 From: Iamgoofball Date: Tue, 3 Feb 2015 20:26:58 -0800 Subject: [PATCH 097/122] Fixes #6991 --- code/datums/spell.dm | 2 ++ code/game/gamemodes/wizard/spellbook.dm | 12 ++++++++++-- code/game/gamemodes/wizard/wizard.dm | 5 ++++- 3 files changed, 16 insertions(+), 3 deletions(-) diff --git a/code/datums/spell.dm b/code/datums/spell.dm index c49252f1a1e..7137bbf9ad1 100644 --- a/code/datums/spell.dm +++ b/code/datums/spell.dm @@ -58,6 +58,8 @@ var/list/spells = typesof(/obj/effect/proc_holder/spell) //needed for the badmin if(user.z == ZLEVEL_CENTCOM && !centcom_cancast) //Certain spells are not allowed on the centcom zlevel return 0 + if(user.z == ZLEVEL_CENTCOM && ticker.mode.name == "ragin' mages") + return 0 if(!skipcharge) switch(charge_type) diff --git a/code/game/gamemodes/wizard/spellbook.dm b/code/game/gamemodes/wizard/spellbook.dm index 34cc59457e9..a2e15b3eb15 100644 --- a/code/game/gamemodes/wizard/spellbook.dm +++ b/code/game/gamemodes/wizard/spellbook.dm @@ -12,6 +12,7 @@ var/op = 1 var/activepage var/list/active_challenges = list() + var/mob/living/carbon/human/owner /obj/item/weapon/spellbook/attackby(obj/item/O as obj, mob/user as mob) if(istype(O, /obj/item/weapon/antag_spawner/contract)) @@ -28,6 +29,13 @@ /obj/item/weapon/spellbook/attack_self(mob/user as mob) + if(!owner) + user << "You bind the spellbook to yourself." + owner = user + return + if(user != owner) + user << "You can't open the spellbook somehow." + return user.set_machine(src) var/dat if(temp) @@ -38,7 +46,7 @@ dat += "


    " dat += "Learn and Improve Magical Abilities
    " dat += "Summon Magical Tools and Weapons
    " - if(ticker.mode != "ragin' mages") // we totally need summon guns x100 + if(ticker.mode.name != "ragin' mages") // we totally need summon guns x100 dat += "Raise The Stakes For More Power
    " dat += "
    " dat += "Re-memorize Spells
    " @@ -100,7 +108,7 @@ dat += "Instant Summons (10)
    " dat += "This spell can be used to bind a valuable item to you, bringing it to your hand at will. Using this spell while holding the bound item will allow you to unbind it. It does not require wizard garb.
    " - if(ticker.mode != "ragin' mages") // we totally need summon guns x100 + if(ticker.mode.name != "ragin' mages") // we totally need summon greentext x100 dat += "Summon Events (One time use, persistent global spell)
    " dat += "Give Murphy's law a little push and replace all events with special wizard ones that will confound and confuse everyone. Multiple castings increase the rate of these events.
    " diff --git a/code/game/gamemodes/wizard/wizard.dm b/code/game/gamemodes/wizard/wizard.dm index ff3763796bb..1b6b18b7c89 100644 --- a/code/game/gamemodes/wizard/wizard.dm +++ b/code/game/gamemodes/wizard/wizard.dm @@ -156,9 +156,12 @@ wizard_mob.equip_to_slot_or_del(new /obj/item/weapon/storage/box/survival(wizard_mob), slot_in_backpack) // wizard_mob.equip_to_slot_or_del(new /obj/item/weapon/scrying_gem(wizard_mob), slot_l_store) For scrying gem. wizard_mob.equip_to_slot_or_del(new /obj/item/weapon/teleportation_scroll(wizard_mob), slot_r_store) - wizard_mob.equip_to_slot_or_del(new /obj/item/weapon/spellbook(wizard_mob), slot_r_hand) + var/obj/item/weapon/spellbook/spellbook = new /obj/item/weapon/spellbook(wizard_mob) + spellbook.owner = wizard_mob + wizard_mob.equip_to_slot_or_del(spellbook, slot_r_hand) wizard_mob << "You will find a list of available spells in your spell book. Choose your magic arsenal carefully." + wizard_mob << "The spellbook is bound to you, and others cannot use it." wizard_mob << "In your pockets you will find a teleport scroll. Use it as needed." wizard_mob.mind.store_memory("Remember: do not forget to prepare your spells.") wizard_mob.update_icons() From 6e329a6cf4f6748cc6501f4c95e60406c2ffeb08 Mon Sep 17 00:00:00 2001 From: paprka Date: Tue, 3 Feb 2015 21:07:38 -0800 Subject: [PATCH 098/122] fixes hardsuit runtime --- code/modules/clothing/suits/toggles.dm | 2 ++ 1 file changed, 2 insertions(+) diff --git a/code/modules/clothing/suits/toggles.dm b/code/modules/clothing/suits/toggles.dm index 6aea7b47eb1..779ad6c05e4 100644 --- a/code/modules/clothing/suits/toggles.dm +++ b/code/modules/clothing/suits/toggles.dm @@ -93,6 +93,8 @@ ..() /obj/item/clothing/suit/space/hardsuit/proc/RemoveHelmet() + if(!helmettype) + return suittoggled = 0 if(ishuman(helmet.loc)) var/mob/living/carbon/H = helmet.loc From 4f618c9ca34d9927cb1960815fdb8f0cace86f2d Mon Sep 17 00:00:00 2001 From: Delimusca Date: Tue, 3 Feb 2015 22:09:05 -0700 Subject: [PATCH 099/122] fixed slime drag exploits --- code/modules/mob/living/carbon/slime/slime.dm | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/code/modules/mob/living/carbon/slime/slime.dm b/code/modules/mob/living/carbon/slime/slime.dm index 0c4d805ded1..e3503bd5a57 100644 --- a/code/modules/mob/living/carbon/slime/slime.dm +++ b/code/modules/mob/living/carbon/slime/slime.dm @@ -205,9 +205,9 @@ return /mob/living/carbon/slime/MouseDrop(var/atom/movable/A as mob|obj) - if(isliving(A) && A != usr) + if(isliving(A) && A != src && usr == src) var/mob/living/Food = A - if(Food.Adjacent(usr) && !stat && Food.stat != DEAD) //messy + if(Food.Adjacent(src) && !stat && Food.stat != DEAD) //messy Feedon(Food) ..() From 1346abfc65ea4dc97847ecaf69a3f73cd14e79ba Mon Sep 17 00:00:00 2001 From: paprka Date: Tue, 3 Feb 2015 21:47:34 -0800 Subject: [PATCH 100/122] potentially fixes iv runtime --- code/game/machinery/iv_drip.dm | 9 ++++----- 1 file changed, 4 insertions(+), 5 deletions(-) diff --git a/code/game/machinery/iv_drip.dm b/code/game/machinery/iv_drip.dm index 4d12edf0437..225211e4601 100644 --- a/code/game/machinery/iv_drip.dm +++ b/code/game/machinery/iv_drip.dm @@ -32,11 +32,10 @@ overlays += "beakeractive" else overlays += "beakeridle" - var/datum/reagents/reagents = beaker.reagents - if(reagents.total_volume) + if(beaker.reagents.total_volume) var/image/filling = image('icons/obj/iv_drip.dmi', src, "reagent") - var/percent = round((reagents.total_volume / beaker.volume) * 100) + var/percent = round((beaker.reagents.total_volume / beaker.volume) * 100) switch(percent) if(0 to 9) filling.icon_state = "reagent0" if(10 to 24) filling.icon_state = "reagent10" @@ -46,7 +45,7 @@ if(80 to 90) filling.icon_state = "reagent80" if(91 to INFINITY) filling.icon_state = "reagent100" - filling.icon += mix_color_from_reagents(reagents.reagent_list) + filling.icon += mix_color_from_reagents(beaker.reagents.reagent_list) overlays += filling /obj/machinery/iv_drip/MouseDrop(over_object, src_location, over_location) @@ -143,7 +142,7 @@ if(src.attached) visible_message("[src.attached] is detached from \the [src]") src.attached = null - src.update_icon() + update_icon() return else if(src.beaker) eject_beaker(user) From c9b8c55fb5e055780db5529266b5a3378bbfb47e Mon Sep 17 00:00:00 2001 From: paprka Date: Tue, 3 Feb 2015 22:18:38 -0800 Subject: [PATCH 101/122] an additional protential fix for iv drips --- code/game/machinery/iv_drip.dm | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/code/game/machinery/iv_drip.dm b/code/game/machinery/iv_drip.dm index 225211e4601..774f095ec3e 100644 --- a/code/game/machinery/iv_drip.dm +++ b/code/game/machinery/iv_drip.dm @@ -14,8 +14,6 @@ update_icon() /obj/machinery/iv_drip/update_icon() - overlays.Cut() - if(src.attached) if(mode) icon_state = "injecting" @@ -27,6 +25,8 @@ else icon_state = "donateidle" + overlays = null + if(beaker) if(attached) overlays += "beakeractive" From 8400ec98007592973bd09b36c554f9d3c40c0f34 Mon Sep 17 00:00:00 2001 From: TZK13 Date: Wed, 4 Feb 2015 00:32:15 -0600 Subject: [PATCH 102/122] Adds work boots and fixes character setup previews. --- code/game/jobs/job/engineering.dm | 2 +- .../closets/secure/engineering.dm | 2 +- code/modules/clothing/shoes/miscellaneous.dm | 8 ++ .../mob/new_player/preferences_setup.dm | 70 +++++++++--------- icons/mob/feet.dmi | Bin 12281 -> 12629 bytes icons/obj/clothing/shoes.dmi | Bin 8043 -> 8248 bytes 6 files changed, 45 insertions(+), 37 deletions(-) diff --git a/code/game/jobs/job/engineering.dm b/code/game/jobs/job/engineering.dm index 0136e52eb28..8c8c69ce873 100644 --- a/code/game/jobs/job/engineering.dm +++ b/code/game/jobs/job/engineering.dm @@ -70,7 +70,7 @@ Station Engineer /datum/job/engineer/equip_items(var/mob/living/carbon/human/H) H.equip_to_slot_or_del(new /obj/item/clothing/under/rank/engineer(H), slot_w_uniform) - H.equip_to_slot_or_del(new /obj/item/clothing/shoes/sneakers/orange(H), slot_shoes) + H.equip_to_slot_or_del(new /obj/item/clothing/shoes/workboots(H), slot_shoes) H.equip_to_slot_or_del(new /obj/item/weapon/storage/belt/utility/full(H), slot_belt) H.equip_to_slot_or_del(new /obj/item/clothing/head/hardhat(H), slot_head) H.equip_to_slot_or_del(new /obj/item/device/t_scanner(H), slot_r_store) diff --git a/code/game/objects/structures/crates_lockers/closets/secure/engineering.dm b/code/game/objects/structures/crates_lockers/closets/secure/engineering.dm index 2225b1d78a6..8484f67c549 100644 --- a/code/game/objects/structures/crates_lockers/closets/secure/engineering.dm +++ b/code/game/objects/structures/crates_lockers/closets/secure/engineering.dm @@ -105,7 +105,7 @@ new /obj/item/weapon/storage/backpack/satchel_eng(src) new /obj/item/weapon/storage/backpack/dufflebag/engineering(src) new /obj/item/clothing/under/rank/engineer(src) - new /obj/item/clothing/shoes/sneakers/orange(src) + new /obj/item/clothing/shoes/workboots(src) new /obj/item/weapon/storage/toolbox/mechanical(src) // new /obj/item/weapon/cartridge/engineering(src) new /obj/item/device/radio/headset/headset_eng(src) diff --git a/code/modules/clothing/shoes/miscellaneous.dm b/code/modules/clothing/shoes/miscellaneous.dm index a6e76d0c5c1..85b3cd3af70 100644 --- a/code/modules/clothing/shoes/miscellaneous.dm +++ b/code/modules/clothing/shoes/miscellaneous.dm @@ -101,6 +101,14 @@ heat_protection = FEET|LEGS max_heat_protection_temperature = SHOES_MAX_TEMP_PROTECT +/obj/item/clothing/shoes/workboots + name = "work boots" + desc = "Nanotrasen-issue Engineering lace-up work boots for the especially blue-collar." + icon_state = "workboots" + item_state = "jackboots" + strip_delay = 40 + put_on_delay = 40 + /obj/item/clothing/shoes/cult name = "cultist boots" desc = "A pair of boots worn by the followers of Nar-Sie." diff --git a/code/modules/mob/new_player/preferences_setup.dm b/code/modules/mob/new_player/preferences_setup.dm index 84961dff068..08029e1a5f5 100644 --- a/code/modules/mob/new_player/preferences_setup.dm +++ b/code/modules/mob/new_player/preferences_setup.dm @@ -68,7 +68,7 @@ var/icon/clothes_s = null if(job_civilian_low & ASSISTANT)//This gives the preview icon clothes depending on which job(if any) is set to 'high' clothes_s = new /icon('icons/mob/uniform.dmi', "grey_s") - clothes_s.Blend(new /icon('icons/mob/feet.dmi', "black"), ICON_UNDERLAY) + clothes_s.Blend(new /icon('icons/mob/feet.dmi', "black"), ICON_OVERLAY) if(backbag == 2) clothes_s.Blend(new /icon('icons/mob/back.dmi', "backpack"), ICON_OVERLAY) else if(backbag == 3) @@ -78,7 +78,7 @@ switch(job_civilian_high) if(HOP) clothes_s = new /icon('icons/mob/uniform.dmi', "hop_s") - clothes_s.Blend(new /icon('icons/mob/feet.dmi', "brown"), ICON_UNDERLAY) + clothes_s.Blend(new /icon('icons/mob/feet.dmi', "brown"), ICON_OVERLAY) clothes_s.Blend(new /icon('icons/mob/head.dmi', "hopcap"), ICON_OVERLAY) if(backbag == 2) clothes_s.Blend(new /icon('icons/mob/back.dmi', "backpack"), ICON_OVERLAY) @@ -86,7 +86,7 @@ clothes_s.Blend(new /icon('icons/mob/back.dmi', "satchel-norm"), ICON_OVERLAY) if(BARTENDER) clothes_s = new /icon('icons/mob/uniform.dmi', "bar_suit_s") - clothes_s.Blend(new /icon('icons/mob/feet.dmi', "black"), ICON_UNDERLAY) + clothes_s.Blend(new /icon('icons/mob/feet.dmi', "black"), ICON_OVERLAY) clothes_s.Blend(new /icon('icons/mob/suit.dmi', "armoralt"), ICON_OVERLAY) if(backbag == 2) clothes_s.Blend(new /icon('icons/mob/back.dmi', "backpack"), ICON_OVERLAY) @@ -94,7 +94,7 @@ clothes_s.Blend(new /icon('icons/mob/back.dmi', "satchel-norm"), ICON_OVERLAY) if(BOTANIST) clothes_s = new /icon('icons/mob/uniform.dmi', "hydroponics_s") - clothes_s.Blend(new /icon('icons/mob/feet.dmi', "black"), ICON_UNDERLAY) + clothes_s.Blend(new /icon('icons/mob/feet.dmi', "black"), ICON_OVERLAY) clothes_s.Blend(new /icon('icons/mob/hands.dmi', "ggloves"), ICON_UNDERLAY) clothes_s.Blend(new /icon('icons/mob/suit.dmi', "apron"), ICON_OVERLAY) if(backbag == 2) @@ -103,7 +103,7 @@ clothes_s.Blend(new /icon('icons/mob/back.dmi', "satchel-norm"), ICON_OVERLAY) if(COOK) clothes_s = new /icon('icons/mob/uniform.dmi', "chef_s") - clothes_s.Blend(new /icon('icons/mob/feet.dmi', "black"), ICON_UNDERLAY) + clothes_s.Blend(new /icon('icons/mob/feet.dmi', "black"), ICON_OVERLAY) clothes_s.Blend(new /icon('icons/mob/head.dmi', "chef"), ICON_OVERLAY) clothes_s.Blend(new /icon('icons/mob/suit.dmi', "chef"), ICON_OVERLAY) if(backbag == 2) @@ -112,22 +112,22 @@ clothes_s.Blend(new /icon('icons/mob/back.dmi', "satchel-norm"), ICON_OVERLAY) if(JANITOR) clothes_s = new /icon('icons/mob/uniform.dmi', "janitor_s") - clothes_s.Blend(new /icon('icons/mob/feet.dmi', "black"), ICON_UNDERLAY) + clothes_s.Blend(new /icon('icons/mob/feet.dmi', "black"), ICON_OVERLAY) if(backbag == 2) clothes_s.Blend(new /icon('icons/mob/back.dmi', "backpack"), ICON_OVERLAY) if(backbag == 3) clothes_s.Blend(new /icon('icons/mob/back.dmi', "satchel-norm"), ICON_OVERLAY) if(LIBRARIAN) clothes_s = new /icon('icons/mob/uniform.dmi', "red_suit_s") - clothes_s.Blend(new /icon('icons/mob/feet.dmi', "black"), ICON_UNDERLAY) + clothes_s.Blend(new /icon('icons/mob/feet.dmi', "black"), ICON_OVERLAY) if(backbag == 2) clothes_s.Blend(new /icon('icons/mob/back.dmi', "backpack"), ICON_OVERLAY) if(backbag == 3) clothes_s.Blend(new /icon('icons/mob/back.dmi', "satchel-norm"), ICON_OVERLAY) if(QUARTERMASTER) clothes_s = new /icon('icons/mob/uniform.dmi', "qm_s") - clothes_s.Blend(new /icon('icons/mob/feet.dmi', "brown"), ICON_UNDERLAY) - clothes_s.Blend(new /icon('icons/mob/eyes.dmi', "sun"), ICON_OVERLAY) + clothes_s.Blend(new /icon('icons/mob/feet.dmi', "brown"), ICON_OVERLAY) + clothes_s.Blend(new /icon('icons/mob/eyes.dmi', "sun"), ICON_UNDERLAY) clothes_s.Blend(new /icon('icons/mob/inhands/items_lefthand.dmi', "clipboard"), ICON_OVERLAY) if(backbag == 2) clothes_s.Blend(new /icon('icons/mob/back.dmi', "backpack"), ICON_OVERLAY) @@ -135,21 +135,21 @@ clothes_s.Blend(new /icon('icons/mob/back.dmi', "satchel-norm"), ICON_OVERLAY) if(CARGOTECH) clothes_s = new /icon('icons/mob/uniform.dmi', "cargo_s") - clothes_s.Blend(new /icon('icons/mob/feet.dmi', "black"), ICON_UNDERLAY) + clothes_s.Blend(new /icon('icons/mob/feet.dmi', "black"), ICON_OVERLAY) if(backbag == 2) clothes_s.Blend(new /icon('icons/mob/back.dmi', "backpack"), ICON_OVERLAY) if(backbag == 3) clothes_s.Blend(new /icon('icons/mob/back.dmi', "satchel-norm"), ICON_OVERLAY) if(MINER) clothes_s = new /icon('icons/mob/uniform.dmi', "miner_s") - clothes_s.Blend(new /icon('icons/mob/feet.dmi', "black"), ICON_UNDERLAY) + clothes_s.Blend(new /icon('icons/mob/feet.dmi', "black"), ICON_OVERLAY) if(backbag == 2) clothes_s.Blend(new /icon('icons/mob/back.dmi', "engiepack"), ICON_OVERLAY) if(backbag == 3) clothes_s.Blend(new /icon('icons/mob/back.dmi', "satchel-eng"), ICON_OVERLAY) if(LAWYER) clothes_s = new /icon('icons/mob/uniform.dmi', "bluesuit_s") - clothes_s.Blend(new /icon('icons/mob/feet.dmi', "laceups"), ICON_UNDERLAY) + clothes_s.Blend(new /icon('icons/mob/feet.dmi', "laceups"), ICON_OVERLAY) clothes_s.Blend(new /icon('icons/mob/suit.dmi', "suitjacket_blue"), ICON_OVERLAY) clothes_s.Blend(new /icon('icons/mob/inhands/items_lefthand.dmi', "briefcase"), ICON_OVERLAY) if(backbag == 2) @@ -158,7 +158,7 @@ clothes_s.Blend(new /icon('icons/mob/back.dmi', "satchel-norm"), ICON_OVERLAY) if(CHAPLAIN) clothes_s = new /icon('icons/mob/uniform.dmi', "chapblack_s") - clothes_s.Blend(new /icon('icons/mob/feet.dmi', "black"), ICON_UNDERLAY) + clothes_s.Blend(new /icon('icons/mob/feet.dmi', "black"), ICON_OVERLAY) clothes_s.Blend(new /icon('icons/mob/inhands/items_lefthand.dmi', "bible"), ICON_OVERLAY) if(backbag == 2) clothes_s.Blend(new /icon('icons/mob/back.dmi', "backpack"), ICON_OVERLAY) @@ -166,12 +166,12 @@ clothes_s.Blend(new /icon('icons/mob/back.dmi', "satchel-norm"), ICON_OVERLAY) if(CLOWN) clothes_s = new /icon('icons/mob/uniform.dmi', "clown_s") - clothes_s.Blend(new /icon('icons/mob/feet.dmi', "clown"), ICON_UNDERLAY) + clothes_s.Blend(new /icon('icons/mob/feet.dmi', "clown"), ICON_OVERLAY) clothes_s.Blend(new /icon('icons/mob/mask.dmi', "clown"), ICON_OVERLAY) clothes_s.Blend(new /icon('icons/mob/back.dmi', "clownpack"), ICON_OVERLAY) if(MIME) clothes_s = new /icon('icons/mob/uniform.dmi', "mime_s") - clothes_s.Blend(new /icon('icons/mob/feet.dmi', "black"), ICON_UNDERLAY) + clothes_s.Blend(new /icon('icons/mob/feet.dmi', "black"), ICON_OVERLAY) clothes_s.Blend(new /icon('icons/mob/hands.dmi', "lgloves"), ICON_UNDERLAY) clothes_s.Blend(new /icon('icons/mob/mask.dmi', "mime"), ICON_OVERLAY) clothes_s.Blend(new /icon('icons/mob/head.dmi', "beret"), ICON_OVERLAY) @@ -185,7 +185,7 @@ switch(job_medsci_high) if(RD) clothes_s = new /icon('icons/mob/uniform.dmi', "director_s") - clothes_s.Blend(new /icon('icons/mob/feet.dmi', "brown"), ICON_UNDERLAY) + clothes_s.Blend(new /icon('icons/mob/feet.dmi', "brown"), ICON_OVERLAY) clothes_s.Blend(new /icon('icons/mob/suit.dmi', "labcoat"), ICON_OVERLAY) clothes_s.Blend(new /icon('icons/mob/inhands/items_lefthand.dmi', "clipboard"), ICON_OVERLAY) if(backbag == 2) @@ -194,7 +194,7 @@ clothes_s.Blend(new /icon('icons/mob/back.dmi', "satchel-norm"), ICON_OVERLAY) if(SCIENTIST) clothes_s = new /icon('icons/mob/uniform.dmi', "toxinswhite_s") - clothes_s.Blend(new /icon('icons/mob/feet.dmi', "white"), ICON_UNDERLAY) + clothes_s.Blend(new /icon('icons/mob/feet.dmi', "white"), ICON_OVERLAY) clothes_s.Blend(new /icon('icons/mob/suit.dmi', "labcoat_tox"), ICON_OVERLAY) if(backbag == 2) clothes_s.Blend(new /icon('icons/mob/back.dmi', "backpack"), ICON_OVERLAY) @@ -202,7 +202,7 @@ clothes_s.Blend(new /icon('icons/mob/back.dmi', "satchel-norm"), ICON_OVERLAY) if(CHEMIST) clothes_s = new /icon('icons/mob/uniform.dmi', "chemistrywhite_s") - clothes_s.Blend(new /icon('icons/mob/feet.dmi', "white"), ICON_UNDERLAY) + clothes_s.Blend(new /icon('icons/mob/feet.dmi', "white"), ICON_OVERLAY) clothes_s.Blend(new /icon('icons/mob/suit.dmi', "labcoat_chem"), ICON_OVERLAY) if(backbag == 2) clothes_s.Blend(new /icon('icons/mob/back.dmi', "backpack"), ICON_OVERLAY) @@ -210,7 +210,7 @@ clothes_s.Blend(new /icon('icons/mob/back.dmi', "satchel-norm"), ICON_OVERLAY) if(CMO) clothes_s = new /icon('icons/mob/uniform.dmi', "cmo_s") - clothes_s.Blend(new /icon('icons/mob/feet.dmi', "brown"), ICON_UNDERLAY) + clothes_s.Blend(new /icon('icons/mob/feet.dmi', "brown"), ICON_OVERLAY) clothes_s.Blend(new /icon('icons/mob/suit.dmi', "labcoat_cmo"), ICON_OVERLAY) clothes_s.Blend(new /icon('icons/mob/inhands/items_lefthand.dmi', "firstaid"), ICON_OVERLAY) if(backbag == 2) @@ -219,7 +219,7 @@ clothes_s.Blend(new /icon('icons/mob/back.dmi', "satchel-med"), ICON_OVERLAY) if(DOCTOR) clothes_s = new /icon('icons/mob/uniform.dmi', "medical_s") - clothes_s.Blend(new /icon('icons/mob/feet.dmi', "white"), ICON_UNDERLAY) + clothes_s.Blend(new /icon('icons/mob/feet.dmi', "white"), ICON_OVERLAY) clothes_s.Blend(new /icon('icons/mob/suit.dmi', "labcoat"), ICON_OVERLAY) clothes_s.Blend(new /icon('icons/mob/inhands/items_lefthand.dmi', "firstaid"), ICON_OVERLAY) if(backbag == 2) @@ -228,7 +228,7 @@ clothes_s.Blend(new /icon('icons/mob/back.dmi', "satchel-med"), ICON_OVERLAY) if(GENETICIST) clothes_s = new /icon('icons/mob/uniform.dmi', "geneticswhite_s") - clothes_s.Blend(new /icon('icons/mob/feet.dmi', "white"), ICON_UNDERLAY) + clothes_s.Blend(new /icon('icons/mob/feet.dmi', "white"), ICON_OVERLAY) clothes_s.Blend(new /icon('icons/mob/suit.dmi', "labcoat_gen"), ICON_OVERLAY) if(backbag == 2) clothes_s.Blend(new /icon('icons/mob/back.dmi', "backpack"), ICON_OVERLAY) @@ -236,7 +236,7 @@ clothes_s.Blend(new /icon('icons/mob/back.dmi', "satchel-norm"), ICON_OVERLAY) if(VIROLOGIST) clothes_s = new /icon('icons/mob/uniform.dmi', "virologywhite_s") - clothes_s.Blend(new /icon('icons/mob/feet.dmi', "white"), ICON_UNDERLAY) + clothes_s.Blend(new /icon('icons/mob/feet.dmi', "white"), ICON_OVERLAY) clothes_s.Blend(new /icon('icons/mob/mask.dmi', "sterile"), ICON_OVERLAY) clothes_s.Blend(new /icon('icons/mob/suit.dmi', "labcoat_vir"), ICON_OVERLAY) if(backbag == 2) @@ -245,7 +245,7 @@ clothes_s.Blend(new /icon('icons/mob/back.dmi', "satchel-med"), ICON_OVERLAY) if(ROBOTICIST) clothes_s = new /icon('icons/mob/uniform.dmi', "robotics_s") - clothes_s.Blend(new /icon('icons/mob/feet.dmi', "black"), ICON_UNDERLAY) + clothes_s.Blend(new /icon('icons/mob/feet.dmi', "black"), ICON_OVERLAY) clothes_s.Blend(new /icon('icons/mob/suit.dmi', "labcoat"), ICON_OVERLAY) clothes_s.Blend(new /icon('icons/mob/inhands/items_lefthand.dmi', "toolbox_blue"), ICON_OVERLAY) if(backbag == 2) @@ -257,9 +257,9 @@ switch(job_engsec_high) if(CAPTAIN) clothes_s = new /icon('icons/mob/uniform.dmi', "captain_s") - clothes_s.Blend(new /icon('icons/mob/feet.dmi', "brown"), ICON_UNDERLAY) + clothes_s.Blend(new /icon('icons/mob/feet.dmi', "brown"), ICON_OVERLAY) clothes_s.Blend(new /icon('icons/mob/head.dmi', "captain"), ICON_OVERLAY) - clothes_s.Blend(new /icon('icons/mob/eyes.dmi', "sun"), ICON_OVERLAY) + clothes_s.Blend(new /icon('icons/mob/eyes.dmi', "sun"), ICON_UNDERLAY) clothes_s.Blend(new /icon('icons/mob/suit.dmi', "capcarapace"), ICON_OVERLAY) if(backbag == 2) clothes_s.Blend(new /icon('icons/mob/back.dmi', "captainpack"), ICON_OVERLAY) @@ -267,10 +267,10 @@ clothes_s.Blend(new /icon('icons/mob/back.dmi', "satchel-cap"), ICON_OVERLAY) if(HOS) clothes_s = new /icon('icons/mob/uniform.dmi', "hos_s") - clothes_s.Blend(new /icon('icons/mob/feet.dmi', "jackboots"), ICON_UNDERLAY) + clothes_s.Blend(new /icon('icons/mob/feet.dmi', "jackboots"), ICON_OVERLAY) clothes_s.Blend(new /icon('icons/mob/hands.dmi', "bgloves"), ICON_UNDERLAY) clothes_s.Blend(new /icon('icons/mob/head.dmi', "hosberetblack"), ICON_OVERLAY) - clothes_s.Blend(new /icon('icons/mob/eyes.dmi', "sunhud"), ICON_OVERLAY) + clothes_s.Blend(new /icon('icons/mob/eyes.dmi', "sunhud"), ICON_UNDERLAY) clothes_s.Blend(new /icon('icons/mob/suit.dmi', "hostrench"), ICON_OVERLAY) if(backbag == 2) clothes_s.Blend(new /icon('icons/mob/back.dmi', "securitypack"), ICON_OVERLAY) @@ -278,10 +278,10 @@ clothes_s.Blend(new /icon('icons/mob/back.dmi', "satchel-sec"), ICON_OVERLAY) if(WARDEN) clothes_s = new /icon('icons/mob/uniform.dmi', "warden_s") - clothes_s.Blend(new /icon('icons/mob/feet.dmi', "jackboots"), ICON_UNDERLAY) + clothes_s.Blend(new /icon('icons/mob/feet.dmi', "jackboots"), ICON_OVERLAY) clothes_s.Blend(new /icon('icons/mob/hands.dmi', "bgloves"), ICON_UNDERLAY) clothes_s.Blend(new /icon('icons/mob/head.dmi', "policehelm"), ICON_OVERLAY) - clothes_s.Blend(new /icon('icons/mob/eyes.dmi', "sunhud"), ICON_OVERLAY) + clothes_s.Blend(new /icon('icons/mob/eyes.dmi', "sunhud"), ICON_UNDERLAY) clothes_s.Blend(new /icon('icons/mob/suit.dmi', "warden_jacket"), ICON_OVERLAY) if(backbag == 2) clothes_s.Blend(new /icon('icons/mob/back.dmi', "securitypack"), ICON_OVERLAY) @@ -289,7 +289,7 @@ clothes_s.Blend(new /icon('icons/mob/back.dmi', "satchel-sec"), ICON_OVERLAY) if(DETECTIVE) clothes_s = new /icon('icons/mob/uniform.dmi', "detective_s") - clothes_s.Blend(new /icon('icons/mob/feet.dmi', "brown"), ICON_UNDERLAY) + clothes_s.Blend(new /icon('icons/mob/feet.dmi', "brown"), ICON_OVERLAY) clothes_s.Blend(new /icon('icons/mob/hands.dmi', "bgloves"), ICON_UNDERLAY) clothes_s.Blend(new /icon('icons/mob/mask.dmi', "cigaron"), ICON_OVERLAY) clothes_s.Blend(new /icon('icons/mob/head.dmi', "detective"), ICON_OVERLAY) @@ -300,9 +300,9 @@ clothes_s.Blend(new /icon('icons/mob/back.dmi', "satchel-norm"), ICON_OVERLAY) if(OFFICER) clothes_s = new /icon('icons/mob/uniform.dmi', "security_s") - clothes_s.Blend(new /icon('icons/mob/feet.dmi', "jackboots"), ICON_UNDERLAY) + clothes_s.Blend(new /icon('icons/mob/feet.dmi', "jackboots"), ICON_OVERLAY) clothes_s.Blend(new /icon('icons/mob/hands.dmi', "bgloves"), ICON_UNDERLAY) - clothes_s.Blend(new /icon('icons/mob/head.dmi', "beret_badge"), ICON_OVERLAY) + clothes_s.Blend(new /icon('icons/mob/head.dmi', "helmet"), ICON_OVERLAY) clothes_s.Blend(new /icon('icons/mob/suit.dmi', "armor"), ICON_OVERLAY) if(backbag == 2) clothes_s.Blend(new /icon('icons/mob/back.dmi', "securitypack"), ICON_OVERLAY) @@ -310,7 +310,7 @@ clothes_s.Blend(new /icon('icons/mob/back.dmi', "satchel-sec"), ICON_OVERLAY) if(CHIEF) clothes_s = new /icon('icons/mob/uniform.dmi', "chief_s") - clothes_s.Blend(new /icon('icons/mob/feet.dmi', "brown"), ICON_UNDERLAY) + clothes_s.Blend(new /icon('icons/mob/feet.dmi', "brown"), ICON_OVERLAY) clothes_s.Blend(new /icon('icons/mob/hands.dmi', "bgloves"), ICON_UNDERLAY) clothes_s.Blend(new /icon('icons/mob/belt.dmi', "utility"), ICON_OVERLAY) clothes_s.Blend(new /icon('icons/mob/mask.dmi', "cigaron"), ICON_OVERLAY) @@ -321,7 +321,7 @@ clothes_s.Blend(new /icon('icons/mob/back.dmi', "satchel-eng"), ICON_OVERLAY) if(ENGINEER) clothes_s = new /icon('icons/mob/uniform.dmi', "engine_s") - clothes_s.Blend(new /icon('icons/mob/feet.dmi', "orange"), ICON_UNDERLAY) + clothes_s.Blend(new /icon('icons/mob/feet.dmi', "workboots"), ICON_OVERLAY) clothes_s.Blend(new /icon('icons/mob/belt.dmi', "utility"), ICON_OVERLAY) clothes_s.Blend(new /icon('icons/mob/head.dmi', "hardhat0_yellow"), ICON_OVERLAY) if(backbag == 2) @@ -330,7 +330,7 @@ clothes_s.Blend(new /icon('icons/mob/back.dmi', "satchel-eng"), ICON_OVERLAY) if(ATMOSTECH) clothes_s = new /icon('icons/mob/uniform.dmi', "atmos_s") - clothes_s.Blend(new /icon('icons/mob/feet.dmi', "black"), ICON_UNDERLAY) + clothes_s.Blend(new /icon('icons/mob/feet.dmi', "black"), ICON_OVERLAY) clothes_s.Blend(new /icon('icons/mob/belt.dmi', "utility"), ICON_OVERLAY) if(backbag == 2) clothes_s.Blend(new /icon('icons/mob/back.dmi', "backpack"), ICON_OVERLAY) diff --git a/icons/mob/feet.dmi b/icons/mob/feet.dmi index da1c71022d358a863aa4da50b003d0865e618629..858fb2ba7c99f58386da4dedc49857058c6d5d9f 100644 GIT binary patch literal 12629 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 literal 12281 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 Zt71%boPAuYh)Hz7P|rlSTH7(|-vDIvNwxq0 From 69263a54dce55c0246c7e645232576c219e3c087 Mon Sep 17 00:00:00 2001 From: Jordie0608 Date: Wed, 4 Feb 2015 18:05:06 +1100 Subject: [PATCH 103/122] compiled changelog.html --- html/changelog.html | 58 +++++++++++++++++++ html/changelogs/.all_changelog.yml | 49 ++++++++++++++++ html/changelogs/Danno-dufflebag.yml | 6 -- html/changelogs/Deantwo-PR-7403.yml | 8 --- html/changelogs/Delimusca-foam armblade.yml | 6 -- html/changelogs/Delimusca-slime.yml | 7 --- html/changelogs/Gunhog-emotes.yml | 6 -- .../Incoming5643-butterflycrate.yml | 6 -- .../Incoming5643-shuttle stranding.yml | 6 -- html/changelogs/Menshin-platingcable.yml | 6 -- html/changelogs/Paprika-hardsuit helmets.yml | 8 --- html/changelogs/Perakp-slowdown.yml | 6 -- html/changelogs/Steelpoint-PR-7327.yml | 37 ------------ html/changelogs/Steelpoint-ert access.yml | 8 --- .../Xhuis - ChangelingAbilities.yml | 7 --- .../Xhuis - SyndiBorgPinpointers.yml | 7 --- .../Xhuis-HandheldConsolesOnBelts.yml | 5 -- 17 files changed, 107 insertions(+), 129 deletions(-) delete mode 100644 html/changelogs/Danno-dufflebag.yml delete mode 100644 html/changelogs/Deantwo-PR-7403.yml delete mode 100644 html/changelogs/Delimusca-foam armblade.yml delete mode 100644 html/changelogs/Delimusca-slime.yml delete mode 100644 html/changelogs/Gunhog-emotes.yml delete mode 100644 html/changelogs/Incoming5643-butterflycrate.yml delete mode 100644 html/changelogs/Incoming5643-shuttle stranding.yml delete mode 100644 html/changelogs/Menshin-platingcable.yml delete mode 100644 html/changelogs/Paprika-hardsuit helmets.yml delete mode 100644 html/changelogs/Perakp-slowdown.yml delete mode 100644 html/changelogs/Steelpoint-PR-7327.yml delete mode 100644 html/changelogs/Steelpoint-ert access.yml delete mode 100644 html/changelogs/Xhuis - ChangelingAbilities.yml delete mode 100644 html/changelogs/Xhuis - SyndiBorgPinpointers.yml delete mode 100644 html/changelogs/Xhuis-HandheldConsolesOnBelts.yml diff --git a/html/changelog.html b/html/changelog.html index db07feeae83..123c3211958 100644 --- a/html/changelog.html +++ b/html/changelog.html @@ -55,6 +55,64 @@ --> +
    +

    04 February 2015

    +

    Danno updated:

    +
      +
    • Fixes dufflebag's storage capacity.
    • +
    +

    Deantwo updated:

    +
      +
    • Removes duplicate fluorine from Chemical Dispenser.
    • +
    • Added GoonChems to the Portable Chem Dispenser.
    • +
    • Added cancel buttons to the ChemMaster and CondiMaster when making bottles, pills, etc.
    • +
    +

    Delimusca updated:

    +
      +
    • Added new foam armblade toy to arcade prizes.
    • +
    • Slimes can drag themselves to mobs to start feeding.
    • +
    • Attacking another slime will pull them off their victim if they're feeding or steal some of their mass.
    • +
    +

    GunHog updated:

    +
      +
    • Five new silicon emotes: *buzz2, *chime, *honk, *sad and *warn
    • +
    +

    Incoming5643 updated:

    +
      +
    • New contraband crate containing fifty butterflies.
    • +
    • Shuttle will now always arrive, but won't launch in rounds where it would've been previously auto-recalled.
    • +
    +

    Menshin updated:

    +
      +
    • Fixed being unable to place cables on plating.
    • +
    +

    Paprika updated:

    +
      +
    • Helmets for hardsuits are stored inside the suit and cannot be equipped without the suit on.
    • +
    • EVA space suits are now lighter for faster movement but lack flash or welding protection, don't hide your identity and have less radiation protection.
    • +
    +

    Perakp updated:

    +
      +
    • Tweaked slowdown due to coldness when in in low gravity.
    • +
    +

    Steelpoint updated:

    +
      +
    • ERT base equipment rooms are now access restriction to each role.
    • +
    • ERT commander spawns wearing hardsuit for identification.
    • +
    • Two boxes of metal foam grenades added for ERT engineers.
    • +
    • Deep space sensors recently detected the derelict remains of the NTSS Omen, a outdated Medical Frigate thought lost, within close proximity to Space Station 13.
    • +
    • If any SS13 EVA Personal are able to locate this ship, they will be able to pilot it back to the station for recovery. The ship may also have cordinates for other locations.
    • +
    +

    Xhuis updated:

    +
      +
    • Changelings now have the ability Strained Muscles, which lets them move at inhuman speeds at the cost of rapid stamina damage. It costs one evolution points=.
    • +
    • Changelings now have the ability Augmented Eyesight, which lets them see creatures through walls and see in the dark. It costs two evolution points.
    • +
    • After many failed raids, the Syndicate have finally done something about poor communications between cyborgs and operatives.
    • +
    • Syndicate Cyborgs now come equipped with operative pinpointers, which will automatically point to the nearest nuclear operative.
    • +
    • Handheld crew monitors can now be stored in medical belts.
    • +
    +
    +

    26 January 2015

    Dannno updated:

    diff --git a/html/changelogs/.all_changelog.yml b/html/changelogs/.all_changelog.yml index 6e4689f9583..444c27d60ce 100644 --- a/html/changelogs/.all_changelog.yml +++ b/html/changelogs/.all_changelog.yml @@ -2377,3 +2377,52 @@ DO NOT EDIT THIS FILE BY HAND! AUTOMATICALLY GENERATED BY ss13_genchangelog.py. never been easier! fleure: - rscadd: Added briefcase filled with cash to uplink. +2015-02-04: + Danno: + - bugfix: Fixes dufflebag's storage capacity. + Deantwo: + - bugfix: Removes duplicate fluorine from Chemical Dispenser. + - bugfix: Added GoonChems to the Portable Chem Dispenser. + - bugfix: Added cancel buttons to the ChemMaster and CondiMaster when making bottles, + pills, etc. + Delimusca: + - rscadd: Added new foam armblade toy to arcade prizes. + - tweak: Slimes can drag themselves to mobs to start feeding. + - tweak: Attacking another slime will pull them off their victim if they're feeding + or steal some of their mass. + GunHog: + - rscadd: 'Five new silicon emotes: *buzz2, *chime, *honk, *sad and *warn' + Incoming5643: + - rscadd: New contraband crate containing fifty butterflies. + - tweak: Shuttle will now always arrive, but won't launch in rounds where it would've + been previously auto-recalled. + Menshin: + - bugfix: Fixed being unable to place cables on plating. + Paprika: + - wip: Helmets for hardsuits are stored inside the suit and cannot be equipped without + the suit on. + - tweak: EVA space suits are now lighter for faster movement but lack flash or welding + protection, don't hide your identity and have less radiation protection. + Perakp: + - tweak: Tweaked slowdown due to coldness when in in low gravity. + Steelpoint: + - rscadd: ERT base equipment rooms are now access restriction to each role. + - tweak: ERT commander spawns wearing hardsuit for identification. + - rscadd: Two boxes of metal foam grenades added for ERT engineers. + - rscadd: Deep space sensors recently detected the derelict remains of the NTSS + Omen, a outdated Medical Frigate thought lost, within close proximity to Space + Station 13. + - rscadd: If any SS13 EVA Personal are able to locate this ship, they will be able + to pilot it back to the station for recovery. The ship may also have cordinates + for other locations. + Xhuis: + - rscadd: Changelings now have the ability Strained Muscles, which lets them move + at inhuman speeds at the cost of rapid stamina damage. It costs one evolution + points=. + - rscadd: Changelings now have the ability Augmented Eyesight, which lets them see + creatures through walls and see in the dark. It costs two evolution points. + - tweak: After many failed raids, the Syndicate have finally done something about + poor communications between cyborgs and operatives. + - rscadd: Syndicate Cyborgs now come equipped with operative pinpointers, which + will automatically point to the nearest nuclear operative. + - tweak: Handheld crew monitors can now be stored in medical belts. diff --git a/html/changelogs/Danno-dufflebag.yml b/html/changelogs/Danno-dufflebag.yml deleted file mode 100644 index 1bbbf93aa6f..00000000000 --- a/html/changelogs/Danno-dufflebag.yml +++ /dev/null @@ -1,6 +0,0 @@ -author: Danno - -delete-after: True - -changes: - - bugfix: "Fixes dufflebag's storage capacity." \ No newline at end of file diff --git a/html/changelogs/Deantwo-PR-7403.yml b/html/changelogs/Deantwo-PR-7403.yml deleted file mode 100644 index e28b1fd143d..00000000000 --- a/html/changelogs/Deantwo-PR-7403.yml +++ /dev/null @@ -1,8 +0,0 @@ -author: Deantwo - -delete-after: True - -changes: - - bugfix: "Removes duplicate fluorine from Chemical Dispenser." - - bugfix: "Added GoonChems to the Portable Chem Dispenser." - - bugfix: "Added cancel buttons to the ChemMaster and CondiMaster when making bottles, pills, etc." diff --git a/html/changelogs/Delimusca-foam armblade.yml b/html/changelogs/Delimusca-foam armblade.yml deleted file mode 100644 index b6964ef7820..00000000000 --- a/html/changelogs/Delimusca-foam armblade.yml +++ /dev/null @@ -1,6 +0,0 @@ -author: Delimusca - -delete-after: True - -changes: - - rscadd: "Added new foam armblade toy to arcade prizes." \ No newline at end of file diff --git a/html/changelogs/Delimusca-slime.yml b/html/changelogs/Delimusca-slime.yml deleted file mode 100644 index edb277e18f5..00000000000 --- a/html/changelogs/Delimusca-slime.yml +++ /dev/null @@ -1,7 +0,0 @@ -author: Delimusca - -delete-after: True - -changes: - - tweak: "Slimes can drag themselves to mobs to start feeding." - - tweak: "Attacking another slime will pull them off their victim if they're feeding or steal some of their mass." \ No newline at end of file diff --git a/html/changelogs/Gunhog-emotes.yml b/html/changelogs/Gunhog-emotes.yml deleted file mode 100644 index 953335418ea..00000000000 --- a/html/changelogs/Gunhog-emotes.yml +++ /dev/null @@ -1,6 +0,0 @@ -author: GunHog - -delete-after: True - -changes: - - rscadd: "Five new silicon emotes: *buzz2, *chime, *honk, *sad and *warn" \ No newline at end of file diff --git a/html/changelogs/Incoming5643-butterflycrate.yml b/html/changelogs/Incoming5643-butterflycrate.yml deleted file mode 100644 index 5ac42c62b36..00000000000 --- a/html/changelogs/Incoming5643-butterflycrate.yml +++ /dev/null @@ -1,6 +0,0 @@ -author: Incoming5643 - -delete-after: True - -changes: - - rscadd: "New contraband crate containing fifty butterflies." \ No newline at end of file diff --git a/html/changelogs/Incoming5643-shuttle stranding.yml b/html/changelogs/Incoming5643-shuttle stranding.yml deleted file mode 100644 index bfd210ffdea..00000000000 --- a/html/changelogs/Incoming5643-shuttle stranding.yml +++ /dev/null @@ -1,6 +0,0 @@ -author: Incoming5643 - -delete-after: True - -changes: - - tweak: "Shuttle will now always arrive, but won't launch in rounds where it would've been previously auto-recalled." \ No newline at end of file diff --git a/html/changelogs/Menshin-platingcable.yml b/html/changelogs/Menshin-platingcable.yml deleted file mode 100644 index 43f3fc0fae4..00000000000 --- a/html/changelogs/Menshin-platingcable.yml +++ /dev/null @@ -1,6 +0,0 @@ -author: Menshin - -delete-after: True - -changes: - - bugfix: "Fixed being unable to place cables on plating." \ No newline at end of file diff --git a/html/changelogs/Paprika-hardsuit helmets.yml b/html/changelogs/Paprika-hardsuit helmets.yml deleted file mode 100644 index 0181cb0ac28..00000000000 --- a/html/changelogs/Paprika-hardsuit helmets.yml +++ /dev/null @@ -1,8 +0,0 @@ -author: Paprika - -delete-after: True - -changes: - - wip: "Helmets for hardsuits are stored inside the suit and cannot be equipped without the suit on." - - tweak: "EVA space suits are now lighter for faster movement but lack flash or welding protection, don't hide your identity and have less radiation protection." - \ No newline at end of file diff --git a/html/changelogs/Perakp-slowdown.yml b/html/changelogs/Perakp-slowdown.yml deleted file mode 100644 index 21330d222a2..00000000000 --- a/html/changelogs/Perakp-slowdown.yml +++ /dev/null @@ -1,6 +0,0 @@ -author: Perakp - -delete-after: True - -changes: - - tweak: "Tweaked slowdown due to coldness when in in low gravity." \ No newline at end of file diff --git a/html/changelogs/Steelpoint-PR-7327.yml b/html/changelogs/Steelpoint-PR-7327.yml deleted file mode 100644 index ce66b9d478f..00000000000 --- a/html/changelogs/Steelpoint-PR-7327.yml +++ /dev/null @@ -1,37 +0,0 @@ -################################ -# Example Changelog File -# -# Note: This file, and files beginning with ".", and files that don't end in ".yml" will not be read. If you change this file, you will look really dumb. -# -# Your changelog will be merged with a master changelog. (New stuff added only, and only on the date entry for the day it was merged.) -# When it is, any changes listed below will disappear. -# -# Valid Prefixes: -# bugfix -# wip (For works in progress) -# tweak -# soundadd -# sounddel -# rscdel (general adding of nice things) -# rscadd (general deleting of nice things) -# imageadd -# imagedel -# spellcheck (typo fixes) -# experiment -# tgs (TG-ported fixes?) -################################# - -# Your name. -author: Steelpoint - -# Optional: Remove this file after generating master changelog. Useful for PR changelogs that won't get used again. -delete-after: True - -# Any changes you've made. See valid prefix list above. -# INDENT WITH TWO SPACES. NOT TABS. SPACES. -# SCREW THIS UP AND IT WON'T WORK. -# Also, this gets changed to [] after reading. Just remove the brackets when you add new shit. -# Please surround your changes in single (') or double quotes ("). It works without them, but if you use certain characters it screws up compiling. The quotes will not show up in the changelog. -changes: - - rscadd: "Deep space sensors recently detected the derelict remains of the NTSS Omen, a outdated Medical Frigate thought lost, within close proximity to Space Station 13." - - rscadd: "If any SS13 EVA Personal are able to locate this ship, they will be able to pilot it back to the station for recovery. The ship may also have cordinates for other locations." \ No newline at end of file diff --git a/html/changelogs/Steelpoint-ert access.yml b/html/changelogs/Steelpoint-ert access.yml deleted file mode 100644 index 373f936c8f9..00000000000 --- a/html/changelogs/Steelpoint-ert access.yml +++ /dev/null @@ -1,8 +0,0 @@ -author: Steelpoint - -delete-after: True - -changes: - - rscadd: "ERT base equipment rooms are now access restriction to each role." - - tweak: "ERT commander spawns wearing hardsuit for identification." - - rscadd: "Two boxes of metal foam grenades added for ERT engineers." \ No newline at end of file diff --git a/html/changelogs/Xhuis - ChangelingAbilities.yml b/html/changelogs/Xhuis - ChangelingAbilities.yml deleted file mode 100644 index 50085a4066a..00000000000 --- a/html/changelogs/Xhuis - ChangelingAbilities.yml +++ /dev/null @@ -1,7 +0,0 @@ -author: Xhuis -delete-after: True - - -changes: - - rscadd: "Changelings now have the ability Strained Muscles, which lets them move at inhuman speeds at the cost of rapid stamina damage. It costs one evolution points=." - - rscadd: "Changelings now have the ability Augmented Eyesight, which lets them see creatures through walls and see in the dark. It costs two evolution points." \ No newline at end of file diff --git a/html/changelogs/Xhuis - SyndiBorgPinpointers.yml b/html/changelogs/Xhuis - SyndiBorgPinpointers.yml deleted file mode 100644 index 92cfd31e29f..00000000000 --- a/html/changelogs/Xhuis - SyndiBorgPinpointers.yml +++ /dev/null @@ -1,7 +0,0 @@ -author: Xhuis - -delete-after: true - -changes: - - tweak: "After many failed raids, the Syndicate have finally done something about poor communications between cyborgs and operatives." - - rscadd: "Syndicate Cyborgs now come equipped with operative pinpointers, which will automatically point to the nearest nuclear operative." diff --git a/html/changelogs/Xhuis-HandheldConsolesOnBelts.yml b/html/changelogs/Xhuis-HandheldConsolesOnBelts.yml deleted file mode 100644 index fabb970fa9f..00000000000 --- a/html/changelogs/Xhuis-HandheldConsolesOnBelts.yml +++ /dev/null @@ -1,5 +0,0 @@ -author: Xhuis -delete-after: True - -changes: - - tweak: Handheld crew monitors can now be stored in medical belts. \ No newline at end of file From 01bf5b343f355a7d4302057b3d9bbac9cd1cf1bc Mon Sep 17 00:00:00 2001 From: TZK13 Date: Wed, 4 Feb 2015 01:23:58 -0600 Subject: [PATCH 104/122] Adds purple shorts. --- .../crates_lockers/closets/fitness.dm | 1 + code/modules/clothing/under/shorts.dm | 6 +++++- icons/mob/uniform.dmi | Bin 194009 -> 194664 bytes icons/obj/clothing/uniforms.dmi | Bin 43449 -> 43811 bytes 4 files changed, 6 insertions(+), 1 deletion(-) diff --git a/code/game/objects/structures/crates_lockers/closets/fitness.dm b/code/game/objects/structures/crates_lockers/closets/fitness.dm index c701cc054a5..c22b32d12b2 100644 --- a/code/game/objects/structures/crates_lockers/closets/fitness.dm +++ b/code/game/objects/structures/crates_lockers/closets/fitness.dm @@ -6,6 +6,7 @@ /obj/structure/closet/athletic_mixed/New() ..() + new /obj/item/clothing/under/shorts/purple(src) new /obj/item/clothing/under/shorts/grey(src) new /obj/item/clothing/under/shorts/black(src) new /obj/item/clothing/under/shorts/red(src) diff --git a/code/modules/clothing/under/shorts.dm b/code/modules/clothing/under/shorts.dm index 43f8e49c5f4..1fb22fcd9a8 100644 --- a/code/modules/clothing/under/shorts.dm +++ b/code/modules/clothing/under/shorts.dm @@ -24,4 +24,8 @@ /obj/item/clothing/under/shorts/grey icon_state = "greyshorts" - item_color = "greyshorts" \ No newline at end of file + item_color = "greyshorts" + +/obj/item/clothing/under/shorts/purple + icon_state = "purpleshorts" + item_color = "purpleshorts" \ No newline at end of file diff --git a/icons/mob/uniform.dmi b/icons/mob/uniform.dmi index 3d80a2669ea4fd154bd7fe843e6ae01f8fc38201..aadeecc5da83587087c9d24b957f8dc1760a359b 100644 GIT binary patch delta 153867 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

    EdlSsl`i@A?GT%r?;vr>j6 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 z zrTVL>tF~DfHDh9deS!C?hRkV&Y@%gG>HDJ77T&{OXXw}b*3;JYn@X_aw2-q+ckl>B zMt6Luy&Ex@FiX`# zUajZ0JcfrJz>nejcXqkcA3$#jc?+6TUMID09$|JHI43t%8ROfNtvi|Wy?^@=zxF}W z=zTMB{w)L9KJ=k7EN^k+bWVq<_Tz;rB`(w-@9O(AyCrNZ$CoPFeve6?#uc=`$xU4G z666M>`xbk-Ts$AigE$^_iQv9NOe58a0E0|S|F32g& z?BhwIUsw8wd*t(ZLL#2C;Ts{8aUGH_{K9ibEO&zkXEXG$;DHih!tw{fWF}~ zsddc^Gj<^q_`)K=Vjk#b)bzW6$Jfjw)a9#Fx%5@h1)R2n*O-(Tj`^)sVBqoqWvBUmj8 zL(*hb#l&G56bPnoX5vR~J{?vqj9dBqXhc%U_~&Tola^(=Rx0s0g%eBCMePgAWpb+e zzndKIF8(2UWa;y9A(#6yG8ypM05JP|ilNYTdJ2}U6PeE+JM{--->7bGssVH9Z$+OE zQ~4^pUOmUOK)6G4s_9r=+KmdN{|9)z!Cx!M=5NKtybSyhw*W`GA0r<~1Nm0}z*w~R zdVjJr>?cW6uc*f4B+34tYko)Grr&x~M}4Em!&(YL)6CuOrG86z4Ko00XKiu1*vM5~ zZZI(^DLO1azaXJg>=ccTh2^!t{M6Lre?nmtSJv%c7=Vz_l_SsCSBkbmpfX)}@ z{zl&laNSdax}U5M792IlE#xSSO$H8vA{q1Q#TqXy1P5JrIA3qixy(l+Im`wV+SvmE z$WnRnvF9BSL6IIt71IY3TjMFq^=1?O36GvU!RKJt?g9eT;0@UPHng(O`za9IKdo)% z`2Q^_dB~EN_YY7Agf8y;SK~GAzs6Wx+V`PzV{j|Kb`tz(H2EJF^hY)gtodezsy5bdql^z8Z3zN^7GMQu77L+M)i!F9uT@NFY0Do ze^y#lprruK`xC%o+MpwV+-ci2Q{P}WUHTBl+te36`5_;em`)1p&ZF1@?{=sAi28t^ zKiqsSvlcT?s^j>iQtQdv6ePi2YSH{$qVHF6_|y~2#*x%0JqPeuVD_CuOCx1S&+C9H zZ0q~71I#wZ-0Qz(0xh`o=Pc-XjO?mT!w=xyNy_Y#F*AdRxvk6{=L7>G=I-=>Ka z<=+0f{hWsf1_NH)!O%=M-_2MihBK(m68_|@(k_t1vyUFuD$}C{9fd2xM;EF zeE~kmnzX#U{F(Xh2Y2K?5v{jQz)o5{jy&5PHOh=`0qE>tLfh{3IbwNOI^#JxaY_Fn zJk)6%eiIG1KJr61hVTiXF*NT%kxNWKSZ{h>y-`RATe#z)F}*>kcZebRL&<)iigUo+ zaZp({?etg+gV!x6f;QYLQrTRAdo-LU4Xk^7?4+bawu9l};ic2>VI3$mAYp<~A4@92 z0eW7OqrDN?Z4lcdBLEtFIW))7iCA;phbSbXMe)pa6M;o9t^g*rchSa9eHUQy=?X_ffF%t(kd^cFBA*s8kpOl*;n zlC~L@$*5Ml4t0Y`z?u!%=o5J^+8_eju0qXbT|7SP20;=mAg18m;jPAtY0LebY5A#bcbj+P^47>PD-B>*IULuEJrfdmx3OAv&_ z0-#US?7OmZOYh~EdYn$RCiWJma(W=JQq&1dKwY62QWO~x?N`CGT4!^ zBJD6}qYOm7^l>W(MD5`l`P@GqdZM;MfH<85sP}%_-~###+1X3zpLa1cV*-`Rm2{st zpUTV1ewoo}(gk|W$jCbr$jppuJkF&#cE4gI4#+2d84^L?zke6c7iVH(ddSFlE6|`u zD3<&V7H~tS1E~gK;2RaewV>HUkh}SFcBfHmwtP~i4REM!)QkL*bT8B96Ip+3n7I3m zS;l#Pes0GYY@c-YfP8*sv)7f2s>XEPz{Gk{$Xs%a*@ueVjx*wso^NodmQ9cv9JRQ9x03m zfMtniUSf6>=ZurF4mI0}ZpQ!dXC22^DYmPa{@%~b2pDvJR2h(~_3O*CL2ev!-iPe< zOLw=PD@IWvf4#P6wa!mad0CJTzy;HyvN9szuVL~2J%~0FpAzY`tznzE#rJMu{kRoq zJQM~X6g7>*=_m)pi;$3z++?+Yc@v_i4F&=4&GY5boH}@O=nOIgX|a@hz{{k$tp%;2k6K%3%K{6&$*P@&IzzAR9-U>E<~|>*736fsFyKtq;Uo35-fhF za!XstA;0lK(Io&k)_g0@W3(!R=1b>P4VNJFCt{F3DoeZJ`IaQRO(t#`g?C_zmQ^gI zZ?r${H=YZ;spoEkwlEcK!q?JO75FPD^JAL;qX%VK059fY`J#38VYT8g@ePxuI8&?z zPhu&fz0m+pA+h=INp+5yR*;NjQ@5U z3oE?t3a7$`Y1BJE0m>PW8>rCdH4y>;QT;HwehPB)IPcDs#*aPHLu!sB!V6k~-4-u} z5oIMWaMH0WYRNbKWNz@%fdM|5G_Y2abnWEoLWqK5B+)PPDl`*-k$_vTM zL-OyQ>%iWf&jOCSHj~#nk4^k3ix=d2&7;T!#X(EYA_~u5b-8jjRJm0}E!30{e)5&8 z7mJ-sCz!R{{Iok9x6pfHeccAMl4ZeIht`GK_zX#N}ysZRJ;f z0epA5{`ep_#0gqlh;cd#*rE6Fhe3w7%k5gxZlOt&DuvD7xpUaNb_eIj%Lix>Wux~G zoF8IuEOC*bobfRHzaQ*$a~Asx}X|co^YONK!r@ z(Z|GlUY+u)Nk|ThGr{veZ4cp|+k!7*6KC>&qyc#Q;(7sPt3{R{5)_0Tdj{4VjTvjp z#%*!!85g{>iJ#4dg?CI%O?zL7Nj27uO?Jf^-Er%h1X0VFJ5ZpMzhc>$@{am|Rn-k& zy(In<5)z{3{u>6Zq%~QlLPrNm8XCbnJ3Cs>Rkv`fjCNCSOt?N%ek?jyzFdE9JAo{b z)82$gBwM)W3vj(6cxT>iBy)NSByoDyojB*_E7KAkY}KnP&DPGTiRa`ySDqb{pp`Va zlT?Mz+Auo(KBw$mbI1QS9}!z@YzZf>*xhfineiH5y3n@P>u%e&gp@F7_AZ{m(*0bp zVJ+Y7$dDPVWQX^ZF zQVmS7gD#>^gSx;5(7J*_Q?nm+;U>t+!7<5kqCz&UtO)XmF752-*io5Gmh3;2Fyax{ z$1~E`T3IxmW_cML#_xy5k zM+7P25)$%uE#b3V+o7AWuYln=4(TTJ+={qV+6V(C^t_FVK{{eg|5#4m!dNZ?+5GdG z7WV3HQ%Lu4%C~^9mat8RsoGz{7edyROJT|*R_7Z=+)%(!kFj84L{6%l#LUkb(fiuH zD=sePb{-#O9YLTk&8O=jml5=S*i`mFQkDlHkMWfgDHT;{nuuQBWKn@|#I;r;pBKKw zYre`^Qci#T#dAhn5lmbvgS#0-kx7y2d)OZ$WY|jPs)Nhy^tl?Vv(GRkC8(MM%TkUr z8;~;>ywDxA;g&3JH{EWnk5y$^17N%qZQ4CbGT!G_lr%j_iZkO37}D11hj!_HloRqX z*@?YxnpCWwasG8Ov$dO7ZI~;kk+NQCg2;Gk_(CQ6$E2`nl?~h&TII5lV0O{^ZeNtq+2sLlA3hZi`;0I00ZXu?5pG$;l~9ERKz@u z@vKSk-ePEz?o38q9i@+t&s7n4_pGmsL7Ky~>b*XF;@=~mQia0zDTYHqiHei`d%;LZ z7oBLdwLSxye`qA&x_t`rq3=-)%h?T5W7KmUKBq9Mm(-IbAXh1 zaC9Ud_f&VN(cQ(e3JtmLDv5ZiTbJ&#Kc8)r0C{118nFo|JHkqWE*#0Z z5XWgKp2oF^-OGb^f~@guWb>zM2z6LrUlHwBVzh6l{xu*>?EQOo*v1k!7uP*d)+|a` z;CUrP#}v7%!RCQ3R>ibFs7OJ9ae)0eejSe+g}J1Cs}8Nn+prG8 zzr0VMl|){g<^hH7nj`l1>P~@Oq;n`b>_Pso;Tq|Bsh4Mu4VcaK|196rx%n|sF**Gs zu>K#V`xkS4U7GcV$yHS1DGeu+;@J`;{5T(vd~>fO78>2$i%lQZPNVUBI(OH4tpt)6 z^o>%d&hI{3^8qfz7|^i>IQYe-nfY`yGGd;{?ShE@SvBIB(@8{>rkYFBs*r%2bovh$ z%r6`d#%K$0(gr>1WiVWaxC0wk@vzZg))5W#p18@m^i~4Z(v?c290X*Nfo|>Xd3WY! ztq<&3B}{UkHwfuGdzO8cgr0B;m@K00`@`LhpP{wJ2I`=2Q%mvA?8>yzowGfV`fMwx zV&qzXY-6GR{*}w^j+*X@)3XP{E<{|#{?^3z?)ienlK#;n%+%D>Y#S0GVPW}GNlyiZ z%Vv*}w<#kaXdMd-Hd7ewVAw9mEh!_&=(5^6h1G)m!winyoKvavxk9b&p~|C(f+Hg* z{S-YQ4sEB_R9tTdG;m~ghChc%g) z#{aZtJLeZAqVTjzN?u*TB680Zj5QnseIK&d{EG(rInF0!v>hq@mjdQ3{T_iPwqT3T zIR5u>UMzI$NRgSt>BCv4px1dhalaX-R0hmjMfCdp1I-_45&GI=VJx^(xMmeD@IBL% zWKW{4u?7mdNvG4;)wzAk&76w`4`O;1sS9GSCzrRHW8uDFjIWGUJ7fxQ43_meaUgbY zt(VU)+g_TGn6unYYfEIXv(W6+%qG-QpEZ%;j}9lo_#UO+lGD0ILTuRK{WvpOvEr`W z7%e9qE)jhy=;;(MG^EmzKLF;9)J1oAnnNfZY0e5dQWs4gkDwXs_?avYCOQu6MV#_u zVGqi0AbTFLZveS5Ulx5)oeC<>&20gmBhg7op+FA zW!KHcu_|#4*^h}6R6BnavKI3)s%8&*zFl!l8wDR<75lRM61T0w2WQ<7+YY*M1OtQC zjiN%HV0J;s(qn?ekRjto;v5FF_{4_szf=`fLTUxC8J-AZzw}D|)&EpHDvfz$#F5a& z93m$E##(?HIM0bn0DjR;qFIGagsa`6mpfp_V4bKOw@T}RL^|n_O(A@FAftb1rE*T? zL@jy91y$}ce$C24C*zS4YN0`Ls9&@JA0#rUg+S6>v;(oN=o$s9T?uIpqw78W(-s!n z7*qpkt6z>x(G&55)-<7$#q(=(zU?LDabg`JaR}9K1{1=eh4)}st~ab=*>m1f#~esz z5b_TsSel(>kn)~Fmf;tn}q`w%Ua6h;|YKQSXYjX0l*7vi3G}ojL zP{iZgiw`Z#)JTkT<;d$^9JB2ce7tRahNI(Xsz$Q19^xTvA3{fJ6OEb_jn!x#3FAde zPh%wi$-6D8O0jh>@Q)SMmF5MH36XCJqqqL~LJ1-L*sQ_;@#7E2_vqKxx#8|l8Bf&* zYM%&VRylkAaNZS)KIv5Q50FI$%zBp&*+Y*!9f)^l^6=CAqmufl(vnAfu@zo|q6J>} z4T18HuMZ)ryiyDKTu&3j7F(4Gg`Yq zJZ)7F&7<=9a5AbOYPjJiH?(<{V86?!G_YaU|AFR3C#B-JKxB2$Kq(qL8=~{TeZMY* z&p6#+d)?Hc%1i4uxoO2>Cou&}f28epv9r1p3OK@W=g*Xp7E@xI!_oHaI5VF(Go^bX zw}=h^-_HP#L+TB3Y~hNy?88X~rg3srQl8C#gD#p%;VnkVZ5_e2un5^6w zdkePWzMF#TwwQK3a^UISZ{)xX3My(Es&K^lqs#V;jtRIRtIAqqh)J1}V0HMn&sCud z3ywlN*y6z+mX?-P$TbHChq9)pDpH8Gow(OBKtEVei0 zI5ix7T)u`bW-H>+Tjo0~&EQEqA(&j#I>i(aW_YZ<;AHyo2cF-zAbAD{UIPcB?|^|b zE-7o+2xflH`~4lii;ehs_s8ZCMyXG-IncsH)td5OfuV_FyF%tYl&5o0UBEss61?-- zwXF0Xic50cx^!RZNO(_7oX8>cMcY71l|&+{`465?B_L?uwtF`e?BH_NeJ0%f?HuK^ zk}wl<_(OAqO!}L=@C|nb#c!;4A#!f8h?@10!q{uk! z;m2{S@Pd5-Rq$AD;DmDBj}wt*YDQ zRdOu$?NgfU4Wm3^v4u-Qw@yL{byvuPv%QXJ==}-Bap=KBR0@65%J{DjgyNJEXkY(1 zPADFHk67&XzgszXpqFuO=|+yKSrocw2M&$2nQ6=}2Ms%slhG?eYH@1Q)+^!=@J zTS;x6)qSNL7Q26x*tMDl1f|xB5b3$V}I6^*sTyK}>BSWiLUM@w`Z!|J_H1vi1q_ zD5)?bidRtu$`LX8TG4d9R<6@0DrHHu1l`t zs+Ons{~)IG*#Z(B7Tih<=2NW#d*;8nQoP*ZFukRfqQ5B6xI@&zQaVXpIMp48+rglO*%mhm6gOm#UI&{ekEC2sPDzuSncNi zp3grZfc{?Y$G3751bBE7piG$F^V8MW1BVYZPXm5Bu02Z@4h3(egaxV#u}=g9W=@!R z=;>RX;GJap{xvlN-F#M684VIV7xb8 zZ5!3e-KyBKFHKNp*EeAu%&Zu=kO%5zL4UPTPuA^4D z7yOPvACvpsCB!?KUl9I89*lv6GhZ`wem+{0Wld&!H=})@n^rXKmPsa1Sf3;gPRSL> zmlVyX?!33Cpz*_cb~aM*P7ksfR(_LoNb5i$S&-bVB$I7y-aNNXB#e^WGmlYb% zYxb_rsw|FhHu`8@7S>c0GvRVZwz;K+QC()Xe z-t_k97c)5+RGXSU(WxW{E+eIltBFS*74JF9S{7dWy+Ow2B_KY9^TWmD$@IY8_G$_l+bnynKoiff|YeJ`7-wFOQ1_Gu z$$K9aXi96O*JMho%}D&3(>%Lt9pK3I`*36)iJ0q)%*fwT_{*)MoF1%3cUoqARI=rh zF>RI~(Fr|x->yBfT>;_S9ZvqtE_S9HpQriE(0X2}-zGj+w>^6w;}WVKt@gZfeqKT( z6vih}k+Zl~&I%W$HISBKfi0pg4-iK6yu|9<#Oi&t-}W}&zs!umYdYI(8SzDE#0%1% z0^oV^k@d;wp>=4Y;T~V+t?RN9Pk~YyX0j8fSSnu|UIx#uMd-HJ>x+B^DXCkmtX2@+ z@JK^L0~kGD5a?Svl_8OU)3CRI(*FTn$H~Fr<<3yX`$ccG{?5)@dU|^0y%@0H zsluV4c8F1D2nlTGrOBSo&mXk-J->d5y?PaRA^=MI1xG|+ksDKNZoU}{3kew+jOM>G z0GgcHt5;YM*T^UZx$*GuaPa5P(W*3Jvzri+NOsfDq$_&(>QmR zY`*5!auE;&3Hc~+94Tl^5|Ydgj2Biu%&zfLUqeg3W6Vx-VaG;`hJZwdX!{Q0%F%aC zp-4Js>49oa`zrydFh3cl?3H#>ge1_0@{!7fZ3=t zjrWXlv?-`|$2pFF`}VNkFW~2y1qDX=-@>Z|v#=cCf3RnbOJIcB@>L5?jx%}NUIJec zLl>X!tRem_EQGR?UHas#LsXm1&i~adRDCwN{6g4o8Vs2VL zC$r9;ji9k3NbS>)rV?LAk<4tFw+PJl)r9*1cV~lBwzK2as&+&u$JSXh~Bi`*#e zt5H~|#1K|{GpWqGbo_EqwvfXiP$MbNH6j5Bku1We0&7sdYW8~3GJfp_N}0ZWnEG0~2!)L%BYSll zcG_GPUcRjiL>C0dD^UfHL5U4-5fAqhS9h6je??Kn#cAKUIdF3XVV|wce(QP@adng$zOJU6Q{mQ|Q zsYj2%BnhrcVBM%n)oS(2rN=42S$ycU7Mmsx7}mz#JO+#)^I;~RYQ;TeJ9G8^v&Zd` z>OzLbZ``H|`>1Ie*3?al39a8js)Yz*v)QAnIALFn!cKg|AGzqs5Hf>4jCQ}&Zx@Fl z%wO30vLcaguC6yxF|yh96WvBj3*|s$09UJ4GXtqWUgyrQxw$!>BYw+~M=U>@U&S!V z-$clu9Yha-@|8M2KimREC*I|t(7ng4Isw%K#oMQ5!AsjL&kg#la2@mI%Z1YmnCJDG zs+y=_E4s~E7{$)Cd72a`(&oG~l~GvzgIds;j-DP3pYSb|+r#?_O&W0S!QQa< zOi&6u)uxH}QcB-tBxM|hQ18^zDXjBxTjZ%VWBAd{8z9gQZoe7~6hZ(AQ-K$ge4>A= zAGYys-N%t@2yAB-Tm3k}lWlCml}DK9t}!1h~Jdl0Z3=Bj#^cqDL@t_vW9mE0DwV zQ_?AE+HaU*2b4ftog3Ifw^x>)$c$+DnY6G_rU{LJTbRp>X)*L7d0M^nByU^v77&FJ zMMm6QbIM^2D{bXW!Zq2c%skf*C1Fv@1JcQoi@kZpE$dlFC1R`>0+zk)+0nTvjsf}y zS*3|Ay6#ti@yZwSlh`O;x_yP>;xI~s29AzCeEphB6>xTPqC&$L-cf06Zf*|qU@Z?h zU@6qCc{>Z{dLDjP-cb49wKeq8=IMSAmiXaAdHEHn@z=ZXo^sA{P#CtuzyXZVvhyCe zK=K^x$ZfXpvxvdH5zt|PGtQul5Lq}$mt>cZlUaRUZnb9*ZyZ8!y@tEHeq;U$hL^7_ zmW?F7>m?!TN%f)NR>vr$%F5kjyj}W8Mx*Sa26|z6I-Q zYj|>&SG-@VP{JLB%2aQUR>>>Jhd#m};E*N27w-W5g#+x@$#yR(+X&F*1! zZV%c?>X{s+$A=r4vSaruNopqX|4~+<9F~9Sq`9MC57=z;XC%ig|BHF{|5#^>`1NZv z8PX$`%AW-M2AalHZo1~kY)1ZDPsx^oeLX3g6=&_+Dd)yS^|Yb?R$KpzCc5rEXm;Fa zE@u~%FK|lqUks#Bgcc^BRW$tnF{Sc-BpS``Mg1)NzrI0YSz;>cf^c(JQ8h>8;o`VU z$@gl9`Xc||{4t(W$vqtr7gUmi8Y7RzLW!hEJ#4 z9DaNbe=0*k)3XJ4J`A=NkNxSwG)E{G^z~KFpT%Ef>r{L6u%tNq;g4l9%hQ`DRvYi-qN;7f~u+?HSXQp{_rn#SShq6YG7Xiu{&G-=_*OWqPu&bo1+o$ zD`{_ms1?!FBuDFwsj>&l4Soy0-rUarM6KTKOgQ0$&p38zYf8q*%`4*ld)AchQvv}_5ppS=6 zpugioC(z$#7yhIO==h0Wm5Lr}Fkz>C!lowi=268_Ah+r9*3!?wZK9fK$`@(()we$C zyVh$s3Q4PZ!Zs$yF$Uk_nesoq&uJ_$RSW$Rjt8dvjN|8htl^4KD2xAF&tD5p9_M6g ztE6gt+tz&U_!~C6OokpUU$vI*!|LkKE%xH9`HW$D!z*;#+x(cG!a*&Q_k4kv8KZ}4 zY?xfMzU`A+|GoR=KPE}@<&UJncdyQrHE>}vUD8))b27QNe;oC<=-lbvw+>K%VC25G zTyhxCu-+Q5oRw3!KHxrhfle4fqQTyX#ASa4Yop(K+Nt+1<=a#wRMUN3(bK(H{Q+#T zyEpB0*DF?=&fUp2`MSt;Y`dnajTv_0wDY;OwFI`Yz76Z|Owrqei5b z_C4_`y5KsNR@&{|X#RVUkR_nYrFGBAPjHcQ^K0jgC%lF#-w)7)Tm=FZUztwkZt&^j8GK#ZJ0&C{Xf1+cQf8L0HKnQ7+dnjZS=jl9ods%p zb3ff-`=*C#YkF6E>xINvN~MVGKLEoz?V+hi>KPJRd@ADX^fX6yVej7Bo#`Kr2seJi zWnJj^%`0j6(qB-d+$N<=XsdX1@)vjGA^K&1EH2~DaLX#oO+-g^lpB)Nm1-#Ndt{^#Cx z@49P|u(S8fWbc{D%sbCK@AEF1$^B_hcmi|Bk;`6vq($e4nH!8?j~eFJQ+%HU#(Uuc zBL~L{!+kwNL>~9oqYqFn*lk`Ti6amY_k`}KKR3JgD5~^Qow~pGweu7%D-ma9=!z_= zAzO9=T5Y7u9ivl8 z7~%QoFP&7IVf$xfY-MJ;AUTTXjCISO)y(ciyd@Blbs3H-Fn2)D5xlnRG`|LvWTVuz z78lz7SvB{g+DWaF;l*DjBXxL?hM-ryi~{7UVzB>OKO*WaWiE+eLFFcU$|2h4nYtgC zSp4wodPvSB_gX(?^=}!q<}i^9T(c-iHcq-p@J`j4GKf^ppL+H-?S|a=Y=h|Y6{wSaz$iAujui9~jtTx_O zaE%ZD*n9R1Q7kY&eRdd!-&L z_I3KM_KHD6*WbDYM@HiOJz`TLTk@}2yN2~TTE@#Md5%QxMf5R@sVq;5zt+FZD=W+0 z-rf#7fw5rnnwrrARkV_cuSua+wLJZPgx&U;F)o&9t3OlqmGtY5o>Exjg;cvE59Gin zn@zQ){Ue`OW{FuvSMq-K!-ZkHdz{~Ytl#@4Zr3_3>-|>a&yK8ZGrTm`Jz+dZ0rphD z(Y{d^Cv6q(SU~Bp7%80j)qnA+4HE!Oe#vt+DV)~N=pcn@vk{=4iJsTgc-=+>J$x(i zyIizMh)X3fJ+3pQd~2y^n_u-upztYhzFbB+S;10h^Fy{VRZ-#4f)?E(ir#%9??>L( z3C~jVGM~k3^448Rs=r=iP1$4<$?f{sMXq;P(R@>BdSiqxfb->_HTQrI^XLuY_Jc)H zcyA)v(^+q2YoXF_XepQX3Z<-j@daaeZQ?S|M0573n`GU7Q}Wv!M;?9bQ;Un5SW{B9 z56Y#VXwfiS`qirfY2~`Y%p|Z;m)8v;(t9J&sp5cG?u=fgzf54;*ZZr%n( zxlgUV2#?&{x-MWkxyqV6)o-Bj=U(IoP8EI32X*iPik*V78Ykj$uUCRXXTq06G2VqEm0m5$) zsXa-4LdN(ueC0_i`I81Ok9>ukE_HG^PBQ9S~B-%Rr zThX!I4Q5?O`GRMm|AozvIsbWUW$kW%OJ#<u(%$Mx43-sfHRh zuFW3$V&xvalWKsUwLsr}iIhuzK##`@1HKaY{6!brT5KjwA;o%@K!@2t)1NEUG0GnS zJHfay4=WA;?2^F9JZbIMV=B$1garHVlR{lDm`E(@Q6uCF`QJ1(QNIrb(yz-JQ$5bg zIoO@PoY@Z%onznzxd`r%)gU4yq|6ogCw?aA2tNoKpr+@O(s6T5n$M#e9$ z6yDgnlN7FdYRE+lPUf{o?o!HSfJ;u3yWv;7GIx^ko?n(J4|#`h)6y@xLz7~maqBuF z6`nWRpR-=9rPpirK>a0|p{y;(fvW!39BMPuuONPrI3Ai!cE+Uslf6oom2Tzdi!+cB zzl`nBC13}@=)b>E&Uz2NyAJvK#NHH~e&f1Hx%)E}KBtPy?Ma0TFXOg4ga0kTcVFIX z_Bbw-$M=(01N`XS?>bdC4TYRXwKy@C&k(mEunpsZc^O_i$acMUw8>h7!2Pg5*J-Po zyz!&wG_fmB#;4mjx1}NdwZP`P%vQtu-Y@bncX+jRb>n3DN5>f3<{g)g`1&zBAt9sG zAt5yK$_KV}=0>DQOU3yMqd6)L#YYjHuJ{fspWQ8BAO0Yh_sb{Y`bo~YJG!P1jdlu! zh94ATSiFZ9rAcDdjPFgJNxYwfq57ob(`tqacle-llh&1#S&7~cW<>4@DHANF`Bup$ z=?~RJqP1ge;*Z%0PU1HnOx~S5lV*7I8Dn1`pHnweG^eh!_e|?75yRw)`~q^9pn@+a z`j<-pMsH(aF*4XZGlP!Yxl4l4R>!<2Wk_@7No`K>{IYv3Erc56@vDh@Q&18!2kscj zs?ksIKogyZoe_k{^<-3?3~N$<<6|U=7iP!lTFPrQI%kyaZWvsA6u8}qv8sSyi{^$A z)zPVEFF~B+S++-OCyiA|$X86k3I9cahH>ZxNcqoqfj0YIV198Im~TseZaLV`XfXs? zM^VVEk;XD1G-QbTZ1mqb-Iu#~)#5oLJIzbyms28vwf5W^b_T2gtextGcXyZa_@C4$ z8NhsHuNMyOWZR&_)d_KRrr0<9H5`hu#LwU>p&E{>iX{qc5=6TxCq%&*jS&+k^OS9Rcg1K2t5s ztzmHecnul}k8-Rqtq4 zZIjL`d08959aFQ}b+S;|GHvfE#bkc+-lOy9f?7@o? zIy19el9QbzH6&u3ZamV#Ic<=L2;z!1)E3;yNM`Y+g_p5g0XPWnpF14E5j7-M_3$zx*47>38h?_-``C1!!THbF4^kv&d6@v_wX3h`k?I2WI|7$MJ1?4QFj zt(4z?nFGuRqQ}_UKXd}xc+}sM^WCxie+~!k6YY}y{(pvH07?GcZDmTtbXu13-Gmc3 z2l@~4ftr$KA?!BbNQ;5jlB(eedEh@#m~@&QQ?;PONB;*3)2-@gy2CW~f8sV8r75NG zdY)n{nN|Ehd0*pJ80q7RI*Zko00D@OVQoF^=Rukgth z$2TUvZ#g)a*K!;>nMc~&&)jM4a=pnVSC~z#6T5u`fs1;zSz{-FN@YC*;hWSv2~^r` z)qb?qQ)${6sf6YKHB;5UbgY`?h!dhji0$190Sp4>*45Y zeJ|*eBlpC4pp}fVqx}2+kcf4x__kU27)}x(;tIM*^efrrakW6fyFU_FF z*QJ%#@3g2Qm!Qu8DL@hDE7>UDx<(O;o@h68e% zH`x{?h&#Q=4gM*(Yn+pP$lpg^{_3Kcvo=tP^)oG_bR=qCO_pDKKxC zi%ar|k%A&!(z5i?5w4Ky3;>Ki3JrdpYz9yH>WP>PV3V9{hST=*Uw@K)*Kb}>21X+N zlH9VJ!9|W@3yCtd)l=#Z>N1;3s3IQXyeRwildFO>~-|n{**fEKPP+_L3 zc}%Dg|ZJduA#%tp=ESmn>dcNd)_*DlQqwK zA&}qgZ*wm*r>|;9%YE28&-{ymwD0;k`lQ^c>RX~Nyw~L2Ve~#GhVt56CoqurGR>{l zrE(KPzdfP?P7VfNw)#stgKNGHuNn!4nPqZ$IW2htG{3jy2-%;zbh>D2U|no$tWD(S z@q$Uu73H}cNle<4nE@@1!#OX7TqYKxYX7z6T@bx;Sj8CT@fmDPiM?#zny7G}gL;;iD?NxLq z;P#ax5jczs&8O0rCW?{ZN;ZmOQyi`6czqnQiEiXK>3Gm0Yt~wlSpZ!avfCcS;l-nkOEp%@#xTk(~Ybs!jKFJKC zXn()v^D`mjnTqKmO_+1z!b;~Ke53(MsL7J+Rudr|(N>Z+g0b#NA<4S!C0~@Nos!k+ znLNqdSZrj8hcN+N>E5OJGvATXGPr?(G)M`(68Y06rE##&`%I%DO3wJ*rz#y$hYBa# zV?4fXR6(7YvF>QVyTyto0kLGlyd3GxPB?+|)iSaN^%#8(rDwGJn6VX zKP%k?bCrr5^UlIG2@gwgK#+N^_dJ)u+olGWB>F&eWHd*zzCH3)k@;t?;qNc0idffv zwNLekUcC52lOf9NWN&;-5^@4$9Kvu9>unz&pRKiW^grzZ6s{B?eRXHMk#rp*=abdr zh*h#+dBJJ9#A_t5Flg0ixW>atS>#E}s*Uyi{!4s(E9aeoKGyKz5H9GPzL#YJnyf1mAJ~Qk*JaWS05Sv5i|e>$1*s zqdRrN^xC}u;~6JTaTKkdVGXa0A4iBTuxn;^_U6*gqE;+j08^QF{eaTCW!BwA$zbU@;0M{Trsp*ge zS=52K`}mw|4voaT$l%`aGg%x)J9cc8J|O_(t6H$CX93rdeiFR;t3UcMxS;ba zCf2a2Q`C!~e1eCD=fN2pdb>Hc3hPd-+sk}Vfa|v;Bin~h4$l&42acJd zZh@uGjg3je&DWvN#c<_9bAuk9(3e^G2iYSIDh+EqQYSCVS(m6E3~LYR6nz|6N9&Yg^yIN72{|jxC|*i0X?} zcS?c3MRdGTYNV_^p_^X@M(oX%!D=-Q<*4hx?12*p+gkwjO!Ej00%8m*QwECiq(E;^ zp9RF2z`^Ve(d&Jl>rbMJU}FQ07jB-C%)9Qwxu#Z2R$6nLKJ}jW#gdXMYVEt|ld-%d zE(>sN(#tx&5pyhUzA7}GJb`^8N90|*;yTMCvSRVr0XEAQKSZ&gsz7m>xi`}5U0vO) zG43A^_YpIIFw{-c$`2VlHTk{iz{dyZMOw@T1NgPs0IJX+(lU!MzH?VEr=}6q~#ZeX*j+O7Ge~mR#Bfq`Y+1{(uFxc2hd0J zpx@7dnGcva0IlR0YUBl$AfMPReqW?I7n95P%p;22n6ZLC->|`KrJammpi~%T0n6YL z`{{f3?i$n)7mBa&Bol}|;-BS4r40^}X>1=*(a1Q?8E8tKK8WWAIL{^+*EV5zi2x%C z?vKo+HmdO3B+Amz@1RXsrB;JzM{P%FXnmB|;M)Ofm*S^2S-0j)`ZKs@go_VCcy#9i z21!Ymeeo=3ER!`<(oRS}AK_GhAhe_QYTFhHD%$4jF~33|e_0g52SyT;BqV;Lv($9i zXcf&KT54Z9$&h(&$mo3mpo4~$+`6armSl2iDO1{({qX3B*bmQVBrPqSch#F1>B0Ct zUis+fdtDax#|Z6Y!d2$8d;N%POThKHq?NrVnv|<-CPlZNJwRBcf;}O6f_ecLgn~b3 z`@O`zbMThIzLauHb4lYt{;a^OiOJ51A%6SZSdmh}=GwqNl?@Ldb3!{@Uup~)E_~IX ze0eo4Buaxasjr4ieO2u$_LI+SaVeLwmX-iqWBO(qQ3jcIX`L#8?&a&4*&iwFOGmeR zmOb~|U3L16^~p!$R6<;@yptnO)P~-+nJ~ZP%DJ0_5ZL5)Tn=P$EZoehhNclQ zu`BzhUZb^5^74)E>9=>>RqH}*@PBrj8~3~zp%?mKV_O8l4Hv_2B?f z$$pBRl$7+!l`ALD4lKEAu5$*;Qw#V1b&9cnkt-hQe}W5Lk9^g}Q;z(lU)@5G+aY(7y+h%L#+5SEJ>m0(dM=;YEoG4S4(7Oeq^O+kiUkEw;6SM zQ_k2q^8<5|qD&i_-mOYW%ie%;dsu^3i;pM9sfA&JuaKS>F>Du#1t-^muZ798`58&J z=bbh_Eh4U~N&uJ`{aj%qbL3CnY<76~+>ik3%GT0X_Ox3ra;3;%rE4uSCH$J*WkU)`#HCzT z)FIfob(uTv6T>cYV^5g;nhqI6W)c83YlLJ7N)QGO55Dbi)*j;V2#Si#Sl8)DAdfc%_sGn5WC+->&LkECLQ-FskZYg1`@Kli4z{( zDKR?DJKCAm9rCd*1;(?*d5bK>r^UEv^>F{o?_nyuw!|Jgzj#9m+N1q|Vr}7!=~QE&rCd5|tkXoaZuxn@#Rfs(J{a-= z&mZtxgqaEgjoXm8XV0K#Fc=gtW!3z6g^R4(?VUONcy;$AaFi%8Z~J7W=i+~indE7FtXBN(v$m+;5e&{pn69&8cU2OwgtmZ1MUjl-#jE#AE(0*IZ;+NJjQ!sXj1ehp=1m^?%2RhH@mNxNL@X1q39>V8iu;LhyB%!C5tH)Ymy zkD1xobr<5p0XrNgeU&!DKZ6pM2~-h}u4KjoWj&2-%_Y>USKAhbFi{*tX$*0`t!%|V z%O;c(4ih7T9y==TA}r)Cx#*P=h$e+;taO}g_6W)7cCRIe0KC=?0lIjJzbJ9qu#hj1>&?FW z)ewKiQv8{{-SxTt-(b3msC;b`nLul|?^!Sod&-1wk*!z!`j0!vT4en?y$6HLAd!49 zSW22Pq$EV(c)(c3{oD+)${^)Ep#thC&1ikh;;1G@7M}W+CPUa~6cTM2e zXXLP8cSyzFTZoD4jgEF-RoaznQCyha%#)9)lZHi~G2O0JCDyWa_eFYo&{n)CCKo>6 zN_G$o3-s7tZe(~HzSs2KonoU;3mzeukRfVGL*F3DmL}E#2^zfPtohE>NP6&nen&5DZ;(NYAojXc^ z(cx4e#YpL-qLs%m3?9w)nF5|HTd%e43oDt!qp$m<3>@77?K8Q@{+$0!l}nMfUo%m73TME(&1UeJ#ybzl6ucU|zR|8geUJ4TL_oA5PK zHbDY5%hHjf>4x(f+HUodBYA5BnaA%fC+E?cS}5v$gw22aWfaSN`w3Q3`@pbbyCT3%iu-s{EZh#5Zo-C~#hSzJws;Y6=WXbpqEG=uNrPrTogw z2YTxeNP9VmJ@+@EXTt=Hmhw|5ho%SSg`Oo#c&!`_JOS|&OIZ6hr1M$<=YTwoL$4~J z+{*3xf$Bdw3`BN&)0H-_Y^;_pmK8@#IY}sXTbOzVeB24};8ic;izbXu7+x0lR!kD} z>y{q<9DZvcG=4uh^(`H%C_av1od(T|LFEmN^-uTo=dBCMN z0SrYBpJ(y7SFho}o?PbW_94dLD)OAVzBygqsk2bI5sMt#_X)CrmJD;{J04F}rmw9C z2UYA0L!#6xKN+w`PO2z7M}JPjP)#JE$S2yS6&jJP4vTL^K*dunmK57k?H`Vicd~17 zEuz7j;t1RaaYE?_NwNh9a0EPejHo?!Q1ol`u(7Y$#|v^gqKA|#Fo1fv@Yir_m zAbwAdb|LXzBYlN9PUlGiZV0s^Z9g857hDeHDFA_$kQ1=>EeB;D0?YRYpJlO10wDX_*VWQds4v!Wv?^$LK;JmGJ3vXE-!r>8_#b{5p z9+T7_RlbF{lbnRl?4sXly(@tu38}o9*(Dfo*h6QYH+Yrg@jb@3$!C(|VBjY`@zI{u z5^kC9nbD|Bq1hb9Q|HpyHhMiUSr5+vW#<%Cx>k-yX9$mH3AGaFXxhr9^(|mn%pi)cj#we~}Nexly`uqk=4!6a1UsZN?gU=YZ+v;{u($EEn zm<0@$9>qW=tu4l=YM=N^boBgDJgtNHm?KH=cDq;8K)wMbd=ylV=o8#%IxSSCZ2w_q z!|OOb+Rpisw>7_4ooK0TiYmwKL3JzPKsfx{^5cU6^PC1VRRrqe(&(A!ds;}F{ZQRBBlhbdHIgu?KdyZ7Q34ais_ZC$#o50x{QEDG>OVBS29Osf-EyT_#S;C7gQtufIy( z2N?g~^NnXu%m169;tp}fzj?JD!p@#3Fo4ffRFp}756|nLCsP0C?D+tJi+)spOLPqU zUkiu+N9nvJ)g0&ky`6!bfw!dm0Dkn7^4;N3a)8!HEY6dvsrk|Y*$a~HTXo>*0G>`kdLiw=9?n*Tt;)yW1S=5lJM9HhmiB)E_#BC z8_t-XW6@RK9RPh2R_&0*%;ArUaI~4hH8c9aRZ&+ncR5Y;j0@gUc?*-uaUQh0Kf)8h2^r zsZXP}M@!G$+=LA;TNkf7?b=wz%#?S(#&WE+!o{|aADG)~UU>ds>*r9{OCj!Dn5Oc+ zoobR8S-*}j)QOho@;N+fPa=w$i?0aRIwQQIcigRR^@(kk>CR`i*5owhP`vR_G1fnsyfEzoQLt*l0z3 z9{%87#)*CJi)>9^sjIM!?dRSoBSkgCCz9sTHJ^H9-%LGF7`JsGtbU#!-6zNhzjFi~o_2~<>S$lp32tI$1NHbI&E%OYXt0Du4E?RaX*cxs~Iu9y~7 zlFecjl+tF^<2{r)L22GCAmKeM;&R0&tXOvYKm}H|$4*wCODo0Z;mrrJ+hR84`1#)- z92{s)^@?E>GBX#LgpptOy zmy=hrV({zPHpU=2u4P-LM~{}aeOx^#><{A9g*e?MD}PoKRX9%0!MZ)&GBPu-gV<2f zU%$5XCM$Zp8o9C8fZfOj>R-eX5W(+-;N5L%f4god}a_PQU^!p8eQmy5PQ624?1#K+~2Cr<*sv_^KNBP2)d* zb$)b8wI^uFi~E!fcmKY0+j|!m?ect4T@)DR2GIR_8}B6ij?fUdwpv%XFUdL2Fs7rN zfy?)PR%nWEZG5Cj^V>JLPA5?MNYX^Y^NAmvhK{QQXjspj>Xmewhe^EY{gJ7besoHu zv#3BY6dc}gSyoReEd{z9cNFiaTRwb8MN4~6I8u6>0(7&l%eYftZ@T3HAp{WjN&2mu z-3I3C5ZEQNfGA5QGz_e_1GTF+*a%SJbW?il2VK= zuyxdy3{^Jj54*(C5{eE|SlrEq%@z&^2_*GI);ZC><7&j$0&S`Zeq+hb1Un`^m0N}^ zlY`$XcP)gZ&~Fyx-t@e;4~Wetah%GRn;+rBtL|KbvfmnFQ)7(Ed}*l?O~!^9Ww9;c zfpW5kZ=I@>SR9%XoOD}Ya5PjpPHjEhrjTrlLf5w(+ZJdQf&u7aM|2p16!j%658pQwn@s?`sQL!%A!(T`j$F&r%%xXmAy4l4P|dX|tDOew zq?(#B3mIA2M6tmIe5B>Apy#Vc5sG_6|57)GGEhBDgD==~c`Z|lN z2<&<_*w3&My(qf4W@&jiN$67&cF8jWLEv3k#U)O$=@JvjdAuiWu|Qdoq^$i5P0;suD#oI}jR4n;9Mz@zWk#jA)XCX2nvu&`r@WNoWnNj2+Q!Zg=Wjq*2%!Y-eN z?~0CwhTJESQCB@Optxf}V7Da|@S-h!?9{hOZ9P^5*1lS-1#Ha#0&c&Uii7=(Up7-0(p%?p^uJF zBVBT>P%+=UZ{Z;Kd+X;4bdv;MsaEbdJ>vtP3c7|tLxiuzm|5^->)I0bMDm6 z>bYgE0A+G$lZkWg)PqOg=}|k@mD^M4i~TogDCSy%V~S<+qoWU#8uou9&u+S`tT8z} zG;S3)4}#kupxfx99RoQnKPJ5I@r(rXOZ-r}*6-KY<32qZdGo91th~A(%TXGQ7hK`? zseXASSkB?qQ1X4_zDtZb+FBO2bUA5WNm@DC#fs2CJf?5#vN&K6+6Z+dD|Q|S!8V% zaEJYRH`z83WFH$D2mLyClDSnb!c)44f9l1`G2Stjh|&LPkx zNBMdxRW&P=`jmb)3#LnnL*HF00I(tjl?-;BFW48njzS?nUhv`=F3JxwU9}K5VoxAs z*4A(2jC;3V#}u0x(LTV4IUg%3BsF!(d6mhv{&J=`@@OXm4MZd3g_+%PS*hAPSUH!c z3OEq>bj;{=L7$=&(4VDX)k(!NHut?IL3r{~jG=jHIl2Ng%`y5(k5NNERNOEy;!r!j zCppw#yvB6;8Qy^p7C$tSoNK>VUuht~z|~w_RMghp?K+2B{8s6dySi$d&UcHiHDQS* z&H3=+-QF84cmGJ@z_;qt?%lg5SqmRG0bv1PoVKz|D!Uc;wHnhg$Z=Ke-!tq!qe-aQ zAP~tW>5^@9bTm5;ei>SWjC>;3Q00}HJ#g*~-{S)lSk8cyKEMbY=QN_DJcCs^R9tEB z?G$$SO|{^z7XS5cryj0c9|ADsT4-+knn#Q)In68F7|1YssNLNjgjj~K419EVe; zUBj-@*E$c6flA$<$ac*2b$&@tccx0}s4-qT0b()&R4u{B^x^=>4y8A zP75H(ZMt~wNU7EtxJ+w>X7;tCmvSa17^k{iq{zwRfXbCQrCr_-&ctxILm4kbdLFji z?JQ^O8R{U5y!TTA`$KM!-B$J>!`*>db6N_7G#iJi` zdP+`P^q|grvw^&2A<@&u(zayR(PErz{Bl1S(gv6HVdzT)7b}W&apCouc$WRriIzGs zU)~B=!Um%&!J+eD1MAnr;xOejCPT6iN6LXK3#icLNjkb&J)aecyp1wv&8u`>V;{=f z!!;sFg5SS+0RwTO&7EnE0T%Xk3#ulp7bvIUuxN*!4X9eTDC*m{d>O0p(3+nA}-Tp)7~G00D!H1;RXuqurSZ$j!%~_{Wdt z($P3Qi}8&x`PQbdRR}SbJ(RiYvP2#B#Oar|pvg|r+AGzQD&ex%02q;n|(B)&wTmt7tD^dSqr^gSZGS6513zOc} zdUOJxLjOPU)BgdV{(l5#?^M5@flh$aBTsAVtm4{&g5FABAeE)tV5#lJ9Ve<36&+pl za_RX@>21@|1h=f_=DXbS;u~KqBmY9c-`)!jZrQ=4yj9|EQTh#LYpLnzEUkiZZZ6Iy zkH{EEEZ$dKR4g{nY)p9&@-FO@JUJrRyz99=sl0&_xrtxZsP1zJyZe#hU!>XYS%NmR zpmq{*dsi22g-^p<(yW{NsKL2zsSWk=iPxd3xl$W7YF*&YG}P5Ibc)T{GFNKdkySvJ z+-LOl%C+)g6ivCp|3rD`ob_*iBgqOLpP!opVM37WcC`*OGWz1$r0$q|m7z`8B=mepxh*~6D2sHH1HLYJka;$2pT z7x)cu3sa)F37CCFEx5UB=Fcvp%%GOxo_AxJ7RV6 zU8$+*Qlet^W0qO!!OnIBv47RAEOR^2Byov}6RB&LYqvWD28M=+F$`nP2ktYXOfxfw z;IUxVHZ~q}QCeZh0doR>>9|MfALMzZ>gT_BG}E(M2=xyjT@IkTQZH|*QDGH_Q0^ap zVeDdNxj{Suc&7vKn%0NgdjG(+grGh!2cxRv<5>RH9`g2*wDg$8cy()GbjX0WJ_L z&So*6&fU%+?jD%n;Y+Xq9tH z+5S=H>Dw0LL2)kehprVG>DT@fvL29`UHTiEox|iCYovYH_0^0B#U1T^I&@nZeS0Js`;G_XH>RFb}6oU_6# zu-EN;vz1Ww^L?U!^2>ZRU}*sq7$x)Z5!GNDcwc^SeyY35Y9Sy18_)}HcK60?WQUvB znAR2^?ccqenQpCmAYI<`^CD`^>iO}lvNwE-x!f670emgTIH-pMC&UF56ROW5dxJrD{PNd5@Z;|UX8yOTlNI%`gK1Ws*oxShpP0EQmXe%!v1wv7!|gd{G>#fi z;o}*fEw>^zP{Xq6VV{6G(*)%^1pZ&Fy>(br-}gT{goH>a0@7drii9E!Lzi@SOLymR zP>_&PDQW5M?i2*1yGy!b=$W~P_xtnteSi14f86KB!{M1ZXP-H-_u6}}{aUZJmUdN( zJo_%{TEo*yTXumw>Spr(c(+ld`C={;+)T3OzhnZYGPdYPDQ;_zMt#M$rbAn9P63CsOSU~>P~F-TSWv>MXH+etv$7ZXtPgj*L;>r zESXGv59cPnhExJ6ZeuFX2G4QRr{KwZm8jifw5Hj=ncy7E{o_Ac z8W{BOGwwz5L|Cb|6pPmsGrHUy}SgvH6GI*uE-Pa3Ts4t&{<}Y&U z>VB-6@Oy!|-pHbQOyBvViAzX4Bqb#U91XR!evClwpP&8|TdF4~f3;Z1A{9yXMn`uF z3^MH0aRDCN*-fUpt3(t^f-pl;4>H$UF?EOtpuU89_ZXyINL?C5%s{Xl2Ndb*BOH=$ z;KgOvhB>e1NCiVi(;YUw$742XKD1h5i;WrRm*;NDTuWJaf37#NG>ib3O6p zxjP&dFpquK?f@O#+otk0007hFmD4++U8GR+R`sJ*^@};4I=gI76q137U^76)tUfh9 zX>Ou%r{WF)R99EOT|wSV&>plJ;veCq@!=%C+f5ICP3<~1Hb%~F{aUIZLH^1!bK;3cRH1gs^YhG4xsSPygis4RARUjP;gq( zM}2KH#zhgkrGWbj#)6iC6^>uKh?@LGMbynC=Z&OBIWw3}~L5^evs0ibHanj*6Uod%pX_<#~&PKF90V;dnja z%A4jN^2*BCO-xMWVzHMk%c;4@ZbuB#rhIvK2_^e$fZb^)pEt#d4&Y0Hl5)JjL>=hk z1#d`vu(WtlY{PKzX{}M2e`=1F=*J!!7HGgFNIGn>DP6JvB%T5dOO7kk#PR9AQ{j{`Q_5A@6hX}4q??F zXaLlr^Xx99SCoJ1>;4jbJ;REs6*#;-ovCtqMiLtfxifFoO=}JEqkJbz^nE}i_{)Eh zV13sSiIQMNyGb!Z?Nb^bIeqsTGX=_)%T>I!6>#x^p2I$~{kgxzl2>(d`le>cGvHy^ zp9#OSbx|9xJi?*oz?J|6U?&RnB71N*-8XbrY>Y*MTo4EPt>%B=2}dpM^uL!e7e0#_ zt}^I1rqvtgLeGvSgNF9|>4}YcUf*1UaxsOkbSPJQH(8CAR&je`4+cGS+_Ktq@1|He z+=|;^)|~}Srvp)Bj^1MOW6f#1)*1d3evc`BJtJ|Cn(lPsnUeSX3FJ(BKP{+j$naX= zckI3>yVO+w;lghkadhhBCVM!AONL(NQ4DC*Heu~7Dvh}w<`VdT!-@MR3vkZoMctn6 zQ?lw)oc)XC5>jpiLJ!->Nl7KWPH`cK;H<2YR@dI5grudy(6-)h{4@RU#p<)Q z&y!-`B1W3ibcL$eq#`YGQ!fOq-USwHUue0r*}Cjp5G2RzVfB;o)pAVYptzcw3(S5E zoDM&J+;;MLP|J0J(mL@#f85wX`VSAIC-Uw3MU&2%1z=jONdx=SkUk`~v-dk4Y6k(0 zj%z93*9Z3-oWVR}PIj$G#7wmfnajptb;ZV@I!ynE&-Q@Nw1b@;3z!K2Vyry)olI;bXyWpdjPPed9 z3m=FK4Y&rBxJlVQLlqI&5p=*6DCH*y|JZs}o{mV-jx>76#`lAoUCLMM_ww@cg%q5e zoPj|>6tsSYVr4yRPP1RXe-{NOVsHB#O4s7EGgoj%N~SBCvutPqaZqF|wI~OWXd$8R zr7tVZ`C^!8Zep7L4?j`jPqDHKtt4`wETA?uX&X!5W|4NEZU<4PkGtG(aVnlqEsFh) zFqE1%<3(2D_u728z)+L?x$p4M61&bUZhOz7RYHismHp)yVyiyE-qD(q(C3_>!yeO- znh$T+o#VMV72jimQ1YpD`Z9e0ZZ%WjKUccTJA<39zcL8eih;|9eA|Q2eS!sLpPO)Q zo{HL!nJ;K+HtThLrrV^0Q0(ab)Jx;aYSyhQb-qnA#!`!ZDA$(i+Z7IVPc1@8b8*KH z4gm|y+l$!C{tLw39}b1Cz}B6PQGTnaGxV3?@<2?hp)T?s7@q}=JS zG&lULcT%?F+_vR@eZ~Drk=}9>l&WHA7p%mLdEOMU9Zd*o41?6loVF#^n?8vINgwqd znoa4c5)bmyyD!TTcpSPNMHZM&f~%T|&*=}tBa3qKC>7hZ16Mak@NG*XHu{73)|y+v z7|gcwbtADWC3d*@)xgr*ckkX2f&95;YajQ$d8_ScGzm$`>oZ?-b90Jq1UxPwVLKVE zwV>cjOw41jYIvRhhK#JV8W9SmIDKBgNIWgRDkBd$*zflnu_vs;G~)i_NhO>1z;b#x zZgKg*v1yv1jo*V4Tcwkc_UX$J0zF-!Kr!rr-~r*Y&|oNl0X*Gr1qK@@t52-21>-nf zf>t+BK?co67Yb9>wG}?OFo8(g;8p}-jv_RM!ifu166MTH?={+ZkP{|-+#)7yR;@@L z52-}s;oi87ZfT9arWsb106AJVlSS$Iy(#srbwdBPmEdKl4O$(@rTl<1`cXAWN!tj78LOVgxTyRD6@7hj zXhe-c2UY`qBhCL@6MV#PEx^*w`H~Ju z$+W*vn6^y&EDNgMBUfpOi6}eTKLv)8Y-r}7R8l)`W__}V*uXO zk?=l=HsOot?dW0zTWxiHUkX3Pv!U4ZLhyo{*ma7Z+_W{dY<7ZRyNi4Mst)f9K*a zilxhsowB)23%Ji8e0Gs7T|5YuchEGjFx=TpS9I_II&!%V?}1n`{T<|}xwnYn`FUW$ z$LN>gLLp$Dcw;;^xAo@Stn|Z8g`p6LedcVSdPNoa$L)r}2j`wR_YmAFyOM`vK?^U3 ztFL1tNEk`DFt))^mf&L8`DnSFptc^Q5x1^`|1X|C{nYyU?Hru?_ucae%>%7E&44#2 z1f&;q+xYzhA)2<1OgljsxE;pMxKs%qd-EKnIvf?{t2W)FHi~_7`yT{Ro^0-v>&V^T zjuls}kbkgcS7>VND8T|_lvAGy3t=pVPpbg|!$=TYCJ4^pGEO5pK3|?+G6K=qW^&13OdbpDKaqeLieh z+;E4X>~ic-_w{%-y>mT>LOGGswRXXF7qyEUafllu)c45R1otAGMW5b-Jg%`B&<&C=@GKN*oF#i${s$(2Fx8Zs4jAkV5d_3A?{oFadA;T|nEv zWRIWRNd4Rm4hniiMz(2NnwR%8J-yu%cIXbKWvZS{^;q_2Mq!Q(3RF(CvPAW)^_h~1 z-dcE@kH`=14uXBJ$;7Q{K@BlF`raIQ@hW%l7S*d38d~1HYolGs$mGu()dG9pwAe5~ zLwy^m{M(4tz2?wNur~|cJiy3f>cU=%=S^`9(9ft}!XgN=I!8Xn{QdB`M=T8rgCq~< zv-!YxevM>G$;c>ZNc2SBL!|k8Al7=KRF#!i_G~OI*#QH?Q-U z61$3)I8L8W4SpS7=kN`#KVD~c%r@tk>l$H4M2LfRQf-4*9o`5sLo?Cks&w10v_6Ns6L zff@Y36!mKA>JJ}10v*oK!JG;hbU)~aTm7V^alqw>rvS}nMS1y%7I-=@!MJUqN( zPk|5S<|hY@hZKkRpm}B z8d?eM(Kv1sOSpU6p%#3@eOznBECA+zbfhGZDhXCtUa5m)O;TQ|*+A;gZawxNTU$73 z-Znyuea~Dp94`>W;TNLjU=bu>|#GbvjBfG(@wqlfyT;P8HXz;^yq=S)vMfD~ z^LVcq=^u%PaBUssf|E8@lm3Sf&q1#uJLJ4aaVbVx3GKs&D=zuFyL0ynTZE`DLE9v+ z?G3;j(5()}Rth@Oa#bI=?Qot@S!sxqG zlbw>V%JG_K`s@^RMKJ)c^#r)$6-ed`{jAtxSCG}o5BQRj#Fm3)X_ zQZw2u^s(D3>%StyAM~9r8NdcUz<_UOPeTnJe;=Zm#2}JKUlCW4*N#6_ydx-AJ>%s~ zI688Sq~_lUq+S@yV*~Se^Ln2#t*op(XJo`~ZYjy$y%~eczJLG8U}+BQ58Gq8gkbcE zt#qL7{ma$0wYdkI?T^XHWqf@F-p`;6J3Bg<*w}Iv)1Xv>-s7Gy`YwPpD)-wyKY_Bo z{w8M1wRhA|_F^rphh88xi0iPh@C;!;UlqT)>YVm-Vm!;&UQ61hePlm6l@D2?$V?iKTl?kIn7w?!IJZ#+xOY z&M@sM>g#*YsJG3BY}(b-(4Zjyghxb8y|1VFo_GICRFp?C_B$}Xa#?2?K?c$eAQlZd zG-+Rp9{<`7n`wGM=HG-Np{6;ta{LZm$;5*P{8Z7`msTSeRP?1IF47n zd@N(#b%ZvE*tzDj+@69q58Svv3nIK6gg0h@!a_tgDlSc^1IJ1lP5bsLLOJHE6pgOV z{>5P^W?p*YqZ4VE9vY97xrb=VO#!Ja;3bSFSUGv?5r$M!Ikh6`3PSR!k>&x;Ws%mmDn#1xp4=3NLbI)j}2;3pUj>oS!c5pSi>M5iac|gm#4OoXSgv zEIqyO#zV)aFQ22b4iwQX$v&{=EGRzayE7z2{TlekWMJqk1SX3go}QL=bK{JNh=95X zEvSH|Dwi2*z}niH=~ac08yH*5W8Dh}7uP9>o{WS5$FRElSCjF*4uuz#ZokDT}b@zSr-8IQAHop8R+4gK>gPkqel zl-Td^Xl`-8YkRxAPJ1W)iE3;&|<$+}b_h~wa-Sze~5c}WedqXZ^Y&n6=I0Sw|UXner?M2I-s zrVCzKdnGgp`U#LypWRn4ue5XBlIG&Bxqxy~3qt!KaDaHm~=d-+W z;M4xZlwbzqd)bJI!|23kPJnSa?dVpLe;8|%66j4E1};`# zy?VvO2*_U;9Kx>QJ0k7J3>L82O>+aEic(>G;JrV>VAJb|bM~QK4eh67 z!42=WxNwOpAt<%q``s0b%}yK20YPlp?hMz6t_>Hbe_uE5KmfUIWmRA?lsX@MR9y*r zww*5Wkoki#7a`84Cx0&~jXqMu66iV`tMO4m?^~Q%X)k@pyYJFGgoI=0Czc!nsLU~C z`-v$#;K=V!k_&7XG*p#6fbPB~A*PlGC-HB}${TbXCPbs7ZZdVsD{#XnO6U zw6tD(35CQ?bBj|9+_Ofo61F#k=+*n+7RF$|bV;whN;=SW`io{5a(<$5_boM4O2W|J zz7x^NTH!ip$~}w@CY}L!ISXbVocL}L{YHd-{a~XMJ<);4okZ>+%zE|tmT2f z{5P_~(?~O&20Kp}50ULAzO30mkYH9;)}`-6Z@FpD<;wDNjnX-@A}(RjCBM$m^X+ae z37^IKy_*Mhrjl6{rG}tq6v<|4_N1>JD!Sfy9!I^h+8=b<1*1q!SNGe(Ak@(I)Bx|! zx`)>57IQ5A%!7im6Z=B;SqA{KW=7)UGfQNDi^=n%nIK|l$rIeh$aACKX$DgVf3&wj zZ6Rnm2hFC7Vj`8L!rMeKh;P&nxg!beBN8XagnBQ1W0Hm~)94?79!?o-0u|uD|k9fuD z@jx;woBj2`O_onJ@PO(&=5w?%j#8ZSeGb*8dgM=}AjV$#65+uR+ZzK^O}Hz(!-iH1 zQj6GoWw9c`eV?tQDzzkG?$bf>e^lexd-PAE#wnV z5oSd1Er(7miFoStyG5_~?EAhJyyX(W-#PV9b+lpq@+f4{xWG9~RQ*ptd9+uPGq1l3 zOlIP~WU%`XTiZ9u%B7pEY@OySkxLw|7o{rYf*m1tiv}})o$O8D`m%we(rBjxbCN*U zInJ{hsV9vpV4%BLc^bcAH7xi(pgHNmc`UW*n3qS9XDs~wUGSFz@*fnka%xXB!^zPp z&z}^gIJv(S^ky2Qw7x(R$RBo==-qJgylo0TzJ@IA2@R5L&Zc?$RaUp*23&s-w+A(3 zPzCu6jz!P~o#9a$v6V4h8EUyk(zqs@(%oH~8j)7Opu69ru*>mD3}o(582;r`p?`;o z^!|b~CHU^Mn_7#VYdCKs zXaY(_wDduomCq;a@z^Dc|9A% zTpoVtLfd4+ETreKaFiJ~VJFo19<7TDOzG&KL9AYM>j;ZayE$}y^pu*fRt=D-PfzU; z22C}dxgY8)OMLF^7h&)L#_adhGkhV571n$j8zyQdiOmPpeE&mj_a$kbaBl8U8ZxE( zhtaO{uib;B51Grs=lY?L&bm*G9Ti~;&2@me2i5{ez4tjf9 zN}ry8c<+(8kAQ+0g8cOe?|q{I2A{!DkE3_Iw^NOhDkd2xB{u`eH9e!f4>gKJ;sH!`o6oZ^YC>ZFmG;m1D9HC=}aA?x~-1k$SWk5ig! zu@rk=Cz?7-C!XyD>GoS&m$__|zX|=0FmlSlh2{j3m+iZ(qE$f0^(jQGRNQcggifqU_>XwiL*BpF$x0= zVX$Y6@Aql6ninFj`2u$mgHQVNO9BM%9W)>8y=1z*UYl9d4PA2TFcPVFD zrc!-{ws&YN4!_RO)WL!yD`5`MZH(`{u4kBy&QV{XbO~o@y@P(hn1*lNgms?H>Pa}- zZ7b#A`rW6a5*vs$x@T04U$6W$fZAE+*}SEIR$EQY#)qz)AN6-R`dnt4Uq^Tj(%cNx zqQ1ZBvehr^+(*7`#0Tf$`U*2-ny#OFi@qvhC&DOfAqQc$fpO_0$dORS7jfZjUc-ls z%Go?#`@RhJKZol}p~Tc4L0m%@#g3^GYSes_fb7)x%BdO;a?$QBCrX`P*+AA-?#T^d zs*wxpBrv?1DY0>rq_k4|^r0jIKLIoLjM{W(+`6WIs?0RqC(k5RJ@3nv_LC$0hp<462C@2)#`A;bG&2=NA*EdD0R4I0!b6tl! zl65pSNwEtX#Di=8#{&^7;}#3r1eFtAFvvp=wN;U0P)DM`O)*d_5j&*afPD=Lc?tIN z!vJ0ElJspD%5(=q{A^3)z23WOxUua_OH#MJw0VU57nV5>Rb5(1@c2W)Pv;RPXbWe` zn+9`ogC9>1_2H%K8|>0$7;V_PdrFt>q#o#PU^Ogq;^|XdvGufa!fvO|>c52{W4moi zTkUTzThFh7-AM`5dsF!|N_|13Xvk!X4dIatVv6Pw2Z4WJ8Pp%<{PeEPYc9c{D)?dc z0rt_9q8D@Ve70OPu7~2nMnhMw{I=dM-awL~_~WUel%xFOl&JLwZU@^_3}m)v)4AGX z#x9wR@tknhWVC$krLR0wojJ9IPxnCdcEF-d9;o(id<3n&s|4@7%Dd}Zc?Iv+2mkV8 zYx2IiXodmV5)6=BsDT1{A9aAZ8L} ze$h7T|jY;YH$^1p6tVusDY`o_98 zv8=&`Re)}f&`ap|4%3z;AwAEc#H>qc&7Gd^z6eFnZCFIxZ6ej-jerwfs!@mnBdZ7Y8P}6)vV^5~I1Awpwl#fbz)wVtlGV zQ5ddEy)=j~!CGVL(#gf8X%E;`53m?cZXUhh9lVa=s!2Ep$Fr9GZf@blCdEM4fEAtQ zXp{UBJ4=#t=#@1$xHET|f2fG4DO&PwgQq*}*3y*ud9U-9cr<&b-HN;H{z(EyD5|z( zK^8G(I2UXI|E3>8HpDfXN>z%cl*9P6Y2;MWoNcblYcr)MXI>tVqmP=Yw>rOO@VR+x zz^ws*l5jP)vvGZu^h1&c=u-qmBkp?a!Q>Qa;Qa5L36`ON?H=mil!6Xbv@Sz&J;+2n zyJ?^delb5W#f>>{-;sVhNn7>r_wOF^+={|k``~<)VxNXTCI8X;c0L)qL8vuLb#DGA z?L}{@KY-K5cQ2>!FfMJZ6v>3Q-cqG) zW;HZKf`$NmZ_2$RkMv3dMSKVi1&$5!!HZ-j3zU7!bI=sg*iu5R@EAVM6TfJO;|^o_ z{4Tancy;^m)Wf2-Fit0u^6=h%Wa~fFdjRJcF|r;_q^>H-^G!S&(nd3>Dh-u6yFbl* zqR;aG1cQ$z*Prj>2(wqQvdFo_Wbwbg#sX=hu#Q}N-Pwef(9TZ*@(fw`Rbd`+De%F5(m8Qe;>%qzI{)hqwFpShMt+EXG&wyaq~&jL2(}>jkckynNrL`>$W? zw)0g}xhd@%)X=d(IW$)~p&sdG;U=HEy*D(Xg?T?yDNbe%Z1EVsI6j4S7}4nRbk!;- zz0(#VQiUTVh<~9u51$H0hhz#_@T3ph+FkswC+v}d`)jC*vHBzhBRCTP%Xri7W>guM zL+?GhL*a+u6M70nKw_q;6~Ipr2><5s6UQF}{@<)E0+?n`mYWGn%Fh15ykDAOE8T(K z7tp$n3FDC1*y_N#qijBULCXnBTNUVB(W8^!rm}@Fq~JFQr<$s$!EjL9^;Bu@}Cbj6FW^uTX$8;jF?)|LS>~7`4I%|G7%lUw1zWkBB(ZZoOzHiL(z#vO6x>URv8-k|e&} z)JjZs*_Iz!=6Ik<*gC-|{%6V?B^(rkTU1qip6D+f=mzBS*RYa?$EwfDmAS*!8c_I_60MgcyXG>ejMB{v>_ zlV10#>~%T&%24rh)e!TOed-JnP5kco5=+NESAI@7od`JpII2&LeN2`8$M31*F|vx}*95~RqY%hn5=P$Jr%%Rrn_6G! zuo;BwD8B^&C`XbUJ4FP0PVO^qZZd*kjCQ0SW`M{g#z*B=sc+X*g7CF{haIbL*A^L! z&L~6e^f8Wb(`*m=wKYQ%sZ;+lc+|v_E}SWj<~FtD zx_oKKRA<|p=I&ftL1f+VEnv}!Me2=uxmUIXJoJFA{mLU@4jY@^WAmlGJVlYm0(yu; zo~uUM`%B1Q9`>Tkt+e9cy(UYcgomYv!nqbta@e3BH#R33pQ9>Uk6?dWFX~FJ4sXYU z>gIG^k-?`0-{sS!U6A)GeS}28i?DELrsw(a^9gqH@UEdRUjo6n zy(mWm&NxbftwfamiiA^b?bhwsF>p3YY4- zJ*>1ye8cELI-d%?M91(%#(F%50Cj6Q6MxpvP3O)D18oDr7E0h4HGY%Zwn^L79^|JM z8ztB1b0bCmv>5KPN1B!MgouKQ91*R^uMb_h22U+Fb!f$eOzD}JrMI)Is6OCX+?JTb z{plfGgqHFROXCOjpWfO}HmGe{16+s(tGvZi7srKyFs&WkjMHo*pP)Y)Oo*yG{kX6P{=|i-%5JuN9bVZA%?#aj0OYpm#yvz z0=Dpk0AKvqGiOTQWBw?h{LAPgD&EOJ@FV%;>P^3iMotu!O$UJ5YV4Rqg)Mo7n{95O z3&$M1OrwPiuRCsKv|drx%0L_shYXD>Uz=x9jvXDhi$Unr(t03}O-&YYz!8$`i_G&B zw-1nIs}D4@u*fVd!~>nDj&2a_NdtYZnwn&bh#sN9VpMiKpw}VCKnxMzzD77BF+TdU zUOO}+YA_+122S@lk_Nz>NI{(|5J>v902bu;z`(EJVWL|M%E}r!a=YmcZxbBXV4|ZvCME6IJYCsIq`-w3z}87faWEOG@EPW@ zT|qf{9Q>Wf-o z=ZkaG^-)*%ffpJZr-V-*Q*<9Iu%TnD4lvT$0GL?*YbgfcsYh4XPT&~~v%cMMxRX@!NB*cmYxf4dnnqL33TEOP`kzPkp4SlZZ#NobQ-xHv1E%GmLYPKWFzQ%OX%Zb)i9w{fVKxQ~hM36Ir$!kq@n zLPLTg#B+IWDK0T7$@p!8lClO?*so7QQdsq+;hgSOu3(k30=Vw{DxYa*K9p|0y-(IwCI#NdRE6|TwPfDaw3RhpvyVS`~ z;R%J#q67yu09P76+ABQPpwb&mfkBPS21Poc{nwVjZ3`WKsPyRKtZL9o3XZ`B9~OLan`2x&ULnaV$1 z2hGf@BvQ!h+k(#>)gLV}elwTS(h6jSU8(i7O{D=nM3hN54Gj&;jyzwJlJG$10%1Bx zR8OYsudSV(M=uE>Ur0-NPNwR=_0?I9V?}8iP!j~RZm3dY7y>k6wzf~fHadeMdn!Co zeuC?e-?5Vo4SZm%JT(6k9erF9T<&yDLs+#6e4^jixegb0x?c-+$DqQ}7K-RMX>HH( z0jABmwecBWUzNIM5wM0W?LABZysQoPTHCHB&^=rWW4t>mNyNV6?D@mQwhGk{J6v${^Er`71<;4DQdxJ0LhV3Xasi!=1Zi-NZ?rNpo4fd#8A*%^% zt>M&$$H4x9@~LQgdflmnW78O=rqH7Aw>(Zbm4ArK9%j~^GF0jTG!-PJ#@1~NjxaVH zZ)~F(ItXIZtvQm!Kq62#GnR;A0naK0n34W|3#-R zN;{3HhnBp@SbSjDZ|H90%tiO^5$Qo~4xp$eWFvq{y!D|_K$byM}HDe)sLF8+hMT#H(919s)){>SSZ{UqfO-*g|T4n1m*2GeYn&?p0{lp@# z@&9$xF2=}s;D{V@=NAZVcFuktTWl)b3lX)SckXAIZuBU<1-dKT`Yg28Do2+*_KXOE z#Zt>RW}GzOgFsI}MPB#X4Jdc*8@2PzTrxbhp19F(qLeS^`Rbx*+Uu(RU zm2b>s{`u{Sxc(lVFjma}6k>pteA82E{}KGHnc4d9+ml8HTPW}mmqH2Gs1`D&$h;9Gs!f@hGx_j7{H@ye{Y(WgX3FtbiiG)sX0T5TVr`)6O}?P@l?Ztr!r`{ z^;jD4yBb$jUP_Bi=mm>M8cgoB+^(~kF6evUj$!*-qB)*R6@d*Q)A}Y zDyV;RvjWm45h}c_?;YB(5$kolH$;9*)k+Dhrud%lqp~u1Dd@|qAF~L7T>b=}6Tq9U z#exI3XPd^Q9C_jOUb8v0$cdeA2kl7F?LSIFf)vX~Jm91?wM zr@OyTYCDJg$d34ab*jC09s4J3i1bh8nqwgzB(Owi3IkF?&PJpB=I>zY0I1J_+vwO> zx#Nl`6`v~(0)fE6L$iZVj-$=FydLTGv^%7~rG7Zo+Jxs^}r0H`YNR->Y_ z!KG2|tt#>*YK$ADGQ+14)S6jd{t#kRJGbIoe;0HbRO;TXj+rq3G(^|x@b={xG>uRpUN#Ty9>o5rufIfeRRkUzw4LHYMPyggMQE*2PNL+2d*I@1(Z0VOz{XBQ67~DZ{mntM z-d@uvUG8`90&C9Q@AO}b!DL)vB;piS+SsUD=O^LCd+Oc1CEz5A?yt_h(62C#BGD)$ zfh@zl>4Co6d{d>}bx`{EOKsyIbV6)V+Qk~iZ}jS}@rt&Z3f{!mQVE8n9NsESUmJqQ z{un6nZ8&T8yji)9BX>9RDQ(y`Ft3<4;vyeeckY!^6Y$a=`XyS#3X^M@Y4cZ(VD>?75lwjO6i}X2yUiv-Q%#vv(-Y zcvjP}{*9GVY#*iXoPkgPTr;F#bWS(Al(J)72XK1T9d+O-tE+#$z4e6%TUapa0J^$P zy;BB>WoRi!Omz|kQv?ueF;CYFLoQr}d=p2=vPZ7fh{#Q?|Je)w;;1J>({}W;zE3lp zG{YZm9*1x(LmqdM-~Y_c&JGD^_a7fu`}SQqP?Y|cYfz{05%H=p9i3iddb#o|HfGcL zt!+@}eKT##^<%*N65;pD^JG246oB~CL>YRem~rgV<3f(^VX-r6w(M1b+G89G6DEYp zBl%HD^M5DUJ8?jR2wg#b-f4qDy!Dlj?P#KC-Z-9Oi&F|iM!2&lMTFd2ED>NIQvqAO zuuO*>5~F3?kf`YP0Bmt^V+g}1SzmtuDf$N99OBOkO#QAItl8WGZ;o>*@Wr5iBw#s6 zi#m$Qz2%gDyJN!8sL;M49u2~s2626pw)3Q7pZ5z_lvL>x2pT$GpLJ+jVCL6 zbOYG_`Qae3W*oE=_Q%s}j=t($n9%uTOQY1Q9WX+wf##Z?Pr6oxdZPXiV94RJC>K}z5~(GZ+Lh@l$f%DUqghyKlf}lI6FT_hj{z= ztiZjcmWVWo=9gb|_!gKRc?v)vl`};@9GeGn`}d;~Cow=p6kM*CfsF;Zdj1#ep>KKNJ` z)u9dd-`&EyS@}&@H^U?QbKmBYJS#zVZQCtp-Vx_BI>=0*dwnvywq(>e)2F-Mcmi+8 z_>;TU=Rih5aPPkc{-!6F*Gck{KVH`a{!rvYDweJRp)f9YV7ceU&A#b63Rvv~>XzYk z$9^fc0zTf|Hnf1(`Gdf>Ut^NP_Z{4q)uv=z-DEtk9D>Uc0|ZTmo06fh8YP%8S9<$T z++uqS3c~&=1gfG~hU~Q0%F6yLvZ5FlGVJ*yeZo$d-SUw&nD%$Yk!iqzmo**_j7|Qz ze_d2ZXEw0aWwh3KJHXcS?45zXp3^!|KkrEXP(O5nvISr{8Ja3rJ$>7yt<1DW%jvAknh2&tJY7_>so-$WScU5m7Y` z&GNag1XHGfUN2)_U%ypA(MOQun6+8EtbGbIH!g#H@Co?<;%AwxmwfuHxFx-Yfyu7- zfS4bPUyr}x|D=H__B|Phqo)vk+k5;Wwl^Y|)ehB}Y$0TEn5xA6K zdP<+23Bq?H*P)Z)X0N(_GJ^U6aUvV=ND$jF@ztB~i6yC0KVf^t+W>^tsl*E27ROP0 z!cU9WrtsSFLR#|-crL%GI^wJV>l&jScYsWyZF5B3LEtR>b0q5R*zx7kUq0MYM*o9x z2%oQWt0Hm_zU4xnx_h)yBVQ7|rGVeIi@P<6S=;OO2vK7!?bX|06-g2t6CV!v%{hv$ z@lZ01W7ZO8V$X$gD?SdL)Xbzg){Gi)Fuh`-(=Tkm4>yQ_tfp+?6AjbcxLp&zbhnUMjM3VPA+uL5@bSM=lzUyl*`Z4;dj4yc3pV zXa@OdrOV^ucN1Y0eWyQxNuUL-Be^de^{$s90Q0H zp=sf>ADkDXO(%{uS-hQpI07X`Q1~y<(_z6c!Y=Juh^Uts{Ou^#ZhCZcs*#?A->%0} zo&^(Dvc`uYHdPfR>^4!pJ1-~Koy)!b0u%{$FvLnw3D3LxYT0-e%Z%+QHsz zeKd=%A3p!=^pon8C@!uFv;I=!M)!lqV4&J!p@kVOgWgHfxUPk68$8+R?vwZFb7{Lh z-EEtplTi_wCDt+>fPNK_25xXrl%JNjJ`^!U!HQKh9@aSydr1)f%LjZ-pUCoCVw;pAn$K#LF*|EQt6^<^o z({Ta6YN)y>nvdhG$T1)>v*rOd`Lx+JGs=g=pZ|}hzB;Um?hAJSrS*Uaf^-QANJuw` zAPNG~pmcYM#DO`0gf!Biq|)6W-64W>hlGT*bey~Se)m4l^$*YNnK_)9z1LoQ?X}+Z zuBpF`Mt!g$Jl*)khkI=DSNgPldU>Xw5BE{^*7PJ>71dk9ll={=xTK^!g?Ztoga(gw z^}l1M9l>T+R*z&7o3Ec5l<9&%U4uZdsa;7=;hX{s!W)Ilg)CjAgTBg>n;3^rW6TO_ zrz@RVK&J}!{`<(|v$1p8vnr7J4=y`ZTs(t6=XJ!FK0Q4AtL)_!Lp(Nokyjbc&;Mvo zjiXUPi;%L9ZE_>Vq<|-xXaEBLmk2XcWGDpbG_lU+B!pM`GZ(PV;{G}-b)2!RTo5W& z`Ze4K{s4cRX4#*5ac~Y-|Ja!iZEhlIteCa`<6|OcZ;-s{Ci&|p>7u=3J=jDBurMefxIl@wl%`X4D~$-)oqQRgszGk?>=? zt8Hi^n0rq3zIKs!6Pal7SrKR0L1RY3$^c-7H+xB@T1*0eNsal?AIE-_#GyOhYjLYt zuiUg8wBu4^?vj$gg_S~jHhr*bqQ=Z;i^1(u+rtPjKtEHxi?h6t85hRV2jf7D5z(63)g9og_u^_vKLk*YOHw78ly7x%x>g$r! z|G8xLtr%6$d9XpOdo$o>X(O$wi~HD+Y$h?M{p<%m>v7|QVf*yz>U+tl-UQZTMO}Tm z0xcH2vJLt%@YVKPxFfER_BTuNd^`9wIxcF$AN>P{Kh$euXu$Abcp3w$t*sTDn&`ed z+>|iZt?~}KrsQ_Jl5j(NRhe!Eo{SfxL#b_TOu%grs$a>zEBo;!l}y4Qb4Xm-=))d2 za|hfGdF*TPVaP^dGzWjitm?IqcKn2~LkQo-z%GPdjblZ9eX zl&TXPv1?bTCE!iPCHdMvzmpW$re(^X{!JnX2;bku01x@%N6T%u4u_^%?~D!6wm&Mz z>u)neKK)d}!S^f(Lp1&X*1;0)MPh$Z&N^ju6~Cduq{<^pLrjvyRRjEArb~vA1yIYQj?EZ4}eDP#iSHVv!`CHA6 zW_{QYJMULI+Mb%;Pkb9*d$3Uo;mk!pA5&)0xDQ>lreib{e5tFh4x#9bb2i^yizb`d zvXvQTZ6grW6cZGiC?SHN4OiaXO^bYMk^VpUcU0?`1lx5&tg|rRsz=cmI#RxBE)_3;K`iu3dHOrzmX*Gigz z>~Ys>_WbMBhWd9T+n3{PrKjuF4m(YHALFa-UdP#bpK-8j)x3E^Qe$(NM-^uBmW;P_nv6?c_pglU(W=>O^W!Nk^+@|bA2@y$z;41U`F#S)&T34aN)0Y^c_X!_4UTQ39p#FGV z4HV$n74%Sr3(YPMb3ahS_4C>D{i{-7^&znX`OvP zUr63Eu|@A|%M$)*^#J7V2K1QR7mzI!L|WWSxrh(|&VC8V&7$pIMpi0lI-CqXra$}s z{!%^HLHu;WR;BNx;+I7`P&A|&#aa3JSUU~p*!<%A8Aj61u(NX%(}^G<2$abO>v?*L zfb$G`Vn;4Tpo$w%L$X!_)JSXhK$ga^=q^%5&vyvjpJg22VuW#@`{)@NX~gEliYFsZ9F` z+?tI`%BY3S*r#8s#;j%`lMmjByB6F6#`>Vz&YJ;rjX6G8mH2y+SraHV%E*`pN-W=c zh96d~9aA{Bt4TfGCT`0PSHGj-Cj5j0{!TT`O9%RqA~L7GAe6Zm>EtUFby%I7d8!H} zM)sTGLgdEj-7dFLXtDzRd+x67KO(-2`RTha!&skF{T*3FgMJ#?vMDY75)uu4x+ry` zE%=D6aB)-)L0}A18LR5+gTjwq2Fuko^Gh;7FuuJW($=IGz_95EoniG-U1oD)Ukda9)|w%!lS z8Iu5{h)^g`2J#G43Q5}R+8TFlK(X(iySPgB4uQ)zs>BTD>91t^&mqoUfQ>(lMu znCs6bM@R7>mDRG03`{Vm;hdZt<<-5Fw{O2BsY$sXmRBBfK?eO(hrK*a^O>T8NO$W^ zLqqk!z0j0Nn=u_b>H9j#gJCPNe^t)ekq`MuUu7eI!KSN(GvZI`I{JYMDB*F&h71C~ zYnEpvyf|bt5{E)99Zrzh2TYAINx^bk<-GRz9)Gncy?-W@iQ$LAvZlHYj9+oyY#t?Q zv+~}LeRm~fEa+T%zH|FWitHW zXdfZ&=hgI`l6qPI{@uV)-Amf_ynH-7{I+|F!Q8YHo3JngPErh^L5WgIwHM>j<+fe@ zh2MZh)lU+7_J!UqE#OTOq$=BT5TqJ3-c8?I&@>AP4t5zIiPn)kV_trdIko>@l0RGL z=sQ)!MB$I@O{00%NU$Cyv=9p3rD;!Yq^V!u{8h2DsWpNL-x(JH=LpS$rf+DnxeZSr zM!lm{cCX7D5XXhw%%fBin`k0y@J29`O`5$URDa<>_d@v3H!O=d^YA_H5ZbB7xvvnT zUdMv9W+7H9T=$bPiB#3>V@CiSeEa_41DB3`&WEc9Mc=pYALkB#<~0d9+K9)W=aR9ZT?>9 zH^ClMh702hdd<1yz_y(IAWMINs0-`DONXZoyipfQ?HA$64ZuWGQ&Te-E6_GS^MX)- zhc-PULz;qGiS5;AK_8GaNGBmddru$fI8x^8i>X-I$*8dj=)+}!b1IxlDB}$?8SFp4 z874AsK-9#zpCu0X0Kn`k(Jlnrk%#^Er%qxHb#GK8_CrGnku}cQ4p_fkYQKK|{8{Bd zW)ss1{j|}a01{=8FTupc?7q4Cw8e`~6A~mecql8|0CsCb-N?(oO*36i(c>Te1Ma3{ zJFpj(nHZ+i-%PH5)qm!h^6*>?RDIKT;DZ*feDjwy&(H!HcF=xwm$ObVI;nInTy>=^jO!x_ zL6IpbMfGEM^e#s>olAE&vh`9$NW%I5M)B!{;|>d|x)F*#;ILdrJc@<0KbE!4imVUh zO%BaIv7!<1F;;ZGjPthD{aE?z%*(1&PY3AmkgY3d>dqj~EBl{JX!95QS_F-i-d-2c zd0(Heusl>O@_wY~7}lINL&eyXCfSQq;x=UXDy)l+KCnxrsqm91U0g1O|Lu2&*Mz^c1K(gK;HMXUCB{vhNvP-n;VcC78iyj zQ@A8o&@99iAVlUryz=RY9c#KAN9&K%dY0$Hf|Mwwd&8^jyrra|Q+9tFaf~!_r|21D z$P8NZw~=n*WPR{Xf1nsT5pHh8MCnJQGD@r6Y#PN&ExP%&e-W0d8jSQ6=sHh>$nL*( zU=;>^tD9X2=Dc9wzOQrs*PwO8YPRX(M_G3B_q7UZuY4}y3vLQ_q)7N0GQ+1TuRz8`Ca43En7u z%!3vhwJ2c-66oD36KgIrl?-2ar&*qphmV-ta$^l&&B%L1f65ssdO{?SN*xtQ$(T70 z|0JTPTD*;l#Uu}HCqlh(Um3qB9IVEB+{GZjCZ#q0XiYti{U04+$n7pFyQ-r87&(1g z1j4YX3(qoq=7vg=YUaQ58z}212c%EG-o!G%mBbXNyzox-ChLTZUkvMu!=)TJ7*gXV z1=#M9wDy9)cF*LxGYsa=SF<0jmwhxau+dhpOd}ZijN^>l2pGLw8Wy>LL8tZ3;$ueq zA|+yONX{iBRqJk>z)fQ6>6f}RT>*yz2B0X4$^j_X6mo0RzWJqY`_+~HTpixE0?e$d zyGu&Cn49YL#EMr><;>~;kIqUrC)qbdx{x?I(C-}m;Nu)Ns){tH9N@{OU=_y?ZFssc zG1k@R+#|PPk4}fGDPs-EE)zjkO%Y>7^S|9S!X&w`d_$~taq1) z;|bje`+K1)7a=J)uX&rMoByGqtc5htDo7m(Px~I zE2Sb%&@c1_^gf2k8H=)qV#rH>`A)KlVF_l)c5xlW-)1x`sj}rSbZZ3SN>6Wl+hpa5 z8KYt*hNB51n_*?w!z~~r)} zKIAU7IHWwYg2{QKlM>G@kDjMf*KVGxsHcAA=+ zbehx44{VH)$>pNr3jNd$>5OqwBi(E=c+sgitcpr-XR%ZNiB1ZwkFgUv9t5jE#1~*r zuj9TGTM9C%?fYds*j?Rj*;WUngxD=R{+8uBiCvqdW|$+J=HPIzhFCB2o{@EN=AK7G z0=F@?jSs4vKF0VqWtao`s_EAaDNB`u(*FoIrGcz0zaF)Rx zbN>z(9=#-Ux+PD(>q-wT;0N)g^FiM+C7Z|nFraGf@O=WT zvdG5H>3!LGz8&_=RSrHYG^79SiNo&k->DzSi(j+3NIe2CZ+)fO-iPS+QT12RdH8ib z&Yw82Dft|t$UdCCT8yA5cd*T}5rxrX!|4eF=PG!2c|)4+DN8-s-pOf?m^}=3HDgKv zWA2amuzcuYSgDh#V8MEK$W+Zvd{;?NPfv~60_>A=KLpp}1t|bpfI6rXM@UESZNHwH zEkf+fZy!CQ%zC4EJY+LJpQ0EE{Bi|kL{_cYnDdh-qTc^@sZ|C%N^MSIzEA;AF*W^x z)s$^4Um_O;sfy_RMOo-JiWKjKR0C zZH{ps%$m3}*w|Ws0<0UfB+;maau-4m1f*8gQ{K^j_54@Gp_S`hJce zxoyDn{68n0Pb4MWddt*K~J8z(4`R-T52Ob;mLWOdq$(X}jns5_&uAI$8i`keD<&8iSH=%cCX{KKQDyok-9)6WEB zd*+KURImgOd{T4Z``(0gQmWf{>!+My?V~#zBHwD)SJ{h;%uY{FCu$rSY2Y_SzPVw8 zone$wsi_ew5XrB*F7EI6LikcXgOqZxmKr%Y5cR1CC|Cm$8Q{CaopB+-LP?MEG*a(B z!_8l~2MPN7``6T#C|@nkdkIWUO?{w(<2jlFOyTL3%7as6i57b=PwD^;)Lr#Qj)E7c z?crShbcRErH&~Ef>zZvk3-bGcTiMp>pz)0bBR`D%t@2&5@rR;Tsoy-EmA%n&-rw*2 zyxmgw?&odGXRk1Hb+uZd?#u;Qqe<^Ngmvf;4$mwujgl@GYXv$#!|V16D7LFy+2fLn z4SSbvI*dl}iLX7Pq)t#fg4z%oLDhWbo?FvQc}IqMMN7M=dAkICD&po=MIMZObWKcBqCP zp7<-Tr>E1~Oq5_mNL&d5aEx?15h#(6^Rj6$Jw4s=e3CiCegjC&-fkP>f3DkfQmvvr zumyND_0cz(wqXxGUqbK-jv_4i^18%U0+bOWI>sHD%)sgCHxS6~%mWW8P;_@k4%DBWohfT;e+2JA zE}N-BL8fQ&Y{;szlP_H(U)>U)9l!GQhRIS7p1*V*p|pX5QeYROCi)(S&JAeIMl3+; zYg&0Z$?54c$zv%+zEk}zN*~D)IvGh9(uCsyc7IW$LX8hxrNnm6XvkjLPP(CG4suSv zD^(ag^M<*@--YXCkz(j0@)%>swdN##g}&D14|lKoU}1l@(L@I#9DwK#untjG&a5~s zE=5RmF17{w98OUVD(Z7Hau(l>jje7oDm9p^ch8&yo{|VaO;0(IUwiSKDml2sKP1$bczWSY52~t^Cw_BpVC9JQl=+$X1PAa^$z9dI{`X}=GD5#m63#Rw1gky!zVH|l z(@A}o3BoZsc<8$lnV(u;{BV4{e0~dj%W)KH<5s%&!gg{k!ua2Yuqg?yQhb(|lsjq7 zNF4Pz5>wKn9htjGi;n1oXl+{fD4FL4hU(+SZ@Eq~X#ePh2%@V= zk*cc;ium8DYs49FaeHawO;+n07kLfMZy>E;{|(uW-D#*^YG*Ku1>C$M%E<(bt6btA;&{U>5gH|@5N(JIa>m;g+Hkt_U~WW zL=XRF@_VevMWW)!DC_)q1(wGCmnr5cORbfeuBFrG=!Io0`3<-dFojDIQHeTe^Dg9_} zZng~DFaa4AT+i>ca<4{9e1G$p{Y?!KVEsaMZWf38XnKQkWSOG065do4<@kfNuJjZ0 z2!LC0Cxpux2aLl?f#>@3Yl|o3Kk=b+hGHct{xrSr)pCQ-fgit~>-Ohv+gXnNNc?*q zS={_hPJtEuZI4@1(`;f;NR;qIc3$$_hD*Dwgr_Z_NhY*dM_@Ltu>Mb=<(*gW-dlTP z_8!?hU)y5Qx{S^q-#IBi5!@xf3u`s)jG)J;RZfQQS5kylU%VO7v}SrC5yky?@{mP- zcARVMVz)6c<4nJEql-aDpZaOR6_`bG|DJu6t66caU1`ypmRvqd{Rt_s_-Vz6zZ4K1}gmVLIU!P@rE-}@Ve5c%kh$t@kpP1EBHtP!~5ut28 zS8}z~pHTo~hLc#8GM~}_#V8u;s*iZApa5Ib8Qo8hpJceqCB+gD*pt;IwM1qGivygL zcw~*OvS_DQK*%j@3yHJ#5z~ULNL*m_En;!yR(2+#<$p*}3@YK)!E?+Cm-VW`gA9CtT>f8I+-q}%4Mu{BJ&t@7 zD#YnD&wh8L3v3*Y<)0<2Z53BGe%;g-;Wl&vVY%0@GYCcht?Js#Zeh9UXN_fK;f>2szrFt~^ z7^Gk;8K3)ug=-3#_Yl)T#Y5P8dLF@o>d}z0hFqVZ%Ko`r;zWX1K z@w+eIYA)Z)Oy&L?9xB}zW|qrA+4=lH>%ECLHB|U0?Pd^vDzb#Wv2oP>+4Fd&5nzDa zT~={^HXHFj6!LF4`o~DFF^MDKj8y&c$L;vL$3bB=Q%FZfeKkNk4GWG0^jh$Sd$c#o z-8G)w4y2Th;@;f}=S!uUQ0uA>`nEgizFR0mcJl z;m72Gd90ieV{s8KBXNw{kGtr$poi>1$S#?8qZcC0WDwk4ZMIZ?lX+rtJaCpp=dSHf zpl5FzedTe--{&x*5hS?8VVFXq_R=^gaTs-|Xu7sZIIiy+0kNAe`|!)vL^< z1iMrCDA8QY`sK@+i|VS15`f*7wIF;Wp?7sS7!hWix2#|MF8e~Ri+gro2?m{E5y<;1 z^9TS`ssLO9+WkBp2t3I&b~*9az=%M~4d$(5KPm?wc#{5fL#WvmI7Le;0ichhmk(?zxgZd6$AGRFh43JUw-(9= z60PIvoS2tPqw+FS`R^uJ0`HMyf*IPcMuIQgb49M=plBB3fk94X24%p3Rfal~} znlw)_TxmKP$Z-cj{el87EDb-4aCCtbJiTBf+37Tq5yy!v>j)Kd&&Dab5vsoO64pL3lK3W}jp_SBqxRX2bI@#el zA+Vg7JN}e{2q6R=ZHtA51pJ3I5TcTO2`lFY1mmd(Xo`glg@Mpw$t-O%jy!hGl9iQs z-f0gy80&m@)Bl&*lHS8mxZlR4&RsCHm_`^?_v|IF2!-aReL+sB@TA4hE~YFCH}g$Z~8HF&|PR}sXqe@olyi@NOlpdU!SwG!XO`ft@+mmTenB(>&$Af9`Jjob57Nt@r*8T_I^ums`Rq?`K@Jfa5GMBulG(LNRod2D91N6Uf!XOnAL1-EMc z9GoOD(pS-qupN2cp{7vs(l%Bpiq5raEVTjjb9qt5qFr1o_^T8b}9%FJ~Jfvx=VWN|6EbV=UMI#{pa%RI|3$jpj|f zu&zZbJwP)Yq1O{&pk1X2NzTS|_Wv1nw0I2xXw9d#^~e*_L7A3fli~0O39h`3 z%~n#qbrm>}e8`6gES<0j^%yY9RH=n|3hV7dN&G*yCJT31YmnPd>%&-I3iFlF14HpKE`6Q7(e^~NhEw9c`V=XHej`PDN%KNx5Un9a8iB~^hkohrpVi?*kj9jbQkzBPV^?cUH5Y0YCy3|Z4UiR zt+}d-PoAWwDd-YrIK5YiZaSZcR`o__;{!ZoJBuG)ZC6!V6$>xJAW!Ff1>a&+fX6@m z60O8+yZx`;8mWY!K_0<7vLs+@t{LY3HQhU=QOCJp{fdBWsj3a&iyHJzrKTAa&D*RnrxS)Vt%uZh*DdP}XR=|0E7JQ<-;;CF$I z1g8h55y!PXC2g~m$DXg^;W<9(_C1gPpe=OxVVw`7VHyHjA|<9_cXWhl-tu)S*vWDf zlAqQa^wQa(?=yB4^+BL%2c;s&X)_l_HQ`L&rH=GfV9Sm&Wx1W9-n><@KbWuz(Ksu; zOJhM!I$V5@-3TRmXNhv~k4z9k5TjeODV=9(6TyqyKs)pQ9uyzJE2DVb+gUPK>g}Cw z{3AjlvRiWIpU`fp!!KwBy{;;UB05r%0u;M$Kl3_P>qDOn`B$I`T2tU8GCncVWAp?$ z$PNq2?a>zLT6GYl*EBd~MGePJuv7%$(L+94tX%{RvdeQ%WN?eb}mva6z zk(q{xZ3Ms)B6NE0`Au%687rUs?~XZ)GNHZ#f(r=}sbD&R_hO<- zvuiiUiwqTop>rZ!%=xz4)l&@Md6hwOR1DmUu8o2J0|v_&B`DJl3Y!O30C?WsG=al` zHo)S!a_@zG90Km;oSALOucuVs2x=)JJ#->$o0UX?8w!B>So0(lLJYR9zla&sD=`lL z+$3p)x7-P>!(?5vM}4oMe>iy;1fr+Q*FQxiOiz zc$($^_Q)~pBf7C(@8&@(`l2x~+$$k@nth=(|DUQiANYEXBD){vHX=??FQmY*aOTf_ zY&wiJH}j%c!uz&8CRx6O-Y{2`g8z9lGiGlSA$Y=6)@$Jeitu-Ik2c69OqgTxV3NLn zle<*;DqA21y?$%udKxCMM;D>?%{Wzka_{!JWC&4>c`+IBiNG@rE_XgjvZ9A6fm{dt z_p%Cc@|4PltjLeD16p$wRQC_F$Ej{FeUWmkh7|G-OHUa6d_I6La|0@f`$rMQ&`2HXD#5S4$ delta 153262 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⩔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 Z3aZRNjZ$T8UctcMLlq6>;`?TA{vQ=(c`g6| diff --git a/icons/obj/clothing/uniforms.dmi b/icons/obj/clothing/uniforms.dmi index 8e5b28e1b1d3b11a9f789949d30f203b75706b56..b4c76ec86646bb4fdc68a105e19622a8ed03db8a 100644 GIT binary patch delta 25671 zcmbTdWmFtNw=O(51cwB74GHcRJh*Fc0t5(7u%L|vcXtR9+zAq7a6)j0;O_1^w{zZe zzqQVf@20srkW0>XWnCm(PwapB?NWkgu6Z zsl$~E{21S62Q-L|+}Kl}nJp5AR|x`Jtc*Kz>HAEXBUtJCXB}3)1u9#rog&WDbr4SE z{m!R_o;=^3pBywEZyg-mjcC7DaNiSw-Ob+B%h{H+xa5drtAu@0Ji1jQvLpjSuzTxxy+#9Ue2{f_DU1&u2wV)51 zm-hBX(#FR;$@(WtuR9~mD~b>_J6V0X8Fb30QF_9}46E{;=a1uc(G9kZE1*S{&OipgP1)&TMt@tp5S{1a;}FF}@}p4jRC~ zV62cd5-_(5qi$6b-wWXsO;|lkVT`vmj~nC?hz5k?@+#>`bi~4WXfsNF59tGo@k7%$ z1u>-d&{(xgp&09=zs2>>rMw94e+sT}TXN8>j*Pz+{EWeWiI*=$@bahDw_~B*eQnZN zJaIufEd1`|8eA)hg!@u{k`vr&Wr783%(*gBjS^~&3Ox3&MmG7JrtEI>P>!Tu2YP*F z+i0mPbWwzFQr9{=s5MgA>($_N!~@NiQ~fed60PvWuq}K{$9?iS?;WBd%|_i>)%$#< zT9xPrtlu$Y{!C*g6Zd2|TVYr%Mn%-dDwDhTcFoU+^YlP|(f)9LROoeg@A(YJ(wAIs zFEO89=Y$X~1ElrKsI9fD!bm^xI1&Ag1@4HA}ycW(ME7&6fD=Fq+kU7V%% z5ADo(3?GlQuH=k9T%@Jl;bq_9@%gxr@*VwN%O9L*20qJRf%OdaYj3;gH*J18M!vd{ z6z_hqNH#Qy5I9`!ju)>XCbJm6`SRsUEFGF$ydbfz0E--+fPjGS2@(b+ui~QTK}ESS zl)`Vm&hlb^0?oi-_R{^#8QmhB-h z1B{5CADh7H+}unw{(y}SZG==yLQ0O^^$i;(z8J_dcz1Ky9~}$$Se(1L9ehN;R91H0gaFa{bram~=uHP%t&?)ipH6GsRAJr-{TiTkxsgriva^g{XZcq?A}0>GB-L z5~avaNlhhMwC77oN}{8u$0Z}f5Hm9a%vz4l&%a*n`l7d5iB z|K18oVF_#{gYH4k&j;7T-&R6$Z^!ZJV8=!U&49S~p<#kITW?G@1W#60b~P!*m>}Zh z*I-r6T%khSyNpb-lbiirL^?V3{bK)VYb}i7U`$d}Y-|)NVc|?nQr`Nqq8A~6{|l2+ zKBjlrhc#ZaoW}4qenwf6CM$46lb+*I#J$@Q7MzB*hrbqMG7k=_^3ROxt#Bgkg<^E%dhk6J=~JOX3Qdq$yx@s8YG>`I!Ngy0pQsPJ`=acE z?XM5#%MDwSPfs29_xDpp0TG+o$|KFu74w(?(sjBn^~eH640DeoNnyYj#`W^ZMZPk%33!a&e~ISoI5Y8pOqY>@pHaEPa zIvO{9T%15!_ljNj5kKI+U=&*R-7h#ExRQs;V3{m*sZDJ1VTJCAc+|0>Yc=?gcUj6< z&owwE8UsO#fhhDV_MaRb*_D)(5Rs6^r>3MF9UWT|*l$+Fq5CU2A@#N+>YZd`6^G09 zAI5t>u&5O>5PCDwpitf%G1;6eBrn#I_^Bmp}7p|Ylonv4u9KPA1?@siKcq! ziY0s))HcrBQg6Vv-O1yD0@C57j|0qq5jO-N-@bkOz)Vos4|l4zhkG1Kg7(#mDJm-J zLxr|Cd9Y}l7r<9r13MpNYhl(wH&lHIvG<||j|X16liF6k%db=Ny!$KOTf4OeBR7p_ zDK*;K@_rNhr-d~&aejV&ZdZ@Pe=^Ai7Vu+#8FJ3-RCD$NeUxIYg1UcL)0O1p(3+c@ z<$cfNu{+w9TI_pgZzFUVACCADWzR2_J;-v)3e5}wVBKcQax}Z5C;wo7Kas;P`s#7u zdFN35`ZYfeqgv{#$R^RmL$&$P2T7)(7u#Z)QrE9FGm!r#spUK$Z@eqr!5-a z?=r1X{qSLT$=&8F8xK!Xh{B&{-jAm~sXj+m+{4oE2QB{MPR{3Xk-OEkQ(mub{? z(Q{jBG5kp^wmv-&Pc||zI(kwYoeBHu*08Cvu@ZN*(AY={B&UGqoab)e+`K%A&u4?m zCf&i9nwpx$m03Oz=_GV@cRreT4zv$qyuic-FIeL&HHh^QyOQ*CSdijfX=-HwjEzIR z1PEty$VTF_RIIJvupx54=`$WViI{^f*%#&I1q25pzj^bfdf~`gp`rVeP(c2rhC#zd z#R08lYZXNdT)7Xomg;IjWv675u1u3|HuCmUTbatQB+m;#XZJ>wdd3tNRa`*K*0t zQ7tYpJ)TBzyDY4#M%3f+WWvv1lz{xgOEQLB%-%nN%zReJlEXaU1D-s6)S6Nbv+-$?~{9p_~R?w&s3p?B73wJVHw-RUw42f3u_tI-Ot-R zC0{Tg-@ku9T!H3{=gZXHlng-rl|d0Eub`kc`EGVwjE(fWE#jH{~np&Knjqv_%&a1`1t58At}l9=8ZbC)I_G{)JaXsG%~wJw^Ke_ z?{{D%b*HDg>982>00DllHVRXXg+#!Wfv|8`JV}am|7wKoqmUpRk8YbM&)M0TJhtuq z<(}KC5-MW4T?S1OLVIPBJa z%p%n(tK&01YKt^DSS&qop2u!IxM>jcv2l>eesRA{Fl`Pat%R=eOp_t@4rpp?zZs>f z)vLg$D$!PYka)kZbj2Wnm6*8x--`NC5wHo73Yv7MS^gAFotDt>{dN>}!zI486?C+tZ|o!_B(Ukle-G#VSZoSB z3XymUkiRP20eAIV5h~@4DXVvW7h%yAu*w+{5<()_$(+-k8&3Vmmv&H|kG0EG-*?;` z?cdyqXBSzSLBPB1yfXZG%99URSYe4tN=oMECx5$N*aq*)tddn6hw*8fJbkC9Mfq9wy;!x$@kla zu(7|+z7o98^o51-i~DR$EJ^SP2w~yjU3)I-1_p|Db}XHpoiAU#`q;QIzUNXRVS124;uM&%U(XEY(+eYwX+* zjG1QRr+gvZK4gAw_oQ&}X*6JJp}%nQ_3nS*Hb1ctayWk>deQO>4*9)-0a@INo#~2S zC*+Y!em!J*`K{H^fUq^ErK*vU@^NRN?<{nuNc2^e!#zbCeZpTh=Q$R+N3>g{Sb6{v zS0iP;*0(>8nAYR03eYM<`n8^B8T5$fmQr?9$n4p6llF*-i79+LCb^?@&?w{`1@wF8 zkIR~x(%3hWCJabvXyCJ^L?ke(z?-lWS=rid{vOX)cYhGD3Bu_f#&15q@06cmq}+6> z{>Uh+UR7Vu0g2L}A$=bI?ph)6{SZh`WA@JKs7xD>&w6TbB!~g`OMd@}G0QZ*5!pYK zEQ|4X{NUU(^*JdS3nwJD`Dsr=M9>>P0E2Jlj@%CSbP@S@C+6mgH&IYfG|1AB+*;oJ zdYkPb-Fmwk*ediI!KY{I<;#~i4}WbQ&AJek5C6Uw7l-S_4MR-!?u=mb9RR|qC4-=t zXSIb2y=>dV2vi~>*(;<`^12N;;QziJkP9(rZ*OKcD(B{pCvO*_1zaKOOyQhSR@HH3 z4D*v=frb+v3>y=(cjF9)n0Vl9qd)GLjK;A^c5b5lkCXi$pA2GJd+iA}=+hkWk<7nk zq+q#$-6B=v{*FuccZ37*ygMc+9Wqn%)w?NH6qxDnbf)1tz{9h}hQ!7RBqhp6m_BlG z7Qx4wc=-*LE1bH&wz{qUXeu==PESrorf6cM zjq7J>LTiSip~oa^SRcAGQ$g!GP9y&oDXwODCf7jaIa5?lL4g)vVTsDkrK;7Z#X8qx z)ri=dpEvbzyJmuFsO)D(Pf+eMWtB62{gR5BO~8se6DX&$af%2@PfxF&w*~d;_=E&v z5pRBCV&a0rLR?Bp6(uFi;o;$3QQ>G`9}b?+n3m4`SzkT3KCOpn*fX%we+$GEnooS- zMIm+L^f)%~<=+A9T1^K&^bR+b^RjLa`Dcj?90Q$+9aSsirF zZyL@=mxcAylo$6zdW80LiK3)Uv3%v6Jhh7i2ku%*$V8IXFPV?a=Z|!r(zqkxjmF-y9hLmJKPT@v%Y$(Q)%8C{z@3+ z8*UyRrcdW?paT3>yWC{!PZBc%^adUon_?&c3H<}t*J{XzYRB)jFdm0iY6yjKwI7eo zOy>A=U|;%sKWc~z9wO2z8E(W{;06)a{Fn+xQ7;nDfRa>7kOsIIB_$C+@gN%?gahBQ z6uoc+{Ag}Y`|*PTJ|u+3WmPd;NWXR`Q~Abi+>hA=5+Yf36RHF*&N;VRcE&~f z7fbdp3|K{K%Wj^E7#?Lm1fbwqRI>|S(ge#q`UUA)0lT zl14?}sNlZ!5@cu&ad~M9Qhxm}=$VnjFD$xuvTpbuYE{9i)WiFdcPCO7ahcGJMPPSr zF20YG9pJ-9fgqTe4%@qB2W`liIcaNig4}#kV0k8b+mA*j&pX{uXH5Cm8D1hR30x7^yMqf6QBn3kV2sV|fBun%-E6fZ5>nmP$Gu0rLk)2MG>3 z0c+w+>sfGoN>0wo2*>5i&&sVp?m%G8a&%2OmZb$V^(QTMdidGsg!(2ut9lFwN+xP0 zeF+DA%HVs$tQ(TEufnL*R-Zq^s|uBBp3h5|O??EnxTe>#N!yy}fUJEXwc6 zsccV}_Q>JfIsRlYB7Zh-j4hi2b4mQV`uwRJ*i$%ex>sg}wM%tT}(}in?+HJpVlj>}YX2N!}zDv2V-(mr%HWhPB&;vN?fNK#Qv)6`v=6 zvu`GH6DOmL9v}HeOL^10uguEqGGbOjeK}quMsY5TF?Ky{r9FW1h7`f zRYdOSpwCxTaw;m8odHM&4>S7fw3HjL%>EXRf1QREC4Ny$ zgx`=4P;EPIensB)~7=&2L{Jz^cE(FyCNvP&pMS{L~FqcL>kFedW7oJ^CZ%Or)8U#QWzNV`S5@T=Alc7TbAFt*p^#a-qbd7?JzX$HzzIyEbV` zNF_nBbsvu~Mn0M&!ZCqk<0=_h#PhK5B?Za{jQaX|DtP$URj*NU=><>&;5(@N2ZENj zC7?jBd<5di{BjL~1$M{RJOWEw#EGjC3GXp4Mykf^?|94PNPH9~{n?atUJq*0-ez=- zdywXb)+^6nqg*724dhO0_az7mXERs0vwNbOGFaq-J-=KJeh&_sE&XyO6Lcw7xr%8r z@ZNWHY<2bNnQmMGbdCr_s=lV&Z_EEX0U&9WVc(57KbqBCerbyWb%5)Iu7#iLj6-{i zT(KA4nC;L=K&ES0kk{K@BiXSIE349hq!rXSKu+CWxQ1t6+2(m>O&ayj79`*y!?|26 zDgOLuIh5M@Ln&jf#tda|Zx2#XR8(iykHu^Ew&WjiGF4X^z|(qNj~SpSt{FmvE@^$TUy<}l`|&4}c3 zgMFOCSjju;Nuf+z&YevcH0ptWR=u&IG20UE_S3V^79!XRMc0wlDHM4vxcv}uEWtMl z%#d8~#WGG#`@ma1ScU$K`SIdK<`mCYRK5dLKCf=O+O;Z?J?;Hr*ixE%O-ufUl97#M zKj&$WQ8Z)J`<3t6deR?$)HEQbTnSaSzxH=s@h$qHneuxB;@se%15EgI27E)O7wmc5 za*S2?4Gy)_mLoAG;O6c`V;nKZzvsgW#A@P?>~Q+HY=K$3R z3<;Tpvo{ec6&A*pD`L|-q8B!wv9SFauq(TjFEO+0o>?aP_T*wndL!%a4(Be+Ci;lO zY>Q8>d_f!6;3vz}A@EtyE?W`~j3NSFomad%)1NQy;f(_U zc|j4qdkjj-IQ>;~g=d^~l8w-)s9w|m>GJsJ;a#EMv!fJVHgeWy?Nizdq3p3 zfVv_Y8d_E)>|g!Bq4j$yf0JJxL#2g3u5C|1SPD)(U0y|M4 z77ruz+=3(_zY~HZcFOU#Q>IJ|RSJDsHI5>diVA`n+nVEWJ!Z@M{cTkUV1fN>-!m6U zczHVQ%OxglOlwUH2Vr5{ienJ@$x~|Ax}dFB-iN0@P_H)8BW07QYnK}Xpp`2~nNO(L zaIWaB84&!=e}y^x741Z1qGki}T>WqHms9n_ZgP?13Hqy>puPQQ@3(Gh_8wFfRi41&~*WMGcdybe*-^Adt_V<++u_ zhr=dQX6#L<><5lmwPNT*=%uG*)#B*8!6B=WF%T8>zIDA*RN-M3pb0tXYn1PMTFvHG zWYIT}vG3^C-vxN!Yqo|);!b0~a?tn^Y;A?Wr9R5OUdTQde10*jcIn?aH9t5-jxg3F zcE&T(&gQ&FO8xQ20Z>AlHn|JMweXjJY&Tg1=0zqZiPD4z8=ic3b z?L)O+T^p{VZDnjVQDO1y6EdmObmQ2U zR^p{)J(o{zjviDJGGgUeDiTE5++4$ZmJW}!U3pG&0ZmO9K!fnKn1KN@1sx4$V3Oy% zr6M=lRB10yt6U-C2aUB5lv;n@0u3%M*ricpB*)kz=!m6i?ox zysj#aT^D=oagF^cXZE?giV?Jt@9#aq)&I$N*#6lzLaX8mdznB)%*yIDZw6+@@Qk9}2x!z}Y^i(wMMYj}eCWk`cbCw$@ZJk?B!+=NR+$F~0q z#!B(;MD%=LJBZ&wgejW%5#{&C$SZoyIP=PC-hR*WLnW_7r6q!ApG&7=hjd|vvUx6Z zp8Q5zNLjyAnK_-I3=nW(CiDxfwhDiX#blFa4CV002kIza%6->RDJufq2)}+r+}yE( zX7TY0n+#xO8q>%Si_9h_>Y6kR4NanI7L0*Nwhc3U`xg94x}23Yz5t){(0PJ8}aN@%tx!f@Dsb~vqFkHmxhDD0{P_9 z^sEt9l@kSRduhBZCIc07EI~dZ0!FBz*2JCtqd4d^S{fg>a_2rh=N>=K^b77o3c4*& zv>vjHO~>MsH?8yJYP%=-_hhC1Qx%miadL8atM7D}Q7}``0X6QWeDxuuazbxZOmYK? zXNU9QKR&7}2(~a4N<<~+yCkD|KH(SnjP#&VHU>T(BeL& zcW}rTa~GNuPYns^l6ZZ410hdPrQq`F~)hsJRC+otbCL21V#y&Hu}w)@J>`C z2#FLT+q|wL?>k-uMagZiNjvN`H<)=@?NQcn;PePKkD-PcZ8J&omj%DFn!xqdyC-?+_-VuKG~ zp0qwS)c*E>3mY{$eU^f!_K&3t6BRi}#b!15O-bp2C>Nht>+BP0T`er6A4&W&(g74NisQa{$%>kmT0FPL>|&HJA9d=`!za4BfoH8pus^?@dG zJw8s2hEuqBfQ-4utPx*EwR7JEX}3T<7Tr{|Gd&M=(JH$`~+5qocct@M~MJ}Ke0io*}yJ| zbPUDt1-4-~Smg}Fi@`$03E@N<@-z z9q-#z+|Sa_)h_Iy&H#YMx%QtQDmlkD+Fxa!;%Jdy zE1Sqlyrz}GP}MT-!^5X#=HM`0n5j6rhT0uyQ>T=Cf6L|a8;1k@I&Hnush?~<4}U8K zI%j1SWlzg|rL9vTO}8}UO2aHu(|l*seDt=r_5N9;4Vp-j4InhW}n zzXEXcz%2q;OpQ+}(PQhF+|+KsL>LNU=+EOKIpc0ldasn3&Fg$*cNT(2mfO9DrkcDw zk*|VCC-U}KbX#qrU0ICxne&G7B3JtL?lHYWPY@b@;^nQ=Mo{Z-4}1niF&4&Z+dcKT zgoF*uD_M0$Nwy+-IT}XB{*yMpC}VGGi;+yAq(DPM{a=4B%MmFSM#$PFCEfFB0a-q8%rKTrcOA~qN*C{RTp&cC!0{9^@ zl&>0)Gx)t9i_Z%Y5D@OZ++b<>27x|cFaTG*&=wfQwPD)JCS$-XEfe(C6ZrV?m&P5Y7svY zl*wlHSqBvfxPIk|kL`W zS>enVJZ2}K+_~(bA;sTAn;X!!t}S;~WE0r)lkcp6!3Q>a;hOh~*#L-FkfagtZjGKO zWk5?$6ii0VXD3Femh$XoQ>rA$RAM1xEx#!+V? z&O0L-$qy0#785WqFyPmi1T`PP12G#29og@^KGd3{eL0~L5YSCB0;!@b)XjE-=uJ3J zeLHi7(p~}k=UnVUXRCjEqf|DI{uPv@e_K7cARtUY^?Zw1y!|eN&td!Q&=zV0X}^EK zo?^PIsj2zn_RP^@eQ$icOl_KP261=`{0Wi^KVt)aCUbr2qT5^+w{?kJ@qz;toi1}u zxMl6@ zJ9KHMK_24A(FwZe%S{YqhIAq>?nMWv_*&`P!o?Hk7Ul?4G`i8h<@L|b&{3^V3}Ypc zzW~X;V z5J|sKR4&J-On*(Sg|x>&|Hz!!-hz@8rvpqg)CrW;QDP@>$hg%0QbCB>4cVf*tRq!! zkH$Y*_+e>1u;HJN@Ww&5Q-$hpNtD(xDJW(X} zPy83;LhQp@157e32e!A&%#li%Zs6;hn=)Z!W-d2u7Hx7dpsN|T_k|spSEgnSG_<*5 z$VYEH(Dw6JTk_3DDijPH1Evprg;Fx#P6zG-ze;gy&2VM|9*i?2jP64uU5icwzIMc} zggZK1&)7#N2)kB?TP~^}K*S4V;C2~hYOQhxDua^hgC&?_v(|J&~4mGaK-XaQ&}%j0vNVJ^vcO34!I zPlokHk){dQB(FfBCqwCubzR<_Wp0b85%geA%#Q5m*Nx(zj2`QU_uVMWK zy-GXj2Nr8#Oi(bYuL}-v6k!%I`k5(b#51m7E|LPCi?$b8DbxtnwmXvkJM!Lk+i(L1QESmpWKzr zKwm8gD*`boui4lvi`!)}J*s@OzP&KZcpjeoQS(W`HpACYKr&)#JSUw;F0Y$=bh=E( z9WYcuiY9ya#x?RNBqU^VaZ!YB8+!x0+QYq&n~_~?ac9O!cr;jq-S0;9Ha0DP{lmrG z%~0D%>i!r?%he8l@B8rsDaQ;`s9AIg505gCa= z-{x^)!O6)-V#i>R`kWyL0@+zHclTJvr#^IKdO zgc`mCHB6~*^++tGM=an3?NX8{(Z2I83;AFDF{8du$D5T?RHx#ha2H}6(+9mx?QdF% z)%Lh1EipS@$*X@k+-%@>B@a%)?a62&q=k$Fk0JGCL*;O+P6|8^?U#7|K45 zg#FW|tgql9>l+(zRcA<5<4Fz^g5I~)dbK+Su;j=LB%X}K`h_EltNrP$_2)+OMdoF} z$A%REHkJ5N9HpYt6H>y&lviE+o9#XX{h(0bjDZ987XyqL-@0{c835c5D+V0&5oc+V z^BEZ-%Q&I)wp7ki!c3AVI5~LT3po^l41~k>R}9jLugJs+@#J(rDG4#=rZ3NQtAkd9 zI3bJo$^*hwCXx$iCcvxgaDp{YA@t%|T6g)~es}HIo%R{wt3EjM%^C>t${aNPa_Y8h z4{=i)Hk8ICbOix6y?=Tl0bW;Hdm}lIQmxm2Z6E~&1+j5)oon48aTlAOgn7P(8sv?1 zOYmZ!18*|DV7m`Pq@37(h|cg38S80uIXXHzRXx4Z`g?LL6y!khd1YDI4(p%U)`V?8 zs)xk$C*Su~zocQ2=9FPbh)YJK;6pn*T39UAmo+ikez{;9?2+imVgF<%Jb0yjO{YO%y7ef!MvhKd0b!l%MSM&iE1zZ#axD zeZk(n1)!_6V=gcFE~RDHW)#zFsut|s@=ElGTYT3X#_ZM^#k3v2VSKZ@^15~ z2(Q5`)vb#AJhuMJNaubGxmGs$zckzbhg}c+KUx0&;}-l5vhw7!Tlj}9gR}fRZN7}v zL*D~Yk|@3BPS^e_$lk}oJRTdfl&?kEfb!921SR81(Ug0V=X@Qupqd__2i1=a`WT;O z>{Ga@^4N);D(LzKGV@3NNJ=%ZR;mW}K=J~5QC)b=rW}; z$9NqETQxYCTt0P~N>Q7{`Fy{lO}VNQ^C;fhzD=(D^7!*46FHUdRf_T1Ly@nC_(FEG zjxiG+^SI{B%-NbKtk4^nJ@EY+6&i+mlDLBJNd{lr(}S8Y&;zQWsAy>4YfI&IL1@fe zoh3Fyf}9hc_32qHy=nh;OmF|-Unog!i#KpFxFd=$#0xO{-aT68G2T6I0?(d&9+lWm zpUM&bvI=?}{rMo1eIWU~Q{`@)dLIMR{x=a0Ve+f3+Dg45ApQBSip_bUyy!#yDnq<_ zKbptgw6SmRfz7g-#&u@hEn`H`;1P0e!!ccqG8uJtHn+O)yUzvH^M{Zo1A79PxmuMk z%qR-Z`+lzo0-CCUHkHl6pqIU}d7H#yD0RHj0MpI(`9nc}FC5M*f|*K1<)Z%H8ncW3 z(oDa9qXyRFk>PMiC?>&{etJyx_r~qFc{H?P;gN`|(eKgcL3+D0>!Ic*mN?-)^XuBg*8OiE7JptrYcB-dEKT2vT2W z<#vH{yop8R__8Srd2_H|Lq}&SC%d`ea8t8H7Q(99PruO*r>dsWANyUhEk~$TrPZbW zvL5=r$`hicrA35+jDd{6Wie!OcfJ+A#z%yqsa0}u0<_wO{U$no!sQH(>CrQio;pH@ zyxcg^KR!_%W6Ob+Cp@$0F0af0HjfJjWwf9)2_7QPkvye_r1uK#pTT1uSf zT)}n%bGf(9+so1Sfi#xI{pi!v6J8G9)pBO*KC-4$r7Zt--AuC@$XDWfz;jK0n~iB~ zyZ+UPf_Se4L%udvz#M000*}{rQPHD0X}{5k7VPQOdP0E>KUnj$yK4o|SCy8QYLGmN z;-(zmM!co!G{bM57$gGzHZoq1rPx`PMh0B&tg!oA zvrk76BnVFF?LPq4t4=@&@(6N`V++YyQ`Y0{_4`HM114Td@3>c^?V$_PzrW2O#5Q}$ z2HYBOCZyshsK&;bnBnkScf6F#uS4?-SU0t3-rtiOH2%>~O=a_`&^#;*7X-i<277Lf z#p>1hnRh#Mk{&cBr^LnczO?Zm-g9zNY`Rc(OVTt0C;1Zv3f#1`+unX8a*_+IPNr15 z+=vgZ-JSTT+2$H*yvP~Z{bqO21%ppY=KYucylo%?^d(&CB9GDfAuum*wW+~6s0qxuSE<= zCKk4eMde6iCy62o3=E5jDJn0=ur#ApF2Zl=7GJJ0E4>oq2ARTOkFEUx?riVALcR>v ziE_O5?4jWC{6zK%LS!-?kij}96yVTyB@Ji7i-b>t7f?4I&A|^KW-KWO=Hq(hCjdT8 zl{zbJv!n2(RaFit+BW-^GSNFbxM&{+2gd}+c5Q4xvIVfRhkAw}s2un}`Y$e03*tr0 zO<35vm#K;?l3x0F1$O8eVeM*8qJ+v*#t1A*L>3-x$J`dHK{WN=vd`$Q&2c16eUwT^ zQjkK8Ly*vO&IAfD!XPxo0-yW!Y;?4YAD*9X9*onj_@ra*-oDND!OeBe$}jk2WPE`I z)!9NFc^A@t7i`|P8mmB~%l7)%bV=Xy2%^Z4PuyFQn_I_mxPfA7JeLRX9fM1R^#!=c`W zAyzePYc*~^Ner9u>lpAbzekkC^Yo#j)mtnFexf)!zxLj@a)z9v4nVO8u5W?ep9uUZ ztu^-^a5z^vCnfD)3*t{QjK20im1YIiKD#$ya7r%d-M4?{x#9sMIE;jt%J@2@NC%mC z8m{&);9VkTI>oUuW;+Fof()MRj5@#V{U?w^tAnY4yT-!8O>#-sY>-9P@e$j67g*KD zEu~+7*IjqOg0J0d2;;jgf<_h*=FCNk_IaUm1Ij0i@Le969MKFthorjmy!yqMWs%x z1uy^5iRqpu0PF-PlVwazdr+vF&Qd^y#hM^Q<9~w*Sivam2lOtBIy6>enx^BObp)K4 zo}SD7#}h5=)oyoyY4hm7{xQ(ymp3LR5TBgT(@0COmVF9vL#WQ2Z`hJC!7IQS+~UD5V9v!D}xBvcgIxZJKTFnj6mAD(c^ zm;k&&-q4Ezq%fM&#VC6mSdH_Dfc44Ntqlv0gPT|i0m%IAU{7E0#czjW_|>?T#rL+h zP3k|A@g03$v0*_e+2}xQCEN3Uw%Y@6rgMWjpgX#Dv+?bq?CUh^vszjjNO{*1hq`&9 zq_mQBx2MM0aQp*&DLH3!HfB`2qKmEoRkex5uCOb#yypcQErDRsr#0;LnI2TNDaDi( zXtAy#BVFSu`imE+FJ92R{_Q35X8{Qb>1ZF!UnnV|Vd2qgO-%qMpC5KMQJWQcoH}gf z@GTVdQtrQ`rQdfeGH?u;@2eZLYG?qDO-`oZ*KmLEllAVOz7-R2wdxpNVKIge8Msah z$!B-s6sO}uR&RYz^xWXVTt%Njug=fpezuR~(LdZk_wyPeqU=$ms9*PZK{)=`6AkR{ zcJEj2i$ny*zyq96`{HY(d#Ejk&0m+A+rQY3{ZSw1QmXJSE{LBKwZOSEfq9$K5)$xE zj3Ty0ld3@*ZWX$jA9ASL4Q&XR0waY9mxEk& zF%>HRmIe!Z8GTI;QHmORVgGTPp0YZHf9qisOrx>@kQz^`OKL_vX?&FQtV=^fLsciv z@-5Ll;x1@tXjBK$QdvHC;gD1mP=+bKJg3+z(fEN{Hy=4*4sUY!o)FCgjy+8=b=cyEa@x9%&-`u6qCLIC@nSQCu8_N40ikKp zUMs5upoKk)Qrz9Z{3k~m9<>U~} z=`3L4BI2=s0|Cq8-PHrB*mm9c*~d4IW5q*?ahaKl@82VhkBVIaJ7>i36dh`-e3B)Aq`u?NehpviJd``hPSceIFwAd(c|3~ z7^5eVn&*DDK1vqZD>gFdgNBWIaC_XZwKM)`MfD>KKa10!A&R~?A&?=%tUe9hM$fk=cU}6> zkjvk2zbk;0!KI2g_h#WHgJZz$>S>LXgPZMA4@l(Or4x$$a~LnK zrVobUGXeDA4~Q2~H86-=vfqhYD?GZSBsK~MQvsWrQo&R}=>Bp#5w$Pw`X)#n5o@%y zAcg8jB-)MR=h%Z}eGbF);d8>sOh>fB5jKfTU%RlCvr7o4wiGgnxm-c>mTTV z;aix6{;O4VSOqsxs6t~he3x{5zl|2*!mDmIvF#Kj|HYU(E`Db2*)a9$}X`MSby z^he=?8Cri_UjdYqqn9O^!1fy^8soO)|3vHP@tsH7)namyPL%erihKo0Ga1u zkdUE7LRius2kpXZpZcQ5JB48sfwm9`#R6%V&o~~i{M9F^k+GUPesgo=>aiDav1l*8 z$<`zc>Dagtm?z(zhF)Z&H1q7CZ6B!Z<5(c;L>Skj{P+|KCh^*P*QXZ&>Y)!?+D}uj zUzcwngURqYQFord@6i@-t%RAF)G!d8T34&zaCN>Zquqx7}fAX;3;vN*biQ zK?S5cq+yWmI;4mQNJ@`%g91vIDBVa&cY`zx4D%g--?#3%>#n=*KX=xwVV`|CbIyME zo;UXUKF@Z0!J(rs8%Yg*GUv_AYMU|iwtWPuz9+x@>FTm;dbmFOU|ewS}hp9Yg+7xtTBEX7ks)Z1!%_3pmf>-{Bmby_u!g&WCa!*7W}^vXS1)&p-_q z`pWdCK8Lk=h6O4TeL0wo?)pdqx0P)*d_!Ppi#YdsQRiT`IR>-ecA$UTWQJkE$DVNp zRUMPH?MDz$Hqv(ydvSPPV^LY6Ymc$ACB|)vYGHM0nFP!x_V%30D=My$bw@r3pylB4 zQg_}C>fT6XYD!Pnz~ENhgjFCP2u>&l(MzbiZJC@8KyQHk3%S>MPogO{ycHEO&?hI* zDAUub>+gg2A3Y>TY|=V>Ay>_1m4KZ7A*NP0JdlO_u)=;?1uO>;OhY?%7(7G^-%gWP zwZ;=Xuu^;{a>xJpCz$OE-ly{ry~{@p=Sn42Pwj&61`=xO_jAs6h~JI?&tQwx=gmnJy^Wtzn|EA5#W6f|KtnRyq;pb z57;NMVr%V`fj7VZbk-{uudc?dHF?_eS?R&CQ(6M>x@0)l9pk65*H!lYq zAGF~3N!W!N>JZ^|el|sgk`V@$yev)ZQ$~il8k;g{uPL|Yxxra)9&PR_PJ-`07 z+}9%sn%KTJh^ygFX+9eb13(pGVPoy`y%4vF!V)KL>t@=Gs2=!+K-yjhC&u0IC9Czd zh0cCvbRf8rHK|y(c)R?Gx4|W~lZLRotW2(EhK!gvRHH zK77Ku?a!hAHsqfULzL7}Wd(fDwmeC4Q+}kmbx(V-h7w4`a^>upHh!sNjb33999P_f z^?Z;sLpX%k1Zdw~OjtIdCE0Shz*eUj{mQ*uT2A!0c4SCBw#IUi;?@wk2gB#XcAxSV zsXcQ*E3Jg5q+s~1w}L+D#@3eAvw%QpaMLO>GSaePUQY_kVng)2NuJ`NhsMS5Q^Fvh z3P)j1DKrqk@Soa0_5R}*h+6E=d@lO)--9edU+x34?jVF##t#)d`u&B1+GWm z_H_uQ=%1FueVhQf8rsh5amRE8d`bfG>|y##2Fa0g27J8r2{OsJi+@jz z6^!IaWE!_&&6solp)foH_W)i}N0fXu7kZOXTIx{vnbFivFi=z8+Y_?GBwhK#B=7FW z6vMMOk|b$1F3nx@=zjY!PIMhEuBL4#{kCfX#q>OFI&57X6HcW728(RV{(b-VExKS*6ej%%RLad&G2w4l?^evX+OC*2Az0= z2W7e=#*8C%Po}gU8WA10@qr1r(3c5iWe)G9#GB~Ey3S-~ytI2dCz3I+lJ!)D?TMg{ zfB*01xt~?Qa{(J`R)7AUpCwwR>zWS<7(1FtGT$B*?_wR@7BtPcIOv`)DgU_9^>!b< zqP;ffIll^QUp|v6p~A=iT3QcD5Rv6em$k}o-|yd_S>*Mc819fpGM=5nw>&15sCmuT zY7EHvcu^WWB4#$XBMn9!Ma(}fQJJ{W8*E-uzLH1PYn2rn)g^bKXJ z?`329Nzy+!9d6d^pv32R!p3GToHa$2FmZIGJagWwvmC72zTJK+c5dWQVAN6v9~zpg zmjDmvN>X?;N2RV7M|I%APdgCP8~3=bDegUH(eEqvN!syl22wePa)ZA~%diqMawt_{ zPy=2PYTpf~+6_e^Izg?*xW9!(RecQgbh&6dS5_DYV!qHPM1$ao^kN_>srm@#5^O=>&CtV_h4=n1zcgY;0YJLiq+E^<^L>@&=#8w<6MK-6QP)2-1kTX% z>7W8Ucp$8xD*Ywv1><)xy&9k69VgBZ?8CH780m^dLreQ}`wWELB@AwA+ZTXHhmDBJ zUU|1`yDzJqknRZc!bVXj(%_w@a2Z~=-Ny?<9KvP%Ejs!h!Doulyk@{tKD-&=lVq@w zA`d^VF8!FCoD4>eMI|LFW)ONRs@Hyg>EJ!XyBK{9bo&B$FtDL{4uYc3j8FH@lG8r} z2m@Z$O~~bugve2sa`J9}KiS3J%l%P!Fh}ruyHf4w_WDLlfPkQY_f*ve&7<}CrMbt$ zImw*9z7|?%NdaWJ`?}|x9)PV~A$CpsMWXIUi^ujKl;ya&xt%MGy9NUZld`g2cz6h4 z$A8cNbk;=Y=;V@iE{)nY_RCgJTG~dL#(GM_3$JcuthFxDu7jlG=_Ob>;$P<@(Tocy zLvW_J@sYKfVv|cN2CK`V}ppmsHug;Xr&RkcQ!qO7Z4Is1y^FN)yBMp z$&*c30U)(ZtQyhzUP~;pJUq% z>@kRe#Knprkq86x_j*mait`&qw>`W$iS21@zQO7oeY}ZiclTpiW-$=_w-qf49Y@N3 zPpKs46Ufna67RJD%Kz2;-&%pK5u|7zQg@3``|sQ!&@fp(g$!~PIUEeI85oI9jDrzQ z_5OcOkPyl;664sh|3Cvzci}6ELc(Mj)AMk!!Cnl(hpQ0qBFndrX+yz(8+!GBUJU%t z)yd+70V?WomDyq)?vtz+zuP{+U{iv-sIq3`hRN&aI5~GSQ4#V-TAOjSkMU?A1n(vx zn9#5l<;K_8Uu@6pZh(+&2?&VDEo_+IT(}CauT)oDYD_FHE*@))rPwrU@rAiW))}!= z)TKkv4cXuAaBk3(sxihq1ZqzP-(-_({2N1ccj4nuaHHhHxcZiAq9Npi=~bP3uyOLR z{EhT9bWBNvSe!_vk2t2FL!OkwCQ*$X){g~7w%}ukFN{%lrVVF-H}U~-fP{?ayDAY8 z5kvD7x;1D%2eVz(W-YU|{&jW?f}bf-Jk5^zxHwd|PqaT$0opZae;kTpU5>1|=eQm+ zc>j~yjO7Fa?%eO+g(H`|0CW7tIMI83ZP|b^MY5PDV?9*wjWo#fM(;0Hv}+Uy*IsDz zt+7~qx;51M$aTfLC_f%$T+4m(WU(cqbGyaSlgKmAfvoJJWfpLJ)zD|HCs!-EePX}b z2GEtjzsVE>XL0cTYQXPEp!PN)VRAXGIr93F*K0;5brkToEz17*Q5Hm6L%=$oY#D$) z)RM1nY>YTMfp%QI1LHKgGx6rEOwu<#`s!e{qrCk0B`g%bc^7b&Yh7R*-p)<&q@_+D zMO03<&V76J=2PGHY@nT?2r|ldi6iTS@@b{rLKmQT;3GjtM`uVH@k~O>FIXDX*}sKO z8%8sjY2uVWC^LiPJY1%YA16yR1^M_wN4LAT&&J2+%5DYuDDf$^wSU{MFi>_LUuhz! z7AEYW+jmB&QMotk^}6r0=o!!D{?eQJxxHqki@|8#>4|tjCli`LpE<^i`MbjlkK9C> zVir)mY9)Ppiyc$rmzX<9VCa0)_{k;gg+#r6g#aig4(_KL2Y(on^>zCmC48FGM8!qJQt=f|e;gQ=Pr}8^HU1qcFFNpeWSmaEbfPT&-<(tIt)9|8Ya258wlq z4LP*oEc8)mH_C}5$A1cWS-4ijAh^3XE3EM%E+{V+`}^!Ezx@a%Ba4vWT7{S=54lM@ zy_4Sa*avF-k&mk#EMCMu@ScLFrYgzHJB$z?!u0jisu3lK8+4mF=ajURv4sVESun#> z#KHo0H1A_IG9TDdPR3(mMS#WcvW))>9jG#tGnseY1E&lsLF=Pyffd1&PxqoZoAAQB zZov)X3+&3pQAJ%{(HzMj?3$;3Kiudp5-cJTstBbwRejwc{k@99MTHD}&*2^Yngo%} z;~27+;en14XH7?lQF8|jOUD~|9*f<)iUNf6kGK`0dl6dAo29l46lIN^TWr%Tz@v+oYRT(Mqp@`9-ZmkdPlbgRXUGjSmS-P#> zXM{j%W@3BS(d0Le?dqtKIee}@QwD3+kezXHnrUDgP4{ccyErkYCmp+5Q~~!g)TFrS zs=p%e$jbQn?;ilGJ=?P;5>FZma5a4;z=w~Exp!Mf9d}$O{+=4|+T@ht;Ol3yx^SY3gW!b%sBUR*%dsFejm2Y!v>)AL{|L*%> z3}Ow>7lSEM=$bXj-3;wa{sB26NI{obw3LSwDns{KnLy_C-jzu&73%AHy|SHZ8=)pL zauCzP;=m})z1HTeveY9?*6j_ekau-;_14Wcyw|So^*3XqZ%&VHua0|nz1G}B!2tOo z1;xI1P2s{Wo2BzlOFll*?@%5Be7>Elvlx4@(H!#2s?YGJQ{23DaOCAQRxbzhp2oK_%_R=wI*DQmo zmh>L}+CAMf$K;zbZJ!Y2XqsjRP&BFgU7t&QvxnB{-o+g8L|dC4p{`@dxQtpwSrKf; zj^p4gUs~oXEgSM+1-6ZQt3R2^j3Ezpwd3~#Ci*=qrUt+z2o~b*twm4h3rFq_&nkU3 zT-$YlrzlT7{h%v&k5sv}>)}V%q_1e(j2nFRh(d(pV;~jEyE#H!G%pT@PiTvAa^i(zGX%X#1@2CIAzt3zfcw_LTp7+h{64fcSLhzY7&0j1 zU}L6K=aizPI4y6}3Qf+DTrp-}v7A#^-{bhPv-!oAO`Z}R>ABn$a zhj(M1?Rj$5r9q0)9@k%75C(rdHnywk{QGP+QbGPaWqCqiWugzK=G@;8?DF4t*8k(- z)fD{;^dgW`2L6s-Tc`$&5~n*f^FJN%!quvnzcxh@qG@MU)^^2S)mRq=o z8Ued-1fq0nwR%!2%;zihFN!WRJjMrcb$Lu!*;rW04m(=vWS0U_4IBR&Q=d{&6gO*a zn|Bys3;)Ilj*rs*{K5lDLAlkvLX3IhE@>lByF4|hW8a=~*%APbvJjj-q6me6(k-eA zJwkog^#pxbr0GAkS8t399#X{tY*tfZ~lLtw7r5~=P^ zJtdarm~5DFPA$8d<2%4wKoZdv%EW@%vZ$e=f_)!`b{8UJ4o~QbrSOh*E;jBMc1oqw zl7A^>kMb@^T$^O9$+mns?tnU0ri+@s`Z8XV3YWL`~yhOCR9ksva4FsG)1UWL; zYcRYX-50t>hJa802uMxn>y5utn?!{@;!Ham=<0rGW2Z&T(0e5y$o`CK6HbZ$@Mo{P zqhDkV)}3*=u2CzDqHFIBhh zgRJ}-V+Hx<3B@nrh1}PL?LJ4DpL$l@NWs3Z>@qJ5ki-I)))vj2EH)d1VHWWjwkXn# z)A5ihExW5GcU;hhky;ozt|BFhuiL`HBH=$J z7p8QyfLm0LBPA|-4}-j5P$*cD?CI4_78K~huOcGZ1)2qgJrz1dbMsugL|LUx=F{+~ zR8WTSr}Jk4aZYy)Apk+3d5zYsPkVg=DB?2khc=1okH99Xv-;(6KepJdnQg%SE}`35 z_@79@gKGs}qT!HW+RhkmlhW%m>~&y+hBsJ9L;qx(Nc5|1EYH=rDCGwS;9g-;=(YsC zAqBek&nMx+wTm)`eHvj3(Rd6O325@Q6$k$~UMObJg{YT8Oclk^eqFaH-(E0^@Pwr$ z(%>DND8K!p>OKS)QlZ&=f1>#^j#vh_4}_1roqQNMWlkYuzgBHAcb zI`-JsPVqdLS1>|vx6W%E?{D@bM_ULAxxT?mvB0l!i9lY#+Hp)L_tNgygO){a+B)c6 zufQgQP}NbH`Fz`J7vK*XyYlkxsdD{A@tAltFQNa8pJ3Kz2FVa-(%{19XphZeT= zQCd;44xbmlxm>WiZ>mZLg#iuwS7pX-T~|46A`Bfk=%}b5VEobeDJ{*aVV;AVThI16 zU|^87rPYb1QlYCTNnDP=WoxZ6c=YO70X;W#tN@Dh&gplrGK4IyC8wzfr*rr86g0U{ ze&PNMSGEV(29I#1{9av2tX<-(;zkL;K5jr1!D0m^grEa5T@%gv=3-SrN~$zpfwZ~23B zZ<8j0qbLyv#~81-;Fg5s)ejm7t;8u?+2CAp5n?_bvGD4-Mhqmyhf6fTU$%`f0kW5c zolnqlnBk)*8#VpPDbLwmKy1qkA|Mc+EzS>mkio(03UZ;1qDY2K@sEcEGh&^dNs83K z3id(gs5eiyuIQ@I7jAoQ$h^n2avUL7lJID^OM~@S!=8TMqlJEug|J2$vf9i|F2pUc zsAY%xifErt{hBHTsvhUo^C{8w8gI;x@_x1nYZxgwj0@MAB@Y;Xid}qxK(LMf5fh~M zNQ4QZD+gUe`uIz%htyeztu}U;kiecBokqzyS0A1-MGHOl66K);y4PN@SUpjvhC`l+ zy{^72JBt@uI_5d42Xxel7MDF$idf(Pv|k&8-l}KQOcvGa-A10e5jBNz^(%m`p89p5 z^I~)AdT&BBH46ftx#yDz~%)KsE(%1kJw>j}wRq+p7kWRXJHs$3S@YL)_lbGi} zI;kpsdcPGk>6;C*Yz;Or|2Q(DF)>O%qlAhIV=^sz;XpMdv)yIvL{DRNY|dLEvsBm; z($>g<&8O8aL%t7*8_}?9nqLR&ANCgP&b97471-LmBXhxCPH!NDI4+5YZ2Ck#R|r#? ztaBe^&MXY=c`VY(rN%D{X&$u(8~bRSL=V6rW1b4$i>FSlT)CAPae<}yfL=YL0-A# zWkll*pC^166QwK!Y!p+~RaoiJz=$f(y{^(hpiR`*B`8%c@*qh%K*mQw>p8TeA?y0K z$vlW62y_j=FdW>O0IfSdR(B-LFPEqmG@>ya%KY;N(&u=NNb*W7H8rGUX0Cc%h5C|y zJ3w!0UibwEVrg;{AbL|=srX>v3KsMNREA%JZafAC2m41xus&B+#ep1M`gcf}aRrTv zg$0A7qaz6k=!AFHoZ(;ltb`Wm8B+;2iLN-Lf*#}svfBJx)u$t0xqyc@EL|qq)=WY? z@!%+XQ{<{#mZo<7a(tWHCK?3QPhA0xDB3t7j@;jkq6ih`S2jnlGr)6`Pm%0|5iN4g z`V|N1+ZzThej^#mAbo0yM$UUT=mTSkP!y)e$B!o{&Vs~-;KVW>B~RWwhZU%SFA+?M zptJ{&pHRQs+sJCB3<=##O|6|jEY8c5OEs#}udSw+10LSv)oa6;5Ii1}W; zR$xc2v)SA|s+WEU95weabZ!#FO~%B>$K$LMt$2xxh1`j1lq7H1AYX(COwb%3sgCQlB4lQY&ZNY70?=l9Hv=hhHa zX^4*XArrVMrd&YsiF0F*R-?qG&Uo|Sz&S`7{&Xf23^VK&#f1j?Mn>#zFDq_*Y_}Ms z&G*|N52ogQ%e6wo1#T&DSYuVu79n=YY9M@6`N6qXZK<|51R@PjSY3ThO+zy!1qByS zX3^v6FrYQy+*r(%DTqWg`qjFki4fWyi1T4jKO-W9ki2!5s$fyT`4$Wr=t3AD(BPL>JH=5+C7IFX^yD zNqT?){waWK6;d6MG|J1#$;^MUC#GYTEiIPAYbK$Rju+f4m7RuQA68aE`kfZ;5 ztEcignyeJfCG)4gOT$h@2 zf*xyA2#ykZXtOY}^u0c%NxvsE*hkU{ikVGYoBjQ%C%82Xi9~PYVPRn@e@#@=Mn8Ca zd#PquXQadCCc;O-{#-5Zb@D6FQCSDVPV{6f(4w)h(nZ9TMbW?=ck)DNGvV_9HpvT5 z?)KYR>)PIRt%C5ZO~;Qf!cY=&9ois~s`Erlhe{e3jtqh MN*apQ@|NNM1)6R{_W%F@ delta 25306 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

    512%GdV3&C3WUZ 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 qtt-ET=cxOV%wX9Vtn6P^1lEd4%~kL From e5ff40b4e87e697c9367cf2fc0e360fd3ee83cab Mon Sep 17 00:00:00 2001 From: TheVekter Date: Wed, 4 Feb 2015 02:37:10 -0600 Subject: [PATCH 105/122] haw I forgot the changelog --- html/changelogs/Vekter-PR-7526.yml | 37 ++++++++++++++++++++++++++++++ 1 file changed, 37 insertions(+) create mode 100644 html/changelogs/Vekter-PR-7526.yml diff --git a/html/changelogs/Vekter-PR-7526.yml b/html/changelogs/Vekter-PR-7526.yml new file mode 100644 index 00000000000..990821084e5 --- /dev/null +++ b/html/changelogs/Vekter-PR-7526.yml @@ -0,0 +1,37 @@ + +################################ +# Example Changelog File +# +# Note: This file, and files beginning with ".", and files that don't end in ".yml" will not be read. If you change this file, you will look really dumb. +# +# Your changelog will be merged with a master changelog. (New stuff added only, and only on the date entry for the day it was merged.) +# When it is, any changes listed below will disappear. +# +# Valid Prefixes: +# bugfix +# wip (For works in progress) +# tweak +# soundadd +# sounddel +# rscdel (general adding of nice things) +# rscadd (general deleting of nice things) +# imageadd +# imagedel +# spellcheck (typo fixes) +# experiment +# tgs (TG-ported fixes?) +################################# + +# Your name. +author: Vekter + +# Optional: Remove this file after generating master changelog. Useful for PR changelogs that won't get used again. +#delete-after: True + +# Any changes you've made. See valid prefix list above. +# INDENT WITH TWO SPACES. NOT TABS. SPACES. +# SCREW THIS UP AND IT WON'T WORK. +# Also, this gets changed to [] after reading. Just remove the brackets when you add new shit. +# Please surround your changes in single (') or double quotes ("). It works without them, but if you use certain characters it screws up compiling. The quotes will not show up in the changelog. +changes: + - rscadd: "Added a toy red button to the Arcade cabinets." \ No newline at end of file From 0af739eeed9b705640e80109bead25ff5da00403 Mon Sep 17 00:00:00 2001 From: TheVekter Date: Wed, 4 Feb 2015 03:13:20 -0600 Subject: [PATCH 106/122] Update Vekter-PR-7526.yml --- html/changelogs/Vekter-PR-7526.yml | 35 ++---------------------------- 1 file changed, 2 insertions(+), 33 deletions(-) diff --git a/html/changelogs/Vekter-PR-7526.yml b/html/changelogs/Vekter-PR-7526.yml index 990821084e5..e6166381f0c 100644 --- a/html/changelogs/Vekter-PR-7526.yml +++ b/html/changelogs/Vekter-PR-7526.yml @@ -1,37 +1,6 @@ - -################################ -# Example Changelog File -# -# Note: This file, and files beginning with ".", and files that don't end in ".yml" will not be read. If you change this file, you will look really dumb. -# -# Your changelog will be merged with a master changelog. (New stuff added only, and only on the date entry for the day it was merged.) -# When it is, any changes listed below will disappear. -# -# Valid Prefixes: -# bugfix -# wip (For works in progress) -# tweak -# soundadd -# sounddel -# rscdel (general adding of nice things) -# rscadd (general deleting of nice things) -# imageadd -# imagedel -# spellcheck (typo fixes) -# experiment -# tgs (TG-ported fixes?) -################################# - -# Your name. author: Vekter -# Optional: Remove this file after generating master changelog. Useful for PR changelogs that won't get used again. -#delete-after: True +delete-after: True -# Any changes you've made. See valid prefix list above. -# INDENT WITH TWO SPACES. NOT TABS. SPACES. -# SCREW THIS UP AND IT WON'T WORK. -# Also, this gets changed to [] after reading. Just remove the brackets when you add new shit. -# Please surround your changes in single (') or double quotes ("). It works without them, but if you use certain characters it screws up compiling. The quotes will not show up in the changelog. changes: - - rscadd: "Added a toy red button to the Arcade cabinets." \ No newline at end of file + - rscadd: "Added a toy red button to the Arcade cabinets." From d8e2171f1bd1d735c544b501a541f7d05539e257 Mon Sep 17 00:00:00 2001 From: Menshin Date: Wed, 4 Feb 2015 14:26:19 +0100 Subject: [PATCH 107/122] Fixes pinpointer runtimes on qdel. --- code/game/gamemodes/nuclear/pinpointer.dm | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) diff --git a/code/game/gamemodes/nuclear/pinpointer.dm b/code/game/gamemodes/nuclear/pinpointer.dm index 5a378980f8f..bfccd051890 100644 --- a/code/game/gamemodes/nuclear/pinpointer.dm +++ b/code/game/gamemodes/nuclear/pinpointer.dm @@ -12,6 +12,9 @@ var/obj/item/weapon/disk/nuclear/the_disk = null var/active = 0 +/obj/item/weapon/pinpointer/Destroy() + active = 0 + ..() /obj/item/weapon/pinpointer/attack_self() if(!active) @@ -239,7 +242,8 @@ if(16 to INFINITY) icon_state = "pinonfar" - spawn(5) .() + spawn(5) + .() /obj/item/weapon/pinpointer/operative name = "operative pinpointer" From 50cc057504cc9cfae08a52f7e9c2756d66eb785d Mon Sep 17 00:00:00 2001 From: Lo6a4evskiy Date: Wed, 4 Feb 2015 17:35:42 +0400 Subject: [PATCH 108/122] Lots of fixes and improvements --- code/_globalvars/station.dm | 2 +- code/datums/datacore.dm | 49 ++-- code/game/machinery/computer/medical.dm | 148 ++++++------ code/game/machinery/computer/security.dm | 214 ++++++++++-------- code/modules/mob/living/carbon/human/human.dm | 87 ++++--- code/world.dm | 2 +- 6 files changed, 272 insertions(+), 230 deletions(-) diff --git a/code/_globalvars/station.dm b/code/_globalvars/station.dm index fe655216354..e8512549c1c 100644 --- a/code/_globalvars/station.dm +++ b/code/_globalvars/station.dm @@ -1,4 +1,4 @@ -var/global/obj/effect/datacore/data_core = null +var/global/datum/datacore/data_core = null //var/global/defer_powernet_rebuild = 0 // true if net rebuild will be called manually after an event //Noble idea, but doing this made GC fail. The gains from waiting on deffering are lost by using del() diff --git a/code/datums/datacore.dm b/code/datums/datacore.dm index d256d328460..4014d4eb0eb 100644 --- a/code/datums/datacore.dm +++ b/code/datums/datacore.dm @@ -1,6 +1,5 @@ -/obj/effect/datacore - name = "datacore" +/datum/datacore var/medical[] = list() var/medicalPrintCount = 0 var/general[] = list() @@ -25,7 +24,7 @@ var/time = "" var/dataId = 0 -/obj/effect/datacore/proc/createCrimeEntry(cname = "", cdetails = "", author = "", time = "") +/datum/datacore/proc/createCrimeEntry(cname = "", cdetails = "", author = "", time = "") var/datum/data/crime/c = new /datum/data/crime c.crimeName = cname c.crimeDetails = cdetails @@ -34,14 +33,14 @@ c.dataId = ++securityCrimeCounter return c -/obj/effect/datacore/proc/addMinorCrime(id = "", var/datum/data/crime/crime) +/datum/datacore/proc/addMinorCrime(id = "", var/datum/data/crime/crime) for(var/datum/data/record/R in security) if(R.fields["id"] == id) var/list/crimes = R.fields["mi_crim"] crimes |= crime return -/obj/effect/datacore/proc/removeMinorCrime(id, cDataId) +/datum/datacore/proc/removeMinorCrime(id, cDataId) for(var/datum/data/record/R in security) if(R.fields["id"] == id) var/list/crimes = R.fields["mi_crim"] @@ -50,7 +49,7 @@ crimes -= crime return -/obj/effect/datacore/proc/removeMajorCrime(id, cDataId) +/datum/datacore/proc/removeMajorCrime(id, cDataId) for(var/datum/data/record/R in security) if(R.fields["id"] == id) var/list/crimes = R.fields["ma_crim"] @@ -59,14 +58,14 @@ crimes -= crime return -/obj/effect/datacore/proc/addMajorCrime(id = "", var/datum/data/crime/crime) +/datum/datacore/proc/addMajorCrime(id = "", var/datum/data/crime/crime) for(var/datum/data/record/R in security) if(R.fields["id"] == id) var/list/crimes = R.fields["ma_crim"] crimes |= crime return -/obj/effect/datacore/proc/manifest(var/nosleep = 0) +/datum/datacore/proc/manifest(var/nosleep = 0) spawn() if(!nosleep) sleep(40) @@ -74,12 +73,12 @@ manifest_inject(H) return -/obj/effect/datacore/proc/manifest_modify(var/name, var/assignment) +/datum/datacore/proc/manifest_modify(var/name, var/assignment) var/datum/data/record/foundrecord = find_record("name", name, data_core.general) if(foundrecord) foundrecord.fields["rank"] = assignment -/obj/effect/datacore/proc/get_manifest(monochrome, OOC) +/datum/datacore/proc/get_manifest(monochrome, OOC) var/list/heads = list() var/list/sec = list() var/list/eng = list() @@ -135,49 +134,49 @@ misc[name] = rank if(heads.len > 0) dat += "Heads" - for(name in heads) + for(var/name in heads) dat += "[name][heads[name]]" even = !even if(sec.len > 0) dat += "Security" - for(name in sec) + for(var/name in sec) dat += "[name][sec[name]]" even = !even if(eng.len > 0) dat += "Engineering" - for(name in eng) + for(var/name in eng) dat += "[name][eng[name]]" even = !even if(med.len > 0) dat += "Medical" - for(name in med) + for(var/name in med) dat += "[name][med[name]]" even = !even if(sci.len > 0) dat += "Science" - for(name in sci) + for(var/name in sci) dat += "[name][sci[name]]" even = !even if(sup.len > 0) dat += "Supply" - for(name in sup) + for(var/name in sup) dat += "[name][sup[name]]" even = !even if(civ.len > 0) dat += "Civilian" - for(name in civ) + for(var/name in civ) dat += "[name][civ[name]]" even = !even // in case somebody is insane and added them to the manifest, why not if(bot.len > 0) dat += "Silicon" - for(name in bot) + for(var/name in bot) dat += "[name][bot[name]]" even = !even // misc guys if(misc.len > 0) dat += "Miscellaneous" - for(name in misc) + for(var/name in misc) dat += "[name][misc[name]]" even = !even @@ -188,7 +187,7 @@ var/record_id_num = 1001 -/obj/effect/datacore/proc/manifest_inject(var/mob/living/carbon/human/H) +/datum/datacore/proc/manifest_inject(var/mob/living/carbon/human/H) if(H.mind && (H.mind.assigned_role != "MODE")) var/assignment if(H.mind.assigned_role) @@ -200,6 +199,10 @@ var/record_id_num = 1001 var/id = num2hex(record_id_num++,6) var/image = get_id_photo(H) + var/obj/item/weapon/photo/photo_front = new() + var/obj/item/weapon/photo/photo_side = new() + photo_front.photocreate(null, icon(image, dir = SOUTH)) + photo_side.photocreate(null, icon(image, dir = WEST)) //These records should ~really~ be merged or something //General Record @@ -214,8 +217,8 @@ var/record_id_num = 1001 G.fields["p_stat"] = "Active" G.fields["m_stat"] = "Stable" G.fields["sex"] = H.gender - G.fields["photo_front"] = icon(image, dir = SOUTH) - G.fields["photo_side"] = icon(image, dir = WEST) + G.fields["photo_front"] = photo_front + G.fields["photo_side"] = photo_side general += G //Medical Record @@ -260,7 +263,7 @@ var/record_id_num = 1001 locked += L return -/obj/effect/datacore/proc/get_id_photo(var/mob/living/carbon/human/H) +/datum/datacore/proc/get_id_photo(var/mob/living/carbon/human/H) var/icon/photo = null var/g = (H.gender == FEMALE) ? "f" : "m" if(!config.mutant_races || H.dna.species.use_skintones) diff --git a/code/game/machinery/computer/medical.dm b/code/game/machinery/computer/medical.dm index 37b0d766a7f..45e0278b5df 100644 --- a/code/game/machinery/computer/medical.dm +++ b/code/game/machinery/computer/medical.dm @@ -32,11 +32,11 @@ if(..()) return var/dat - if (src.temp) + if(src.temp) dat = text("[src.temp]

    Clear Screen") else dat = text("Confirm Identity: []


    ", src, (src.scan ? text("[]", src.scan.name) : "----------")) - if (src.authenticated) + if(src.authenticated) switch(src.screen) if(1.0) dat += {" @@ -73,7 +73,7 @@ var/blood_type = "" var/b_dna = "" for(var/datum/data/record/E in data_core.medical) - if ((E.fields["name"] == R.fields["name"] && E.fields["id"] == R.fields["id"])) + if((E.fields["name"] == R.fields["name"] && E.fields["id"] == R.fields["id"])) blood_type = E.fields["blood_type"] b_dna = E.fields["b_dna"] var/background @@ -105,13 +105,20 @@ dat += "" if(active1 in data_core.general) - user << browse_rsc(active1.fields["photo_front"], "photo_front") - user << browse_rsc(active1.fields["photo_side"], "photo_side") - dat += "" + if(istype(active1.fields["photo_front"], /obj/item/weapon/photo)) + var/obj/item/weapon/photo/P1 = active1.fields["photo_front"] + user << browse_rsc(P1.img, "photo_front") + if(istype(active1.fields["photo_side"], /obj/item/weapon/photo)) + var/obj/item/weapon/photo/P2 = active1.fields["photo_side"] + user << browse_rsc(P2.img, "photo_side") + dat += "" + dat += "" + dat += "" dat += "" dat += "" dat += "" - dat += "" + if(config.mutant_races) + dat += "" dat += "" dat += "" dat += "" @@ -196,26 +203,26 @@ if(!(active2 in data_core.medical)) src.active2 = null - if ((usr.contents.Find(src) || (in_range(src, usr) && istype(src.loc, /turf))) || (istype(usr, /mob/living/silicon))) + if((usr.contents.Find(src) || (in_range(src, usr) && istype(src.loc, /turf))) || (istype(usr, /mob/living/silicon))) usr.set_machine(src) - if (href_list["temp"]) + if(href_list["temp"]) src.temp = null - if (href_list["scan"]) - if (src.scan) + if(href_list["scan"]) + if(src.scan) src.scan.loc = src.loc src.scan = null else var/obj/item/I = usr.get_active_hand() - if (istype(I, /obj/item/weapon/card/id)) + if(istype(I, /obj/item/weapon/card/id)) usr.drop_item() I.loc = src src.scan = I - else if (href_list["logout"]) + else if(href_list["logout"]) src.authenticated = null src.screen = null src.active1 = null src.active2 = null - else if (href_list["choice"]) + else if(href_list["choice"]) // SORTING! if(href_list["choice"] == "Sorting") // Reverse the order if clicked twice @@ -228,21 +235,21 @@ // New sorting order! sortBy = href_list["sort"] order = initial(order) - else if (href_list["login"]) - if (istype(usr, /mob/living/silicon)) + else if(href_list["login"]) + if(istype(usr, /mob/living/silicon)) src.active1 = null src.active2 = null src.authenticated = 1 src.rank = "AI" src.screen = 1 - else if (istype(src.scan, /obj/item/weapon/card/id)) + else if(istype(src.scan, /obj/item/weapon/card/id)) src.active1 = null src.active2 = null - if (src.check_access(src.scan)) + if(src.check_access(src.scan)) src.authenticated = src.scan.registered_name src.rank = src.scan.assignment src.screen = 1 - if (src.authenticated) + if(src.authenticated) if(href_list["screen"]) src.screen = text2num(href_list["screen"]) @@ -268,94 +275,94 @@

    Severity: [Dis.severity]"} - else if (href_list["del_all"]) + else if(href_list["del_all"]) src.temp = text("Are you sure you wish to delete all records?
    \n\tYes
    \n\tNo
    ", src, src) - else if (href_list["del_all2"]) + else if(href_list["del_all2"]) investigate_log("[usr.name] ([usr.key]) has deleted all medical records.", "records") data_core.medical.Cut() src.temp = "All records deleted." - else if (href_list["field"]) + else if(href_list["field"]) var/a1 = src.active1 var/a2 = src.active2 switch(href_list["field"]) if("fingerprint") if(active1) var/t1 = stripped_input("Please input fingerprint hash:", "Med. records", src.active1.fields["fingerprint"], null) - if (!canUseMedicalRecordsConsole(usr, t1, a1)) + if(!canUseMedicalRecordsConsole(usr, t1, a1)) return src.active1.fields["fingerprint"] = t1 if("sex") if(active1) - if (src.active1.fields["sex"] == "Male") + if(src.active1.fields["sex"] == "Male") src.active1.fields["sex"] = "Female" else src.active1.fields["sex"] = "Male" if("age") if(active1) var/t1 = input("Please input age:", "Med. records", src.active1.fields["age"], null) as num - if (!canUseMedicalRecordsConsole(usr, t1, a1)) + if(!canUseMedicalRecordsConsole(usr, t1, a1)) return src.active1.fields["age"] = t1 if("species") if(active1) - var/t1 = input("Select a species", "Species Selection") as null|anything in roundstart_species - if (!canUseMedicalRecordsConsole(usr, t1, a1)) + var/t1 = stripped_input("Please input species name", "Med. records", src.active1.fields["species"], null) + if(!canUseMedicalRecordsConsole(usr, t1, a1)) return active1.fields["species"] = t1 if("mi_dis") if(active2) var/t1 = stripped_input("Please input minor disabilities list:", "Med. records", src.active2.fields["mi_dis"], null) - if (!canUseMedicalRecordsConsole(usr, t1, null, a2)) + if(!canUseMedicalRecordsConsole(usr, t1, null, a2)) return src.active2.fields["mi_dis"] = t1 if("mi_dis_d") if(active2) var/t1 = stripped_multiline_input("Please summarize minor dis.:", "Med. records", src.active2.fields["mi_dis_d"], null) - if (!canUseMedicalRecordsConsole(usr, t1, null, a2)) + if(!canUseMedicalRecordsConsole(usr, t1, null, a2)) return src.active2.fields["mi_dis_d"] = t1 if("ma_dis") if(active2) var/t1 = stripped_input("Please input major diabilities list:", "Med. records", src.active2.fields["ma_dis"], null) - if (!canUseMedicalRecordsConsole(usr, t1, null, a2)) + if(!canUseMedicalRecordsConsole(usr, t1, null, a2)) return src.active2.fields["ma_dis"] = t1 if("ma_dis_d") if(active2) var/t1 = stripped_multiline_input("Please summarize major dis.:", "Med. records", src.active2.fields["ma_dis_d"], null) - if (!canUseMedicalRecordsConsole(usr, t1, null, a2)) + if(!canUseMedicalRecordsConsole(usr, t1, null, a2)) return src.active2.fields["ma_dis_d"] = t1 if("alg") if(active2) var/t1 = stripped_input("Please state allergies:", "Med. records", src.active2.fields["alg"], null) - if (!canUseMedicalRecordsConsole(usr, t1, null, a2)) + if(!canUseMedicalRecordsConsole(usr, t1, null, a2)) return src.active2.fields["alg"] = t1 if("alg_d") if(active2) var/t1 = stripped_multiline_input("Please summarize allergies:", "Med. records", src.active2.fields["alg_d"], null) - if (!canUseMedicalRecordsConsole(usr, t1, null, a2)) + if(!canUseMedicalRecordsConsole(usr, t1, null, a2)) return src.active2.fields["alg_d"] = t1 if("cdi") if(active2) var/t1 = stripped_input("Please state diseases:", "Med. records", src.active2.fields["cdi"], null) - if (!canUseMedicalRecordsConsole(usr, t1, null, a2)) + if(!canUseMedicalRecordsConsole(usr, t1, null, a2)) return src.active2.fields["cdi"] = t1 if("cdi_d") if(active2) var/t1 = stripped_multiline_input("Please summarize diseases:", "Med. records", src.active2.fields["cdi_d"], null) - if (!canUseMedicalRecordsConsole(usr, t1, null, a2)) + if(!canUseMedicalRecordsConsole(usr, t1, null, a2)) return src.active2.fields["cdi_d"] = t1 if("notes") if(active2) var/t1 = stripped_multiline_input("Please summarize notes:", "Med. records", src.active2.fields["notes"], null) - if (!canUseMedicalRecordsConsole(usr, t1, null, a2)) + if(!canUseMedicalRecordsConsole(usr, t1, null, a2)) return src.active2.fields["notes"] = t1 if("p_stat") @@ -370,12 +377,24 @@ if("b_dna") if(active2) var/t1 = stripped_input("Please input DNA hash:", "Med. records", src.active2.fields["b_dna"], null) - if (!canUseMedicalRecordsConsole(usr, t1, null, a2)) + if(!canUseMedicalRecordsConsole(usr, t1, null, a2)) return src.active2.fields["b_dna"] = t1 + if("show_photo_front") + if(active1) + if(active1.fields["photo_front"]) + if(istype(active1.fields["photo_front"], /obj/item/weapon/photo)) + var/obj/item/weapon/photo/P = active1.fields["photo_front"] + P.show(usr) + if("show_photo_side") + if(active1) + if(active1.fields["photo_side"]) + if(istype(active1.fields["photo_side"], /obj/item/weapon/photo)) + var/obj/item/weapon/photo/P = active1.fields["photo_side"] + P.show(usr) else - else if (href_list["p_stat"]) + else if(href_list["p_stat"]) if(active1) switch(href_list["p_stat"]) if("deceased") @@ -387,7 +406,7 @@ if("unfit") src.active1.fields["p_stat"] = "Physically Unfit" - else if (href_list["m_stat"]) + else if(href_list["m_stat"]) if(active1) switch(href_list["m_stat"]) if("insane") @@ -400,7 +419,7 @@ src.active1.fields["m_stat"] = "Stable" - else if (href_list["blood_type"]) + else if(href_list["blood_type"]) if(active2) switch(href_list["blood_type"]) if("an") @@ -421,17 +440,17 @@ src.active2.fields["blood_type"] = "O+" - else if (href_list["del_r"]) + else if(href_list["del_r"]) if(active2) src.temp = text("Are you sure you wish to delete the record (Medical Portion Only)?
    \n\tYes
    \n\tNo
    ", src, src) - else if (href_list["del_r2"]) + else if(href_list["del_r2"]) investigate_log("[usr.name] ([usr.key]) has deleted the medical records for [active1.fields["name"]].", "records") if(active2) data_core.medical -= active2 active2 = null - else if (href_list["d_rec"]) + else if(href_list["d_rec"]) active1 = find_record("id", href_list["d_rec"], data_core.general) if(active1) active2 = find_record("id", href_list["d_rec"], data_core.medical) @@ -439,8 +458,8 @@ active1 = null screen = 4 - else if (href_list["new"]) - if ((istype(src.active1, /datum/data/record) && !( istype(src.active2, /datum/data/record) ))) + else if(href_list["new"]) + if((istype(src.active1, /datum/data/record) && !( istype(src.active2, /datum/data/record) ))) var/datum/data/record/R = new /datum/data/record( ) R.fields["name"] = src.active1.fields["name"] R.fields["id"] = src.active1.fields["id"] @@ -460,46 +479,46 @@ src.active2 = R src.screen = 4 - else if (href_list["add_c"]) + else if(href_list["add_c"]) if(!(active2 in data_core.medical)) return var/a2 = src.active2 var/t1 = stripped_multiline_input("Add Comment:", "Med. records", null, null) - if (!canUseMedicalRecordsConsole(usr, t1, null, a2)) + if(!canUseMedicalRecordsConsole(usr, t1, null, a2)) return var/counter = 1 while(src.active2.fields[text("com_[]", counter)]) counter++ src.active2.fields[text("com_[]", counter)] = text("Made by [] ([]) on [] [], []
    []", src.authenticated, src.rank, worldtime2text(), time2text(world.realtime, "MMM DD"), year_integer+540, t1,) - else if (href_list["del_c"]) - if ((istype(src.active2, /datum/data/record) && src.active2.fields[text("com_[]", href_list["del_c"])])) + else if(href_list["del_c"]) + if((istype(src.active2, /datum/data/record) && src.active2.fields[text("com_[]", href_list["del_c"])])) src.active2.fields[text("com_[]", href_list["del_c"])] = "Deleted" - else if (href_list["search"]) + else if(href_list["search"]) var/t1 = stripped_input(usr, "Search String: (Name, DNA, or ID)", "Med. records") - if (!canUseMedicalRecordsConsole(usr, t1)) + if(!canUseMedicalRecordsConsole(usr, t1)) return src.active1 = null src.active2 = null t1 = lowertext(t1) for(var/datum/data/record/R in data_core.medical) - if ((lowertext(R.fields["name"]) == t1 || t1 == lowertext(R.fields["id"]) || t1 == lowertext(R.fields["b_dna"]))) + if((lowertext(R.fields["name"]) == t1 || t1 == lowertext(R.fields["id"]) || t1 == lowertext(R.fields["b_dna"]))) src.active2 = R else //Foreach continue //goto(3229) - if (!( src.active2 )) + if(!( src.active2 )) src.temp = text("Could not locate record [].", t1) else for(var/datum/data/record/E in data_core.general) - if ((E.fields["name"] == src.active2.fields["name"] || E.fields["id"] == src.active2.fields["id"])) + if((E.fields["name"] == src.active2.fields["name"] || E.fields["id"] == src.active2.fields["id"])) src.active1 = E else //Foreach continue //goto(3334) src.screen = 4 - else if (href_list["print_p"]) - if (!( src.printing )) + else if(href_list["print_p"]) + if(!( src.printing )) src.printing = 1 data_core.medicalPrintCount++ playsound(loc, 'sound/items/poster_being_created.ogg', 100, 1) @@ -507,7 +526,10 @@ var/obj/item/weapon/paper/P = new /obj/item/weapon/paper( src.loc ) P.info = "
    Medical Record - (MR-[data_core.medicalPrintCount])

    " if(active1 in data_core.general) - P.info += text("Name: [] ID: []
    \nSex: []
    \nAge: []
    \nFingerprint: []
    \nPhysical Status: []
    \nMental Status: []
    ", src.active1.fields["name"], src.active1.fields["id"], src.active1.fields["sex"], src.active1.fields["age"], src.active1.fields["fingerprint"], src.active1.fields["p_stat"], src.active1.fields["m_stat"]) + P.info += text("Name: [] ID: []
    \nSex: []
    \nAge: []
    ", src.active1.fields["name"], src.active1.fields["id"], src.active1.fields["sex"], src.active1.fields["age"]) + if(config.mutant_races) + P.info += "\nSpecies: [active1.fields["species"]]
    " + P.info += text("\nFingerprint: []
    \nPhysical Status: []
    \nMental Status: []
    ", src.active1.fields["fingerprint"], src.active1.fields["p_stat"], src.active1.fields["m_stat"]) else P.info += "General Record Lost!
    " if(active2 in data_core.medical) @@ -556,12 +578,12 @@ ..(severity) /obj/machinery/computer/med_data/proc/canUseMedicalRecordsConsole(mob/user, message = 1, record1, record2) - if (user) - if (message) - if (authenticated) - if (user.canUseTopic(src)) - if (!record1 || record1 == active1) - if (!record2 || record2 == active2) + if(user) + if(message) + if(authenticated) + if(user.canUseTopic(src)) + if(!record1 || record1 == active1) + if(!record2 || record2 == active2) return 1 return 0 diff --git a/code/game/machinery/computer/security.dm b/code/game/machinery/computer/security.dm index e05d4f11466..480c87c5965 100644 --- a/code/game/machinery/computer/security.dm +++ b/code/game/machinery/computer/security.dm @@ -36,16 +36,16 @@ /obj/machinery/computer/secure_data/attack_hand(mob/user as mob) if(..()) return - if (src.z > 6) + if(src.z > 6) user << "Unable to establish a connection: \black You're too far away from the station!" return var/dat - if (temp) + if(temp) dat = text("[]

    Clear Screen", temp, src) else dat = text("Confirm Identity: []
    ", src, (scan ? text("[]", scan.name) : "----------")) - if (authenticated) + if(authenticated) switch(screen) if(1.0) @@ -122,7 +122,7 @@ for(var/datum/data/record/R in sortRecord(data_core.general, sortBy, order)) var/crimstat = "" for(var/datum/data/record/E in data_core.security) - if ((E.fields["name"] == R.fields["name"]) && (E.fields["id"] == R.fields["id"])) + if((E.fields["name"] == R.fields["name"]) && (E.fields["id"] == R.fields["id"])) crimstat = E.fields["criminal"] var/background switch(crimstat) @@ -159,27 +159,33 @@ dat += "
    Delete All Records

    Back" if(3.0) dat += "Security Record
    " - if ((istype(active1, /datum/data/record) && data_core.general.Find(active1))) - user << browse_rsc(active1.fields["photo_front"], "photo_front") - user << browse_rsc(active1.fields["photo_side"], "photo_side") + if(istype(active1, /datum/data/record) && data_core.general.Find(active1)) + if(istype(active1.fields["photo_front"], /obj/item/weapon/photo)) + var/obj/item/weapon/photo/P1 = active1.fields["photo_front"] + user << browse_rsc(P1.img, "photo_front") + if(istype(active1.fields["photo_side"], /obj/item/weapon/photo)) + var/obj/item/weapon/photo/P2 = active1.fields["photo_side"] + user << browse_rsc(P2.img, "photo_side") dat += {"
    Medical Record
    Name:[active1.fields["name"]]
    Name:[active1.fields["name"]]
    ID:[active1.fields["id"]]
    Sex: [active1.fields["sex"]] 
    Age: [active1.fields["age"]] 
    Species: [active1.fields["species"]] 
    Species: [active1.fields["species"]] 
    Fingerprint: [active1.fields["fingerprint"]] 
    Physical Status: [active1.fields["p_stat"]] 
    Mental Status: [active1.fields["m_stat"]] 
    -
    "} - if (config.mutant_races) + if(config.mutant_races) dat += "" dat += {"
    Name: [active1.fields["name"]] 
    ID: [active1.fields["id"]] 
    Sex: [active1.fields["sex"]] 
    Age: [active1.fields["age"]] 
    Species: [active1.fields["species"]] 
    Rank: [active1.fields["rank"]] 
    Fingerprint: [active1.fields["fingerprint"]] 
    Physical Status: [active1.fields["p_stat"]] 
    Mental Status: [active1.fields["m_stat"]] 
    -

    Update front photo

    Update side photo
    +
    +

    + Update front photo

    + Update side photo
    "} else dat += "
    General Record Lost!
    " - if ((istype(active2, /datum/data/record) && data_core.security.Find(active2))) + if((istype(active2, /datum/data/record) && data_core.security.Find(active2))) dat += "Security Data" dat += "
    Criminal Status: [active2.fields["criminal"]]" dat += "

    Minor Crimes: Add New" @@ -254,11 +260,11 @@ What a mess.*/ . = ..() if(.) return . - if (!( data_core.general.Find(active1) )) + if(!( data_core.general.Find(active1) )) active1 = null - if (!( data_core.security.Find(active2) )) + if(!( data_core.security.Find(active2) )) active2 = null - if ((usr.contents.Find(src) || (in_range(src, usr) && istype(loc, /turf))) || (istype(usr, /mob/living/silicon))) + if((usr.contents.Find(src) || (in_range(src, usr) && istype(loc, /turf))) || (istype(usr, /mob/living/silicon))) usr.set_machine(src) switch(href_list["choice"]) // SORTING! @@ -277,13 +283,13 @@ What a mess.*/ if("Clear Screen") temp = null - if ("Return") + if("Return") screen = 1 active1 = null active2 = null if("Confirm Identity") - if (scan) + if(scan) if(istype(usr,/mob/living/carbon/human) && !usr.get_active_hand()) usr.put_in_hands(scan) else @@ -291,7 +297,7 @@ What a mess.*/ scan = null else var/obj/item/I = usr.get_active_hand() - if (istype(I, /obj/item/weapon/card/id)) + if(istype(I, /obj/item/weapon/card/id)) usr.drop_item() I.loc = src scan = I @@ -303,14 +309,14 @@ What a mess.*/ active2 = null if("Log In") - if (istype(usr, /mob/living/silicon)) + if(istype(usr, /mob/living/silicon)) var/mob/living/silicon/borg = usr active1 = null active2 = null authenticated = borg.name rank = "AI" screen = 1 - else if (istype(scan, /obj/item/weapon/card/id)) + else if(istype(scan, /obj/item/weapon/card/id)) active1 = null active2 = null if(check_access(scan)) @@ -323,53 +329,53 @@ What a mess.*/ active1 = null active2 = null - if ("Browse Record") + if("Browse Record") var/datum/data/record/R = locate(href_list["d_rec"]) var/S = locate(href_list["d_rec"]) - if (!( data_core.general.Find(R) )) + if(!( data_core.general.Find(R) )) temp = "Record Not Found!" else for(var/datum/data/record/E in data_core.security) - if ((E.fields["name"] == R.fields["name"] || E.fields["id"] == R.fields["id"])) + if((E.fields["name"] == R.fields["name"] || E.fields["id"] == R.fields["id"])) S = E active1 = R active2 = S screen = 3 -/* if ("Search Fingerprints") +/* if("Search Fingerprints") var/t1 = input("Search String: (Fingerprint)", "Secure. records", null, null) as text - if ((!( t1 ) || usr.stat || !( authenticated ) || usr.restrained() || (!in_range(src, usr)) && (!istype(usr, /mob/living/silicon)))) + if((!( t1 ) || usr.stat || !( authenticated ) || usr.restrained() || (!in_range(src, usr)) && (!istype(usr, /mob/living/silicon)))) return active1 = null active2 = null t1 = lowertext(t1) for(var/datum/data/record/R in data_core.general) - if (lowertext(R.fields["fingerprint"]) == t1) + if(lowertext(R.fields["fingerprint"]) == t1) active1 = R - if (!( active1 )) + if(!( active1 )) temp = text("Could not locate record [].", t1) else for(var/datum/data/record/E in data_core.security) - if ((E.fields["name"] == active1.fields["name"] || E.fields["id"] == active1.fields["id"])) + if((E.fields["name"] == active1.fields["name"] || E.fields["id"] == active1.fields["id"])) active2 = E screen = 3 */ - if ("Print Record") - if (!( printing )) + if("Print Record") + if(!( printing )) printing = 1 data_core.securityPrintCount++ playsound(loc, 'sound/items/poster_being_created.ogg', 100, 1) sleep(30) var/obj/item/weapon/paper/P = new /obj/item/weapon/paper( loc ) P.info = "
    Security Record - (SR-[data_core.securityPrintCount])

    " - if ((istype(active1, /datum/data/record) && data_core.general.Find(active1))) + if((istype(active1, /datum/data/record) && data_core.general.Find(active1))) P.info += text("Name: [] ID: []
    \nSex: []
    \nAge: []
    ", active1.fields["name"], active1.fields["id"], active1.fields["sex"], active1.fields["age"]) - if (config.mutant_races) + if(config.mutant_races) P.info += "\nSpecies: [active1.fields["species"]]
    " P.info += text("\nFingerprint: []
    \nPhysical Status: []
    \nMental Status: []
    ", active1.fields["fingerprint"], active1.fields["p_stat"], active1.fields["m_stat"]) else P.info += "General Record Lost!
    " - if ((istype(active2, /datum/data/record) && data_core.security.Find(active2))) + if((istype(active2, /datum/data/record) && data_core.security.Find(active2))) P.info += text("
    \n
    Security Data

    \nCriminal Status: []", active2.fields["criminal"]) P.info += "
    \n
    \nMinor Crimes:
    \n" @@ -417,49 +423,49 @@ What a mess.*/ P.info += "" printing = null //RECORD DELETE - if ("Delete All Records") + if("Delete All Records") temp = "" temp += "Are you sure you wish to delete all Security records?
    " temp += "Yes
    " temp += "No" - if ("Purge All Records") + if("Purge All Records") investigate_log("[usr.name] ([usr.key]) has purged all the security records.", "records") for(var/datum/data/record/R in data_core.security) del(R) data_core.security.Cut() temp = "All Security records deleted." - if ("Add Entry") - if (!( istype(active2, /datum/data/record) )) + if("Add Entry") + if(!( istype(active2, /datum/data/record) )) return var/a2 = active2 var/t1 = stripped_multiline_input("Add Comment:", "Secure. records", null, null) - if (!canUseSecurityRecordsConsole(t1, usr, null, a2)) + if(!canUseSecurityRecordsConsole(t1, usr, null, a2)) return var/counter = 1 while(active2.fields[text("com_[]", counter)]) counter++ active2.fields[text("com_[]", counter)] = text("Made by [] ([]) on [] [], []
    []", src.authenticated, src.rank, worldtime2text(), time2text(world.realtime, "MMM DD"), year_integer+540, t1,) - if ("Delete Record (ALL)") - if (active1) + if("Delete Record (ALL)") + if(active1) temp = "
    Are you sure you wish to delete the record (ALL)?
    " temp += "Yes
    " temp += "No" - if ("Delete Record (Security)") - if (active2) + if("Delete Record (Security)") + if(active2) temp = "
    Are you sure you wish to delete the record (Security Portion Only)?
    " temp += "Yes
    " temp += "No" - if ("Delete Entry") - if ((istype(active2, /datum/data/record) && active2.fields[text("com_[]", href_list["del_c"])])) + if("Delete Entry") + if((istype(active2, /datum/data/record) && active2.fields[text("com_[]", href_list["del_c"])])) active2.fields[text("com_[]", href_list["del_c"])] = "Deleted" //RECORD CREATE - if ("New Record (Security)") - if ((istype(active1, /datum/data/record) && !( istype(active2, /datum/data/record) ))) + if("New Record (Security)") + if((istype(active1, /datum/data/record) && !( istype(active2, /datum/data/record) ))) var/datum/data/record/R = new /datum/data/record() R.fields["name"] = active1.fields["name"] R.fields["id"] = active1.fields["id"] @@ -472,7 +478,7 @@ What a mess.*/ active2 = R screen = 3 - if ("New Record (General)") + if("New Record (General)") //General Record var/datum/data/record/G = new /datum/data/record() G.fields["name"] = "New Record" @@ -522,15 +528,15 @@ What a mess.*/ //FIELD FUNCTIONS - if ("Edit Field") + if("Edit Field") var/a1 = active1 var/a2 = active2 switch(href_list["field"]) if("name") - if (istype(active1, /datum/data/record) || istype(active2, /datum/data/record)) + if(istype(active1, /datum/data/record) || istype(active2, /datum/data/record)) var/t1 = stripped_input(usr, "Please input name:", "Secure. records", active1.fields["name"], null) - if (!canUseSecurityRecordsConsole(usr, t1, null, a1)) + if(!canUseSecurityRecordsConsole(usr, t1, null, a1)) return if(istype(active1, /datum/data/record)) active1.fields["name"] = t1 @@ -539,80 +545,92 @@ What a mess.*/ if("id") if(istype(active2,/datum/data/record) || istype(active1,/datum/data/record)) var/t1 = stripped_input(usr, "Please input id:", "Secure. records", active1.fields["id"], null) - if (!canUseSecurityRecordsConsole(usr, t1, null, a1)) + if(!canUseSecurityRecordsConsole(usr, t1, null, a1)) return if(istype(active1,/datum/data/record)) active1.fields["id"] = t1 if(istype(active2,/datum/data/record)) active2.fields["id"] = t1 if("fingerprint") - if (istype(active1, /datum/data/record)) + if(istype(active1, /datum/data/record)) var/t1 = stripped_input(usr, "Please input fingerprint hash:", "Secure. records", active1.fields["fingerprint"], null) - if (!canUseSecurityRecordsConsole(usr, t1, null, a1)) + if(!canUseSecurityRecordsConsole(usr, t1, null, a1)) return active1.fields["fingerprint"] = t1 if("sex") - if (istype(active1, /datum/data/record)) - if (active1.fields["sex"] == "Male") + if(istype(active1, /datum/data/record)) + if(active1.fields["sex"] == "Male") active1.fields["sex"] = "Female" else active1.fields["sex"] = "Male" if("age") - if (istype(active1, /datum/data/record)) + if(istype(active1, /datum/data/record)) var/t1 = input("Please input age:", "Secure. records", active1.fields["age"], null) as num - if (!canUseSecurityRecordsConsole(usr, null, null, a1) || !t1) + if(!canUseSecurityRecordsConsole(usr, null, null, a1) || !t1) return active1.fields["age"] = t1 if("species") - if (istype(active1, /datum/data/record)) + if(istype(active1, /datum/data/record)) var/t1 = input("Select a species", "Species Selection") as null|anything in roundstart_species - if (!canUseSecurityRecordsConsole(usr, t1, null, a1)) + if(!canUseSecurityRecordsConsole(usr, t1, null, a1)) return active1.fields["species"] = t1 - if("photo front") + if("show_photo_front") + if(active1.fields["photo_front"]) + if(istype(active1.fields["photo_front"], /obj/item/weapon/photo)) + var/obj/item/weapon/photo/P = active1.fields["photo_front"] + P.show(usr) + if("upd_photo_front") var/icon/photo = get_photo(usr) if(photo) + qdel(active1.fields["photo_front"]) active1.fields["photo_front"] = photo - if("photo side") + if("show_photo_side") + if(active1.fields["photo_side"]) + if(istype(active1.fields["photo_side"], /obj/item/weapon/photo)) + var/obj/item/weapon/photo/P = active1.fields["photo_side"] + P.show(usr) + if("upd_photo_side") var/icon/photo = get_photo(usr) if(photo) + qdel(active1.fields["photo_side"]) active1.fields["photo_side"] = photo if("mi_crim_add") - if (istype(active1, /datum/data/record)) + if(istype(active1, /datum/data/record)) var/t1 = stripped_input(usr, "Please input minor crime names:", "Secure. records", "", null) var/t2 = stripped_multiline_input(usr, "Please input minor crime details:", "Secure. records", "", null) - if (!canUseSecurityRecordsConsole(usr, t1, t2, null, a2)) + if(!canUseSecurityRecordsConsole(usr, t1, t2, null, a2)) return var/crime = data_core.createCrimeEntry(t1, t2, authenticated, worldtime2text()) data_core.addMinorCrime(active1.fields["id"], crime) if("mi_crim_delete") - if (istype(active1, /datum/data/record)) - if (href_list["cdataid"]) - if (!canUseSecurityRecordsConsole(usr, null, null, a2)) + if(istype(active1, /datum/data/record)) + if(href_list["cdataid"]) + if(!canUseSecurityRecordsConsole(usr, null, null, a2)) return data_core.removeMinorCrime(active1.fields["id"], href_list["cdataid"]) if("ma_crim_add") - if (istype(active1, /datum/data/record)) + if(istype(active1, /datum/data/record)) var/t1 = stripped_input(usr, "Please input major crime names:", "Secure. records", "", null) var/t2 = stripped_multiline_input(usr, "Please input major crime details:", "Secure. records", "", null) - if (!canUseSecurityRecordsConsole(usr, t1, t2, a2)) + if(!canUseSecurityRecordsConsole(usr, t1, t2, a2)) return var/crime = data_core.createCrimeEntry(t1, t2, authenticated, worldtime2text()) data_core.addMajorCrime(active1.fields["id"], crime) if("ma_crim_delete") - if (istype(active1, /datum/data/record)) - if (href_list["cdataid"]) - if (!canUseSecurityRecordsConsole(usr, null, null, a2)) + if(istype(active1, /datum/data/record)) + if(href_list["cdataid"]) + if(!canUseSecurityRecordsConsole(usr, null, null, a2)) return data_core.removeMajorCrime(active1.fields["id"], href_list["cdataid"]) if("notes") - if (istype(active2, /datum/data/record)) + if(istype(active2, /datum/data/record)) var/t1 = stripped_input(usr, "Please summarize notes:", "Secure. records", active2.fields["notes"], null) - if (!canUseSecurityRecordsConsole(usr, t1, null, a2)) + if(!canUseSecurityRecordsConsole(usr, t1, null, a2)) return active2.fields["notes"] = t1 if("criminal") - if (istype(active2, /datum/data/record)) + if(istype(active2, /datum/data/record)) temp = "
    Criminal Status:
    " temp += "
      " temp += "
    • None
    • " @@ -624,7 +642,7 @@ What a mess.*/ if("rank") var/list/L = list( "Head of Personnel", "Captain", "AI" ) //This was so silly before the change. Now it actually works without beating your head against the keyboard. /N - if ((istype(active1, /datum/data/record) && L.Find(rank))) + if((istype(active1, /datum/data/record) && L.Find(rank))) temp = "
      Rank:
      " temp += "
        " for(var/rank in get_all_jobs()) @@ -636,14 +654,14 @@ What a mess.*/ else//To properly clear as per clear screen. temp=null switch(href_list["choice"]) - if ("Change Rank") - if (active1) + if("Change Rank") + if(active1) active1.fields["rank"] = href_list["rank"] if(href_list["rank"] in get_all_jobs()) active1.fields["real_rank"] = href_list["real_rank"] - if ("Change Criminal Status") - if (active2) + if("Change Criminal Status") + if(active2) var/old_field = active2.fields["criminal"] switch(href_list["criminal2"]) if("none") @@ -659,24 +677,24 @@ What a mess.*/ investigate_log("[active1.fields["name"]] has been set from [old_field] to [active2.fields["criminal"]] by [usr.name] ([usr.key]).", "records") for(var/mob/living/carbon/human/H in mob_list) //thanks for forcing me to do this, whoever wrote this shitty records system H.sec_hud_set_security_status() - if ("Delete Record (Security) Execute") + if("Delete Record (Security) Execute") investigate_log("[usr.name] ([usr.key]) has deleted the security records for [active1.fields["name"]].", "records") - if (active2) + if(active2) data_core.security -= active2 del(active2) - if ("Delete Record (ALL) Execute") - if (active1) + if("Delete Record (ALL) Execute") + if(active1) investigate_log("[usr.name] ([usr.key]) has deleted all records for [active1.fields["name"]].", "records") for(var/datum/data/record/R in data_core.medical) - if ((R.fields["name"] == active1.fields["name"] || R.fields["id"] == active1.fields["id"])) + if((R.fields["name"] == active1.fields["name"] || R.fields["id"] == active1.fields["id"])) data_core.medical -= R del(R) break data_core.general -= active1 del(active1) - if (active2) + if(active2) data_core.security -= active2 del(active2) else @@ -687,14 +705,16 @@ What a mess.*/ return /obj/machinery/computer/secure_data/proc/get_photo(var/mob/user) - if (istype(user, /mob/living/silicon)) + var/obj/item/weapon/photo/P = null + if(istype(user, /mob/living/silicon)) var/mob/living/silicon/tempAI = user var/datum/picture/selection = tempAI.GetPhoto() - if (selection) - return selection.fields["img"] - else if (istype(user.get_active_hand(), /obj/item/weapon/photo)) - var/obj/item/weapon/photo/photo = user.get_active_hand() - return photo.img + if(selection) + P = new() + P.photocreate(selection.fields["icon"], selection.fields["img"], selection.fields["desc"]) + else if(istype(user.get_active_hand(), /obj/item/weapon/photo)) + P = user.get_active_hand() + return P /obj/machinery/computer/secure_data/emp_act(severity) if(stat & (BROKEN|NOPOWER)) @@ -731,13 +751,13 @@ What a mess.*/ ..(severity) /obj/machinery/computer/secure_data/proc/canUseSecurityRecordsConsole(mob/user, message1 = 1, message2 = 1, record1, record2) - if (user) - if (trim(message1)) - if (trim(message2)) - if (authenticated) - if (user.canUseTopic(src)) - if (!record1 || record1 == active1) - if (!record2 || record2 == active2) + if(user) + if(trim(message1)) + if(trim(message2)) + if(authenticated) + if(user.canUseTopic(src)) + if(!record1 || record1 == active1) + if(!record2 || record2 == active2) return 1 return 0 diff --git a/code/modules/mob/living/carbon/human/human.dm b/code/modules/mob/living/carbon/human/human.dm index a6cadd85469..70a1b51b52b 100644 --- a/code/modules/mob/living/carbon/human/human.dm +++ b/code/modules/mob/living/carbon/human/human.dm @@ -247,7 +247,6 @@ siemens_coeff = G.siemens_coefficient return ..(shock_damage,source,siemens_coeff) - /mob/living/carbon/human/Topic(href, href_list) if(usr.canUseTopic(src, BE_CLOSE, NO_DEXTERY)) if(href_list["item"]) @@ -292,44 +291,44 @@ ..() + ///////HUDs/////// if(href_list["hud"]) if(istype(usr, /mob/living/carbon/human)) var/mob/living/carbon/human/H = usr var/perpname = get_face_name(get_id_name("")) if(istype(H.glasses, /obj/item/clothing/glasses/hud)) - var/datum/data/record/R + var/datum/data/record/R = find_record("name", perpname, data_core.general) if(href_list["photo_front"] || href_list["photo_side"]) - R = find_record("name", perpname, data_core.general) if(R) - if(!usr.canUseTopic(src)) - else if(!istype(H.glasses, /obj/item/clothing/glasses/hud)) - return - var/icon/img = null + if(!H.canUseHUD()) return + else if(!istype(H.glasses, /obj/item/clothing/glasses/hud)) return + var/obj/item/weapon/photo/P = null if(href_list["photo_front"]) - img = R.fields["photo_front"] + P = R.fields["photo_front"] else if(href_list["photo_side"]) - img = R.fields["photo_side"] - if(img) - usr << browse_rsc(img, "photo") - usr << browse("", "window=photo;size=120x120") + P = R.fields["photo_side"] + if(P) + P.show(H) if(href_list["hud"] == "m") if(istype(H.glasses, /obj/item/clothing/glasses/hud/health)) if(href_list["p_stat"]) var/health = input(usr, "Specify a new physical status for this person.", "Medical HUD", R.fields["p_stat"]) in list("Active", "Physically Unfit", "*Unconscious*", "*Deceased*", "Cancel") - if(!usr.canUseTopic(src)) - else if(!istype(H.glasses, /obj/item/clothing/glasses/hud/health)) - return - if(health != "Cancel") - R.fields["p_stat"] = health + if(R) + if(!H.canUseHUD()) return + else if(!istype(H.glasses, /obj/item/clothing/glasses/hud/health)) return + if(health && health != "Cancel") + R.fields["p_stat"] = health + return if(href_list["m_stat"]) var/health = input(usr, "Specify a new mental status for this person.", "Medical HUD", R.fields["m_stat"]) in list("Stable", "*Watch*", "*Unstable*", "*Insane*", "Cancel") - if(!usr.canUseTopic(src)) - else if(!istype(H.glasses, /obj/item/clothing/glasses/hud/health)) - return - if(health != "Cancel") - R.fields["m_stat"] = health + if(R) + if(!H.canUseHUD()) return + else if(!istype(H.glasses, /obj/item/clothing/glasses/hud/health)) return + if(health && health != "Cancel") + R.fields["m_stat"] = health + return if(href_list["evaluation"]) if(!getBruteLoss() && !getFireLoss() && !getOxyLoss() && getToxLoss() < 20) usr << "No external injuries detected.
        " @@ -369,7 +368,7 @@ if(getOxyLoss()) usr << "Patient has signs of suffocation, emergency treatment may be required!" if(getToxLoss() > 20) - usr << "Gathered data is inconsistent with the analysis, possible cause: intoxication." + usr << "Gathered data is inconsistent with the analysis, possible cause: poisoning." if(href_list["hud"] == "s") if(istype(H.glasses, /obj/item/clothing/glasses/hud/security)) @@ -396,10 +395,10 @@ if(R) if(href_list["status"]) var/setcriminal = input(usr, "Specify a new criminal status for this person.", "Security HUD", R.fields["criminal"]) in list("None", "*Arrest*", "Incarcerated", "Parolled", "Discharged", "Cancel") - if(R) - if(usr.canUseTopic(src)) - if(istype(H.glasses, /obj/item/clothing/glasses/hud/security)) - if(setcriminal != "Cancel") + if(setcriminal != "Cancel") + if(R) + if(H.canUseHUD()) + if(istype(H.glasses, /obj/item/clothing/glasses/hud/security)) investigate_log("[src.key] has been set from [R.fields["criminal"]] to [setcriminal] by [usr.name] ([usr.key]).", "records") R.fields["criminal"] = setcriminal sec_hud_set_security_status() @@ -407,9 +406,8 @@ if(href_list["view"]) if(R) - if(!usr.canUseTopic(src)) - else if(!istype(H.glasses, /obj/item/clothing/glasses/hud/security)) - return + if(!H.canUseHUD()) return + else if(!istype(H.glasses, /obj/item/clothing/glasses/hud/security)) return usr << "Name: [R.fields["name"]] Criminal Status: [R.fields["criminal"]]" usr << "Minor Crimes:" for(var/datum/data/crime/c in R.fields["mi_crim"]) @@ -433,10 +431,9 @@ var/t1 = stripped_input("Please input minor crime names:", "Security HUD", "", null) var/t2 = stripped_multiline_input("Please input minor crime details:", "Security HUD", "", null) if(R) - if (!t1 || !t2 || !allowed_access) - else if(!usr.canUseTopic(src)) - else if(!istype(H.glasses, /obj/item/clothing/glasses/hud/security)) - return + if (!t1 || !t2 || !allowed_access) return + else if(!H.canUseHUD()) return + else if(!istype(H.glasses, /obj/item/clothing/glasses/hud/security)) return var/crime = data_core.createCrimeEntry(t1, t2, allowed_access, worldtime2text()) data_core.addMinorCrime(R.fields["id"], crime) usr << "Successfully added a minor crime." @@ -446,10 +443,9 @@ var/t1 = stripped_input("Please input major crime names:", "Security HUD", "", null) var/t2 = stripped_multiline_input("Please input major crime details:", "Security HUD", "", null) if(R) - if (!t1 || !t2 || !allowed_access) - else if (!usr.canUseTopic(src)) - else if (!istype(H.glasses, /obj/item/clothing/glasses/hud/security)) - return + if (!t1 || !t2 || !allowed_access) return + else if (!H.canUseHUD()) return + else if (!istype(H.glasses, /obj/item/clothing/glasses/hud/security)) return var/crime = data_core.createCrimeEntry(t1, t2, allowed_access, worldtime2text()) data_core.addMajorCrime(R.fields["id"], crime) usr << "Successfully added a major crime." @@ -457,9 +453,8 @@ if(href_list["view_comment"]) if(R) - if(!usr.canUseTopic(src)) - else if(!istype(H.glasses, /obj/item/clothing/glasses/hud/security)) - return + if(!H.canUseHUD()) return + else if(!istype(H.glasses, /obj/item/clothing/glasses/hud/security)) return usr << "Comments/Log:" var/counter = 1 while(R.fields[text("com_[]", counter)]) @@ -472,10 +467,9 @@ if(R) var/t1 = stripped_multiline_input("Add Comment:", "Secure. records", null, null) if(R) - if (!t1 || !allowed_access) - else if(!usr.canUseTopic(src)) - else if(!istype(H.glasses, /obj/item/clothing/glasses/hud/security)) - return + if (!t1 || !allowed_access) return + else if(!H.canUseHUD()) return + else if(!istype(H.glasses, /obj/item/clothing/glasses/hud/security)) return var/counter = 1 while(R.fields[text("com_[]", counter)]) counter++ @@ -484,6 +478,9 @@ return usr << "Unable to locate a data core entry for this person." +/mob/living/carbon/human/proc/canUseHUD() + return !(src.stat || src.weakened || src.stunned || src.restrained()) + /mob/living/carbon/human/proc/play_xylophone() if(!src.xylophone) visible_message("[src] begins playing \his ribcage like a xylophone. It's quite spooky.","You begin to play a spooky refrain on your ribcage.","You hear a spooky xylophone melody.") diff --git a/code/world.dm b/code/world.dm index 55f7260d0d9..6b2e9d9f6df 100644 --- a/code/world.dm +++ b/code/world.dm @@ -58,7 +58,7 @@ world.log << "Database connection established." - data_core = new /obj/effect/datacore() + data_core = new /datum/datacore() spawn(-1) From f6bf89656b18d7633f35a3ba8834e8cd2ae63568 Mon Sep 17 00:00:00 2001 From: paprka Date: Wed, 4 Feb 2015 12:21:05 -0800 Subject: [PATCH 109/122] fixes syringes with monkeys, virus transfers, and iv drip feedback --- code/game/machinery/iv_drip.dm | 3 +++ code/modules/mob/living/carbon/human/blood.dm | 18 +++++++++++------- .../reagents/reagent_containers/syringes.dm | 13 +++++++------ 3 files changed, 21 insertions(+), 13 deletions(-) diff --git a/code/game/machinery/iv_drip.dm b/code/game/machinery/iv_drip.dm index 774f095ec3e..c7f6c54dae6 100644 --- a/code/game/machinery/iv_drip.dm +++ b/code/game/machinery/iv_drip.dm @@ -51,6 +51,9 @@ /obj/machinery/iv_drip/MouseDrop(over_object, src_location, over_location) ..() + if(!ishuman(over_object)) + usr << "The drip beeps: Warning, human patients only!" + if(attached) visible_message("[src.attached] is detached from \the [src]") src.attached = null diff --git a/code/modules/mob/living/carbon/human/blood.dm b/code/modules/mob/living/carbon/human/blood.dm index 06bfcf41c23..5b007374945 100644 --- a/code/modules/mob/living/carbon/human/blood.dm +++ b/code/modules/mob/living/carbon/human/blood.dm @@ -186,19 +186,18 @@ var/const/BLOOD_VOLUME_SURVIVE = 122 . = ..() vessel.remove_reagent("blood",amount) // Removes blood if human -//Transfers blood from container ot vessels +//Transfers blood from container to vessels /mob/living/carbon/proc/inject_blood(obj/item/weapon/reagent_containers/container, var/amount) var/datum/reagent/blood/injected = get_blood(container.reagents) - if(NOBLOOD in dna.species.specflags) - reagents.add_reagent("blood", amount, injected.data) - reagents.update_total() - return - if(!injected) return + for(var/datum/disease/D in injected.data["viruses"]) + var/datum/disease/new_virus = D.Copy(1) + injected.data["viruses"] += new_virus + var/list/chems = list() chems = params2list(injected.data["trace_chem"]) for(var/C in chems) @@ -207,11 +206,16 @@ var/const/BLOOD_VOLUME_SURVIVE = 122 container.reagents.remove_reagent("blood", amount) -//Transfers blood from container ot vessels, respecting blood types compatability. +//Transfers blood from container to vessels, respecting blood types compatability. /mob/living/carbon/human/inject_blood(obj/item/weapon/reagent_containers/container, var/amount) var/datum/reagent/blood/injected = get_blood(container.reagents) + if(NOBLOOD in dna.species.specflags) + reagents.add_reagent("blood", amount, injected.data) + reagents.update_total() + return + var/datum/reagent/blood/our = get_blood(vessel) if (!injected || !our) diff --git a/code/modules/reagents/reagent_containers/syringes.dm b/code/modules/reagents/reagent_containers/syringes.dm index 7c92956dc4b..a97f1f44a08 100644 --- a/code/modules/reagents/reagent_containers/syringes.dm +++ b/code/modules/reagents/reagent_containers/syringes.dm @@ -157,16 +157,17 @@ reagents.reaction(target, INGEST) spawn(5) - target.add_fingerprint(user) - var/datum/reagent/blood/B = locate() in src.reagents.reagent_list - var/trans + var/datum/reagent/blood/B + for(var/datum/reagent/blood/d in src.reagents.reagent_list) + B = d + break if(B && istype(target,/mob/living/carbon)) var/mob/living/carbon/C = target C.inject_blood(src,5) else - trans = src.reagents.trans_to(target, amount_per_transfer_from_this) - user << "You inject [trans] unit\s of the solution. [src] now contains [reagents.total_volume] unit\s." - if(reagents.total_volume <= 0 && mode == SYRINGE_INJECT) + src.reagents.trans_to(target, amount_per_transfer_from_this) + user << "You inject 5 units of the solution. The syringe now contains [src.reagents.total_volume] units." + if (reagents.total_volume <= 0 && mode==SYRINGE_INJECT) mode = SYRINGE_DRAW update_icon() From b7994d7c2d17bcddd3216a307de4d735f747cb26 Mon Sep 17 00:00:00 2001 From: paprka Date: Wed, 4 Feb 2015 13:01:05 -0800 Subject: [PATCH 110/122] research and different mat requirements for borg upgrades --- code/modules/research/designs/mechfabricator_designs.dm | 7 +++++-- 1 file changed, 5 insertions(+), 2 deletions(-) diff --git a/code/modules/research/designs/mechfabricator_designs.dm b/code/modules/research/designs/mechfabricator_designs.dm index 158b666f29d..11ea374070d 100644 --- a/code/modules/research/designs/mechfabricator_designs.dm +++ b/code/modules/research/designs/mechfabricator_designs.dm @@ -630,7 +630,8 @@ id = "borg_upgrade_vtec" build_type = MECHFAB build_path = /obj/item/borg/upgrade/vtec - materials = list("$metal"=80000 , "$glass"=6000 , "$gold"= 5000) + req_tech = list("combat" = 5, "engineering" = 4) + materials = list("$metal"=80000 , "$glass"=6000 , "$uranium"= 5000) construction_time = 120 category = list("Cyborg Upgrade Modules") @@ -639,6 +640,7 @@ id = "borg_upgrade_tasercooler" build_type = MECHFAB build_path = /obj/item/borg/upgrade/tasercooler + req_tech = list("combat" = 5, "power" = 4) materials = list("$metal"=80000 , "$glass"=6000 , "$gold"= 2000, "$diamond" = 500) construction_time = 120 category = list("Cyborg Upgrade Modules") @@ -648,7 +650,8 @@ id = "borg_upgrade_jetpack" build_type = MECHFAB build_path = /obj/item/borg/upgrade/jetpack - materials = list("$metal"=10000,"$plasma"=15000,"$uranium" = 20000) + req_tech = list("engineering" = 4, "power" = 4) + materials = list("$metal"=10000,"$plasma"=12000,"$uranium" = 10000) construction_time = 120 category = list("Cyborg Upgrade Modules") From 26873cd973bf06ffdb79055463869bdcdd881758 Mon Sep 17 00:00:00 2001 From: paprka Date: Wed, 4 Feb 2015 13:12:43 -0800 Subject: [PATCH 111/122] changes combat requirement to materials --- code/modules/research/designs/mechfabricator_designs.dm | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/code/modules/research/designs/mechfabricator_designs.dm b/code/modules/research/designs/mechfabricator_designs.dm index 11ea374070d..e6f476df192 100644 --- a/code/modules/research/designs/mechfabricator_designs.dm +++ b/code/modules/research/designs/mechfabricator_designs.dm @@ -630,7 +630,7 @@ id = "borg_upgrade_vtec" build_type = MECHFAB build_path = /obj/item/borg/upgrade/vtec - req_tech = list("combat" = 5, "engineering" = 4) + req_tech = list("engineering" = 4, "materials" = 5) materials = list("$metal"=80000 , "$glass"=6000 , "$uranium"= 5000) construction_time = 120 category = list("Cyborg Upgrade Modules") From 6299c546abcfb89cf9daffd2e7b4c22715cc2c10 Mon Sep 17 00:00:00 2001 From: paprka Date: Wed, 4 Feb 2015 18:05:45 -0800 Subject: [PATCH 112/122] fixes a runtime related to stacks --- code/game/objects/items/stacks/stack.dm | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/code/game/objects/items/stacks/stack.dm b/code/game/objects/items/stacks/stack.dm index d1c629f2856..a3e8959f9a8 100644 --- a/code/game/objects/items/stacks/stack.dm +++ b/code/game/objects/items/stacks/stack.dm @@ -201,7 +201,7 @@ usr << "You add new [item.singular_name] to the stack. It now contains [item.amount] [item.singular_name]\s." if(oldsrc.amount <= 0) break - update_icon() + oldsrc.update_icon() /obj/item/stack/attack_hand(mob/user as mob) if (user.get_inactive_hand() == src) From 2098fd5ea59c3f677d812e99678c4c2b73229540 Mon Sep 17 00:00:00 2001 From: Iamgoofball Date: Wed, 4 Feb 2015 18:53:33 -0800 Subject: [PATCH 113/122] Fixes #7497 --- code/modules/reagents/Chemistry-Goon-Medicine.dm | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/code/modules/reagents/Chemistry-Goon-Medicine.dm b/code/modules/reagents/Chemistry-Goon-Medicine.dm index e986c8de6b9..4b65973724d 100644 --- a/code/modules/reagents/Chemistry-Goon-Medicine.dm +++ b/code/modules/reagents/Chemistry-Goon-Medicine.dm @@ -496,7 +496,7 @@ datum/reagent/oculine/on_mob_life(var/mob/living/M as mob) name = "Oculine" id = "oculine" result = "oculine" - required_reagents = list("atropine" = 1, "spaceacillin" = 1, "salglu_solution" = 1) + required_reagents = list("charcoal" = 1, "carbon" = 1, "hydrogen" = 1) result_amount = 3 mix_message = "The mixture sputters loudly and becomes a pale pink color." From ce7c2e13ff3e6218a56cd255acb313cdc3a62529 Mon Sep 17 00:00:00 2001 From: Iamgoofball Date: Wed, 4 Feb 2015 18:55:34 -0800 Subject: [PATCH 114/122] Changes Spellbook can't open text --- code/game/gamemodes/wizard/spellbook.dm | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/code/game/gamemodes/wizard/spellbook.dm b/code/game/gamemodes/wizard/spellbook.dm index a2e15b3eb15..084cefb272c 100644 --- a/code/game/gamemodes/wizard/spellbook.dm +++ b/code/game/gamemodes/wizard/spellbook.dm @@ -34,7 +34,7 @@ owner = user return if(user != owner) - user << "You can't open the spellbook somehow." + user << "The [name] does not recognize you as it's owner and refuses to open." return user.set_machine(src) var/dat From 23933807111ea3ecb139a6b7cb0df96aece21702 Mon Sep 17 00:00:00 2001 From: Iamgoofball Date: Wed, 4 Feb 2015 18:59:18 -0800 Subject: [PATCH 115/122] grenades now add up the temperature of contained beakers when mixing --- code/game/objects/items/weapons/grenades/chem_grenade.dm | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/code/game/objects/items/weapons/grenades/chem_grenade.dm b/code/game/objects/items/weapons/grenades/chem_grenade.dm index b60e8a27131..ac865a96dc5 100644 --- a/code/game/objects/items/weapons/grenades/chem_grenade.dm +++ b/code/game/objects/items/weapons/grenades/chem_grenade.dm @@ -203,9 +203,11 @@ qdel(src) //correctly before deleting the grenade. /obj/item/weapon/grenade/chem_grenade/proc/mix_reagents() - reagents.chem_temp = 1000 + var/total_temp for(var/obj/item/weapon/reagent_containers/glass/G in beakers) G.reagents.trans_to(src, G.reagents.total_volume) + total_temp += G.reagents.chem_temp + reagents.chem_temp = total_temp /obj/item/weapon/grenade/chem_grenade/proc/can_flood_from(myloc, maxrange) var/list/reachable = list(myloc) From 9315181e3d0cb9fe75aa4ececbfa50f842238a06 Mon Sep 17 00:00:00 2001 From: paprka Date: Wed, 4 Feb 2015 21:43:40 -0800 Subject: [PATCH 116/122] changelog --- html/changelogs/Paprka-ablightonrobotics.yml | 4 ++++ 1 file changed, 4 insertions(+) create mode 100644 html/changelogs/Paprka-ablightonrobotics.yml diff --git a/html/changelogs/Paprka-ablightonrobotics.yml b/html/changelogs/Paprka-ablightonrobotics.yml new file mode 100644 index 00000000000..1595635449b --- /dev/null +++ b/html/changelogs/Paprka-ablightonrobotics.yml @@ -0,0 +1,4 @@ +author: Paprika +delete-after: True +changes: + - tweak: "Added rnd requirements to borg upgrades and tweaked the prices." \ No newline at end of file From 468b00a16f872ca82a06077d65e802e083db7023 Mon Sep 17 00:00:00 2001 From: paprka Date: Thu, 5 Feb 2015 01:36:16 -0800 Subject: [PATCH 117/122] bandaids diseases and bleeding --- code/modules/mob/living/carbon/human/blood.dm | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/code/modules/mob/living/carbon/human/blood.dm b/code/modules/mob/living/carbon/human/blood.dm index 5b007374945..418e111c630 100644 --- a/code/modules/mob/living/carbon/human/blood.dm +++ b/code/modules/mob/living/carbon/human/blood.dm @@ -308,10 +308,11 @@ proc/blood_splatter(var/target,var/datum/reagent/blood/source,var/large) else B.blood_DNA[source.data["blood_DNA"]] = "O+" - // Update virus information. +/* // Update virus information. for(var/datum/disease/D in source.data["viruses"]) var/datum/disease/new_virus = D.Copy(1) source.data["viruses"] += new_virus new_virus.holder = B +*/ return B \ No newline at end of file From e8dd56a6566d86cab18ea1dea60760d5c8a617c0 Mon Sep 17 00:00:00 2001 From: Deantwo Date: Thu, 5 Feb 2015 12:05:12 +0100 Subject: [PATCH 118/122] Late Fixes - Removed spaces. (such a huge nerf!) - Fixes https://github.com/tgstation/-tg-station/issues/7091 - Fixes two little errors I made on the CondiMaster's UI. - Removes "No pill bottle inserted." from CondiMaster. - Changes the window's default size a little to better suit the changes. --- code/modules/reagents/Chemistry-Machinery.dm | 41 +++++++++++--------- 1 file changed, 22 insertions(+), 19 deletions(-) diff --git a/code/modules/reagents/Chemistry-Machinery.dm b/code/modules/reagents/Chemistry-Machinery.dm index 1bdb7e87dc8..97d07b4d732 100644 --- a/code/modules/reagents/Chemistry-Machinery.dm +++ b/code/modules/reagents/Chemistry-Machinery.dm @@ -312,7 +312,7 @@ usr.set_machine(src) - if (href_list["ejectp"]) + if(href_list["ejectp"]) if(loaded_pill_bottle) loaded_pill_bottle.loc = src.loc loaded_pill_bottle = null @@ -322,10 +322,10 @@ usr.unset_machine() return - else if (href_list["toggle"]) + else if(href_list["toggle"]) mode = !mode - else if (href_list["createbottle"]) + else if(href_list["createbottle"]) if(!condi) var/name = stripped_input(usr, "Name:","Name your bottle!", (reagents.total_volume ? reagents.get_master_reagent_name() : " "), MAX_NAME_LEN) if(!name) @@ -353,14 +353,14 @@ popup.open(1) return - else if (href_list["add"]) + else if(href_list["add"]) if(href_list["amount"]) var/id = href_list["add"] var/amount = text2num(href_list["amount"]) if (amount < 0) return R.trans_id_to(src, id, amount) - else if (href_list["addcustom"]) + else if(href_list["addcustom"]) var/id = href_list["addcustom"] var/amt_temp = isgoodnumber(input(usr, "Select the amount to transfer.", "Transfer how much?", useramount) as num|null) if(!amt_temp) @@ -368,7 +368,7 @@ useramount = amt_temp src.Topic(null, list("amount" = "[useramount]", "add" = "[id]")) - else if (href_list["remove"]) + else if(href_list["remove"]) if(href_list["amount"]) var/id = href_list["remove"] var/amount = text2num(href_list["amount"]) @@ -378,7 +378,7 @@ else reagents.remove_reagent(id, amount) - else if (href_list["removecustom"]) + else if(href_list["removecustom"]) var/id = href_list["removecustom"] var/amt_temp = isgoodnumber(input(usr, "Select the amount to transfer.", "Transfer how much?", useramount) as num|null) if(!amt_temp) @@ -386,18 +386,18 @@ useramount = amt_temp src.Topic(null, list("amount" = "[useramount]", "remove" = "[id]")) - else if (href_list["main"]) + else if(href_list["main"]) attack_hand(usr) return - else if (href_list["eject"]) + else if(href_list["eject"]) if(beaker) beaker.loc = src.loc beaker = null reagents.clear_reagents() icon_state = "mixer0" - else if (href_list["createpill"]) //Also used for condiment packs. + else if(href_list["createpill"]) //Also used for condiment packs. if(reagents.total_volume == 0) return if(!condi) var/amount = 1 @@ -408,7 +408,7 @@ return vol_each = min(reagents.total_volume / amount, 50) var/name = stripped_input(usr,"Name:","Name your pill!", "[reagents.get_master_reagent_name()] ([vol_each]u)", MAX_NAME_LEN) - if(!name) + if(!name || !reagents.total_volume) return var/obj/item/weapon/reagent_containers/pill/P @@ -423,7 +423,7 @@ reagents.trans_to(P,vol_each) else var/name = stripped_input(usr, "Name:", "Name your pack!", reagents.get_master_reagent_name(), MAX_NAME_LEN) - if(!name) + if(!name || !reagents.total_volume) return var/obj/item/weapon/reagent_containers/food/condiment/pack/P = new/obj/item/weapon/reagent_containers/food/condiment/pack(src.loc) @@ -442,7 +442,7 @@ return vol_each = min(reagents.total_volume / amount, 50) var/name = stripped_input(usr,"Name:","Name your patch!", "[reagents.get_master_reagent_name()] ([vol_each]u)", MAX_NAME_LEN) - if(!name) + if(!name || !reagents.total_volume) return var/obj/item/weapon/reagent_containers/pill/P @@ -503,10 +503,13 @@ dat += "
      • Buffer is empty." dat += "

      " - if(src.loaded_pill_bottle) - dat += "Pill Bottle \[[loaded_pill_bottle.contents.len]/[loaded_pill_bottle.storage_slots]\] Eject" + if(!condi) + if(src.loaded_pill_bottle) + dat += "Pill Bottle \[[loaded_pill_bottle.contents.len]/[loaded_pill_bottle.storage_slots]\] Eject" + else + dat += "No pill bottle inserted." else - dat += "No pill bottle inserted." + dat += "
      " dat += "
        " if(!condi) @@ -522,13 +525,13 @@ dat += "
      • Create multiple patches
        " else if(beaker && reagents.total_volume) - dat += "
      • Create pack (10 units max)
        " + dat += "
      • Create pack (10 units max)
        " else - dat += "
      • Create pack (10 units max)
        " + dat += "
      • Create pack (10 units max)
        " dat += "
      • Create bottle ([condi ? "50" : "30"] units max)" dat += "
      " dat += "
      Close" - var/datum/browser/popup = new(user, "chem_master", name) + var/datum/browser/popup = new(user, "chem_master", name, 470, 500) popup.set_content(dat) popup.set_title_image(user.browse_rsc_icon(src.icon, src.icon_state)) popup.open(1) From 8d2f4cfec0b366bd81f9ff50e6e765c89df36fd9 Mon Sep 17 00:00:00 2001 From: AlexanderUlanH Date: Thu, 5 Feb 2015 08:43:50 -0500 Subject: [PATCH 119/122] Changelog Logged changes --- html/changelogs/drovidi-PR-7440.yml | 8 ++++++++ 1 file changed, 8 insertions(+) create mode 100644 html/changelogs/drovidi-PR-7440.yml diff --git a/html/changelogs/drovidi-PR-7440.yml b/html/changelogs/drovidi-PR-7440.yml new file mode 100644 index 00000000000..116b7dcf634 --- /dev/null +++ b/html/changelogs/drovidi-PR-7440.yml @@ -0,0 +1,8 @@ +author: drovidi + +delete-after: True + +changes: + - tweak: "Blobs who burst in space will be given a 30 second warning before dying." + - tweak: "If a blob does die from bursting in space, a new crewmember will be infected." + - bugfix: "If there are no blobs or infected crew left after bursting, the round will now end properly, rather than becoming endless." \ No newline at end of file From 416fe43c44ef3c1bce69cf1030a5b6a31f7ce730 Mon Sep 17 00:00:00 2001 From: Lo6a4evskiy Date: Thu, 5 Feb 2015 20:18:55 +0400 Subject: [PATCH 120/122] Added changelog --- html/changelogs/Lo6a4evskiy-PR-7257.yml | 39 +++++++++++++++++++++++++ 1 file changed, 39 insertions(+) create mode 100644 html/changelogs/Lo6a4evskiy-PR-7257.yml diff --git a/html/changelogs/Lo6a4evskiy-PR-7257.yml b/html/changelogs/Lo6a4evskiy-PR-7257.yml new file mode 100644 index 00000000000..5d7eb4e2e6c --- /dev/null +++ b/html/changelogs/Lo6a4evskiy-PR-7257.yml @@ -0,0 +1,39 @@ +################################ +# Example Changelog File +# +# Note: This file, and files beginning with ".", and files that don't end in ".yml" will not be read. If you change this file, you will look really dumb. +# +# Your changelog will be merged with a master changelog. (New stuff added only, and only on the date entry for the day it was merged.) +# When it is, any changes listed below will disappear. +# +# Valid Prefixes: +# bugfix +# wip (For works in progress) +# tweak +# soundadd +# sounddel +# rscdel (general adding of nice things) +# rscadd (general deleting of nice things) +# imageadd +# imagedel +# spellcheck (typo fixes) +# experiment +# tgs (TG-ported fixes?) +################################# + +# Your name. +author: Lo6a4evskiy + +# Optional: Remove this file after generating master changelog. Useful for PR changelogs that won't get used again. +#delete-after: True + +# Any changes you've made. See valid prefix list above. +# INDENT WITH TWO SPACES. NOT TABS. SPACES. +# SCREW THIS UP AND IT WON'T WORK. +# Also, this gets changed to [] after reading. Just remove the brackets when you add new shit. +# Please surround your changes in single (') or double quotes ("). It works without them, but if you use certain characters it screws up compiling. The quotes will not show up in the changelog. +changes: + - rscadd: "General record now contains a species field and a photo of the crewmember. Security record consoles allow you to update it with a photo taken in-game (with detective's camera, for example, or AI's)." + - rscadd: "Expanded functionality of security HUDs to display rank and photos." + - rscadd: "Medical HUDs allow user to change others' mental and physical status. Currently has no gameplay effect other than changing records." + - rscadd: "Medical HUDs can perform an examination at the distance, similrarly to how attacking yourself with help intent works. Has limited ability to detect suffocation and toxin damage." \ No newline at end of file From 62938cc309221f044afc8b012fe7784b818d676d Mon Sep 17 00:00:00 2001 From: Lo6a4evskiy Date: Thu, 5 Feb 2015 20:22:55 +0400 Subject: [PATCH 121/122] delete-after in changelog --- html/changelogs/Lo6a4evskiy-PR-7257.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/html/changelogs/Lo6a4evskiy-PR-7257.yml b/html/changelogs/Lo6a4evskiy-PR-7257.yml index 5d7eb4e2e6c..507f2478826 100644 --- a/html/changelogs/Lo6a4evskiy-PR-7257.yml +++ b/html/changelogs/Lo6a4evskiy-PR-7257.yml @@ -25,7 +25,7 @@ author: Lo6a4evskiy # Optional: Remove this file after generating master changelog. Useful for PR changelogs that won't get used again. -#delete-after: True +delete-after: True # Any changes you've made. See valid prefix list above. # INDENT WITH TWO SPACES. NOT TABS. SPACES. From 282ce36cbd43f85d6a4c506578d61425bcf6f46c Mon Sep 17 00:00:00 2001 From: Iamgoofball Date: Thu, 5 Feb 2015 16:12:25 -0800 Subject: [PATCH 122/122] changelog --- html/changelogs/Iamgoofball-Buffs.yml | 6 ++++++ 1 file changed, 6 insertions(+) create mode 100644 html/changelogs/Iamgoofball-Buffs.yml diff --git a/html/changelogs/Iamgoofball-Buffs.yml b/html/changelogs/Iamgoofball-Buffs.yml new file mode 100644 index 00000000000..5763d9702db --- /dev/null +++ b/html/changelogs/Iamgoofball-Buffs.yml @@ -0,0 +1,6 @@ + author: Iamgoofball + +delete-after: True + +changes: + - rscadd: "Buffs the shit out of Styptic Powder and Silver Sulf, they're now viable to use. Synthflesh is still good for general treatment, but overall Styptic and Silver Sulf deal with their respective damage types way better now." \ No newline at end of file