From dfe5afe197a22faf5b650bd2ca439ea892cf8802 Mon Sep 17 00:00:00 2001 From: Cerebulon Date: Wed, 29 Mar 2017 01:55:46 +0100 Subject: [PATCH 01/52] Changes character setup to use correct in-lore names for brain types. --- .../preference_setup/general/03_body.dm | 39 ++++++++++++------- 1 file changed, 24 insertions(+), 15 deletions(-) diff --git a/code/modules/client/preference_setup/general/03_body.dm b/code/modules/client/preference_setup/general/03_body.dm index 079713c7ea..ab5cd15855 100644 --- a/code/modules/client/preference_setup/general/03_body.dm +++ b/code/modules/client/preference_setup/general/03_body.dm @@ -117,11 +117,11 @@ var/global/list/valid_bloodtypes = list("A+", "A-", "B+", "B-", "AB+", "AB-", "O continue var/obj/item/organ/I = character.internal_organs_by_name[name] if(I) - if(status == "assisted") + if(status == "cybernetic") I.mechassist() - else if(status == "mechanical") + else if(status == "positronic") I.robotize() - else if(status == "digital") + else if(status == "drone") I.digitize() return @@ -200,13 +200,17 @@ var/global/list/valid_bloodtypes = list("A+", "A-", "B+", "B-", "AB+", "AB-", "O ++ind if(ind > 1) . += ", " - . += "\tSynthetic [organ_name]" - else if(status == "digital") + switch(organ_name) + if ("brain") + . += "\tPositronic [organ_name]" + else + . += "\tSynthetic [organ_name]" + else if(status == "drone") ++ind if(ind > 1) . += ", " . += "\tDigital [organ_name]" - else if(status == "assisted") + else if(status == "cybernetic") ++ind if(ind > 1) . += ", " @@ -535,7 +539,7 @@ var/global/list/valid_bloodtypes = list("A+", "A-", "B+", "B-", "AB+", "AB-", "O pref.organ_data[other_limb] = "cyborg" pref.rlimb_data[other_limb] = choice if(!pref.organ_data[O_BRAIN]) - pref.organ_data[O_BRAIN] = "assisted" + pref.organ_data[O_BRAIN] = "cybernetic" for(var/internal_organ in list(O_HEART,O_EYES)) pref.organ_data[internal_organ] = "mechanical" @@ -556,15 +560,18 @@ var/global/list/valid_bloodtypes = list("A+", "A-", "B+", "B-", "AB+", "AB-", "O organ = O_LUNGS if("Brain") if(pref.organ_data[BP_HEAD] != "cyborg") - user << "You may only select an assisted or synthetic brain if you have a full prosthetic body." + user << "You may only select a cybernetic or synthetic brain if you have a full prosthetic body." return organ = "brain" - var/list/organ_choices = list("Normal","Assisted","Mechanical") + var/list/organ_choices = list("Normal","Cybernetic") if(pref.organ_data[BP_TORSO] == "cyborg") organ_choices -= "Normal" if(organ_name == "Brain") - organ_choices += "Digital" + organ_choices += "Drone" + organ_choices += "Positronic" + else + organ_choices += "Mechanical" var/new_state = input(user, "What state do you wish the organ to be in?") as null|anything in organ_choices if(!new_state) return @@ -572,12 +579,14 @@ var/global/list/valid_bloodtypes = list("A+", "A-", "B+", "B-", "AB+", "AB-", "O switch(new_state) if("Normal") pref.organ_data[organ] = null - if("Assisted") - pref.organ_data[organ] = "assisted" - if("Mechanical") + if("Cybernetic") + pref.organ_data[organ] = "cybernetic" + if ("Mechanical") + pref.organ_data[organ] = "mechanical" + if("Drone") + pref.organ_data[organ] = "drone" + if("Positronic") pref.organ_data[organ] = "mechanical" - if("Digital") - pref.organ_data[organ] = "digital" return TOPIC_REFRESH else if(href_list["disabilities"]) From d5a9e15f282b9b3396af8ff0b66faf21b616b579 Mon Sep 17 00:00:00 2001 From: Cerebulon Date: Wed, 29 Mar 2017 03:07:52 +0100 Subject: [PATCH 02/52] Fixed get_FBP_type() method for determining min/max ages to use new type names. --- code/modules/client/preference_setup/preference_setup.dm | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/code/modules/client/preference_setup/preference_setup.dm b/code/modules/client/preference_setup/preference_setup.dm index f72ff0645c..63e3fc266d 100644 --- a/code/modules/client/preference_setup/preference_setup.dm +++ b/code/modules/client/preference_setup/preference_setup.dm @@ -264,11 +264,11 @@ if(!is_FBP()) return 0 // Not a robot. switch(pref.organ_data["brain"]) - if("assisted") + if("cybernetic") return PREF_FBP_CYBORG - if("mechanical") + if("positronic") return PREF_FBP_POSI - if("digital") + if("drone") return PREF_FBP_SOFTWARE return 0 //Something went wrong! From 7773ef71221a3a1827e2488b9147d66f7182c2ac Mon Sep 17 00:00:00 2001 From: Cerebulon Date: Thu, 30 Mar 2017 18:01:20 +0100 Subject: [PATCH 03/52] Dialled back changes to only effect menu display text for brains. Reverted variable names to original assisted/mechanical/digital to prevent potential issues in other code which may rely on them. --- .../client/preference_setup/general/03_body.dm | 15 ++++++++++----- .../client/preference_setup/preference_setup.dm | 6 +++--- 2 files changed, 13 insertions(+), 8 deletions(-) diff --git a/code/modules/client/preference_setup/general/03_body.dm b/code/modules/client/preference_setup/general/03_body.dm index ab5cd15855..70a95e2166 100644 --- a/code/modules/client/preference_setup/general/03_body.dm +++ b/code/modules/client/preference_setup/general/03_body.dm @@ -539,7 +539,7 @@ var/global/list/valid_bloodtypes = list("A+", "A-", "B+", "B-", "AB+", "AB-", "O pref.organ_data[other_limb] = "cyborg" pref.rlimb_data[other_limb] = choice if(!pref.organ_data[O_BRAIN]) - pref.organ_data[O_BRAIN] = "cybernetic" + pref.organ_data[O_BRAIN] = "assisted" for(var/internal_organ in list(O_HEART,O_EYES)) pref.organ_data[internal_organ] = "mechanical" @@ -564,13 +564,15 @@ var/global/list/valid_bloodtypes = list("A+", "A-", "B+", "B-", "AB+", "AB-", "O return organ = "brain" - var/list/organ_choices = list("Normal","Cybernetic") + var/list/organ_choices = list("Normal") if(pref.organ_data[BP_TORSO] == "cyborg") organ_choices -= "Normal" if(organ_name == "Brain") - organ_choices += "Drone" + organ_choices += "Cybernetic" organ_choices += "Positronic" + organ_choices += "Drone" else + organ_choices += "Assisted" organ_choices += "Mechanical" var/new_state = input(user, "What state do you wish the organ to be in?") as null|anything in organ_choices @@ -579,14 +581,17 @@ var/global/list/valid_bloodtypes = list("A+", "A-", "B+", "B-", "AB+", "AB-", "O switch(new_state) if("Normal") pref.organ_data[organ] = null + if("Assisted") + pref.organ_data[organ] = "assisted" if("Cybernetic") - pref.organ_data[organ] = "cybernetic" + pref.organ_data[organ] = "assisted" if ("Mechanical") pref.organ_data[organ] = "mechanical" if("Drone") - pref.organ_data[organ] = "drone" + pref.organ_data[organ] = "digital" if("Positronic") pref.organ_data[organ] = "mechanical" + return TOPIC_REFRESH else if(href_list["disabilities"]) diff --git a/code/modules/client/preference_setup/preference_setup.dm b/code/modules/client/preference_setup/preference_setup.dm index 63e3fc266d..f72ff0645c 100644 --- a/code/modules/client/preference_setup/preference_setup.dm +++ b/code/modules/client/preference_setup/preference_setup.dm @@ -264,11 +264,11 @@ if(!is_FBP()) return 0 // Not a robot. switch(pref.organ_data["brain"]) - if("cybernetic") + if("assisted") return PREF_FBP_CYBORG - if("positronic") + if("mechanical") return PREF_FBP_POSI - if("drone") + if("digital") return PREF_FBP_SOFTWARE return 0 //Something went wrong! From 9e955cf999fa0cce258e8361861843d1c907176a Mon Sep 17 00:00:00 2001 From: Cerebulon Date: Thu, 30 Mar 2017 18:04:21 +0100 Subject: [PATCH 04/52] Missed a spot. --- code/modules/client/preference_setup/general/03_body.dm | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/code/modules/client/preference_setup/general/03_body.dm b/code/modules/client/preference_setup/general/03_body.dm index 70a95e2166..901d7efad7 100644 --- a/code/modules/client/preference_setup/general/03_body.dm +++ b/code/modules/client/preference_setup/general/03_body.dm @@ -117,11 +117,11 @@ var/global/list/valid_bloodtypes = list("A+", "A-", "B+", "B-", "AB+", "AB-", "O continue var/obj/item/organ/I = character.internal_organs_by_name[name] if(I) - if(status == "cybernetic") + if(status == "assisted") I.mechassist() - else if(status == "positronic") + else if(status == "mechanical") I.robotize() - else if(status == "drone") + else if(status == "digital") I.digitize() return From 2189d83812980bb18aadee2b27d0e779cea45cc1 Mon Sep 17 00:00:00 2001 From: Cerebulon Date: Thu, 30 Mar 2017 21:50:04 +0100 Subject: [PATCH 05/52] Fixed single leftover 'cybernetic' and 'drone' variables. --- code/modules/client/preference_setup/general/03_body.dm | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/code/modules/client/preference_setup/general/03_body.dm b/code/modules/client/preference_setup/general/03_body.dm index 901d7efad7..1b1979e50c 100644 --- a/code/modules/client/preference_setup/general/03_body.dm +++ b/code/modules/client/preference_setup/general/03_body.dm @@ -205,12 +205,12 @@ var/global/list/valid_bloodtypes = list("A+", "A-", "B+", "B-", "AB+", "AB-", "O . += "\tPositronic [organ_name]" else . += "\tSynthetic [organ_name]" - else if(status == "drone") + else if(status == "digital") ++ind if(ind > 1) . += ", " . += "\tDigital [organ_name]" - else if(status == "cybernetic") + else if(status == "assisted") ++ind if(ind > 1) . += ", " From ab4c63791ae49dc5261449a5c43a0368cbc0b83c Mon Sep 17 00:00:00 2001 From: Leshana Date: Thu, 30 Mar 2017 17:56:15 -0400 Subject: [PATCH 06/52] Modernize the automatic pipe layer * Upgrades the automatic pipe layer to modernize its code a bit towards latest standards and fixing various bugs. * Make it constructable so it can acutally be used by someone! --- code/datums/autolathe/engineering.dm | 4 + code/game/machinery/pipe/pipelayer.dm | 123 ++++++++++++------ .../circuitboards/machinery/engineering.dm | 13 ++ polaris.dme | 1 + 4 files changed, 99 insertions(+), 42 deletions(-) create mode 100644 code/game/objects/items/weapons/circuitboards/machinery/engineering.dm diff --git a/code/datums/autolathe/engineering.dm b/code/datums/autolathe/engineering.dm index 0921806ac0..ca40b4a6a9 100644 --- a/code/datums/autolathe/engineering.dm +++ b/code/datums/autolathe/engineering.dm @@ -74,6 +74,10 @@ name = "request console electronics" path =/obj/item/weapon/circuitboard/request +/datum/category_item/autolathe/engineering/pipelayer + name = "pipe layer electronics" + path =/obj/item/weapon/circuitboard/pipelayer + /datum/category_item/autolathe/engineering/motor name = "motor" path =/obj/item/weapon/stock_parts/motor diff --git a/code/game/machinery/pipe/pipelayer.dm b/code/game/machinery/pipe/pipelayer.dm index 0de61b4685..7c5fe5ae14 100644 --- a/code/game/machinery/pipe/pipelayer.dm +++ b/code/game/machinery/pipe/pipelayer.dm @@ -1,57 +1,101 @@ /obj/machinery/pipelayer - name = "automatic pipe layer" icon = 'icons/obj/stationobjs.dmi' icon_state = "pipe_d" density = 1 - var/turf/old_turf - var/old_dir - var/on = 0 - var/a_dis = 0 - var/P_type = 0 - var/P_type_t = "" - var/max_metal = 50 - var/metal = 10 - var/obj/item/weapon/wrench/W + circuit = /obj/item/weapon/circuitboard/pipelayer + var/turf/old_turf // Last turf we were on. + var/old_dir // Last direction we were facing. + var/on = 0 // Pipelaying online? + var/a_dis = 0 // Auto-dismantling - If enabled it will remove floor tiles + var/P_type = 0 // Currently selected pipe type + var/P_type_t = "" // Name of currently selected pipe type + var/max_metal = 50 // Max capacity for internal metal storage + var/metal = 10 // Current amount in internal metal storage + var/pipe_cost = 0.25 // Cost in steel for each pipe. + var/obj/item/weapon/wrench/W // Internal wrench used for wrenching down the pipes var/list/Pipes = list("regular pipes"=0,"scrubbers pipes"=31,"supply pipes"=29,"heat exchange pipes"=2) /obj/machinery/pipelayer/New() W = new(src) ..() + default_apply_parts() + update_icon() +/obj/machinery/pipelayer/Destroy() + qdel(W) + W = null + ..() + +/obj/machinery/pipelayer/RefreshParts() + var/mb_rating = 0 + for(var/obj/item/weapon/stock_parts/matter_bin/M in component_parts) + mb_rating += M.rating + max_metal = mb_rating * initial(max_metal) + +/obj/machinery/pipelayer/dismantle() + eject_metal() + ..() + +// Whenever we move, if enabled try and lay pipe /obj/machinery/pipelayer/Move(new_turf,M_Dir) ..() if(on && a_dis) dismantleFloor(old_turf) - layPipe(old_turf,M_Dir,old_dir) + layPipe(old_turf, M_Dir, old_dir) old_turf = new_turf - old_dir = turn(M_Dir,180) + old_dir = turn(M_Dir, 180) /obj/machinery/pipelayer/attack_hand(mob/user as mob) - if(!metal&&!on) + if(..()) + return + if(panel_open) + if(metal < 1) + user << "\The [src] is empty." + return + var/answer = alert(user, "Do you want to eject all the metal in \the [src]?", , "Yes","No") + if(answer == "Yes") + var/amount_ejected = eject_metal() + user.visible_message("[user] removes [amount_ejected] sheet\s of [DEFAULT_WALL_MATERIAL] from the \the [src].", + "You remove [amount_ejected] sheet\s of [DEFAULT_WALL_MATERIAL] from \the [src].") + return + if(!metal && !on) user << "\The [src] doesn't work without metal." return - on=!on + on = !on + old_turf = get_turf(src) + old_dir = dir user.visible_message("[user] has [!on?"de":""]activated \the [src].", "You [!on?"de":""]activate \the [src].") return /obj/machinery/pipelayer/attackby(var/obj/item/W as obj, var/mob/user as mob) - - if (istype(W, /obj/item/weapon/wrench)) + if(default_deconstruction_screwdriver(user, W)) + return + if(default_deconstruction_crowbar(user, W)) + return + if(default_part_replacement(user, W)) + return + if (!panel_open && iswrench(W)) P_type_t = input("Choose pipe type", "Pipe type") as null|anything in Pipes P_type = Pipes[P_type_t] user.visible_message("[user] has set \the [src] to manufacture [P_type_t].", "You set \the [src] to manufacture [P_type_t].") return - - if(istype(W, /obj/item/weapon/crowbar)) - a_dis=!a_dis + if(!panel_open && iscrowbar(W)) + a_dis = !a_dis user.visible_message("[user] has [!a_dis?"de":""]activated auto-dismantling.", "You [!a_dis?"de":""]activate auto-dismantling.") return - + if(istype(W, /obj/item/pipe)) + if(metal + pipe_cost > max_metal) + user << "\The [src] is full." + else + user.drop_from_inventory(W) + metal += pipe_cost + usr << "You recycle \the [W]." + qdel(W) + return if(istype(W, /obj/item/stack/material) && W.get_material_name() == DEFAULT_WALL_MATERIAL) - var/result = load_metal(W) if(isnull(result)) user << "Unable to load [W] - no metal found." @@ -59,23 +103,8 @@ user << "\The [src] is full." else user.visible_message("[user] has loaded metal into \the [src].", "You load metal into \the [src]") - return - if(istype(W, /obj/item/weapon/screwdriver)) - if(metal) - var/m = round(input(usr,"Please specify the amount of metal to remove","Remove metal",min(round(metal),50)) as num, 1) - m = min(m, 50) - m = min(m, round(metal)) - m = round(m) - if(m) - use_metal(m) - var/obj/item/stack/material/steel/MM = new (get_turf(src)) - MM.amount = m - user.visible_message("[user] removes [m] sheet\s of metal from the \the [src].", "You remove [m] sheet\s of metal from \the [src]") - else - user << "\The [src] is empty." - return ..() /obj/machinery/pipelayer/examine(mob/user) @@ -83,7 +112,7 @@ user << "\The [src] has [metal] sheet\s, is set to produce [P_type_t], and auto-dismantling is [!a_dis?"de":""]activated." /obj/machinery/pipelayer/proc/reset() - on=0 + on = 0 return /obj/machinery/pipelayer/proc/load_metal(var/obj/item/stack/MM) @@ -100,12 +129,22 @@ return /obj/machinery/pipelayer/proc/use_metal(amount) - if(!metal || metal= 1) + var/material/M = get_material_by_name(DEFAULT_WALL_MATERIAL) + var/obj/item/stack/material/S = new M.stack_type(get_turf(src)) + S.amount = min(metal, S.max_amount) + metal -= S.amount + amount_ejected += S.amount + return amount_ejected + /obj/machinery/pipelayer/proc/dismantleFloor(var/turf/new_turf) if(istype(new_turf, /turf/simulated/floor)) var/turf/simulated/floor/T = new_turf @@ -114,11 +153,11 @@ return new_turf.is_plating() /obj/machinery/pipelayer/proc/layPipe(var/turf/w_turf,var/M_Dir,var/old_dir) - if(!on || !(M_Dir in list(1, 2, 4, 8)) || M_Dir==old_dir) + if(!on || !(M_Dir in list(NORTH, SOUTH, EAST, WEST)) || M_Dir==old_dir) return reset() - if(!use_metal(0.25)) + if(!use_metal(pipe_cost)) return reset() - var/fdirn = turn(M_Dir,180) + var/fdirn = turn(M_Dir, 180) var/p_type var/p_dir diff --git a/code/game/objects/items/weapons/circuitboards/machinery/engineering.dm b/code/game/objects/items/weapons/circuitboards/machinery/engineering.dm new file mode 100644 index 0000000000..91aefbf6a5 --- /dev/null +++ b/code/game/objects/items/weapons/circuitboards/machinery/engineering.dm @@ -0,0 +1,13 @@ +#ifndef T_BOARD +#error T_BOARD macro is not defined but we need it! +#endif + +/obj/item/weapon/circuitboard/pipelayer + name = T_BOARD("pipe layer") + build_path = /obj/machinery/pipelayer + board_type = new /datum/frame/frame_types/machine + matter = list(DEFAULT_WALL_MATERIAL = 50, "glass" = 50) + req_components = list( + /obj/item/weapon/stock_parts/motor = 1, + /obj/item/weapon/stock_parts/gear = 1, + /obj/item/weapon/stock_parts/matter_bin = 1) diff --git a/polaris.dme b/polaris.dme index 2fd1022631..657e7835ec 100644 --- a/polaris.dme +++ b/polaris.dme @@ -862,6 +862,7 @@ #include "code\game\objects\items\weapons\circuitboards\computer\telecomms.dm" #include "code\game\objects\items\weapons\circuitboards\machinery\biogenerator.dm" #include "code\game\objects\items\weapons\circuitboards\machinery\cloning.dm" +#include "code\game\objects\items\weapons\circuitboards\machinery\engineering.dm" #include "code\game\objects\items\weapons\circuitboards\machinery\jukebox.dm" #include "code\game\objects\items\weapons\circuitboards\machinery\mech_recharger.dm" #include "code\game\objects\items\weapons\circuitboards\machinery\mining_drill.dm" From c6d9f019d0b56814042ff3bf587d1bde3c200d1c Mon Sep 17 00:00:00 2001 From: Leshana Date: Thu, 30 Mar 2017 18:11:42 -0400 Subject: [PATCH 07/52] Prevent infinate steel generation by limiting pipe recycling, and not starting with steel. --- code/game/machinery/pipe/pipelayer.dm | 9 +++++++-- 1 file changed, 7 insertions(+), 2 deletions(-) diff --git a/code/game/machinery/pipe/pipelayer.dm b/code/game/machinery/pipe/pipelayer.dm index 7c5fe5ae14..40726825a1 100644 --- a/code/game/machinery/pipe/pipelayer.dm +++ b/code/game/machinery/pipe/pipelayer.dm @@ -11,7 +11,7 @@ var/P_type = 0 // Currently selected pipe type var/P_type_t = "" // Name of currently selected pipe type var/max_metal = 50 // Max capacity for internal metal storage - var/metal = 10 // Current amount in internal metal storage + var/metal = 0 // Current amount in internal metal storage var/pipe_cost = 0.25 // Cost in steel for each pipe. var/obj/item/weapon/wrench/W // Internal wrench used for wrenching down the pipes var/list/Pipes = list("regular pipes"=0,"scrubbers pipes"=31,"supply pipes"=29,"heat exchange pipes"=2) @@ -87,7 +87,10 @@ user.visible_message("[user] has [!a_dis?"de":""]activated auto-dismantling.", "You [!a_dis?"de":""]activate auto-dismantling.") return if(istype(W, /obj/item/pipe)) - if(metal + pipe_cost > max_metal) + // NOTE - We must check for matter, otherwise the (free) pipe dispenser can be used to get infinite steel. + if(!W.matter || W.matter[DEFAULT_WALL_MATERIAL] < pipe_cost * SHEET_MATERIAL_AMOUNT) + user << "\The [W] doesn't contain enough [DEFAULT_WALL_MATERIAL] to recycle." + else if(metal + pipe_cost > max_metal) user << "\The [src] is full." else user.drop_from_inventory(W) @@ -169,6 +172,8 @@ p_dir=M_Dir var/obj/item/pipe/P = new (w_turf, pipe_type=p_type, dir=p_dir) + // We used metal to make these, so should be reclaimable! + P.matter = list(DEFAULT_WALL_MATERIAL = pipe_cost * SHEET_MATERIAL_AMOUNT) P.attackby(W , src) return 1 From 98d3ebf6dd95fe077a29c958f48b5bf650e564c0 Mon Sep 17 00:00:00 2001 From: Cerebulon Date: Sat, 1 Apr 2017 03:09:55 +0100 Subject: [PATCH 08/52] Fixed full options not showing up for non-FBPs. Repeated more thorough testing with newest changes. --- code/modules/client/preference_setup/general/03_body.dm | 3 +++ 1 file changed, 3 insertions(+) diff --git a/code/modules/client/preference_setup/general/03_body.dm b/code/modules/client/preference_setup/general/03_body.dm index 1b1979e50c..47167d34cf 100644 --- a/code/modules/client/preference_setup/general/03_body.dm +++ b/code/modules/client/preference_setup/general/03_body.dm @@ -574,6 +574,9 @@ var/global/list/valid_bloodtypes = list("A+", "A-", "B+", "B-", "AB+", "AB-", "O else organ_choices += "Assisted" organ_choices += "Mechanical" + else + organ_choices += "Assisted" + organ_choices += "Mechanical" var/new_state = input(user, "What state do you wish the organ to be in?") as null|anything in organ_choices if(!new_state) return From 14fd8cce7c320ecba9806c62cddf6f7f0dd18840 Mon Sep 17 00:00:00 2001 From: Anewbe Date: Thu, 30 Mar 2017 16:18:08 -0500 Subject: [PATCH 09/52] Gives fish an item drop --- code/modules/mob/living/simple_animal/animals/fish.dm | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/code/modules/mob/living/simple_animal/animals/fish.dm b/code/modules/mob/living/simple_animal/animals/fish.dm index 88e0dc2e29..b2778d3c33 100644 --- a/code/modules/mob/living/simple_animal/animals/fish.dm +++ b/code/modules/mob/living/simple_animal/animals/fish.dm @@ -3,7 +3,7 @@ name = "fish" desc = "Its a fishy. No touchy fishy." icon = 'icons/mob/fish.dmi' - meat_type = /obj/item/weapon/reagent_containers/food/snacks + meat_type = /obj/item/weapon/reagent_containers/food/snacks/meat // By defautl they can be in any water turf. Subtypes might restrict to deep/shallow etc var/global/list/suitable_turf_types = list( From d8049a081f0357d6043ab83e7d8bdf80a589dec5 Mon Sep 17 00:00:00 2001 From: Anewbe Date: Fri, 31 Mar 2017 23:52:52 -0500 Subject: [PATCH 10/52] Shouldn't miss yourself with your hands anymore. --- code/modules/mob/living/carbon/human/human_attackhand.dm | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/code/modules/mob/living/carbon/human/human_attackhand.dm b/code/modules/mob/living/carbon/human/human_attackhand.dm index 01005b031b..5c895d43ae 100644 --- a/code/modules/mob/living/carbon/human/human_attackhand.dm +++ b/code/modules/mob/living/carbon/human/human_attackhand.dm @@ -22,7 +22,7 @@ // Should this all be in Touch()? if(istype(H)) - if(get_accuracy_penalty(H)) //Should only trigger if they're not aiming well + if(get_accuracy_penalty(H) && H != src) //Should only trigger if they're not aiming well var/hit_zone = get_zone_with_miss_chance(H.zone_sel.selecting, src, get_accuracy_penalty(H)) if(!hit_zone) H.do_attack_animation(src) From a0c1180fd02562886b2e58232b1e6c6b8d5ec635 Mon Sep 17 00:00:00 2001 From: Anewbe Date: Sat, 1 Apr 2017 00:10:18 -0500 Subject: [PATCH 11/52] Lung damage QOL --- code/modules/mob/living/carbon/human/life.dm | 7 ++++--- 1 file changed, 4 insertions(+), 3 deletions(-) diff --git a/code/modules/mob/living/carbon/human/life.dm b/code/modules/mob/living/carbon/human/life.dm index 7ecf8cd8ef..396b98df32 100644 --- a/code/modules/mob/living/carbon/human/life.dm +++ b/code/modules/mob/living/carbon/human/life.dm @@ -356,7 +356,7 @@ var/brainOxPercent = 0.02 //Default2% of your current oxyloss is applied as brain damage, 50 oxyloss is 1 brain damage if(CE_STABLE in chem_effects) brainOxPercent = 0.01 //Halved in effect - if(prob(5)) + if(oxyloss >= 20 && prob(5)) adjustBrainLoss(brainOxPercent * oxyloss) oxygen_alert = max(oxygen_alert, 1) @@ -377,8 +377,9 @@ safe_pressure_min *= 1.25 else if(breath) if(breath.total_moles < BREATH_MOLES / 10 || breath.total_moles > BREATH_MOLES * 5) - if (prob(8)) - rupture_lung() + if(is_below_sound_pressure(get_turf(src))) //No more popped lungs from choking/drowning + if (prob(8)) + rupture_lung() var/safe_exhaled_max = 10 var/safe_toxins_max = 0.2 From e116eeb91949067e9f77a55942e875500b60db2a Mon Sep 17 00:00:00 2001 From: Anewbe Date: Sat, 1 Apr 2017 11:52:50 -0500 Subject: [PATCH 12/52] Move brain damage from Oxyloss --- code/modules/mob/living/carbon/human/life.dm | 15 ++++++++------- 1 file changed, 8 insertions(+), 7 deletions(-) diff --git a/code/modules/mob/living/carbon/human/life.dm b/code/modules/mob/living/carbon/human/life.dm index 396b98df32..3c841f30da 100644 --- a/code/modules/mob/living/carbon/human/life.dm +++ b/code/modules/mob/living/carbon/human/life.dm @@ -352,13 +352,6 @@ if(!L.is_bruised() && prob(8)) rupture_lung() - if(should_have_organ("brain")) - var/brainOxPercent = 0.02 //Default2% of your current oxyloss is applied as brain damage, 50 oxyloss is 1 brain damage - if(CE_STABLE in chem_effects) - brainOxPercent = 0.01 //Halved in effect - if(oxyloss >= 20 && prob(5)) - adjustBrainLoss(brainOxPercent * oxyloss) - oxygen_alert = max(oxygen_alert, 1) return 0 @@ -926,6 +919,14 @@ for(var/atom/a in hallucinations) qdel(a) + //Brain damage from Oxyloss + if(should_have_organ("brain")) + var/brainOxPercent = 0.02 //Default2% of your current oxyloss is applied as brain damage, 50 oxyloss is 1 brain damage + if(CE_STABLE in chem_effects) + brainOxPercent = 0.01 //Halved in effect + if(oxyloss >= 20 && prob(5)) + adjustBrainLoss(brainOxPercent * oxyloss) + if(halloss >= species.total_health) src << "You're in too much pain to keep going..." src.visible_message("[src] slumps to the ground, too weak to continue fighting.") From 9b4eaf3e1dd281796c21b4f58f4f7c7d5a0425c2 Mon Sep 17 00:00:00 2001 From: Leshana Date: Sat, 1 Apr 2017 14:22:28 -0400 Subject: [PATCH 13/52] Added changelog yml --- html/changelogs/Leshana-PR-3181.yml | 4 ++++ 1 file changed, 4 insertions(+) create mode 100644 html/changelogs/Leshana-PR-3181.yml diff --git a/html/changelogs/Leshana-PR-3181.yml b/html/changelogs/Leshana-PR-3181.yml new file mode 100644 index 0000000000..dc15d267c9 --- /dev/null +++ b/html/changelogs/Leshana-PR-3181.yml @@ -0,0 +1,4 @@ +author: Leshana +delete-after: True +changes: + - rscadd: "Upgrades the automatic pipe layer to modernize its code and make it constructable! Constructs and deconstruts like other machines now. Circuits are buildable in the autolathe. Uses steel to make pipes." From 27b1db523e568e753e829dca30c346f2dd5b4120 Mon Sep 17 00:00:00 2001 From: Anewbe Date: Sat, 1 Apr 2017 15:31:06 -0500 Subject: [PATCH 14/52] Wooden circlets can now be worn as hats --- .../items/weapons/improvised_components.dm | 39 +----------- code/modules/clothing/head/flowercrowns.dm | 56 ++++++++++++++++++ code/modules/clothing/head/misc.dm | 21 ------- code/modules/materials/material_recipes.dm | 2 +- html/changelogs/Anewbe - Flowercrowns.yml | 36 +++++++++++ icons/mob/head.dmi | Bin 175256 -> 175508 bytes icons/obj/buildingobject.dmi | Bin 654 -> 585 bytes icons/obj/clothing/hats.dmi | Bin 91530 -> 91618 bytes polaris.dme | 1 + 9 files changed, 95 insertions(+), 60 deletions(-) create mode 100644 code/modules/clothing/head/flowercrowns.dm create mode 100644 html/changelogs/Anewbe - Flowercrowns.yml diff --git a/code/game/objects/items/weapons/improvised_components.dm b/code/game/objects/items/weapons/improvised_components.dm index 5d89707e62..9e6e05a807 100644 --- a/code/game/objects/items/weapons/improvised_components.dm +++ b/code/game/objects/items/weapons/improvised_components.dm @@ -67,41 +67,4 @@ qdel(I) qdel(src) user.put_in_hands(finished) - update_icon(user) - -/obj/item/woodcirclet - name = "wood circlet" - desc = "A small wood circlet for making a flower crown." - icon = 'icons/obj/buildingobject.dmi' - icon_state = "woodcirclet" - w_class = ITEMSIZE_SMALL - -/obj/item/woodcirclet/attackby(obj/item/W as obj, mob/user as mob) - var/obj/item/complete - if(istype(W,/obj/item/seeds/poppyseed)) - user << "You attach the poppy to the circlet and create a beautiful flower crown." - complete = new /obj/item/clothing/head/poppy_crown(get_turf(user)) - user.drop_from_inventory(W) - user.drop_from_inventory(src) - qdel(W) - qdel(src) - user.put_in_hands(complete) - return - else if(istype(W,/obj/item/seeds/sunflowerseed)) - user << "You attach the sunflower to the circlet and create a beautiful flower crown." - complete = new /obj/item/clothing/head/sunflower_crown(get_turf(user)) - user.drop_from_inventory(W) - user.drop_from_inventory(src) - qdel(W) - qdel(src) - user.put_in_hands(complete) - return - else if(istype(W,/obj/item/seeds/lavenderseed)) - user << "You attach the lavender to the circlet and create a beautiful flower crown." - complete = new /obj/item/clothing/head/lavender_crown(get_turf(user)) - user.drop_from_inventory(W) - user.drop_from_inventory(src) - qdel(W) - qdel(src) - user.put_in_hands(complete) - return \ No newline at end of file + update_icon(user) \ No newline at end of file diff --git a/code/modules/clothing/head/flowercrowns.dm b/code/modules/clothing/head/flowercrowns.dm new file mode 100644 index 0000000000..6c6469de73 --- /dev/null +++ b/code/modules/clothing/head/flowercrowns.dm @@ -0,0 +1,56 @@ +/obj/item/clothing/head/woodcirclet + name = "wood circlet" + desc = "A small wood circlet for making a flower crown." + icon_state = "woodcirclet" + w_class = ITEMSIZE_SMALL + body_parts_covered = 0 + +/obj/item/clothing/head/woodcirclet/attackby(obj/item/W as obj, mob/user as mob) + var/obj/item/complete + if(istype(W,/obj/item/seeds/poppyseed)) + user << "You attach the poppy to the circlet and create a beautiful flower crown." + complete = new /obj/item/clothing/head/poppy_crown(get_turf(user)) + user.drop_from_inventory(W) + user.drop_from_inventory(src) + qdel(W) + qdel(src) + user.put_in_hands(complete) + return + else if(istype(W,/obj/item/seeds/sunflowerseed)) + user << "You attach the sunflower to the circlet and create a beautiful flower crown." + complete = new /obj/item/clothing/head/sunflower_crown(get_turf(user)) + user.drop_from_inventory(W) + user.drop_from_inventory(src) + qdel(W) + qdel(src) + user.put_in_hands(complete) + return + else if(istype(W,/obj/item/seeds/lavenderseed)) + user << "You attach the lavender to the circlet and create a beautiful flower crown." + complete = new /obj/item/clothing/head/lavender_crown(get_turf(user)) + user.drop_from_inventory(W) + user.drop_from_inventory(src) + qdel(W) + qdel(src) + user.put_in_hands(complete) + return + +//Flower crowns + +/obj/item/clothing/head/sunflower_crown + name = "sunflower crown" + desc = "A flower crown weaved with sunflowers." + icon_state = "sunflower_crown" + body_parts_covered = 0 + +/obj/item/clothing/head/lavender_crown + name = "lavender crown" + desc = "A flower crown weaved with lavender." + icon_state = "lavender_crown" + body_parts_covered = 0 + +/obj/item/clothing/head/poppy_crown + name = "poppy crown" + desc = "A flower crown weaved with poppies." + icon_state = "poppy_crown" + body_parts_covered = 0 \ No newline at end of file diff --git a/code/modules/clothing/head/misc.dm b/code/modules/clothing/head/misc.dm index b044ba949a..89dde52fbc 100644 --- a/code/modules/clothing/head/misc.dm +++ b/code/modules/clothing/head/misc.dm @@ -346,25 +346,4 @@ name = "sombrero" desc = "A wide-brimmed hat popularly worn in Mexico." icon_state = "sombrero" - body_parts_covered = 0 - - -//Flower crowns - -/obj/item/clothing/head/sunflower_crown - name = "sunflower crown" - desc = "A flower crown weaved with sunflowers." - icon_state = "sunflower_crown" - body_parts_covered = 0 - -/obj/item/clothing/head/lavender_crown - name = "lavender crown" - desc = "A flower crown weaved with lavender." - icon_state = "lavender_crown" - body_parts_covered = 0 - -/obj/item/clothing/head/poppy_crown - name = "poppy crown" - desc = "A flower crown weaved with poppies." - icon_state = "poppy_crown" body_parts_covered = 0 \ No newline at end of file diff --git a/code/modules/materials/material_recipes.dm b/code/modules/materials/material_recipes.dm index e7c7d0ecd9..79e0ce03ae 100644 --- a/code/modules/materials/material_recipes.dm +++ b/code/modules/materials/material_recipes.dm @@ -120,7 +120,7 @@ /material/wood/generate_recipes() ..() recipes += new/datum/stack_recipe("wooden sandals", /obj/item/clothing/shoes/sandal, 1) - recipes += new/datum/stack_recipe("wood circlet", /obj/item/woodcirclet, 1) + recipes += new/datum/stack_recipe("wood circlet", /obj/item/clothing/head/woodcirclet, 1) recipes += new/datum/stack_recipe("clipboard", /obj/item/weapon/clipboard, 1) recipes += new/datum/stack_recipe("wood floor tile", /obj/item/stack/tile/wood, 1, 4, 20) recipes += new/datum/stack_recipe("wooden chair", /obj/structure/bed/chair/wood, 3, time = 10, one_per_turf = 1, on_floor = 1) diff --git a/html/changelogs/Anewbe - Flowercrowns.yml b/html/changelogs/Anewbe - Flowercrowns.yml new file mode 100644 index 0000000000..fee55236d5 --- /dev/null +++ b/html/changelogs/Anewbe - Flowercrowns.yml @@ -0,0 +1,36 @@ +################################ +# 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 +# rscadd (general adding of nice things) +# rscdel (general deleting of nice things) +# imageadd +# imagedel +# maptweak +# spellcheck (typo fixes) +# experiment +################################# + +# Your name. +author: Anewbe + +# 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, all entries are changed into a single [] after a master changelog generation. Just remove the brackets when you add new entries. +# Please surround your changes in double quotes ("), as certain characters otherwise screws up compiling. The quotes will not show up in the changelog. +changes: + - rscadd: "Wooden circlets can now be worn on the head." diff --git a/icons/mob/head.dmi b/icons/mob/head.dmi index dff3abd7d714d50b626de631906ffd5effde8041..7407aeefb54779a91fe258cd54ab87099e141213 100644 GIT binary patch delta 18735 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
Hu_SLuPE5O
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

delta 18466
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
FO#rihB7*<`

diff --git a/icons/obj/buildingobject.dmi b/icons/obj/buildingobject.dmi
index d55e9ec99fb882b2865697403be3364d51ad35c4..76fa0e43500c265ff93b14161e5a3d38d02cdce0 100644
GIT binary patch
delta 396
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
z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
I)-vRO0R_-&h5!Hn

delta 12983
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
Date: Sat, 1 Apr 2017 16:46:28 -0700
Subject: [PATCH 15/52] Several simple_animals have their own languages, with
 custom syllables.

---
 code/__defines/species_languages.dm           |  2 +-
 code/modules/mob/language/monkey.dm           | 48 +++++++++++++++++++
 .../mob/living/simple_animal/animals/bat.dm   |  2 +
 .../mob/living/simple_animal/animals/cat.dm   |  1 +
 .../mob/living/simple_animal/animals/corgi.dm |  1 +
 .../simple_animal/animals/farm_animals.dm     |  2 +
 .../mob/living/simple_animal/animals/goose.dm |  1 +
 .../mob/living/simple_animal/animals/mouse.dm |  1 +
 .../living/simple_animal/animals/parrot.dm    |  1 +
 .../living/simple_animal/animals/penguin.dm   |  1 +
 html/changelogs/Atermonera - Translators.yml  | 37 ++++++++++++++
 11 files changed, 96 insertions(+), 1 deletion(-)
 create mode 100644 html/changelogs/Atermonera - Translators.yml

diff --git a/code/__defines/species_languages.dm b/code/__defines/species_languages.dm
index 4e5b6d6dfb..7ad84b4a79 100644
--- a/code/__defines/species_languages.dm
+++ b/code/__defines/species_languages.dm
@@ -52,4 +52,4 @@
 #define INNATE       64  // All mobs can be assumed to speak and understand this language. (audible emotes)
 #define NO_TALK_MSG  128 // Do not show the "\The [speaker] talks into \the [radio]" message
 #define NO_STUTTER   256 // No stuttering, slurring, or other speech problems
-#define ALT_TRANSMIT 512 // Language is not based on vision or sound (Todo: add this into the say code and use it for the rootspeak languages)
\ No newline at end of file
+#define ALT_TRANSMIT 512 // Language is not based on vision or sound (Todo: add this into the say code and use it for the rootspeak languages)
diff --git a/code/modules/mob/language/monkey.dm b/code/modules/mob/language/monkey.dm
index ce276a358a..8541c65c05 100644
--- a/code/modules/mob/language/monkey.dm
+++ b/code/modules/mob/language/monkey.dm
@@ -5,18 +5,66 @@
 	ask_verb = "chimpers"
 	exclaim_verb = "screeches"
 	key = "6"
+	machine_understands = 0
 
 /datum/language/skrell/monkey
 	name = "Neaera"
 	desc = "Squik squik squik."
 	key = "8"
+	machine_understands = 0
 
 /datum/language/unathi/monkey
 	name = "Stok"
 	desc = "Hiss hiss hiss."
 	key = "7"
+	machine_understands = 0
 
 /datum/language/tajaran/monkey
 	name = "Farwa"
 	desc = "Meow meow meow."
 	key = "9"
+	machine_understands = 0
+
+/datum/language/corgi
+	name = "Dog"
+	desc = "Woof woof woof."
+	speech_verb = "barks"
+	ask_verb = "woofs"
+	exclaim_verb = "howls"
+	key = "n"
+	machine_understands = 0
+	space_chance = 100
+	syllables = list("bark", "woof", "bowwow", "yap", "arf")
+
+/datum/language/cat
+	name = "Cat"
+	desc = "Meow meow meow."
+	speech_verb = "meows"
+	ask_verb = "mrowls"
+	exclaim_verb = "yowls"
+	key = "c"
+	machine_understands = 0
+	space_chance = 100
+	syllables = list("meow", "mrowl", "purr", "meow", "meow", "meow")
+
+/datum/language/mouse
+	name = "Mouse"
+	desc = "Squeak squeak. *Nibbles on cheese*"
+	speech_verb = "squeaks"
+	ask_verb = "squeaks"
+	exclaim_verb = "squeaks"
+	key = "m"
+	machine_understands = 0
+	space_chance = 100
+	syllables = list("squeak")	// , "gripes", "oi", "meow")
+
+/datum/language/bird
+	name = "Bird"
+	desc = "Chirp chirp, give me food"
+	speech_verb = "chirps"
+	ask_verb = "tweets"
+	exclaim_verb = "squawks"
+	key = "m"
+	machine_understands = 0
+	space_chance = 100
+	syllables = list("chirp", "squawk", "tweet")
\ No newline at end of file
diff --git a/code/modules/mob/living/simple_animal/animals/bat.dm b/code/modules/mob/living/simple_animal/animals/bat.dm
index d7ed8e5f40..1d722c0b8a 100644
--- a/code/modules/mob/living/simple_animal/animals/bat.dm
+++ b/code/modules/mob/living/simple_animal/animals/bat.dm
@@ -36,6 +36,8 @@
 	max_n2 = 0
 	minbodytemp = 0
 
+	has_langs = list("Mouse")
+
 	meat_type = /obj/item/weapon/reagent_containers/food/snacks/meat
 
 	var/mob/living/owner
diff --git a/code/modules/mob/living/simple_animal/animals/cat.dm b/code/modules/mob/living/simple_animal/animals/cat.dm
index 808ebdb8fa..9b3df51247 100644
--- a/code/modules/mob/living/simple_animal/animals/cat.dm
+++ b/code/modules/mob/living/simple_animal/animals/cat.dm
@@ -27,6 +27,7 @@
 	holder_type = /obj/item/weapon/holder/cat
 	mob_size = MOB_SMALL
 
+	has_langs = list("Cat")
 	speak_chance = 1
 	speak = list("Meow!","Esp!","Purr!","HSSSSS")
 	speak_emote = list("purrs", "meows")
diff --git a/code/modules/mob/living/simple_animal/animals/corgi.dm b/code/modules/mob/living/simple_animal/animals/corgi.dm
index 8f4adf8e54..11b2302aaa 100644
--- a/code/modules/mob/living/simple_animal/animals/corgi.dm
+++ b/code/modules/mob/living/simple_animal/animals/corgi.dm
@@ -17,6 +17,7 @@
 	see_in_dark = 5
 	mob_size = 8
 
+	has_langs = list("Dog")
 	speak_chance = 1
 	speak = list("YAP", "Woof!", "Bark!", "AUUUUUU")
 	speak_emote = list("barks", "woofs")
diff --git a/code/modules/mob/living/simple_animal/animals/farm_animals.dm b/code/modules/mob/living/simple_animal/animals/farm_animals.dm
index fc21fbddfd..e65654cdad 100644
--- a/code/modules/mob/living/simple_animal/animals/farm_animals.dm
+++ b/code/modules/mob/living/simple_animal/animals/farm_animals.dm
@@ -167,6 +167,7 @@
 	response_harm   = "kicks"
 	attacktext = "kicked"
 
+	has_langs = list("Bird")
 	speak_chance = 2
 	speak = list("Cherp.","Cherp?","Chirrup.","Cheep!")
 	speak_emote = list("cheeps")
@@ -213,6 +214,7 @@ var/global/chicken_count = 0
 	response_harm   = "kicks"
 	attacktext = "kicked"
 
+	has_langs = list("Bird")
 	speak_chance = 2
 	speak = list("Cluck!","BWAAAAARK BWAK BWAK BWAK!","Bwaak bwak.")
 	speak_emote = list("clucks","croons")
diff --git a/code/modules/mob/living/simple_animal/animals/goose.dm b/code/modules/mob/living/simple_animal/animals/goose.dm
index 217ea0b024..ded7c5214a 100644
--- a/code/modules/mob/living/simple_animal/animals/goose.dm
+++ b/code/modules/mob/living/simple_animal/animals/goose.dm
@@ -35,6 +35,7 @@
 	max_n2 = 0
 	minbodytemp = 0
 
+	has_langs = list("Bird")
 	speak_chance = 10
 	speak = list("HONK!")
 	emote_hear = list("honks loudly!")
diff --git a/code/modules/mob/living/simple_animal/animals/mouse.dm b/code/modules/mob/living/simple_animal/animals/mouse.dm
index 43b12961bd..cb06aecb7e 100644
--- a/code/modules/mob/living/simple_animal/animals/mouse.dm
+++ b/code/modules/mob/living/simple_animal/animals/mouse.dm
@@ -29,6 +29,7 @@
 	minbodytemp = 223		//Below -50 Degrees Celcius
 	maxbodytemp = 323	//Above 50 Degrees Celcius
 
+	has_langs = list("Mouse")
 	speak_chance = 1
 	speak = list("Squeek!","SQUEEK!","Squeek?")
 	speak_emote = list("squeeks","squeeks","squiks")
diff --git a/code/modules/mob/living/simple_animal/animals/parrot.dm b/code/modules/mob/living/simple_animal/animals/parrot.dm
index 03f0261688..0f0fcb3a6b 100644
--- a/code/modules/mob/living/simple_animal/animals/parrot.dm
+++ b/code/modules/mob/living/simple_animal/animals/parrot.dm
@@ -46,6 +46,7 @@
 	stop_automated_movement = 1
 	universal_speak = 1
 
+	has_langs = list("Bird")
 	speak_chance = 2
 	speak = list("Hi","Hello!","Cracker?","BAWWWWK george mellons griffing me")
 	speak_emote = list("squawks","says","yells")
diff --git a/code/modules/mob/living/simple_animal/animals/penguin.dm b/code/modules/mob/living/simple_animal/animals/penguin.dm
index 40c085a72f..90074edef5 100644
--- a/code/modules/mob/living/simple_animal/animals/penguin.dm
+++ b/code/modules/mob/living/simple_animal/animals/penguin.dm
@@ -20,6 +20,7 @@
 	melee_damage_upper = 15
 	attacktext = "pecked"
 
+	has_langs = list("Bird")
 	speak_chance = 0
 
 	meat_type = /obj/item/weapon/reagent_containers/food/snacks/meat
diff --git a/html/changelogs/Atermonera - Translators.yml b/html/changelogs/Atermonera - Translators.yml
new file mode 100644
index 0000000000..278506535c
--- /dev/null
+++ b/html/changelogs/Atermonera - Translators.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
+#   rscadd (general adding of nice things)
+#   rscdel (general deleting of nice things)
+#   imageadd
+#   imagedel
+#   maptweak
+#   spellcheck (typo fixes)
+#   experiment
+#################################
+
+# Your name.  
+author: Atermonera
+
+# 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, all entries are changed into a single [] after a master changelog generation. Just remove the brackets when you add new entries.
+# Please surround your changes in  double quotes ("), as certain characters otherwise screws up compiling. The quotes will not show up in the changelog.
+changes: 
+  - rscadd: "Common simple animals now have their own language, and as such are no longer understandable by humans."
+  - bugfix: "Translators can't understand the same languages that recorders can't, including the new animal languages."

From 971cd2da3025f6c8bdae9724aa8a8a7ed72b224c Mon Sep 17 00:00:00 2001
From: Atermonera 
Date: Sat, 1 Apr 2017 16:47:54 -0700
Subject: [PATCH 16/52] Translators don't understand animals and other
 languages that recorders can't record.

---
 code/game/objects/items/devices/translator.dm | 6 +++++-
 code/modules/mob/language/outsider.dm         | 3 +++
 code/modules/mob/language/station.dm          | 2 ++
 code/modules/mob/language/synthetic.dm        | 2 ++
 4 files changed, 12 insertions(+), 1 deletion(-)

diff --git a/code/game/objects/items/devices/translator.dm b/code/game/objects/items/devices/translator.dm
index 0bb26b32bc..fbe8dde763 100644
--- a/code/game/objects/items/devices/translator.dm
+++ b/code/game/objects/items/devices/translator.dm
@@ -16,7 +16,8 @@
 	if(!listening) //Turning ON
 		langset = input(user,"Translate to which of your languages?","Language Selection") as null|anything in user.languages
 		if(langset)
-			if(langset && ((langset.flags & NONVERBAL) || (langset.flags & HIVEMIND)))
+			if(langset && ((langset.flags & NONVERBAL) || (!langset.machine_understands)))
+				//Nonverbal means no spoken words to translate, so I didn't see the need to remove it.
 				to_chat(user, "\The [src] cannot output that language.")
 				return
 			else
@@ -49,6 +50,9 @@
 	if (language && (language.flags & NONVERBAL))
 		return //Not gonna translate sign language
 
+	if (!language.machine_understands)
+		return //Any other languages that it can't translate.
+
 	if (visual && ((L.sdisabilities & BLIND) || L.eye_blind))
 		return //Can't see the screen, don't get the message
 
diff --git a/code/modules/mob/language/outsider.dm b/code/modules/mob/language/outsider.dm
index 8c174a2ff7..3e85f4efec 100644
--- a/code/modules/mob/language/outsider.dm
+++ b/code/modules/mob/language/outsider.dm
@@ -4,6 +4,7 @@
 	speech_verb = "says"
 	colour = "changeling"
 	key = "g"
+	machine_understands = 0
 	flags = RESTRICTED | HIVEMIND
 
 /datum/language/ling/broadcast(var/mob/living/speaker,var/message,var/speaker_mask)
@@ -21,6 +22,7 @@
 	exclaim_verb = "sings"
 	colour = "alien"
 	key = "x"
+	machine_understands = 0
 	flags = RESTRICTED | HIVEMIND
 
 /datum/language/corticalborer/broadcast(var/mob/living/speaker,var/message,var/speaker_mask)
@@ -80,4 +82,5 @@
 	exclaim_verb = "chants"
 	colour = "cult"
 	key = "y"
+	machine_understands = 0
 	flags = RESTRICTED | HIVEMIND
diff --git a/code/modules/mob/language/station.dm b/code/modules/mob/language/station.dm
index 8e2f2987c9..85942fcb4e 100644
--- a/code/modules/mob/language/station.dm
+++ b/code/modules/mob/language/station.dm
@@ -6,6 +6,7 @@
 	exclaim_verb = "rustles"
 	colour = "soghun"
 	key = "q"
+	machine_understands = 0
 	flags = RESTRICTED
 	syllables = list("hs","zt","kr","st","sh")
 
@@ -18,6 +19,7 @@
 	name = LANGUAGE_ROOTGLOBAL
 	desc = "A complex language known instinctively by Dionaea, 'spoken' by emitting modulated radio waves. This version uses low frequency waves for slow communication at long ranges."
 	key = "w"
+	machine_understands = 0
 	flags = RESTRICTED | HIVEMIND
 
 /datum/language/unathi
diff --git a/code/modules/mob/language/synthetic.dm b/code/modules/mob/language/synthetic.dm
index 2a2ddb0ff9..36dd57bc69 100644
--- a/code/modules/mob/language/synthetic.dm
+++ b/code/modules/mob/language/synthetic.dm
@@ -6,6 +6,7 @@
 	ask_verb = "queries"
 	exclaim_verb = "declares"
 	key = "b"
+	machine_understands = 0
 	flags = RESTRICTED | HIVEMIND
 	var/drone_only
 
@@ -64,5 +65,6 @@
 	exclaim_verb = "transmits"
 	colour = "say_quote"
 	key = "d"
+	machine_understands = 0
 	flags = RESTRICTED | HIVEMIND
 	drone_only = 1

From d9c68e5b9bdbc0fb5645370a37832e3930a51e0d Mon Sep 17 00:00:00 2001
From: Atermonera 
Date: Sat, 1 Apr 2017 17:49:18 -0700
Subject: [PATCH 17/52] Translators still check against hiveminds

---
 code/game/objects/items/devices/translator.dm | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/code/game/objects/items/devices/translator.dm b/code/game/objects/items/devices/translator.dm
index fbe8dde763..90fb43724e 100644
--- a/code/game/objects/items/devices/translator.dm
+++ b/code/game/objects/items/devices/translator.dm
@@ -16,7 +16,7 @@
 	if(!listening) //Turning ON
 		langset = input(user,"Translate to which of your languages?","Language Selection") as null|anything in user.languages
 		if(langset)
-			if(langset && ((langset.flags & NONVERBAL) || (!langset.machine_understands)))
+			if(langset && ((langset.flags & NONVERBAL) || (langset.flags & HIVEMIND) || (!langset.machine_understands)))
 				//Nonverbal means no spoken words to translate, so I didn't see the need to remove it.
 				to_chat(user, "\The [src] cannot output that language.")
 				return

From 88b22cd5da6082ad83b7023cc60f7fdee0666589 Mon Sep 17 00:00:00 2001
From: Anewbe 
Date: Sat, 1 Apr 2017 22:41:46 -0500
Subject: [PATCH 18/52] Tweaks the Vox weapons

---
 code/modules/projectiles/effects.dm  |  23 ++++++++++++++++++++
 code/modules/projectiles/guns/vox.dm |  30 ++++++++++++++++++---------
 icons/effects/projectiles.dmi        | Bin 36414 -> 37902 bytes
 3 files changed, 43 insertions(+), 10 deletions(-)

diff --git a/code/modules/projectiles/effects.dm b/code/modules/projectiles/effects.dm
index 71d5d12d2e..ba6a749ebe 100644
--- a/code/modules/projectiles/effects.dm
+++ b/code/modules/projectiles/effects.dm
@@ -225,9 +225,32 @@
 	light_power = 0.5
 	light_color = "#00C6FF"
 
+//----------------------------
+// Dark matter stun
+//----------------------------
+
+/obj/effect/projectile/darkmatterstun/tracer
+	icon_state = "darkt"
+	light_range = 2
+	light_power = 0.5
+	light_color = "#8837A3"
+
+/obj/effect/projectile/darkmatterstun/muzzle
+	icon_state = "muzzle_darkt"
+	light_range = 2
+	light_power = 0.5
+	light_color = "#8837A3"
+
+/obj/effect/projectile/darkmatterstun/impact
+	icon_state = "impact_darkt"
+	light_range = 2
+	light_power = 0.5
+	light_color = "#8837A3"
+
 //----------------------------
 // Dark matter
 //----------------------------
+
 /obj/effect/projectile/darkmatter/tracer
 	icon_state = "darkb"
 	light_range = 2
diff --git a/code/modules/projectiles/guns/vox.dm b/code/modules/projectiles/guns/vox.dm
index 857b56fa6b..d3a846ab08 100644
--- a/code/modules/projectiles/guns/vox.dm
+++ b/code/modules/projectiles/guns/vox.dm
@@ -58,16 +58,30 @@
 	item_state = "darkcannon"
 	fire_sound = 'sound/weapons/eLuger.ogg'
 	w_class = ITEMSIZE_HUGE
-	charge_cost = 600
-	projectile_type = /obj/item/projectile/beam/darkmatter
+	charge_cost = 300
+	projectile_type = /obj/item/projectile/beam/stun/darkmatter
 	self_recharge = 1
 	accuracy = 2
 
 	firemodes = list(
+		list(mode_name="stunning", burst=1, fire_delay=null, move_delay=null, burst_accuracy=list(2), dispersion=null, projectile_type=/obj/item/projectile/beam/stun/darkmatter, charge_cost = 300),
 		list(mode_name="focused", burst=1, fire_delay=null, move_delay=null, burst_accuracy=list(2), dispersion=null, projectile_type=/obj/item/projectile/beam/darkmatter, charge_cost = 600),
 		list(mode_name="scatter burst", burst=8, fire_delay=null, move_delay=4, burst_accuracy=list(0, 0, 0, 0, 0, 0, 0, 0), dispersion=list(3, 3, 3, 3, 3, 3, 3, 3, 3), projectile_type=/obj/item/projectile/energy/darkmatter, charge_cost = 300),
 		)
 
+/obj/item/projectile/beam/stun/darkmatter
+	name = "dark matter wave"
+	icon_state = "darkt"
+	nodamage = 1
+	taser_effect = 1
+	agony = 55
+	damage_type = HALLOSS
+	light_color = "#8837A3"
+
+	muzzle_type = /obj/effect/projectile/darkmatterstun/muzzle
+	tracer_type = /obj/effect/projectile/darkmatterstun/tracer
+	impact_type = /obj/effect/projectile/darkmatterstun/impact
+
 /obj/item/projectile/beam/darkmatter
 	name = "dark matter bolt"
 	icon_state = "darkb"
@@ -107,33 +121,29 @@
 	self_recharge = 1
 	charge_cost = 600
 
-	projectile_type=/obj/item/projectile/sonic/strong
+	projectile_type=/obj/item/projectile/sonic/weak
 
 	firemodes = list(
+		list(mode_name="suppressive", projectile_type=/obj/item/projectile/sonic/weak, charge_cost = 200),
 		list(mode_name="normal", projectile_type=/obj/item/projectile/sonic/strong, charge_cost = 600),
-		list(mode_name="suppressive", projectile_type=/obj/item/projectile/sonic/weak, charge_cost = 300),
 		)
 
 /obj/item/projectile/sonic
 	name = "sonic pulse"
 	icon_state = "sound"
-	damage = 15
+	damage = 5
 	armor_penetration = 30
 	damage_type = BRUTE
 	check_armour = "melee"
 	embed_chance = 0
 	vacuum_traversal = 0
 
-//	var/amplitude = 10		//Roughly how loud it is, changes the way damage will work, and such
-
 /obj/item/projectile/sonic/weak
-	agony = 30
+	agony = 50
 
 /obj/item/projectile/sonic/strong
 	damage = 45
 
-//Already have thoughts on how to improve this, will take a day or two after initial testing. - Anewbe
-
 /obj/item/projectile/sonic/strong/on_hit(var/atom/movable/target, var/blocked = 0)
 	if(ismob(target))
 		var/throwdir = get_dir(firer,target)
diff --git a/icons/effects/projectiles.dmi b/icons/effects/projectiles.dmi
index 9664b3e13bcc2dfd6272749124c1dace98388ae6..b20126b60db2664fa2c771d0fc3bceaaeaa37e8f 100644
GIT binary patch
literal 37902
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
i5uRO1b;;r8@c#i5mi$CelqYon0000
Date: Sun, 2 Apr 2017 01:26:40 -0400
Subject: [PATCH 19/52] Makes Carthatoline actually creatable

The ID for dylovene is "anti_toxin" not "dylovene"
---
 code/modules/reagents/Chemistry-Recipes.dm | 4 ++--
 1 file changed, 2 insertions(+), 2 deletions(-)

diff --git a/code/modules/reagents/Chemistry-Recipes.dm b/code/modules/reagents/Chemistry-Recipes.dm
index a0a6a89cb2..41ad4cb5c6 100644
--- a/code/modules/reagents/Chemistry-Recipes.dm
+++ b/code/modules/reagents/Chemistry-Recipes.dm
@@ -164,7 +164,7 @@
 	name = "Carthatoline"
 	id = "carthatoline"
 	result = "carthatoline"
-	required_reagents = list("dylovene" = 1, "carbon" = 2, "phoron" = 0.1)
+	required_reagents = list("anti_toxin" = 1, "carbon" = 2, "phoron" = 0.1)
 	catalysts = list("phoron" = 1)
 	result_amount = 2
 
@@ -1840,4 +1840,4 @@
 	id = "berrytea"
 	result = "berrytea"
 	required_reagents = list("tea" = 5, "berryjuice" = 1)
-	result_amount = 6
\ No newline at end of file
+	result_amount = 6

From 8e9db2b7d4f95980c0c2bdf626a02375acadfc7b Mon Sep 17 00:00:00 2001
From: Anewbe 
Date: Sun, 2 Apr 2017 00:28:20 -0500
Subject: [PATCH 20/52] Aprons now have pockets

---
 code/datums/supplypacks/costumes.dm                         | 2 +-
 code/datums/supplypacks/hydroponics.dm                      | 2 +-
 code/game/jobs/job/civilian.dm                              | 2 +-
 code/game/objects/effects/landmarks.dm                      | 2 +-
 code/game/objects/random/random.dm                          | 6 +++---
 .../structures/crates_lockers/closets/secure/hydroponics.dm | 4 ++--
 code/modules/admin/verbs/debug.dm                           | 2 +-
 .../modules/client/preference_setup/loadout/loadout_suit.dm | 4 ++--
 code/modules/clothing/suits/jobs.dm                         | 2 +-
 code/modules/clothing/suits/miscellaneous.dm                | 2 +-
 maps/northern_star/polaris-1.dmm                            | 2 +-
 11 files changed, 15 insertions(+), 15 deletions(-)

diff --git a/code/datums/supplypacks/costumes.dm b/code/datums/supplypacks/costumes.dm
index 321c0fde0e..480913d858 100644
--- a/code/datums/supplypacks/costumes.dm
+++ b/code/datums/supplypacks/costumes.dm
@@ -78,7 +78,7 @@
 			/obj/item/clothing/under/scratch,
 			/obj/item/clothing/under/wedding/bride_white,
 			/obj/item/clothing/suit/chef,
-			/obj/item/clothing/suit/apron/overalls,
+			/obj/item/clothing/suit/storage/apron/overalls,
 			/obj/item/clothing/under/redcoat,
 			/obj/item/clothing/under/kilt
 			)
diff --git a/code/datums/supplypacks/hydroponics.dm b/code/datums/supplypacks/hydroponics.dm
index a962986587..6b737bfc57 100644
--- a/code/datums/supplypacks/hydroponics.dm
+++ b/code/datums/supplypacks/hydroponics.dm
@@ -51,7 +51,7 @@
 			/obj/item/weapon/material/minihoe,
 			/obj/item/device/analyzer/plant_analyzer,
 			/obj/item/clothing/gloves/botanic_leather,
-			/obj/item/clothing/suit/apron,
+			/obj/item/clothing/suit/storage/apron,
 			/obj/item/weapon/material/minihoe,
 			/obj/item/weapon/storage/box/botanydisk
 			)
diff --git a/code/game/jobs/job/civilian.dm b/code/game/jobs/job/civilian.dm
index 02a79c25e4..e4a42498d6 100644
--- a/code/game/jobs/job/civilian.dm
+++ b/code/game/jobs/job/civilian.dm
@@ -80,7 +80,7 @@
 		H.equip_to_slot_or_del(new /obj/item/clothing/under/rank/hydroponics(H), slot_w_uniform)
 		H.equip_to_slot_or_del(new /obj/item/clothing/shoes/black(H), slot_shoes)
 		H.equip_to_slot_or_del(new /obj/item/clothing/gloves/botanic_leather(H), slot_gloves)
-		H.equip_to_slot_or_del(new /obj/item/clothing/suit/apron(H), slot_wear_suit)
+		H.equip_to_slot_or_del(new /obj/item/clothing/suit/storage/apron(H), slot_wear_suit)
 		H.equip_to_slot_or_del(new /obj/item/device/analyzer/plant_analyzer(H), slot_s_store)
 		H.equip_to_slot_or_del(new /obj/item/device/pda/botanist(H), slot_belt)
 		switch(H.backbag)
diff --git a/code/game/objects/effects/landmarks.dm b/code/game/objects/effects/landmarks.dm
index 3ecb7c7b2d..e80b7d8f10 100644
--- a/code/game/objects/effects/landmarks.dm
+++ b/code/game/objects/effects/landmarks.dm
@@ -194,7 +194,7 @@
 	new /obj/item/clothing/under/waiter(src.loc)
 	var/CHOICE= pick( /obj/item/clothing/head/kitty, /obj/item/clothing/head/rabbitears)
 	new CHOICE(src.loc)
-	new /obj/item/clothing/suit/apron(src.loc)
+	new /obj/item/clothing/suit/storage/apron(src.loc)
 	delete_me = 1
 
 /obj/effect/landmark/costume/pirate/New()
diff --git a/code/game/objects/random/random.dm b/code/game/objects/random/random.dm
index 5b1e33e5fd..8ac7875bb6 100644
--- a/code/game/objects/random/random.dm
+++ b/code/game/objects/random/random.dm
@@ -583,7 +583,7 @@ something, make sure it's not in one of the other lists.*/
 				prob(3);/obj/item/clothing/suit/storage/toggle/brown_jacket,
 				prob(3);/obj/item/clothing/suit/storage/toggle/leather_jacket,
 				prob(1);/obj/item/clothing/suit/storage/vest/press,
-				prob(3);/obj/item/clothing/suit/apron,
+				prob(3);/obj/item/clothing/suit/storage/apron,
 				prob(4);/obj/item/clothing/under/color/grey,
 				prob(2);/obj/item/clothing/under/syndicate/tacticool,
 				prob(2);/obj/item/clothing/under/pants/camo,
@@ -795,8 +795,8 @@ something, make sure it's not in one of the other lists.*/
 				prob(3);/obj/item/clothing/glasses/material,
 				prob(3);/obj/item/clothing/head/soft/yellow,
 				prob(4);/obj/item/clothing/suit/storage/hazardvest,
-				prob(3);/obj/item/clothing/suit/apron/overalls,
-				prob(4);/obj/item/clothing/suit/apron,
+				prob(3);/obj/item/clothing/suit/storage/apron/overalls,
+				prob(4);/obj/item/clothing/suit/storage/apron,
 				prob(2);/obj/item/clothing/under/syndicate/tacticool,
 				prob(1);/obj/item/clothing/under/syndicate/combat,
 				prob(2);/obj/item/clothing/accessory/storage/black_vest,
diff --git a/code/game/objects/structures/crates_lockers/closets/secure/hydroponics.dm b/code/game/objects/structures/crates_lockers/closets/secure/hydroponics.dm
index bf7aa92fa6..09161a9f48 100644
--- a/code/game/objects/structures/crates_lockers/closets/secure/hydroponics.dm
+++ b/code/game/objects/structures/crates_lockers/closets/secure/hydroponics.dm
@@ -13,9 +13,9 @@
 		..()
 		switch(rand(1,2))
 			if(1)
-				new /obj/item/clothing/suit/apron(src)
+				new /obj/item/clothing/suit/storage/apron(src)
 			if(2)
-				new /obj/item/clothing/suit/apron/overalls(src)
+				new /obj/item/clothing/suit/storage/apron/overalls(src)
 		new /obj/item/weapon/storage/bag/plants(src)
 		new /obj/item/clothing/under/rank/hydroponics(src)
 		new /obj/item/device/analyzer/plant_analyzer(src)
diff --git a/code/modules/admin/verbs/debug.dm b/code/modules/admin/verbs/debug.dm
index d50001892b..8112cb6dd0 100644
--- a/code/modules/admin/verbs/debug.dm
+++ b/code/modules/admin/verbs/debug.dm
@@ -565,7 +565,7 @@
 			M.equip_to_slot_or_del(new /obj/item/clothing/head/welding(M), slot_head)
 			M.equip_to_slot_or_del(new /obj/item/device/radio/headset(M), slot_l_ear)
 			M.equip_to_slot_or_del(new /obj/item/clothing/glasses/thermal/plain/monocle(M), slot_glasses)
-			M.equip_to_slot_or_del(new /obj/item/clothing/suit/apron(M), slot_wear_suit)
+			M.equip_to_slot_or_del(new /obj/item/clothing/suit/storage/apron(M), slot_wear_suit)
 			M.equip_to_slot_or_del(new /obj/item/weapon/material/knife(M), slot_l_store)
 			M.equip_to_slot_or_del(new /obj/item/weapon/surgical/scalpel(M), slot_r_store)
 
diff --git a/code/modules/client/preference_setup/loadout/loadout_suit.dm b/code/modules/client/preference_setup/loadout/loadout_suit.dm
index 2c602bcc6d..2e36349ee7 100644
--- a/code/modules/client/preference_setup/loadout/loadout_suit.dm
+++ b/code/modules/client/preference_setup/loadout/loadout_suit.dm
@@ -1,7 +1,7 @@
 // Suit slot
 /datum/gear/suit
 	display_name = "apron, blue"
-	path = /obj/item/clothing/suit/apron
+	path = /obj/item/clothing/suit/storage/apron
 	slot = slot_wear_suit
 	sort_category = "Suits and Overwear"
 	cost = 2
@@ -149,7 +149,7 @@
 
 /datum/gear/suit/overalls
 	display_name = "overalls"
-	path = /obj/item/clothing/suit/apron/overalls
+	path = /obj/item/clothing/suit/storage/apron/overalls
 	cost = 1
 
 /datum/gear/suit/poncho
diff --git a/code/modules/clothing/suits/jobs.dm b/code/modules/clothing/suits/jobs.dm
index 6a3a8cb438..c5de388c0f 100644
--- a/code/modules/clothing/suits/jobs.dm
+++ b/code/modules/clothing/suits/jobs.dm
@@ -3,7 +3,7 @@
  */
 
 //Botanist
-/obj/item/clothing/suit/apron
+/obj/item/clothing/suit/storage/apron
 	name = "apron"
 	desc = "A basic blue apron."
 	icon_state = "apron"
diff --git a/code/modules/clothing/suits/miscellaneous.dm b/code/modules/clothing/suits/miscellaneous.dm
index 00ea330892..4394d66195 100644
--- a/code/modules/clothing/suits/miscellaneous.dm
+++ b/code/modules/clothing/suits/miscellaneous.dm
@@ -120,7 +120,7 @@
 	name = "red sweatervest"
 	icon_state = "sweatervest_red"
 */
-/obj/item/clothing/suit/apron/overalls
+/obj/item/clothing/suit/storage/apron/overalls
 	name = "coveralls"
 	desc = "A set of denim overalls."
 	icon_state = "overalls"
diff --git a/maps/northern_star/polaris-1.dmm b/maps/northern_star/polaris-1.dmm
index 332a4ce4fe..5a6a0fd393 100644
--- a/maps/northern_star/polaris-1.dmm
+++ b/maps/northern_star/polaris-1.dmm
@@ -2254,7 +2254,7 @@
 "aRr" = (/obj/structure/cryofeed,/obj/structure/window/reinforced,/obj/structure/window/reinforced{dir = 1},/obj/structure/window/reinforced{dir = 4},/obj/effect/floor_decal/industrial/warning{dir = 1},/turf/simulated/floor/tiled/white,/area/security/prison)
 "aRs" = (/obj/structure/closet{name = "Prisoner's Locker"},/obj/item/clothing/head/soft/orange,/obj/item/clothing/shoes/sandal,/turf/simulated/floor/tiled,/area/security/prison)
 "aRt" = (/obj/structure/table/woodentable,/obj/effect/floor_decal/corner/green{dir = 5},/turf/simulated/floor/tiled,/area/hydroponics/garden)
-"aRu" = (/obj/structure/closet{name = "Prisoner's Locker"},/obj/item/weapon/reagent_containers/food/drinks/bottle/absinthe,/obj/item/clothing/suit/apron/overalls,/obj/machinery/camera/network/prison{c_tag = "SEC - Brig Bedroom"; dir = 8},/turf/simulated/floor/tiled,/area/security/prison)
+"aRu" = (/obj/structure/closet{name = "Prisoner's Locker"},/obj/item/weapon/reagent_containers/food/drinks/bottle/absinthe,/obj/item/clothing/suit/storage/apron/overalls,/obj/machinery/camera/network/prison{c_tag = "SEC - Brig Bedroom"; dir = 8},/turf/simulated/floor/tiled,/area/security/prison)
 "aRv" = (/obj/machinery/door/airlock{name = "Toilet"},/turf/simulated/floor/tiled/freezer,/area/security/prison)
 "aRw" = (/obj/structure/table/standard,/obj/item/weapon/storage/box,/obj/item/weapon/storage/box{pixel_x = 3; pixel_y = 3},/obj/machinery/alarm{dir = 1; pixel_y = -22},/obj/item/weapon/tape_roll{pixel_x = 4; pixel_y = 4},/obj/item/weapon/tape_roll,/turf/simulated/floor/tiled,/area/storage/art)
 "aRx" = (/obj/structure/table/standard,/obj/item/weapon/paper_bin{pixel_x = -3; pixel_y = 7},/obj/item/weapon/pen/blue{pixel_x = -5; pixel_y = -1},/obj/item/weapon/pen/red{pixel_x = -1; pixel_y = 3},/obj/machinery/atmospherics/unary/vent_scrubber/on{dir = 1},/obj/machinery/light,/turf/simulated/floor/tiled,/area/storage/art)

From 64a1dc7f6d9774f5bd7a557287d89bd7d837fdcb Mon Sep 17 00:00:00 2001
From: Belsima 
Date: Sun, 2 Apr 2017 11:41:06 -0400
Subject: [PATCH 21/52] Makes janicart climable.

---
 code/game/objects/structures/janicart.dm | 3 ++-
 1 file changed, 2 insertions(+), 1 deletion(-)

diff --git a/code/game/objects/structures/janicart.dm b/code/game/objects/structures/janicart.dm
index 0d8a94944d..4333820b99 100644
--- a/code/game/objects/structures/janicart.dm
+++ b/code/game/objects/structures/janicart.dm
@@ -4,7 +4,8 @@
 	icon = 'icons/obj/janitor.dmi'
 	icon_state = "cart"
 	anchored = 0
-	density = 1
+	density = 1 
+	climable = 1
 	flags = OPENCONTAINER
 	//copypaste sorry
 	var/amount_per_transfer_from_this = 5 //shit I dunno, adding this so syringes stop runtime erroring. --NeoFite

From 5efb8bf05d741cd047bae6e13f5452c44f81a06c Mon Sep 17 00:00:00 2001
From: Belsima 
Date: Sun, 2 Apr 2017 11:42:13 -0400
Subject: [PATCH 22/52] Makes mopbucket climbable.

---
 code/game/objects/structures/mop_bucket.dm | 1 +
 1 file changed, 1 insertion(+)

diff --git a/code/game/objects/structures/mop_bucket.dm b/code/game/objects/structures/mop_bucket.dm
index db234a1a2e..5e0c0d5abb 100644
--- a/code/game/objects/structures/mop_bucket.dm
+++ b/code/game/objects/structures/mop_bucket.dm
@@ -4,6 +4,7 @@
 	icon = 'icons/obj/janitor.dmi'
 	icon_state = "mopbucket"
 	density = 1
+	climbable = 1
 	w_class = ITEMSIZE_NORMAL
 	pressure_resistance = 5
 	flags = OPENCONTAINER

From 3109cae86e9c1ce0ac813449760b1cbdbd5fae36 Mon Sep 17 00:00:00 2001
From: Belsima 
Date: Sun, 2 Apr 2017 12:07:54 -0400
Subject: [PATCH 23/52] I missed a B.

---
 code/game/objects/structures/janicart.dm | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/code/game/objects/structures/janicart.dm b/code/game/objects/structures/janicart.dm
index 4333820b99..bd23290e30 100644
--- a/code/game/objects/structures/janicart.dm
+++ b/code/game/objects/structures/janicart.dm
@@ -5,7 +5,7 @@
 	icon_state = "cart"
 	anchored = 0
 	density = 1 
-	climable = 1
+	climbable = 1
 	flags = OPENCONTAINER
 	//copypaste sorry
 	var/amount_per_transfer_from_this = 5 //shit I dunno, adding this so syringes stop runtime erroring. --NeoFite

From 1428faa773a272dc24291635e87a5b9417493e86 Mon Sep 17 00:00:00 2001
From: Anewbe 
Date: Sun, 2 Apr 2017 11:15:34 -0500
Subject: [PATCH 24/52] Changelog

---
 html/changelogs/Anewbe - Aprons.yml | 36 +++++++++++++++++++++++++++++
 1 file changed, 36 insertions(+)
 create mode 100644 html/changelogs/Anewbe - Aprons.yml

diff --git a/html/changelogs/Anewbe - Aprons.yml b/html/changelogs/Anewbe - Aprons.yml
new file mode 100644
index 0000000000..ac1be69536
--- /dev/null
+++ b/html/changelogs/Anewbe - Aprons.yml	
@@ -0,0 +1,36 @@
+################################
+# 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
+#   rscadd (general adding of nice things)
+#   rscdel (general deleting of nice things)
+#   imageadd
+#   imagedel
+#   maptweak
+#   spellcheck (typo fixes)
+#   experiment
+#################################
+
+# Your name.  
+author: Anewbe
+
+# 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, all entries are changed into a single [] after a master changelog generation. Just remove the brackets when you add new entries.
+# Please surround your changes in  double quotes ("), as certain characters otherwise screws up compiling. The quotes will not show up in the changelog.
+changes: 
+  - rscadd: "Aprons now have pockets."

From e7fb196a266ad378f1635cff4077040332f74603 Mon Sep 17 00:00:00 2001
From: Atermonera 
Date: Sun, 2 Apr 2017 10:16:00 -0700
Subject: [PATCH 25/52] Restricts animal languages

---
 code/modules/mob/language/monkey.dm | 4 ++++
 1 file changed, 4 insertions(+)

diff --git a/code/modules/mob/language/monkey.dm b/code/modules/mob/language/monkey.dm
index 8541c65c05..c6024d346b 100644
--- a/code/modules/mob/language/monkey.dm
+++ b/code/modules/mob/language/monkey.dm
@@ -32,6 +32,7 @@
 	ask_verb = "woofs"
 	exclaim_verb = "howls"
 	key = "n"
+	flags = RESTRICTED
 	machine_understands = 0
 	space_chance = 100
 	syllables = list("bark", "woof", "bowwow", "yap", "arf")
@@ -43,6 +44,7 @@
 	ask_verb = "mrowls"
 	exclaim_verb = "yowls"
 	key = "c"
+	flags = RESTRICTED
 	machine_understands = 0
 	space_chance = 100
 	syllables = list("meow", "mrowl", "purr", "meow", "meow", "meow")
@@ -54,6 +56,7 @@
 	ask_verb = "squeaks"
 	exclaim_verb = "squeaks"
 	key = "m"
+	flags = RESTRICTED
 	machine_understands = 0
 	space_chance = 100
 	syllables = list("squeak")	// , "gripes", "oi", "meow")
@@ -65,6 +68,7 @@
 	ask_verb = "tweets"
 	exclaim_verb = "squawks"
 	key = "m"
+	flags = RESTRICTED
 	machine_understands = 0
 	space_chance = 100
 	syllables = list("chirp", "squawk", "tweet")
\ No newline at end of file

From b3b8645d4c4467bf2621fd67e4a2003e85cb7fdb Mon Sep 17 00:00:00 2001
From: Anewbe 
Date: Sun, 2 Apr 2017 14:09:16 -0500
Subject: [PATCH 26/52] Updates the job files to meet standards

---
 code/game/jobs/job/captain.dm           |  94 ++++----
 code/game/jobs/job/civilian.dm          | 208 +++++++++---------
 code/game/jobs/job/civilian_chaplain.dm | 276 ++++++++++++------------
 code/game/jobs/job/engineering.dm       | 110 +++++-----
 code/game/jobs/job/medical.dm           | 246 ++++++++++-----------
 code/game/jobs/job/science.dm           | 102 ++++-----
 code/game/jobs/job/security.dm          | 170 +++++++--------
 7 files changed, 605 insertions(+), 601 deletions(-)

diff --git a/code/game/jobs/job/captain.dm b/code/game/jobs/job/captain.dm
index 63be38ba7d..0784a1a9fc 100644
--- a/code/game/jobs/job/captain.dm
+++ b/code/game/jobs/job/captain.dm
@@ -23,41 +23,41 @@ var/datum/announcement/minor/captain_announcement = new(do_newscast = 1)
 	ideal_character_age = 70 // Old geezer captains ftw
 
 
-	equip(var/mob/living/carbon/human/H)
-		if(!H)	return 0
-		H.equip_to_slot_or_del(new /obj/item/device/radio/headset/heads/captain(H), slot_l_ear)
-		switch(H.backbag)
-			if(2) H.equip_to_slot_or_del(new /obj/item/weapon/storage/backpack/captain(H), slot_back)
-			if(3) H.equip_to_slot_or_del(new /obj/item/weapon/storage/backpack/satchel/cap(H), slot_back)
-			if(4) H.equip_to_slot_or_del(new /obj/item/weapon/storage/backpack/satchel(H), slot_back)
-			if(5) H.equip_to_slot_or_del(new /obj/item/weapon/storage/backpack/messenger/com(H), slot_back)
-		H.equip_to_slot_or_del(new /obj/item/clothing/under/rank/captain(H), slot_w_uniform)
-		if(H.age>49)
-			// Since we can have something other than the default uniform at this
-			// point, check if we can actually attach the medal
-			var/obj/item/clothing/uniform = H.w_uniform
-			var/obj/item/clothing/accessory/medal/gold/captain/medal = new()
+/datum/job/captain/equip(var/mob/living/carbon/human/H, var/alt_title)
+	if(!H)	return 0
+	H.equip_to_slot_or_del(new /obj/item/device/radio/headset/heads/captain(H), slot_l_ear)
+	switch(H.backbag)
+		if(2) H.equip_to_slot_or_del(new /obj/item/weapon/storage/backpack/captain(H), slot_back)
+		if(3) H.equip_to_slot_or_del(new /obj/item/weapon/storage/backpack/satchel/cap(H), slot_back)
+		if(4) H.equip_to_slot_or_del(new /obj/item/weapon/storage/backpack/satchel(H), slot_back)
+		if(5) H.equip_to_slot_or_del(new /obj/item/weapon/storage/backpack/messenger/com(H), slot_back)
+	H.equip_to_slot_or_del(new /obj/item/clothing/under/rank/captain(H), slot_w_uniform)
+	if(H.age>49)
+		// Since we can have something other than the default uniform at this
+		// point, check if we can actually attach the medal
+		var/obj/item/clothing/uniform = H.w_uniform
+		var/obj/item/clothing/accessory/medal/gold/captain/medal = new()
 
-			if(uniform && uniform.can_attach_accessory(medal))
-				uniform.attach_accessory(null, medal)
-			else
-				qdel(medal)
-		H.equip_to_slot_or_del(new /obj/item/device/pda/captain(H), slot_belt)
-		H.equip_to_slot_or_del(new /obj/item/clothing/shoes/brown(H), slot_shoes)
-		H.equip_to_slot_or_del(new /obj/item/clothing/head/caphat(H), slot_head)
-		H.equip_to_slot_or_del(new /obj/item/clothing/glasses/sunglasses(H), slot_glasses)
-		if(H.backbag == 1)
-			H.equip_to_slot_or_del(new /obj/item/weapon/storage/box/ids(H), slot_l_hand)
+		if(uniform && uniform.can_attach_accessory(medal))
+			uniform.attach_accessory(null, medal)
 		else
-			H.equip_to_slot_or_del(new /obj/item/weapon/storage/box/ids(H.back), slot_in_backpack)
+			qdel(medal)
+	H.equip_to_slot_or_del(new /obj/item/device/pda/captain(H), slot_belt)
+	H.equip_to_slot_or_del(new /obj/item/clothing/shoes/brown(H), slot_shoes)
+	H.equip_to_slot_or_del(new /obj/item/clothing/head/caphat(H), slot_head)
+	H.equip_to_slot_or_del(new /obj/item/clothing/glasses/sunglasses(H), slot_glasses)
+	if(H.backbag == 1)
+		H.equip_to_slot_or_del(new /obj/item/weapon/storage/box/ids(H), slot_l_hand)
+	else
+		H.equip_to_slot_or_del(new /obj/item/weapon/storage/box/ids(H.back), slot_in_backpack)
 
 
-		H.implant_loyalty()
+	H.implant_loyalty()
 
-		return 1
+	return 1
 
-	get_access()
-		return get_all_station_access()
+/datum/job/captain/get_access()
+	return get_all_station_access()
 
 
 
@@ -95,22 +95,24 @@ var/datum/announcement/minor/captain_announcement = new(do_newscast = 1)
 			            access_hop, access_RC_announce, access_keycard_auth, access_gateway)
 
 
