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
"}
+