diff --git a/code/datums/supplypacks/medical.dm b/code/datums/supplypacks/medical.dm index 1b7207069e9..b4d51ed1b53 100644 --- a/code/datums/supplypacks/medical.dm +++ b/code/datums/supplypacks/medical.dm @@ -90,7 +90,7 @@ /datum/supply_packs/med/sterile name = "Sterile equipment crate" contains = list( - /obj/item/clothing/under/rank/medical/green = 2, + /obj/item/clothing/under/rank/medical/scrubs/green = 2, /obj/item/clothing/head/surgery/green = 2, /obj/item/weapon/storage/box/masks, /obj/item/weapon/storage/box/gloves, @@ -188,8 +188,8 @@ contains = list( /obj/item/weapon/storage/belt/medical/emt, /obj/item/device/radio/headset/headset_med, - /obj/item/clothing/under/rank/medical/black, - /obj/item/clothing/accessory/armband/medgreen, + /obj/item/clothing/under/rank/medical/scrubs/black, + /obj/item/clothing/accessory/armband/medblue, /obj/item/clothing/glasses/hud/health, /obj/item/clothing/suit/storage/toggle/labcoat/emt, /obj/item/clothing/under/rank/medical/paramedic, @@ -234,10 +234,10 @@ name = "Medical scrubs" contains = list( /obj/item/clothing/shoes/white = 3,, - /obj/item/clothing/under/rank/medical/blue = 3, - /obj/item/clothing/under/rank/medical/green = 3, - /obj/item/clothing/under/rank/medical/purple = 3, - /obj/item/clothing/under/rank/medical/black = 3, + /obj/item/clothing/under/rank/medical/scrubs = 3, + /obj/item/clothing/under/rank/medical/scrubs/green = 3, + /obj/item/clothing/under/rank/medical/scrubs/purple = 3, + /obj/item/clothing/under/rank/medical/scrubs/black = 3, /obj/item/clothing/head/surgery = 3, /obj/item/clothing/head/surgery/purple = 3, /obj/item/clothing/head/surgery/blue = 3, diff --git a/code/defines/gases.dm b/code/defines/gases.dm index 74cb0d93797..14b5e3a7c0b 100644 --- a/code/defines/gases.dm +++ b/code/defines/gases.dm @@ -51,3 +51,4 @@ tile_overlay = "sleeping_agent" overlay_limit = 1 + flags = XGM_GAS_OXIDIZER \ No newline at end of file diff --git a/code/game/gamemodes/technomancer/instability.dm b/code/game/gamemodes/technomancer/instability.dm index b8c64e9aaa5..7904b5cb6c4 100644 --- a/code/game/gamemodes/technomancer/instability.dm +++ b/code/game/gamemodes/technomancer/instability.dm @@ -274,8 +274,6 @@ L.receive_radiated_instability(outgoing_instability) - set_light(distance, distance * 4, l_color = "#660066") // #C26DDE - // This should only be used for EXTERNAL sources of instability, such as from someone or something glowing. /mob/living/proc/receive_radiated_instability(amount) // Energy armor like from the AMI RIG can protect from this. diff --git a/code/game/jobs/job/medical.dm b/code/game/jobs/job/medical.dm index 589abbc0bc0..11cc55e24b5 100644 --- a/code/game/jobs/job/medical.dm +++ b/code/game/jobs/job/medical.dm @@ -69,7 +69,7 @@ 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/under/rank/medical/scrubs(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")) @@ -92,7 +92,7 @@ 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/purple(H), slot_w_uniform) + H.equip_to_slot_or_del(new /obj/item/clothing/under/rank/medical/scrubs/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) @@ -231,7 +231,7 @@ 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/under/rank/medical/scrubs(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) diff --git a/code/game/machinery/computer/ai_core.dm b/code/game/machinery/computer/ai_core.dm index 80633f4ea44..5c7ece8d05e 100644 --- a/code/game/machinery/computer/ai_core.dm +++ b/code/game/machinery/computer/ai_core.dm @@ -176,6 +176,8 @@ var/mob/living/silicon/ai/A = new /mob/living/silicon/ai ( loc, laws, brain ) if(A) //if there's no brain, the mob is deleted and a structure/AIcore is created A.rename_self("ai", 1) + for(var/datum/language/L in brain.brainmob.languages) + A.add_language(L.name) feedback_inc("cyborg_ais_created",1) qdel(src) diff --git a/code/game/objects/items/robot/robot_parts.dm b/code/game/objects/items/robot/robot_parts.dm index ebdd95791de..f113e5f1530 100644 --- a/code/game/objects/items/robot/robot_parts.dm +++ b/code/game/objects/items/robot/robot_parts.dm @@ -208,6 +208,9 @@ O.job = "Cyborg" + for(var/datum/language/L in M.brainmob.languages) + O.add_language(L.name) + O.cell = chest.cell O.cell.loc = O W.loc = O//Should fix cybros run time erroring when blown up. It got deleted before, along with the frame. diff --git a/code/game/objects/items/stacks/tiles/tile_types.dm b/code/game/objects/items/stacks/tiles/tile_types.dm index 3a5505b10ba..a670d7dd279 100644 --- a/code/game/objects/items/stacks/tiles/tile_types.dm +++ b/code/game/objects/items/stacks/tiles/tile_types.dm @@ -84,7 +84,6 @@ desc = "A piece of blue carpet. It is the same size as a normal floor tile!" icon_state = "tile-bluecarpet" -// VOREStation Edit // TODO - Add descriptions to these /obj/item/stack/tile/carpet/bcarpet icon_state = "tile-carpet" @@ -100,7 +99,6 @@ icon_state = "tile-carpet" /obj/item/stack/tile/carpet/oracarpet icon_state = "tile-carpet" -// VOREStation Edit End /obj/item/stack/tile/floor name = "floor tile" @@ -187,4 +185,4 @@ throwforce = 1.0 throw_speed = 5 throw_range = 20 - flags = 0 \ No newline at end of file + flags = 0 diff --git a/code/game/objects/items/weapons/policetape.dm b/code/game/objects/items/weapons/policetape.dm index cb6a982231e..ce0ee6b5e7c 100644 --- a/code/game/objects/items/weapons/policetape.dm +++ b/code/game/objects/items/weapons/policetape.dm @@ -59,6 +59,18 @@ var/list/tape_roll_applications = list() hazard_overlays["[WEST]"] = new/image('icons/effects/warning_stripes.dmi', icon_state = "W") update_icon() +/obj/item/taperoll/medical + name = "medical tape" + desc = "A roll of medical tape used to block off patients from the public." + tape_type = /obj/item/tape/medical + color = COLOR_WHITE + +/obj/item/tape/medical + name = "medical tape" + desc = "A length of medical tape. Do not cross." + req_access = list(access_medical) + color = COLOR_WHITE + /obj/item/taperoll/police name = "police tape" desc = "A roll of police tape used to block off crime scenes from the public." @@ -339,4 +351,4 @@ var/list/tape_roll_applications = list() qdel(T) qdel(src) //TODO: Dropping a trash item holding fibers/fingerprints of all broken tape parts - return \ No newline at end of file + return diff --git a/code/game/objects/structures/crates_lockers/closets/fitness.dm b/code/game/objects/structures/crates_lockers/closets/fitness.dm index 8dbc0e609d7..4e31b9e05c7 100644 --- a/code/game/objects/structures/crates_lockers/closets/fitness.dm +++ b/code/game/objects/structures/crates_lockers/closets/fitness.dm @@ -17,6 +17,8 @@ new /obj/item/clothing/under/swimsuit/green(src) new /obj/item/clothing/under/swimsuit/purple(src) new /obj/item/clothing/under/swimsuit/striped(src) + new /obj/item/clothing/under/swimsuit/white(src) + new /obj/item/clothing/under/swimsuit/earth(src) //Maybe at some point make it randomly choose swimsuits, so that it doesn't overflow as we add more. new /obj/item/clothing/mask/snorkel(src) new /obj/item/clothing/mask/snorkel(src) new /obj/item/clothing/shoes/swimmingfins(src) diff --git a/code/game/objects/structures/crates_lockers/closets/secure/medical.dm b/code/game/objects/structures/crates_lockers/closets/secure/medical.dm index bc89ab7f85c..92bc2ab4699 100644 --- a/code/game/objects/structures/crates_lockers/closets/secure/medical.dm +++ b/code/game/objects/structures/crates_lockers/closets/secure/medical.dm @@ -72,35 +72,35 @@ new /obj/item/clothing/head/nursehat (src) switch(pick("blue", "green", "purple", "black", "navyblue")) if ("blue") - new /obj/item/clothing/under/rank/medical/blue(src) + new /obj/item/clothing/under/rank/medical/scrubs(src) new /obj/item/clothing/head/surgery/blue(src) if ("green") - new /obj/item/clothing/under/rank/medical/green(src) + new /obj/item/clothing/under/rank/medical/scrubs/green(src) new /obj/item/clothing/head/surgery/green(src) if ("purple") - new /obj/item/clothing/under/rank/medical/purple(src) + new /obj/item/clothing/under/rank/medical/scrubs/purple(src) new /obj/item/clothing/head/surgery/purple(src) if ("black") - new /obj/item/clothing/under/rank/medical/black(src) + new /obj/item/clothing/under/rank/medical/scrubs/black(src) new /obj/item/clothing/head/surgery/black(src) if ("navyblue") - new /obj/item/clothing/under/rank/medical/navyblue(src) + new /obj/item/clothing/under/rank/medical/scrubs/navyblue(src) new /obj/item/clothing/head/surgery/navyblue(src) switch(pick("blue", "green", "purple", "black", "navyblue")) if ("blue") - new /obj/item/clothing/under/rank/medical/blue(src) + new /obj/item/clothing/under/rank/medical/scrubs(src) new /obj/item/clothing/head/surgery/blue(src) if ("green") - new /obj/item/clothing/under/rank/medical/green(src) + new /obj/item/clothing/under/rank/medical/scrubs/green(src) new /obj/item/clothing/head/surgery/green(src) if ("purple") - new /obj/item/clothing/under/rank/medical/purple(src) + new /obj/item/clothing/under/rank/medical/scrubs/purple(src) new /obj/item/clothing/head/surgery/purple(src) if ("black") - new /obj/item/clothing/under/rank/medical/black(src) + new /obj/item/clothing/under/rank/medical/scrubs/black(src) new /obj/item/clothing/head/surgery/black(src) if ("navyblue") - new /obj/item/clothing/under/rank/medical/navyblue(src) + new /obj/item/clothing/under/rank/medical/scrubs/navyblue(src) new /obj/item/clothing/head/surgery/navyblue(src) new /obj/item/clothing/under/rank/medical(src) new /obj/item/clothing/under/rank/nurse(src) @@ -154,6 +154,7 @@ new /obj/item/weapon/extinguisher/mini(src) new /obj/item/weapon/storage/box/freezer(src) new /obj/item/clothing/accessory/storage/white_vest(src) + new /obj/item/taperoll/medical(src) return /obj/structure/closet/secure_closet/CMO @@ -179,19 +180,19 @@ new /obj/item/clothing/shoes/white(src) switch(pick("blue", "green", "purple", "black", "navyblue")) if ("blue") - new /obj/item/clothing/under/rank/medical/blue(src) + new /obj/item/clothing/under/rank/medical/scrubs(src) new /obj/item/clothing/head/surgery/blue(src) if ("green") - new /obj/item/clothing/under/rank/medical/green(src) + new /obj/item/clothing/under/rank/medical/scrubs/green(src) new /obj/item/clothing/head/surgery/green(src) if ("purple") - new /obj/item/clothing/under/rank/medical/purple(src) + new /obj/item/clothing/under/rank/medical/scrubs/purple(src) new /obj/item/clothing/head/surgery/purple(src) if ("black") - new /obj/item/clothing/under/rank/medical/black(src) + new /obj/item/clothing/under/rank/medical/scrubs/black(src) new /obj/item/clothing/head/surgery/black(src) if ("navyblue") - new /obj/item/clothing/under/rank/medical/navyblue(src) + new /obj/item/clothing/under/rank/medical/scrubs/navyblue(src) new /obj/item/clothing/head/surgery/navyblue(src) new /obj/item/clothing/under/rank/chief_medical_officer(src) new /obj/item/clothing/under/rank/chief_medical_officer/skirt(src) @@ -208,6 +209,7 @@ new /obj/item/clothing/shoes/boots/winter/medical(src) new /obj/item/weapon/storage/box/freezer(src) new /obj/item/clothing/mask/gas(src) + new /obj/item/taperoll/medical(src) return diff --git a/code/game/objects/structures/crates_lockers/closets/secure/security.dm b/code/game/objects/structures/crates_lockers/closets/secure/security.dm index 28fc29ec2fb..750a0e1b653 100644 --- a/code/game/objects/structures/crates_lockers/closets/secure/security.dm +++ b/code/game/objects/structures/crates_lockers/closets/secure/security.dm @@ -256,7 +256,7 @@ New() ..() - new /obj/item/clothing/accessory/armband/medgreen(src) + new /obj/item/clothing/accessory/armband/medblue(src) new /obj/item/device/encryptionkey/headset_med(src) return diff --git a/code/game/objects/structures/crates_lockers/closets/wardrobe.dm b/code/game/objects/structures/crates_lockers/closets/wardrobe.dm index d33927457fd..ccba4752590 100644 --- a/code/game/objects/structures/crates_lockers/closets/wardrobe.dm +++ b/code/game/objects/structures/crates_lockers/closets/wardrobe.dm @@ -475,11 +475,11 @@ new /obj/item/clothing/under/rank/medical(src) new /obj/item/clothing/under/rank/medical/skirt(src) new /obj/item/clothing/under/rank/medical/skirt(src) - new /obj/item/clothing/under/rank/medical/blue(src) - new /obj/item/clothing/under/rank/medical/green(src) - new /obj/item/clothing/under/rank/medical/purple(src) - new /obj/item/clothing/under/rank/medical/black(src) - new /obj/item/clothing/under/rank/medical/navyblue(src) + new /obj/item/clothing/under/rank/medical/scrubs(src) + new /obj/item/clothing/under/rank/medical/scrubs/green(src) + new /obj/item/clothing/under/rank/medical/scrubs/purple(src) + new /obj/item/clothing/under/rank/medical/scrubs/black(src) + new /obj/item/clothing/under/rank/medical/scrubs/navyblue(src) new /obj/item/clothing/head/surgery/navyblue(src) new /obj/item/clothing/head/surgery/purple(src) new /obj/item/clothing/head/surgery/blue(src) diff --git a/code/modules/client/preference_setup/loadout/loadout_accessories.dm b/code/modules/client/preference_setup/loadout/loadout_accessories.dm index 9c831e7dfcc..bbae19a02a7 100644 --- a/code/modules/client/preference_setup/loadout/loadout_accessories.dm +++ b/code/modules/client/preference_setup/loadout/loadout_accessories.dm @@ -10,7 +10,7 @@ /datum/gear/accessory/emt display_name = "armband, EMT" - path = /obj/item/clothing/accessory/armband/medgreen + path = /obj/item/clothing/accessory/armband/medblue /datum/gear/accessory/engineering display_name = "armband, engineering" diff --git a/code/modules/client/preference_setup/loadout/loadout_uniform.dm b/code/modules/client/preference_setup/loadout/loadout_uniform.dm index 30b0a74f70f..9edc5e81a1d 100644 --- a/code/modules/client/preference_setup/loadout/loadout_uniform.dm +++ b/code/modules/client/preference_setup/loadout/loadout_uniform.dm @@ -240,26 +240,18 @@ path = /obj/item/clothing/under/rank/bartender/skirt allowed_roles = list("Bartender") -/datum/gear/uniform/scrubs - display_name = "scrubs, black" - path = /obj/item/clothing/under/rank/medical/black +/datum/gear/uniform/scrub + display_name = "scrubs selection" + path = /obj/item/clothing/under/rank/medical/scrubs allowed_roles = list("Medical Doctor","Chief Medical Officer","Chemist","Paramedic","Geneticist", "Roboticist") -/datum/gear/uniform/scrubs/blue - display_name = "scrubs, blue" - path = /obj/item/clothing/under/rank/medical/blue - -/datum/gear/uniform/scrubs/purple - display_name = "scrubs, purple" - path = /obj/item/clothing/under/rank/medical/purple - -/datum/gear/uniform/scrubs/green - display_name = "scrubs, green" - path = /obj/item/clothing/under/rank/medical/green - -/datum/gear/uniform/scrubs/navyblue - display_name = "scrubs, navy blue" - path = /obj/item/clothing/under/rank/medical/navyblue +/datum/gear/uniform/scrub/New() + ..() + var/list/scrubs = list() + for(var/scrub in typesof(/obj/item/clothing/under/rank/medical/scrubs)) + var/obj/item/clothing/under/rank/medical/scrubs/scrub_type = scrub + scrubs[initial(scrub_type.name)] = scrub_type + gear_tweaks += new/datum/gear_tweak/path(sortAssoc(scrubs)) /datum/gear/uniform/oldwoman display_name = "old woman attire" @@ -375,7 +367,7 @@ /datum/gear/uniform/dresses/janimaid display_name = "maid uniform" path = /obj/item/clothing/under/dress/janimaid - + /datum/gear/uniform/dresses/sexymaid display_name = "sexy maid uniform" path = /obj/item/clothing/under/dress/sexymaid diff --git a/code/modules/client/ui_style.dm b/code/modules/client/ui_style.dm index e6e4ff6ddb5..d8d683d5d3c 100644 --- a/code/modules/client/ui_style.dm +++ b/code/modules/client/ui_style.dm @@ -6,7 +6,8 @@ "old" = 'icons/mob/screen/old.dmi', "White" = 'icons/mob/screen/white.dmi', "old-noborder" = 'icons/mob/screen/old-noborder.dmi', - "minimalist" = 'icons/mob/screen/minimalist.dmi' + "minimalist" = 'icons/mob/screen/minimalist.dmi', + "Hologram" = 'icons/mob/screen/holo.dmi' ) /var/all_ui_styles_robot = list( @@ -15,7 +16,8 @@ "old" = 'icons/mob/screen1_robot.dmi', "White" = 'icons/mob/screen1_robot.dmi', "old-noborder" = 'icons/mob/screen1_robot.dmi', - "minimalist" = 'icons/mob/screen1_robot_minimalist.dmi' + "minimalist" = 'icons/mob/screen1_robot_minimalist.dmi', + "Hologram" = 'icons/mob/screen1_robot_minimalist.dmi' ) /proc/ui_style2icon(ui_style) diff --git a/code/modules/clothing/gloves/miscellaneous.dm b/code/modules/clothing/gloves/miscellaneous.dm index 0c20f376793..ea194e1a510 100644 --- a/code/modules/clothing/gloves/miscellaneous.dm +++ b/code/modules/clothing/gloves/miscellaneous.dm @@ -27,7 +27,7 @@ /obj/item/clothing/gloves/swat desc = "These tactical gloves are somewhat fire and impact-resistant." name = "\improper SWAT Gloves" - icon_state = "black" + icon_state = "swat" item_state = "swat" siemens_coefficient = 0.50 permeability_coefficient = 0.05 @@ -39,7 +39,7 @@ /obj/item/clothing/gloves/combat //Combined effect of SWAT gloves and insulated gloves desc = "These tactical gloves are somewhat fire and impact resistant." name = "combat gloves" - icon_state = "black" + icon_state = "swat" item_state = "swat" siemens_coefficient = 0 permeability_coefficient = 0.05 diff --git a/code/modules/clothing/under/accessories/armband.dm b/code/modules/clothing/under/accessories/armband.dm index 6856b29466e..3f53c443929 100644 --- a/code/modules/clothing/under/accessories/armband.dm +++ b/code/modules/clothing/under/accessories/armband.dm @@ -31,14 +31,14 @@ /obj/item/clothing/accessory/armband/med/cross name = "medic armband" - desc = "A white armband with a red cross on it. Typically used by people in the Medical department." + desc = "A white armband with a blue cross on it. Typically used by people in the Medical department." icon_state = "medicband" /obj/item/clothing/accessory/armband/med/color name = "armband" desc = "A fancy armband." -/obj/item/clothing/accessory/armband/medgreen +/obj/item/clothing/accessory/armband/medblue name = "EMT armband" - desc = "An armband, worn by the crew to display which department they're assigned to. This one is white and green." - icon_state = "medgreen" + desc = "An armband, worn by the crew to display which department they're assigned to. This one is white and blue." + icon_state = "medblue" diff --git a/code/modules/clothing/under/accessories/clothing.dm b/code/modules/clothing/under/accessories/clothing.dm index 61a0802fa09..dff0740ace1 100644 --- a/code/modules/clothing/under/accessories/clothing.dm +++ b/code/modules/clothing/under/accessories/clothing.dm @@ -179,6 +179,8 @@ name = "red sweatervest" icon_state = "sweatervest_red" +//Sweaters. + /obj/item/clothing/accessory/sweater name = "sweater" desc = "A warm knit sweater." @@ -197,7 +199,7 @@ /obj/item/clothing/accessory/sweater/mint name = "mint sweater" desc = "A warm knit sweater. This one has a minty tint to it." - icon_state = "mint_sweater" + icon_state = "sweater_mint" /obj/item/clothing/accessory/sweater/blue name = "blue sweater" diff --git a/code/modules/clothing/under/jobs/medsci.dm b/code/modules/clothing/under/jobs/medsci.dm index eeea6af3e97..7398efa44df 100644 --- a/code/modules/clothing/under/jobs/medsci.dm +++ b/code/modules/clothing/under/jobs/medsci.dm @@ -114,32 +114,32 @@ body_parts_covered = UPPER_TORSO|LOWER_TORSO|LEGS rolled_sleeves = -1 -/obj/item/clothing/under/rank/medical/blue //Why are these not /obj/item/clothing/under/rank/medical/scrubs/ ? - name = "medical scrubs" +/obj/item/clothing/under/rank/medical/scrubs + name = "blue scrubs" desc = "It's made of a special fiber that provides minor protection against biohazards. This one is in baby blue." icon_state = "scrubsblue" item_state_slots = list(slot_r_hand_str = "blue", slot_l_hand_str = "blue") -/obj/item/clothing/under/rank/medical/green - name = "medical scrubs" +/obj/item/clothing/under/rank/medical/scrubs/green + name = "green scrubs" desc = "It's made of a special fiber that provides minor protection against biohazards. This one is in dark green." icon_state = "scrubsgreen" item_state_slots = list(slot_r_hand_str = "green", slot_l_hand_str = "green") -/obj/item/clothing/under/rank/medical/purple - name = "medical scrubs" +/obj/item/clothing/under/rank/medical/scrubs/purple + name = "purple scrubs" desc = "It's made of a special fiber that provides minor protection against biohazards. This one is in deep purple." icon_state = "scrubspurple" item_state_slots = list(slot_r_hand_str = "purple", slot_l_hand_str = "purple") -/obj/item/clothing/under/rank/medical/black - name = "medical scrubs" +/obj/item/clothing/under/rank/medical/scrubs/black + name = "black scrubs" desc = "It's made of a special fiber that provides minor protection against biohazards. This one is in black." icon_state = "scrubsblack" item_state_slots = list(slot_r_hand_str = "black", slot_l_hand_str = "black") -/obj/item/clothing/under/rank/medical/navyblue - name = "medical scrubs" +/obj/item/clothing/under/rank/medical/scrubs/navyblue + name = "navy blue scrubs" desc = "It's made of a special fiber that provides minor protection against biohazards. This one is in navy blue." icon_state = "scrubsnavyblue" item_state_slots = list(slot_r_hand_str = "blue", slot_l_hand_str = "blue") diff --git a/code/modules/clothing/under/miscellaneous.dm b/code/modules/clothing/under/miscellaneous.dm index 0a4752c6394..9c8eb145826 100644 --- a/code/modules/clothing/under/miscellaneous.dm +++ b/code/modules/clothing/under/miscellaneous.dm @@ -532,7 +532,7 @@ /obj/item/clothing/under/cheongsam name = "white cheongsam" desc = "It is a white cheongsam dress." - icon_state = "mai_yang" + icon_state = "cheongsam-white" body_parts_covered = UPPER_TORSO|LOWER_TORSO|LEGS /obj/item/clothing/under/cheongsam/red @@ -550,6 +550,26 @@ desc = "It is a black cheongsam dress." icon_state = "cheongsam-black" +/obj/item/clothing/under/cheongsam/darkred + name = "dark red cheongsam" + desc = "It is a dark red cheongsam dress." + icon_state = "cheongsam-darkred" + +/obj/item/clothing/under/cheongsam/green + name = "green cheongsam" + desc = "It is a green cheongsam dress." + icon_state = "cheongsam-green" + +/obj/item/clothing/under/cheongsam/purple + name = "purple cheongsam" + desc = "It is a purple cheongsam dress." + icon_state = "cheongsam-purple" + +/obj/item/clothing/under/cheongsam/darkblue + name = "dark blue cheongsam" + desc = "It is a dark blue cheongsam dress." + icon_state = "cheongsam-darkblue" + /obj/item/clothing/under/blazer name = "blue blazer" desc = "A bold but yet conservative outfit, red corduroys, navy blazer and a tie." @@ -661,6 +681,32 @@ name = "striped swimsuit" desc = "A more revealing striped swimsuit." icon_state = "swim_striped" + +/obj/item/clothing/under/swimsuit/white + name = "white swimsuit" + desc = "A classic one piece." + icon_state = "swim_white" + +/obj/item/clothing/under/swimsuit/earth + name = "earthen swimsuit" + desc = "A design more popular on Earth these days." + icon_state = "swim_earth" + +/obj/item/clothing/under/swimsuit/stripper/stripper_pink + name = "pink swimsuit" + desc = "A rather skimpy pink swimsuit." + icon_state = "stripper_p" + +/obj/item/clothing/under/swimsuit/stripper/stripper_green + name = "green swimsuit" + desc = "A rather skimpy green swimsuit." + icon_state = "stripper_g" + +/obj/item/clothing/under/swimsuit/stripper/mankini + name = "mankini" + desc = "No honest man would wear this abomination" + icon_state = "mankini" + /* * pyjamas */ @@ -678,27 +724,6 @@ item_state_slots = list(slot_r_hand_str = "red", slot_l_hand_str = "red") body_parts_covered = UPPER_TORSO|LOWER_TORSO|ARMS|LEGS -/obj/item/clothing/under/stripper - body_parts_covered = 0 - -/obj/item/clothing/under/stripper/stripper_pink - name = "pink swimsuit" - desc = "A rather skimpy pink swimsuit." - icon_state = "stripper_p" - siemens_coefficient = 1 - -/obj/item/clothing/under/stripper/stripper_green - name = "green swimsuit" - desc = "A rather skimpy green swimsuit." - icon_state = "stripper_g" - siemens_coefficient = 1 - -/obj/item/clothing/under/stripper/mankini - name = "mankini" - desc = "No honest man would wear this abomination" - icon_state = "mankini" - siemens_coefficient = 1 - /* *Misc Uniforms */ @@ -770,9 +795,17 @@ icon_state = "turtleneck" worn_state = "turtleneck" +//Uniforms end above here. + /obj/item/clothing/under/medigown name = "medical gown" desc = "A flimsy examination gown, the back ties never close." icon_state = "medicalgown" worn_state = "medicalgown" body_parts_covered = UPPER_TORSO|LOWER_TORSO + +/obj/item/clothing/under/bathrobe + name = "bathrobe" + desc = "A fluffy robe to keep you from showing off to the world." + icon_state = "bathrobe" + worn_state = "bathrobe" \ No newline at end of file diff --git a/code/modules/mob/language/generic.dm b/code/modules/mob/language/generic.dm index ce0abbb9486..fb63092d7fa 100644 --- a/code/modules/mob/language/generic.dm +++ b/code/modules/mob/language/generic.dm @@ -120,4 +120,8 @@ signlang_verb = list("gestures") colour = "say_quote" key = "s" - flags = SIGNLANG|NO_STUTTER|NONVERBAL \ No newline at end of file + flags = SIGNLANG|NO_STUTTER|NONVERBAL + +/datum/language/sign/can_speak_special(var/mob/speaker) + var/obj/item/organ/external/hand/hands = locate() in speaker //you can't sign without hands + return (hands || !iscarbon(speaker)) diff --git a/code/modules/mob/living/carbon/brain/MMI.dm b/code/modules/mob/living/carbon/brain/MMI.dm index d3cab940074..344745673aa 100644 --- a/code/modules/mob/living/carbon/brain/MMI.dm +++ b/code/modules/mob/living/carbon/brain/MMI.dm @@ -177,6 +177,7 @@ /obj/item/device/mmi/digital/New() src.brainmob = new(src) src.brainmob.add_language("Robot Talk") + src.brainmob.add_language(LANGUAGE_GALCOM) src.brainmob.add_language(LANGUAGE_EAL) src.brainmob.loc = src src.brainmob.container = src diff --git a/code/modules/mob/living/carbon/brain/brain.dm b/code/modules/mob/living/carbon/brain/brain.dm index af4093688b2..aad80373d81 100644 --- a/code/modules/mob/living/carbon/brain/brain.dm +++ b/code/modules/mob/living/carbon/brain/brain.dm @@ -58,7 +58,7 @@ return canmove /mob/living/carbon/brain/isSynthetic() - return istype(loc, /obj/item/device/mmi/digital) + return istype(loc, /obj/item/device/mmi) /mob/living/carbon/brain/binarycheck() return isSynthetic() diff --git a/code/modules/mob/living/life.dm b/code/modules/mob/living/life.dm index 330adf8ddc6..29bb1680b4b 100644 --- a/code/modules/mob/living/life.dm +++ b/code/modules/mob/living/life.dm @@ -12,6 +12,8 @@ handle_modifiers() // Do this early since it might affect other things later. + handle_light() + if(stat != DEAD) //Breathing, if applicable handle_breathing() @@ -191,3 +193,19 @@ /mob/living/proc/handle_hud_icons_health() return + +/mob/living/proc/handle_light() + if(instability >= TECHNOMANCER_INSTABILITY_MIN_GLOW) + var/distance = round(sqrt(instability / 2)) + if(distance) + set_light(distance, distance * 4, l_color = "#660066") + return TRUE + + else if(on_fire) + set_light(light_range + 3, round(fire_stacks), l_color = "#FF9933") + return TRUE + + else + set_light(0) + return FALSE + diff --git a/code/modules/mob/living/living_defense.dm b/code/modules/mob/living/living_defense.dm index 069630a49ab..2eb3919ff81 100644 --- a/code/modules/mob/living/living_defense.dm +++ b/code/modules/mob/living/living_defense.dm @@ -310,14 +310,14 @@ /mob/living/proc/IgniteMob() if(fire_stacks > 0 && !on_fire) on_fire = 1 - set_light(light_range + 3) + handle_light() update_fire() /mob/living/proc/ExtinguishMob() if(on_fire) on_fire = 0 fire_stacks = 0 - set_light(max(0, light_range - 3)) + handle_light() update_fire() /mob/living/proc/update_fire() diff --git a/code/modules/mob/living/silicon/robot/life.dm b/code/modules/mob/living/silicon/robot/life.dm index db8d7b2ead6..c35fb17ece0 100644 --- a/code/modules/mob/living/silicon/robot/life.dm +++ b/code/modules/mob/living/silicon/robot/life.dm @@ -12,6 +12,8 @@ handle_regular_status_updates() handle_actions() handle_instability() + // For some reason borg Life() doesn't call ..() + handle_light() if(client) handle_regular_hud_updates() @@ -347,3 +349,10 @@ /mob/living/silicon/robot/fire_act() if(!on_fire) //Silicons don't gain stacks from hotspots, but hotspots can ignite them IgniteMob() + +/mob/living/silicon/robot/handle_light() + . = ..() + if(. == FALSE) // If no other light sources are on. + if(lights_on) + set_light(integrated_light_power, 1, "#FFFFFF") + return TRUE diff --git a/code/modules/mob/living/silicon/robot/robot.dm b/code/modules/mob/living/silicon/robot/robot.dm index a6e0140b41a..c690e082257 100644 --- a/code/modules/mob/living/silicon/robot/robot.dm +++ b/code/modules/mob/living/silicon/robot/robot.dm @@ -102,6 +102,7 @@ spark_system.attach(src) add_language("Robot Talk", 1) + add_language(LANGUAGE_GALCOM, 1) add_language(LANGUAGE_EAL, 1) wires = new(src) @@ -219,6 +220,12 @@ var/turf/T = get_turf(loc)//To hopefully prevent run time errors. if(T) mmi.loc = T if(mmi.brainmob) + var/obj/item/weapon/robot_module/M = locate() in contents + if(M) + mmi.brainmob.languages = M.original_languages + else + mmi.brainmob.languages = languages + mmi.brainmob.remove_language("Robot Talk") mind.transfer_to(mmi.brainmob) else src << "Oops! Something went very wrong, your MMI was unable to receive your mind. You have been ghosted. Please make a bug report so we can fix this bug." @@ -347,10 +354,7 @@ lights_on = !lights_on usr << "You [lights_on ? "enable" : "disable"] your integrated light." - if(lights_on) - set_light(integrated_light_power) // 1.5x luminosity of flashlight - else - set_light(0) + handle_light() /mob/living/silicon/robot/verb/self_diagnosis_verb() set category = "Robot Commands" diff --git a/code/modules/mob/living/silicon/silicon.dm b/code/modules/mob/living/silicon/silicon.dm index b74b7d6cf79..84aa81af69a 100644 --- a/code/modules/mob/living/silicon/silicon.dm +++ b/code/modules/mob/living/silicon/silicon.dm @@ -232,7 +232,7 @@ default_str = " - set default" var/synth = (L in speech_synthesizer_langs) - dat += "[L.name] (:[L.key])[synth ? default_str : null]
Speech Synthesizer: [synth ? "YES" : "NOT SUPPORTED"]
[L.desc]

" + dat += "[L.name] ([get_language_prefix()][L.key])[synth ? default_str : null]
Speech Synthesizer: [synth ? "YES" : "NOT SUPPORTED"]
[L.desc]

" src << browse(dat, "window=checklanguage") return diff --git a/code/modules/mob/living/simple_animal/animals/mouse.dm b/code/modules/mob/living/simple_animal/animals/mouse.dm index 9f7ed309bac..1b8f439f50c 100644 --- a/code/modules/mob/living/simple_animal/animals/mouse.dm +++ b/code/modules/mob/living/simple_animal/animals/mouse.dm @@ -96,7 +96,7 @@ if(!stat) var/mob/M = AM M << "\icon[src] Squeek!" - M << 'sound/effects/mouse_squeak_loud.ogg' + M << 'sound/effects/mouse_squeak.ogg' ..() /mob/living/simple_animal/mouse/death() diff --git a/code/modules/mob/living/simple_animal/animals/spiderbot.dm b/code/modules/mob/living/simple_animal/animals/spiderbot.dm index fbbebff0817..57f0351d9a0 100644 --- a/code/modules/mob/living/simple_animal/animals/spiderbot.dm +++ b/code/modules/mob/living/simple_animal/animals/spiderbot.dm @@ -150,6 +150,7 @@ src.mind.key = M.brainmob.key src.ckey = M.brainmob.ckey src.name = "spider-bot ([M.brainmob.name])" + src.languages = M.brainmob.languages /mob/living/simple_animal/spiderbot/proc/explode() //When emagged. src.visible_message("\The [src] makes an odd warbling noise, fizzles, and explodes!") diff --git a/code/modules/mob/living/simple_animal/slime/slime.dm b/code/modules/mob/living/simple_animal/slime/slime.dm index e6487884974..b1179bb3eac 100644 --- a/code/modules/mob/living/simple_animal/slime/slime.dm +++ b/code/modules/mob/living/simple_animal/slime/slime.dm @@ -34,6 +34,7 @@ max_n2 = 0 unsuitable_atoms_damage = 0 + response_help = "pets" speak = list( "Blorp...", diff --git a/code/modules/mob/new_player/sprite_accessories.dm b/code/modules/mob/new_player/sprite_accessories.dm index 470b4e1a008..5a46c27fa2f 100644 --- a/code/modules/mob/new_player/sprite_accessories.dm +++ b/code/modules/mob/new_player/sprite_accessories.dm @@ -703,7 +703,7 @@ name = "Dwarf Beard" icon_state = "facial_dwarf" - threeOclock + threeOclock name = "3 O'clock Shadow" icon_state = "facial_3oclock" diff --git a/code/modules/mob/transform_procs.dm b/code/modules/mob/transform_procs.dm index da4b79e33a0..bd126614378 100644 --- a/code/modules/mob/transform_procs.dm +++ b/code/modules/mob/transform_procs.dm @@ -77,6 +77,11 @@ else O.key = key + if(O.client && O.client.prefs) + var/datum/preferences/B = O.client.prefs + for(var/language in B.alternate_languages) + O.add_language(language) + if(move) var/obj/loc_landmark for(var/obj/effect/landmark/start/sloc in landmarks_list) @@ -154,6 +159,11 @@ O.mmi.transfer_identity(src) + if(O.client && O.client.prefs) + var/datum/preferences/B = O.client.prefs + for(var/language in B.alternate_languages) + O.add_language(language) + callHook("borgify", list(O)) O.Namepick() diff --git a/code/modules/organs/internal/brain.dm b/code/modules/organs/internal/brain.dm index e0809e32b59..77ead516c3c 100644 --- a/code/modules/organs/internal/brain.dm +++ b/code/modules/organs/internal/brain.dm @@ -82,6 +82,8 @@ if(H.mind) H.mind.transfer_to(brainmob) + brainmob.languages = H.languages + brainmob << "You feel slightly disoriented. That's normal when you're just \a [initial(src.name)]." callHook("debrain", list(brainmob)) diff --git a/code/modules/organs/subtypes/machine.dm b/code/modules/organs/subtypes/machine.dm index 45b0b8be284..439e9f7b2e8 100644 --- a/code/modules/organs/subtypes/machine.dm +++ b/code/modules/organs/subtypes/machine.dm @@ -62,6 +62,8 @@ stored_mmi.icon_state = "mmi_full" icon_state = stored_mmi.icon_state + stored_mmi.brainmob.languages = owner.languages + if(owner && owner.stat == DEAD) owner.stat = 0 dead_mob_list -= owner @@ -91,6 +93,8 @@ stored_mmi.icon_state = "posibrain-occupied" icon_state = stored_mmi.icon_state + stored_mmi.brainmob.languages = owner.languages + /obj/item/organ/internal/mmi_holder/robot name = "digital brain interface" brain_type = /obj/item/device/mmi/digital/robot @@ -99,4 +103,6 @@ /obj/item/organ/internal/mmi_holder/robot/update_from_mmi() ..() stored_mmi.icon_state = "mainboard" - icon_state = stored_mmi.icon_state \ No newline at end of file + icon_state = stored_mmi.icon_state + + stored_mmi.brainmob.languages = owner.languages diff --git a/code/modules/reagents/Chemistry-Reagents/Chemistry-Reagents-Food-Drinks.dm b/code/modules/reagents/Chemistry-Reagents/Chemistry-Reagents-Food-Drinks.dm index 8cfb1b5e938..7e0ee4ffb40 100644 --- a/code/modules/reagents/Chemistry-Reagents/Chemistry-Reagents-Food-Drinks.dm +++ b/code/modules/reagents/Chemistry-Reagents/Chemistry-Reagents-Food-Drinks.dm @@ -1958,7 +1958,7 @@ druggy = 30 glass_name = "Manhattan Project" - glass_desc = "A scienitst drink of choice, for thinking how to blow up the station." + glass_desc = "A scientist's drink of choice, for thinking how to blow up the station." /datum/reagent/ethanol/manly_dorf name = "The Manly Dorf" @@ -2277,7 +2277,7 @@ description = "Alcohol in more alcohol." taste_description = "thick, dry alcohol" color = "#FFFF7F" - strength = 15 + strength = 12 nutriment_factor = 1 glass_name = "Sake Bomb" @@ -2401,7 +2401,7 @@ description = "From Shelf. Not for human consumption." taste_description = "oily bitterness" color = "#d3d3d3" - strength = 36 + strength = 32 glass_name = "Debugger" glass_desc = "From Shelf. Not for human consumption." diff --git a/code/modules/reagents/Chemistry-Reagents/Chemistry-Reagents-Medicine.dm b/code/modules/reagents/Chemistry-Reagents/Chemistry-Reagents-Medicine.dm index ebc3650ee54..a5fcab44308 100644 --- a/code/modules/reagents/Chemistry-Reagents/Chemistry-Reagents-Medicine.dm +++ b/code/modules/reagents/Chemistry-Reagents/Chemistry-Reagents-Medicine.dm @@ -672,3 +672,25 @@ if(dose > 10) M.make_dizzy(5) M.make_jittery(5) + +/datum/reagent/qerr_quem + name = "Qerr-quem" + id = "querr_quem" + description = "A potent stimulant and anti-anxiety medication, made for the Qerr-Katish." + taste_description = "mint" + reagent_state = LIQUID + color = "#e6efe3" + metabolism = 0.01 + mrate_static = TRUE + data = 0 + +/datum/reagent/qerr_quem/affect_blood(var/mob/living/carbon/M, var/alien, var/removed) + if(alien == IS_DIONA) + return + if(volume <= 0.1 && data != -1) + data = -1 + to_chat(M, "You feel antsy, your concentration wavers...") + else + if(world.time > data + ANTIDEPRESSANT_MESSAGE_DELAY) + data = world.time + to_chat(M, "You feel invigorated and calm.") \ No newline at end of file diff --git a/code/modules/reagents/Chemistry-Reagents/Chemistry-Reagents-Toxins.dm b/code/modules/reagents/Chemistry-Reagents/Chemistry-Reagents-Toxins.dm index 0bb6b223abc..300bdc07fde 100644 --- a/code/modules/reagents/Chemistry-Reagents/Chemistry-Reagents-Toxins.dm +++ b/code/modules/reagents/Chemistry-Reagents/Chemistry-Reagents-Toxins.dm @@ -14,6 +14,9 @@ /datum/reagent/toxin/affect_blood(var/mob/living/carbon/M, var/alien, var/removed) if(strength && alien != IS_DIONA) if(issmall(M)) removed *= 2 // Small bodymass, more effect from lower volume. + if(alien == IS_SLIME) + removed *= 0.25 // Results in half the standard tox as normal. Prometheans are 'Small' for flaps. + M.nutrition += strength * removed M.adjustToxLoss(strength * removed) /datum/reagent/toxin/plasticide @@ -66,7 +69,7 @@ return T.assume_gas("phoron", ceil(volume/2), T20C) for(var/turf/simulated/floor/target_tile in range(0,T)) - target_tile.assume_gas("volatile_fuel", volume/2, 400+T0C) + target_tile.assume_gas("phoron", volume/2, 400+T0C) spawn (0) target_tile.hotspot_expose(700, 400) remove_self(volume) @@ -358,11 +361,18 @@ /datum/reagent/slimejelly/affect_blood(var/mob/living/carbon/M, var/alien, var/removed) if(alien == IS_DIONA) return - if(prob(10)) - M << "Your insides are burning!" - M.adjustToxLoss(rand(100, 300) * removed) - else if(prob(40)) - M.heal_organ_damage(25 * removed, 0) + if(alien == IS_SLIME) //Partially made of the stuff. Why would it hurt them? + if(prob(75)) + M.heal_overall_damage(25 * removed, 25 * removed) + M.adjustToxLoss(rand(-30, -10) * removed) + M.druggy = max(M.druggy, 10) + M.add_chemical_effect(CE_PAINKILLER, 60) + else + if(prob(10)) + M << "Your insides are burning!" + M.adjustToxLoss(rand(100, 300) * removed) + else if(prob(40)) + M.heal_organ_damage(25 * removed, 0) /datum/reagent/soporific name = "Soporific" @@ -382,6 +392,9 @@ if(alien == IS_SKRELL) threshold = 1.2 + if(alien == IS_SLIME) + threshold = 6 //Evens to 3 due to the fact they are considered 'small' for flaps. + var/effective_dose = dose if(issmall(M)) effective_dose *= 2 @@ -396,7 +409,15 @@ M.Weaken(2) M.drowsyness = max(M.drowsyness, 20) else - M.sleeping = max(M.sleeping, 20) + if(alien == IS_SLIME) //They don't have eyes, and they don't really 'sleep'. Fumble their general senses. + M.eye_blurry = max(M.eye_blurry, 30) + if(prob(20)) + M.ear_deaf = max(M.ear_deaf, 4) + M.Confuse(2) + else + M.Weaken(2) + else + M.sleeping = max(M.sleeping, 20) M.drowsyness = max(M.drowsyness, 60) /datum/reagent/chloralhydrate @@ -418,6 +439,9 @@ if(alien == IS_SKRELL) threshold = 1.2 + if(alien == IS_SLIME) + threshold = 6 //Evens to 3 due to the fact they are considered 'small' for flaps. + var/effective_dose = dose if(issmall(M)) effective_dose *= 2 @@ -429,7 +453,14 @@ M.Weaken(30) M.eye_blurry = max(M.eye_blurry, 10) else - M.sleeping = max(M.sleeping, 30) + if(alien == IS_SLIME) + if(prob(30)) + M.ear_deaf = max(M.ear_deaf, 4) + M.eye_blurry = max(M.eye_blurry, 60) + M.Weaken(30) + M.Confuse(40) + else + M.sleeping = max(M.sleeping, 30) if(effective_dose > 1 * threshold) M.adjustToxLoss(removed) @@ -471,6 +502,9 @@ if(alien == IS_SKRELL) drug_strength = drug_strength * 0.8 + if(alien == IS_SLIME) + drug_strength = drug_strength * 1.2 + M.druggy = max(M.druggy, drug_strength) if(prob(10) && isturf(M.loc) && !istype(M.loc, /turf/space) && M.canmove && !M.restrained()) step(M, pick(cardinal)) @@ -508,8 +542,13 @@ if(alien == IS_DIONA) return var/drug_strength = 4 + if(alien == IS_SKRELL) drug_strength = drug_strength * 0.8 + + if(alien == IS_SLIME) + drug_strength = drug_strength * 1.2 + M.make_dizzy(drug_strength) M.Confuse(drug_strength * 5) @@ -548,8 +587,13 @@ return var/drug_strength = 100 + if(alien == IS_SKRELL) drug_strength *= 0.8 + + if(alien == IS_SLIME) + drug_strength *= 1.2 + M.hallucination = max(M.hallucination, drug_strength) /datum/reagent/psilocybin @@ -569,6 +613,9 @@ if(alien == IS_SKRELL) threshold = 1.2 + if(alien == IS_SLIME) + threshold = 0.8 + M.druggy = max(M.druggy, 30) var/effective_dose = dose @@ -601,6 +648,33 @@ reagent_state = LIQUID color = "#181818" +/datum/reagent/talum_quem + name = "Talum-quem" + id = "talum_quem" + description = " A very carefully tailored hallucinogen, for use of the Talum-Katish." + taste_description = "bubblegum" + taste_mult = 1.6 + reagent_state = LIQUID + color = "#db2ed8" + metabolism = REM * 0.5 + overdose = REAGENTS_OVERDOSE + +datum/reagent/talum_quem/affect_blood(var/mob/living/carbon/M, var/alien, var/removed) + if(alien == IS_DIONA) + return + + var/drug_strength = 29 + if(alien == IS_SKRELL) + drug_strength = drug_strength * 0.8 + else + M.adjustToxLoss(10 * removed) //Given incorporations of other toxins with similiar damage, this seems right. + + M.druggy = max(M.druggy, drug_strength) + if(prob(10) && isturf(M.loc) && !istype(M.loc, /turf/space) && M.canmove && !M.restrained()) + step(M, pick(cardinal)) + if(prob(7)) + M.emote(pick("twitch", "drool", "moan", "giggle")) + /* Transformations */ /datum/reagent/slimetoxin diff --git a/code/modules/reagents/Chemistry-Recipes.dm b/code/modules/reagents/Chemistry-Recipes.dm index 5e38218ac08..1e4ae3710d3 100644 --- a/code/modules/reagents/Chemistry-Recipes.dm +++ b/code/modules/reagents/Chemistry-Recipes.dm @@ -2002,4 +2002,19 @@ /datum/chemical_reaction/deuterium/on_reaction(var/datum/reagents/holder, var/created_volume) var/turf/T = get_turf(holder.my_atom) if(istype(T)) new /obj/item/stack/material/deuterium(T, created_volume) - return \ No newline at end of file + return + +//Skrellian crap. +/datum/chemical_reaction/talum_quem + name = "Talum-quem" + id = "talum_quem" + result = "talum_quem" + required_reagents = list("space_drugs" = 2, "sugar" = 1, "amatoxin" = 1) + result_amount = 4 + +/datum/chemical_reaction/qerr_quem + name = "Qerr-quem" + id = "qerr_quem" + result = "qerr_quem" + required_reagents = list("nicotine" = 1, "carbon" = 1, "sugar" = 2) + result_amount = 4 \ No newline at end of file diff --git a/code/modules/surgery/robotics.dm b/code/modules/surgery/robotics.dm index 87e37e043e8..09db2e31465 100644 --- a/code/modules/surgery/robotics.dm +++ b/code/modules/surgery/robotics.dm @@ -421,6 +421,7 @@ if(M.brainmob && M.brainmob.mind) M.brainmob.mind.transfer_to(target) + target.languages = M.brainmob.languages spawn(0) //Name yourself on your own damn time var/new_name = "" diff --git a/code/modules/tables/interactions.dm b/code/modules/tables/interactions.dm index 1b287294b12..19764b29970 100644 --- a/code/modules/tables/interactions.dm +++ b/code/modules/tables/interactions.dm @@ -85,6 +85,8 @@ if(occupied) user << "There's \a [occupied] in the way." return + if(!user.Adjacent(M)) + return if (G.state < 2) if(user.a_intent == I_HURT) if (prob(15)) M.Weaken(5) @@ -106,9 +108,9 @@ else user << "You need a better grip to do that!" return - else - G.affecting.loc = src.loc - G.affecting.Weaken(5) + else if(G.state > GRAB_AGGRESSIVE || world.time >= (G.last_action + UPGRADE_COOLDOWN)) + M.forceMove(get_turf(src)) + M.Weaken(5) visible_message("[G.assailant] puts [G.affecting] on \the [src].") qdel(W) return diff --git a/html/changelogs/Belsima-HUD.yml b/html/changelogs/Belsima-HUD.yml new file mode 100644 index 00000000000..0972dc48bf6 --- /dev/null +++ b/html/changelogs/Belsima-HUD.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: Belsima + +# 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: + - imageadd: "Added a new holographic hud." diff --git a/html/changelogs/Belsima-Panel.yml b/html/changelogs/Belsima-Panel.yml new file mode 100644 index 00000000000..b01b2585c4d --- /dev/null +++ b/html/changelogs/Belsima-Panel.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: Belsima + +# 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: + - imageadd: "Replaced solar panel sprites." diff --git a/html/changelogs/Belsima-Skrellchems.yml b/html/changelogs/Belsima-Skrellchems.yml new file mode 100644 index 00000000000..ec0a58cfc43 --- /dev/null +++ b/html/changelogs/Belsima-Skrellchems.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: Belsima + +# 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: "Added Qerr-quem and Talum-quem, a pair of Skrellian drugs." diff --git a/html/changelogs/Cyantime-Tabling.yml b/html/changelogs/Cyantime-Tabling.yml new file mode 100644 index 00000000000..ebb8d00c11c --- /dev/null +++ b/html/changelogs/Cyantime-Tabling.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: Cyantime + +# 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: "Tabling now requires a completed aggressive grab." diff --git a/html/changelogs/PrismaticGynoid-forgottenlanguages.yml b/html/changelogs/PrismaticGynoid-forgottenlanguages.yml new file mode 100644 index 00000000000..dd3abb10e33 --- /dev/null +++ b/html/changelogs/PrismaticGynoid-forgottenlanguages.yml @@ -0,0 +1,7 @@ +author: PrismaticGynoid +delete-after: True +changes: + - tweak: "You now keep your languages when removed from/transplanted into a body." + - tweak: "AIs and borgs load languages from preferences when spawning." + - bugfix: "Fixed sign language being usable while lacking both hands." + diff --git a/html/changelogs/chaoko99-FUCKINGSNOWFLAKES.yml b/html/changelogs/chaoko99-FUCKINGSNOWFLAKES.yml new file mode 100644 index 00000000000..2d3f7ac454b --- /dev/null +++ b/html/changelogs/chaoko99-FUCKINGSNOWFLAKES.yml @@ -0,0 +1,37 @@ +################################ +# Example Changelog File +# +# Note: This file, and files beginning with ".", and files that don't end in ".yml" will not be read. If you change this file, you will look really dumb. +# +# Your changelog will be merged with a master changelog. (New stuff added only, and only on the date entry for the day it was merged.) +# When it is, any changes listed below will disappear. +# +# Valid Prefixes: +# bugfix +# wip (For works in progress) +# tweak +# soundadd +# sounddel +# rscadd (general adding of nice things) +# rscdel (general deleting of nice things) +# imageadd +# imagedel +# maptweak +# spellcheck (typo fixes) +# experiment +################################# + +# Your name. +author: Chaoko99 + +# 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: "Nitrous Oxide is now an oxidizer." + - rscdel: "Removed all instances of Volatile Fuel ever being simulated. To devs: It still exists. Please, for the love of god, only use it with assume_gas." diff --git a/icons/mob/belt_mirror.dmi b/icons/mob/belt_mirror.dmi index 8732dbe9e93..fd7fb6e9c67 100644 Binary files a/icons/mob/belt_mirror.dmi and b/icons/mob/belt_mirror.dmi differ diff --git a/icons/mob/items/lefthand_suits.dmi b/icons/mob/items/lefthand_suits.dmi index fda150d16f2..8e4053f8a4e 100644 Binary files a/icons/mob/items/lefthand_suits.dmi and b/icons/mob/items/lefthand_suits.dmi differ diff --git a/icons/mob/items/lefthand_uniforms.dmi b/icons/mob/items/lefthand_uniforms.dmi index 7deef45a4a1..02d12e4f799 100644 Binary files a/icons/mob/items/lefthand_uniforms.dmi and b/icons/mob/items/lefthand_uniforms.dmi differ diff --git a/icons/mob/items/righthand_suits.dmi b/icons/mob/items/righthand_suits.dmi index 6b88f909ed3..5fe54033041 100644 Binary files a/icons/mob/items/righthand_suits.dmi and b/icons/mob/items/righthand_suits.dmi differ diff --git a/icons/mob/items/righthand_uniforms.dmi b/icons/mob/items/righthand_uniforms.dmi index 506482dee84..88710db2d54 100644 Binary files a/icons/mob/items/righthand_uniforms.dmi and b/icons/mob/items/righthand_uniforms.dmi differ diff --git a/icons/mob/screen/holo.dmi b/icons/mob/screen/holo.dmi new file mode 100644 index 00000000000..4fb14b0ecab Binary files /dev/null and b/icons/mob/screen/holo.dmi differ diff --git a/icons/mob/screen/midnight.dmi b/icons/mob/screen/midnight.dmi index 731d1669d8d..1b6775124e2 100644 Binary files a/icons/mob/screen/midnight.dmi and b/icons/mob/screen/midnight.dmi differ diff --git a/icons/mob/screen/minimalist.dmi b/icons/mob/screen/minimalist.dmi index 959aac7f2ec..68536c8c28b 100644 Binary files a/icons/mob/screen/minimalist.dmi and b/icons/mob/screen/minimalist.dmi differ diff --git a/icons/mob/screen/old-noborder.dmi b/icons/mob/screen/old-noborder.dmi index 0654084966a..fef88b94608 100644 Binary files a/icons/mob/screen/old-noborder.dmi and b/icons/mob/screen/old-noborder.dmi differ diff --git a/icons/mob/screen/old.dmi b/icons/mob/screen/old.dmi index 482478dd899..44f9147b67c 100644 Binary files a/icons/mob/screen/old.dmi and b/icons/mob/screen/old.dmi differ diff --git a/icons/mob/screen/orange.dmi b/icons/mob/screen/orange.dmi index 84e96e619e2..3c7a2eb443d 100644 Binary files a/icons/mob/screen/orange.dmi and b/icons/mob/screen/orange.dmi differ diff --git a/icons/mob/screen/white.dmi b/icons/mob/screen/white.dmi index 1879cfa393e..8b241bfa65f 100644 Binary files a/icons/mob/screen/white.dmi and b/icons/mob/screen/white.dmi differ diff --git a/icons/mob/screen1.dmi b/icons/mob/screen1.dmi index 809046036da..6828c365eac 100644 Binary files a/icons/mob/screen1.dmi and b/icons/mob/screen1.dmi differ diff --git a/icons/mob/screen1_Midnight.dmi b/icons/mob/screen1_Midnight.dmi index 5915c43305a..b2f2a69278a 100644 Binary files a/icons/mob/screen1_Midnight.dmi and b/icons/mob/screen1_Midnight.dmi differ diff --git a/icons/mob/screen1_Orange.dmi b/icons/mob/screen1_Orange.dmi index c66b4acd9d3..9ac516ab75f 100644 Binary files a/icons/mob/screen1_Orange.dmi and b/icons/mob/screen1_Orange.dmi differ diff --git a/icons/mob/screen1_White.dmi b/icons/mob/screen1_White.dmi index a10a5d2fc93..2286669e277 100644 Binary files a/icons/mob/screen1_White.dmi and b/icons/mob/screen1_White.dmi differ diff --git a/icons/mob/screen1_old.dmi b/icons/mob/screen1_old.dmi index a4181eed420..f49f75985a4 100644 Binary files a/icons/mob/screen1_old.dmi and b/icons/mob/screen1_old.dmi differ diff --git a/icons/mob/screen1_robot.dmi b/icons/mob/screen1_robot.dmi index ab1ea5e3e99..9a7bd3cfa8d 100644 Binary files a/icons/mob/screen1_robot.dmi and b/icons/mob/screen1_robot.dmi differ diff --git a/icons/mob/screen1_robot_minimalist.dmi b/icons/mob/screen1_robot_minimalist.dmi index 0dbed0a01bb..819d938faee 100644 Binary files a/icons/mob/screen1_robot_minimalist.dmi and b/icons/mob/screen1_robot_minimalist.dmi differ diff --git a/icons/mob/screen_spells.dmi b/icons/mob/screen_spells.dmi index 48c07894878..62e3a406d53 100644 Binary files a/icons/mob/screen_spells.dmi and b/icons/mob/screen_spells.dmi differ diff --git a/icons/mob/ties.dmi b/icons/mob/ties.dmi index d41fe536980..5c0fed70f17 100644 Binary files a/icons/mob/ties.dmi and b/icons/mob/ties.dmi differ diff --git a/icons/mob/uniform.dmi b/icons/mob/uniform.dmi index a1eaad12fb6..f121d14ca44 100644 Binary files a/icons/mob/uniform.dmi and b/icons/mob/uniform.dmi differ diff --git a/icons/obj/clothing/gloves.dmi b/icons/obj/clothing/gloves.dmi index 5f01d96ad10..36183697713 100644 Binary files a/icons/obj/clothing/gloves.dmi and b/icons/obj/clothing/gloves.dmi differ diff --git a/icons/obj/clothing/ties.dmi b/icons/obj/clothing/ties.dmi index 57ec5488e09..b3c82552d44 100644 Binary files a/icons/obj/clothing/ties.dmi and b/icons/obj/clothing/ties.dmi differ diff --git a/icons/obj/clothing/uniforms.dmi b/icons/obj/clothing/uniforms.dmi index a922f8fc0a6..14feefefe61 100644 Binary files a/icons/obj/clothing/uniforms.dmi and b/icons/obj/clothing/uniforms.dmi differ diff --git a/icons/obj/power.dmi b/icons/obj/power.dmi index 3962d718737..3c9df1af7d7 100644 Binary files a/icons/obj/power.dmi and b/icons/obj/power.dmi differ diff --git a/maps/northern_star/polaris-1.dmm b/maps/northern_star/polaris-1.dmm index d338fde50b1..4a91144d1e6 100644 --- a/maps/northern_star/polaris-1.dmm +++ b/maps/northern_star/polaris-1.dmm @@ -1987,7 +1987,7 @@ "aMk" = (/obj/machinery/atmospherics/unary/vent_pump/on{dir = 4},/obj/machinery/light{dir = 8},/obj/item/weapon/stool/padded,/turf/simulated/floor/tiled,/area/crew_quarters/recreation_area_hallway) "aMl" = (/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 4},/turf/simulated/floor/tiled,/area/crew_quarters/recreation_area_hallway) "aMm" = (/obj/machinery/alarm{dir = 8; icon_state = "alarm0"; pixel_x = 24},/obj/structure/disposalpipe/segment,/turf/simulated/floor/tiled,/area/crew_quarters/recreation_area_hallway) -"aMn" = (/obj/item/weapon/soap/nanotrasen,/obj/item/weapon/soap/nanotrasen,/obj/structure/table/standard,/obj/random/soap,/turf/simulated/floor/tiled/freezer,/area/crew_quarters/recreation_area_restroom) +"aMn" = (/obj/item/weapon/soap/nanotrasen,/obj/item/weapon/soap/nanotrasen,/obj/structure/table/standard,/obj/random/soap,/obj/item/clothing/under/bathrobe,/obj/item/clothing/under/bathrobe,/turf/simulated/floor/tiled/freezer,/area/crew_quarters/recreation_area_restroom) "aMo" = (/obj/machinery/atmospherics/pipe/simple/hidden/supply,/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/obj/structure/cable/green{d1 = 1; d2 = 8; icon_state = "1-8"},/obj/structure/cable/green{d1 = 1; d2 = 4; icon_state = "1-4"},/turf/simulated/floor/tiled/freezer,/area/crew_quarters/recreation_area_restroom) "aMp" = (/obj/structure/mirror{pixel_x = 28},/obj/structure/sink{dir = 4; icon_state = "sink"; pixel_x = 11; pixel_y = 0},/obj/machinery/power/apc{dir = 1; name = "north bump"; pixel_x = 0; pixel_y = 24},/obj/structure/cable/green{d2 = 8; icon_state = "0-8"},/turf/simulated/floor/tiled/freezer,/area/crew_quarters/recreation_area_restroom) "aMq" = (/obj/machinery/door/airlock{name = "Unisex Showers"},/obj/machinery/atmospherics/pipe/simple/hidden/supply,/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/obj/machinery/door/firedoor/border_only,/turf/simulated/floor/tiled/freezer,/area/crew_quarters/recreation_area_restroom) diff --git a/maps/northern_star/polaris-2.dmm b/maps/northern_star/polaris-2.dmm index c555be4d815..1ee5f51d31c 100644 --- a/maps/northern_star/polaris-2.dmm +++ b/maps/northern_star/polaris-2.dmm @@ -515,7 +515,7 @@ "jU" = (/obj/structure/table/steel_reinforced,/obj/random/action_figure,/obj/random/action_figure,/obj/random/action_figure,/obj/random/action_figure,/obj/random/action_figure,/obj/random/action_figure,/turf/simulated/shuttle/floor/black,/area/shuttle/trade/centcom) "jV" = (/obj/structure/table/steel_reinforced,/obj/item/weapon/lipstick/black,/obj/item/weapon/lipstick/jade,/obj/item/weapon/lipstick/purple,/obj/item/weapon/lipstick,/obj/item/weapon/lipstick/random,/turf/simulated/shuttle/floor/black,/area/shuttle/trade/centcom) "jW" = (/obj/structure/table/steel_reinforced,/obj/item/clothing/accessory/holster/hip,/obj/item/clothing/accessory/holster/armpit,/obj/item/clothing/accessory/holster/armpit,/obj/item/clothing/accessory/holster/hip,/obj/item/clothing/accessory/storage/white_vest,/obj/item/clothing/accessory/storage/white_vest,/obj/item/clothing/accessory/storage/webbing,/obj/item/clothing/accessory/storage/webbing,/obj/item/clothing/accessory/storage/black_vest,/obj/item/clothing/accessory/storage/black_vest,/obj/item/clothing/accessory/storage/brown_vest,/obj/item/clothing/accessory/storage/brown_vest,/obj/item/clothing/accessory/scarf/white,/obj/item/clothing/accessory/scarf/lightblue,/obj/item/clothing/accessory/scarf/red,/obj/item/clothing/accessory/scarf/purple,/obj/item/clothing/accessory/armband/science,/obj/item/clothing/accessory/armband/med,/obj/item/clothing/accessory/armband/engine,/obj/item/clothing/accessory/armband/cargo,/obj/item/clothing/accessory/armband,/obj/item/clothing/accessory/medal/nobel_science,/obj/item/clothing/accessory/medal/silver,/obj/item/clothing/accessory/medal/gold,/obj/item/clothing/accessory/medal/bronze_heart,/turf/simulated/shuttle/floor/black,/area/shuttle/trade/centcom) -"jX" = (/obj/structure/table/steel_reinforced,/obj/item/clothing/under/cheongsam,/obj/item/clothing/under/hosformalmale,/obj/item/clothing/under/hosformalfem,/obj/item/clothing/under/harness,/obj/item/clothing/under/gladiator,/obj/item/clothing/under/ert,/obj/item/clothing/under/schoolgirl,/obj/item/clothing/under/redcoat,/obj/item/clothing/under/sexymime,/obj/item/clothing/under/sexyclown,/obj/item/clothing/under/soviet,/obj/item/clothing/under/space,/obj/item/clothing/under/stripper/mankini,/obj/item/clothing/under/suit_jacket/female,/obj/item/clothing/under/rank/psych/turtleneck,/obj/item/clothing/under/syndicate/combat,/obj/item/clothing/under/syndicate/combat,/obj/item/clothing/under/syndicate/tacticool,/obj/item/clothing/under/syndicate/tacticool,/obj/item/clothing/under/dress/sailordress,/obj/item/clothing/under/dress/redeveninggown,/obj/item/clothing/under/dress/dress_saloon,/obj/item/clothing/under/dress/blacktango,/obj/item/clothing/under/dress/blacktango/alt,/obj/item/clothing/under/dress/dress_orange,/obj/item/clothing/under/dress/janimaid,/turf/simulated/shuttle/floor/black,/area/shuttle/trade/centcom) +"jX" = (/obj/structure/table/steel_reinforced,/obj/item/clothing/under/cheongsam,/obj/item/clothing/under/hosformalmale,/obj/item/clothing/under/hosformalfem,/obj/item/clothing/under/harness,/obj/item/clothing/under/gladiator,/obj/item/clothing/under/ert,/obj/item/clothing/under/schoolgirl,/obj/item/clothing/under/redcoat,/obj/item/clothing/under/sexymime,/obj/item/clothing/under/sexyclown,/obj/item/clothing/under/soviet,/obj/item/clothing/under/space,/obj/item/clothing/under/swimsuit/stripper/mankini,/obj/item/clothing/under/suit_jacket/female,/obj/item/clothing/under/rank/psych/turtleneck,/obj/item/clothing/under/syndicate/combat,/obj/item/clothing/under/syndicate/combat,/obj/item/clothing/under/syndicate/tacticool,/obj/item/clothing/under/syndicate/tacticool,/obj/item/clothing/under/dress/sailordress,/obj/item/clothing/under/dress/redeveninggown,/obj/item/clothing/under/dress/dress_saloon,/obj/item/clothing/under/dress/blacktango,/obj/item/clothing/under/dress/blacktango/alt,/obj/item/clothing/under/dress/dress_orange,/obj/item/clothing/under/dress/janimaid,/turf/simulated/shuttle/floor/black,/area/shuttle/trade/centcom) "jY" = (/obj/structure/table/steel_reinforced,/obj/item/clothing/suit/hgpirate,/obj/item/clothing/suit/imperium_monk,/obj/item/clothing/suit/leathercoat,/obj/item/clothing/suit/justice,/obj/item/clothing/suit/justice,/obj/item/clothing/suit/justice,/obj/item/clothing/suit/justice,/obj/item/clothing/suit/justice,/obj/item/clothing/suit/pirate,/turf/simulated/shuttle/floor/black,/area/shuttle/trade/centcom) "jZ" = (/obj/machinery/atmospherics/pipe/simple/visible,/obj/structure/closet/crate/solar,/obj/machinery/light{dir = 8; icon_state = "tube1"; pixel_y = 0},/turf/simulated/shuttle/floor/black,/area/shuttle/trade/centcom) "ka" = (/turf/space/transit/north,/area/shuttle/escape_pod6/transit) @@ -2401,7 +2401,7 @@ "Ui" = (/obj/machinery/computer/teleporter,/turf/unsimulated/floor{icon_state = "dark"},/area/wizard_station) "Uj" = (/obj/machinery/teleport/station,/turf/unsimulated/floor{icon_state = "dark"},/area/wizard_station) "Uk" = (/obj/machinery/teleport/hub,/turf/unsimulated/floor{icon_state = "dark"},/area/wizard_station) - + (1,1,1) = {" aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabacacacacacacacadadaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeacaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeacafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafagagagagagagagagagagagagagafafafafafafafafafafafafafafafafafafafafahaiaiaiaiaiaiaiaiaiaiahaiaiaiaiaiaiaiaiaiaiahaiaiaiaiaiaiaiaiaiaiahaiaiaiaiaiaiaiaiaiaiahaiaiaiaiaiaiaiaiaiaiahaiaiaiaiaiaiaiaiaiaiahaiaiaiaiaiaiaiaiaiaiah aaajajajajajajajajajajajajajajajajajajajajajajajajajajajajajaaacacacacacacacadacacacacacacacacacacacacacacacacacacacacacacacadacaeacacacacacacacacacacacacacacacacacacacacacacacaeacafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafagakalagakalagakalagakalagafafafafafafafafafafafafafafafafafafafafamanananaoananananananapaqaraqaraqaqaraqaraqapasatatatatatatatatatapauavawawawawawawawawapaxaxaxaxaxaxaxaxaxaxapayayayayayayayayayayapazaAaBaCaDaDaDaDaDaEaF @@ -2659,3 +2659,4 @@ lYlYlYlYlYlYlYlYlYlYlYlYlYlYlYlYlYlYlYlYlYlYlYlYlYlYlYlYlYlYlYlYlYlYlYlYlYlYlYlY afafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafaf afafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafaf "} +