-	equip(var/mob/living/carbon/human/H)
-		if(!H)	return 0
-		H.equip_to_slot_or_del(new /obj/item/device/radio/headset/heads/hop(H), slot_l_ear)
-		switch(H.backbag)
-			if(2) H.equip_to_slot_or_del(new /obj/item/weapon/storage/backpack(H), slot_back)
-			if(3) H.equip_to_slot_or_del(new /obj/item/weapon/storage/backpack/satchel/norm(H), slot_back)
-			if(4) H.equip_to_slot_or_del(new /obj/item/weapon/storage/backpack/satchel(H), slot_back)
-		H.equip_to_slot_or_del(new /obj/item/clothing/under/rank/head_of_personnel(H), slot_w_uniform)
-		H.equip_to_slot_or_del(new /obj/item/clothing/shoes/brown(H), slot_shoes)
-		H.equip_to_slot_or_del(new /obj/item/device/pda/heads/hop(H), slot_belt)
-		if(H.backbag == 1)
-			H.equip_to_slot_or_del(new /obj/item/weapon/storage/box/ids(H), slot_l_hand)
-		else
-			H.equip_to_slot_or_del(new /obj/item/weapon/storage/box/ids(H.back), slot_in_backpack)
-		H.implant_loyalty()
-		return 1
+/datum/job/hop/equip(var/mob/living/carbon/human/H, var/alt_title)
+	if(!H)	return 0
+	H.equip_to_slot_or_del(new /obj/item/device/radio/headset/heads/hop(H), slot_l_ear)
+	switch(H.backbag)
+		if(2) H.equip_to_slot_or_del(new /obj/item/weapon/storage/backpack(H), slot_back)
+		if(3) H.equip_to_slot_or_del(new /obj/item/weapon/storage/backpack/satchel/norm(H), slot_back)
+		if(4) H.equip_to_slot_or_del(new /obj/item/weapon/storage/backpack/satchel(H), slot_back)
+	H.equip_to_slot_or_del(new /obj/item/clothing/under/rank/head_of_personnel(H), slot_w_uniform)
+	H.equip_to_slot_or_del(new /obj/item/clothing/shoes/brown(H), slot_shoes)
+	H.equip_to_slot_or_del(new /obj/item/device/pda/heads/hop(H), slot_belt)
+	if(H.backbag == 1)
+		H.equip_to_slot_or_del(new /obj/item/weapon/storage/box/ids(H), slot_l_hand)
+	else
+		H.equip_to_slot_or_del(new /obj/item/weapon/storage/box/ids(H.back), slot_in_backpack)
+	H.implant_loyalty()
+	return 1
+
+
 
 /datum/job/secretary
 	title = "Command Secretary"
