diff --git a/_maps/RandomRooms/10x5/sk_rdm161_kilovault.dmm b/_maps/RandomRooms/10x5/sk_rdm161_kilovault.dmm index 63c6524b12f..27f20c30932 100644 --- a/_maps/RandomRooms/10x5/sk_rdm161_kilovault.dmm +++ b/_maps/RandomRooms/10x5/sk_rdm161_kilovault.dmm @@ -56,7 +56,7 @@ }, /obj/item/clipboard, /obj/item/paper/crumpled{ - info = "The safes have been locked and scrambled. Three thousand space dollars, a bandolier, a custom shotgun, and a lazarus injector have been safely deposited."; + default_raw_text = "The safes have been locked and scrambled. Three thousand space dollars, a bandolier, a custom shotgun, and a lazarus injector have been safely deposited."; name = "bank statement" }, /obj/effect/decal/cleanable/dirt, diff --git a/_maps/RandomRuins/LavaRuins/lavaland_surface_animal_hospital.dmm b/_maps/RandomRuins/LavaRuins/lavaland_surface_animal_hospital.dmm index 1778ba24c67..9fee4bab7b8 100644 --- a/_maps/RandomRuins/LavaRuins/lavaland_surface_animal_hospital.dmm +++ b/_maps/RandomRuins/LavaRuins/lavaland_surface_animal_hospital.dmm @@ -188,7 +188,7 @@ "aC" = ( /obj/structure/table/optable, /obj/item/paper{ - info = "Doc - As a heads up, that matter bin we ordered forever ago for saving.. less alive pets' finally come in. Sad thing is I can't figure out how to work the smartfridge board back into organ storage, can you do it for me? The matter bin'll let it repair organs, we'll be way better going! -Ted"; + default_raw_text = "Doc - As a heads up, that matter bin we ordered forever ago for saving.. less alive pets' finally come in. Sad thing is I can't figure out how to work the smartfridge board back into organ storage, can you do it for me? The matter bin'll let it repair organs, we'll be way better going! -Ted"; pixel_y = -3 }, /turf/open/floor/plasteel/white, diff --git a/_maps/RandomRuins/LavaRuins/lavaland_surface_syndicate_base1.dmm b/_maps/RandomRuins/LavaRuins/lavaland_surface_syndicate_base1.dmm index 031bcf551a7..737c5b4372e 100644 --- a/_maps/RandomRuins/LavaRuins/lavaland_surface_syndicate_base1.dmm +++ b/_maps/RandomRuins/LavaRuins/lavaland_surface_syndicate_base1.dmm @@ -750,7 +750,7 @@ dir = 8 }, /obj/item/paper/crumpled{ - info = "Explosive testing on site is STRICTLY forbidden, as this outpost's walls are lined with explosives intended for intentional self-destruct purposes that may be set off prematurely through careless experiments."; + default_raw_text = "Explosive testing on site is STRICTLY forbidden, as this outpost's walls are lined with explosives intended for intentional self-destruct purposes that may be set off prematurely through careless experiments."; name = "Explosives Testing Warning"; pixel_x = -6; pixel_y = -3 diff --git a/_maps/RandomZLevels/SnowCabin.dmm b/_maps/RandomZLevels/SnowCabin.dmm index e61092ce025..98137990ce4 100644 --- a/_maps/RandomZLevels/SnowCabin.dmm +++ b/_maps/RandomZLevels/SnowCabin.dmm @@ -4719,7 +4719,7 @@ name = "wooden box" }, /obj/item/paper{ - info = "Moving these crates through a tunnel that isn't even finished yet is really annoying. It's such a pain in the ass to haul even a single crate to the cabin. It made sense to haul food and other goods however these are fake fucking trophies. Why do they even need these fake artifacts for some asshole's trophy case? We'll just leave the crates in the cave that has all those bones inside. Fuck it."; + default_raw_text = "Moving these crates through a tunnel that isn't even finished yet is really annoying. It's such a pain in the ass to haul even a single crate to the cabin. It made sense to haul food and other goods however these are fake fucking trophies. Why do they even need these fake artifacts for some asshole's trophy case? We'll just leave the crates in the cave that has all those bones inside. Fuck it."; name = "Shipment Delivery Note" }, /turf/open/floor/plating/asteroid/snow, diff --git a/_maps/RuinGeneration/13x13_shotelroom.dmm b/_maps/RuinGeneration/13x13_shotelroom.dmm index 263443559de..2f5a138b64a 100644 --- a/_maps/RuinGeneration/13x13_shotelroom.dmm +++ b/_maps/RuinGeneration/13x13_shotelroom.dmm @@ -187,7 +187,7 @@ /area/ruin/unpowered) "O" = ( /obj/item/paper/crumpled/bloody/ruins/lavaland/clown_planet/escape{ - info = "lol"; + default_raw_text = "lol"; pixel_x = 3; pixel_y = 3 }, diff --git a/_maps/RuinGeneration/9x13_vault.dmm b/_maps/RuinGeneration/9x13_vault.dmm index f51fcc270fc..07093ab2334 100644 --- a/_maps/RuinGeneration/9x13_vault.dmm +++ b/_maps/RuinGeneration/9x13_vault.dmm @@ -97,7 +97,7 @@ /obj/effect/turf_decal/bot_white/left, /obj/item/ammo_box/a357, /obj/item/paper{ - info = "IOU - One Very Cool Revolver (Thanks HOP)" + default_raw_text = "IOU - One Very Cool Revolver (Thanks HOP)" }, /obj/item/reagent_containers/food/drinks/bottle/vodka/badminka, /turf/open/floor/plasteel/dark/airless, diff --git a/_maps/map_files/Aetherwhisp/Aetherwhisp1.dmm b/_maps/map_files/Aetherwhisp/Aetherwhisp1.dmm index 0a39fc94f27..f1444fbb469 100644 --- a/_maps/map_files/Aetherwhisp/Aetherwhisp1.dmm +++ b/_maps/map_files/Aetherwhisp/Aetherwhisp1.dmm @@ -8614,7 +8614,7 @@ }, /obj/machinery/door/firedoor/border_only/directional/south, /obj/item/paper{ - info = "

Reminder that squad equipment vendors are located in the council chamber, tool storage, and that 4-way junction at the primary hallway, Deck 1

" + default_raw_text = "

Reminder that squad equipment vendors are located in the council chamber, tool storage, and that 4-way junction at the primary hallway, Deck 1

" }, /obj/item/reagent_containers/spray/cleaner, /obj/effect/landmark/zebra_interlock_point, @@ -9494,15 +9494,13 @@ /area/security/main/warroom) "gay" = ( /obj/structure/table, -/obj/item/storage/box/prisoner{ - pixel_x = 4; - pixel_y = 4 - }, -/obj/item/storage/box/exileimp, -/obj/item/binoculars, /obj/structure/sign/poster/official/random{ pixel_x = 32 }, +/obj/machinery/fax{ + fax_name = "Wardens Office"; + name = "Wardens Office Fax Machine" + }, /turf/open/floor/carpet/ship/red_carpet, /area/security/warden) "gaE" = ( @@ -13661,7 +13659,11 @@ /turf/open/floor/carpet/ship/orange_carpet, /area/engine/atmos) "iUH" = ( -/obj/item/kirbyplants/random, +/obj/machinery/fax{ + fax_name = "Law Office"; + name = "Law Office Fax Machine" + }, +/obj/structure/table/wood, /turf/open/floor/wood, /area/lawoffice) "iUM" = ( @@ -16782,7 +16784,7 @@ dir = 4 }, /obj/item/paper{ - info = "

Executive Officer notice: Modular computers are currently experiencing technical difficulties regarding their ID modification hardware. The 'identification card authentication module' supports 2 ID slots, and was previously paired with the 'ID Card Modification' program that also supported 2 IDs. There was recently a software update that removed the need to insert your own ID to authenticate and log in. However, it did not update the hardware, nor does it allow you to remove an ID from the authentication slot anymore.

To edit IDs with a modular computer without losing your ID, insert the target's ID but NEVER insert your own ID. You will still be able to log in if you are wearing it. Make sure you never put more than 1 ID in the modular computer.

If you do accidentally lose your own ID and getting a new one without your XO access is borderline impossible, contact Central Command. Politely ask them to remote into the console, then run subroutine '/proc/eject_id'

Have a secure shift

"; + default_raw_text = "

Executive Officer notice: Modular computers are currently experiencing technical difficulties regarding their ID modification hardware. The 'identification card authentication module' supports 2 ID slots, and was previously paired with the 'ID Card Modification' program that also supported 2 IDs. There was recently a software update that removed the need to insert your own ID to authenticate and log in. However, it did not update the hardware, nor does it allow you to remove an ID from the authentication slot anymore.

To edit IDs with a modular computer without losing your ID, insert the target's ID but NEVER insert your own ID. You will still be able to log in if you are wearing it. Make sure you never put more than 1 ID in the modular computer.

If you do accidentally lose your own ID and getting a new one without your XO access is borderline impossible, contact Central Command. Politely ask them to remote into the console, then run subroutine '/proc/eject_id'

Have a secure shift

"; pixel_x = 4; pixel_y = 4 }, @@ -22808,7 +22810,7 @@ icon_state = "4-8" }, /obj/item/paper{ - info = "

Executive Officer notice: Modular computers are currently experiencing technical difficulties regarding their ID modification hardware. The 'identification card authentication module' supports 2 ID slots, and was previously paired with the 'ID Card Modification' program that also supported 2 IDs. There was recently a software update that removed the need to insert your own ID to authenticate and log in. However, it did not update the hardware, nor does it allow you to remove an ID from the authentication slot anymore.

To edit IDs with a modular computer without losing your ID, insert the target's ID but NEVER insert your own ID. You will still be able to log in if you are wearing it. Make sure you never put more than 1 ID in the modular computer.

If you do accidentally lose your own ID and getting a new one without your XO access is borderline impossible, contact Central Command. Politely ask them to remote into the console, then run subroutine '/proc/eject_id'

Have a secure shift

"; + default_raw_text = "

Executive Officer notice: Modular computers are currently experiencing technical difficulties regarding their ID modification hardware. The 'identification card authentication module' supports 2 ID slots, and was previously paired with the 'ID Card Modification' program that also supported 2 IDs. There was recently a software update that removed the need to insert your own ID to authenticate and log in. However, it did not update the hardware, nor does it allow you to remove an ID from the authentication slot anymore.

To edit IDs with a modular computer without losing your ID, insert the target's ID but NEVER insert your own ID. You will still be able to log in if you are wearing it. Make sure you never put more than 1 ID in the modular computer.

If you do accidentally lose your own ID and getting a new one without your XO access is borderline impossible, contact Central Command. Politely ask them to remote into the console, then run subroutine '/proc/eject_id'

Have a secure shift

"; pixel_x = 4; pixel_y = 4 }, @@ -24090,6 +24092,14 @@ initial_gas_mix = "n2=300000;TEMP=293.15" }, /area/engine/atmos) +"pKi" = ( +/obj/machinery/fax{ + fax_name = "Medical Lobby"; + name = "Medical Lobby Fax Machine" + }, +/obj/structure/table/reinforced, +/turf/open/floor/carpet/blue, +/area/medical/medbay/lobby) "pKs" = ( /obj/machinery/computer/warrant{ dir = 1 @@ -24776,7 +24786,7 @@ /obj/machinery/atmospherics/pipe/simple/purple/hidden, /obj/machinery/suit_storage_unit/standard_unit, /obj/item/paper{ - info = "

Reminder to deactivate ID requirements for airlocks in the secondary EVA storage located on Deck 1 Chapel maintenance.

" + default_raw_text = "

Reminder to deactivate ID requirements for airlocks in the secondary EVA storage located on Deck 1 Chapel maintenance.

" }, /obj/structure/window/reinforced{ dir = 8 @@ -32329,6 +32339,10 @@ /area/medical/morgue) "vrB" = ( /obj/structure/table, +/obj/machinery/fax{ + name = "Engineerings Fax Machine"; + fax_name = "Engineering" + }, /turf/open/floor/carpet/ship/orange_carpet, /area/engine/engine_smes) "vrH" = ( @@ -32598,6 +32612,12 @@ "vzU" = ( /obj/structure/table, /obj/machinery/airalarm/directional/north, +/obj/item/storage/box/prisoner{ + pixel_x = 4; + pixel_y = 4 + }, +/obj/item/storage/box/exileimp, +/obj/item/binoculars, /turf/open/floor/carpet/ship/red_carpet, /area/security/warden) "vAl" = ( @@ -34335,7 +34355,7 @@ req_one_access_txt = "3" }, /obj/item/paper{ - info = "

Reminder that squad equipment vendors are located in the council chamber, tool storage, and that 4-way junction at the primary hallway, Deck 1

" + default_raw_text = "

Reminder that squad equipment vendors are located in the council chamber, tool storage, and that 4-way junction at the primary hallway, Deck 1

" }, /obj/machinery/door/poddoor/ship/preopen{ dir = 4; @@ -35381,22 +35401,22 @@ }, /obj/effect/spawner/lootdrop/maintenance/three, /obj/item/paper{ - info = "


X
Sasha Mendell (Research Director) Bethany Joyce (Scientist) Nice!

X
Bethany Joyce (Scientist) Sasha Mendell (Research Director) Want me to do anything wihth them?

X
Julissa Carr (Ship Engineer) Alexis Catherina (Ship Engineer) Im back, did I miss anything

X
Ascalapha Modesta (Head of Security) Sasha Mendell (Research Director) Can you send us the PDA logs for this shift? We're trying to solve a few crimes and we think that might help

X
Sasha Mendell (Research Director) Ascalapha Modesta (Head of Security) Sure, I'll send that right over

X
Ascalapha Modesta (Head of Security) Sasha Mendell (Research Director) Thanks

"; + default_raw_text = "


X
Sasha Mendell (Research Director) Bethany Joyce (Scientist) Nice!

X
Bethany Joyce (Scientist) Sasha Mendell (Research Director) Want me to do anything wihth them?

X
Julissa Carr (Ship Engineer) Alexis Catherina (Ship Engineer) Im back, did I miss anything

X
Ascalapha Modesta (Head of Security) Sasha Mendell (Research Director) Can you send us the PDA logs for this shift? We're trying to solve a few crimes and we think that might help

X
Sasha Mendell (Research Director) Ascalapha Modesta (Head of Security) Sure, I'll send that right over

X
Ascalapha Modesta (Head of Security) Sasha Mendell (Research Director) Thanks

"; pixel_x = 2; pixel_y = 2 }, /obj/item/paper{ - info = "


X
Violet Koster (Scientist) Stephen Greenawalt (Cargo Technician) I'll see what I can do

X
Violet Koster (Scientist) Stephen Greenawalt (Cargo Technician) Hey I got your key back, you won't believe how lucky I was with the rad storm! Sent from my PDA

X
Violet Koster (Scientist) Stephen Greenawalt (Cargo Technician) How do you want me to get it to you?

X
Violet Koster (Scientist) Stephen Greenawalt (Cargo Technician) Stephen? Hello?

X
Julissa Carr (Ship Engineer) Alexis Catherina (Ship Engineer) brb

X
Violet Koster (Scientist) Ascalapha Modesta (Head of Security) Hey I think a cargo tech has gone missing, Stephen Greenawalt. I just messaged him a few times and he's not responding

X
Ascalapha Modesta (Head of Security) Violet Koster (Scientist) Ok we'll look into it

X
Violet Koster (Scientist) Stephen Greenawalt (Cargo Technician) I'm stowing this contraband stuff in maintenance for now. Do let me know when you get back

X
Bethany Joyce (Scientist) Sasha Mendell (Research Director) Got rainbow in xeno

"; + default_raw_text = "


X
Violet Koster (Scientist) Stephen Greenawalt (Cargo Technician) I'll see what I can do

X
Violet Koster (Scientist) Stephen Greenawalt (Cargo Technician) Hey I got your key back, you won't believe how lucky I was with the rad storm! Sent from my PDA

X
Violet Koster (Scientist) Stephen Greenawalt (Cargo Technician) How do you want me to get it to you?

X
Violet Koster (Scientist) Stephen Greenawalt (Cargo Technician) Stephen? Hello?

X
Julissa Carr (Ship Engineer) Alexis Catherina (Ship Engineer) brb

X
Violet Koster (Scientist) Ascalapha Modesta (Head of Security) Hey I think a cargo tech has gone missing, Stephen Greenawalt. I just messaged him a few times and he's not responding

X
Ascalapha Modesta (Head of Security) Violet Koster (Scientist) Ok we'll look into it

X
Violet Koster (Scientist) Stephen Greenawalt (Cargo Technician) I'm stowing this contraband stuff in maintenance for now. Do let me know when you get back

X
Bethany Joyce (Scientist) Sasha Mendell (Research Director) Got rainbow in xeno

"; pixel_x = 2; pixel_y = 2 }, /obj/item/paper{ - info = "


X
Violet Koster (Scientist) Stephen Greenawalt (Cargo Technician) ATV? Cool

X
Violet Koster (Scientist) Stephen Greenawalt (Cargo Technician) Why did they take it in the first place?

X
Stephen Greenawalt (Cargo Technician) Violet Koster (Scientist) i dont know

X
Violet Koster (Scientist) Stephen Greenawalt (Cargo Technician) You'll have to be more specific than that

X
Dustin Stroh (Assistant) In A Nutshell (AI) Law 2 open

X
Violet Koster (Scientist) Stephen Greenawalt (Cargo Technician) Were you joyriding it across the hallways?

X
Stephen Greenawalt (Cargo Technician) Violet Koster (Scientist) yes

X
Stephen Greenawalt (Cargo Technician) Violet Koster (Scientist) will you get it back for me?

"; + default_raw_text = "


X
Violet Koster (Scientist) Stephen Greenawalt (Cargo Technician) ATV? Cool

X
Violet Koster (Scientist) Stephen Greenawalt (Cargo Technician) Why did they take it in the first place?

X
Stephen Greenawalt (Cargo Technician) Violet Koster (Scientist) i dont know

X
Violet Koster (Scientist) Stephen Greenawalt (Cargo Technician) You'll have to be more specific than that

X
Dustin Stroh (Assistant) In A Nutshell (AI) Law 2 open

X
Violet Koster (Scientist) Stephen Greenawalt (Cargo Technician) Were you joyriding it across the hallways?

X
Stephen Greenawalt (Cargo Technician) Violet Koster (Scientist) yes

X
Stephen Greenawalt (Cargo Technician) Violet Koster (Scientist) will you get it back for me?

"; pixel_x = 2; pixel_y = 2 }, /obj/item/paper{ - info = "


X

Sender

Recipient

Message


X
system System Administrator This is an automated message. The messaging system is functioning correctly.

X
Jalen Khan (Cook) SYS-32EXE (Botanist) wheat carrots sugarcane lemons limes oranges chilis corn

X
Jalen Khan (Cook) SYS-32EXE (Botanist) vwheat carrots sugarcane lemons limes oranges chilis corn

X
SYS-32EXE (Botanist) Jalen Khan (Cook) anything else?

X
Bethany Joyce (Scientist) Violet Koster (Scientist) I'll go to xeno then

X
Stephen Greenawalt (Cargo Technician) Violet Koster (Scientist) hey can you help me with something? security took away my atv key and i want it back

"; + default_raw_text = "


X

Sender

Recipient

Message


X
system System Administrator This is an automated message. The messaging system is functioning correctly.

X
Jalen Khan (Cook) SYS-32EXE (Botanist) wheat carrots sugarcane lemons limes oranges chilis corn

X
Jalen Khan (Cook) SYS-32EXE (Botanist) vwheat carrots sugarcane lemons limes oranges chilis corn

X
SYS-32EXE (Botanist) Jalen Khan (Cook) anything else?

X
Bethany Joyce (Scientist) Violet Koster (Scientist) I'll go to xeno then

X
Stephen Greenawalt (Cargo Technician) Violet Koster (Scientist) hey can you help me with something? security took away my atv key and i want it back

"; pixel_x = 2; pixel_y = 2 }, @@ -35692,7 +35712,7 @@ /obj/structure/table, /obj/item/storage/toolbox/mechanical, /obj/item/paper{ - info = "

Engineering notice: There are three wire colors used on the Aetherwhisp 6 ship model. White cable is wired to the Stormdrive MK-4 and the supermatter crystal near atmospherics. These lead to their own SMES located nearby. Yellow wires are department distribution wires, which deliver power from the engines SMES to deparment SMES. Red wires deliver power from department SMES to department APCs.

" + default_raw_text = "

Engineering notice: There are three wire colors used on the Aetherwhisp 6 ship model. White cable is wired to the Stormdrive MK-4 and the supermatter crystal near atmospherics. These lead to their own SMES located nearby. Yellow wires are department distribution wires, which deliver power from the engines SMES to deparment SMES. Red wires deliver power from department SMES to department APCs.

" }, /obj/effect/spawner/lootdrop/maintenance, /obj/item/dest_tagger{ @@ -70299,7 +70319,7 @@ dim vnJ fvf haC -quU +pKi fWo qgc tDb diff --git a/_maps/map_files/Aetherwhisp/Aetherwhisp2.dmm b/_maps/map_files/Aetherwhisp/Aetherwhisp2.dmm index 3c012b694e0..0302ded60f6 100644 --- a/_maps/map_files/Aetherwhisp/Aetherwhisp2.dmm +++ b/_maps/map_files/Aetherwhisp/Aetherwhisp2.dmm @@ -4559,7 +4559,7 @@ dir = 4 }, /obj/item/paper{ - info = "

Munitions notice: Reminder that the laser anti missile systems provided must have power allocated, must be enabled, and must have Anti-missile countermeasures enabled in the AMS control console!

" + default_raw_text = "

Munitions notice: Reminder that the laser anti missile systems provided must have power allocated, must be enabled, and must have Anti-missile countermeasures enabled in the AMS control console!

" }, /turf/open/floor/engine, /area/nsv/weapons/fore) @@ -5540,7 +5540,7 @@ dir = 4 }, /obj/item/paper{ - info = "

Engineering notice: There are three wire colors used on the Aetherwhisp 6 ship model. White cable is wired to the Stormdrive MK-4 and the supermatter crystal near atmospherics. These lead to their own SMES located nearby. Yellow wires are department distribution wires, which deliver power from the engines SMES to deparment SMES. Red wires deliver power from department SMES to department APCs.

" + default_raw_text = "

Engineering notice: There are three wire colors used on the Aetherwhisp 6 ship model. White cable is wired to the Stormdrive MK-4 and the supermatter crystal near atmospherics. These lead to their own SMES located nearby. Yellow wires are department distribution wires, which deliver power from the engines SMES to deparment SMES. Red wires deliver power from department SMES to department APCs.

" }, /obj/machinery/newscaster/directional/west, /obj/structure/cable/yellow{ @@ -6618,12 +6618,20 @@ /turf/open/floor/plating, /area/maintenance/nsv/hangar) "eCq" = ( +/obj/effect/turf_decal/stripes/line{ + dir = 8 + }, +/obj/machinery/fax{ + name = "Cargo Fax Machine"; + fax_name = "Cargo" + }, /obj/structure/window/reinforced{ - dir = 1 + layer = 2.89 }, -/obj/effect/turf_decal/stripes/line{ +/obj/structure/window/reinforced{ dir = 8 }, +/obj/structure/table, /turf/open/floor/engine, /area/quartermaster/storage) "eCw" = ( @@ -6711,8 +6719,8 @@ /turf/open/floor/plating, /area/nsv/atc) "eFv" = ( -/obj/machinery/door/firedoor/border_only/directional/north, /obj/structure/disposalpipe/segment, +/obj/machinery/door/firedoor/border_only/directional/south, /turf/open/floor/engine, /area/quartermaster/storage) "eFO" = ( @@ -6767,8 +6775,8 @@ /turf/open/floor/engine, /area/nsv/weapons/starboard) "eHQ" = ( -/obj/machinery/door/firedoor/border_only/directional/north, /obj/structure/disposalpipe/segment, +/obj/machinery/door/firedoor/border_only/directional/south, /turf/open/floor/carpet/orange, /area/quartermaster/storage) "eHV" = ( @@ -6778,7 +6786,7 @@ /turf/open/openspace, /area/engine/engine_smes) "eIb" = ( -/obj/machinery/door/firedoor/border_only/directional/north, +/obj/machinery/door/firedoor/border_only/directional/south, /turf/open/floor/carpet/orange, /area/quartermaster/storage) "eIc" = ( @@ -7749,7 +7757,7 @@ name = "stormdrive power monitoring console" }, /obj/item/paper{ - info = "

Engineering notice: There are three wire colors used on the Aetherwhisp 6 ship model. White cable is wired to the Stormdrive MK-4 and the supermatter crystal near atmospherics. These lead to their own SMES located nearby. Yellow wires are department distribution wires, which deliver power from the engines SMES to deparment SMES. Red wires deliver power from department SMES to department APCs.

" + default_raw_text = "

Engineering notice: There are three wire colors used on the Aetherwhisp 6 ship model. White cable is wired to the Stormdrive MK-4 and the supermatter crystal near atmospherics. These lead to their own SMES located nearby. Yellow wires are department distribution wires, which deliver power from the engines SMES to deparment SMES. Red wires deliver power from department SMES to department APCs.

" }, /turf/open/floor/carpet/ship/orange_carpet, /area/nsv/weapons/fore) @@ -8830,7 +8838,7 @@ }, /obj/structure/cable, /obj/item/paper{ - info = "

Executive Officer notice: Modular computers are currently experiencing technical difficulties regarding their ID modification hardware. The 'identification card authentication module' supports 2 ID slots, and was previously paired with the 'ID Card Modification' program that also supported 2 IDs. There was recently a software update that removed the need to insert your own ID to authenticate and log in. However, it did not update the hardware, nor does it allow you to remove an ID from the authentication slot anymore.

To edit IDs with a modular computer without losing your ID, insert the target's ID but NEVER insert your own ID. You will still be able to log in if you are wearing it. Make sure you never put more than 1 ID in the modular computer.

If you do accidentally lose your own ID and getting a new one without your XO access is borderline impossible, contact Central Command. Politely ask them to remote into the console, then run subroutine '/proc/eject_id'

Have a secure shift

"; + default_raw_text = "

Executive Officer notice: Modular computers are currently experiencing technical difficulties regarding their ID modification hardware. The 'identification card authentication module' supports 2 ID slots, and was previously paired with the 'ID Card Modification' program that also supported 2 IDs. There was recently a software update that removed the need to insert your own ID to authenticate and log in. However, it did not update the hardware, nor does it allow you to remove an ID from the authentication slot anymore.

To edit IDs with a modular computer without losing your ID, insert the target's ID but NEVER insert your own ID. You will still be able to log in if you are wearing it. Make sure you never put more than 1 ID in the modular computer.

If you do accidentally lose your own ID and getting a new one without your XO access is borderline impossible, contact Central Command. Politely ask them to remote into the console, then run subroutine '/proc/eject_id'

Have a secure shift

"; pixel_x = 4; pixel_y = 4 }, @@ -12737,6 +12745,14 @@ /obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4, /turf/open/floor/plasteel/freezer, /area/crew_quarters/pool_party) +"iIw" = ( +/obj/structure/table, +/obj/machinery/fax{ + fax_name = "Munitions"; + name = "Munitions Fax Machine" + }, +/turf/open/floor/engine, +/area/nsv/weapons/fore) "iIB" = ( /obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ dir = 4 @@ -13313,7 +13329,7 @@ }, /obj/machinery/door/window/eastright, /obj/item/paper{ - info = "

Reminder that squad equipment vendors are located in the council chamber, tool storage, and that 4-way junction at the primary hallway, Deck 1

" + default_raw_text = "

Reminder that squad equipment vendors are located in the council chamber, tool storage, and that 4-way junction at the primary hallway, Deck 1

" }, /obj/machinery/door/poddoor/shutters/ship/preopen{ dir = 4; @@ -15109,7 +15125,7 @@ icon_state = "0-8" }, /obj/item/paper{ - info = "

Munitions notice: Reminder that the laser anti missile systems provided must have power allocated, must be enabled, and must have Anti-missile countermeasures enabled in the AMS control console!

" + default_raw_text = "

Munitions notice: Reminder that the laser anti missile systems provided must have power allocated, must be enabled, and must have Anti-missile countermeasures enabled in the AMS control console!

" }, /turf/open/floor/carpet/ship/orange_carpet, /area/nsv/weapons/fore) @@ -18128,7 +18144,7 @@ dir = 8 }, /obj/item/paper{ - info = "

Executive Officer notice: Modular computers are currently experiencing technical difficulties regarding their ID modification hardware. The 'identification card authentication module' supports 2 ID slots, and was previously paired with the 'ID Card Modification' program that also supported 2 IDs. There was recently a software update that removed the need to insert your own ID to authenticate and log in. However, it did not update the hardware, nor does it allow you to remove an ID from the authentication slot anymore.

To edit IDs with a modular computer without losing your ID, insert the target's ID but NEVER insert your own ID. You will still be able to log in if you are wearing it. Make sure you never put more than 1 ID in the modular computer.

If you do accidentally lose your own ID and getting a new one without your XO access is borderline impossible, contact Central Command. Politely ask them to remote into the console, then run subroutine '/proc/eject_id'

Have a secure shift

"; + default_raw_text = "

Executive Officer notice: Modular computers are currently experiencing technical difficulties regarding their ID modification hardware. The 'identification card authentication module' supports 2 ID slots, and was previously paired with the 'ID Card Modification' program that also supported 2 IDs. There was recently a software update that removed the need to insert your own ID to authenticate and log in. However, it did not update the hardware, nor does it allow you to remove an ID from the authentication slot anymore.

To edit IDs with a modular computer without losing your ID, insert the target's ID but NEVER insert your own ID. You will still be able to log in if you are wearing it. Make sure you never put more than 1 ID in the modular computer.

If you do accidentally lose your own ID and getting a new one without your XO access is borderline impossible, contact Central Command. Politely ask them to remote into the console, then run subroutine '/proc/eject_id'

Have a secure shift

"; pixel_x = 4; pixel_y = 4 }, @@ -19894,6 +19910,14 @@ }, /turf/open/floor/carpet, /area/crew_quarters/dorms) +"nLE" = ( +/obj/structure/table/glass, +/obj/machinery/fax{ + name = "Science Fax Machine"; + fax_name = "Science" + }, +/turf/open/floor/carpet/ship/purple_carpet, +/area/science/research) "nLX" = ( /obj/structure/disposalpipe/sorting/wrap/flip{ dir = 4 @@ -20808,7 +20832,7 @@ dir = 8 }, /obj/item/paper{ - info = "

Executive Officer notice: Modular computers are currently experiencing technical difficulties regarding their ID modification hardware. The 'identification card authentication module' supports 2 ID slots, and was previously paired with the 'ID Card Modification' program that also supported 2 IDs. There was recently a software update that removed the need to insert your own ID to authenticate and log in. However, it did not update the hardware, nor does it allow you to remove an ID from the authentication slot anymore.

To edit IDs with a modular computer without losing your ID, insert the target's ID but NEVER insert your own ID. You will still be able to log in if you are wearing it. Make sure you never put more than 1 ID in the modular computer.

If you do accidentally lose your own ID and getting a new one without your XO access is borderline impossible, contact Central Command. Politely ask them to remote into the console, then run subroutine '/proc/eject_id'

Have a secure shift

"; + default_raw_text = "

Executive Officer notice: Modular computers are currently experiencing technical difficulties regarding their ID modification hardware. The 'identification card authentication module' supports 2 ID slots, and was previously paired with the 'ID Card Modification' program that also supported 2 IDs. There was recently a software update that removed the need to insert your own ID to authenticate and log in. However, it did not update the hardware, nor does it allow you to remove an ID from the authentication slot anymore.

To edit IDs with a modular computer without losing your ID, insert the target's ID but NEVER insert your own ID. You will still be able to log in if you are wearing it. Make sure you never put more than 1 ID in the modular computer.

If you do accidentally lose your own ID and getting a new one without your XO access is borderline impossible, contact Central Command. Politely ask them to remote into the console, then run subroutine '/proc/eject_id'

Have a secure shift

"; pixel_x = 4; pixel_y = 4 }, @@ -22029,7 +22053,7 @@ dir = 4 }, /obj/item/paper{ - info = "

Reminder that squad equipment vendors are located in the council chamber, tool storage, and that 4-way junction at the primary hallway, Deck 1

" + default_raw_text = "

Reminder that squad equipment vendors are located in the council chamber, tool storage, and that 4-way junction at the primary hallway, Deck 1

" }, /turf/open/floor/carpet/ship/blue{ color = "#9999DD"; @@ -22571,6 +22595,10 @@ /obj/structure/cable/pink{ icon_state = "1-2" }, +/obj/machinery/fax{ + name = "Bridge Fax Machine"; + fax_name = "Bridge" + }, /turf/open/floor/carpet/blue, /area/bridge/meeting_room) "pvu" = ( @@ -24633,7 +24661,7 @@ pixel_y = 4 }, /obj/item/paper{ - info = "

Reminder that squad equipment vendors are located in the council chamber, tool storage, and that 4-way junction at the primary hallway, Deck 1

" + default_raw_text = "

Reminder that squad equipment vendors are located in the council chamber, tool storage, and that 4-way junction at the primary hallway, Deck 1

" }, /obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ dir = 4 @@ -26842,7 +26870,7 @@ }, /obj/machinery/modular_computer/console/preset/research, /obj/item/paper{ - info = "

Executive Officer notice: Modular computers are currently experiencing technical difficulties regarding their ID modification hardware. The 'identification card authentication module' supports 2 ID slots, and was previously paired with the 'ID Card Modification' program that also supported 2 IDs. There was recently a software update that removed the need to insert your own ID to authenticate and log in. However, it did not update the hardware, nor does it allow you to remove an ID from the authentication slot anymore.

To edit IDs with a modular computer without losing your ID, insert the target's ID but NEVER insert your own ID. You will still be able to log in if you are wearing it. Make sure you never put more than 1 ID in the modular computer.

If you do accidentally lose your own ID and getting a new one without your XO access is borderline impossible, contact Central Command. Politely ask them to remote into the console, then run subroutine '/proc/eject_id'

Have a secure shift

"; + default_raw_text = "

Executive Officer notice: Modular computers are currently experiencing technical difficulties regarding their ID modification hardware. The 'identification card authentication module' supports 2 ID slots, and was previously paired with the 'ID Card Modification' program that also supported 2 IDs. There was recently a software update that removed the need to insert your own ID to authenticate and log in. However, it did not update the hardware, nor does it allow you to remove an ID from the authentication slot anymore.

To edit IDs with a modular computer without losing your ID, insert the target's ID but NEVER insert your own ID. You will still be able to log in if you are wearing it. Make sure you never put more than 1 ID in the modular computer.

If you do accidentally lose your own ID and getting a new one without your XO access is borderline impossible, contact Central Command. Politely ask them to remote into the console, then run subroutine '/proc/eject_id'

Have a secure shift

"; pixel_x = 4; pixel_y = 4 }, @@ -27172,7 +27200,7 @@ /obj/structure/cable, /obj/machinery/door/firedoor/border_only/directional/east, /obj/item/paper{ - info = "

Executive Officer notice: Modular computers are currently experiencing technical difficulties regarding their ID modification hardware. The 'identification card authentication module' supports 2 ID slots, and was previously paired with the 'ID Card Modification' program that also supported 2 IDs. There was recently a software update that removed the need to insert your own ID to authenticate and log in. However, it did not update the hardware, nor does it allow you to remove an ID from the authentication slot anymore.

To edit IDs with a modular computer without losing your ID, insert the target's ID but NEVER insert your own ID. You will still be able to log in if you are wearing it. Make sure you never put more than 1 ID in the modular computer.

If you do accidentally lose your own ID and getting a new one without your XO access is borderline impossible, contact Central Command. Politely ask them to remote into the console, then run subroutine '/proc/eject_id'

Have a secure shift

"; + default_raw_text = "

Executive Officer notice: Modular computers are currently experiencing technical difficulties regarding their ID modification hardware. The 'identification card authentication module' supports 2 ID slots, and was previously paired with the 'ID Card Modification' program that also supported 2 IDs. There was recently a software update that removed the need to insert your own ID to authenticate and log in. However, it did not update the hardware, nor does it allow you to remove an ID from the authentication slot anymore.

To edit IDs with a modular computer without losing your ID, insert the target's ID but NEVER insert your own ID. You will still be able to log in if you are wearing it. Make sure you never put more than 1 ID in the modular computer.

If you do accidentally lose your own ID and getting a new one without your XO access is borderline impossible, contact Central Command. Politely ask them to remote into the console, then run subroutine '/proc/eject_id'

Have a secure shift

"; pixel_x = 4; pixel_y = 4 }, @@ -64114,7 +64142,7 @@ gCc eyH xVB jOn -jby +nLE pTc jby sCA @@ -78976,7 +79004,7 @@ hbT aKK brY qqd -hWF +iIw dnp oqH wsl diff --git a/_maps/map_files/Atlas/atlas.dmm b/_maps/map_files/Atlas/atlas.dmm index 2ee01a32076..dffdd25e8f2 100644 --- a/_maps/map_files/Atlas/atlas.dmm +++ b/_maps/map_files/Atlas/atlas.dmm @@ -8916,7 +8916,7 @@ name = "leftover decoration budget" }, /obj/item/paper{ - info = "WARNING! Do not order more than 6 crates at once. We had to cut a lot of corners to get a supply shuttle dock onto this thing and the crates will not fit if you order more than 6. Good luck, RSWJ."; + default_raw_text = "WARNING! Do not order more than 6 crates at once. We had to cut a lot of corners to get a supply shuttle dock onto this thing and the crates will not fit if you order more than 6. Good luck, RSWJ."; name = "Note from Speedwagon" }, /turf/open/floor/monotile/steel, @@ -9353,6 +9353,11 @@ /obj/machinery/light{ dir = 8 }, +/obj/machinery/fax{ + name = "Engineerings Fax Machine"; + fax_name = "Engineering" + }, +/obj/structure/table/reinforced, /turf/open/floor/monotile/steel, /area/engine/engine_room) "Fv" = ( @@ -13361,6 +13366,11 @@ /turf/open/floor/circuit/telecomms, /area/science) "SW" = ( +/obj/machinery/fax{ + fax_name = "Wardens Office"; + name = "Wardens Office Fax Machine" + }, +/obj/structure/table/reinforced, /turf/open/floor/monotile/steel, /area/security/brig) "SX" = ( diff --git a/_maps/map_files/Atlas/atlas2.dmm b/_maps/map_files/Atlas/atlas2.dmm index f4bf9a5c9c6..644339842af 100644 --- a/_maps/map_files/Atlas/atlas2.dmm +++ b/_maps/map_files/Atlas/atlas2.dmm @@ -747,7 +747,10 @@ "dy" = ( /obj/structure/table/reinforced, /obj/structure/railing, -/obj/item/paper_bin, +/obj/machinery/fax{ + name = "Bridge Fax Machine"; + fax_name = "Bridge" + }, /turf/open/floor/carpet/royalblack, /area/bridge/cic) "dz" = ( @@ -1466,6 +1469,8 @@ /obj/structure/railing{ dir = 1 }, +/obj/item/paper_bin, +/obj/item/pen, /turf/open/floor/carpet/royalblack, /area/bridge/cic) "gQ" = ( @@ -10520,6 +10525,18 @@ }, /obj/structure/table/reinforced, /obj/structure/railing, +/obj/item/folder/yellow{ + pixel_x = -7 + }, +/obj/item/folder/white{ + pixel_x = -2 + }, +/obj/item/folder/red{ + pixel_x = 3 + }, +/obj/item/folder/blue{ + pixel_x = 8 + }, /turf/open/floor/carpet/royalblack, /area/bridge/cic) "XK" = ( diff --git a/_maps/map_files/Eclipse/Eclipse1.dmm b/_maps/map_files/Eclipse/Eclipse1.dmm index 1801800b82d..488f39f9c04 100644 --- a/_maps/map_files/Eclipse/Eclipse1.dmm +++ b/_maps/map_files/Eclipse/Eclipse1.dmm @@ -5118,7 +5118,7 @@ req_one_access_txt = "0" }, /obj/item/paper{ - info = "

NOTE: There are no miners on this vessel, you are ALL miners. Use the mining dradis to see asteroids, move towards them, and then coordinate with your team on the mining rig (whoever you so choose to assign), and they can draw in the asteroid. This is the only way to acquire materials steadily outside of doing xenobio. -JT

"; + default_raw_text = "

NOTE: There are no miners on this vessel, you are ALL miners. Use the mining dradis to see asteroids, move towards them, and then coordinate with your team on the mining rig (whoever you so choose to assign), and they can draw in the asteroid. This is the only way to acquire materials steadily outside of doing xenobio. -JT

"; name = "READ ME." }, /turf/open/floor/monotile/steel, @@ -7472,7 +7472,7 @@ anchored = 1 }, /obj/item/paper{ - info = "

Reminder: Pacman generators can be interacted with to boost their power output, can be upgraded with stock parts to increase cooling and power production even further, and can fully power this ship. Conserve your usage of the Mrs. Pacmans for combat where you need to power the armor pumps. -JT

"; + default_raw_text = "

Reminder: Pacman generators can be interacted with to boost their power output, can be upgraded with stock parts to increase cooling and power production even further, and can fully power this ship. Conserve your usage of the Mrs. Pacmans for combat where you need to power the armor pumps. -JT

"; name = "READ ME." }, /turf/open/floor/plasteel/dark/side, @@ -9258,6 +9258,14 @@ /obj/machinery/stasis, /turf/open/floor/plasteel/tiled/light, /area/medical/surgery) +"Mv" = ( +/obj/machinery/fax{ + name = "Bridge Fax Machine"; + fax_name = "Bridge" + }, +/obj/structure/table/wood, +/turf/open/floor/plasteel, +/area/bridge) "Mw" = ( /obj/machinery/airalarm/directional/north, /turf/open/floor/plasteel/dark/side{ @@ -47992,7 +48000,7 @@ Fh Uo fk Ie -IN +Mv DT wT Kg diff --git a/_maps/map_files/Galactica/Galactica1.dmm b/_maps/map_files/Galactica/Galactica1.dmm index b3226481b95..0cc8182c59e 100644 --- a/_maps/map_files/Galactica/Galactica1.dmm +++ b/_maps/map_files/Galactica/Galactica1.dmm @@ -7639,6 +7639,10 @@ /obj/machinery/light{ dir = 4 }, +/obj/machinery/fax{ + name = "Bridge Fax Machine"; + fax_name = "Bridge" + }, /turf/open/floor/monotile/steel, /area/bridge/cic) "tE" = ( @@ -17554,6 +17558,10 @@ dir = 1 }, /obj/structure/table/reinforced, +/obj/machinery/fax{ + fax_name = "Wardens Office"; + name = "Wardens Office Fax Machine" + }, /turf/open/floor/monotile/dark, /area/security/warden) "Td" = ( diff --git a/_maps/map_files/Galactica/Galactica2.dmm b/_maps/map_files/Galactica/Galactica2.dmm index 6494b820751..21ba9ad668d 100644 --- a/_maps/map_files/Galactica/Galactica2.dmm +++ b/_maps/map_files/Galactica/Galactica2.dmm @@ -2538,6 +2538,7 @@ /obj/machinery/atmospherics/pipe/simple/orange/hidden/layer2{ dir = 4 }, +/obj/item/stack/cable_coil/random, /turf/open/floor/plasteel/ridged/steel, /area/engine/engineering) "blK" = ( @@ -11570,8 +11571,6 @@ /area/bridge/showroom/corporate) "ghH" = ( /obj/structure/table/reinforced, -/obj/item/stack/sheet/mineral/copper, -/obj/item/reagent_containers/food/drinks/beer, /obj/effect/turf_decal/stripes/white/corner{ dir = 8 }, @@ -11580,6 +11579,10 @@ dir = 1 }, /obj/machinery/atmospherics/components/unary/vent_pump/on/layer2, +/obj/machinery/fax{ + name = "Service Fax Machine"; + fax_name = "Service" + }, /turf/open/floor/monotile/dark, /area/hallway/secondary/service) "ghJ" = ( @@ -12154,6 +12157,8 @@ /obj/structure/closet/crate/trashcart, /obj/effect/turf_decal/stripes/white/line, /obj/machinery/light_switch/west, +/obj/item/reagent_containers/food/drinks/beer, +/obj/item/stack/sheet/mineral/copper, /turf/open/floor/monotile/dark, /area/hallway/secondary/service) "gxD" = ( @@ -15791,6 +15796,14 @@ /obj/effect/turf_decal/ship/delivery/yellow, /turf/open/floor/monotile/steel/airless, /area/nsv/hanger/notkmcstupidhanger) +"irV" = ( +/obj/machinery/fax{ + fax_name = "Medical"; + name = "Medical Fax Machine" + }, +/obj/structure/table/glass, +/turf/open/floor/monotile/dark, +/area/medical/medbay) "isn" = ( /obj/machinery/atmospherics/components/unary/vent_pump/on/layer2{ dir = 4 @@ -22825,6 +22838,8 @@ dir = 1 }, /obj/item/radio/intercom/directional/south, +/obj/machinery/fax, +/obj/structure/table, /turf/open/floor/monotile/steel, /area/security/brig) "mjH" = ( @@ -38210,6 +38225,10 @@ /obj/structure/cable{ icon_state = "2-8" }, +/obj/machinery/fax{ + name = "Science Fax Machine"; + fax_name = "Science" + }, /turf/open/floor/fakespace, /area/science/nsv/astronomy) "uuV" = ( @@ -40848,6 +40867,14 @@ /obj/item/clothing/shoes/sandal, /turf/open/floor/wood, /area/maintenance/nsv/deck2/frame5/port) +"vRc" = ( +/obj/machinery/fax{ + name = "Cargo Fax Machine"; + fax_name = "Cargo" + }, +/obj/structure/table/reinforced, +/turf/open/floor/monotile/dark, +/area/quartermaster/lobby) "vRh" = ( /obj/structure/table, /obj/item/reagent_containers/food/snacks/mint, @@ -41822,10 +41849,13 @@ icon_state = "4-8" }, /obj/structure/table/reinforced, -/obj/item/stack/cable_coil/random, /obj/machinery/atmospherics/pipe/simple/orange/hidden/layer2{ dir = 4 }, +/obj/machinery/fax{ + name = "Engineerings Fax Machine"; + fax_name = "Engineering" + }, /turf/open/floor/plasteel/ridged/steel, /area/engine/engineering) "wuB" = ( @@ -78903,7 +78933,7 @@ gCG vlP aCB jEc -jEc +irV enf mxV fcQ @@ -82265,7 +82295,7 @@ dJW vgA deD cRj -cRj +vRc daT ofC jij diff --git a/_maps/map_files/Galactica/old/Galactica2_old.dmm b/_maps/map_files/Galactica/old/Galactica2_old.dmm index 3653958d04d..e7b9c7f0a52 100644 --- a/_maps/map_files/Galactica/old/Galactica2_old.dmm +++ b/_maps/map_files/Galactica/old/Galactica2_old.dmm @@ -5509,7 +5509,7 @@ /area/maintenance/nsv/deck2/frame1/starboard) "aof" = ( /obj/item/paper{ - info = "We've run out of blue paint for the briefing room so we'll just have to ship it out with the SolGov logos untouched. If you find this note, please forward it to your nearest Titanworks shipyard for processing."; + default_raw_text = "We've run out of blue paint for the briefing room so we'll just have to ship it out with the SolGov logos untouched. If you find this note, please forward it to your nearest Titanworks shipyard for processing."; name = "SGC Solaria retrofit notes" }, /obj/structure/rack, diff --git a/_maps/map_files/Hammerhead/Hammerhead.dmm b/_maps/map_files/Hammerhead/Hammerhead.dmm index 880636b02c7..5970ed0aacb 100644 --- a/_maps/map_files/Hammerhead/Hammerhead.dmm +++ b/_maps/map_files/Hammerhead/Hammerhead.dmm @@ -8524,6 +8524,11 @@ /obj/structure/cable{ icon_state = "2-4" }, +/obj/machinery/fax{ + fax_name = "Wardens Office"; + name = "Wardens Office Fax Machine" + }, +/obj/structure/table/reinforced, /turf/open/floor/durasteel, /area/security/warden) "aAS" = ( @@ -39129,6 +39134,10 @@ /obj/structure/window/reinforced/spawner/north, /obj/machinery/door/firedoor/border_only/directional/east, /obj/machinery/door/firedoor/border_only/directional/north, +/obj/machinery/fax{ + fax_name = "Medical Lobby"; + name = "Medical Lobby Fax Machine" + }, /turf/open/floor/plasteel/white, /area/medical/medbay/lobby) "nDk" = ( @@ -39554,6 +39563,11 @@ /obj/effect/turf_decal/tile/blue{ dir = 4 }, +/obj/machinery/fax{ + name = "CIC Fax Machine"; + fax_name = "CIC" + }, +/obj/structure/table/glass, /turf/open/floor/durasteel/padded, /area/bridge/cic) "nQp" = ( @@ -45176,6 +45190,14 @@ }, /turf/open/floor/durasteel, /area/nsv/weapons/fore) +"rlR" = ( +/obj/structure/table/wood, +/obj/machinery/fax{ + name = "Engineerings Fax Machine"; + fax_name = "Engineering" + }, +/turf/open/floor/carpet/orange, +/area/engine/break_room) "rmf" = ( /obj/machinery/atmospherics/pipe/simple/cyan/visible{ dir = 10 @@ -48634,6 +48656,14 @@ /obj/machinery/door/firedoor/border_only/directional/south, /turf/open/floor/durasteel/eris_techfloor_alt, /area/hallway/primary/central) +"tsZ" = ( +/obj/structure/table/reinforced, +/obj/machinery/fax{ + name = "Cargo Fax Machine"; + fax_name = "Cargo" + }, +/turf/open/floor/durasteel/eris_techfloor_alt, +/area/quartermaster/storage) "ttq" = ( /obj/structure/disposalpipe/segment{ dir = 4 @@ -68683,7 +68713,7 @@ bcp aMj bcv vlA -mzw +rlR gWx nBK hlo @@ -111048,7 +111078,7 @@ avF avF avF aJK -rMz +tsZ fYU aji aWv diff --git a/_maps/map_files/Instanced/map_files/SpaceSHIP.dmm b/_maps/map_files/Instanced/map_files/SpaceSHIP.dmm index b761a7dedca..a3e6d0d0a12 100644 --- a/_maps/map_files/Instanced/map_files/SpaceSHIP.dmm +++ b/_maps/map_files/Instanced/map_files/SpaceSHIP.dmm @@ -8080,7 +8080,7 @@ dir = 1 }, /obj/item/paper{ - info = "You know, some people say we never abandoned the Astraeus, and that it was always there waiting to be needed again. Thank you for your service, ye most faithful of all ships."; + default_raw_text = "You know, some people say we never abandoned the Astraeus, and that it was always there waiting to be needed again. Thank you for your service, ye most faithful of all ships."; name = "The legacy" }, /turf/open/floor/plating, @@ -10601,7 +10601,7 @@ /obj/item/stock_parts/cell, /obj/item/assembly/prox_sensor, /obj/item/paper/fluff{ - info = "IF YOU MAKE A BORG, BE SURE TO EMAG IT! We're using stolen NT borg tech so it'll have their stupid laws. - Steve"; + default_raw_text = "IF YOU MAKE A BORG, BE SURE TO EMAG IT! We're using stolen NT borg tech so it'll have their stupid laws. - Steve"; name = "Note from Steve the scientist" }, /obj/machinery/ecto_sniffer, @@ -18373,7 +18373,7 @@ /obj/structure/table/reinforced, /obj/item/modular_computer/tablet/preset/advanced, /obj/item/paper{ - info = "If your coolant temperature gets too high, try reducing your coolant in / outlet pumps to a lower kPa (800 works nicely). We didn't have the space to fit a full coolant loop - Engineer Gregg"; + default_raw_text = "If your coolant temperature gets too high, try reducing your coolant in / outlet pumps to a lower kPa (800 works nicely). We didn't have the space to fit a full coolant loop - Engineer Gregg"; name = "In case of inadequate cooling..." }, /turf/open/floor/engine, diff --git a/_maps/map_files/Mining/nsv13/Rocinante.dmm b/_maps/map_files/Mining/nsv13/Rocinante.dmm index 1b45be057b4..0708dc8fe0f 100644 --- a/_maps/map_files/Mining/nsv13/Rocinante.dmm +++ b/_maps/map_files/Mining/nsv13/Rocinante.dmm @@ -1963,7 +1963,7 @@ }, /obj/effect/turf_decal/tile/green, /obj/item/paper{ - info = "Place patient into stasis bed and attempt to apply first aid. Seek immediate professional medical help and ensure that the stasis unit remains active. Remain calm, do not attempt complex procedures by yourselves."; + default_raw_text = "Place patient into stasis bed and attempt to apply first aid. Seek immediate professional medical help and ensure that the stasis unit remains active. Remain calm, do not attempt complex procedures by yourselves."; name = "Dublanc Mining Corporation Medical Procedures" }, /turf/open/floor/plasteel/techmaint, diff --git a/_maps/map_files/Mining/nsv13/ruins/mining5.dmm b/_maps/map_files/Mining/nsv13/ruins/mining5.dmm index 4b281f01ac7..753f31d0c09 100644 --- a/_maps/map_files/Mining/nsv13/ruins/mining5.dmm +++ b/_maps/map_files/Mining/nsv13/ruins/mining5.dmm @@ -308,7 +308,7 @@ /area/ruin/unpowered) "aW" = ( /obj/item/paper/fluff/ruins/asteroid4/extraction{ - info = "It's been days since they evacuated and I have at this point. Blatantly nobody will miss me, so I have no request to a loved one.
I have but one request to you who are reading this: Do.
Not
Open
The
Sarcophagus"; + default_raw_text = "It's been days since they evacuated and I have at this point. Blatantly nobody will miss me, so I have no request to a loved one.
I have but one request to you who are reading this: Do.
Not
Open
The
Sarcophagus"; name = "last will" }, /turf/open/floor/plasteel/ship/padded, @@ -932,7 +932,7 @@ "cI" = ( /obj/structure/table/wood, /obj/item/paper/fluff/ruins/asteroid4/extraction{ - info = "Captain's orders:

Evacuate, and relocate the armoury to the exit point. We've lost a few heads already.

Burn the infected to hamper the disease."; + default_raw_text = "Captain's orders:

Evacuate, and relocate the armoury to the exit point. We've lost a few heads already.

Burn the infected to hamper the disease."; name = "captain's orders" }, /turf/open/floor/plasteel/ship, @@ -1552,7 +1552,7 @@ dir = 8 }, /obj/item/paper/fluff/ruins/asteroid4/extraction{ - info = "Captain's orders:

Evacuate, and relocate the armoury to the exit point. We've lost a few heads already.

Burn the infected to hamper the disease."; + default_raw_text = "Captain's orders:

Evacuate, and relocate the armoury to the exit point. We've lost a few heads already.

Burn the infected to hamper the disease."; name = "captain's orders" }, /turf/open/floor/plasteel/ship, @@ -1655,7 +1655,7 @@ /area/ruin/unpowered) "eO" = ( /obj/item/paper/fluff/ruins/asteroid4/extraction{ - info = "Captain's orders:

Evacuate, and relocate the armoury to the exit point. We've lost a few heads already.

Burn the infected to hamper the disease."; + default_raw_text = "Captain's orders:

Evacuate, and relocate the armoury to the exit point. We've lost a few heads already.

Burn the infected to hamper the disease."; name = "captain's orders" }, /obj/structure/table, @@ -1701,7 +1701,7 @@ "eV" = ( /obj/structure/table/glass, /obj/item/paper/fluff/ruins/asteroid4/extraction{ - info = "Captain's orders:

Evacuate, and relocate the armoury to the exit point. We've lost a few heads already.

Burn the infected to hamper the disease."; + default_raw_text = "Captain's orders:

Evacuate, and relocate the armoury to the exit point. We've lost a few heads already.

Burn the infected to hamper the disease."; name = "captain's orders" }, /turf/open/floor/plasteel/ship/padded, diff --git a/_maps/map_files/Serendipity/Serendipity1.dmm b/_maps/map_files/Serendipity/Serendipity1.dmm index a698320a7ae..bc808e6d5d9 100644 --- a/_maps/map_files/Serendipity/Serendipity1.dmm +++ b/_maps/map_files/Serendipity/Serendipity1.dmm @@ -5398,6 +5398,11 @@ /turf/open/floor/plasteel/tiled/light, /area/medical/apothecary) "sl" = ( +/obj/machinery/fax{ + fax_name = "Security"; + name = "Security Fax Machine" + }, +/obj/structure/table/glass/plasma, /turf/open/floor/carpet/ship/red_carpet, /area/security/brig) "sm" = ( @@ -14495,6 +14500,11 @@ /obj/effect/turf_decal/tile/yellow{ dir = 1 }, +/obj/machinery/fax{ + name = "CIC Fax Machine"; + fax_name = "CIC" + }, +/obj/structure/table/glass/plasma, /turf/open/floor/plasteel/tiled/light, /area/bridge/cic) "VP" = ( diff --git a/_maps/map_files/Serendipity/Serendipity2.dmm b/_maps/map_files/Serendipity/Serendipity2.dmm index 1762670a736..c4f5236b1c9 100644 --- a/_maps/map_files/Serendipity/Serendipity2.dmm +++ b/_maps/map_files/Serendipity/Serendipity2.dmm @@ -1418,10 +1418,13 @@ /area/engine/engine_room) "gs" = ( /obj/structure/table/wood, -/obj/item/pen/fourcolor, /obj/structure/cable{ icon_state = "4-8" }, +/obj/machinery/fax{ + name = "QM Office Fax Machine"; + fax_name = "Quartermaster" + }, /turf/open/floor/wood, /area/quartermaster/qm) "gt" = ( @@ -2146,6 +2149,7 @@ icon_state = "4-8" }, /obj/item/stamp/quartermaster, +/obj/item/pen/fourcolor, /turf/open/floor/wood, /area/quartermaster/qm) "jx" = ( @@ -3323,6 +3327,11 @@ /obj/structure/sign/poster/official/moth3{ pixel_x = 30 }, +/obj/machinery/fax{ + name = "Engineerings Fax Machine"; + fax_name = "Engineering" + }, +/obj/structure/table, /turf/open/floor/plasteel/dark/side{ dir = 8 }, @@ -3621,7 +3630,7 @@ /obj/item/stack/cable_coil/red, /obj/item/crowbar, /obj/item/paper{ - info = "

NOTE: The Dominion don't install gravity generators on their ships, we barely had enough time to install one but you're going to have to wire it to the power grid. Remember: Terminal to powerline, SMES to APC.

"; + default_raw_text = "

NOTE: The Dominion don't install gravity generators on their ships, we barely had enough time to install one but you're going to have to wire it to the power grid. Remember: Terminal to powerline, SMES to APC.

"; name = "READ ME." }, /obj/item/clothing/gloves/color/yellow, @@ -10063,6 +10072,11 @@ /obj/machinery/camera/autoname{ dir = 9 }, +/obj/machinery/fax{ + fax_name = "Law Office"; + name = "Law Office Fax Machine" + }, +/obj/structure/table/glass/plasma, /turf/open/floor/carpet/ship/beige_carpet, /area/hallway/nsv/deck1/hallway) "Us" = ( @@ -10486,7 +10500,7 @@ icon_state = "0-4" }, /obj/item/paper{ - info = "

NOTE: This ship is outfitted with a Tesla reactor. Take extra care to wrench everything down and weld what needs welding. If you want to upgrade the Tesla Coils, be sure to use the BSRPED in the CE's Office or unwrench the coil and take it away from the reactor before opening it up and upgrading it.

"; + default_raw_text = "

NOTE: This ship is outfitted with a Tesla reactor. Take extra care to wrench everything down and weld what needs welding. If you want to upgrade the Tesla Coils, be sure to use the BSRPED in the CE's Office or unwrench the coil and take it away from the reactor before opening it up and upgrading it.

"; name = "READ ME." }, /turf/open/floor/engine, diff --git a/_maps/map_files/Snake/snake_lower.dmm b/_maps/map_files/Snake/snake_lower.dmm index 2333ad47572..ed77b25244c 100644 --- a/_maps/map_files/Snake/snake_lower.dmm +++ b/_maps/map_files/Snake/snake_lower.dmm @@ -34,15 +34,17 @@ /turf/open/floor/plasteel/dark, /area/hallway/primary/fore) "ag" = ( -/obj/structure/frame/computer{ - dir = 1 - }, /obj/structure/cable{ icon_state = "2-8" }, /obj/structure/cable{ icon_state = "4-8" }, +/obj/machinery/fax{ + name = "CIC Fax Machine"; + fax_name = "CIC" + }, +/obj/structure/table/reinforced, /turf/open/floor/plasteel/dark/side{ dir = 1 }, @@ -794,6 +796,10 @@ /area/engine/engineering/reactor_core) "cW" = ( /obj/structure/table/reinforced, +/obj/machinery/fax{ + name = "Engineerings Fax Machine"; + fax_name = "Engineering" + }, /obj/item/binoculars, /turf/open/floor/plasteel/dark, /area/engine/engineering/reactor_control) @@ -4026,10 +4032,6 @@ /obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2, /turf/open/floor/plasteel/dark, /area/engine/engineering) -"oD" = ( -/obj/structure/table/wood, -/turf/open/floor/wood, -/area/lawoffice) "oF" = ( /obj/machinery/light{ dir = 8 @@ -6447,6 +6449,14 @@ }, /turf/open/floor/plasteel/dark, /area/engine/engineering/reactor_core) +"xv" = ( +/obj/structure/table/wood, +/obj/machinery/fax{ + fax_name = "Law Office"; + name = "Law Office Fax Machine" + }, +/turf/open/floor/wood, +/area/lawoffice) "xw" = ( /obj/structure/chair/office{ dir = 8 @@ -6941,7 +6951,6 @@ /turf/open/floor/carpet/orange, /area/nsv/crew_quarters/heads/maa) "zj" = ( -/obj/structure/closet/secure_closet/brig, /obj/effect/turf_decal/tile/ship/red{ dir = 1 }, @@ -6949,6 +6958,11 @@ dir = 4 }, /obj/machinery/firealarm/directional/north, +/obj/machinery/fax{ + fax_name = "Wardens Office"; + name = "Wardens Office Fax Machine" + }, +/obj/structure/table, /turf/open/floor/plasteel/dark/side{ dir = 1 }, @@ -10330,6 +10344,11 @@ /obj/machinery/atmospherics/components/unary/vent_scrubber/on/layer4{ dir = 1 }, +/obj/machinery/fax{ + fax_name = "Medical"; + name = "Medical Fax Machine" + }, +/obj/structure/table, /turf/open/floor/plasteel/white, /area/medical/sleeper) "KC" = ( @@ -52323,9 +52342,9 @@ lK Ip Xc Gr -ht +xv if -oD +ht OB BT aJ diff --git a/_maps/map_files/Snake/snake_upper.dmm b/_maps/map_files/Snake/snake_upper.dmm index cacb78b5c4c..b973f11a1e0 100644 --- a/_maps/map_files/Snake/snake_upper.dmm +++ b/_maps/map_files/Snake/snake_upper.dmm @@ -7062,6 +7062,11 @@ /obj/machinery/light{ dir = 8 }, +/obj/machinery/fax{ + name = "Cargo Fax Machine"; + fax_name = "Cargo" + }, +/obj/structure/table/reinforced, /turf/open/floor/plasteel, /area/quartermaster/storage) "OV" = ( diff --git a/_maps/map_files/Tycoon/Tycoon2.dmm b/_maps/map_files/Tycoon/Tycoon2.dmm index b189dffd16e..4d6b484ecc3 100644 --- a/_maps/map_files/Tycoon/Tycoon2.dmm +++ b/_maps/map_files/Tycoon/Tycoon2.dmm @@ -5246,6 +5246,7 @@ "amY" = ( /obj/item/reagent_containers/food/drinks/beer, /obj/structure/table, +/obj/item/storage/box/lights/mixed, /turf/open/floor/monotile/steel, /area/hallway/secondary/service) "ana" = ( @@ -7002,6 +7003,10 @@ /area/crew_quarters/dorms) "ash" = ( /obj/structure/table/glass, +/obj/machinery/fax{ + fax_name = "Law Office"; + name = "Law Office Fax Machine" + }, /turf/open/floor/carpet/blue, /area/lawoffice) "asm" = ( @@ -12001,10 +12006,9 @@ /area/engine/engineering) "aHx" = ( /obj/structure/table/reinforced, -/obj/item/modular_computer/tablet/preset/advanced, -/obj/item/geiger_counter{ - desc = "It's capped at 3.6 Roentgen. Not great, not terrible."; - name = "\improper Dossimiter" +/obj/machinery/fax{ + name = "Engineerings Fax Machine"; + fax_name = "Engineering" }, /turf/open/floor/durasteel/lino, /area/engine/engineering/reactor_control) @@ -22599,6 +22603,11 @@ pixel_x = 6; pixel_y = 2 }, +/obj/item/reagent_containers/syringe/epinephrine{ + pixel_x = 3; + pixel_y = -2 + }, +/obj/item/reagent_containers/dropper, /turf/open/floor/engine, /area/medical/medbay/lobby) "beI" = ( @@ -23712,11 +23721,10 @@ /obj/machinery/light{ dir = 1 }, -/obj/item/reagent_containers/syringe/epinephrine{ - pixel_x = 3; - pixel_y = -2 +/obj/machinery/fax{ + fax_name = "Medical"; + name = "Medical Cryo Fax Machine" }, -/obj/item/reagent_containers/dropper, /turf/open/floor/engine, /area/medical/medbay/lobby) "bha" = ( @@ -25919,6 +25927,10 @@ "blF" = ( /obj/structure/table/reinforced, /obj/structure/disposalpipe/segment, +/obj/machinery/fax{ + fax_name = "Wardens Office"; + name = "Wardens Office Fax Machine" + }, /turf/open/floor/carpet/red, /area/security/warden) "blG" = ( @@ -43847,7 +43859,10 @@ /obj/structure/extinguisher_cabinet{ pixel_x = 27 }, -/obj/item/storage/box/lights/mixed, +/obj/machinery/fax{ + name = "Service Fax Machine"; + fax_name = "Service" + }, /turf/open/floor/monotile/dark, /area/hallway/secondary/service) "ihA" = ( @@ -44426,6 +44441,16 @@ /obj/machinery/door/firedoor/border_only, /turf/open/floor/monotile/steel, /area/crew_quarters/bar) +"iVx" = ( +/obj/structure/table/reinforced, +/obj/machinery/fax{ + name = "CIC Fax Machine"; + fax_name = "CIC" + }, +/turf/open/floor/monotile/dark, +/area/bridge{ + name = "CIC" + }) "iVI" = ( /turf/open/floor/engine, /area/engine/engineering) @@ -49552,6 +49577,18 @@ }, /turf/closed/wall/ship, /area/medical/medbay/lobby) +"qIl" = ( +/obj/structure/table/reinforced, +/obj/item/modular_computer/tablet/preset/advanced, +/obj/item/geiger_counter{ + desc = "It's capped at 3.6 Roentgen. Not great, not terrible."; + name = "\improper Dossimiter" + }, +/obj/item/paper/crumpled{ + default_raw_text = "
No. You do not deserve them


" + }, +/turf/open/floor/durasteel/lino, +/area/engine/engineering/reactor_control) "qIN" = ( /obj/machinery/atmospherics/pipe/manifold/supply/hidden/layer2{ dir = 8 @@ -50405,6 +50442,23 @@ id = "spentfuel2" }, /area/engine/engineering/reactor_core) +"rPS" = ( +/obj/structure/table/reinforced, +/obj/structure/disposalpipe/segment{ + dir = 4 + }, +/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ + dir = 4 + }, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ + dir = 8 + }, +/obj/machinery/fax{ + name = "Cargo Fax Machine"; + fax_name = "Cargo" + }, +/turf/open/floor/carpet/ship, +/area/quartermaster/storage) "rSa" = ( /obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ dir = 8 @@ -86533,7 +86587,7 @@ buW cak bzO abG -bYf +iVx caG abG abG @@ -89636,7 +89690,7 @@ ajl aes aes bcr -bqf +rPS aOo bcv aci @@ -103723,7 +103777,7 @@ nOu apt and amv -rpx +aHx ayJ gfj mWF @@ -104746,7 +104800,7 @@ fBS azg bto ayJ -aHx +qIl pxL wvQ ana diff --git a/_maps/shuttles/exploration/exploration_delta.dmm b/_maps/shuttles/exploration/exploration_delta.dmm index 56f25edd328..31f42f1e53d 100644 --- a/_maps/shuttles/exploration/exploration_delta.dmm +++ b/_maps/shuttles/exploration/exploration_delta.dmm @@ -177,7 +177,7 @@ pixel_y = 11 }, /obj/item/paper/crumpled{ - info = "

I bought you some food, but I ate it all before you came, sorry.

- RTH

"; + default_raw_text = "

I bought you some food, but I ate it all before you came, sorry.

- RTH

"; name = "scribbled note" }, /turf/open/floor/mineral/titanium, diff --git a/_maps/templates/boarding/syndicate/destroyer.dmm b/_maps/templates/boarding/syndicate/destroyer.dmm index 86453a743f6..49aa087563b 100644 --- a/_maps/templates/boarding/syndicate/destroyer.dmm +++ b/_maps/templates/boarding/syndicate/destroyer.dmm @@ -301,7 +301,7 @@ /obj/structure/table/reinforced, /obj/item/multitool, /obj/item/paper{ - info = "We've fitted your ship with an autopilot to counteract those idiots that fleet keeps sending to fly our birds. Multitool the helm console to toggle it on / off."; + default_raw_text = "We've fitted your ship with an autopilot to counteract those idiots that fleet keeps sending to fly our birds. Multitool the helm console to toggle it on / off."; name = "Note From Abassi Fleetyards" }, /turf/open/floor/mineral/plastitanium/red, diff --git a/_maps/templates/boarding/syndicate/mako.dmm b/_maps/templates/boarding/syndicate/mako.dmm index bf6b4c6c6b4..df6fdebbc90 100644 --- a/_maps/templates/boarding/syndicate/mako.dmm +++ b/_maps/templates/boarding/syndicate/mako.dmm @@ -817,7 +817,7 @@ /obj/structure/table/reinforced, /obj/item/multitool, /obj/item/paper{ - info = "We've fitted your ship with an autopilot to counteract those idiots that fleet keeps sending to fly our birds. Multitool the helm console to toggle it on / off."; + default_raw_text = "We've fitted your ship with an autopilot to counteract those idiots that fleet keeps sending to fly our birds. Multitool the helm console to toggle it on / off."; name = "Note From Abassi Fleetyards" }, /turf/open/floor/mineral/plastitanium/red, diff --git a/_maps/templates/boarding/syndicate/mako_carrier.dmm b/_maps/templates/boarding/syndicate/mako_carrier.dmm index f0c969cd3b7..aa4c289f6fc 100644 --- a/_maps/templates/boarding/syndicate/mako_carrier.dmm +++ b/_maps/templates/boarding/syndicate/mako_carrier.dmm @@ -841,7 +841,7 @@ /obj/structure/table/reinforced, /obj/item/multitool, /obj/item/paper{ - info = "We've fitted your ship with an autopilot to counteract those idiots that fleet keeps sending to fly our birds. Multitool the helm console to toggle it on / off."; + default_raw_text = "We've fitted your ship with an autopilot to counteract those idiots that fleet keeps sending to fly our birds. Multitool the helm console to toggle it on / off."; name = "Note From Abassi Fleetyards" }, /turf/open/floor/mineral/plastitanium/red, diff --git a/code/__DEFINES/colors.dm b/code/__DEFINES/colors.dm index 21e4fb01714..367f632d33e 100644 --- a/code/__DEFINES/colors.dm +++ b/code/__DEFINES/colors.dm @@ -8,10 +8,13 @@ #define COLOR_DARKMODE_TEXT "#a4bad6" #define COLOR_WHITE "#EEEEEE" +#define COLOR_OFF_WHITE "#FFF5ED" #define COLOR_SILVER "#C0C0C0" #define COLOR_GRAY "#808080" #define COLOR_FLOORTILE_GRAY "#8D8B8B" +#define COLOR_WEBSAFE_DARK_GRAY "#484848" #define COLOR_ALMOST_BLACK "#333333" +#define COLOR_FULL_TONER_BLACK "#101010" #define COLOR_BLACK "#000000" #define COLOR_HALF_TRANSPARENT_BLACK "#0000007A" #define COLOR_RED "#FF0000" @@ -27,9 +30,11 @@ #define COLOR_BLUE_LIGHT "#33CCFF" #define COLOR_NAVY "#000080" #define COLOR_PINK "#FFC0CB" +#define COLOR_FADED_PINK "#ff80d5" #define COLOR_MAGENTA "#FF00FF" #define COLOR_PURPLE "#800080" #define COLOR_ORANGE "#FF9900" +#define COLOR_LIGHT_ORANGE "#ffc44d" #define COLOR_BEIGE "#CEB689" #define COLOR_BLUE_GRAY "#75A2BB" #define COLOR_BROWN "#BA9F6D" @@ -43,6 +48,7 @@ #define COLOR_PALE_RED_GRAY "#D59998" #define COLOR_PALE_PURPLE_GRAY "#CBB1CA" #define COLOR_PURPLE_GRAY "#AE8CA8" +#define COLOR_DARK_PURPLE "#551A8B" //Color defines used by the assembly detailer. #define COLOR_ASSEMBLY_BLACK "#545454" diff --git a/code/__DEFINES/fonts.dm b/code/__DEFINES/fonts.dm new file mode 100644 index 00000000000..9de897314f1 --- /dev/null +++ b/code/__DEFINES/fonts.dm @@ -0,0 +1,17 @@ +//FONTS: +// Used by Paper and PhotoCopier (and PaperBin once a year). +// Used by PDA's Notekeeper. +// Used by NewsCaster and NewsPaper. +// Used by Modular Computers +/// Font used by regular pens +#define PEN_FONT "Verdana" +/// Font used by fancy pens +#define FOUNTAIN_PEN_FONT "Segoe Script" +/// Font used by crayons +#define CRAYON_FONT "Comic Sans MS" +/// Font used by printers +#define PRINTER_FONT "Times New Roman" +/// Font used by charcoal pens +#define CHARCOAL_FONT "Candara" +/// Font used when signing on paper. +#define SIGNATURE_FONT "Segoe Script" diff --git a/code/__DEFINES/misc.dm b/code/__DEFINES/misc.dm index 6e093378fbe..6bf33c387bd 100644 --- a/code/__DEFINES/misc.dm +++ b/code/__DEFINES/misc.dm @@ -84,18 +84,6 @@ #define GAME_STATE_PLAYING 3 #define GAME_STATE_FINISHED 4 -//FONTS: -// Used by Paper and PhotoCopier (and PaperBin once a year). -// Used by PDA's Notekeeper. -// Used by NewsCaster and NewsPaper. -// Used by Modular Computers -#define PEN_FONT "Verdana" -#define FOUNTAIN_PEN_FONT "Segoe Script" -#define CRAYON_FONT "Comic Sans MS" -#define PRINTER_FONT "Times New Roman" -#define SIGNFONT "Times New Roman" -#define CHARCOAL_FONT "Candara" - #define RESIZE_DEFAULT_SIZE 1 //transfer_ai() defines. Main proc in ai_core.dm diff --git a/code/__DEFINES/paper.dm b/code/__DEFINES/paper.dm new file mode 100644 index 00000000000..c331de6c8d4 --- /dev/null +++ b/code/__DEFINES/paper.dm @@ -0,0 +1,15 @@ +/// Maximum number of characters that we allow on paper. +#define MAX_PAPER_LENGTH 5000 +/// Max number of stamps that can be applied to the paper in tgui. +#define MAX_PAPER_STAMPS 30 +/// Max number of stamp overlays that we'll add to a piece of paper's icon. +#define MAX_PAPER_STAMPS_OVERLAYS 4 +/// Maximum length of input fields. Input fields greater than this length are clamped tgui-side. Input field text input greater than this length is rejected tgui-side, discarded + logged if it reaches DM-side. +#define MAX_PAPER_INPUT_FIELD_LENGTH MAX_NAME_LEN + +/// Should not be able to write on or stamp paper. +#define MODE_READING 0 +/// Should be able to write on paper. +#define MODE_WRITING 1 +/// Should be able to stamp paper. +#define MODE_STAMPING 2 diff --git a/code/__HELPERS/text.dm b/code/__HELPERS/text.dm index 24819c2d030..772c2ff4b0e 100644 --- a/code/__HELPERS/text.dm +++ b/code/__HELPERS/text.dm @@ -582,7 +582,7 @@ GLOBAL_LIST_INIT(alphabet, list("a","b","c","d","e","f","g","h","i","j","k","l", t = parsemarkdown_basic_step1(t) - t = replacetext(t, regex("%s(?:ign)?(?=\\s|$)", "igm"), user ? "[user.real_name]" : "") + t = replacetext(t, regex("%s(?:ign)?(?=\\s|$)", "igm"), user ? "[user.real_name]" : "") t = replacetext(t, regex("%f(?:ield)?(?=\\s|$)", "igm"), "") t = parsemarkdown_basic_step2(t) diff --git a/code/_globalvars/lists/faxes.dm b/code/_globalvars/lists/faxes.dm new file mode 100644 index 00000000000..7188d78590a --- /dev/null +++ b/code/_globalvars/lists/faxes.dm @@ -0,0 +1,22 @@ +/** + * This defines the list of faxes managed by the server administrators. They are not physically present in + * the game, but are shown in the fax list as existing. + * Lists: + * * additional_faxes_list - A list of "legal" faxes available with authorization. + * * syndicate_faxes_list - List of faxes available after hacking. + * + * The list consists of the following elements: + * * fax_name - The name displayed in the fax list. + * * button_color - The color of this fax button in the list of all faxes. + */ +GLOBAL_LIST_INIT(additional_faxes_list, list( + list("fax_name" = "Central Command", "button_color" = "#34c924"), + list("fax_name" = "Whiterapids HQ", "button_color" = "#0041f4"), + list("fax_name" = "Clown Planet", "button_color" = "#f4c800"), +)) + +GLOBAL_LIST_INIT(syndicate_faxes_list, list( + list("fax_name" = "Syndicate Naval Command", "button_color" = "#ff0000"), + list("fax_name" = "Federation of Wizards", "button_color" = "#8b00ff"), + list("fax_name" = "Nar-Sie Church", "button_color" = "#8b0000"), +)) diff --git a/code/controllers/subsystem/communications.dm b/code/controllers/subsystem/communications.dm index 1adaf03bc5c..60b153a718f 100644 --- a/code/controllers/subsystem/communications.dm +++ b/code/controllers/subsystem/communications.dm @@ -37,10 +37,10 @@ SUBSYSTEM_DEF(communications) var/datum/comm_message/M = new(sending.title,sending.content,sending.possible_answers.Copy()) C.add_message(M) if(print) - var/obj/item/paper/P = new /obj/item/paper(C.loc) - P.name = "paper - '[sending.title]'" - P.info = sending.content - P.update_icon() + var/obj/item/paper/printed_paper = new /obj/item/paper(C.loc) + printed_paper.name = "paper - '[sending.title]'" + printed_paper.add_raw_text(sending.content) + printed_paper.update_appearance() #undef COMMUNICATION_COOLDOWN #undef COMMUNICATION_COOLDOWN_AI diff --git a/code/controllers/subsystem/job.dm b/code/controllers/subsystem/job.dm index eb28d91390f..bd62bf9d98e 100644 --- a/code/controllers/subsystem/job.dm +++ b/code/controllers/subsystem/job.dm @@ -795,9 +795,9 @@ SUBSYSTEM_DEF(job) desc = "Proof that you have been approved for Captaincy, with all its glory and all its horror." /obj/item/paper/fluff/spare_id_safe_code/Initialize(mapload) - . = ..() var/id_safe_code = SSjob.spare_id_safe_code - info = "Captain's Spare ID safe code combination: [id_safe_code ? id_safe_code : "\[REDACTED\]"]

The spare ID can be found in its dedicated safe on the bridge." + default_raw_text = "Captain's Spare ID safe code combination: [id_safe_code ? id_safe_code : "\[REDACTED\]"]

The spare ID can be found in its dedicated safe on the bridge." + return ..() /datum/controller/subsystem/job/proc/promote_to_captain(var/mob/dead/new_player/new_captain, acting_captain = FALSE) var/mob/living/carbon/human/H = new_captain.new_character diff --git a/code/datums/wires/fax.dm b/code/datums/wires/fax.dm new file mode 100644 index 00000000000..f5eabbd7822 --- /dev/null +++ b/code/datums/wires/fax.dm @@ -0,0 +1,56 @@ +/datum/wires/fax + holder_type = /obj/machinery/fax + proper_name = "Fax Unit" + +/datum/wires/fax/New(atom/holder) + wires = list( + WIRE_SHOCK, + WIRE_SIGNAL, + WIRE_THROW, + WIRE_LOADCHECK + ) + add_duds(1) + return ..() + +/datum/wires/fax/interactable(mob/user) + . = ..() + if(!.) + return FALSE + var/obj/machinery/fax/machine = holder + if(!issilicon(user) && machine.seconds_electrified && machine.shock(user, 100)) + return FALSE + if(machine.panel_open) + return TRUE + +/datum/wires/fax/get_status() + var/obj/machinery/fax/machine = holder + var/list/status = list() + status += "A red light is [machine.seconds_electrified ? "blinking" : "off"]." + status += "The network light is [machine.visible_to_network ? "on" : "off"]." + status += "The output servo is [machine.hurl_contents ? "spinning rapidly" : "on"]." + status += "The input servo is [machine.allow_exotic_faxes ? "spinning rapidly" : "on"]." + return status + +/datum/wires/fax/on_pulse(wire) + var/obj/machinery/fax/machine = holder + switch(wire) + if(WIRE_SHOCK) + machine.seconds_electrified = MACHINE_DEFAULT_ELECTRIFY_TIME + if(WIRE_SIGNAL) + machine.visible_to_network = !machine.visible_to_network + if(WIRE_THROW) + machine.hurl_contents = !machine.hurl_contents + if(WIRE_LOADCHECK) + machine.allow_exotic_faxes = !machine.allow_exotic_faxes + +/datum/wires/fax/on_cut(wire, mend) + var/obj/machinery/fax/machine = holder + switch(wire) + if(WIRE_SHOCK) + machine.seconds_electrified = (mend) ? MACHINE_NOT_ELECTRIFIED : MACHINE_ELECTRIFIED_PERMANENT + if(WIRE_SIGNAL) + machine.visible_to_network = mend + if(WIRE_THROW) + machine.hurl_contents = !mend + if(WIRE_LOADCHECK) + machine.allow_exotic_faxes = !mend diff --git a/code/game/gamemodes/game_mode.dm b/code/game/gamemodes/game_mode.dm index 53985b501c7..03300874083 100644 --- a/code/game/gamemodes/game_mode.dm +++ b/code/game/gamemodes/game_mode.dm @@ -409,9 +409,12 @@ if(!station_goals.len) return . = "
Special Orders for [station_name()]:
" + var/list/goal_reports = list() for(var/datum/station_goal/station_goal in station_goals) station_goal.on_report() - . += station_goal.get_report() + goal_reports += station_goal.get_report() + + . += goal_reports.Join("
") return // This is a frequency selection system. You may imagine it like a raffle where each player can have some number of tickets. The more tickets you have the more likely you are to diff --git a/code/game/machinery/camera/camera.dm b/code/game/machinery/camera/camera.dm index 3e1d4b30acf..baa9c20ced5 100644 --- a/code/game/machinery/camera/camera.dm +++ b/code/game/machinery/camera/camera.dm @@ -50,6 +50,9 @@ var/internal_light = TRUE //Whether it can light up when an AI views it + /// A copy of the last paper object that was shown to this camera. + var/obj/item/paper/last_shown_paper + /obj/machinery/camera/preset/toxins //Bomb test site in space name = "Hardened Bomb-Test Camera" desc = "A specially-reinforced camera with a long lasting battery, used to monitor the bomb testing site. An external light is attached to the top." @@ -109,6 +112,8 @@ if(bug.current == src) bug.current = null bug = null + + QDEL_NULL(last_shown_paper) return ..() /obj/machinery/camera/examine(mob/user) @@ -223,67 +228,107 @@ return TRUE -/obj/machinery/camera/attackby(obj/item/I, mob/living/user, params) +/obj/machinery/camera/attackby(obj/item/attacking_item, mob/living/user, params) // UPGRADES if(panel_open) var/obj/structure/camera_assembly/assembly = assembly_ref?.resolve() if(!assembly) assembly_ref = null - if(istype(I, /obj/item/stack/sheet/mineral/plasma)) + if(istype(attacking_item, /obj/item/stack/sheet/mineral/plasma)) if(!isEmpProof(TRUE)) //don't reveal it was already upgraded if was done via MALF AI Upgrade Camera Network ability - if(I.use_tool(src, user, 0, amount=1)) + if(attacking_item.use_tool(src, user, 0, amount=1)) upgradeEmpProof(FALSE, TRUE) - to_chat(user, "You attach [I] into [assembly]'s inner circuits.") + to_chat(user, "You attach [attacking_item] into [assembly]'s inner circuits.") else to_chat(user, "[src] already has that upgrade!") return - else if(istype(I, /obj/item/assembly/prox_sensor)) + else if(istype(attacking_item, /obj/item/assembly/prox_sensor)) if(!isMotion()) - if(!user.temporarilyRemoveItemFromInventory(I)) + if(!user.temporarilyRemoveItemFromInventory(attacking_item)) return upgradeMotion() - to_chat(user, "You attach [I] into [assembly]'s inner circuits.") - qdel(I) + to_chat(user, "You attach [attacking_item] into [assembly]'s inner circuits.") + qdel(attacking_item) else to_chat(user, "[src] already has that upgrade!") return // OTHER - if((istype(I, /obj/item/paper) || istype(I, /obj/item/modular_computer/tablet)) && isliving(user)) - var/mob/living/U = user - + if(istype(attacking_item, /obj/item/modular_computer/tablet) && isliving(user)) var/itemname = "" var/info = "" - if(istype(I, /obj/item/paper)) - var/obj/item/paper/pressed_paper = I - itemname = pressed_paper.name - info = pressed_paper.info - if(istype(I, /obj/item/modular_computer/tablet)) - var/obj/item/modular_computer/tablet/computer = I - itemname = computer.name - info = computer.note + var/obj/item/modular_computer/tablet/computer = attacking_item + itemname = computer.name + info = computer.note itemname = sanitize(itemname) - to_chat(U, "You hold \the [itemname] up to the camera...") - U.changeNext_move(CLICK_CD_MELEE) + to_chat(user, "You hold \the [itemname] up to the camera...") + user.log_talk(itemname, LOG_GAME, log_globally=TRUE, tag="Pressed to camera") + user.changeNext_move(CLICK_CD_MELEE) + for(var/mob/O in GLOB.player_list) if(isAI(O)) var/mob/living/silicon/ai/AI = O if(AI.control_disabled || (AI.stat == DEAD)) return - if(U.name == "Unknown") - to_chat(AI, "[U] holds \a [itemname] up to one of your cameras ...") + AI.last_tablet_note_seen = "[itemname][info]" + + if(user.name == "Unknown") + to_chat(AI, "[user] holds \a [itemname] up to one of your cameras ...") else - to_chat(AI, "[U] holds \a [itemname] up to one of your cameras ...") - AI.last_paper_seen = "[itemname][info]" - else if (O.client && O.client.eye == src) - to_chat(O, "[U] holds \a [itemname] up to one of the cameras ...") + to_chat(AI, "[user] holds \a [itemname] up to one of your cameras ...") + continue + + if (O.client?.eye == src) + to_chat(O, "[user] holds \a [itemname] up to one of the cameras ...") O << browse(text("[][]", itemname, info), text("window=[]", itemname)) return - else if(istype(I, /obj/item/camera_bug)) + if(istype(attacking_item, /obj/item/paper)) + // Grab the paper, sanitise the name as we're about to just throw it into chat wrapped in HTML tags. + var/obj/item/paper/paper = attacking_item + + // Make a complete copy of the paper, store a ref to it locally on the camera. + last_shown_paper = paper.copy(paper.type, null) + + // Then sanitise the name because we're putting it directly in chat later. + var/item_name = sanitize(last_shown_paper.name) + + // Start the process of holding it up to the camera. + to_chat(user, "You hold \the [item_name] up to the camera...") + user.log_talk(item_name, LOG_GAME, log_globally=TRUE, tag="Pressed to camera") + user.changeNext_move(CLICK_CD_MELEE) + + // And make a weakref we can throw around to all potential viewers. + last_shown_paper.camera_holder = WEAKREF(src) + + // Iterate over all living mobs and check if anyone is elibile to view the paper. + // This is backwards, but cameras don't store a list of people that are looking through them, + // and we'll have to iterate this list anyway so we can use it to pull out AIs too. + for(var/mob/potential_viewer in GLOB.player_list) + // All AIs view through cameras, so we need to check them regardless. + if(isAI(potential_viewer)) + var/mob/living/silicon/ai/ai = potential_viewer + if(ai.control_disabled || (ai.stat == DEAD)) + continue + + log_paper("[key_name(user)] held [last_shown_paper] up to [src], requesting [key_name(ai)] read it.") + + if(user.name == "Unknown") + to_chat(ai, " holds \a [item_name] up to one of your cameras ...") + else + to_chat(ai, "[user] holds \a [item_name] up to one of your cameras ...") + continue + + // If it's not an AI, eye if the client's eye is set to the camera. I wonder if this even works anymore with tgui camera apps and stuff? + if (potential_viewer.client?.eye == src) + log_paper("[key_name(user)] held [last_shown_paper] up to [src], and [key_name(potential_viewer)] may read it.") + to_chat(potential_viewer, " holds \a [item_name] up to your camera...") + return + + else if(istype(attacking_item, /obj/item/camera_bug)) if(!can_use()) to_chat(user, "Camera non-functional.") return @@ -293,12 +338,12 @@ bug = null else to_chat(user, "Camera bugged.") - bug = I + bug = attacking_item bug.bugged_cameras[src.c_tag] = WEAKREF(src) return - else if(istype(I, /obj/item/pai_cable)) - var/obj/item/pai_cable/cable = I + else if(istype(attacking_item, /obj/item/pai_cable)) + var/obj/item/pai_cable/cable = attacking_item cable.plugin(src, user) return diff --git a/code/game/machinery/cloning.dm b/code/game/machinery/cloning.dm index efe0b5ae01a..f3e600f570d 100644 --- a/code/game/machinery/cloning.dm +++ b/code/game/machinery/cloning.dm @@ -646,7 +646,7 @@ /obj/item/paper/guides/jobs/medical/cloning name = "paper - 'H-87 Cloning Apparatus Manual" - info = {"

Getting Started

+ default_raw_text = {"

Getting Started

Congratulations, your station has purchased the H-87 industrial cloning device!
Using the H-87 is almost as simple as brain surgery! Simply insert the target humanoid into the scanning chamber and select the scan option to create a new profile!
That's all there is to it!
diff --git a/code/game/machinery/computer/card.dm b/code/game/machinery/computer/card.dm index 4b2da591b71..e59af6f9c05 100644 --- a/code/game/machinery/computer/card.dm +++ b/code/game/machinery/computer/card.dm @@ -749,7 +749,7 @@ GLOBAL_VAR_INIT(time_last_changed_position, 0) var/t1 = "Crew Manifest:
" for(var/datum/data/record/t in sortRecord(GLOB.data_core.general)) t1 += t.fields["name"] + " - " + t.fields["rank"] + "
" - P.info = t1 + P.default_raw_text = t1 P.name = "paper- 'Crew Manifest'" printing = null playsound(src, 'sound/machines/terminal_insert_disc.ogg', 50, FALSE) diff --git a/code/game/machinery/computer/medical.dm b/code/game/machinery/computer/medical.dm index 6e698067d27..49696fe8914 100644 --- a/code/game/machinery/computer/medical.dm +++ b/code/game/machinery/computer/medical.dm @@ -510,25 +510,27 @@ GLOB.data_core.medicalPrintCount++ playsound(loc, 'sound/items/poster_being_created.ogg', 100, 1) sleep(30) - var/obj/item/paper/P = new /obj/item/paper( src.loc ) - P.info = "
Medical Record - (MR-[GLOB.data_core.medicalPrintCount])

" + var/obj/item/paper/printed_paper = new /obj/item/paper( src.loc ) + var/final_paper_text = "
Medical Record - (MR-[GLOB.data_core.medicalPrintCount])

" if(active1 in GLOB.data_core.general) - P.info += text("Name: [] ID: []
\nGender: []
\nSex: []
\nAge: []
", src.active1.fields["name"], src.active1.fields["id"], src.active1.fields["gender"], src.active1.fields["sex"], src.active1.fields["age"]) //NSV13 - P.info += "\nSpecies: [active1.fields["species"]]
" - P.info += text("\nFingerprint: []
\nPhysical Status: []
\nMental Status: []
", src.active1.fields["fingerprint"], src.active1.fields["p_stat"], src.active1.fields["m_stat"]) + final_paper_text += text("Name: [] ID: []
\nGender: []
\nSex: []
\nAge: []
", src.active1.fields["name"], src.active1.fields["id"], src.active1.fields["gender"], src.active1.fields["sex"], src.active1.fields["age"]) //NSV13 + final_paper_text += "\nSpecies: [active1.fields["species"]]
" + final_paper_text += text("\nFingerprint: []
\nPhysical Status: []
\nMental Status: []
", src.active1.fields["fingerprint"], src.active1.fields["p_stat"], src.active1.fields["m_stat"]) else - P.info += "General Record Lost!
" + final_paper_text += "General Record Lost!
" if(active2 in GLOB.data_core.medical) - P.info += text("
\n
Medical Data

\nBlood Type: []
\nDNA: []
\n
\nMinor Disabilities: []
\nDetails: []
\n
\nMajor Disabilities: []
\nDetails: []
\n
\nAllergies: []
\nDetails: []
\n
\nCurrent Diseases: [] (per disease info placed in log/comment section)
\nDetails: []
\n
\nImportant Notes:
\n\t[]
\n
\n
Comments/Log

", src.active2.fields["blood_type"], src.active2.fields["b_dna"], src.active2.fields["mi_dis"], src.active2.fields["mi_dis_d"], src.active2.fields["ma_dis"], src.active2.fields["ma_dis_d"], src.active2.fields["alg"], src.active2.fields["alg_d"], src.active2.fields["cdi"], src.active2.fields["cdi_d"], src.active2.fields["notes"]) + final_paper_text += text("
\n
Medical Data

\nBlood Type: []
\nDNA: []
\n
\nMinor Disabilities: []
\nDetails: []
\n
\nMajor Disabilities: []
\nDetails: []
\n
\nAllergies: []
\nDetails: []
\n
\nCurrent Diseases: [] (per disease info placed in log/comment section)
\nDetails: []
\n
\nImportant Notes:
\n\t[]
\n
\n
Comments/Log

", src.active2.fields["blood_type"], src.active2.fields["b_dna"], src.active2.fields["mi_dis"], src.active2.fields["mi_dis_d"], src.active2.fields["ma_dis"], src.active2.fields["ma_dis_d"], src.active2.fields["alg"], src.active2.fields["alg_d"], src.active2.fields["cdi"], src.active2.fields["cdi_d"], src.active2.fields["notes"]) var/counter = 1 while(src.active2.fields[text("com_[]", counter)]) - P.info += text("[]
", src.active2.fields[text("com_[]", counter)]) + final_paper_text += text("[]
", src.active2.fields[text("com_[]", counter)]) counter++ - P.name = text("MR-[] '[]'", GLOB.data_core.medicalPrintCount, src.active1.fields["name"]) + printed_paper.name = text("MR-[] '[]'", GLOB.data_core.medicalPrintCount, src.active1.fields["name"]) else - P.info += "Medical Record Lost!
" - P.name = text("MR-[] '[]'", GLOB.data_core.medicalPrintCount, "Record Lost") - P.info += "" + final_paper_text += "Medical Record Lost!
" + printed_paper.name = text("MR-[] '[]'", GLOB.data_core.medicalPrintCount, "Record Lost") + final_paper_text += "" + printed_paper.add_raw_text(final_paper_text) + printed_paper.update_appearance() src.printing = null src.add_fingerprint(usr) diff --git a/code/game/machinery/computer/robot.dm b/code/game/machinery/computer/robot.dm index ca15eebef36..b71385ebbd9 100644 --- a/code/game/machinery/computer/robot.dm +++ b/code/game/machinery/computer/robot.dm @@ -27,7 +27,7 @@ //obj/machinery/computer/robotics/proc/extraction(mob/user) //NSV13 We don't need this // var/obj/item/paper/P = new /obj/item/paper(loc) // P.name = "Silicon Upload key" -// P.info = "Current Upload key is: [GLOB.upload_code]" +// P.add_raw_text("Current Upload key is: [GLOB.upload_code]") // extracting = FALSE // ui_update() diff --git a/code/game/machinery/computer/security.dm b/code/game/machinery/computer/security.dm index b2a27e8edf1..c989b0c8547 100644 --- a/code/game/machinery/computer/security.dm +++ b/code/game/machinery/computer/security.dm @@ -551,19 +551,19 @@ What a mess.*/ GLOB.data_core.securityPrintCount++ playsound(loc, 'sound/items/poster_being_created.ogg', 100, 1) sleep(30) - var/obj/item/paper/P = new /obj/item/paper( loc ) - P.info = "
Security Record - (SR-[GLOB.data_core.securityPrintCount])

" + var/obj/item/paper/printed_paper = new /obj/item/paper( loc ) + var/final_paper_text = "
Security Record - (SR-[GLOB.data_core.securityPrintCount])

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

\nCriminal Status: []", active2.fields["criminal"]) + final_paper_text += text("
\n
Security Data

\nCriminal Status: []", active2.fields["criminal"]) - P.info += "
\n
\nCrimes:
\n" - P.info +={" + final_paper_text += "
\n
\nCrimes:
\n" + final_paper_text +={"
@@ -571,23 +571,25 @@ What a mess.*/ "} for(var/datum/data/crime/c in active2.fields["crim"]) - P.info += "" - P.info += "" - P.info += "" - P.info += "" - P.info += "" - P.info += "
Crime DetailsTime Added
[c.crimeName][c.crimeDetails][c.author][c.time]
" - - P.info += text("
\nImportant Notes:
\n\t[]
\n
\n
Comments/Log

", active2.fields["notes"]) + final_paper_text += "[c.crimeName]" + final_paper_text += "[c.crimeDetails]" + final_paper_text += "[c.author]" + final_paper_text += "[c.time]" + final_paper_text += "" + final_paper_text += "" + + final_paper_text += text("
\nImportant Notes:
\n\t[]
\n
\n
Comments/Log

", active2.fields["notes"]) var/counter = 1 while(active2.fields[text("com_[]", counter)]) - P.info += text("[]
", active2.fields[text("com_[]", counter)]) + final_paper_text += text("[]
", active2.fields[text("com_[]", counter)]) counter++ - P.name = text("SR-[] '[]'", GLOB.data_core.securityPrintCount, active1.fields["name"]) + printed_paper.name = text("SR-[] '[]'", GLOB.data_core.securityPrintCount, active1.fields["name"]) else - P.info += "Security Record Lost!
" - P.name = text("SR-[] '[]'", GLOB.data_core.securityPrintCount, "Record Lost") - P.info += "" + final_paper_text += "Security Record Lost!
" + printed_paper.name = text("SR-[] '[]'", GLOB.data_core.securityPrintCount, "Record Lost") + final_paper_text += "" + printed_paper.add_raw_text(final_paper_text) + printed_paper.update_appearance() printing = null if("Print Poster") if(!( printing )) diff --git a/code/game/machinery/doppler_array.dm b/code/game/machinery/doppler_array.dm index 21d3f90f28d..d889055a81f 100644 --- a/code/game/machinery/doppler_array.dm +++ b/code/game/machinery/doppler_array.dm @@ -101,7 +101,7 @@ if(record) name = "paper - [record.name]" - info += {"

[record.name]

+ default_raw_text += {"

[record.name]

"} if(length(record.theory_radius)) - info += {"