From 88b22cd5da6082ad83b7023cc60f7fdee0666589 Mon Sep 17 00:00:00 2001 From: Anewbe Date: Sat, 1 Apr 2017 22:41:46 -0500 Subject: [PATCH 01/18] 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 00:28:20 -0500 Subject: [PATCH 02/18] 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 03/18] 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 04/18] 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 05/18] 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 06/18] 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 b3b8645d4c4467bf2621fd67e4a2003e85cb7fdb Mon Sep 17 00:00:00 2001 From: Anewbe Date: Sun, 2 Apr 2017 14:09:16 -0500 Subject: [PATCH 07/18] 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 08/18] 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 09/18] 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 21f2bfc12d577c9c34ed9988a5f80ff1ec595b78 Mon Sep 17 00:00:00 2001 From: Anewbe Date: Sun, 2 Apr 2017 17:34:52 -0500 Subject: [PATCH 10/18] 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 11/18] 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 cb877ab09adb880e85df1fd52dca3bf2bead5505 Mon Sep 17 00:00:00 2001 From: Anewbe Date: Sun, 2 Apr 2017 19:35:31 -0500 Subject: [PATCH 12/18] 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 13/18] 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 14/18] 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 15/18] 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 16/18] 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 17/18] 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 zcmc$`by!qyyEZ(42oeG+Qc5Wy9nvYO2oefNgOqf4OP2@;2uMhGca1dC-7thm4IKkB z%*?yS-?R7r-s9NccYOcsXM5nRS@&9N?(44eyy{+&YHt*Y38)D`AQ17ZmvR~)5H>yL zKmKi?q%Cst5eS5J;r;HttDL!usk4=%tCfR22;})aX|~;YiH8X9c)^>%kgs*FK&Sou z`@Yvp!%n>TFCkI4-rcJ!Z#+_KT~PWsy%J}%mX(*e64#hjNaEou@aUl9@)M;>J@CjtI(Y0MQ4L}AnB+h z@j~`y&xjn_;Cal3zNG0l2B*R z54XEESqYH`!ix-PM#^C&DlH||P20|Y7G8XG;&`}a@lx|L={(?$ue$@CB4&sJK+Nr~ zd$j|fTtOgu&?~tY?>xUlSA2XQY%NG0+ax&hJaS$$4s@K34SdQ<_PimXp3S=46JMhj zN0XFT<;Cino_|gRf!5cr$2)42)cDoCSe<< z_|4qIWf3}hHmuy#k)=u`cE<(cqMEQh2<5QmN+Fa3{;`FATLF=gk!1u>N=HOQycD@j z%E-v5@fj-wIQwb}VgSyz{--X1ab9X^C4X6nh<|rsU6^`n=uN+<<>;f#fE;>*)*C{n zgH!IF3*5O@$hn;b%tF4SHlaG8cC4R_uYi`RX*zU%!o^&BEb2;1_>hCt zpw+$i6E0!M48@vCx?tqwq=xV5-ka{R*ad!_D&rteG!m9StE8er4o*jLDt!pU0Zk^i zb1Hd=$bY;c1_dU3TfbU4cQBbDo!lB+a)j}7N7tDZJX|Iq^}^s)f-mT z@R_U+lRc_rKJeGFmk?Xf0yseG-o1Nkj>5p7Et$-1BFey?9y#GhcU=#re;xaee2+BL z3r%EEWfT*m8IweC*thI5-yHU|ULk7GYrlUbCU+1V&uAO1U!80=`Py=S{rZ*C+kQAR z($J_u5z88)^1?k0NQfK9(`MV1 zE#&U#K)w&s^1@EnsGQbMH(12EPX_||g3&%PkGw)n7cqq+E=hkO&cKepK1+&sAr zDSpe6mzTHpBb*i+q>t2m%0;(C`0CZGn%8*wb#)IwU%r2j`IX2*)8bHTnKLKl4*gbl z2KK#n9&y2vQg?ntm-RjBK2!e+q47Htu4HbbieGySls`^{njo&7mo|Tt&lg+9uV|(X za7EZJSW-SLk^fBVk45^QYHzz1UiqpMKU_w*fTYnVBqtcPGg(O!G)6I#?b6~>rjB^$ zCP^R~({&K{=tbpKI*)@zD56~ZMx_ZE|Acjihi!-2WW^@c2lE|%VhS;oK_V`HK%l#iMMEmV2zBoRX?X>OoTetq ziHV6FVLwr&jZNYe@B;tDzSPxPu*QB!A0)7-QcA{dz1dDZ5K;0eiTtrx)S-lTj!#@B z>nA5 zoFg8eOD)OIRTvOM3RC&jb&h~J>Uln)hy`l*f%O^S^#8c3XdQ3$aEN%zG`UZ+zF+tJ zDGLitgH)~MhK^AvAR_VVx%_y^d2jR1yt)S|Z-Ng0?rLr!;@dkaVPksG+L8^6Py1YB zX~RiER=O_uS%nd?6)DF#EhK{SheHeJylBZ-KiGfg56Z1YWZn4a;s~0G38Ca5$77A3W#DHp1dfSm2L$QXcWnLmi+}_?&th;4rvg z5*wfXq9%XW@zNan4(O%tQ*}EWtZ|>=`KHI(BlxoNVf*db9@bsg1MvPgpuqiT3B#j{ zgHG$yXWw#ia+uK?E_Ah@Zf<-5p^dx4h<6r?6HS0oyg$P~Ha6DJlI8m;{)r+s=nbcC zNaJc0E(j{7Usjhg%gV+kV{7Y|wa#y`_H+D4*ufGs^=dX{_Yliry%N!n1E;&{M7_ujH-=<7tOyz1jiUKP(jd&?gTv-{ z$QJ6axv>VWAzG+R<=5%(Z5DLekPCY8N+VOtdbq!u&So^}4X?RUj!*nlxqd3n+^v+! z%An9+ua1i9H>4&nl>utaW>QvrBnFG8%R2F zU0faTerRu9wh(6T3bq)1Dj=XaZ;slg!8{BH<9%@FcJBho06NOx2|DaG<_J7SMi%c( zL=T+gJ;K2U^ptiE*w#7zcBL<|x@V*FXiE}DIz4c?}FPi3Ct}MC(D18pkV#!sb zXDU$-5}Ey@=BJFP4G2J_0Qq9LM+*#p+Xj&G$x4CLqD9az13~5@!(b$$WQ&XD$uJQ} zVXQQ->HTxq{GQpl&8)IgRCMUxwb-0@04GASL6i!aCUC!S=-In5sg-6u%w0FT+Ahud zVGmURegg%1@w4*`JCV8nKI#>iTAhoTht2j15&C7RazUZ1T)A2<7lP=j)hcSfJh6<8 zpp%1>6t|fH$7bxqnIdFS!l5exKm57(8@P-I;<3k?!%^Gj>fyC8o9JS~cDGBsV2x3& zrG|z+$0H}F0Z6SP9GbyZ_>%$Dj`awec}_*a;$;DX*BghcPykGqVUr=F0Ja$WT|Z}d zAK=Sx=eR z({+M?=8UtWn3qulWDi^^&F4D^|BLaK-OOgJD>9QRKLKs|F!&WNCB@U>r>5E|&eI_Q zG9G-eFIE4g)iwtIk0*}#beo^Z#>R1@$7;|Mu2E!xR0CfsQrCpJ5#of`;&H@vVPosu zX;#+ZEZ~U$-fzqLDHD^IM5aEEj>UEMz}_4i|HAeB8|X@__TKdzb3klyY4@>_YtQtI z$x9`rQ|~erlrC^%T?2$Cmu81N;68|6lIu3WTiq(i2I_{Rbok@`l!Z-FIy{h2bK_9a zj7GbXEIZYHxSzqegPPYkVwY0qV3m&a24%KKspHo$X1!G(o7Pylbku|c%5JZGvCQGP zo1e0g?$E*8_Icu5(gD1Aw;Lhg!wm5~Bj##9*RWk})A26Ph&$*Rmm&&%&*0drL@Y+P z6bXge?z#mhef=5&e0v7aNg{9r8n?bPkvnNqzTicCNY^s6U!5@umO@hd<30uCK5^nb z>_@|Yq?;fvms1QCwKxOzbYf9Up5PZ-mK3II1^caa@WxZu!nez=en`k1g?6bC?nIon zd6vRRtH>gP`gn5zCWsNZ1u{f%+hSDCZH0$4ienJbU1|7JbcY>$#~X8 zU8|zpXAb6&q0}jwHu?Q8CCkp(g%y1+fUtH<4E(J8U zw7Yu)Ld7V?OidzjcwU*Qf99L|PEnm9kFF1jIDmk8pHA!~dT0*)Lq+8raohAx z$y73wY7Je)R9M6~TxxAjMz7r^fpxu@A80YDTm6GfX5b1TATM- zU|R-wog+E<0L44CI<<)e_NtVQXiQ$wC?aNO4w~BZooi&*nZRsruJuULt6t7Ryk?Bn z*45^s(vV0b0 zHM97(r`vrz)|=P%M!D*e#qp%OQ+lZvDh({};R6Um-CE7ZFE~|G8HlxK#JO=jKj42L znkZf7^e3v%e)U1>NwOa<(fILA<1{zUOPZ;9Bwi3ln8JY~ImBP{!n#p}j7$gjA0)R# z1Vm*3Rwp$4f8O}?Z9`rzbwO!kjDI`TC8d6G;{mAUTG;ohYJrooYhd#uJ3qs|F<||k zs%vRkxD$r)oC+@vDi4VMKTKh|R*xgWR$N(1uSa&~%w~`O($dH`KJzF$`=6RKrDSf; zQ-;i?+2!QyWUZ}BK!I-y->d`H&o>R7|qPoxW=0TCj|}zp!L(PUm4SI;9?^ejhidv#+274f zip((sXL=bifaUpX8O%gDbEf*nBkDhjUY+U|s;RRB410dCMB#_H#07B}w7kPFd>cb8 zKmf`PP&Rr{ZZTb?{!J>N<9&;3F+K^2P@WM#p!JH0i$8ju!j&WltE+n+pPbAr>Twt| zFz^y4SU7bD`15N;dDX!2!zS7XGb16|(zC)Yy#W(sDL)9%@{0PB*HTw(E_sL(VC5n! z)+ZCzZ7SQD6A}`tY&D4a^iy7{WV@h~IrIwyd*tX@@F?5asq}6;xJ$W*;kYZfx61b3-?ekQdW9ln-E?{WFdCIedpbO<`Wdwjf=SiM)O3^RR-ozBw4;e|?^`iD>C zq|hXs=^-Oj&X$$j-cqQmC-zP2w{M(IO20|kF-pRBp6o1@d*k---`WZ4jQDHG((wFw zPn`&~P$7;s_F$>;2?qxeU^svRzkDH`o|zGtzYEf9u&rL6`Qo-edneahllMNjGVo&} zxDUX0fU7?2?eYBOgIVT)l{8br`Lv8V3~=M@^vq8&Y2foOVca;bnEl61zn28W^0NZ6{eSE)HFDpj zlZ-j>i0xeO4qqWGPa>uf97f*8IC21$dN_5bpVxMtr&#-i?+hS#iv%~qs6-b(ZK9o8 zB(Z816)GTB*@={G^p+SM9kq8`mo~SweDdts9mP1>BtsiO80-i!nDF6S=)#kB+wqN! zjVen3J=!5x7{7+a0NYarLZ3_M3w`}Z);2czb2siIZ^X~Te@Kru_p4pi(-!6BJvFnm ze7y?*Q4t(9N1+Ajbp!0L`D)Yf>BUYqPEL6gyqD*pfp2XKSvUbN75HT_C)RN+u*h~aq|lt zhF0xd%X`N|j*34_f6C)9@NLFtWE`M~Uo!hu6P|BcEY@1a{iTz0o6yuY_+F`DfBxW? z#_$gVOR`C`L|;)7j0l9>g|b$t8JkE2pnPM73AXW=iYoHcC+tdg0>G52g{l<6V?QZi z%zo-pPFb_oxAQgTglueV7&&&Q3ZFdf@$quyZdyRg?4~*nt)SO`MHp%h_Z$@(V{l#_ zov!$Q13eC`zQA>V`G~rr+)2hP7ZpD42Yba42Jf{8a46QEgzDrAFf7OV-(k=N(~p2E zZgzN(Uf(>=Vdy771v-Y-jwzMavpu~}l7(avLk!MrOFFt^>60f!j_`r!gV&mcEotT} z7x)*%JM+tR_aBg0%EDm*m4@x0@2${Ei0Tii!KA5~}J24DSR2&InKB!w+U)_l#Hc33H8mO6A(ULN0OZq)D0d?b~BXSQ9e z*kIH}W&ZRe#j>=NJ(I!(n+x+z_&`L2cwRvP0g}13sY&=_+HHmq#A+@uWrsS5D2hlJ z6kvbH4%u^G^<_Fbk)PK3wD@UhILX**EL3w=Sr^Gh$(Yk{h~WajqLP2{BFHDbV?g%; zMY3{VRs08FKoaC)I?DTCq1N&>2}p~CY9xN9wG4Sm@Q=-drh5Euvwi+sJFDRiy~nCo zAx|q_K=Izp8~!`V8K0B3A)fA{TA2ZxE19B0g8d~W+F~Pl&(emr_*%nni-W6I{SkH} zFq(sdM#${6#}=JV`=S?fx%sx~)-_3HMqJXil;`H;HX*1;MDsJ4GvLJ(-Tvy}H@gMX zq?ytT%gOIrxL*Jc!UDZc=7@K$f(y-bGcoPpuc@l5H`O&!_J`la1uer58V?Tw1;D!n zZ!*|Go8I-4%IAh=GgXt-x1+YDu8?}`?{Rw1=!E^$iLD@53?>Kany&aD9@p~`P~g!i zD)>v)B~bm{pJ~yD_Z@5>20FFtS}}WbE6n1bZ6}_uO*Fe$hJ;>UXzLz~iXA=R<>fte zD7ughqrVM`ipI)bzpM@DkCFFZ%MwD4eu! zrrWdcQj0$N=?Lp@Z_Gl7X%R6fTv#WiUWL&=srMv#sjHhtDdAlw=KJ*NQ{$Bux4}%G z$;6Jz!9gWW&RZiphMJ>tXoe#6v5u5k1fo%#+!IB!alL)5t&Ycoz7aCt{u64^xF)38 zK3J3+PA}n0L@m1Pm(-7++xjBN%;19E%Dl^hHm)5q(h{>w#~M`Cwf(4pDw?*c zuZblUjT}Af4I`@FXzQFZzsn$N*L7nC#OS`9*(f#6{C@IJVZ(l791vLJ?h8;-E8v+j> z#I3S*i5lR73}Hdy0jf0&^*7#BhX82YJ9}tu1ur!Ld2#p7fY-5+O-Yn9r3?I4(D3Xs zNZqic){~PPJVW;JI6X{NyM*@HbdC3Ny@9Te4W-YmsJlWQ1@18PMC5RK9e3iTEBk1n z*EbhhFg9;Xi{nmigr;Xl(SRt6zpHg6d_6Di%_;#0k=B6KjFjBv z@0jpqSv7Kn0Z}ugBa_eCwG{Z|CJSN~!u}fd7793HrW6vMyYac ze}7Z>r8xkMGw}7<+dRP!Pc_>Yt(ZG?Pp>GK9+j3D9z0Jp=G3X_`4=!feSe?!P2)&) z$zS*inc988mGU}~N(Ru`XN*mO^#=;v+p{jyZ`J@{D49bi=a)6>`x@{1Gi6;HAYy_G z`i*)YU6&#`eIDxW2~h+61pFwC(CWdx8B74Gtc(K-RQM)C2Kb=@?mEDK1_}(P^&Y6{ zXDihf8_TQr7qGKOj5Vn9os5Z|E^EgedO83lH^ykMD)26wexTJpS z2g}X;U0q#{=R4|k4iMV0qxm3`smUt4CBcx;&>ui}Ay9x~<^G#Oo*HfT5xFCIEn>g; zgXI^pa!p|Ye=@K@WdZ!ypyTib7BaGmb>ml$K{i}1zmSLb{sY}=taqYq<7g$u^Iuay z=c{r4ay~XltI{x*%b>*=(%}axYu>qpF1!WxU0CO*?z9h-{NS#csCM!+RTr&5_TBU3il%@DhEGT+DOHtUTJ`A;vdls7Ckw@!`cuU&C0s zj!83V!txQ9$-7Fe)JO+>YF9KGxE1JnUYl7C*e6l{8_&u(p#~%jjFvbA?BLfK=u8P8 zf?V(VL1karFH^hEegA;d1hrj1AL3^Fzi78qPzWCL0$OyK8XvUxb_*03wb2cTgFf5P z#iE=l)wI~4`2;B591?*sG(w{`OL`9NOiY1wo+JZIJCi$?ZRSHUhw{|9KAIx;C2sAm zKLG-NKvVdU&HXkS)LB8~#e13xk1e9zb1=q2$FD5D*v`8hShVKHCgteW}c>lJ-=<%xm%6wE(K)iqLlW zhB|KKD5T~scIB{CexCb3cQvHk5CS4;YuNlsVDdcarKmRhbq~{~t*x#1jrJJ{i$Mu1 z0O}Q&mB|5%>0ET9OU|`p{*IGLj?a<=Ki_d*j_YoHEPbvv`>>o?LU7cPzJ^VcK393Q z5LNv$)>G&HyS588xa8#IMa9LP=etv6_wIeVcw4wpP^-$>M6ql>q$XZ3SGxbfGAeN@*J}vFZ;h-&3EPlHm@$UHRYyHvE(;&?fIL_5YOcdC!sfgW zSGP8b=iUk+3;GKl0nJuz&$Rw^cC>^r5=G%w+zARW0$hjNhX!15{W&a9+aZpK_j%EJ zy~Xf1hKHQGdAmXqf=q06M9~j9YyOJ?W2pG$UfChp4@DJWU18)d@uvg&9I1#1rfrBW zG3qg?U#Hz3cip)YJ8y}0t>xr<`~DMV^WweswK0-CXujcSwNr-IzD2SWcSnsa& zc!Fs^TQI~0#^rGOzMNL_yUmzi7B!iqE5M58$LYML3W@#J7su=WqEj(k@a)IufnNlE z5onu{)O3+A1Y6?Qc#}Te1PUxZ{F6p;70}J}KbcPP|Bzed$(S}2jiTWDY5&saR zDgK>d7kLNMjfUadODy(7J-|u&xcZP8%=S|G-6%4nlB@6ak(|&xYEo>%bGtM;>0*Mq z#zzq7%4Q1lze`3+w0A#b(Px(0S7x=0^}^xQrx_XHp%2_D^iJ$^gvA zs|zIS0YL-`aQIK5%FPa!n?KByXf}v;XqIY4HoI&q?Jtz23ePbU&aB66gBfZq_&g5v ze=y$Eli+;TB$5O3Z!Xt&jAT9w0a<{LR*{CzD2udGto*v13`& zZ7ZsiE9)talMTYLh_{+|w#+rJy${gA=zXCT%~W#y3Wb?Lb`8M;s*WlhuHS^Zqsq}m21ywV<#2AFUy;c=T$6#0$2otVXn-i`OY=<3 zF75v4i`!86WiYn%JACo(l?R`$I|?r^olA|S@+*oXptZ>z_Zm#PZ)5Bs^lJOaB|B4K z8$d*S?xnV93wZY-Z&7Ix7()NsSUaZAz3mdt6|(9Ko^#*ti3^jMLqTly_o0*jv>>tX zv%^`pv$fyNNk1l?0hIku;)3VFg#l&easAw7wQ2bo`P!0;y`k9u^_c4HHC|we^%}y| zZ=xP1m$!UMBzOav6846UHT6uKLIl!>J4U`oI~@3h|DGEj8Vc@S{~1P10|GsJ_6%Ug zM5B3nmN(x&p12T^(8Gy~Y6e!p6#EcCb`)#6T%tJ6dTTwZW1+0v2Tf!?~+@;%BDveTnBu(vead^Ou~ z65%0bvLCs5`UR=`XKJB;$NfJry~Bui@c~TwxtX>f?ZfJ&)-zU;Gd|iQM0o z^BX5vi~=pk@WxP=`wM3*aUMihjSm2vo<8|i<$3a<9O&KN-rk6~O7Qvtz^)N-ap4^X z7q4aX?md1?JeGNJ?RnYed9o2W1|*DF?OmC%!%c_{b==6J0`!CTteKdI88Gqz2@!^c zMZ0t4LNH$Tfw3_~B_)FMl)FN6+zvAJ^so=q3xyL0F59E^)A{qjg0((OF%X>K=MgHR zwiwN8-c0;a-1`n$PQQm4z?^5fiRWeUY8F~*iNUj6Za{QOa`w`Q=v zld<&p7faSv{Ycd5*;)LTFXJD;fG0y^imW~gg`#q4HVy>@-^^~3cHRTLOnhYu3$I|EHy#K<% zZkn2?{MX45K*S&k+A)$Ay?1?flU^GTuwPQqe^zOMM$Kv(#BCdmqHtQU`GALjE(r_? zxit(d&xOcegM;_j_Bah{DO$Ls$ieV#(@u4A8F8EKKYx_U z1&WNMK+{CF<0gpVWPlH$$sb-&;9cxQWk!Fv{?Rx(I?b&7m4Sjw{G{|8~sA=l0b3J{;_#7 zaoQ@ZE6cXmF0|2PUA2LFu~En6q?{db!;*;{>nBvgJaFat;@KBZ_tsD*X6%=@l=|ji z27D-6$ZY{GQ?Bw3?1YpQJP;=HO3-$GtzJcNY>^M?c%1E1Eo;<7u|#*5_N%VY`x?w7 zh@D9~kdim@o>=!S1(^;;5QqBlY`d5O}cpVHR*?$ z@15f(YJ45HSOy34=AM80JJ%fy78Km+wlp2gVCw&>dnDg-UM7DV-9Ekm{4ik#XL|t| z01UJGzWamjfD^IOyOI2JlHn9SAiX!*Bt4bP<1;2FOlnMjUO*3;=QIm(K0m*S+ zCUroE@miHN@49!p3wh2Ub89Q#Ja~a)_WAL%=_Kn(YwG;E_M_Zjyaw?NMw z|0}G|46DziYPJ#1 zARnikHte63AP{fLK&i)uCwa>TJ{vpksyL17o|3?KVMC_MBCPX{XcC-&%lBk4d%$9P zu0?T=`_ne)rFiSSWOVh#7|(CY*5siti7uD^agX9U#_WX{g@1jE{^Q(ygZd3XD*@M5(@;_HOjgVF3TnCmxcGyqL@6PSZhtt#IA`n3%}=cO+9lJK-cEelK$(D zVx_#vngCGmeh5=4}Q5)Xka--ttZtwlibgm>j3dvbQ3IJcRg&_ z;vL*s^2l<}h-JA=T2r<%>dK2NT{H4<@pr8s4Hc=cB|~o5j4cwXbuu+^z|f^(>lVYv zA%ElQ>LZKuNs=&Cpsc_@C=*CPWiP#u1DCADC#4U z(Hb-+DWO^xS+d~-M332c-1a{HKrbBL5YS_gd_Q;2bhDq1a9j7<$`z=OaVxsqa7m+M z-ujx9vDLv3O(TVR5BdxCQGYZF=Old5p0Bfl8*D$CWLeM+ojX{jy>u@)Sx#pSP<5+~ zGhc)+ly}){=PagWh}B!rEde3wtU46pLi+jfSnk;Riry*?DMNj+zk>rdJcPma6lcS; zFKe6=DYV^CnE$H$F;V-Gf$1T6`z&|&dTRmWsmvyP76#ew)m9U9&f7WLU=Iue^m6+v zz0}FQ=N9>s)_q@Q&XhpM_>Z%cN~XT5NPGr)tT4&UR%%}+9!+uXJ=Dn^*t?$MoGBR1 zMMVusY_w)LuIWGW;I`iyk37e{2*l zQR!vTUv9hY-kgaCLQN?c5%WMKL5BIt^|gTEud<))spP<^U5F8oq`KD7Rn1Ce^r^^A z9dlS-)=%~Op$B(RyU~$HIxKrkqYE7HVlVvW6%Y;NY01dy{rnBEeqnw2_7=Tu$@?%83BYDwe}J3ku))ndHMl;!L6e3 zM1ieomzj5N%}>(fs%jd!)JZ3FW2mfpO*fPkAo09jAmfQ>bFlGt#GAo=Ox-O;Q~jsg z;E($+)+t2>pn^mmMaPQ5YIL_q$Wb5N#kTX?A<&=bwiZL2z$FyS>L57v?V>LzzPJ~3 z`mWLtpO_dIG(9`JLB7k0tEw;tmkbq#T@+ZQ)uird8}sq=bAmy2@^JD9G4A%Ex@+yP z8RrDFqCJ&)OWnNiTdQPbGhGw}M6%?NAs zYah8(4I$DR@0m(h{lzB)9oiC--$dk>n;gxTki9(mtJib-Tq$)KiB9M2^rD7$)L(y*z}~jRU}%5AI&dHj$q1en!$1PHV~}9u<=jr z$(btI1uE&x-mpVrkg)3x=|gTq+Z|rG8*WHh=Vt(q?~SpOntlkd|G;8)8~D0Xxoi4? z#d>CDRvJHOJXvbSwZ_|y!xtoNr$P(_QtWusr8Tv*l$L~WB2?N=2ifho43;7v+jlT| zK^@P^IqEGb+{C`j*cjMx%E-|4#qiG*{;=9UNKqKaWLy=!a;vWgV$L<*5?(oF69+P& zwA&#xh9@^aG1{shFStS4g$wXG#=O2#*p&4U{=1vGbb-p()^VdY{QVRDUCCebT|VjMN@dox^^ zUI0;|?&$~qRV9>v78?J%cS<$$)Y8xc(X}uODaZ1nQZd+-N2T55@P2_;W_wr&=nOsS zT>00=d-xp9onF_LQgL65z-FRy5Ne<1;X)BaCyL$uK_>qAN&);SVO_OTIo%ihP4L>^ z!+CkjEtL4fvs^g5AR1!t&AMzc@?%ca`}P; z+wjbQeJ1bQz3Xp-R3$FHYH6CEynh)cYBY+zxjtKxtK$2cD#ywrA|g_d8Nk1P#9AgF z&RAQ5D3n$A%PKc%1$o8_v7`+4YM@9uX}^GSzqElXAL*`KA_x;`I8#CoB(1C*gBZ)CO9xWd@>Soc zJso*RkQpG0xi&@7_C)bBsMbKYru&)TwjM0}%PIt@q&JkpFao$@41~0RymlbD49;eK zU8Q+-Z2S=t85y~_0OSRWi|?^pUL60hvCF~`LD^NE)s!5N&V>aEzx%jrqc@tEY7x3n zE1$w;;P_`a^){W&T*YHhc3aycJ3BJ$-y`pC1DO!RSyDzA{}?MfyDShjmPFsU$WplI z0RFB^W$}H8*LKF_{-58!BY>1J>>@PWA92ta|Lxny>q;ygzjO(bb`%g(;0U-2?K)yH#9tS%dC8B9c%{Fle!(Sc@+!fFZBD8fUX?Zq(MJh_A3%KrfdO? z*YM~-#sUI(t=(3D*hKzC3}dN7?Y4Bn+K>#`)ngNTqn!HOVq7!WmxoZS?C487IrW@ZLA3rU1XdMlv zu8{|&0zL8vF*(#Hsi-NHH+$`gihCsT!JQB*exVWYof}B8uqawd0J`B4)NAMB{{8zZ z2f3WQ=jKh)$k)7B@8MfH?xuyQi^bZ2Q4+WQ7fFhk8obDffHA87CwKJUw50)KtS*q~ zv+wPVN}yJ3(x2y213Hd|o%BUIHt4bu%`{i5Md0cVOnQPM`ceHVDT#KVw zVj?1Jt$-V42q#Ea0(hcGpkYO&-Kb0O^zC=xXXh|bc4!DzQE1Wq%+yNf3c8d+H2n0!YZPEy|xn>A!snhIm*)nVv7v42=-%4ti?OMz& zXd$3*g+^q3rZR2j7O#ch?6ku|G%Y`boWDwxGlL!CTg~0A7ZC6~Z^_*8>PFZ7G9~V* zt+j}3kW4J=jh65HA&XB;D7%u%&&tUr)3-Nccj>9Oxu8=kXM42j`El|2(pc_LXt3ky zJAp25VbY0wnoG3fp%5H-5KtVub5YLvjQzz*>ir$cdj#JFTQ>`K{S;xU(mWC#JNIHs zT69C|_M>(pSfNr-zogA5f2pXN(@kNo5^4jkMAqTRL*fp-;cf^(65o9+VeS4pmakNmeXIw6i$Xu{TLzB0q2cGZNl90~9X)FG_*TBw z3H6ld89l5mP^H-JR_=Q8L|t1u^7jzQrm`J5S40$FYre%unxsM9jZR-tX{ns2Szd{= zM(7458~f)MrCfcfZ$pVC4d3cSeCv??5gH;RYw*OUD%03!Rt=By=>uNB@SK90b>-3T zY#~|(F@sU2_`TIyM^Z%~XGwA7y;;e&1{*WtKFB38BcqLaVQAWlM((@I>)(W`DQyYY zIl?s_IaR01F>0Tp9edwCaV)6d?^FF2XeS%?ZABwG8NJ1=K|wDz`jpbr+S>6C(QzDS zM)hIn(Xf3#H`7voG>hfv*HgFS-@~aN97i}m%%1OV45z}c>u~cG2gx*aKJO)%vWnG_ z;FLffWIC{Xrj=g@w$bdl-Y!&4PF=Cj70;sO&Dow}86ut8B_i;!?}^M+q#4eGj!V8v zc_jPNTtq4EYoj+BO9~gK4tb0Psu!U4b}f}&&c1gJb-!oMQZiy+tj>n08&ZyOeAVyf zd3M1MYB63}tZ!oFC8HFXgf^tP0m;ZiSn=?mI2s*N2f~TQ)6>(&*Y|P1@o_&~@XEk6 z1P3vI%$(k?x{1U#YjY`{)@7^v(-Ddl>cH08HLaW3zka6<+ll?Y)wosh>-KCCEY3mj+yEpisRKY5cOY zVxNgn4Mg3h@+YU$o;%`jUk=bUVJn$GZwq#uB!tf7;P=e<_VLbH_0Gz6NSn+zh864&HCu7yw+8{1dTYvfmg zBG`qcP~wclvhstfyx(^ybSCgQ2XLER*y1`&o&wx!f^WKevK*cEw#g)J>vz z8}{UQP=(bQb8aAOuM8(EE7w%-x*M3%my zyfWYla~1jAW;zSL6|k~y_pio5#~DK0b{ySJC^RVCpNKa){+Nd7zK(k=3#|4-uSa68 zFD*o@yRlIon0@LI*uDRLE$sjI-grVFR}h1Tb)>|Q@YuN<#PzN?4B!`J9w{&WOaRZQLLftShoZ~ud6fwKIP@I zJd%nU=Fj0Ad-DGZuciW}V{xlKs_)&HQOEnwD2d(1Wn|1@GFVqvx!j}a#_nr<#6Ucf zF-gJ@sBzF*N8Y~c(Id~NV^G1gt>t(QT@;7uya{b5YjFv*&2)|yI)80si-yxY67`;j zCR3YhWoczbN&zM-uzVRxrl^R@R_KA=DTb!+Cnd43)LW=zRg~FRnZa6^*qg#Chuf+BxkafdevPC zV%)o>L@;#X_c7|vSo>pz6*Ojz?GV~s0s#vl%XG3<&A;gME0sV022=thkO<5%Z+MJt zj}fCgUc2>kAwKaV9wx`ys_BbyMvvayK+H?? zpz!3x%5L{Fd^Nk+FxnM1QlX+-mhJ}OrdcFBt@#RWVooma$<@LCXjh!yW7TP*cPTf2J;yQc9E<8Ipez-n6b$kND8-bL49ePY8=BFh`&{enj@ zWqmHId=7J9S}jhgN^zEXLV~H|_RrdS2y`?EF zZc>6dx5=_I3+AktaJAG_PAxrYb4oP_iE$X8hGC< zB~i&m$MYgBDVe!T)D`rcm=rr-UjF^*UTHFtae7y^Go;=o+>4Ncdex!tY%Ci63PJjY zMf_9h(5VZ9X$E&?n^VUVYH{R7i)=0QWKWgC;3kDV{(2)i3})5n_2mS0o^A_+btDDr zyykc;4c!BVAawYr*_^S$gNR>f1bCwruftL5vySM40E3R3Hl+8qcu_fK#}4qm3P82H z_rL1vrLb_v0UXkHK~v3ISN1N=%pWa|hD!cgvg&WP5x^S)D$BL?uFr@%gaWX zAU&PmIT=^mu?!I6mY%YRoE`1j^)Nwxha!K%01mGAS zJ`9S8;3)BTinZ>Au=4r_xr#zyHe@i^SMVx$p zAsbS(eox$NqFdhnuo6oy!;b`pIOFu4W*70v-(2+Ihuk8mdfXry5N#r^$bQt*>3LV}J?h9*Cs+o^rl#XKfmx1Md! zR)T8s`A9sFITUKMw6H=VnQB=D_S;cK3UCN5#apzf%HViG#kXgf-*^o$Jv0A-R_=v& z$qVBZ_Jz=2HT=yJL&`c7NZMp0WCBkdLJ~ldwdfq2nWW zBlLh`x(@F!xhkM_^Azx=>OI_|8+6+Pnc zG7(ae6Bw+RbnGm2c6Vs?x;5}wNULP;y1elddi?`lr9_Lmo~v=md^o&!wnSB^?Q%!q zprdfl0U!7B)&3OM8Bf{*%;QSW$UN&pD6PT`;<$HR7fmaPeV_<#p56tFCm6X~!=FkC z>+*}{g&9vkB4ERo3})MCdpw5fN=uzYo7)jW{yK!M>N$<|itk(>T#82JLm~EO^rj2E z-*CH;1SHYuf=V_bpdX%w4+*?*5uJ?EfR5njR3{2J^9e4(l?-QV~!=62PAPyvHtM(Xs3fyx79GEnbS@*7aaZhxfs3Ma zM6}}bNXuMVe6$e{CRe)%cxO^@W^SPBsZ$0h3f5hL$^PYY~0f{ zzZz8`n_n~)$u-@gD_T2C-&}@J>U|G@Nc#PsR<1lAs;~c#N~uIC3B#14jO_`TBFjV8 zY>6rBe63B{_jOQ|vLp)0_Vvxq3}MVLnfX?hQV1~^V@jBej4XpOmfz9upXa~ld48|o zANQPl?mhS3&pr3t_xYUj`Mf{r21qG8+rdpV&97DyxKROTgVni#)r&FW5_;0nKhM7k z_@;l}txZ7DiD-R!W!U|Jpamm`N#+oaoHioPN?iL02ZrEQX)UPG$D}8(+&d3|@G)S;Ul~&8XP=r8dM#SxJWu+}%Yk-=i2-61vC{%QSixhHG%3!yNkB=hYS3)3w zJ^e5(?Scn|pP!$N(O8-0Uh=gAQ7&wiV($iBgxc&%s!dH5RMORj85$b)dq)C-nN3g( zq>kw^zc<}eaoUJASh_$?%O>}iW+g2f@o))(3=mB!Tq<$#@b~oc^IWl5`qx+XDMb{h z@r2|Y4NXVHmQ116E1<2l7`asc&I-ptJG^?0_jbMkC0WxTG=T{P`}8W6NQ5xFsRGp=6$ zx~=WAVwC&VIeGbig5699@(q!eQ1-+9;>uTxwn2(@WIlGG#iYMGN7oE*TS$h>^ZdF% zwkBPq2=2v})U99U`q${%7t61ImOaOAb?hSN*^EUa{t|Zns|4xp`qHXMCtGJbjYG9T zs{%9FDE{MYYX(mWKu*})=oF{S-`iVNRaL!Ocd9>g=hNC3S4OY0yJ`h4fyhYnAdc67`JeQ7*;Ui)e} ziXJ`RT3$&+7{o~!m4d)5r8kN-x+_qBJPp@sAIqVRPHgmIBC*-8Nn7KBt#RUV9>hk` z>m_sKYYJt0GjlkPXAXOdK51DN99-P1dt(DOdRNXHgG8i}kyyoXc+7?r3wd zu33hEfoa69o-3|PB_6b2hk8|0nkRA>L+C3E{j*R*C_P&gqT*oG{uI{kf ztscRs05Z=v^%{O>>0HP0wIBfmw4pWmdM|$8NtX~i8XI2L)rkEGvFC*70XKK|Yu48B zfc4;|n*^@;`R4QQ3E#sF*OcEo6~3!(2BAiVw!R>6bke9V$6DU zzYqjcaXKDE`3v217y|k8F=Q76^5uvg1QM^gO8^3~Hiqy)AS{8C5Qv@>-=6=ra$Yc` z5{J{!kgRNMSy)Nq4@Ig(l_@SM*##E0FV&S+ew(X@3S(PnF2gp~w-{`ucHmYDPq8q` zF|-jqn07_Rt8C7!bTGX6aT1b_R=?vlinDdV&?Lew`OXARq(%}5Rw8G6Dhi)DIUmy6 zsw??JD|%Ei#jqW7y!Typ$i#JybyHNInq0w}ZRt?$M#_Pvq}sHWu=4~@+Cj%pzwmwc zFhB}>V_t+$v}=mE1gXMC0V>3(bDlYMM&!}+%Jn8+FiOb*RKz)xY}1W#xCiEP*X!t? zKcAG6k`l#iX=!Sj8yFb8Ax}gOXMXUg0d^~AyF3_~8X1MTS?C?1wcAyqdpmXjk8)gU0;Kt-%VL{pyj(a=>6P2p@0fjcGVk$ZCY(TToD7 zi9!_#3JE#DqU9125^$ex!DA_uKeY0?lY5!hE46Rv6j{}e`1}@nVwHzY%)7LG6DF|d zOo3%D>8?%5!0r8ecHyXx2>$9QCoR_Ge02S+0W)JzOhJ=Rw|@Pv$okoL_sA4t*q6ZX z8mSbVz02i@@;TRA%M)+3+ELURo9YNzS6__vW9W~-GVWq>z@%RKb?5=`4p#>=<5OLR zFk9&^mRAQwKtv*$>$T93urTB@x2Q^&pg&OW`Ejzp^eQe@y8!U`KY*g`9Z{51Z-Lg? zxw$#e;xrnq060#H{tOQ0Z!;q12190MXP<>HdO9TK)I-#lhDTt@ZPBy62!e-vz| zWinf#;jJq%lj|Qj`6R>4ymY1F+QJLD8HpZN47pBWU*vvIkZOz!5KO(!oN8YBR(5({ zRQ|@QBpT(zgj0Gkq#}gh{W28_>8k@Vx91oB8h4R&5RTW>(kd{cOa-ZBn6wc^Um&p# zrDU07LP?&$9UG2sA(0Bklpf%4$_;Mq2eMk0@F1IEu~cP_&JX-xv%{t~axnZQI9v}m z#_852b>`B7L}hh#u=f3xA_l9ChIld1`dtJa>(t{yl-ZGQlSx2^>|*Ou1~0{;8!knE zOWyMWma|jIpMh?jXQ$V`pBWEapocrZ6&{90Mt$2S=f}%uOXYww6<;=(6!Ni*M`DZG zQnhx=&AlT73!{_w)u?OUn)guh_~GN^ zKHKflvy5$oLOVeNo@>OgIOH$M$UHm6Kz*r@$}vWw)JHxBRxY0u_?ywY%Y#M+XMfBB6`AR5y~`4s;5ikd%Bn zG=wz1Qi8`1ic3l=IASEtgiiLMZDj*7D}+t{&?v&iLKDhw{K9HFblDLqD?c1%qT1*# z32*+)Wi8!TK6W6|4fg^wZpMTid|LZVg$+8?p+kq1@iyp58th=x{B8Q_+Mm4fpJPic z_+?L;0&mNs@DBEP#_;40N>!acm2n-g`XeS;xEw0pEctyKzjj`C)lh!AkA{MUg+&>K z!eBM;-Ncm(GN&pp z48rkD7RVMs@!*PR@4E*D(JtZA&*F%FZWMpC~sMhJ25%wi9 zokf*^yLx(6RaM6~tlqjfY>EUD7}n=JcHNDijEnFLMdRdD;=LvOiEGFgHx<1ksOo0$ ztonX$Kem#RQl?p{2X}F*zrNYfL4)vqaq6S&_IbqP?huZz{B3@Zh=`l2xvBUGHEv^A zbxjUIj)1_>6ci9K&V8nFQxBdu%*^ABCTBnF3>{NA+I%)FZmVORsK#Aj`cLkZH@LS= z$_J`AK6Uh^&!3+h72MnXGn#CnRA+29U--!SD~zCD~Khr7~9w6h7#NmT(fBQZTix7 z@A94Ghdaj3>tZ(v>#d^qj9!(M$$ektX^ZM_#!?grUxTV)+-mRU-e%E;I$4qZ_Kv(? z>gfdm+WDf??VnElT|`;>y#;Ozd`73-lTl=N*EQQTNIb#LBdMl!f0gt>LEeFi^bOOQ`6IPNLlvcQc_u3 zY@)%~&9wJYDKpXy&caz!2*PGq*QUnqH$Jn%ru|*dW%&R7!14LB z`>Ma5=quWMA0a*Y;d@|N_mB9=8mz7d3*K<;3X=?zk})L+#P6RQw*Z~)|Dsy`hZse#*=6GBm={Pof*59#A}-fT zi$Ne=b7g!bSZue4s`w+LmxV3EMlY{D1^UbV#IcLb-=FYy0*C6&_(|x2sSQvbP#dw7 zTgpwozP@tQB``c=Q%8n}FJ3}kmPW`N?JRrss;_Ge0vR&{7Ytz?%lneNeK;sbM+JaO zHX!SKETu3!^m%B=>vhuse#qY;px(p+(FlfnH5hkUI>#0+3ry|rCXL})Hd;E(S?6kN z^!XtFI0_muo3!tfK6nh*l?i5Lp+2dSkFNL#?uO`@u3d0S|Fv#*3 Date: Tue, 4 Apr 2017 20:39:58 -0400 Subject: [PATCH 18/18] Update an apron on virgo-1 --- maps/virgo/virgo-1.dmm | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/maps/virgo/virgo-1.dmm b/maps/virgo/virgo-1.dmm index f9b308f496..da65fa19c9 100644 --- a/maps/virgo/virgo-1.dmm +++ b/maps/virgo/virgo-1.dmm @@ -2014,7 +2014,7 @@ "aML" = (/obj/item/weapon/bedsheet/orange,/obj/structure/bed/padded,/turf/simulated/floor/tiled,/area/security/prison) "aMM" = (/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) "aMN" = (/obj/machinery/atmospherics/unary/vent_scrubber/on{dir = 1},/obj/item/weapon/bedsheet/orange,/obj/structure/bed/padded,/turf/simulated/floor/tiled,/area/security/prison) -"aMO" = (/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) +"aMO" = (/obj/structure/closet{name = "Prisoner's Locker"},/obj/item/weapon/reagent_containers/food/drinks/bottle/absinthe,/obj/item/clothing/suit/storage/apron,/obj/machinery/camera/network/prison{c_tag = "SEC - Brig Bedroom"; dir = 8},/turf/simulated/floor/tiled,/area/security/prison) "aMP" = (/obj/machinery/door/airlock{name = "Toilet"},/turf/simulated/floor/tiled/freezer,/area/security/prison) "aMQ" = (/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) "aMR" = (/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)