@@ -131,7 +133,7 @@ var/datum/announcement/minor/captain_announcement = new(do_newscast = 1)
 	access = list(access_heads)
 	minimal_access = list(access_heads)
 
-/datum/job/secretary/equip(var/mob/living/carbon/human/H)
+/datum/job/secretary/equip(var/mob/living/carbon/human/H, var/alt_title)
 	if(!H)	return 0
 	H.equip_to_slot_or_del(new /obj/item/device/radio/headset/headset_com(H), slot_l_ear)
 	switch(H.backbag)
diff --git a/code/game/jobs/job/civilian.dm b/code/game/jobs/job/civilian.dm
index 02a79c25e4..214737ce13 100644
--- a/code/game/jobs/job/civilian.dm
+++ b/code/game/jobs/job/civilian.dm
@@ -15,18 +15,18 @@
 	alt_titles = list("Barista")
 
 
-	equip(var/mob/living/carbon/human/H)
-		if(!H)	return 0
-		switch(H.backbag)
-			if(2) H.equip_to_slot_or_del(new /obj/item/weapon/storage/backpack(H), slot_back)
-			if(3) H.equip_to_slot_or_del(new /obj/item/weapon/storage/backpack/satchel/norm(H), slot_back)
-			if(4) H.equip_to_slot_or_del(new /obj/item/weapon/storage/backpack/satchel(H), slot_back)
-			if(5) H.equip_to_slot_or_del(new /obj/item/weapon/storage/backpack/messenger(H), slot_back)
-		H.equip_to_slot_or_del(new /obj/item/device/radio/headset/headset_service(H), slot_l_ear)
-		H.equip_to_slot_or_del(new /obj/item/clothing/shoes/black(H), slot_shoes)
-		H.equip_to_slot_or_del(new /obj/item/clothing/under/rank/bartender(H), slot_w_uniform)
-		H.equip_to_slot_or_del(new /obj/item/device/pda/bar(H), slot_belt)
-		return 1
+/datum/job/bartender/equip(var/mob/living/carbon/human/H, var/alt_title)
+	if(!H)	return 0
+	switch(H.backbag)
+		if(2) H.equip_to_slot_or_del(new /obj/item/weapon/storage/backpack(H), slot_back)
+		if(3) H.equip_to_slot_or_del(new /obj/item/weapon/storage/backpack/satchel/norm(H), slot_back)
+		if(4) H.equip_to_slot_or_del(new /obj/item/weapon/storage/backpack/satchel(H), slot_back)
+		if(5) H.equip_to_slot_or_del(new /obj/item/weapon/storage/backpack/messenger(H), slot_back)
+	H.equip_to_slot_or_del(new /obj/item/device/radio/headset/headset_service(H), slot_l_ear)
+	H.equip_to_slot_or_del(new /obj/item/clothing/shoes/black(H), slot_shoes)
+	H.equip_to_slot_or_del(new /obj/item/clothing/under/rank/bartender(H), slot_w_uniform)
+	H.equip_to_slot_or_del(new /obj/item/device/pda/bar(H), slot_belt)
+	return 1
 
 
 
@@ -46,15 +46,15 @@
 	alt_titles = list("Cook")
 
 
-	equip(var/mob/living/carbon/human/H)
-		if(!H)	return 0
-		H.equip_to_slot_or_del(new /obj/item/device/radio/headset/headset_service(H), slot_l_ear)
-		H.equip_to_slot_or_del(new /obj/item/clothing/under/rank/chef(H), slot_w_uniform)
-		H.equip_to_slot_or_del(new /obj/item/clothing/suit/chef(H), slot_wear_suit)
-		H.equip_to_slot_or_del(new /obj/item/clothing/shoes/black(H), slot_shoes)
-		H.equip_to_slot_or_del(new /obj/item/clothing/head/chefhat(H), slot_head)
-		H.equip_to_slot_or_del(new /obj/item/device/pda/chef(H), slot_belt)
-		return 1
+/datum/job/chef/equip(var/mob/living/carbon/human/H, var/alt_title)
+	if(!H)	return 0
+	H.equip_to_slot_or_del(new /obj/item/device/radio/headset/headset_service(H), slot_l_ear)
+	H.equip_to_slot_or_del(new /obj/item/clothing/under/rank/chef(H), slot_w_uniform)
+	H.equip_to_slot_or_del(new /obj/item/clothing/suit/chef(H), slot_wear_suit)
+	H.equip_to_slot_or_del(new /obj/item/clothing/shoes/black(H), slot_shoes)
+	H.equip_to_slot_or_del(new /obj/item/clothing/head/chefhat(H), slot_head)
+	H.equip_to_slot_or_del(new /obj/item/device/pda/chef(H), slot_belt)
+	return 1
 
 
 
@@ -74,21 +74,21 @@
 	alt_titles = list("Hydroponicist")
 
 
-	equip(var/mob/living/carbon/human/H)
-		if(!H)	return 0
-		H.equip_to_slot_or_del(new /obj/item/device/radio/headset/headset_service(H), slot_l_ear)
-		H.equip_to_slot_or_del(new /obj/item/clothing/under/rank/hydroponics(H), slot_w_uniform)
-		H.equip_to_slot_or_del(new /obj/item/clothing/shoes/black(H), slot_shoes)
-		H.equip_to_slot_or_del(new /obj/item/clothing/gloves/botanic_leather(H), slot_gloves)
-		H.equip_to_slot_or_del(new /obj/item/clothing/suit/apron(H), slot_wear_suit)
-		H.equip_to_slot_or_del(new /obj/item/device/analyzer/plant_analyzer(H), slot_s_store)
-		H.equip_to_slot_or_del(new /obj/item/device/pda/botanist(H), slot_belt)
-		switch(H.backbag)
-			if(2) H.equip_to_slot_or_del(new /obj/item/weapon/storage/backpack/hydroponics(H), slot_back)
-			if(3) H.equip_to_slot_or_del(new /obj/item/weapon/storage/backpack/satchel/hyd(H), slot_back)
-			if(4) H.equip_to_slot_or_del(new /obj/item/weapon/storage/backpack/satchel(H), slot_back)
-			if(5) H.equip_to_slot_or_del(new /obj/item/weapon/storage/backpack/messenger/hyd(H), slot_back)
-		return 1
+/datum/job/hydro/equip(var/mob/living/carbon/human/H, var/alt_title)
+	if(!H)	return 0
+	H.equip_to_slot_or_del(new /obj/item/device/radio/headset/headset_service(H), slot_l_ear)
+	H.equip_to_slot_or_del(new /obj/item/clothing/under/rank/hydroponics(H), slot_w_uniform)
+	H.equip_to_slot_or_del(new /obj/item/clothing/shoes/black(H), slot_shoes)
+	H.equip_to_slot_or_del(new /obj/item/clothing/gloves/botanic_leather(H), slot_gloves)
+	H.equip_to_slot_or_del(new /obj/item/clothing/suit/apron(H), slot_wear_suit)
+	H.equip_to_slot_or_del(new /obj/item/device/analyzer/plant_analyzer(H), slot_s_store)
+	H.equip_to_slot_or_del(new /obj/item/device/pda/botanist(H), slot_belt)
+	switch(H.backbag)
+		if(2) H.equip_to_slot_or_del(new /obj/item/weapon/storage/backpack/hydroponics(H), slot_back)
+		if(3) H.equip_to_slot_or_del(new /obj/item/weapon/storage/backpack/satchel/hyd(H), slot_back)
+		if(4) H.equip_to_slot_or_del(new /obj/item/weapon/storage/backpack/satchel(H), slot_back)
+		if(5) H.equip_to_slot_or_del(new /obj/item/weapon/storage/backpack/messenger/hyd(H), slot_back)
+	return 1
 
 
 
@@ -112,16 +112,16 @@
 	ideal_character_age = 40
 
 
-	equip(var/mob/living/carbon/human/H)
-		if(!H)	return 0
-		H.equip_to_slot_or_del(new /obj/item/device/radio/headset/headset_cargo(H), slot_l_ear)
-		H.equip_to_slot_or_del(new /obj/item/clothing/under/rank/cargo(H), slot_w_uniform)
-		H.equip_to_slot_or_del(new /obj/item/clothing/shoes/brown(H), slot_shoes)
-		H.equip_to_slot_or_del(new /obj/item/device/pda/quartermaster(H), slot_belt)
-//		H.equip_to_slot_or_del(new /obj/item/clothing/gloves/black(H), slot_gloves)
-		H.equip_to_slot_or_del(new /obj/item/clothing/glasses/sunglasses(H), slot_glasses)
-		H.equip_to_slot_or_del(new /obj/item/weapon/clipboard(H), slot_l_hand)
-		return 1
+/datum/job/qm/equip(var/mob/living/carbon/human/H, var/alt_title)
+	if(!H)	return 0
+	H.equip_to_slot_or_del(new /obj/item/device/radio/headset/headset_cargo(H), slot_l_ear)
+	H.equip_to_slot_or_del(new /obj/item/clothing/under/rank/cargo(H), slot_w_uniform)
+	H.equip_to_slot_or_del(new /obj/item/clothing/shoes/brown(H), slot_shoes)
+	H.equip_to_slot_or_del(new /obj/item/device/pda/quartermaster(H), slot_belt)
+//	H.equip_to_slot_or_del(new /obj/item/clothing/gloves/black(H), slot_gloves)
+	H.equip_to_slot_or_del(new /obj/item/clothing/glasses/sunglasses(H), slot_glasses)
+	H.equip_to_slot_or_del(new /obj/item/weapon/clipboard(H), slot_l_hand)
+	return 1
 
 
 
@@ -139,14 +139,14 @@
 	access = list(access_maint_tunnels, access_mailsorting, access_cargo, access_cargo_bot, access_mining, access_mining_station)
 	minimal_access = list(access_maint_tunnels, access_cargo, access_cargo_bot, access_mailsorting)
 
-	equip(var/mob/living/carbon/human/H)
-		if(!H)	return 0
-		H.equip_to_slot_or_del(new /obj/item/device/radio/headset/headset_cargo(H), slot_l_ear)
-		H.equip_to_slot_or_del(new /obj/item/clothing/under/rank/cargotech(H), slot_w_uniform)
-		H.equip_to_slot_or_del(new /obj/item/clothing/shoes/black(H), slot_shoes)
-		H.equip_to_slot_or_del(new /obj/item/device/pda/cargo(H), slot_belt)
-//		H.equip_to_slot_or_del(new /obj/item/clothing/gloves/black(H), slot_gloves)
-		return 1
+/datum/job/cargo_tech/equip(var/mob/living/carbon/human/H, var/alt_title)
+	if(!H)	return 0
+	H.equip_to_slot_or_del(new /obj/item/device/radio/headset/headset_cargo(H), slot_l_ear)
+	H.equip_to_slot_or_del(new /obj/item/clothing/under/rank/cargotech(H), slot_w_uniform)
+	H.equip_to_slot_or_del(new /obj/item/clothing/shoes/black(H), slot_shoes)
+	H.equip_to_slot_or_del(new /obj/item/device/pda/cargo(H), slot_belt)
+//	H.equip_to_slot_or_del(new /obj/item/clothing/gloves/black(H), slot_gloves)
+	return 1
 
 
 
@@ -166,27 +166,27 @@
 	minimal_access = list(access_mining, access_mining_station, access_mailsorting)
 	alt_titles = list("Drill Technician","Prospector")
 
-	equip(var/mob/living/carbon/human/H)
-		if(!H)	return 0
-		H.equip_to_slot_or_del(new /obj/item/device/radio/headset/headset_cargo (H), slot_l_ear)
-		switch(H.backbag)
-			if(2) H.equip_to_slot_or_del(new /obj/item/weapon/storage/backpack/industrial(H), slot_back)
-			if(3) H.equip_to_slot_or_del(new /obj/item/weapon/storage/backpack/satchel/eng(H), slot_back)
-			if(4) H.equip_to_slot_or_del(new /obj/item/weapon/storage/backpack/satchel(H), slot_back)
-			if(5) H.equip_to_slot_or_del(new /obj/item/weapon/storage/backpack/messenger/engi(H), slot_back)
-		H.equip_to_slot_or_del(new /obj/item/clothing/under/rank/miner(H), slot_w_uniform)
-		H.equip_to_slot_or_del(new /obj/item/device/pda/shaftminer(H), slot_belt)
-		H.equip_to_slot_or_del(new /obj/item/clothing/shoes/black(H), slot_shoes)
-//		H.equip_to_slot_or_del(new /obj/item/clothing/gloves/black(H), slot_gloves)
-		if(H.backbag == 1)
-			H.equip_to_slot_or_del(new /obj/item/weapon/crowbar(H), slot_l_hand)
-			H.equip_to_slot_or_del(new /obj/item/weapon/storage/bag/ore(H), slot_l_store)
-		else
-			H.equip_to_slot_or_del(new /obj/item/weapon/crowbar(H), slot_in_backpack)
-			H.equip_to_slot_or_del(new /obj/item/weapon/storage/bag/ore(H), slot_in_backpack)
-		return 1
+/datum/job/mining/equip(var/mob/living/carbon/human/H, var/alt_title)
+	if(!H)	return 0
+	H.equip_to_slot_or_del(new /obj/item/device/radio/headset/headset_cargo (H), slot_l_ear)
+	switch(H.backbag)
+		if(2) H.equip_to_slot_or_del(new /obj/item/weapon/storage/backpack/industrial(H), slot_back)
+		if(3) H.equip_to_slot_or_del(new /obj/item/weapon/storage/backpack/satchel/eng(H), slot_back)
+		if(4) H.equip_to_slot_or_del(new /obj/item/weapon/storage/backpack/satchel(H), slot_back)
+		if(5) H.equip_to_slot_or_del(new /obj/item/weapon/storage/backpack/messenger/engi(H), slot_back)
+	H.equip_to_slot_or_del(new /obj/item/clothing/under/rank/miner(H), slot_w_uniform)
+	H.equip_to_slot_or_del(new /obj/item/device/pda/shaftminer(H), slot_belt)
+	H.equip_to_slot_or_del(new /obj/item/clothing/shoes/black(H), slot_shoes)
+//	H.equip_to_slot_or_del(new /obj/item/clothing/gloves/black(H), slot_gloves)
+	if(H.backbag == 1)
+		H.equip_to_slot_or_del(new /obj/item/weapon/crowbar(H), slot_l_hand)
+		H.equip_to_slot_or_del(new /obj/item/weapon/storage/bag/ore(H), slot_l_store)
+	else
+		H.equip_to_slot_or_del(new /obj/item/weapon/crowbar(H), slot_in_backpack)
+		H.equip_to_slot_or_del(new /obj/item/weapon/storage/bag/ore(H), slot_in_backpack)
+	return 1
 
-	equip_survival(var/mob/living/carbon/human/H)
+/datum/job/mining/equip_survival(var/mob/living/carbon/human/H)
 		if(!H)	return 0
 		H.species.equip_survival_gear(H,1)
 		return 1
@@ -207,13 +207,13 @@
 	alt_titles = list("Custodian", "Sanitation Technician")
 
 
-	equip(var/mob/living/carbon/human/H)
-		if(!H)	return 0
-		H.equip_to_slot_or_del(new /obj/item/device/radio/headset/headset_service(H), slot_l_ear)
-		H.equip_to_slot_or_del(new /obj/item/clothing/under/rank/janitor(H), slot_w_uniform)
-		H.equip_to_slot_or_del(new /obj/item/clothing/shoes/black(H), slot_shoes)
-		H.equip_to_slot_or_del(new /obj/item/device/pda/janitor(H), slot_belt)
-		return 1
+/datum/job/janitor/equip(var/mob/living/carbon/human/H, var/alt_title)
+	if(!H)	return 0
+	H.equip_to_slot_or_del(new /obj/item/device/radio/headset/headset_service(H), slot_l_ear)
+	H.equip_to_slot_or_del(new /obj/item/clothing/under/rank/janitor(H), slot_w_uniform)
+	H.equip_to_slot_or_del(new /obj/item/clothing/shoes/black(H), slot_shoes)
+	H.equip_to_slot_or_del(new /obj/item/device/pda/janitor(H), slot_belt)
+	return 1
 
 
 
@@ -234,13 +234,13 @@
 	alt_titles = list("Journalist", "Professor", "Historian", "Writer")
 
 
-	equip(var/mob/living/carbon/human/H)
-		if(!H)	return 0
-		H.equip_to_slot_or_del(new /obj/item/clothing/under/suit_jacket/red(H), slot_w_uniform)
-		H.equip_to_slot_or_del(new /obj/item/device/pda/librarian(H), slot_belt)
-		H.equip_to_slot_or_del(new /obj/item/clothing/shoes/black(H), slot_shoes)
-		H.equip_to_slot_or_del(new /obj/item/weapon/barcodescanner(H), slot_l_hand)
-		return 1
+/datum/job/librarian/equip(var/mob/living/carbon/human/H, var/alt_title)
+	if(!H)	return 0
+	H.equip_to_slot_or_del(new /obj/item/clothing/under/suit_jacket/red(H), slot_w_uniform)
+	H.equip_to_slot_or_del(new /obj/item/device/pda/librarian(H), slot_belt)
+	H.equip_to_slot_or_del(new /obj/item/clothing/shoes/black(H), slot_shoes)
+	H.equip_to_slot_or_del(new /obj/item/weapon/barcodescanner(H), slot_l_hand)
+	return 1
 
 
 
@@ -261,22 +261,22 @@
 	minimal_access = list(access_lawyer, access_sec_doors, access_heads)
 
 
-	equip(var/mob/living/carbon/human/H)
-		if(!H)	return 0
-		H.equip_to_slot_or_del(new /obj/item/device/radio/headset/ia(H), slot_l_ear)
-		switch(H.backbag)
-			if(2) H.equip_to_slot_or_del(new /obj/item/weapon/storage/backpack(H), slot_back)
-			if(3) H.equip_to_slot_or_del(new /obj/item/weapon/storage/backpack/satchel/norm(H), slot_back)
-			if(4) H.equip_to_slot_or_del(new /obj/item/weapon/storage/backpack/satchel(H), slot_back)
-			if(5) H.equip_to_slot_or_del(new /obj/item/weapon/storage/backpack/messenger(H), slot_back)
-		H.equip_to_slot_or_del(new /obj/item/clothing/under/rank/internalaffairs(H), slot_w_uniform)
-		H.equip_to_slot_or_del(new /obj/item/clothing/suit/storage/toggle/internalaffairs(H), slot_wear_suit)
-		H.equip_to_slot_or_del(new /obj/item/clothing/shoes/brown(H), slot_shoes)
-		H.equip_to_slot_or_del(new /obj/item/clothing/glasses/sunglasses/big(H), slot_glasses)
-		H.equip_to_slot_or_del(new /obj/item/device/pda/lawyer(H), slot_belt)
-		H.equip_to_slot_or_del(new /obj/item/weapon/storage/briefcase(H), slot_l_hand)
+/datum/job/lawyer/equip(var/mob/living/carbon/human/H, var/alt_title)
+	if(!H)	return 0
+	H.equip_to_slot_or_del(new /obj/item/device/radio/headset/ia(H), slot_l_ear)
+	switch(H.backbag)
+		if(2) H.equip_to_slot_or_del(new /obj/item/weapon/storage/backpack(H), slot_back)
+		if(3) H.equip_to_slot_or_del(new /obj/item/weapon/storage/backpack/satchel/norm(H), slot_back)
+		if(4) H.equip_to_slot_or_del(new /obj/item/weapon/storage/backpack/satchel(H), slot_back)
+		if(5) H.equip_to_slot_or_del(new /obj/item/weapon/storage/backpack/messenger(H), slot_back)
+	H.equip_to_slot_or_del(new /obj/item/clothing/under/rank/internalaffairs(H), slot_w_uniform)
+	H.equip_to_slot_or_del(new /obj/item/clothing/suit/storage/toggle/internalaffairs(H), slot_wear_suit)
+	H.equip_to_slot_or_del(new /obj/item/clothing/shoes/brown(H), slot_shoes)
+	H.equip_to_slot_or_del(new /obj/item/clothing/glasses/sunglasses/big(H), slot_glasses)
+	H.equip_to_slot_or_del(new /obj/item/device/pda/lawyer(H), slot_belt)
+	H.equip_to_slot_or_del(new /obj/item/weapon/storage/briefcase(H), slot_l_hand)
 
-		H.implant_loyalty()
+	H.implant_loyalty()
 
 
-		return 1
+	return 1
diff --git a/code/game/jobs/job/civilian_chaplain.dm b/code/game/jobs/job/civilian_chaplain.dm
index 26065fe1e9..2533bb7204 100644
--- a/code/game/jobs/job/civilian_chaplain.dm
+++ b/code/game/jobs/job/civilian_chaplain.dm
@@ -15,146 +15,146 @@
 	alt_titles = list("Counselor")
 
 
-	equip(var/mob/living/carbon/human/H, var/alt_title, var/ask_questions = TRUE)
-		if(!H)	return 0
+/datum/job/chaplain/equip(var/mob/living/carbon/human/H, var/alt_title, var/ask_questions = TRUE)
+	if(!H)	return 0
 
-		var/obj/item/weapon/storage/bible/B = new /obj/item/weapon/storage/bible(H) //BS12 EDIT
-		H.equip_to_slot_or_del(B, slot_l_hand)
-		H.equip_to_slot_or_del(new /obj/item/clothing/under/rank/chaplain(H), slot_w_uniform)
-		H.equip_to_slot_or_del(new /obj/item/device/pda/chaplain(H), slot_belt)
-		H.equip_to_slot_or_del(new /obj/item/clothing/shoes/black(H), slot_shoes)
-		if(!ask_questions)
-			return 1
-
-
-		spawn(0)
-			var/religion_name = "Christianity"
-			var/new_religion = sanitize(input(H, "You are the crew services officer. Would you like to change your religion? Default is Christianity, in SPACE.", "Name change", religion_name), MAX_NAME_LEN)
-
-			if (!new_religion)
-				new_religion = religion_name
-
-			switch(lowertext(new_religion))
-				if("christianity")
-					B.name = pick("The Holy Bible","The Dead Sea Scrolls")
-				if("satanism")
-					B.name = "The Unholy Bible"
-				if("cthulu")
-					B.name = "The Necronomicon"
-				if("islam")
-					B.name = "Quran"
-				if("scientology")
-					B.name = pick("The Biography of L. Ron Hubbard","Dianetics")
-				if("chaos")
-					B.name = "The Book of Lorgar"
-				if("imperium")
-					B.name = "Uplifting Primer"
-				if("toolboxia")
-					B.name = "Toolbox Manifesto"
-				if("homosexuality")
-					B.name = "Guys Gone Wild"
-				//if("lol", "wtf", "gay", "penis", "ass", "poo", "badmin", "shitmin", "deadmin", "cock", "cocks")
-				//	B.name = pick("Woodys Got Wood: The Aftermath", "War of the Cocks", "Sweet Bro and Hella Jef: Expanded Edition")
-				//	H.setBrainLoss(100) // starts off retarded as fuck
-				if("science")
-					B.name = pick("Principle of Relativity", "Quantum Enigma: Physics Encounters Consciousness", "Programming the Universe", "Quantum Physics and Theology", "String Theory for Dummies", "How To: Build Your Own Warp Drive", "The Mysteries of Bluespace", "Playing God: Collector's Edition")
-				else
-					B.name = "The Holy Book of [new_religion]"
-			feedback_set_details("religion_name","[new_religion]")
-
-		spawn(1)
-			var/deity_name = "Space Jesus"
-			var/new_deity = sanitize(input(H, "Would you like to change your deity? Default is Space Jesus.", "Name change", deity_name), MAX_NAME_LEN)
-
-			if ((length(new_deity) == 0) || (new_deity == "Space Jesus") )
-				new_deity = deity_name
-			B.deity_name = new_deity
-
-			var/accepted = 0
-			var/outoftime = 0
-			spawn(200) // 20 seconds to choose
-				outoftime = 1
-			var/new_book_style = "Bible"
-
-			while(!accepted)
-				if(!B) break // prevents possible runtime errors
-				new_book_style = input(H,"Which bible style would you like?") in list("Bible", "Koran", "Scrapbook", "Creeper", "White Bible", "Holy Light", "Athiest", "Tome", "The King in Yellow", "Ithaqua", "Scientology", "the bible melts", "Necronomicon")
-				switch(new_book_style)
-					if("Koran")
-						B.icon_state = "koran"
-						B.item_state = "koran"
-						for(var/area/chapel/main/A in world)
-							for(var/turf/T in A.contents)
-								if(T.icon_state == "carpetsymbol")
-									T.set_dir(4)
-					if("Scrapbook")
-						B.icon_state = "scrapbook"
-						B.item_state = "scrapbook"
-					if("Creeper")
-						B.icon_state = "creeper"
-						B.item_state = "syringe_kit"
-					if("White Bible")
-						B.icon_state = "white"
-						B.item_state = "syringe_kit"
-					if("Holy Light")
-						B.icon_state = "holylight"
-						B.item_state = "syringe_kit"
-					if("Athiest")
-						B.icon_state = "athiest"
-						B.item_state = "syringe_kit"
-						for(var/area/chapel/main/A in world)
-							for(var/turf/T in A.contents)
-								if(T.icon_state == "carpetsymbol")
-									T.set_dir(10)
-					if("Tome")
-						B.icon_state = "tome"
-						B.item_state = "syringe_kit"
-					if("The King in Yellow")
-						B.icon_state = "kingyellow"
-						B.item_state = "kingyellow"
-					if("Ithaqua")
-						B.icon_state = "ithaqua"
-						B.item_state = "ithaqua"
-					if("Scientology")
-						B.icon_state = "scientology"
-						B.item_state = "scientology"
-						for(var/area/chapel/main/A in world)
-							for(var/turf/T in A.contents)
-								if(T.icon_state == "carpetsymbol")
-									T.set_dir(8)
-					if("the bible melts")
-						B.icon_state = "melted"
-						B.item_state = "melted"
-					if("Necronomicon")
-						B.icon_state = "necronomicon"
-						B.item_state = "necronomicon"
-					else
-						// if christian bible, revert to default
-						B.icon_state = "bible"
-						B.item_state = "bible"
-						for(var/area/chapel/main/A in world)
-							for(var/turf/T in A.contents)
-								if(T.icon_state == "carpetsymbol")
-									T.set_dir(2)
-
-				H.update_inv_l_hand() // so that it updates the bible's item_state in his hand
-
-				switch(input(H,"Look at your bible - is this what you want?") in list("Yes","No"))
-					if("Yes")
-						accepted = 1
-					if("No")
-						if(outoftime)
-							H << "Welp, out of time, buddy. You're stuck. Next time choose faster."
-							accepted = 1
-
-			if(ticker)
-				ticker.Bible_icon_state = B.icon_state
-				ticker.Bible_item_state = B.item_state
-				ticker.Bible_name = B.name
-				ticker.Bible_deity_name = B.deity_name
-			feedback_set_details("religion_deity","[new_deity]")
-			feedback_set_details("religion_book","[new_book_style]")
+	var/obj/item/weapon/storage/bible/B = new /obj/item/weapon/storage/bible(H) //BS12 EDIT
+	H.equip_to_slot_or_del(B, slot_l_hand)
+	H.equip_to_slot_or_del(new /obj/item/clothing/under/rank/chaplain(H), slot_w_uniform)
+	H.equip_to_slot_or_del(new /obj/item/device/pda/chaplain(H), slot_belt)
+	H.equip_to_slot_or_del(new /obj/item/clothing/shoes/black(H), slot_shoes)
+	if(!ask_questions)
 		return 1
 
+
+	spawn(0)
+		var/religion_name = "Christianity"
+		var/new_religion = sanitize(input(H, "You are the crew services officer. Would you like to change your religion? Default is Christianity, in SPACE.", "Name change", religion_name), MAX_NAME_LEN)
+
+		if (!new_religion)
+			new_religion = religion_name
+
+		switch(lowertext(new_religion))
+			if("christianity")
+				B.name = pick("The Holy Bible","The Dead Sea Scrolls")
+			if("satanism")
+				B.name = "The Unholy Bible"
+			if("cthulu")
+				B.name = "The Necronomicon"
+			if("islam")
+				B.name = "Quran"
+			if("scientology")
+				B.name = pick("The Biography of L. Ron Hubbard","Dianetics")
+			if("chaos")
+				B.name = "The Book of Lorgar"
+			if("imperium")
+				B.name = "Uplifting Primer"
+			if("toolboxia")
+				B.name = "Toolbox Manifesto"
+			if("homosexuality")
+				B.name = "Guys Gone Wild"
+			//if("lol", "wtf", "gay", "penis", "ass", "poo", "badmin", "shitmin", "deadmin", "cock", "cocks")
+			//	B.name = pick("Woodys Got Wood: The Aftermath", "War of the Cocks", "Sweet Bro and Hella Jef: Expanded Edition")
+			//	H.setBrainLoss(100) // starts off retarded as fuck
+			if("science")
+				B.name = pick("Principle of Relativity", "Quantum Enigma: Physics Encounters Consciousness", "Programming the Universe", "Quantum Physics and Theology", "String Theory for Dummies", "How To: Build Your Own Warp Drive", "The Mysteries of Bluespace", "Playing God: Collector's Edition")
+			else
+				B.name = "The Holy Book of [new_religion]"
+		feedback_set_details("religion_name","[new_religion]")
+
+	spawn(1)
+		var/deity_name = "Space Jesus"
+		var/new_deity = sanitize(input(H, "Would you like to change your deity? Default is Space Jesus.", "Name change", deity_name), MAX_NAME_LEN)
+
+		if ((length(new_deity) == 0) || (new_deity == "Space Jesus") )
+			new_deity = deity_name
+		B.deity_name = new_deity
+
+		var/accepted = 0
+		var/outoftime = 0
+		spawn(200) // 20 seconds to choose
+			outoftime = 1
+		var/new_book_style = "Bible"
+
+		while(!accepted)
+			if(!B) break // prevents possible runtime errors
+			new_book_style = input(H,"Which bible style would you like?") in list("Bible", "Koran", "Scrapbook", "Creeper", "White Bible", "Holy Light", "Athiest", "Tome", "The King in Yellow", "Ithaqua", "Scientology", "the bible melts", "Necronomicon")
+			switch(new_book_style)
+				if("Koran")
+					B.icon_state = "koran"
+					B.item_state = "koran"
+					for(var/area/chapel/main/A in world)
+						for(var/turf/T in A.contents)
+							if(T.icon_state == "carpetsymbol")
+								T.set_dir(4)
+				if("Scrapbook")
+					B.icon_state = "scrapbook"
+					B.item_state = "scrapbook"
+				if("Creeper")
+					B.icon_state = "creeper"
+					B.item_state = "syringe_kit"
+				if("White Bible")
+					B.icon_state = "white"
+					B.item_state = "syringe_kit"
+				if("Holy Light")
+					B.icon_state = "holylight"
+					B.item_state = "syringe_kit"
+				if("Athiest")
+					B.icon_state = "athiest"
+					B.item_state = "syringe_kit"
+					for(var/area/chapel/main/A in world)
+						for(var/turf/T in A.contents)
+							if(T.icon_state == "carpetsymbol")
+								T.set_dir(10)
+				if("Tome")
+					B.icon_state = "tome"
+					B.item_state = "syringe_kit"
+				if("The King in Yellow")
+					B.icon_state = "kingyellow"
+					B.item_state = "kingyellow"
+				if("Ithaqua")
+					B.icon_state = "ithaqua"
+					B.item_state = "ithaqua"
+				if("Scientology")
+					B.icon_state = "scientology"
+					B.item_state = "scientology"
+					for(var/area/chapel/main/A in world)
+						for(var/turf/T in A.contents)
+							if(T.icon_state == "carpetsymbol")
+								T.set_dir(8)
+				if("the bible melts")
+					B.icon_state = "melted"
+					B.item_state = "melted"
+				if("Necronomicon")
+					B.icon_state = "necronomicon"
+					B.item_state = "necronomicon"
+				else
+					// if christian bible, revert to default
+					B.icon_state = "bible"
+					B.item_state = "bible"
+					for(var/area/chapel/main/A in world)
+						for(var/turf/T in A.contents)
+							if(T.icon_state == "carpetsymbol")
+								T.set_dir(2)
+
+			H.update_inv_l_hand() // so that it updates the bible's item_state in his hand
+
+			switch(input(H,"Look at your bible - is this what you want?") in list("Yes","No"))
+				if("Yes")
+					accepted = 1
+				if("No")
+					if(outoftime)
+						H << "Welp, out of time, buddy. You're stuck. Next time choose faster."
+						accepted = 1
+
+		if(ticker)
+			ticker.Bible_icon_state = B.icon_state
+			ticker.Bible_item_state = B.item_state
+			ticker.Bible_name = B.name
+			ticker.Bible_deity_name = B.deity_name
+		feedback_set_details("religion_deity","[new_deity]")
+		feedback_set_details("religion_book","[new_book_style]")
+	return 1
+
 /datum/job/chaplain/equip_preview(var/mob/living/carbon/human/H, var/alt_title)
 	return equip(H, alt_title, FALSE)
diff --git a/code/game/jobs/job/engineering.dm b/code/game/jobs/job/engineering.dm
index b9cc65dcde..e8b24b0446 100644
--- a/code/game/jobs/job/engineering.dm
+++ b/code/game/jobs/job/engineering.dm
@@ -28,26 +28,26 @@
 	minimal_player_age = 7
 
 
-	equip(var/mob/living/carbon/human/H)
-		if(!H)	return 0
-		H.equip_to_slot_or_del(new /obj/item/device/radio/headset/heads/ce(H), slot_l_ear)
-		switch(H.backbag)
-			if(2) H.equip_to_slot_or_del(new /obj/item/weapon/storage/backpack/industrial(H), slot_back)
-			if(3) H.equip_to_slot_or_del(new /obj/item/weapon/storage/backpack/satchel/eng(H), slot_back)
-			if(4) H.equip_to_slot_or_del(new /obj/item/weapon/storage/backpack/satchel(H), slot_back)
-			if(5) H.equip_to_slot_or_del(new /obj/item/weapon/storage/backpack/messenger/engi(H), slot_back)
-		H.equip_to_slot_or_del(new /obj/item/clothing/under/rank/chief_engineer(H), slot_w_uniform)
-		H.equip_to_slot_or_del(new /obj/item/device/pda/heads/ce(H), slot_l_store)
-		H.equip_to_slot_or_del(new /obj/item/clothing/shoes/boots/workboots(H), slot_shoes)
-		H.equip_to_slot_or_del(new /obj/item/clothing/head/hardhat/white(H), slot_head)
-		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/gloves/black(H), slot_gloves)
-		return 1
+/datum/job/chief_engineer/equip(var/mob/living/carbon/human/H, var/alt_title)
+	if(!H)	return 0
+	H.equip_to_slot_or_del(new /obj/item/device/radio/headset/heads/ce(H), slot_l_ear)
+	switch(H.backbag)
+		if(2) H.equip_to_slot_or_del(new /obj/item/weapon/storage/backpack/industrial(H), slot_back)
+		if(3) H.equip_to_slot_or_del(new /obj/item/weapon/storage/backpack/satchel/eng(H), slot_back)
+		if(4) H.equip_to_slot_or_del(new /obj/item/weapon/storage/backpack/satchel(H), slot_back)
+		if(5) H.equip_to_slot_or_del(new /obj/item/weapon/storage/backpack/messenger/engi(H), slot_back)
+	H.equip_to_slot_or_del(new /obj/item/clothing/under/rank/chief_engineer(H), slot_w_uniform)
+	H.equip_to_slot_or_del(new /obj/item/device/pda/heads/ce(H), slot_l_store)
+	H.equip_to_slot_or_del(new /obj/item/clothing/shoes/boots/workboots(H), slot_shoes)
+	H.equip_to_slot_or_del(new /obj/item/clothing/head/hardhat/white(H), slot_head)
+	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/gloves/black(H), slot_gloves)
+	return 1
 
-	equip_survival(var/mob/living/carbon/human/H)
-		if(!H)	return 0
-		H.species.equip_survival_gear(H,1)
-		return 1
+/datum/job/chief_engineer/equip_survival(var/mob/living/carbon/human/H, var/alt_title)
+	if(!H)	return 0
+	H.species.equip_survival_gear(H,1)
+	return 1
 
 
 /datum/job/engineer
@@ -67,26 +67,26 @@
 	alt_titles = list("Maintenance Technician","Engine Technician","Electrician")
 
 
-	equip(var/mob/living/carbon/human/H)
-		if(!H)	return 0
-		H.equip_to_slot_or_del(new /obj/item/device/radio/headset/headset_eng(H), slot_l_ear)
-		switch(H.backbag)
-			if(2) H.equip_to_slot_or_del(new /obj/item/weapon/storage/backpack/industrial(H), slot_back)
-			if(3) H.equip_to_slot_or_del(new /obj/item/weapon/storage/backpack/satchel/eng(H), slot_back)
-			if(4) H.equip_to_slot_or_del(new /obj/item/weapon/storage/backpack/satchel(H), slot_back)
-			if(5) H.equip_to_slot_or_del(new /obj/item/weapon/storage/backpack/messenger/engi(H), slot_back)
-		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/boots/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)
-		H.equip_to_slot_or_del(new /obj/item/device/pda/engineering(H), slot_l_store)
-		return 1
+/datum/job/engineer/equip(var/mob/living/carbon/human/H, var/alt_title)
+	if(!H)	return 0
+	H.equip_to_slot_or_del(new /obj/item/device/radio/headset/headset_eng(H), slot_l_ear)
+	switch(H.backbag)
+		if(2) H.equip_to_slot_or_del(new /obj/item/weapon/storage/backpack/industrial(H), slot_back)
+		if(3) H.equip_to_slot_or_del(new /obj/item/weapon/storage/backpack/satchel/eng(H), slot_back)
+		if(4) H.equip_to_slot_or_del(new /obj/item/weapon/storage/backpack/satchel(H), slot_back)
+		if(5) H.equip_to_slot_or_del(new /obj/item/weapon/storage/backpack/messenger/engi(H), slot_back)
+	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/boots/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)
+	H.equip_to_slot_or_del(new /obj/item/device/pda/engineering(H), slot_l_store)
+	return 1
 
-	equip_survival(var/mob/living/carbon/human/H)
-		if(!H)	return 0
-		H.species.equip_survival_gear(H,1)
-		return 1
+/datum/job/engineer/equip_survival(var/mob/living/carbon/human/H)
+	if(!H)	return 0
+	H.species.equip_survival_gear(H,1)
+	return 1
 
 
 /datum/job/atmos
@@ -106,21 +106,21 @@
 
 	minimal_player_age = 3
 
-	equip(var/mob/living/carbon/human/H)
-		if(!H)	return 0
-		H.equip_to_slot_or_del(new /obj/item/device/radio/headset/headset_eng(H), slot_l_ear)
-		switch(H.backbag)
-			if(2) H.equip_to_slot_or_del(new /obj/item/weapon/storage/backpack(H), slot_back)
-			if(3) H.equip_to_slot_or_del(new /obj/item/weapon/storage/backpack/satchel/norm(H), slot_back)
-			if(4) H.equip_to_slot_or_del(new /obj/item/weapon/storage/backpack/satchel(H), slot_back)
-			if(5) H.equip_to_slot_or_del(new /obj/item/weapon/storage/backpack/messenger/engi(H), slot_back)
-		H.equip_to_slot_or_del(new /obj/item/clothing/under/rank/atmospheric_technician(H), slot_w_uniform)
-		H.equip_to_slot_or_del(new /obj/item/clothing/shoes/boots/workboots(H), slot_shoes)
-		H.equip_to_slot_or_del(new /obj/item/device/pda/atmos(H), slot_l_store)
-		H.equip_to_slot_or_del(new /obj/item/weapon/storage/belt/utility/atmostech/(H), slot_belt)
-		return 1
+/datum/job/atmos/equip(var/mob/living/carbon/human/H, var/alt_title)
+	if(!H)	return 0
+	H.equip_to_slot_or_del(new /obj/item/device/radio/headset/headset_eng(H), slot_l_ear)
+	switch(H.backbag)
+		if(2) H.equip_to_slot_or_del(new /obj/item/weapon/storage/backpack(H), slot_back)
+		if(3) H.equip_to_slot_or_del(new /obj/item/weapon/storage/backpack/satchel/norm(H), slot_back)
+		if(4) H.equip_to_slot_or_del(new /obj/item/weapon/storage/backpack/satchel(H), slot_back)
+		if(5) H.equip_to_slot_or_del(new /obj/item/weapon/storage/backpack/messenger/engi(H), slot_back)
+	H.equip_to_slot_or_del(new /obj/item/clothing/under/rank/atmospheric_technician(H), slot_w_uniform)
+	H.equip_to_slot_or_del(new /obj/item/clothing/shoes/boots/workboots(H), slot_shoes)
+	H.equip_to_slot_or_del(new /obj/item/device/pda/atmos(H), slot_l_store)
+	H.equip_to_slot_or_del(new /obj/item/weapon/storage/belt/utility/atmostech/(H), slot_belt)
+	return 1
 
-	equip_survival(var/mob/living/carbon/human/H)
-		if(!H)	return 0
-		H.species.equip_survival_gear(H,1)
-		return 1
+/datum/job/atmos/equip_survival(var/mob/living/carbon/human/H)
+	if(!H)	return 0
+	H.species.equip_survival_gear(H,1)
+	return 1
diff --git a/code/game/jobs/job/medical.dm b/code/game/jobs/job/medical.dm
index db8dd443cd..589abbc0bc 100644
--- a/code/game/jobs/job/medical.dm
+++ b/code/game/jobs/job/medical.dm
@@ -23,21 +23,21 @@
 	minimal_player_age = 10
 	ideal_character_age = 50
 
-	equip(var/mob/living/carbon/human/H, var/alt_title)
-		if(!H)	return 0
-		H.equip_to_slot_or_del(new /obj/item/device/radio/headset/heads/cmo(H), slot_l_ear)
-		switch(H.backbag)
-			if(2) H.equip_to_slot_or_del(new /obj/item/weapon/storage/backpack/medic(H), slot_back)
-			if(3) H.equip_to_slot_or_del(new /obj/item/weapon/storage/backpack/satchel/med(H), slot_back)
-			if(4) H.equip_to_slot_or_del(new /obj/item/weapon/storage/backpack/satchel(H), slot_back)
-			if(5) H.equip_to_slot_or_del(new /obj/item/weapon/storage/backpack/messenger/med(H), slot_back)
-		H.equip_to_slot_or_del(new /obj/item/clothing/under/rank/chief_medical_officer(H), slot_w_uniform)
-		H.equip_to_slot_or_del(new /obj/item/clothing/shoes/brown(H), slot_shoes)
-		H.equip_to_slot_or_del(new /obj/item/device/pda/heads/cmo(H), slot_belt)
-		H.equip_to_slot_or_del(new /obj/item/weapon/storage/firstaid/adv(H), slot_l_hand)
-		H.equip_to_slot_or_del(new /obj/item/clothing/suit/storage/toggle/labcoat/cmo(H), slot_wear_suit)
-		H.equip_to_slot_or_del(new /obj/item/device/healthanalyzer(H), slot_s_store)
-		return 1
+/datum/job/cmo/equip(var/mob/living/carbon/human/H, var/alt_title)
+	if(!H)	return 0
+	H.equip_to_slot_or_del(new /obj/item/device/radio/headset/heads/cmo(H), slot_l_ear)
+	switch(H.backbag)
+		if(2) H.equip_to_slot_or_del(new /obj/item/weapon/storage/backpack/medic(H), slot_back)
+		if(3) H.equip_to_slot_or_del(new /obj/item/weapon/storage/backpack/satchel/med(H), slot_back)
+		if(4) H.equip_to_slot_or_del(new /obj/item/weapon/storage/backpack/satchel(H), slot_back)
+		if(5) H.equip_to_slot_or_del(new /obj/item/weapon/storage/backpack/messenger/med(H), slot_back)
+	H.equip_to_slot_or_del(new /obj/item/clothing/under/rank/chief_medical_officer(H), slot_w_uniform)
+	H.equip_to_slot_or_del(new /obj/item/clothing/shoes/brown(H), slot_shoes)
+	H.equip_to_slot_or_del(new /obj/item/device/pda/heads/cmo(H), slot_belt)
+	H.equip_to_slot_or_del(new /obj/item/weapon/storage/firstaid/adv(H), slot_l_hand)
+	H.equip_to_slot_or_del(new /obj/item/clothing/suit/storage/toggle/labcoat/cmo(H), slot_wear_suit)
+	H.equip_to_slot_or_del(new /obj/item/device/healthanalyzer(H), slot_s_store)
+	return 1
 
 /datum/job/doctor
 	title = "Medical Doctor"
@@ -55,50 +55,50 @@
 	minimal_access = list(access_medical, access_medical_equip, access_morgue, access_surgery, access_virology, access_eva)
 	alt_titles = list("Surgeon","Emergency Physician","Nurse","Virologist")
 
-	equip(var/mob/living/carbon/human/H, var/alt_title)
-		if(!H)	return 0
-		H.equip_to_slot_or_del(new /obj/item/device/radio/headset/headset_med(H), slot_l_ear)
-		H.equip_to_slot_or_del(new /obj/item/clothing/shoes/white(H), slot_shoes)
-		H.equip_to_slot_or_del(new /obj/item/weapon/storage/firstaid/adv(H), slot_l_hand)
+/datum/job/doctor/equip(var/mob/living/carbon/human/H, var/alt_title)
+	if(!H)	return 0
+	H.equip_to_slot_or_del(new /obj/item/device/radio/headset/headset_med(H), slot_l_ear)
+	H.equip_to_slot_or_del(new /obj/item/clothing/shoes/white(H), slot_shoes)
+	H.equip_to_slot_or_del(new /obj/item/weapon/storage/firstaid/adv(H), slot_l_hand)
+	switch(H.backbag)
+		if(2) H.equip_to_slot_or_del(new /obj/item/weapon/storage/backpack/medic(H), slot_back)
+		if(3) H.equip_to_slot_or_del(new /obj/item/weapon/storage/backpack/satchel/med(H), slot_back)
+		if(4) H.equip_to_slot_or_del(new /obj/item/weapon/storage/backpack/satchel(H), slot_back)
+		if(5) H.equip_to_slot_or_del(new /obj/item/weapon/storage/backpack/messenger/med(H), slot_back)
+	if(has_alt_title(H, alt_title,"Emergency Physician"))
+		H.equip_to_slot_or_del(new /obj/item/clothing/under/rank/medical(H), slot_w_uniform)
+		H.equip_to_slot_or_del(new /obj/item/clothing/suit/storage/toggle/fr_jacket(H), slot_wear_suit)
+	else if(has_alt_title(H, alt_title,"Surgeon"))
+		H.equip_to_slot_or_del(new /obj/item/clothing/under/rank/medical/blue(H), slot_w_uniform)
+		H.equip_to_slot_or_del(new /obj/item/clothing/suit/storage/toggle/labcoat(H), slot_wear_suit)
+		H.equip_to_slot_or_del(new /obj/item/clothing/head/surgery/blue(H), slot_head)
+	else if(has_alt_title(H, alt_title,"Virologist"))
+		H.equip_to_slot_or_del(new /obj/item/clothing/under/rank/virologist(H), slot_w_uniform)
+		H.equip_to_slot_or_del(new /obj/item/clothing/suit/storage/toggle/labcoat/virologist(H), slot_wear_suit)
+		H.equip_to_slot_or_del(new /obj/item/clothing/mask/surgical(H), slot_wear_mask)
 		switch(H.backbag)
-			if(2) H.equip_to_slot_or_del(new /obj/item/weapon/storage/backpack/medic(H), slot_back)
-			if(3) H.equip_to_slot_or_del(new /obj/item/weapon/storage/backpack/satchel/med(H), slot_back)
+			if(2) H.equip_to_slot_or_del(new /obj/item/weapon/storage/backpack/virology(H), slot_back)
+			if(3) H.equip_to_slot_or_del(new /obj/item/weapon/storage/backpack/satchel/vir(H), slot_back)
 			if(4) H.equip_to_slot_or_del(new /obj/item/weapon/storage/backpack/satchel(H), slot_back)
-			if(5) H.equip_to_slot_or_del(new /obj/item/weapon/storage/backpack/messenger/med(H), slot_back)
-		if(has_alt_title(H, alt_title,"Emergency Physician"))
-			H.equip_to_slot_or_del(new /obj/item/clothing/under/rank/medical(H), slot_w_uniform)
-			H.equip_to_slot_or_del(new /obj/item/clothing/suit/storage/toggle/fr_jacket(H), slot_wear_suit)
-		else if(has_alt_title(H, alt_title,"Surgeon"))
-			H.equip_to_slot_or_del(new /obj/item/clothing/under/rank/medical/blue(H), slot_w_uniform)
-			H.equip_to_slot_or_del(new /obj/item/clothing/suit/storage/toggle/labcoat(H), slot_wear_suit)
-			H.equip_to_slot_or_del(new /obj/item/clothing/head/surgery/blue(H), slot_head)
-		else if(has_alt_title(H, alt_title,"Virologist"))
-			H.equip_to_slot_or_del(new /obj/item/clothing/under/rank/virologist(H), slot_w_uniform)
-			H.equip_to_slot_or_del(new /obj/item/clothing/suit/storage/toggle/labcoat/virologist(H), slot_wear_suit)
-			H.equip_to_slot_or_del(new /obj/item/clothing/mask/surgical(H), slot_wear_mask)
-			switch(H.backbag)
-				if(2) H.equip_to_slot_or_del(new /obj/item/weapon/storage/backpack/virology(H), slot_back)
-				if(3) H.equip_to_slot_or_del(new /obj/item/weapon/storage/backpack/satchel/vir(H), slot_back)
-				if(4) H.equip_to_slot_or_del(new /obj/item/weapon/storage/backpack/satchel(H), slot_back)
-				if(5) H.equip_to_slot_or_del(new /obj/item/weapon/storage/backpack/messenger/viro(H), slot_back)
-		else if(has_alt_title(H, alt_title,"Medical Doctor"))
-			H.equip_to_slot_or_del(new /obj/item/clothing/under/rank/medical(H), slot_w_uniform)
-			H.equip_to_slot_or_del(new /obj/item/clothing/suit/storage/toggle/labcoat(H), slot_wear_suit)
-		else if(has_alt_title(H, alt_title,"Nurse"))
-			if(H.gender == FEMALE)
-				if(prob(50))
-					H.equip_to_slot_or_del(new /obj/item/clothing/under/rank/nursesuit(H), slot_w_uniform)
-				else
-					H.equip_to_slot_or_del(new /obj/item/clothing/under/rank/nurse(H), slot_w_uniform)
-				H.equip_to_slot_or_del(new /obj/item/clothing/head/nursehat(H), slot_head)
+			if(5) H.equip_to_slot_or_del(new /obj/item/weapon/storage/backpack/messenger/viro(H), slot_back)
+	else if(has_alt_title(H, alt_title,"Medical Doctor"))
+		H.equip_to_slot_or_del(new /obj/item/clothing/under/rank/medical(H), slot_w_uniform)
+		H.equip_to_slot_or_del(new /obj/item/clothing/suit/storage/toggle/labcoat(H), slot_wear_suit)
+	else if(has_alt_title(H, alt_title,"Nurse"))
+		if(H.gender == FEMALE)
+			if(prob(50))
+				H.equip_to_slot_or_del(new /obj/item/clothing/under/rank/nursesuit(H), slot_w_uniform)
 			else
-				H.equip_to_slot_or_del(new /obj/item/clothing/under/rank/medical/purple(H), slot_w_uniform)
+				H.equip_to_slot_or_del(new /obj/item/clothing/under/rank/nurse(H), slot_w_uniform)
+			H.equip_to_slot_or_del(new /obj/item/clothing/head/nursehat(H), slot_head)
 		else
-			H.equip_to_slot_or_del(new /obj/item/clothing/under/rank/medical(H), slot_w_uniform)
-			H.equip_to_slot_or_del(new /obj/item/clothing/suit/storage/toggle/labcoat(H), slot_wear_suit)
-		H.equip_to_slot_or_del(new /obj/item/device/pda/medical(H), slot_belt)
-		H.equip_to_slot_or_del(new /obj/item/device/healthanalyzer(H), slot_s_store)
-		return 1
+			H.equip_to_slot_or_del(new /obj/item/clothing/under/rank/medical/purple(H), slot_w_uniform)
+	else
+		H.equip_to_slot_or_del(new /obj/item/clothing/under/rank/medical(H), slot_w_uniform)
+		H.equip_to_slot_or_del(new /obj/item/clothing/suit/storage/toggle/labcoat(H), slot_wear_suit)
+	H.equip_to_slot_or_del(new /obj/item/device/pda/medical(H), slot_belt)
+	H.equip_to_slot_or_del(new /obj/item/device/healthanalyzer(H), slot_s_store)
+	return 1
 
 
 
@@ -121,19 +121,19 @@
 
 	minimal_player_age = 3
 
-	equip(var/mob/living/carbon/human/H)
-		if(!H)	return 0
-		H.equip_to_slot_or_del(new /obj/item/device/radio/headset/headset_med(H), slot_l_ear)
-		H.equip_to_slot_or_del(new /obj/item/clothing/under/rank/chemist(H), slot_w_uniform)
-		H.equip_to_slot_or_del(new /obj/item/clothing/shoes/white(H), slot_shoes)
-		H.equip_to_slot_or_del(new /obj/item/device/pda/chemist(H), slot_belt)
-		switch(H.backbag)
-			if(2) H.equip_to_slot_or_del(new /obj/item/weapon/storage/backpack/chemistry(H), slot_back)
-			if(3) H.equip_to_slot_or_del(new /obj/item/weapon/storage/backpack/satchel/chem(H), slot_back)
-			if(4) H.equip_to_slot_or_del(new /obj/item/weapon/storage/backpack/satchel(H), slot_back)
-			if(5) H.equip_to_slot_or_del(new /obj/item/weapon/storage/backpack/messenger/chem(H), slot_back)
-		H.equip_to_slot_or_del(new /obj/item/clothing/suit/storage/toggle/labcoat/chemist(H), slot_wear_suit)
-		return 1
+/datum/job/chemist/equip(var/mob/living/carbon/human/H)
+	if(!H)	return 0
+	H.equip_to_slot_or_del(new /obj/item/device/radio/headset/headset_med(H), slot_l_ear)
+	H.equip_to_slot_or_del(new /obj/item/clothing/under/rank/chemist(H), slot_w_uniform)
+	H.equip_to_slot_or_del(new /obj/item/clothing/shoes/white(H), slot_shoes)
+	H.equip_to_slot_or_del(new /obj/item/device/pda/chemist(H), slot_belt)
+	switch(H.backbag)
+		if(2) H.equip_to_slot_or_del(new /obj/item/weapon/storage/backpack/chemistry(H), slot_back)
+		if(3) H.equip_to_slot_or_del(new /obj/item/weapon/storage/backpack/satchel/chem(H), slot_back)
+		if(4) H.equip_to_slot_or_del(new /obj/item/weapon/storage/backpack/satchel(H), slot_back)
+		if(5) H.equip_to_slot_or_del(new /obj/item/weapon/storage/backpack/messenger/chem(H), slot_back)
+	H.equip_to_slot_or_del(new /obj/item/clothing/suit/storage/toggle/labcoat/chemist(H), slot_wear_suit)
+	return 1
 
 
 /* I'm commenting out Geneticist so you can't actually see it in the job menu, given that you can't play as one - Jon.
@@ -151,19 +151,19 @@
 	access = list(access_medical, access_morgue, access_surgery, access_chemistry, access_virology, access_genetics, access_research)
 	minimal_access = list(access_medical, access_morgue, access_genetics, access_research)
 
-	equip(var/mob/living/carbon/human/H)
-		if(!H)	return 0
-		H.equip_to_slot_or_del(new /obj/item/device/radio/headset/headset_medsci(H), slot_l_ear)
-		H.equip_to_slot_or_del(new /obj/item/clothing/under/rank/geneticist(H), slot_w_uniform)
-		H.equip_to_slot_or_del(new /obj/item/clothing/shoes/white(H), slot_shoes)
-		H.equip_to_slot_or_del(new /obj/item/device/pda/geneticist(H), slot_belt)
-		switch(H.backbag)
-			if(2) H.equip_to_slot_or_del(new /obj/item/weapon/storage/backpack/genetics(H), slot_back)
-			if(3) H.equip_to_slot_or_del(new /obj/item/weapon/storage/backpack/satchel/gen(H), slot_back)
-			if(4) H.equip_to_slot_or_del(new /obj/item/weapon/storage/backpack/satchel(H), slot_back)
-		H.equip_to_slot_or_del(new /obj/item/clothing/suit/storage/toggle/labcoat/genetics(H), slot_wear_suit)
-		H.equip_to_slot_or_del(new /obj/item/device/flashlight/pen(H), slot_s_store)
-		return 1
+/datum/job/geneticist/equip(var/mob/living/carbon/human/H)
+	if(!H)	return 0
+	H.equip_to_slot_or_del(new /obj/item/device/radio/headset/headset_medsci(H), slot_l_ear)
+	H.equip_to_slot_or_del(new /obj/item/clothing/under/rank/geneticist(H), slot_w_uniform)
+	H.equip_to_slot_or_del(new /obj/item/clothing/shoes/white(H), slot_shoes)
+	H.equip_to_slot_or_del(new /obj/item/device/pda/geneticist(H), slot_belt)
+	switch(H.backbag)
+		if(2) H.equip_to_slot_or_del(new /obj/item/weapon/storage/backpack/genetics(H), slot_back)
+		if(3) H.equip_to_slot_or_del(new /obj/item/weapon/storage/backpack/satchel/gen(H), slot_back)
+		if(4) H.equip_to_slot_or_del(new /obj/item/weapon/storage/backpack/satchel(H), slot_back)
+	H.equip_to_slot_or_del(new /obj/item/clothing/suit/storage/toggle/labcoat/genetics(H), slot_wear_suit)
+	H.equip_to_slot_or_del(new /obj/item/device/flashlight/pen(H), slot_s_store)
+	return 1
 */
 
 /datum/job/psychiatrist
@@ -182,23 +182,23 @@
 	minimal_access = list(access_medical, access_medical_equip, access_psychiatrist)
 	alt_titles = list("Psychologist")
 
-	equip(var/mob/living/carbon/human/H, var/alt_title)
-		if(!H)	return 0
-		H.equip_to_slot_or_del(new /obj/item/device/radio/headset/headset_med(H), slot_l_ear)
-		switch(H.backbag)
-			if(2) H.equip_to_slot_or_del(new /obj/item/weapon/storage/backpack(H), slot_back)
-			if(3) H.equip_to_slot_or_del(new /obj/item/weapon/storage/backpack/satchel/norm(H), slot_back)
-			if(4) H.equip_to_slot_or_del(new /obj/item/weapon/storage/backpack/satchel(H), slot_back)
-			if(5) H.equip_to_slot_or_del(new /obj/item/weapon/storage/backpack/messenger(H), slot_back)
-		if(has_alt_title(H, alt_title,"Psychiatrist"))
-			H.equip_to_slot_or_del(new /obj/item/clothing/under/rank/psych(H), slot_w_uniform)
-		else if(has_alt_title(H, alt_title,"Psychologist"))
-			H.equip_to_slot_or_del(new /obj/item/clothing/under/rank/psych/turtleneck(H), slot_w_uniform)
-		else
-			H.equip_to_slot_or_del(new /obj/item/clothing/under/rank/medical(H), slot_w_uniform)
-		H.equip_to_slot_or_del(new /obj/item/clothing/shoes/laceup(H), slot_shoes)
-		H.equip_to_slot_or_del(new /obj/item/device/pda/medical(H), slot_belt)
-		H.equip_to_slot_or_del(new /obj/item/clothing/suit/storage/toggle/labcoat(H), slot_wear_suit)
+/datum/job/psychiatrist/equip(var/mob/living/carbon/human/H, var/alt_title)
+	if(!H)	return 0
+	H.equip_to_slot_or_del(new /obj/item/device/radio/headset/headset_med(H), slot_l_ear)
+	switch(H.backbag)
+		if(2) H.equip_to_slot_or_del(new /obj/item/weapon/storage/backpack(H), slot_back)
+		if(3) H.equip_to_slot_or_del(new /obj/item/weapon/storage/backpack/satchel/norm(H), slot_back)
+		if(4) H.equip_to_slot_or_del(new /obj/item/weapon/storage/backpack/satchel(H), slot_back)
+		if(5) H.equip_to_slot_or_del(new /obj/item/weapon/storage/backpack/messenger(H), slot_back)
+	if(has_alt_title(H, alt_title,"Psychiatrist"))
+		H.equip_to_slot_or_del(new /obj/item/clothing/under/rank/psych(H), slot_w_uniform)
+	else if(has_alt_title(H, alt_title,"Psychologist"))
+		H.equip_to_slot_or_del(new /obj/item/clothing/under/rank/psych/turtleneck(H), slot_w_uniform)
+	else
+		H.equip_to_slot_or_del(new /obj/item/clothing/under/rank/medical(H), slot_w_uniform)
+	H.equip_to_slot_or_del(new /obj/item/clothing/shoes/laceup(H), slot_shoes)
+	H.equip_to_slot_or_del(new /obj/item/device/pda/medical(H), slot_belt)
+	H.equip_to_slot_or_del(new /obj/item/clothing/suit/storage/toggle/labcoat(H), slot_wear_suit)
 
 
 /datum/job/Paramedic
@@ -217,29 +217,29 @@
 	minimal_access = list(access_medical, access_medical_equip, access_morgue, access_eva, access_maint_tunnels, access_external_airlocks)
 	alt_titles = list("Emergency Medical Technician")
 
-	equip(var/mob/living/carbon/human/H, var/alt_title)
-		if(!H)	return 0
-		H.equip_to_slot_or_del(new /obj/item/device/radio/headset/headset_med(H), slot_l_ear)
-		H.equip_to_slot_or_del(new /obj/item/clothing/shoes/boots/jackboots(H), slot_shoes)
-		H.equip_to_slot_or_del(new /obj/item/weapon/storage/firstaid/adv(H), slot_l_hand)
-		switch(H.backbag)
-			if(2) H.equip_to_slot_or_del(new /obj/item/weapon/storage/backpack/medic(H), slot_back)
-			if(3) H.equip_to_slot_or_del(new /obj/item/weapon/storage/backpack/satchel/med(H), slot_back)
-			if(4) H.equip_to_slot_or_del(new /obj/item/weapon/storage/backpack/satchel(H), slot_back)
-			if(5) H.equip_to_slot_or_del(new /obj/item/weapon/storage/backpack/messenger/med(H), slot_back)
-		if(has_alt_title(H, alt_title,"Emergency Medical Technician"))
-			H.equip_to_slot_or_del(new /obj/item/clothing/under/rank/medical/paramedic(H), slot_w_uniform)
-			H.equip_to_slot_or_del(new /obj/item/clothing/suit/storage/toggle/fr_jacket(H), slot_wear_suit)
-		else if(has_alt_title(H, alt_title,"Paramedic"))
-			H.equip_to_slot_or_del(new /obj/item/clothing/under/rank/medical/black(H), slot_w_uniform)
-			H.equip_to_slot_or_del(new /obj/item/clothing/suit/storage/toggle/fr_jacket(H), slot_wear_suit)
-		else
-			H.equip_to_slot_or_del(new /obj/item/clothing/under/rank/medical(H), slot_w_uniform)
-		H.equip_to_slot_or_del(new /obj/item/weapon/storage/belt/medical/emt(H), slot_belt)
-		H.equip_to_slot_or_del(new /obj/item/device/pda/medical(H), slot_l_store)
-		return 1
+/datum/job/Paramedic/equip(var/mob/living/carbon/human/H, var/alt_title)
+	if(!H)	return 0
+	H.equip_to_slot_or_del(new /obj/item/device/radio/headset/headset_med(H), slot_l_ear)
+	H.equip_to_slot_or_del(new /obj/item/clothing/shoes/boots/jackboots(H), slot_shoes)
+	H.equip_to_slot_or_del(new /obj/item/weapon/storage/firstaid/adv(H), slot_l_hand)
+	switch(H.backbag)
+		if(2) H.equip_to_slot_or_del(new /obj/item/weapon/storage/backpack/medic(H), slot_back)
+		if(3) H.equip_to_slot_or_del(new /obj/item/weapon/storage/backpack/satchel/med(H), slot_back)
+		if(4) H.equip_to_slot_or_del(new /obj/item/weapon/storage/backpack/satchel(H), slot_back)
+		if(5) H.equip_to_slot_or_del(new /obj/item/weapon/storage/backpack/messenger/med(H), slot_back)
+	if(has_alt_title(H, alt_title,"Emergency Medical Technician"))
+		H.equip_to_slot_or_del(new /obj/item/clothing/under/rank/medical/paramedic(H), slot_w_uniform)
+		H.equip_to_slot_or_del(new /obj/item/clothing/suit/storage/toggle/fr_jacket(H), slot_wear_suit)
+	else if(has_alt_title(H, alt_title,"Paramedic"))
+		H.equip_to_slot_or_del(new /obj/item/clothing/under/rank/medical/black(H), slot_w_uniform)
+		H.equip_to_slot_or_del(new /obj/item/clothing/suit/storage/toggle/fr_jacket(H), slot_wear_suit)
+	else
+		H.equip_to_slot_or_del(new /obj/item/clothing/under/rank/medical(H), slot_w_uniform)
+	H.equip_to_slot_or_del(new /obj/item/weapon/storage/belt/medical/emt(H), slot_belt)
+	H.equip_to_slot_or_del(new /obj/item/device/pda/medical(H), slot_l_store)
+	return 1
 
-	equip_survival(var/mob/living/carbon/human/H)
-		if(!H)	return 0
-		H.species.equip_survival_gear(H,1)
-		return 1
+/datum/job/Paramedic/equip_survival(var/mob/living/carbon/human/H)
+	if(!H)	return 0
+	H.species.equip_survival_gear(H,1)
+	return 1
diff --git a/code/game/jobs/job/science.dm b/code/game/jobs/job/science.dm
index 7cfc8b8580..01ea140c10 100644
--- a/code/game/jobs/job/science.dm
+++ b/code/game/jobs/job/science.dm
@@ -26,20 +26,20 @@
 	minimal_player_age = 14
 	ideal_character_age = 50
 
-	equip(var/mob/living/carbon/human/H)
-		if(!H)	return 0
-		H.equip_to_slot_or_del(new /obj/item/device/radio/headset/heads/rd(H), slot_l_ear)
-		H.equip_to_slot_or_del(new /obj/item/clothing/shoes/brown(H), slot_shoes)
-		H.equip_to_slot_or_del(new /obj/item/clothing/under/rank/research_director(H), slot_w_uniform)
-		H.equip_to_slot_or_del(new /obj/item/device/pda/heads/rd(H), slot_belt)
-		H.equip_to_slot_or_del(new /obj/item/weapon/clipboard(H), slot_l_hand)
-		switch(H.backbag)
-			if(2) H.equip_to_slot_or_del(new /obj/item/weapon/storage/backpack/toxins(H), slot_back)
-			if(3) H.equip_to_slot_or_del(new /obj/item/weapon/storage/backpack/satchel/tox(H), slot_back)
-			if(4) H.equip_to_slot_or_del(new /obj/item/weapon/storage/backpack/satchel(H), slot_back)
-			if(5) H.equip_to_slot_or_del(new /obj/item/weapon/storage/backpack/messenger/tox(H), slot_back)
-		H.equip_to_slot_or_del(new /obj/item/clothing/suit/storage/toggle/labcoat(H), slot_wear_suit)
-		return 1
+/datum/job/rd/equip(var/mob/living/carbon/human/H, var/alt_title)
+	if(!H)	return 0
+	H.equip_to_slot_or_del(new /obj/item/device/radio/headset/heads/rd(H), slot_l_ear)
+	H.equip_to_slot_or_del(new /obj/item/clothing/shoes/brown(H), slot_shoes)
+	H.equip_to_slot_or_del(new /obj/item/clothing/under/rank/research_director(H), slot_w_uniform)
+	H.equip_to_slot_or_del(new /obj/item/device/pda/heads/rd(H), slot_belt)
+	H.equip_to_slot_or_del(new /obj/item/weapon/clipboard(H), slot_l_hand)
+	switch(H.backbag)
+		if(2) H.equip_to_slot_or_del(new /obj/item/weapon/storage/backpack/toxins(H), slot_back)
+		if(3) H.equip_to_slot_or_del(new /obj/item/weapon/storage/backpack/satchel/tox(H), slot_back)
+		if(4) H.equip_to_slot_or_del(new /obj/item/weapon/storage/backpack/satchel(H), slot_back)
+		if(5) H.equip_to_slot_or_del(new /obj/item/weapon/storage/backpack/messenger/tox(H), slot_back)
+	H.equip_to_slot_or_del(new /obj/item/clothing/suit/storage/toggle/labcoat(H), slot_wear_suit)
+	return 1
 
 
 
@@ -61,19 +61,19 @@
 
 	minimal_player_age = 14
 
-	equip(var/mob/living/carbon/human/H)
-		if(!H)	return 0
-		H.equip_to_slot_or_del(new /obj/item/device/radio/headset/headset_sci(H), slot_l_ear)
-		H.equip_to_slot_or_del(new /obj/item/clothing/under/rank/scientist(H), slot_w_uniform)
-		H.equip_to_slot_or_del(new /obj/item/clothing/shoes/white(H), slot_shoes)
-		H.equip_to_slot_or_del(new /obj/item/device/pda/science(H), slot_belt)
-		switch(H.backbag)
-			if(2) H.equip_to_slot_or_del(new /obj/item/weapon/storage/backpack/toxins(H), slot_back)
-			if(3) H.equip_to_slot_or_del(new /obj/item/weapon/storage/backpack/satchel/tox(H), slot_back)
-			if(4) H.equip_to_slot_or_del(new /obj/item/weapon/storage/backpack/satchel(H), slot_back)
-			if(5) H.equip_to_slot_or_del(new /obj/item/weapon/storage/backpack/messenger/tox(H), slot_back)
-		H.equip_to_slot_or_del(new /obj/item/clothing/suit/storage/toggle/labcoat/science(H), slot_wear_suit)
-		return 1
+/datum/job/scientist/equip(var/mob/living/carbon/human/H, var/alt_title)
+	if(!H)	return 0
+	H.equip_to_slot_or_del(new /obj/item/device/radio/headset/headset_sci(H), slot_l_ear)
+	H.equip_to_slot_or_del(new /obj/item/clothing/under/rank/scientist(H), slot_w_uniform)
+	H.equip_to_slot_or_del(new /obj/item/clothing/shoes/white(H), slot_shoes)
+	H.equip_to_slot_or_del(new /obj/item/device/pda/science(H), slot_belt)
+	switch(H.backbag)
+		if(2) H.equip_to_slot_or_del(new /obj/item/weapon/storage/backpack/toxins(H), slot_back)
+		if(3) H.equip_to_slot_or_del(new /obj/item/weapon/storage/backpack/satchel/tox(H), slot_back)
+		if(4) H.equip_to_slot_or_del(new /obj/item/weapon/storage/backpack/satchel(H), slot_back)
+		if(5) H.equip_to_slot_or_del(new /obj/item/weapon/storage/backpack/messenger/tox(H), slot_back)
+	H.equip_to_slot_or_del(new /obj/item/clothing/suit/storage/toggle/labcoat/science(H), slot_wear_suit)
+	return 1
 
 /datum/job/xenobiologist
 	title = "Xenobiologist"
@@ -93,19 +93,19 @@
 
 	minimal_player_age = 14
 
-	equip(var/mob/living/carbon/human/H)
-		if(!H) return 0
-		H.equip_to_slot_or_del(new /obj/item/device/radio/headset/headset_sci(H), slot_l_ear)
-		H.equip_to_slot_or_del(new /obj/item/clothing/under/rank/scientist(H), slot_w_uniform)
-		H.equip_to_slot_or_del(new /obj/item/clothing/shoes/white(H), slot_shoes)
-		H.equip_to_slot_or_del(new /obj/item/device/pda/science(H), slot_belt)
-		switch(H.backbag)
-			if(2) H.equip_to_slot_or_del(new /obj/item/weapon/storage/backpack/toxins(H), slot_back)
-			if(3) H.equip_to_slot_or_del(new /obj/item/weapon/storage/backpack/satchel/tox(H), slot_back)
-			if(4) H.equip_to_slot_or_del(new /obj/item/weapon/storage/backpack/satchel(H), slot_back)
-			if(5) H.equip_to_slot_or_del(new /obj/item/weapon/storage/backpack/messenger/tox(H), slot_back)
-		H.equip_to_slot_or_del(new /obj/item/clothing/suit/storage/toggle/labcoat/science(H), slot_wear_suit)
-		return 1
+/datum/job/xenobiologist/equip(var/mob/living/carbon/human/H, var/alt_title)
+	if(!H) return 0
+	H.equip_to_slot_or_del(new /obj/item/device/radio/headset/headset_sci(H), slot_l_ear)
+	H.equip_to_slot_or_del(new /obj/item/clothing/under/rank/scientist(H), slot_w_uniform)
+	H.equip_to_slot_or_del(new /obj/item/clothing/shoes/white(H), slot_shoes)
+	H.equip_to_slot_or_del(new /obj/item/device/pda/science(H), slot_belt)
+	switch(H.backbag)
+		if(2) H.equip_to_slot_or_del(new /obj/item/weapon/storage/backpack/toxins(H), slot_back)
+		if(3) H.equip_to_slot_or_del(new /obj/item/weapon/storage/backpack/satchel/tox(H), slot_back)
+		if(4) H.equip_to_slot_or_del(new /obj/item/weapon/storage/backpack/satchel(H), slot_back)
+		if(5) H.equip_to_slot_or_del(new /obj/item/weapon/storage/backpack/messenger/tox(H), slot_back)
+	H.equip_to_slot_or_del(new /obj/item/clothing/suit/storage/toggle/labcoat/science(H), slot_wear_suit)
+	return 1
 
 /datum/job/roboticist
 	title = "Roboticist"
@@ -125,14 +125,14 @@
 
 	minimal_player_age = 7
 
-	equip(var/mob/living/carbon/human/H)
-		if(!H)	return 0
-		H.equip_to_slot_or_del(new /obj/item/device/radio/headset/headset_sci(H), slot_l_ear)
-		if(H.backbag == 2) H.equip_to_slot_or_del(new /obj/item/weapon/storage/backpack(H), slot_back)
-		if(H.backbag == 3) H.equip_to_slot_or_del(new /obj/item/weapon/storage/backpack/satchel/norm(H), slot_back)
-		H.equip_to_slot_or_del(new /obj/item/clothing/under/rank/roboticist(H), slot_w_uniform)
-		H.equip_to_slot_or_del(new /obj/item/clothing/shoes/black(H), slot_shoes)
-		H.equip_to_slot_or_del(new /obj/item/device/pda/roboticist(H), slot_r_store)
-		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/suit/storage/toggle/labcoat(H), slot_wear_suit)
-		return 1
+/datum/job/roboticist/equip(var/mob/living/carbon/human/H, var/alt_title)
+	if(!H)	return 0
+	H.equip_to_slot_or_del(new /obj/item/device/radio/headset/headset_sci(H), slot_l_ear)
+	if(H.backbag == 2) H.equip_to_slot_or_del(new /obj/item/weapon/storage/backpack(H), slot_back)
+	if(H.backbag == 3) H.equip_to_slot_or_del(new /obj/item/weapon/storage/backpack/satchel/norm(H), slot_back)
+	H.equip_to_slot_or_del(new /obj/item/clothing/under/rank/roboticist(H), slot_w_uniform)
+	H.equip_to_slot_or_del(new /obj/item/clothing/shoes/black(H), slot_shoes)
+	H.equip_to_slot_or_del(new /obj/item/device/pda/roboticist(H), slot_r_store)
+	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/suit/storage/toggle/labcoat(H), slot_wear_suit)
+	return 1
diff --git a/code/game/jobs/job/security.dm b/code/game/jobs/job/security.dm
index 8d9da09cbe..522bdea389 100644
--- a/code/game/jobs/job/security.dm
+++ b/code/game/jobs/job/security.dm
@@ -24,26 +24,26 @@
 	minimum_character_age = 25
 	minimal_player_age = 14
 
-	equip(var/mob/living/carbon/human/H)
-		if(!H)	return 0
-		switch(H.backbag)
-			if(2) H.equip_to_slot_or_del(new /obj/item/weapon/storage/backpack/security(H), slot_back)
-			if(3) H.equip_to_slot_or_del(new /obj/item/weapon/storage/backpack/satchel/sec(H), slot_back)
-			if(4) H.equip_to_slot_or_del(new /obj/item/weapon/storage/backpack/satchel(H), slot_back)
-			if(5) H.equip_to_slot_or_del(new /obj/item/weapon/storage/backpack/messenger/sec(H), slot_back)
-		H.equip_to_slot_or_del(new /obj/item/device/radio/headset/heads/hos(H), slot_l_ear)
-		H.equip_to_slot_or_del(new /obj/item/clothing/under/rank/head_of_security(H), slot_w_uniform)
-		H.equip_to_slot_or_del(new /obj/item/clothing/shoes/boots/jackboots(H), slot_shoes)
-		H.equip_to_slot_or_del(new /obj/item/device/pda/heads/hos(H), slot_belt)
-		H.equip_to_slot_or_del(new /obj/item/clothing/gloves/black(H), slot_gloves)
-//		H.equip_to_slot_or_del(new /obj/item/clothing/mask/gas(H), slot_wear_mask) //Grab one from the armory you donk
-		H.equip_to_slot_or_del(new /obj/item/clothing/glasses/sunglasses/sechud(H), slot_glasses)
-		if(H.backbag == 1)
-			H.equip_to_slot_or_del(new /obj/item/weapon/handcuffs(H), slot_l_store)
-		else
-			H.equip_to_slot_or_del(new /obj/item/weapon/handcuffs(H), slot_in_backpack)
-		H.implant_loyalty()
-		return 1
+/datum/job/hos/equip(var/mob/living/carbon/human/H, var/alt_title)
+	if(!H)	return 0
+	switch(H.backbag)
+		if(2) H.equip_to_slot_or_del(new /obj/item/weapon/storage/backpack/security(H), slot_back)
+		if(3) H.equip_to_slot_or_del(new /obj/item/weapon/storage/backpack/satchel/sec(H), slot_back)
+		if(4) H.equip_to_slot_or_del(new /obj/item/weapon/storage/backpack/satchel(H), slot_back)
+		if(5) H.equip_to_slot_or_del(new /obj/item/weapon/storage/backpack/messenger/sec(H), slot_back)
+	H.equip_to_slot_or_del(new /obj/item/device/radio/headset/heads/hos(H), slot_l_ear)
+	H.equip_to_slot_or_del(new /obj/item/clothing/under/rank/head_of_security(H), slot_w_uniform)
+	H.equip_to_slot_or_del(new /obj/item/clothing/shoes/boots/jackboots(H), slot_shoes)
+	H.equip_to_slot_or_del(new /obj/item/device/pda/heads/hos(H), slot_belt)
+	H.equip_to_slot_or_del(new /obj/item/clothing/gloves/black(H), slot_gloves)
+//	H.equip_to_slot_or_del(new /obj/item/clothing/mask/gas(H), slot_wear_mask) //Grab one from the armory you donk
+	H.equip_to_slot_or_del(new /obj/item/clothing/glasses/sunglasses/sechud(H), slot_glasses)
+	if(H.backbag == 1)
+		H.equip_to_slot_or_del(new /obj/item/weapon/handcuffs(H), slot_l_store)
+	else
+		H.equip_to_slot_or_del(new /obj/item/weapon/handcuffs(H), slot_in_backpack)
+	H.implant_loyalty()
+	return 1
 
 
 
@@ -63,26 +63,26 @@
 	minimal_access = list(access_security, access_eva, access_sec_doors, access_brig, access_armory, access_maint_tunnels, access_external_airlocks)
 	minimal_player_age = 5
 
-	equip(var/mob/living/carbon/human/H)
-		if(!H)	return 0
-		H.equip_to_slot_or_del(new /obj/item/device/radio/headset/headset_sec(H), slot_l_ear)
-		switch(H.backbag)
-			if(2) H.equip_to_slot_or_del(new /obj/item/weapon/storage/backpack/security(H), slot_back)
-			if(3) H.equip_to_slot_or_del(new /obj/item/weapon/storage/backpack/satchel/sec(H), slot_back)
-			if(4) H.equip_to_slot_or_del(new /obj/item/weapon/storage/backpack/satchel(H), slot_back)
-			if(5) H.equip_to_slot_or_del(new /obj/item/weapon/storage/backpack/messenger/sec(H), slot_back)
-		H.equip_to_slot_or_del(new /obj/item/clothing/under/rank/warden(H), slot_w_uniform)
-		H.equip_to_slot_or_del(new /obj/item/clothing/shoes/boots/jackboots(H), slot_shoes)
-		H.equip_to_slot_or_del(new /obj/item/device/pda/warden(H), slot_belt)
-		H.equip_to_slot_or_del(new /obj/item/clothing/gloves/black(H), slot_gloves)
-		H.equip_to_slot_or_del(new /obj/item/clothing/glasses/sunglasses/sechud(H), slot_glasses)
-//		H.equip_to_slot_or_del(new /obj/item/clothing/mask/gas(H), slot_wear_mask) //Grab one from the armory you donk
-		H.equip_to_slot_or_del(new /obj/item/device/flash(H), slot_l_store)
-		if(H.backbag == 1)
-			H.equip_to_slot_or_del(new /obj/item/weapon/handcuffs(H), slot_l_hand)
-		else
-			H.equip_to_slot_or_del(new /obj/item/weapon/handcuffs(H), slot_in_backpack)
-		return 1
+/datum/job/warden/equip(var/mob/living/carbon/human/H, var/alt_title)
+	if(!H)	return 0
+	H.equip_to_slot_or_del(new /obj/item/device/radio/headset/headset_sec(H), slot_l_ear)
+	switch(H.backbag)
+		if(2) H.equip_to_slot_or_del(new /obj/item/weapon/storage/backpack/security(H), slot_back)
+		if(3) H.equip_to_slot_or_del(new /obj/item/weapon/storage/backpack/satchel/sec(H), slot_back)
+		if(4) H.equip_to_slot_or_del(new /obj/item/weapon/storage/backpack/satchel(H), slot_back)
+		if(5) H.equip_to_slot_or_del(new /obj/item/weapon/storage/backpack/messenger/sec(H), slot_back)
+	H.equip_to_slot_or_del(new /obj/item/clothing/under/rank/warden(H), slot_w_uniform)
+	H.equip_to_slot_or_del(new /obj/item/clothing/shoes/boots/jackboots(H), slot_shoes)
+	H.equip_to_slot_or_del(new /obj/item/device/pda/warden(H), slot_belt)
+	H.equip_to_slot_or_del(new /obj/item/clothing/gloves/black(H), slot_gloves)
+	H.equip_to_slot_or_del(new /obj/item/clothing/glasses/sunglasses/sechud(H), slot_glasses)
+//	H.equip_to_slot_or_del(new /obj/item/clothing/mask/gas(H), slot_wear_mask) //Grab one from the armory you donk
+	H.equip_to_slot_or_del(new /obj/item/device/flash(H), slot_l_store)
+	if(H.backbag == 1)
+		H.equip_to_slot_or_del(new /obj/item/weapon/handcuffs(H), slot_l_hand)
+	else
+		H.equip_to_slot_or_del(new /obj/item/weapon/handcuffs(H), slot_in_backpack)
+	return 1
 
 
 
@@ -102,31 +102,32 @@
 	minimal_access = list(access_security, access_sec_doors, access_forensics_lockers, access_morgue, access_maint_tunnels, access_eva, access_external_airlocks)
 	economic_modifier = 5
 	minimal_player_age = 3
-	equip(var/mob/living/carbon/human/H, var/alt_title)
-		if(!H)	return 0
-		H.equip_to_slot_or_del(new /obj/item/device/radio/headset/headset_sec(H), slot_l_ear)
-		switch(H.backbag)
-			if(2) H.equip_to_slot_or_del(new /obj/item/weapon/storage/backpack(H), slot_back)
-			if(3) H.equip_to_slot_or_del(new /obj/item/weapon/storage/backpack/satchel/norm(H), slot_back)
-			if(4) H.equip_to_slot_or_del(new /obj/item/weapon/storage/backpack/satchel(H), slot_back)
-			if(5) H.equip_to_slot_or_del(new /obj/item/weapon/storage/backpack/messenger(H), slot_back)
-		H.equip_to_slot_or_del(new /obj/item/clothing/under/det(H), slot_w_uniform)
-		H.equip_to_slot_or_del(new /obj/item/clothing/shoes/laceup(H), slot_shoes)
-		H.equip_to_slot_or_del(new /obj/item/device/pda/detective(H), slot_belt)
-		H.equip_to_slot_or_del(new /obj/item/clothing/gloves/black(H), slot_gloves)
-		H.equip_to_slot_or_del(new /obj/item/weapon/flame/lighter/zippo(H), slot_l_store)
-		if(H.backbag == 1)//Why cant some of these things spawn in his office?
-			H.equip_to_slot_or_del(new /obj/item/weapon/storage/box/evidence(H), slot_l_hand)
-		else
-			H.equip_to_slot_or_del(new /obj/item/weapon/storage/box/evidence(H), slot_in_backpack)
-		if(has_alt_title(H, alt_title,"Forensic Technician"))
-			H.equip_to_slot_or_del(new /obj/item/clothing/suit/storage/forensics/blue(H), slot_wear_suit)
-			H.equip_to_slot_or_del(new /obj/item/weapon/storage/briefcase/crimekit, slot_r_hand)
-		else
-			H.equip_to_slot_or_del(new /obj/item/clothing/suit/storage/det_trench(H), slot_wear_suit)
-			H.equip_to_slot_or_del(new /obj/item/clothing/head/det(H), slot_head)
-		H.equip_to_slot_or_del(new /obj/item/weapon/storage/briefcase/crimekit(H), slot_r_hand)
-		return 1
+
+/datum/job/detective/equip(var/mob/living/carbon/human/H, var/alt_title)
+	if(!H)	return 0
+	H.equip_to_slot_or_del(new /obj/item/device/radio/headset/headset_sec(H), slot_l_ear)
+	switch(H.backbag)
+		if(2) H.equip_to_slot_or_del(new /obj/item/weapon/storage/backpack(H), slot_back)
+		if(3) H.equip_to_slot_or_del(new /obj/item/weapon/storage/backpack/satchel/norm(H), slot_back)
+		if(4) H.equip_to_slot_or_del(new /obj/item/weapon/storage/backpack/satchel(H), slot_back)
+		if(5) H.equip_to_slot_or_del(new /obj/item/weapon/storage/backpack/messenger(H), slot_back)
+	H.equip_to_slot_or_del(new /obj/item/clothing/under/det(H), slot_w_uniform)
+	H.equip_to_slot_or_del(new /obj/item/clothing/shoes/laceup(H), slot_shoes)
+	H.equip_to_slot_or_del(new /obj/item/device/pda/detective(H), slot_belt)
+	H.equip_to_slot_or_del(new /obj/item/clothing/gloves/black(H), slot_gloves)
+	H.equip_to_slot_or_del(new /obj/item/weapon/flame/lighter/zippo(H), slot_l_store)
+	if(H.backbag == 1)//Why cant some of these things spawn in his office?
+		H.equip_to_slot_or_del(new /obj/item/weapon/storage/box/evidence(H), slot_l_hand)
+	else
+		H.equip_to_slot_or_del(new /obj/item/weapon/storage/box/evidence(H), slot_in_backpack)
+	if(has_alt_title(H, alt_title,"Forensic Technician"))
+		H.equip_to_slot_or_del(new /obj/item/clothing/suit/storage/forensics/blue(H), slot_wear_suit)
+		H.equip_to_slot_or_del(new /obj/item/weapon/storage/briefcase/crimekit, slot_r_hand)
+	else
+		H.equip_to_slot_or_del(new /obj/item/clothing/suit/storage/det_trench(H), slot_wear_suit)
+		H.equip_to_slot_or_del(new /obj/item/clothing/head/det(H), slot_head)
+	H.equip_to_slot_or_del(new /obj/item/weapon/storage/briefcase/crimekit(H), slot_r_hand)
+	return 1
 
 
 
@@ -146,22 +147,23 @@
 	access = list(access_security, access_eva, access_sec_doors, access_brig, access_maint_tunnels, access_morgue, access_external_airlocks)
 	minimal_access = list(access_security, access_eva, access_sec_doors, access_brig, access_maint_tunnels, access_external_airlocks)
 	minimal_player_age = 3
-	equip(var/mob/living/carbon/human/H)
-		if(!H)	return 0
-		H.equip_to_slot_or_del(new /obj/item/device/radio/headset/headset_sec(H), slot_l_ear)
-		switch(H.backbag)
-			if(2) H.equip_to_slot_or_del(new /obj/item/weapon/storage/backpack/security(H), slot_back)
-			if(3) H.equip_to_slot_or_del(new /obj/item/weapon/storage/backpack/satchel/sec(H), slot_back)
-			if(4) H.equip_to_slot_or_del(new /obj/item/weapon/storage/backpack/satchel(H), slot_back)
-			if(5) H.equip_to_slot_or_del(new /obj/item/weapon/storage/backpack/messenger/sec(H), slot_back)
-		H.equip_to_slot_or_del(new /obj/item/clothing/under/rank/security(H), slot_w_uniform)
-		H.equip_to_slot_or_del(new /obj/item/clothing/shoes/boots/jackboots(H), slot_shoes)
-		H.equip_to_slot_or_del(new /obj/item/device/pda/security(H), slot_belt)
-		H.equip_to_slot_or_del(new /obj/item/clothing/gloves/black(H), slot_gloves)
-		H.equip_to_slot_or_del(new /obj/item/weapon/handcuffs(H), slot_s_store)
-		H.equip_to_slot_or_del(new /obj/item/device/flash(H), slot_l_store)
-		if(H.backbag == 1)
-			H.equip_to_slot_or_del(new /obj/item/weapon/handcuffs(H), slot_l_hand)
-		else
-			H.equip_to_slot_or_del(new /obj/item/weapon/handcuffs(H), slot_in_backpack)
-		return 1
+
+/datum/job/officer/equip(var/mob/living/carbon/human/H, var/alt_title)
+	if(!H)	return 0
+	H.equip_to_slot_or_del(new /obj/item/device/radio/headset/headset_sec(H), slot_l_ear)
+	switch(H.backbag)
+		if(2) H.equip_to_slot_or_del(new /obj/item/weapon/storage/backpack/security(H), slot_back)
+		if(3) H.equip_to_slot_or_del(new /obj/item/weapon/storage/backpack/satchel/sec(H), slot_back)
+		if(4) H.equip_to_slot_or_del(new /obj/item/weapon/storage/backpack/satchel(H), slot_back)
+		if(5) H.equip_to_slot_or_del(new /obj/item/weapon/storage/backpack/messenger/sec(H), slot_back)
+	H.equip_to_slot_or_del(new /obj/item/clothing/under/rank/security(H), slot_w_uniform)
+	H.equip_to_slot_or_del(new /obj/item/clothing/shoes/boots/jackboots(H), slot_shoes)
+	H.equip_to_slot_or_del(new /obj/item/device/pda/security(H), slot_belt)
+	H.equip_to_slot_or_del(new /obj/item/clothing/gloves/black(H), slot_gloves)
+	H.equip_to_slot_or_del(new /obj/item/weapon/handcuffs(H), slot_s_store)
+	H.equip_to_slot_or_del(new /obj/item/device/flash(H), slot_l_store)
+	if(H.backbag == 1)
+		H.equip_to_slot_or_del(new /obj/item/weapon/handcuffs(H), slot_l_hand)
+	else
+		H.equip_to_slot_or_del(new /obj/item/weapon/handcuffs(H), slot_in_backpack)
+	return 1

From c21223e334f006e30804ae0b7c4df1353c87dae7 Mon Sep 17 00:00:00 2001
From: Anewbe 
Date: Sun, 2 Apr 2017 14:09:53 -0500
Subject: [PATCH 27/52] Adds permit items, including a gun permit and a bar gun
 permit

---
 code/game/objects/items/weapons/permits.dm | 34 ++++++++++++++++++++++
 polaris.dme                                |  1 +
 2 files changed, 35 insertions(+)
 create mode 100644 code/game/objects/items/weapons/permits.dm

diff --git a/code/game/objects/items/weapons/permits.dm b/code/game/objects/items/weapons/permits.dm
new file mode 100644
index 0000000000..8196a9b5ae
--- /dev/null
+++ b/code/game/objects/items/weapons/permits.dm
@@ -0,0 +1,34 @@
+//This'll be used for gun permits, such as for heads of staff, antags, and bartenders
+
+/obj/item/weapon/permit
+	name = "permit"
+	desc = "A permit for something."
+	icon = 'icons/obj/card.dmi'
+	icon_state = "permit"
+	w_class = ITEMSIZE_TINY
+	var/owner = 0	//To prevent people from just renaming the thing if they steal it
+
+/obj/item/weapon/permit/attack_self(mob/user as mob)
+	if(isliving(user))
+		if(!owner)
+			set_name(user.name)
+		else
+			to_chat(user, "[src] already has an owner!")
+
+/obj/item/weapon/permit/proc/set_name(var/new_name)
+	owner = 1
+	if(new_name)
+		src.name += " ([new_name])"
+		desc += " It belongs to [new_name]."
+
+/obj/item/weapon/permit/emag_act(var/remaining_charges, var/mob/user)
+	to_chat(user, "You reset the naming locks on [src]!")
+	owner = 0
+
+/obj/item/weapon/permit/gun
+	name = "weapon permit"
+	desc = "A card indicating that the owner is allowed to carry a firearm."
+
+/obj/item/weapon/permit/gun/bar
+	name = "bar shotgun permit"
+	desc = "A card indicating that the owner is allowed to carry a shotgun in the bar."
\ No newline at end of file
diff --git a/polaris.dme b/polaris.dme
index 7f5f9217da..6544beb95f 100644
--- a/polaris.dme
+++ b/polaris.dme
@@ -831,6 +831,7 @@
 #include "code\game\objects\items\weapons\mop_deploy.dm"
 #include "code\game\objects\items\weapons\paint.dm"
 #include "code\game\objects\items\weapons\paiwire.dm"
+#include "code\game\objects\items\weapons\permits.dm"
 #include "code\game\objects\items\weapons\policetape.dm"
 #include "code\game\objects\items\weapons\power_cells.dm"
 #include "code\game\objects\items\weapons\RCD.dm"

From 67d9f03e4d87e0c2ec3926be54431fca9c35ec76 Mon Sep 17 00:00:00 2001
From: Atermonera 
Date: Sun, 2 Apr 2017 13:53:05 -0700
Subject: [PATCH 28/52] FBPs can have numbers in their names.

---
 code/_helpers/mobs.dm                               |  4 ++--
 code/_helpers/text.dm                               |  2 +-
 .../client/preference_setup/general/01_basic.dm     |  4 ++--
 .../client/preference_setup/general/03_body.dm      |  5 +++++
 .../mob/living/carbon/human/species/species.dm      |  4 ++--
 html/changelogs/Atermonera - FBPnumbernames.yml     | 13 +++++++++++++
 6 files changed, 25 insertions(+), 7 deletions(-)
 create mode 100644 html/changelogs/Atermonera - FBPnumbernames.yml

diff --git a/code/_helpers/mobs.dm b/code/_helpers/mobs.dm
index 70456bee77..d7fd20ac77 100644
--- a/code/_helpers/mobs.dm
+++ b/code/_helpers/mobs.dm
@@ -63,12 +63,12 @@ proc/random_facial_hair_style(gender, species = "Human")
 
 		return f_style
 
-proc/sanitize_name(name, species = "Human")
+proc/sanitize_name(name, species = "Human", robot = 0)
 	var/datum/species/current_species
 	if(species)
 		current_species = all_species[species]
 
-	return current_species ? current_species.sanitize_name(name) : sanitizeName(name)
+	return current_species ? current_species.sanitize_name(name, robot) : sanitizeName(name, MAX_NAME_LEN, robot)
 
 proc/random_name(gender, species = "Human")
 
diff --git a/code/_helpers/text.dm b/code/_helpers/text.dm
index 68cb5276fa..bd175e4fcc 100644
--- a/code/_helpers/text.dm
+++ b/code/_helpers/text.dm
@@ -85,7 +85,7 @@
 			// 0  .. 9
 			if(48 to 57)			//Numbers
 				if(!last_char_group)		continue	//suppress at start of string
-				if(!allow_numbers)			continue
+				if(!allow_numbers)			continue	// If allow_numbers is 0, then don't do this.
 				output += ascii2text(ascii_char)
 				number_of_alphanumeric++
 				last_char_group = 3
diff --git a/code/modules/client/preference_setup/general/01_basic.dm b/code/modules/client/preference_setup/general/01_basic.dm
index 23b4245750..d991cd4825 100644
--- a/code/modules/client/preference_setup/general/01_basic.dm
+++ b/code/modules/client/preference_setup/general/01_basic.dm
@@ -32,7 +32,7 @@ datum/preferences/proc/set_biological_gender(var/gender)
 	pref.age                = sanitize_integer(pref.age, get_min_age(), get_max_age(), initial(pref.age))
 	pref.biological_gender  = sanitize_inlist(pref.biological_gender, get_genders(), pick(get_genders()))
 	pref.identifying_gender = (pref.identifying_gender in all_genders_define_list) ? pref.identifying_gender : pref.biological_gender
-	pref.real_name          = sanitize_name(pref.real_name, pref.species)
+	pref.real_name		= sanitize_name(pref.real_name, pref.species, is_FBP())
 	if(!pref.real_name)
 		pref.real_name      = random_name(pref.identifying_gender, pref.species)
 	pref.spawnpoint         = sanitize_inlist(pref.spawnpoint, spawntypes, initial(pref.spawnpoint))
@@ -76,7 +76,7 @@ datum/preferences/proc/set_biological_gender(var/gender)
 	if(href_list["rename"])
 		var/raw_name = input(user, "Choose your character's name:", "Character Name")  as text|null
 		if (!isnull(raw_name) && CanUseTopic(user))
-			var/new_name = sanitize_name(raw_name, pref.species)
+			var/new_name = sanitize_name(raw_name, pref.species, is_FBP())
 			if(new_name)
 				pref.real_name = new_name
 				return TOPIC_REFRESH
diff --git a/code/modules/client/preference_setup/general/03_body.dm b/code/modules/client/preference_setup/general/03_body.dm
index 3e239badc7..bbeb321d5f 100644
--- a/code/modules/client/preference_setup/general/03_body.dm
+++ b/code/modules/client/preference_setup/general/03_body.dm
@@ -654,6 +654,11 @@ var/global/list/valid_bloodtypes = list("A+", "A-", "B+", "B-", "AB+", "AB-", "O
 	while(null in pref.rlimb_data)
 		pref.rlimb_data -= null
 
+	// Sanitize the name so that there aren't any numbers sticking around.
+	pref.real_name          = sanitize_name(pref.real_name, pref.species)
+	if(!pref.real_name)
+		pref.real_name      = random_name(pref.identifying_gender, pref.species)
+
 /datum/category_item/player_setup_item/general/body/proc/SetSpecies(mob/user)
 	if(!pref.species_preview || !(pref.species_preview in all_species))
 		pref.species_preview = "Human"
diff --git a/code/modules/mob/living/carbon/human/species/species.dm b/code/modules/mob/living/carbon/human/species/species.dm
index ff16d332fe..b63e625703 100644
--- a/code/modules/mob/living/carbon/human/species/species.dm
+++ b/code/modules/mob/living/carbon/human/species/species.dm
@@ -194,8 +194,8 @@
 			inherent_verbs = list()
 		inherent_verbs |= /mob/living/carbon/human/proc/regurgitate
 
-/datum/species/proc/sanitize_name(var/name)
-	return sanitizeName(name)
+/datum/species/proc/sanitize_name(var/name, var/robot = 0)
+	return sanitizeName(name, MAX_NAME_LEN, robot)
 
 /datum/species/proc/equip_survival_gear(var/mob/living/carbon/human/H,var/extendedtank = 1)
 	var/boxtype = /obj/item/weapon/storage/box/survival //Default survival box
diff --git a/html/changelogs/Atermonera - FBPnumbernames.yml b/html/changelogs/Atermonera - FBPnumbernames.yml
new file mode 100644
index 0000000000..d96b3075e5
--- /dev/null
+++ b/html/changelogs/Atermonera - FBPnumbernames.yml	
@@ -0,0 +1,13 @@
+# Your name.  
+author: Atermonera
+
+# 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, all entries are changed into a single [] after a master changelog generation. Just remove the brackets when you add new entries.
+# Please surround your changes in  double quotes ("), as certain characters otherwise screws up compiling. The quotes will not show up in the changelog.
+changes: 
+  - rscadd: "FBPs can now have numbers in their name. The first character cannot be a number."
\ No newline at end of file

From 5f9b06566e31cbe040220753701351f1b367fde0 Mon Sep 17 00:00:00 2001
From: Atermonera 
Date: Sun, 2 Apr 2017 14:21:34 -0700
Subject: [PATCH 29/52] Replaces a wall around the AI core with an RWall

---
 maps/northern_star/polaris-1.dmm | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/maps/northern_star/polaris-1.dmm b/maps/northern_star/polaris-1.dmm
index 332a4ce4fe..3bc731120e 100644
--- a/maps/northern_star/polaris-1.dmm
+++ b/maps/northern_star/polaris-1.dmm
@@ -10011,7 +10011,7 @@ aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabbdbbdbbdbbdbbdbbdbbdbbdbbdbbdbbdbbdbb
 aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabbdbbdbbdbbdbbdbbdbbdbbdbbdaaaaaaaaaaaaacAaadbtEbvcbtGaadbtEbvcbtGaadbtEbvcbtGaadbtEbvcbtGaadbtEbvcbtGaadacOaaaaadaadaaaaaaaaaaaaaaabtHbtHbvdbvebtHbvfbvgbvhawxbvjbvkbkPbkPbkQbkQbkSbkPbkPdELdELahyahyahyahybtHbtHbYedoobsBaahbtTdIWdIVdIYdIXdIZdIJbvlbvmbvnbMNbykbvpbvqbvrbMKbvsbvtbvubvvbvwbvxbvybvzbvAbvBbDKbllahyahybaiaZzbMObhrbaiahyahyahyaahaahaahaahaahaahbjWbjWbrwbpMckQbZfclHcqpbrMbjWbjWaahaahaahaZdaZHaZdahyahyahybbMaZLbaJbgEbgEbvGbvHbiEbhzbiEbvKbvLbgEbgEbiGaZJbbDahyahyahybbNaYGbRLaUwbvNahyahybvObFrbuqbvQbGZbvSbvTcqsbsXanvbvWbvXbvYbvYbvZbwabwbbwcbwdbwebwebwfbwgbQwbwibwjbwkbwlbwmbwnbwoboObwpbwqbwrbtqbwsbwtboOaZWaZmaahaahbgmbgmbgmbgmbAQbwvbwwbmfbyUbwybwzbkJbkJbGRbkJbwAbwBbwCbgmbgmaahaahaahaahaahaahaahaahaahaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
 aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabbdbbdbbdbbdbbdbbdbbdaaaaaaaaaaaaaaaacAaaabtEbvcbtGaaabtEbvcbtGaaabtEbvcbtGaaabtEbvcbtGaaabtEbvcbtGaaaaadaaaaaaaadaadaaaaaaaaaaaabtHbwDbwEbwFbtHbwGbwHbwIbwJbwKbwLdJadELahyahyahyahydELdELahyahyahyahyahyahybtHbYebsBbwMbwMbwMbwMbwMbwMbwMbwMbwMbwNbwObwPbdTbHDbwRbKGbwTbMNbwUbuabsCbucbwVbwWbwXbllbwYbKJbwYbllahybeebeeblmblnblobboahyahyaahaahaahaahaahaahaahbjWbjWbjWcuwcuvbZgcuHcvCbjWbjWbjWaahaahaZdaZdaZHaZdaZdahyahyahyaZIaZJaZKaZLaZIaZIaZJaZKaZLaZIaZIaZJaZKaZLaZIahyahyahyahyaToaZjblDaZlaToaToahybxcbKKbxebvSbLZbxgbxhbxibsXanAbxkbxlbxmbvYbvYbxnbqhbxpbxqbthbthbxrbtfbxsbxtbxubxvbxwbxxbADbvRboOboOboOboObxAboOboOboOaZWaZmaahaahaahaahaahbgmbxBbxCbkJbxDbkJbxBbxEbkJbxFbxGbkJbxHbxIbkJbgmaahaahaahaahaahaahaahaahaahaahaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
 aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaacAaaabtEbvcbtGaaabtEbvcbtGaaabtEbvcbtGaaabtEbvcbtGaaabtEbvcbtGaaaaadaaaaaaaaaaadaadaaaaaaaaabtHbxJbxKbxLbtHdDfbxMbxNbxObxPbxQbtLaahaahaahahyahyahyahyahyahyahyahyaahaahbtHbEUbwMbwMbxRbxSbxTbxUbxVbxWbxXbwMbxYbxZbyabdTbybbycbydbyebdTbyfbuabygbyhbyhbyhbyhbyhbMHbyjbNtbyhbfzbeebylaZzbcnbymbboaZdaahaahaahaahaahaahaahaahaahbjWbjWbjWbvDbjWbjWbjWbjWbjWaahaahaZdaZdaZGaZHaZGaZdaZdahyahyahyahyahyahyahyahyahyahyahyahyahyahyahyahyahyahyahyahyaZdaToaYGbynbiPbyoaTobypbyqbyrbysbytbyubyvbywbyxbyybyzbyAbyBbyCbvYbxobsXbyEbtbbyFbyGbyHbyIbyJbyKbyLbyMbyNbxybyPbyQbyRbyScbIbCLbyVbyWbyXbyYbySaZWaZmaahaahaahaahaahbgmbyZbzabzbbzcbzdbzebzfbzgbzhbzibkJdkQbzkbzlbgmaahaahaahaahaahaahaahaahaahaahaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
-aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaacAacAacAaadaaabtEbvcbtGaaabtEbvcbtGaaabtEbvcbtGaaabtEbvcbtGaaabtEbvcbtGaaaaadaaaaaaaaaaaaaadbzmbznbznbznbznbzobtHbtHbtLbzpbzqbzrbzsawybtLaahaahaahaahahyahyahyahyahyahyaahaahaahbtHbEUbwMbzubzvbzwbzxbzybzzbzAbzBbzCbzDbzEbzFbzGbzHbzIbzJbzKbzLbzMbzNbzObzPbzQbzRbzSbzPbNUbzUbzVbzWbzXbzYbecbajbhqbhrbzZaZdaZdaZdaZdaZdaZdaZdaZdaZdaZdaahaahbjWbxabjWbjWaZdaZdaZdaZdaZdaZdbAabAbbAcbAdaZGaZdaZdaZdaZdaZdaZdaZdaZdaZdaZdaZdaZdaZdaZdaZdaZdaZdaZdaZdaZdaZdaZdbAebAfbAgbaRaUvbAibAjbAkbvSbAlbvSbAmbxgbAnbBEbuCbApbAqbArbAsbAtbAubuCdopbAwbqmbAxbAxbAybtfbAzbwibAAbABbACbADbAEbAFbySbAGbAHbAIbyWbyWbAJbySbAKaZmaahaahaahaahaahbgmbgmdkRbAMbANbAObAPcBYbARbASbATbAUbAVbAWbAXbgmaahaahaahaahaahaahaahaahaahaahaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
+aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaacAacAacAaadaaabtEbvcbtGaaabtEbvcbtGaaabtEbvcbtGaaabtEbvcbtGaaabtEbvcbtGaaaaadaaaaaaaaaaaaaadbzmbznbznbznbznbzobtHbtHbtLbzpbzqbzrbzsawybtLaahaahaahaahahyahyahyahyahyahyaahaahaahbtHbEUbwMbzubzvbzwbzxbzybzzbzAbzBbzCbzDbzEbzFbzGbzHbzIbzJbzKbzLbzMbzNbzObzPbzQbzRbzSbzPbNUbzUbzVbzWbzXbzYbecbajbhqbhrbzZaZdaZdaZdaZdaZdaZdaZdaZdaZdaZdaahaahbjWbxabjWbjWbCbaZdaZdaZdaZdaZdbAabAbbAcbAdaZGaZdaZdaZdaZdaZdaZdaZdaZdaZdaZdaZdaZdaZdaZdaZdaZdaZdaZdaZdaZdaZdaZdbAebAfbAgbaRaUvbAibAjbAkbvSbAlbvSbAmbxgbAnbBEbuCbApbAqbArbAsbAtbAubuCdopbAwbqmbAxbAxbAybtfbAzbwibAAbABbACbADbAEbAFbySbAGbAHbAIbyWbyWbAJbySbAKaZmaahaahaahaahaahbgmbgmdkRbAMbANbAObAPcBYbARbASbATbAUbAVbAWbAXbgmaahaahaahaahaahaahaahaahaahaahaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
 aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaacAaaaaadaaaaaaaadaivaadaaaaadaivaadaaaaadaivaadaaaaadaivaadaaaaadaivaadaaaaadaaaaaabkfbBabBabBbbBcbBdbBebBfbBgbBhbBibtLbBjbBkbBlbBmbztbtLaahaahaahaahaahahyahyahyahyaahaahaahaahbtHbEUbwMbBnbzwbBobBpbBqbBrbBsbBrbBtbBubBvbBwbBxbjJbBybjJbBzbjJbjJbBAbBBbBCbBDcMebBFbBGbBHbBIbBJbBKbBLbBMbBNbBObBPbBQbBRbBSbBTbBUbBUbBUbBUbBVbBUbBWaZdaZdaZdaZdbBXaZdaZdaZdbBYbBZbBZbBZbBZbBZbCabCbbCcbCdbCdbCdbCdbCdbCdbCdbaSbaTbaTbaTbaTbaTbaVbaWbaWbaWbaXbaYbaWbaZbaWbbSbbabbTbClbCmbbRbCnbCobCpbCqbCrbvQbCsbvSbCtbCubwabCvbCwbCxbCzbyDbCybwabCBbCCbCDbCEbCEbCFbCGbwhbxtbCHbCIbCJbCKbIcbySbySbCMbCNbCObCPbyWbAJbySbAKaZmaahaahaahaahaahaahbgmbgmbgmbJJbCRbgmbgmbgmbgmbgmbgmbCSbCTbgmbgmaahaahaahaahaahaahaahaahaahaahaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
 aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaacAaadbCUbCVbCVbCVbAYbCVbCVbCVbAYbCVbCVbCVbAYbCVbCVbCVbAYbCVbCVbCVbAYbCVbCVbCVbCVdiNbAZbDabCZbDcbDdbDebDfbDgbDhbDibDjbtLbtLbDkbtLbtLbDlbtLaahaahaahaahaahaahaahahyahyaahaahaahaahbtHbEUbwMbDmbDnbDobDpbDqbDrbDsbDtbwMbDubDvbDwbDxbDybDzbDAbDBbDCbDDbDEbDFbyhbDGbDHbDIbDJbObbDLbzVbzWbzXbzYbecbecbDMbDNbDOaZdbDPbDQbDRbDSbDTbDUbDVbDWbDXbDYbDZbEabEbbBUbBUbBUbEcaZdaZdaZdaZdaZGbEdbEebEfaZGbEjbEjbEjbEjbEjbEjbbUaZGbbVbbXbbWaZGbEgbEgbEgbEgbEgbbYbEkbiDbjYaZdbElaUvbetbEmaVlbEnbEobEpbEqbErbEsbEtbEubEvbEwbsXbsYbsZbExbsYbEybsZbsXbEzbtbbyFbyGbyHbEAbtfbEBbuKbECbEDbuKbySbySbySdBabEFbEGbEHbEIbyWbAJbySbAKaZmaahaahaahaahaahaahaahbgmbEJbEKbELbgmaahaahaahaahbgmbgmbgmbgmaahaahaahaahaahaahaahaahaahaahaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
 aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaacAaaaaadaaaaaaaadaivaadaaaaadaivaadaaaaadaivaadaaaaadaivaadaaaaadaivaadaaaaadaaaaaabkfbBabBabENbEObEPbEQbznbERbESbETbEUbEUbEVbEWbtHbEXbtHaahaahaahaahaahaahaahaahaahaahaahaahaahbtHbEUbwMbEYbEZbFabFbbFcbFdbFebFfbwMbFgbfubFhbFibFjbFkbFlbFmbFibFnbFobFnbyhbyhbyhbyhbyhbPNbFqbRGbyhbfzbeebFsbecbcnbFtbboaZdbFubFubFubFubFubFubFvdoyaZdbFxbFybFxaZdbFzbFAbFBdoCaZdaahaahaZdaZdaZGaZHaZGbEjbEjbcabbZbcHbcGbEjbcIbFQbEjbEgbEgbEgbEgbIQbIQbcJbEgbcKbFDbEgaZdaZdaTobcLbgJaUvbFSaTobypbyqbFTbAlbFUbFVbFWbFXbEqbFYbFZbGabGbbGcbGdbGebGfbGgbGhbGibGjbGjbGkbGlbtbbGmbGnbGobGpbySdoSbGrbGsbGtbGubGvbGwbyWbAJbySaZWaZmaZmaahaahaahaahaahaahbgmbxzbGydpKbgmaahaahaahaahaahaahaahaahaahaahaahaahaahaahaahaahaahaahaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa

From 21f2bfc12d577c9c34ed9988a5f80ff1ec595b78 Mon Sep 17 00:00:00 2001
From: Anewbe 
Date: Sun, 2 Apr 2017 17:34:52 -0500
Subject: [PATCH 30/52] Towels dry

---
 code/game/objects/items/weapons/towels.dm |  4 +++
 html/changelogs/Anewbe - Towels.yml       | 36 +++++++++++++++++++++++
 2 files changed, 40 insertions(+)
 create mode 100644 html/changelogs/Anewbe - Towels.yml

diff --git a/code/game/objects/items/weapons/towels.dm b/code/game/objects/items/weapons/towels.dm
index 5f66562c61..0c433a63a0 100644
--- a/code/game/objects/items/weapons/towels.dm
+++ b/code/game/objects/items/weapons/towels.dm
@@ -12,6 +12,10 @@
 /obj/item/weapon/towel/attack_self(mob/living/user as mob)
 	user.visible_message(text("[] uses [] to towel themselves off.", user, src))
 	playsound(user, 'sound/weapons/towelwipe.ogg', 25, 1)
+	if(user.fire_stacks > 0)
+		user.fire_stacks = (max(0, user.fire_stacks - 1.5))
+	else if(user.fire_stacks < 0)
+		user.fire_stacks = (min(0, user.fire_stacks + 1.5))
 
 /obj/item/weapon/towel/random/New()
 	..()
diff --git a/html/changelogs/Anewbe - Towels.yml b/html/changelogs/Anewbe - Towels.yml
new file mode 100644
index 0000000000..0d89a8c676
--- /dev/null
+++ b/html/changelogs/Anewbe - Towels.yml	
@@ -0,0 +1,36 @@
+################################
+# 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
+#   rscadd (general adding of nice things)
+#   rscdel (general deleting of nice things)
+#   imageadd
+#   imagedel
+#   maptweak
+#   spellcheck (typo fixes)
+#   experiment
+#################################
+
+# Your name.  
+author: Anewbe
+
+# 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, all entries are changed into a single [] after a master changelog generation. Just remove the brackets when you add new entries.
+# Please surround your changes in  double quotes ("), as certain characters otherwise screws up compiling. The quotes will not show up in the changelog.
+changes: 
+  - rscadd: "Drying yourself off with a towel should actually dry you off a bit now."

From e69f5bf98100e33ade77a18eaacc859a47fd8bfe Mon Sep 17 00:00:00 2001
From: Arokha Sieyes 
Date: Sun, 2 Apr 2017 19:21:45 -0400
Subject: [PATCH 31/52] Make cells show correct icon when they spawn

Initialize is great for cells sitting on a counter or something when the map loads. But not really for cells in guns that R&D prints and stuff. Kinda needs to be in New().
---
 code/modules/power/cell.dm | 3 ---
 1 file changed, 3 deletions(-)

diff --git a/code/modules/power/cell.dm b/code/modules/power/cell.dm
index ef73f3c031..c58bd2f166 100644
--- a/code/modules/power/cell.dm
+++ b/code/modules/power/cell.dm
@@ -5,9 +5,6 @@
 /obj/item/weapon/cell/New()
 	..()
 	charge = maxcharge
-
-/obj/item/weapon/cell/initialize()
-	..()
 	update_icon()
 
 /obj/item/weapon/cell/drain_power(var/drain_check, var/surge, var/power = 0)

From 4807b4e6e0807e2878b5dd7a71dc6c733c26b186 Mon Sep 17 00:00:00 2001
From: Arokha Sieyes 
Date: Sun, 2 Apr 2017 19:33:25 -0400
Subject: [PATCH 32/52] Fix nanopaste item size

I'm pretty sure this is an oversight, rather than a balance thing. Nanopaste is too big to fit in boxes or anywhere else, but seems to be identical to all other 10-stack items like medical stacks in other regards. It should probably be the same size as the other 10-stack items.

Even the icon seems to suggest this, since right now it is just as big as an entire box, though the icon seems to be more like toothpaste-tube and looks awkward sitting in the huge backdrop inventory space.
---
 code/game/objects/items/stacks/nanopaste.dm | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/code/game/objects/items/stacks/nanopaste.dm b/code/game/objects/items/stacks/nanopaste.dm
index da2b23e0e3..7680231428 100644
--- a/code/game/objects/items/stacks/nanopaste.dm
+++ b/code/game/objects/items/stacks/nanopaste.dm
@@ -6,7 +6,7 @@
 	icon_state = "tube"
 	origin_tech = list(TECH_MATERIAL = 4, TECH_ENGINEERING = 3)
 	amount = 10
-
+	w_class = ITEMSIZE_SMALL
 
 /obj/item/stack/nanopaste/attack(mob/living/M as mob, mob/user as mob)
 	if (!istype(M) || !istype(user))

From cb877ab09adb880e85df1fd52dca3bf2bead5505 Mon Sep 17 00:00:00 2001
From: Anewbe 
Date: Sun, 2 Apr 2017 19:35:31 -0500
Subject: [PATCH 33/52] Robolimbs last longer without negative effects

---
 code/modules/organs/organ_external.dm  |  2 +-
 html/changelogs/Anewbe - Robolimbs.yml | 36 ++++++++++++++++++++++++++
 2 files changed, 37 insertions(+), 1 deletion(-)
 create mode 100644 html/changelogs/Anewbe - Robolimbs.yml

diff --git a/code/modules/organs/organ_external.dm b/code/modules/organs/organ_external.dm
index e3fabe82f5..4034346fdd 100644
--- a/code/modules/organs/organ_external.dm
+++ b/code/modules/organs/organ_external.dm
@@ -1127,7 +1127,7 @@ Note that amputating the affected organ does in fact remove the infection from t
 	return !(status & (ORGAN_MUTATED|ORGAN_DEAD))
 
 /obj/item/organ/external/proc/is_malfunctioning()
-	return ((robotic >= ORGAN_ROBOT) && (brute_dam + burn_dam) >= 10 && prob(brute_dam + burn_dam))
+	return ((robotic >= ORGAN_ROBOT) && (brute_dam + burn_dam) >= 25 && prob(brute_dam + burn_dam))
 
 /obj/item/organ/external/proc/embed(var/obj/item/weapon/W, var/silent = 0)
 	if(!owner || loc != owner)
diff --git a/html/changelogs/Anewbe - Robolimbs.yml b/html/changelogs/Anewbe - Robolimbs.yml
new file mode 100644
index 0000000000..62ee10a1f9
--- /dev/null
+++ b/html/changelogs/Anewbe - Robolimbs.yml	
@@ -0,0 +1,36 @@
+################################
+# 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
+#   rscadd (general adding of nice things)
+#   rscdel (general deleting of nice things)
+#   imageadd
+#   imagedel
+#   maptweak
+#   spellcheck (typo fixes)
+#   experiment
+#################################
+
+# Your name.  
+author: Anewbe
+
+# 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, all entries are changed into a single [] after a master changelog generation. Just remove the brackets when you add new entries.
+# Please surround your changes in  double quotes ("), as certain characters otherwise screws up compiling. The quotes will not show up in the changelog.
+changes: 
+  - tweak: "Robolimbs can take a bit more damage before they start malfunctioning."
\ No newline at end of file

From cd3c77c0b98dedc701587ab5687b93524145c6dc Mon Sep 17 00:00:00 2001
From: Yoshax 
Date: Mon, 3 Apr 2017 18:41:42 +0100
Subject: [PATCH 34/52] Fixes a small body marking thing issue

---
 .../mob/new_player/sprite_accessories.dm      |   6 +++++-
 icons/mob/human_races/markings.dmi            | Bin 30928 -> 31120 bytes
 2 files changed, 5 insertions(+), 1 deletion(-)

diff --git a/code/modules/mob/new_player/sprite_accessories.dm b/code/modules/mob/new_player/sprite_accessories.dm
index e7023cb519..3f46c81dd7 100644
--- a/code/modules/mob/new_player/sprite_accessories.dm
+++ b/code/modules/mob/new_player/sprite_accessories.dm
@@ -1021,9 +1021,13 @@
 		icon_state = "tat_campbell"
 		body_parts = list(BP_R_ARM)
 
+		left
+			name = "Tattoo (Campbell, L.Arm)"
+			body_parts = list(BP_L_ARM)
+
 	tat_tiger
 		name = "Tattoo (Tiger Stripes, Body)"
-		icon_state = "tat_campbell"
+		icon_state = "tat_tiger"
 		body_parts = list(BP_L_FOOT,BP_R_FOOT,BP_L_LEG,BP_R_LEG,BP_L_ARM,BP_R_ARM,BP_L_HAND,BP_R_HAND,BP_TORSO,BP_GROIN)
 
 	taj_paw_socks
diff --git a/icons/mob/human_races/markings.dmi b/icons/mob/human_races/markings.dmi
index 636c829bd5fb50703317738ada4b6adb06fcb530..e4e4101b4bfbf8822ba277f1dc038d1a747313cb 100644
GIT binary patch
delta 11598
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

delta 11405
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�cT9_1hJIj4Y8(j^6KU*V)
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
Bys`iQ


From 1e7bf50a4ce15e58f99b0aa52d4314e7035ffb46 Mon Sep 17 00:00:00 2001
From: Anewbe 
Date: Mon, 3 Apr 2017 14:14:52 -0500
Subject: [PATCH 35/52] Automute shouldn't go off if you didn't type anything

---
 code/game/verbs/ooc.dm                |  6 +++--
 code/modules/admin/verbs/adminhelp.dm |  3 ++-
 code/modules/admin/verbs/pray.dm      |  9 ++++---
 code/modules/mob/dead/observer/say.dm | 18 ++++++++------
 code/modules/mob/living/say.dm        |  9 ++++---
 html/changelogs/Anewbe - Automute.yml | 36 +++++++++++++++++++++++++++
 6 files changed, 62 insertions(+), 19 deletions(-)
 create mode 100644 html/changelogs/Anewbe - Automute.yml

diff --git a/code/game/verbs/ooc.dm b/code/game/verbs/ooc.dm
index 793df9dc43..fa6dec5715 100644
--- a/code/game/verbs/ooc.dm
+++ b/code/game/verbs/ooc.dm
@@ -37,7 +37,8 @@
 
 	log_ooc("[mob.name]/[key] : [msg]")
 
-	handle_spam_prevention(MUTE_OOC)
+	if(msg)
+		handle_spam_prevention(MUTE_OOC)
 
 	var/ooc_style = "everyone"
 	if(holder && !holder.fakekey)
@@ -107,7 +108,8 @@
 
 	log_ooc("(LOCAL) [mob.name]/[key] : [msg]")
 
-	handle_spam_prevention(MUTE_OOC)
+	if(msg)
+		handle_spam_prevention(MUTE_OOC)
 
 	var/mob/source = mob.get_looc_source()
 	var/turf/T = get_turf(source)
diff --git a/code/modules/admin/verbs/adminhelp.dm b/code/modules/admin/verbs/adminhelp.dm
index 90d9c9d275..753094deba 100644
--- a/code/modules/admin/verbs/adminhelp.dm
+++ b/code/modules/admin/verbs/adminhelp.dm
@@ -17,7 +17,8 @@ var/list/adminhelp_ignored_words = list("unknown","the","a","an","of","monkey","
 
 	adminhelped = 1 //Determines if they get the message to reply by clicking the name.
 
-	handle_spam_prevention(MUTE_ADMINHELP)
+	if(msg)
+		handle_spam_prevention(MUTE_ADMINHELP)
 
 	//clean the input msg
 	if(!msg)
diff --git a/code/modules/admin/verbs/pray.dm b/code/modules/admin/verbs/pray.dm
index c5eb60a94b..9fcb834774 100644
--- a/code/modules/admin/verbs/pray.dm
+++ b/code/modules/admin/verbs/pray.dm
@@ -10,10 +10,11 @@
 	if(!msg)	return
 
 	if(usr.client)
-		client.handle_spam_prevention(MUTE_PRAY)
-		if(usr.client.prefs.muted & MUTE_PRAY)
-			usr << "\red You cannot pray (muted)."
-			return
+		if(msg)
+			client.handle_spam_prevention(MUTE_PRAY)
+			if(usr.client.prefs.muted & MUTE_PRAY)
+				usr << "\red You cannot pray (muted)."
+				return
 
 	var/image/cross = image('icons/obj/storage.dmi',"bible")
 	msg = "\blue \icon[cross] PRAY: [key_name(src, 1)] (?) (PP) (VV) (SM) ([admin_jump_link(src, src)]) (CA) (SC): [msg]"
diff --git a/code/modules/mob/dead/observer/say.dm b/code/modules/mob/dead/observer/say.dm
index 4d348c8d71..45f4c11cde 100644
--- a/code/modules/mob/dead/observer/say.dm
+++ b/code/modules/mob/dead/observer/say.dm
@@ -7,10 +7,11 @@
 	log_say("Ghost/[src.key] : [message]")
 
 	if (src.client)
-		client.handle_spam_prevention(MUTE_DEADCHAT)
-		if(src.client.prefs.muted & MUTE_DEADCHAT)
-			src << "\red You cannot talk in deadchat (muted)."
-			return
+		if(message)
+			client.handle_spam_prevention(MUTE_DEADCHAT)
+			if(src.client.prefs.muted & MUTE_DEADCHAT)
+				src << "\red You cannot talk in deadchat (muted)."
+				return
 
 	. = src.say_dead(message)
 
@@ -27,10 +28,11 @@
 	log_emote("Ghost/[src.key] : [message]")
 
 	if(src.client)
-		client.handle_spam_prevention(MUTE_DEADCHAT)
-		if(src.client.prefs.muted & MUTE_DEADCHAT)
-			src << "\red You cannot emote in deadchat (muted)."
-			return
+		if(message)
+			client.handle_spam_prevention(MUTE_DEADCHAT)
+			if(src.client.prefs.muted & MUTE_DEADCHAT)
+				src << "\red You cannot emote in deadchat (muted)."
+				return
 
 	. = src.emote_dead(message)
 
diff --git a/code/modules/mob/living/say.dm b/code/modules/mob/living/say.dm
index fd4f706b15..1aef4eca81 100644
--- a/code/modules/mob/living/say.dm
+++ b/code/modules/mob/living/say.dm
@@ -133,10 +133,11 @@ proc/get_radio_key_from_channel(var/channel)
 /mob/living/say(var/message, var/datum/language/speaking = null, var/verb="says", var/alt_name="", var/whispering = 0)
 	//If you're muted for IC chat
 	if(client)
-		client.handle_spam_prevention(MUTE_IC)
-		if((client.prefs.muted & MUTE_IC) || say_disabled)
-			src << "You cannot speak in IC (Muted)."
-			return
+		if(message)
+			client.handle_spam_prevention(MUTE_IC)
+			if((client.prefs.muted & MUTE_IC) || say_disabled)
+				src << "You cannot speak in IC (Muted)."
+				return
 
 	//Redirect to say_dead if talker is dead
 	if(stat)
diff --git a/html/changelogs/Anewbe - Automute.yml b/html/changelogs/Anewbe - Automute.yml
new file mode 100644
index 0000000000..6ff5086037
--- /dev/null
+++ b/html/changelogs/Anewbe - Automute.yml	
@@ -0,0 +1,36 @@
+################################
+# 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
+#   rscadd (general adding of nice things)
+#   rscdel (general deleting of nice things)
+#   imageadd
+#   imagedel
+#   maptweak
+#   spellcheck (typo fixes)
+#   experiment
+#################################
+
+# Your name.  
+author: Anewbe
+
+# 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, all entries are changed into a single [] after a master changelog generation. Just remove the brackets when you add new entries.
+# Please surround your changes in  double quotes ("), as certain characters otherwise screws up compiling. The quotes will not show up in the changelog.
+changes: 
+  - bugfix: "Automute shouldn't trigger if you don't type anything."
\ No newline at end of file

From acf10ccfe9fb02f3bbef84be9d8cbfb629255a73 Mon Sep 17 00:00:00 2001
From: Anewbe 
Date: Mon, 3 Apr 2017 15:14:25 -0500
Subject: [PATCH 36/52] Adds Chief of Security alt title for HoS

---
 code/game/jobs/job/security.dm                |  2 +-
 .../changelogs/Anewbe - Chief of Security.yml | 36 +++++++++++++++++++
 2 files changed, 37 insertions(+), 1 deletion(-)
 create mode 100644 html/changelogs/Anewbe - Chief of Security.yml

diff --git a/code/game/jobs/job/security.dm b/code/game/jobs/job/security.dm
index 522bdea389..f7753efc87 100644
--- a/code/game/jobs/job/security.dm
+++ b/code/game/jobs/job/security.dm
@@ -20,7 +20,7 @@
 			            access_forensics_lockers, access_morgue, access_maint_tunnels, access_all_personal_lockers,
 			            access_research, access_engine, access_mining, access_medical, access_construction, access_mailsorting,
 			            access_heads, access_hos, access_RC_announce, access_keycard_auth, access_gateway, access_external_airlocks)
-	alt_titles = list("Commander")
+	alt_titles = list("Commander", "Chief of Security")
 	minimum_character_age = 25
 	minimal_player_age = 14
 
diff --git a/html/changelogs/Anewbe - Chief of Security.yml b/html/changelogs/Anewbe - Chief of Security.yml
new file mode 100644
index 0000000000..3ca2a8c8fd
--- /dev/null
+++ b/html/changelogs/Anewbe - Chief of Security.yml	
@@ -0,0 +1,36 @@
+################################
+# 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
+#   rscadd (general adding of nice things)
+#   rscdel (general deleting of nice things)
+#   imageadd
+#   imagedel
+#   maptweak
+#   spellcheck (typo fixes)
+#   experiment
+#################################
+
+# Your name.  
+author: Anewbe
+
+# 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, all entries are changed into a single [] after a master changelog generation. Just remove the brackets when you add new entries.
+# Please surround your changes in  double quotes ("), as certain characters otherwise screws up compiling. The quotes will not show up in the changelog.
+changes: 
+  - rscadd: "Adds the Chief of Security alt title for the HoS."

From bfb3871ec3445a773e4a89ad6040c8dd9045786d Mon Sep 17 00:00:00 2001
From: Anewbe 
Date: Mon, 3 Apr 2017 15:05:57 -0500
Subject: [PATCH 37/52] Adds hollowpoint rounds, for bears and such

---
 .../modules/projectiles/ammunition/bullets.dm | 43 +++++++++++++++++++
 .../modules/projectiles/projectile/bullets.dm | 14 ++++++
 2 files changed, 57 insertions(+)

diff --git a/code/modules/projectiles/ammunition/bullets.dm b/code/modules/projectiles/ammunition/bullets.dm
index ace4cb1fb8..add0170643 100644
--- a/code/modules/projectiles/ammunition/bullets.dm
+++ b/code/modules/projectiles/ammunition/bullets.dm
@@ -31,6 +31,10 @@
 	projectile_type = /obj/item/projectile/ion/small
 	matter = list(DEFAULT_WALL_MATERIAL = 130, "uranium" = 100)
 
+/*
+ * 9mm
+ */
+
 /obj/item/ammo_casing/c9mm
 	desc = "A 9mm bullet casing."
 	caliber = "9mm"
@@ -65,6 +69,10 @@
 	projectile_type = /obj/item/projectile/bullet/pistol/ap
 */
 
+/*
+ * 45 ammo
+ */
+
 /obj/item/ammo_casing/c45
 	desc = "A .45 bullet casing."
 	caliber = ".45"
@@ -101,6 +109,15 @@
 	icon_state = "empcasing"
 	matter = list(DEFAULT_WALL_MATERIAL = 130, "uranium" = 100)
 
+/obj/item/ammo_casing/c45/hp
+	desc = "A .45 hollow-point bullet casing."
+	projectile_type = /obj/item/projectile/bullet/pistol/medium/hollow
+
+
+/*
+ * 10mm
+ */
+
 /obj/item/ammo_casing/a10mm
 	desc = "A 10mm bullet casing."
 	caliber = "10mm"
@@ -113,6 +130,10 @@
 	icon_state = "empcasing"
 	matter = list(DEFAULT_WALL_MATERIAL = 130, "uranium" = 100)
 
+/*
+ * Shotguns
+ */
+
 /obj/item/ammo_casing/shotgun
 	name = "shotgun slug"
 	desc = "A 12 gauge slug."
@@ -178,6 +199,10 @@
 //	projectile_type = /obj/item/projectile/bullet/shotgun/ion
 	matter = list(DEFAULT_WALL_MATERIAL = 360, "uranium" = 240)
 
+/*
+ * 762mm
+ */
+
 /obj/item/ammo_casing/a762
 	desc = "A 7.62mm bullet casing."
 	caliber = "a762"
@@ -199,6 +224,12 @@
 	projectile_type = /obj/item/projectile/bullet/blank
 	matter = list(DEFAULT_WALL_MATERIAL = 90)
 
+/obj/item/ammo_casing/a762/hp
+	desc = "A 7.62mm hollow-point bullet casing."
+	projectile_type = /obj/item/projectile/bullet/rifle/a762/hollow
+
+//145mm
+
 /obj/item/ammo_casing/a145
 	desc = "A 14.5mm shell."
 	icon_state = "lcasing"
@@ -206,6 +237,10 @@
 	projectile_type = /obj/item/projectile/bullet/rifle/a145
 	matter = list(DEFAULT_WALL_MATERIAL = 1250)
 
+/*
+ * 556mm
+ */
+
 /obj/item/ammo_casing/a556
 	desc = "A 5.56mm bullet casing."
 	caliber = "a556"
@@ -222,6 +257,14 @@
 	icon_state = "rifle-casing" // Need to make an icon for these
 	projectile_type = /obj/item/projectile/bullet/rifle/practice
 
+/obj/item/ammo_casing/a556/hp
+	desc = "A 5.56mm hollow-point bullet casing."
+	projectile_type = /obj/item/projectile/bullet/rifle/a556/hollow
+
+/*
+ * Misc
+ */
+
 /obj/item/ammo_casing/rocket
 	name = "rocket shell"
 	desc = "A high explosive designed to be fired from a launcher."
diff --git a/code/modules/projectiles/projectile/bullets.dm b/code/modules/projectiles/projectile/bullets.dm
index f87f726bf3..cf62d9e0c8 100644
--- a/code/modules/projectiles/projectile/bullets.dm
+++ b/code/modules/projectiles/projectile/bullets.dm
@@ -137,6 +137,10 @@
 	damage = 20
 	armor_penetration = 15
 
+/obj/item/projectile/bullet/pistol/medium/hollow
+	damage = 30
+	armor_penetration = -50
+
 /obj/item/projectile/bullet/pistol/strong //revolvers and matebas
 	damage = 60
 
@@ -200,6 +204,11 @@
 	damage = 20
 	armor_penetration = 50 // At 40 or more armor, this will do more damage than standard rounds.
 
+/obj/item/projectile/bullet/rifle/a762/hollow
+	damage = 35
+	armor_penetration = -50
+	penetrating = 0
+
 /obj/item/projectile/bullet/rifle/a556
 	damage = 35
 
@@ -207,6 +216,11 @@
 	damage = 30
 	armor_penetration = 50 // At 30 or more armor, this will do more damage than standard rounds.
 
+/obj/item/projectile/bullet/rifle/a556/hollow
+	damage = 40
+	armor_penetration = -50
+	penetrating = 0
+
 /obj/item/projectile/bullet/rifle/a145
 	damage = 80
 	stun = 3

From 340845babdcfb389d6ad17bd98adf61ce5c8facd Mon Sep 17 00:00:00 2001
From: Cerebulon 
Date: Tue, 4 Apr 2017 08:29:53 +0100
Subject: [PATCH 38/52] Fixed various hand sprite issues. Several circuit
 boards/modules did not have sprites despite hands sprites existing. Green and
 pink lunch/tool boxes appeared in the wrong place in the right hand. Fixed
 defib sprite for new code, and added jumper cable sprite.

---
 code/defines/obj/weapon.dm                    |   6 +++++-
 code/game/objects/items/weapons/AI_modules.dm |   1 -
 .../mob/living/silicon/robot/robot_modules.dm |   2 +-
 icons/mob/items/lefthand.dmi                  | Bin 60456 -> 60920 bytes
 icons/mob/items/righthand.dmi                 | Bin 61763 -> 62172 bytes
 icons/mob/items/righthand_storage.dmi         | Bin 23297 -> 23330 bytes
 6 files changed, 6 insertions(+), 3 deletions(-)

diff --git a/code/defines/obj/weapon.dm b/code/defines/obj/weapon.dm
index 5ecc707227..12a05e6d3a 100644
--- a/code/defines/obj/weapon.dm
+++ b/code/defines/obj/weapon.dm
@@ -290,19 +290,21 @@
 /obj/item/weapon/module
 	icon = 'icons/obj/module.dmi'
 	icon_state = "std_module"
+	item_state = "std_mod"
 	w_class = ITEMSIZE_SMALL
-	item_state = "electronic"
 	flags = CONDUCT
 	var/mtype = 1						// 1=electronic 2=hardware
 
 /obj/item/weapon/module/card_reader
 	name = "card reader module"
 	icon_state = "card_mod"
+	item_state = "std_mod"
 	desc = "An electronic module for reading data and ID cards."
 
 /obj/item/weapon/module/power_control
 	name = "power control module"
 	icon_state = "power_mod"
+	item_state = "std_mod"
 	desc = "Heavy-duty switching circuits for power control."
 	matter = list(DEFAULT_WALL_MATERIAL = 50, "glass" = 50)
 
@@ -321,11 +323,13 @@
 /obj/item/weapon/module/cell_power
 	name = "power cell regulator module"
 	icon_state = "power_mod"
+	item_state = "std_mod"
 	desc = "A converter and regulator allowing the use of power cells."
 
 /obj/item/weapon/module/cell_power
 	name = "power cell charger module"
 	icon_state = "power_mod"
+	item_state = "std_mod"
 	desc = "Charging circuits for power cells."
 
 
diff --git a/code/game/objects/items/weapons/AI_modules.dm b/code/game/objects/items/weapons/AI_modules.dm
index 9684bba4db..c5e6614de2 100755
--- a/code/game/objects/items/weapons/AI_modules.dm
+++ b/code/game/objects/items/weapons/AI_modules.dm
@@ -10,7 +10,6 @@ AI MODULES
 	name = "\improper AI module"
 	icon = 'icons/obj/module.dmi'
 	icon_state = "std_mod"
-	item_state = "electronic"
 	desc = "An AI Module for transmitting encrypted instructions to the AI."
 	flags = CONDUCT
 	force = 5.0
diff --git a/code/modules/mob/living/silicon/robot/robot_modules.dm b/code/modules/mob/living/silicon/robot/robot_modules.dm
index ccfd19e8aa..795e535ebf 100644
--- a/code/modules/mob/living/silicon/robot/robot_modules.dm
+++ b/code/modules/mob/living/silicon/robot/robot_modules.dm
@@ -18,7 +18,7 @@ var/global/list/robot_modules = list(
 	icon = 'icons/obj/module.dmi'
 	icon_state = "std_module"
 	w_class = ITEMSIZE_NO_CONTAINER
-	item_state = "electronic"
+	item_state = "std_mod"
 	flags = CONDUCT
 	var/hide_on_manifest = 0
 	var/channels = list()
diff --git a/icons/mob/items/lefthand.dmi b/icons/mob/items/lefthand.dmi
index 5a63eb1c3d0900989dc5c768688a844957a834e6..c616f88fa524ab6afd0ce61ecdd7bde6b7fc08c2 100644
GIT binary patch
delta 2971
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 RqJsbc002ovPDHLkV1hcUzR&;w diff --git a/icons/mob/items/righthand.dmi b/icons/mob/items/righthand.dmi index d2822ad02100bc30414812cd4f397ce7fc857175..ea726a451bd6ef6ef240f9dcf9a19ce0436ca9e8 100644 GIT binary patch delta 2160 zcmb_c{Xf%dA736{CDl2c$kLozNfKdHqa8&>L!N6M<|%2Ol02I)mZT!jT5LEPL!Khc z!JNCKjHVjP7$*#EHLVDnaW>uex$i&V{_S&J@9Xn^f3DBxy57$wWyd(OS

`jr(O4 z02YF#^T^)_|M}Ry60l~teHmaL`Mh!G@O-jhH_Vp8@5LP4Yn0%g1uwlse4CjpHydm1 zQUxhg3i_3N1@AbWA=}5$vD$M;*VO~Ykx9rNv>CGj;3%@*%`7zvD>d|tjP1qenMwv* z8g=po$LRBjMB7&yIts671(h>d^c~w>r+~Tg9c)!Dy(?UqqAMJJ$g@CF9LyHhdfHI z-c}XUY1*`?;QE)0Qbd#OthyW^+MXfonmV>72Ot6Q>&WgoEmG4d=tFHm|RKLm8;Ipn3 z+Hr@ zJzX!iiuXx^$uVCL2z0ZkkeP4M+$OGjW4|RArb4|0E&;?s`FHWFORTreo)JxG@;U>Z zAHV!;u%1mHdphh3$S9CcIcq0NvK!(Yise#F_rfBzl-wh6gIXPhqyhN4IIp_mR9zk1Q0{S4;$zVTdPqsT|XzD z2h@ch3-=--n2vW9wr-FlT`mSvjc3e_)5pe-sY-AMU{JAJ{)s!2f}3CszUK=2nO&5MZ93 zo(JX**Zj1&YGFgVMU3qyw(6gA==Z24&nilklS)(DH|2hQiMe*|f}Wlpm&XI{GW3(M zSZoD}WQD`w`l9@CnJUL|SK^=6cYdg%C!phTyUa$xmXFqH0W+mVa5}08eL&y-;RE07 zWrSA61AK?s)&0DMjH^aiKh|ODe4!RbMj|w!=3?r-Eqc$^=`?Q%Smk(io4ZU04EYMfY$$a|2iErw=U#HhAyQ9A@5IbJ;xbM_gKE) zgMoFl1@g!5!gHpH2az84O8Sq}mQvGe`vvWI$B4^wGvnIdBU|nA`T8d@Em6pV`r5W5 zRHPRXFjn+}mv($D6O9$#)d@Io#C~pw>9q*uy?^;&q`?Qb$1LVTI1oO;qsFlN8mpWq zYEX5&IDv_z+TWm$=QIo=mLeQG${H3e+HKp{3q>}q=83!IIkB{FOy3ntTgHJDjL+-c zZ@$pK%WL{sb@X>ElSf9{!fSRyU~mHb`fH#&$=EoWx{os2o_;l}Kv-*||1>zsvmY`tH?au)t{M*8jZBSMO# z$e+%is)UmIK(2LMg?JwC^v6t%3U>&qsOVYa7PIR6D8w`0J?`4(9ez! zuZ%$rAm|l~v}Ylbmy0|E^Ots$YW6;aPMQM5OS%F40rx)?%v3D|j-`E zo|vM89=(Y;eQkfb`WiSxThIf)g~W&F@f=^_ypEU(7sEhzUU~s)`=TRIAne@Qh29cjZk~*b3aG9 z_=7p~1{7N{c@li6b|B0{cIGG*tnX8^T{;PuA@pfwtz(iNA5RPhda#vt==A4{;jX&W zJkt{PDpJxwO)B>S_LE}cU>!`d2~h?fS?(<()WU;a$MIK>@3T&?-F%tv&uAunOcysr zG?B15H|7YZiF=B!49y0SB_B2^Ut+OZ3wO{TchAh6cgTC9kg?&y!#UOU67RK0cQo2( eb4mKMmuG>LUf6xeSD9GJ3S@0%XIXd3JLPX>3jaR< delta 1748 zcmb_cc~q0v68~7M4|){k0X9g5un1*~MJ*5v1yN`M2tfk@LqK+=DQd$e`KUe~TUkmF zLRxm5DZH~i$q?-GqNUN3}_?}_7IkULi%w||9StvbMCz}b7$sv=Fa_{5lw6K zzSAf+SL<)K(9i~Vgov!tYnD%s#=gH=3tzHcBRwqqYV7xIH%D4+y|rK`_*1W_f01;q zYdP_-6NutTq(g(vdU#@loo1UYHm@tm{jN)0zh`t`LSubc=7B@_+?=|&8snMHbGy*$`<`qMBu3>|L-M$ZeFQQtHZNikQ(ApG zsc(<=*=Qj~cS`eMp=7Q2as%pvGX3KDi@g`z3EpNKshG>p3P~Aog6T^J}FkBhBJRY)!92l{!Hh8dHa$mz;SRrk=(4sEhzu9=8R5T+!9@S%n->`hBr zUbX+Ce$t^wp|WN6?mHZdJ1Y{TR&I3$jrjchty^lxkpPn>k`9B;>U74v=4bxU{a7AW zaZYVGzpW1dbeV)RxPM3b#890m!Su(h&HQe;ilcJn56gI*T+i$xE;T#+`NBHtxfJBM zt_Z|@(VJ?XrfzEu_=xHb09`CIKlMRa7EN>Rj}OZk%88w?NB<510AL}>lGuVO-){uz zLWvF5Q1a?+ZF9?Nh_TBpC&*M3j+9ZPOB-R9L?|Nj-tM}?@C((he^-wJr7;a>Ku05b05L>?1?DM-$`1! zkmb(R|NlBc#Q);LX4PXNBh50DD-kXT#7|P%w6DG!SpCar7Eb(BaFmDD`?9@pc1sNa zRxjZRgqNkL%lHyPW11o`W#ixBlVzYA$bsnTs9DB z-cI%SXmEx_V?1GXwh1ibp>o!E>jlc|8Sv^!-y#0yvOj8)gUXaH%kJc3l5 zk_?y5%t(}SiG%Oh!liNtT5c?#owv99sEq-QULy&5`Bu0}dN}*0Nmk4U}hwu}TxW#2EoCzsS?_3BtT zV~b$-e}Cr~k`k1QPu2z{*R9RWSb_9s!E9#81m#+B)Lj;`b<7rLu$wejcZF(Y;=~cB zAxg&G#wm#f^K)eu-q3ppgM*$abmW^Kj~@`UXIy|4q-=k97y#Re;q1dJn9^nLM(+Iw zzM9{|yHiaKz%-X-qocBD=@UbEUAs69v|{vkzKB=HZMn}8 z{nE$h7oBVCD8AIFBddKe9XKDyTR z>7h!(%(s{!W96*-*|WyTlv6L8Hdl4;Gz3=IUW9;XvOy(r!|JE?N=lk({=m9=6k{ai zbwI6Xi^wG81ldsQR$t-ouj^yx+uqFc4;n+wX+j7OJB}n)YT_r__0bJX1#uw(k zZuX!#%l2Bgk@aOx66#OStMRFEb~L2?n5925E`BMTlf?P;04?$SSVgE#6~wWm8uE=7 zS3)4ZLeU2L?++zbY b%PLfAec}kekG@mod$y04-`OS);_bfxIxSCY diff --git a/icons/mob/items/righthand_storage.dmi b/icons/mob/items/righthand_storage.dmi index 16cb0d762f1f1d617962b415e05fdbae87005ee6..e3ecbc1f09b55da315b9ac449c8346ca9ddf1a4d 100644 GIT binary patch literal 23330 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 literal 23297 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 Date: Tue, 4 Apr 2017 16:43:27 -0400 Subject: [PATCH 39/52] Simple Animal Tweaks They can resist out of closets, buckles, and when calling for help, if the helpers can see the issue, they don't just follow the caller, they attack the issue. This means that retaliate class mobs properly assist in fights for the mob who is retaliating. --- .../mob/living/simple_animal/simple_animal.dm | 39 +++++++++++++------ 1 file changed, 27 insertions(+), 12 deletions(-) diff --git a/code/modules/mob/living/simple_animal/simple_animal.dm b/code/modules/mob/living/simple_animal/simple_animal.dm index 1179dc889f..1f1de9dc94 100644 --- a/code/modules/mob/living/simple_animal/simple_animal.dm +++ b/code/modules/mob/living/simple_animal/simple_animal.dm @@ -271,21 +271,31 @@ update_icon() ai_log("Life() - stance=[stance] ai_inactive=[ai_inactive]", 4) - //Movement - if(!ai_inactive && !stop_automated_movement && wander && !anchored) //Allowed to move? - handle_wander_movement() - //Speaking - if(!ai_inactive && speak_chance && stance == STANCE_IDLE) // Allowed to chatter? - handle_idle_speaking() - - //Stanceyness + //AI Actions if(!ai_inactive) + //Stanceyness handle_stance() - //Resisting out of things - if(!ai_inactive && incapacitated(INCAPACITATION_DEFAULT) && stance != STANCE_IDLE) - resist() + //Movement + if(!stop_automated_movement && wander && !anchored) //Allowed to move? + handle_wander_movement() + + //Speaking + if(speak_chance && stance == STANCE_IDLE) // Allowed to chatter? + handle_idle_speaking() + + //Resisting out buckles + if(incapacitated(INCAPACITATION_BUCKLED_PARTIALLY)) + resist() + + //Resisting out of closets + if(istype(loc,/obj/structure/closet)) + var/obj/structure/closet/C = loc + if(C.welded) + resist() + else + C.open() return 1 @@ -807,12 +817,17 @@ //Someone wants help? /mob/living/simple_animal/proc/HelpRequested(var/mob/living/simple_animal/F) - if(!(stance == STANCE_IDLE) || stat) + if(target_mob || stat) ai_log("HelpRequested() by [F] but we're busy/dead",2) return if(get_dist(src,F) <= follow_dist) ai_log("HelpRequested() by [F] but we're already here",2) return + if(get_dist(src,F) <= view_range) + ai_log("HelpRequested() by [F] and within targetshare range",2) + if(F.target_mob && set_target(F.target_mob)) + handle_stance(STANCE_ATTACK) + return if(set_follow(F, 10 SECONDS)) handle_stance(STANCE_FOLLOW) From 1dfed9514cf95037012cff3f0a11d927fa5df16a Mon Sep 17 00:00:00 2001 From: Arokha Sieyes Date: Tue, 4 Apr 2017 20:14:37 -0400 Subject: [PATCH 40/52] Make energy nets better You can imagine them as 8-second-resist office chairs that the mob is buckled to now. You can pull them around in the net, too, since it's baaaasically like an office chair now. They can't pull themselves around like office chairs while in the net, though. Because that'd be hax. You can click them (or resist) to start tearing them up (same from the outside). Also keep in mind the mob inside can still wreck anyone adjacent (or shoot you). That's how it was before, too. So you can't really run up and drag them to prevent escape without them punching you (shouldn't you be roleplaying all this anyway?). Switching hands interrupts the resist so no reloading, getting other weapons, using PDA etc while resisting. Also got rid of this SUPER SNOWFLAKE VARIABLE on all mobs used literally only by energy nets. --- code/game/objects/items/weapons/weaponry.dm | 131 ++++++-------------- code/modules/mob/living/living.dm | 5 - code/modules/mob/mob_defines.dm | 1 - 3 files changed, 39 insertions(+), 98 deletions(-) diff --git a/code/game/objects/items/weapons/weaponry.dm b/code/game/objects/items/weapons/weaponry.dm index d604eca82c..56fa0b28b0 100644 --- a/code/game/objects/items/weapons/weaponry.dm +++ b/code/game/objects/items/weapons/weaponry.dm @@ -80,10 +80,8 @@ var/turf/T = get_turf(M) if(T) var/obj/effect/energy_net/net = new net_type(T) - net.layer = M.layer+1 - M.captured = 1 - net.affecting = M - T.visible_message("[M] was caught in an energy net!") + if(net.buckle_mob(M)) + T.visible_message("[M] was caught in an energy net!") qdel(src) // If we miss or hit an obstacle, we still want to delete the net. @@ -99,107 +97,56 @@ density = 1 opacity = 0 mouse_opacity = 1 - anchored = 1 + anchored = 0 - var/health = 25 - var/mob/living/affecting = null //Who it is currently affecting, if anyone. - var/mob/living/master = null //Who shot web. Will let this person know if the net was successful. - var/countdown = -1 + can_buckle = 1 + buckle_movable = 1 + buckle_lying = 0 + buckle_dir = SOUTH -/obj/effect/energy_net/teleport - countdown = 60 + var/escape_time = 8 SECONDS /obj/effect/energy_net/New() ..() processing_objects |= src /obj/effect/energy_net/Destroy() - - if(affecting) - var/mob/living/carbon/M = affecting - M.anchored = initial(affecting.anchored) - M.captured = 0 - M << "You are free of the net!" + if(buckled_mob) + to_chat(buckled_mob,"You are free of the net!") + unbuckle_mob() processing_objects -= src ..() -/obj/effect/energy_net/proc/healthcheck() - - if(health <=0) - density = 0 - src.visible_message("The energy net is torn apart!") - qdel(src) - return - /obj/effect/energy_net/process() - - if(isnull(affecting) || affecting.loc != loc) + if(isnull(buckled_mob) || buckled_mob.loc != loc) qdel(src) - return - // Countdown begin set to -1 will stop the teleporter from firing. - // Clientless mobs can be netted but they will not teleport or decrement the timer. - var/mob/living/M = affecting - if(countdown == -1 || (istype(M) && !M.client)) - return - - if(countdown > 0) - countdown-- - return - - // TODO: consider removing or altering this; energy nets are useful on their own - // merits and the teleportation was never properly implemented; it's halfassed. - density = 0 - invisibility = 101 //Make the net invisible so all the animations can play out. - health = INFINITY //Make the net invincible so that an explosion/something else won't kill it during anims. - - playsound(affecting.loc, 'sound/effects/sparks4.ogg', 50, 1) - anim(affecting.loc,affecting,'icons/mob/mob.dmi',,"phaseout",,affecting.dir) - - affecting.visible_message("[affecting] vanishes in a flare of light!") - - if(holdingfacility.len) - affecting.loc = pick(holdingfacility) - - affecting << "You appear in a strange place!" - - playsound(affecting.loc, 'sound/effects/phasein.ogg', 25, 1) - playsound(affecting.loc, 'sound/effects/sparks2.ogg', 50, 1) - anim(affecting.loc,affecting,'icons/mob/mob.dmi',,"phasein",,affecting.dir) - - qdel(src) - -/obj/effect/energy_net/bullet_act(var/obj/item/projectile/Proj) - health -= Proj.get_structure_damage() - healthcheck() - return 0 - -/obj/effect/energy_net/ex_act() - health = 0 - healthcheck() - -/obj/effect/energy_net/attack_hand(var/mob/user) - - var/mob/living/carbon/human/H = user - if(istype(H)) - if(H.species.can_shred(H)) - playsound(src.loc, 'sound/weapons/slash.ogg', 80, 1) - health -= rand(10, 20) - else - health -= rand(1,3) - - else if (HULK in user.mutations) - health = 0 - else - health -= rand(5,8) - - H << "You claw at the energy net." - - healthcheck() - return - -/obj/effect/energy_net/attackby(obj/item/weapon/W as obj, mob/user as mob) - health -= W.force - healthcheck() +/obj/effect/energy_net/Move() ..() + if(buckled_mob) + var/mob/living/occupant = buckled_mob + occupant.buckled = null + occupant.forceMove(src.loc) + occupant.buckled = src + if (occupant && (src.loc != occupant.loc)) + unbuckle_mob() + qdel(src) + +/obj/effect/energy_net/user_unbuckle_mob(mob/user) + user.setClickCooldown(DEFAULT_ATTACK_COOLDOWN) + visible_message("[user] begins to tear at \the [src]!") + if(do_after(usr, escape_time, incapacitation_flags = INCAPACITATION_DEFAULT & ~(INCAPACITATION_RESTRAINED | INCAPACITATION_BUCKLED_FULLY))) + if(!buckled_mob) + return + visible_message("[user] manages to tear \the [src] apart!") + unbuckle_mob() + +/obj/effect/energy_net/post_buckle_mob(mob/living/M) + if(buckled_mob) //Just buckled someone + ..() + layer = M.layer+1 + M.can_pull_size = 0 + else //Just unbuckled someone + M.can_pull_size = initial(M.can_pull_size) + qdel(src) diff --git a/code/modules/mob/living/living.dm b/code/modules/mob/living/living.dm index dfe57c55b2..ab55807be8 100644 --- a/code/modules/mob/living/living.dm +++ b/code/modules/mob/living/living.dm @@ -770,11 +770,6 @@ default behaviour is: if(buckled.buckle_movable) anchored = 0 canmove = 1 - - else if(captured) - anchored = 1 - canmove = 0 - lying = 0 else lying = incapacitated(INCAPACITATION_KNOCKDOWN) canmove = !incapacitated(INCAPACITATION_DISABLED) diff --git a/code/modules/mob/mob_defines.dm b/code/modules/mob/mob_defines.dm index 6a5e39e961..1901902c80 100644 --- a/code/modules/mob/mob_defines.dm +++ b/code/modules/mob/mob_defines.dm @@ -153,7 +153,6 @@ var/voice_name = "unidentifiable voice" var/faction = "neutral" //Used for checking whether hostile simple animals will attack you, possibly more stuff later - var/captured = 0 //Functionally, should give the same effect as being buckled into a chair when true. Only used by energy nets, TODO replace with buckling //Generic list for proc holders. Only way I can see to enable certain verbs/procs. Should be modified if needed. var/proc_holder_list[] = list()//Right now unused. From 3530f71530ce6ea1ced9ca18cb3bc17a9f19b4e4 Mon Sep 17 00:00:00 2001 From: Leshana Date: Tue, 4 Apr 2017 19:16:39 -0400 Subject: [PATCH 41/52] Prevent pets from resisting out of being buckled to chairs. * Simple animals won't resist out of being buckled while idle. This lets them be buckled on shuttles etc. They still will resist out when they lock onto a target etc. --- code/modules/mob/living/simple_animal/simple_animal.dm | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/code/modules/mob/living/simple_animal/simple_animal.dm b/code/modules/mob/living/simple_animal/simple_animal.dm index 1f1de9dc94..af20f04201 100644 --- a/code/modules/mob/living/simple_animal/simple_animal.dm +++ b/code/modules/mob/living/simple_animal/simple_animal.dm @@ -286,7 +286,7 @@ handle_idle_speaking() //Resisting out buckles - if(incapacitated(INCAPACITATION_BUCKLED_PARTIALLY)) + if(stance != STANCE_IDLE && incapacitated(INCAPACITATION_BUCKLED_PARTIALLY)) resist() //Resisting out of closets From 40617b7695776d28f30887c654f4beaa273f3075 Mon Sep 17 00:00:00 2001 From: Anewbe Date: Tue, 4 Apr 2017 22:36:08 -0500 Subject: [PATCH 42/52] Package bomb changes --- code/datums/uplink/tools.dm | 14 ++++---- code/game/objects/items/weapons/syndie.dm | 5 +++ html/changelogs/Anewbe - Package Bombs.yml | 37 ++++++++++++++++++++++ 3 files changed, 49 insertions(+), 7 deletions(-) create mode 100644 html/changelogs/Anewbe - Package Bombs.yml diff --git a/code/datums/uplink/tools.dm b/code/datums/uplink/tools.dm index 17203e3d5d..7cea842778 100644 --- a/code/datums/uplink/tools.dm +++ b/code/datums/uplink/tools.dm @@ -58,11 +58,6 @@ item_cost = 15 path = /obj/item/device/encryptionkey/binary -/datum/uplink_item/item/tools/packagebomb - name = "Package Bomb (Small)" - item_cost = 20 - path = /obj/item/weapon/storage/box/syndie_kit/demolitions - /datum/uplink_item/item/tools/hacking_tool name = "Door Hacking Tool" item_cost = 20 @@ -81,6 +76,11 @@ item_cost = 30 path = /obj/item/clothing/glasses/thermal/syndi +/datum/uplink_item/item/tools/packagebomb + name = "Package Bomb (Small)" + item_cost = 30 + path = /obj/item/weapon/storage/box/syndie_kit/demolitions + /datum/uplink_item/item/tools/powersink name = "Powersink (DANGER!)" item_cost = 40 @@ -88,13 +88,13 @@ /datum/uplink_item/item/tools/packagebomb/large name = "Package Bomb (Large)" - item_cost = 40 + item_cost = 60 path = /obj/item/weapon/storage/box/syndie_kit/demolitions_heavy /* /datum/uplink_item/item/tools/packagebomb/huge name = "Package Bomb (Huge) - item_cost = 60 + item_cost = 100 path = /obj/item/weapon/storage/box/syndie_kit/demolitions_super_heavy */ diff --git a/code/game/objects/items/weapons/syndie.dm b/code/game/objects/items/weapons/syndie.dm index 490ae2d62b..1c287dd214 100644 --- a/code/game/objects/items/weapons/syndie.dm +++ b/code/game/objects/items/weapons/syndie.dm @@ -15,6 +15,7 @@ var/power = 1 /*Size of the explosion.*/ var/size = "small" /*Used for the icon, this one will make c-4small_0 for the off state.*/ + var/det_time = 15 //How long the thing takes between beeps, will beep three times before it goes off. /obj/item/weapon/syndie/c4explosive/heavy icon_state = "c-4large_0" @@ -39,6 +40,10 @@ /obj/item/weapon/syndie/c4explosive/proc/detonate() icon_state = "c-4[size]_1" + playsound(loc, 'sound/weapons/armbomb.ogg', 75, 1) + for(var/mob/O in hearers(src, null)) + O.show_message("\icon[src] The [src.name] beeps! ") + sleep(50) explosion(get_turf(src), power, power*2, power*3, power*4, power*5) for(var/dirn in cardinal) //This is to guarantee that C4 at least breaks down all immediately adjacent walls and doors. var/turf/simulated/wall/T = get_step(src,dirn) diff --git a/html/changelogs/Anewbe - Package Bombs.yml b/html/changelogs/Anewbe - Package Bombs.yml new file mode 100644 index 0000000000..5fa9e3ba88 --- /dev/null +++ b/html/changelogs/Anewbe - Package Bombs.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 +# rscadd (general adding of nice things) +# rscdel (general deleting of nice things) +# imageadd +# imagedel +# maptweak +# spellcheck (typo fixes) +# experiment +################################# + +# Your name. +author: Anewbe + +# 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, all entries are changed into a single [] after a master changelog generation. Just remove the brackets when you add new entries. +# Please surround your changes in double quotes ("), as certain characters otherwise screws up compiling. The quotes will not show up in the changelog. +changes: + - tweak: "Package bombs now beep when activated, and have a delay before exploding." + - tweak: "Package bombs are more expensive." From 584fd3ed303b3b4d50e9c8b71a4909e0b2e19635 Mon Sep 17 00:00:00 2001 From: Anewbe Date: Tue, 4 Apr 2017 22:38:07 -0500 Subject: [PATCH 43/52] Missed a test var --- code/game/objects/items/weapons/syndie.dm | 3 +-- 1 file changed, 1 insertion(+), 2 deletions(-) diff --git a/code/game/objects/items/weapons/syndie.dm b/code/game/objects/items/weapons/syndie.dm index 1c287dd214..3de967d78f 100644 --- a/code/game/objects/items/weapons/syndie.dm +++ b/code/game/objects/items/weapons/syndie.dm @@ -15,7 +15,6 @@ var/power = 1 /*Size of the explosion.*/ var/size = "small" /*Used for the icon, this one will make c-4small_0 for the off state.*/ - var/det_time = 15 //How long the thing takes between beeps, will beep three times before it goes off. /obj/item/weapon/syndie/c4explosive/heavy icon_state = "c-4large_0" @@ -94,4 +93,4 @@ /obj/item/weapon/flame/lighter/zippo/c4detonator/attackby(obj/item/weapon/W, mob/user as mob) if(istype(W, /obj/item/weapon/screwdriver)) detonator_mode = !detonator_mode - user << "You unscrew the top panel of \the [src] revealing a button." \ No newline at end of file + user << "You unscrew the top panel of \the [src] revealing a button." From 15138426088c74591b59f017b9a1aac8a4d07b70 Mon Sep 17 00:00:00 2001 From: Anewbe Date: Tue, 4 Apr 2017 23:02:56 -0500 Subject: [PATCH 44/52] Tweaks mob slowdown --- .../mob/living/carbon/human/human_movement.dm | 26 ++++++++++++------- .../living/carbon/human/species/species.dm | 2 +- 2 files changed, 17 insertions(+), 11 deletions(-) diff --git a/code/modules/mob/living/carbon/human/human_movement.dm b/code/modules/mob/living/carbon/human/human_movement.dm index fe6381c6db..a6fec0d4aa 100644 --- a/code/modules/mob/living/carbon/human/human_movement.dm +++ b/code/modules/mob/living/carbon/human/human_movement.dm @@ -2,6 +2,8 @@ var/tally = 0 + var/item_tally = 0 + if(species.slowdown) tally = species.slowdown @@ -33,7 +35,7 @@ tally += 1.5 else if(shoes) - tally += shoes.slowdown + item_tally += shoes.slowdown for(var/organ_name in list(BP_L_LEG, BP_R_LEG, BP_L_FOOT, BP_R_FOOT)) var/obj/item/organ/external/E = get_organ(organ_name) @@ -50,36 +52,40 @@ if(FAT in src.mutations) tally += 1.5 - if (bodytemperature < 283.222) - tally += (283.222 - bodytemperature) / 10 * 1.75 + + if (bodytemperature < species.cold_level_1) + tally += (species.cold_level_1 - bodytemperature) / 10 * 1.75 tally += max(2 * stance_damage, 0) //damaged/missing feet or legs is slow if(mRun in mutations) tally = 0 - if(species.slowdown_fixed) - return (tally+config.human_delay) - // Loop through some slots, and add up their slowdowns. Shoes are handled below, unfortunately. // Includes slots which can provide armor, the back slot, and suit storage. - for(var/obj/item/I in list(wear_suit, w_uniform, back, gloves, head, s_store) ) - tally += I.slowdown + for(var/obj/item/I in list(wear_suit, w_uniform, back, gloves, head, s_store)) + item_tally += I.slowdown // Hands are also included, to make the 'take off your armor instantly and carry it with you to go faster' trick no longer viable. // This is done seperately to disallow negative numbers. for(var/obj/item/I in list(r_hand, l_hand) ) - tally += max(I.slowdown, 0) + item_tally += max(I.slowdown, 0) // Dragging heavy objects will also slow you down, similar to above. if(pulling && istype(pulling, /obj/item)) var/obj/item/pulled = pulling - tally += max(pulled.slowdown, 0) + item_tally += max(pulled.slowdown, 0) var/turf/T = get_turf(src) if(T && T.movement_cost) tally += T.movement_cost + if(species.slowdown_adjust) + if(item_tally > 0) + item_tally *= 0.5 + + tally += item_tally + if(CE_SPEEDBOOST in chem_effects) if (tally >= 0) // cut any penalties in half tally = tally/2 diff --git a/code/modules/mob/living/carbon/human/species/species.dm b/code/modules/mob/living/carbon/human/species/species.dm index b63e625703..c1b466a41c 100644 --- a/code/modules/mob/living/carbon/human/species/species.dm +++ b/code/modules/mob/living/carbon/human/species/species.dm @@ -133,7 +133,7 @@ var/appearance_flags = 0 // Appearance/display related features. var/spawn_flags = 0 // Flags that specify who can spawn as this species var/slowdown = 0 // Passive movement speed malus (or boost, if negative) - var/slowdown_fixed = 0 // If this is on, they're not affected by object related slowdown (positive or negative) + var/slowdown_adjust = 0 // If this is on, they're not as affected by item weights for slowdown var/primitive_form // Lesser form, if any (ie. monkey for humans) var/greater_form // Greater form, if any, ie. human for monkeys. var/holder_type From 5c9fce07f4f81a308c6b2d92b9ebfef2058f3400 Mon Sep 17 00:00:00 2001 From: Anewbe Date: Tue, 4 Apr 2017 23:13:19 -0500 Subject: [PATCH 45/52] Renames the species var --- code/modules/mob/living/carbon/human/human_movement.dm | 2 +- code/modules/mob/living/carbon/human/species/species.dm | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/code/modules/mob/living/carbon/human/human_movement.dm b/code/modules/mob/living/carbon/human/human_movement.dm index a6fec0d4aa..2ffec34288 100644 --- a/code/modules/mob/living/carbon/human/human_movement.dm +++ b/code/modules/mob/living/carbon/human/human_movement.dm @@ -80,7 +80,7 @@ if(T && T.movement_cost) tally += T.movement_cost - if(species.slowdown_adjust) + if(species.item_slowdown_halved) if(item_tally > 0) item_tally *= 0.5 diff --git a/code/modules/mob/living/carbon/human/species/species.dm b/code/modules/mob/living/carbon/human/species/species.dm index c1b466a41c..8a8650aa9b 100644 --- a/code/modules/mob/living/carbon/human/species/species.dm +++ b/code/modules/mob/living/carbon/human/species/species.dm @@ -133,7 +133,7 @@ var/appearance_flags = 0 // Appearance/display related features. var/spawn_flags = 0 // Flags that specify who can spawn as this species var/slowdown = 0 // Passive movement speed malus (or boost, if negative) - var/slowdown_adjust = 0 // If this is on, they're not as affected by item weights for slowdown + var/item_slowdown_halved = 0 // If this is on, they're not as affected by item weights for slowdown var/primitive_form // Lesser form, if any (ie. monkey for humans) var/greater_form // Greater form, if any, ie. human for monkeys. var/holder_type From 530a2b5c60db4075fdb584df0d1aa907b1c17edb Mon Sep 17 00:00:00 2001 From: Yoshax Date: Wed, 5 Apr 2017 01:28:57 +0100 Subject: [PATCH 46/52] Adds a LeMath Revolver --- .../projectiles/guns/projectile/revolver.dm | 91 +++++++++++++++++- icons/obj/gun.dmi | Bin 70480 -> 70750 bytes 2 files changed, 90 insertions(+), 1 deletion(-) diff --git a/code/modules/projectiles/guns/projectile/revolver.dm b/code/modules/projectiles/guns/projectile/revolver.dm index 1e95f4a213..e7d31c0226 100644 --- a/code/modules/projectiles/guns/projectile/revolver.dm +++ b/code/modules/projectiles/guns/projectile/revolver.dm @@ -114,4 +114,93 @@ recoil = 2 // ow my fucking hand accuracy = -1 // smooth bore + short barrel = shit accuracy ammo_type = /obj/item/ammo_casing/shotgun - // ToDo: Remove accuracy debuf in exchange for slightly injuring your hand every time you fire it. \ No newline at end of file + // ToDo: Remove accuracy debuf in exchange for slightly injuring your hand every time you fire it. + +/obj/item/weapon/gun/projectile/revolver/lemat + name = "LeMat Revolver" + desc = "The LeMat Revolver is a 9 shot revolver with a secondary firing barrel loading shotgun shells. For when you really need something dead." + icon_state = "lemat" + item_state = "revolver" + origin_tech = list(TECH_COMBAT = 2, TECH_MATERIAL = 2) + handle_casings = CYCLE_CASINGS + max_shells = 9 + caliber = "38" + ammo_type = /obj/item/ammo_casing/c38 + var/secondary_max_shells = 1 + var/secondary_caliber = "shotgun" + var/secondary_ammo_type = /obj/item/ammo_casing/shotgun + var/flipped_firing = 0 + var/list/secondary_loaded = list() + var/list/tertiary_loaded = list() + + +/obj/item/weapon/gun/projectile/revolver/lemat/New() + for(var/i in 1 to secondary_max_shells) + secondary_loaded += new secondary_ammo_type(src) + ..() + +/obj/item/weapon/gun/projectile/revolver/lemat/verb/swap_firingmode() + set name = "Swap Firing Mode" + set category = "Object" + set desc = "Click to swap from one method of firing to another." + + var/mob/living/carbon/human/M = usr + if(!M.mind) + return 0 + + to_chat(M, "You change the firing mode on \the [src].") + if(!flipped_firing) + if(max_shells && secondary_max_shells) + max_shells = secondary_max_shells + + if(caliber && secondary_caliber) + caliber = secondary_caliber + + if(ammo_type && secondary_ammo_type) + ammo_type = secondary_ammo_type + + if(secondary_loaded) + tertiary_loaded = loaded.Copy() + loaded = secondary_loaded + + flipped_firing = 1 + + else + if(max_shells) + max_shells = initial(max_shells) + + if(caliber && secondary_caliber) + caliber = initial(caliber) + + if(ammo_type && secondary_ammo_type) + ammo_type = initial(ammo_type) + + if(tertiary_loaded) + secondary_loaded = loaded.Copy() + loaded = tertiary_loaded + + flipped_firing = 0 + +/obj/item/weapon/gun/projectile/revolver/lemat/spin_cylinder() + set name = "Spin cylinder" + set desc = "Fun when you're bored out of your skull." + set category = "Object" + + chamber_offset = 0 + visible_message("\The [usr] spins the cylinder of \the [src]!", \ + "You hear something metallic spin and click.") + playsound(src.loc, 'sound/weapons/revolver_spin.ogg', 100, 1) + if(!flipped_firing) + loaded = shuffle(loaded) + if(rand(1,max_shells) > loaded.len) + chamber_offset = rand(0,max_shells - loaded.len) + +/obj/item/weapon/gun/projectile/revolver/lemat/examine(mob/user) + ..() + if(secondary_loaded) + var/to_print + for(var/round in secondary_loaded) + to_print += round + to_chat(user, "\The [src] has a secondary barrel loaded with \a [to_print]") + else + to_chat(user, "\The [src] has a secondary barrel that is empty.") diff --git a/icons/obj/gun.dmi b/icons/obj/gun.dmi index c1410bfcd416a3a589800a03100c9d194bcd8b81..ccd379fa30b740b0a3b36e8ad9e2581171376fcf 100644 GIT binary patch delta 10844 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 delta 10591 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 XO9$zFO)gOY^kblBs9U9N|M Date: Tue, 4 Apr 2017 23:28:06 -0400 Subject: [PATCH 47/52] Arokha changelog --- html/changelogs/Arokha - Changes.yml | 38 ++++++++++++++++++++++++++++ 1 file changed, 38 insertions(+) create mode 100644 html/changelogs/Arokha - Changes.yml diff --git a/html/changelogs/Arokha - Changes.yml b/html/changelogs/Arokha - Changes.yml new file mode 100644 index 0000000000..07f7da73a3 --- /dev/null +++ b/html/changelogs/Arokha - Changes.yml @@ -0,0 +1,38 @@ +################################ +# 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 +# rscadd (general adding of nice things) +# rscdel (general deleting of nice things) +# imageadd +# imagedel +# maptweak +# spellcheck (typo fixes) +# experiment +################################# + +# Your name. +author: Arokha + +# 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, all entries are changed into a single [] after a master changelog generation. Just remove the brackets when you add new entries. +# Please surround your changes in double quotes ("), as certain characters otherwise screws up compiling. The quotes will not show up in the changelog. +changes: + - tweak: "Simple animals resist out of buckles and lockers" + - tweak: "Simple animals with retaliate but not hostile assist each other better if they also have cooperative" + - tweak: "E-nets now are resist-out-of (or clickable) by the one inside or outside, rather than having HP, and can be dragged around" From 0184cea5f2c52b32c0010862b0ba77e5a36ffc37 Mon Sep 17 00:00:00 2001 From: Anewbe Date: Wed, 5 Apr 2017 12:29:15 -0500 Subject: [PATCH 48/52] Revert "Updates drone respawn time." --- .../mob/living/silicon/robot/drone/drone_manufacturer.dm | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/code/modules/mob/living/silicon/robot/drone/drone_manufacturer.dm b/code/modules/mob/living/silicon/robot/drone/drone_manufacturer.dm index adb40102f1..26e1b264fd 100644 --- a/code/modules/mob/living/silicon/robot/drone/drone_manufacturer.dm +++ b/code/modules/mob/living/silicon/robot/drone/drone_manufacturer.dm @@ -114,7 +114,7 @@ return var/deathtime = world.time - src.timeofdeath - var/deathtimeminutes = round(deathtime / 300) + var/deathtimeminutes = round(deathtime / 600) var/pluralcheck = "minute" if(deathtimeminutes == 0) pluralcheck = "" @@ -122,11 +122,11 @@ pluralcheck = " [deathtimeminutes] minute and" else if(deathtimeminutes > 1) pluralcheck = " [deathtimeminutes] minutes and" - var/deathtimeseconds = round((deathtime - deathtimeminutes * 300) / 10,1) + var/deathtimeseconds = round((deathtime - deathtimeminutes * 600) / 10,1) - if (deathtime < 3000) + if (deathtime < 6000) usr << "You have been dead for[pluralcheck] [deathtimeseconds] seconds." - usr << "You must wait 5 minutes to respawn as a drone!" + usr << "You must wait 10 minutes to respawn as a drone!" return var/list/all_fabricators = list() From ec7dbc1930a33b261e43ae432bf9bd95b17edf7f Mon Sep 17 00:00:00 2001 From: Anewbe Date: Wed, 5 Apr 2017 15:44:14 -0500 Subject: [PATCH 49/52] Renames the proc for headbutting --- code/modules/mob/mob_grab.dm | 2 +- code/modules/mob/mob_grab_specials.dm | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/code/modules/mob/mob_grab.dm b/code/modules/mob/mob_grab.dm index bbddd4c07b..a2be896de0 100644 --- a/code/modules/mob/mob_grab.dm +++ b/code/modules/mob/mob_grab.dm @@ -322,7 +322,7 @@ if(hit_zone == O_EYES) attack_eye(affecting, assailant) else if(hit_zone == BP_HEAD) - headbut(affecting, assailant) + headbutt(affecting, assailant) else dislocate(affecting, assailant, hit_zone) diff --git a/code/modules/mob/mob_grab_specials.dm b/code/modules/mob/mob_grab_specials.dm index 735d35fe7c..82dae6e135 100644 --- a/code/modules/mob/mob_grab_specials.dm +++ b/code/modules/mob/mob_grab_specials.dm @@ -88,7 +88,7 @@ attack.handle_eye_attack(attacker, target) -/obj/item/weapon/grab/proc/headbut(mob/living/carbon/human/target, mob/living/carbon/human/attacker) +/obj/item/weapon/grab/proc/headbutt(mob/living/carbon/human/target, mob/living/carbon/human/attacker) if(!istype(attacker)) return if(target.lying) From 897f16c4374900a8125ae8522f3d25c99a579b99 Mon Sep 17 00:00:00 2001 From: SinTwo Date: Thu, 6 Apr 2017 17:00:32 -0400 Subject: [PATCH 50/52] Fixes the back icons for the Z8, C20r, Fireaxe, Spear, and Baseball Bat. --- html/changelogs/Sin4 - BackIcons.yml | 36 +++++++++++++++++++++++++++ icons/mob/back.dmi | Bin 85468 -> 87654 bytes 2 files changed, 36 insertions(+) create mode 100644 html/changelogs/Sin4 - BackIcons.yml diff --git a/html/changelogs/Sin4 - BackIcons.yml b/html/changelogs/Sin4 - BackIcons.yml new file mode 100644 index 0000000000..01e09326a5 --- /dev/null +++ b/html/changelogs/Sin4 - BackIcons.yml @@ -0,0 +1,36 @@ +################################ +# 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 +# rscadd (general adding of nice things) +# rscdel (general deleting of nice things) +# imageadd +# imagedel +# maptweak +# spellcheck (typo fixes) +# experiment +################################# + +# Your name. +author: Sin4 + +# 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, all entries are changed into a single [] after a master changelog generation. Just remove the brackets when you add new entries. +# Please surround your changes in double quotes ("), as certain characters otherwise screws up compiling. The quotes will not show up in the changelog. +changes: + - bugfix: "Fixed back icons for Z8 Carbine, C20r, fireaxe, spear, and baseball bat." \ No newline at end of file diff --git a/icons/mob/back.dmi b/icons/mob/back.dmi index dbf4a0d2bfc052923fe7b8424d78b76db63d465e..66e32e50d5cabd6c3f594fc83cb8e75e08326f85 100644 GIT binary patch literal 87654 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 Date: Fri, 7 Apr 2017 07:35:09 -0400 Subject: [PATCH 51/52] Gives renegade the LeMat. --- code/game/antagonist/station/renegade.dm | 1 + 1 file changed, 1 insertion(+) diff --git a/code/game/antagonist/station/renegade.dm b/code/game/antagonist/station/renegade.dm index 1e6913a374..616080bfbf 100644 --- a/code/game/antagonist/station/renegade.dm +++ b/code/game/antagonist/station/renegade.dm @@ -52,6 +52,7 @@ var/datum/antagonist/renegade/renegades /obj/item/weapon/gun/projectile/shotgun/pump/combat, /obj/item/weapon/gun/projectile/shotgun/doublebarrel, /obj/item/weapon/gun/projectile/revolver/judge, + /obj/item/weapon/gun/projectile/revolver/lemat, list(/obj/item/weapon/gun/projectile/shotgun/doublebarrel/pellet, /obj/item/weapon/gun/projectile/shotgun/doublebarrel/sawn), list(/obj/item/weapon/gun/projectile/deagle, /obj/item/weapon/gun/projectile/deagle/gold, /obj/item/weapon/gun/projectile/deagle/camo), list(/obj/item/weapon/gun/projectile/revolver/detective, /obj/item/weapon/gun/projectile/revolver/deckard), From 828cffb25f5d9acdda34c0a5237fd6261a6ddad8 Mon Sep 17 00:00:00 2001 From: SinTwo Date: Fri, 7 Apr 2017 12:52:22 -0400 Subject: [PATCH 52/52] If observing before roundstart, you may respawn. --- code/modules/mob/mob.dm | 2 +- html/changelogs/Sin4 - BeforeRoundRespawn.yml | 36 +++++++++++++++++++ 2 files changed, 37 insertions(+), 1 deletion(-) create mode 100644 html/changelogs/Sin4 - BeforeRoundRespawn.yml diff --git a/code/modules/mob/mob.dm b/code/modules/mob/mob.dm index f27a73f404..57ad0859e1 100644 --- a/code/modules/mob/mob.dm +++ b/code/modules/mob/mob.dm @@ -362,7 +362,7 @@ var/deathtimeseconds = round((deathtime - deathtimeminutes * 600) / 10,1) usr << "You have been dead for[pluralcheck] [deathtimeseconds] seconds." - if (deathtime < (5 * 600)) + if ((deathtime < (5 * 600)) && (ticker && ticker.current_state > GAME_STATE_PREGAME)) usr << "You must wait 5 minutes to respawn!" return else diff --git a/html/changelogs/Sin4 - BeforeRoundRespawn.yml b/html/changelogs/Sin4 - BeforeRoundRespawn.yml new file mode 100644 index 0000000000..f9163f0ef7 --- /dev/null +++ b/html/changelogs/Sin4 - BeforeRoundRespawn.yml @@ -0,0 +1,36 @@ +################################ +# 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 +# rscadd (general adding of nice things) +# rscdel (general deleting of nice things) +# imageadd +# imagedel +# maptweak +# spellcheck (typo fixes) +# experiment +################################# + +# Your name. +author: Sin4 + +# 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, all entries are changed into a single [] after a master changelog generation. Just remove the brackets when you add new entries. +# Please surround your changes in double quotes ("), as certain characters otherwise screws up compiling. The quotes will not show up in the changelog. +changes: + - rscadd: "If observing before roundstart, you may respawn."