diff --git a/_maps/RandomRuins/BeachRuins/beach_colony.dmm b/_maps/RandomRuins/BeachRuins/beach_colony.dmm index 95f9f4baa89c..05a810e004ad 100644 --- a/_maps/RandomRuins/BeachRuins/beach_colony.dmm +++ b/_maps/RandomRuins/BeachRuins/beach_colony.dmm @@ -383,7 +383,7 @@ }, /area/overmap_encounter/planetoid/beachplanet/explored) "NG" = ( -/obj/item/gun/ballistic/automatic/pistol/m1911/no_mag{ +/obj/item/gun/ballistic/automatic/pistol/candor/no_mag{ pixel_x = 13 }, /obj/item/toy/plush/carpplushie{ diff --git a/_maps/RandomRuins/BeachRuins/beach_crashed_starwalker.dmm b/_maps/RandomRuins/BeachRuins/beach_crashed_starwalker.dmm index 87df4d5dc092..346458a87daf 100644 --- a/_maps/RandomRuins/BeachRuins/beach_crashed_starwalker.dmm +++ b/_maps/RandomRuins/BeachRuins/beach_crashed_starwalker.dmm @@ -3374,7 +3374,7 @@ /obj/structure/cable/orange{ icon_state = "2-10" }, -/obj/item/gun/ballistic/shotgun/lethal, +/obj/item/gun/ballistic/shotgun/brimstone, /obj/structure/spacevine, /turf/open/floor/mineral/plastitanium, /area/ruin/beach/starwalker) diff --git a/_maps/RandomRuins/BeachRuins/beach_fishing_hut.dmm b/_maps/RandomRuins/BeachRuins/beach_fishing_hut.dmm index 588fe99b9792..3b801c086ff3 100644 --- a/_maps/RandomRuins/BeachRuins/beach_fishing_hut.dmm +++ b/_maps/RandomRuins/BeachRuins/beach_fishing_hut.dmm @@ -297,7 +297,7 @@ "mD" = ( /obj/structure/table/wood, /obj/machinery/light/small/directional/north, -/obj/item/gun/ballistic/shotgun/winchester, +/obj/item/gun/ballistic/shotgun/flamingarrow, /turf/open/floor/wood, /area/ruin/beach) "mE" = ( diff --git a/_maps/RandomRuins/IceRuins/icemoon_hydroponics_lab.dmm b/_maps/RandomRuins/IceRuins/icemoon_hydroponics_lab.dmm index 96126bfbaf4e..67613238e83d 100644 --- a/_maps/RandomRuins/IceRuins/icemoon_hydroponics_lab.dmm +++ b/_maps/RandomRuins/IceRuins/icemoon_hydroponics_lab.dmm @@ -870,7 +870,7 @@ /turf/open/floor/plasteel/tech, /area/ruin/powered/hydroponicslab) "oo" = ( -/obj/item/gun/ballistic/automatic/pistol/m1911/no_mag{ +/obj/item/gun/ballistic/automatic/pistol/candor/no_mag{ pixel_x = 2; pixel_y = -3 }, @@ -1794,7 +1794,7 @@ /area/ruin/powered/hydroponicslab) "Mz" = ( /obj/effect/decal/cleanable/blood, -/obj/item/gun/ballistic/automatic/pistol/m1911/no_mag, +/obj/item/gun/ballistic/automatic/pistol/candor/no_mag, /obj/effect/turf_decal/techfloor{ dir = 4 }, diff --git a/_maps/RandomRuins/IceRuins/icemoon_underground_drakelair.dmm b/_maps/RandomRuins/IceRuins/icemoon_underground_drakelair.dmm index 4c8ccc99dfcb..f089a09b8fba 100644 --- a/_maps/RandomRuins/IceRuins/icemoon_underground_drakelair.dmm +++ b/_maps/RandomRuins/IceRuins/icemoon_underground_drakelair.dmm @@ -127,7 +127,8 @@ "iT" = ( /obj/structure/stone_tile/slab, /mob/living/simple_animal/hostile/megafauna/dragon/icemoon{ - loot = list(/obj/structure/closet/crate/necropolis/dragon,/obj/item/keycard/gatedrop/drakelair) + loot = list(/obj/structure/closet/crate/necropolis/dragon,/obj/item/keycard/gatedrop/drakelair); + crusher_loot = list(/obj/structure/closet/crate/necropolis/dragon/crusher,/obj/item/keycard/gatedrop/drakelair) }, /turf/open/indestructible/boss, /area/ruin) diff --git a/_maps/RandomRuins/IceRuins/icemoon_underground_hermit.dmm b/_maps/RandomRuins/IceRuins/icemoon_underground_hermit.dmm index 06f364c61fea..3f105e83ef81 100644 --- a/_maps/RandomRuins/IceRuins/icemoon_underground_hermit.dmm +++ b/_maps/RandomRuins/IceRuins/icemoon_underground_hermit.dmm @@ -56,7 +56,7 @@ /turf/open/floor/wood, /area/ruin/powered) "sC" = ( -/obj/item/gun/ballistic/rifle/boltaction, +/obj/item/gun/ballistic/rifle/illestren, /obj/structure/table/wood, /obj/item/flashlight/lantern, /turf/open/floor/wood, diff --git a/_maps/RandomRuins/JungleRuins/jungle_cavecrew.dmm b/_maps/RandomRuins/JungleRuins/jungle_cavecrew.dmm index cca97a317ce2..b27656ab1742 100644 --- a/_maps/RandomRuins/JungleRuins/jungle_cavecrew.dmm +++ b/_maps/RandomRuins/JungleRuins/jungle_cavecrew.dmm @@ -1379,7 +1379,7 @@ /obj/item/gun/ballistic/shotgun/automatic/combat{ pixel_y = 5 }, -/obj/item/gun/ballistic/revolver/nagant{ +/obj/item/gun/ballistic/revolver/ashhand{ pixel_y = -1 }, /turf/open/floor/plasteel/tech, @@ -1760,13 +1760,12 @@ pixel_x = -3; pixel_y = -5 }, -/obj/item/ammo_box/n762_clip, -/obj/item/ammo_box/n762, +/obj/item/ammo_casing/a4570, /obj/item/ammo_box/magazine/aks74u, /obj/item/ammo_box/magazine/aks74u, /obj/item/ammo_box/magazine/aks74u, -/obj/item/ammo_box/n762, -/obj/item/ammo_box/n762_clip, +/obj/item/ammo_box/magazine/illestren_a850r, +/obj/item/ammo_box/magazine/illestren_a850r, /turf/open/floor/plasteel/tech, /area/ruin/jungle/cavecrew/security) "vr" = ( @@ -3119,7 +3118,7 @@ /obj/structure/table/reinforced{ color = "#c1b6a5" }, -/obj/machinery/fax/frontiersmen, +/obj/machinery/fax/ruin, /turf/open/floor/plasteel/tech, /area/ruin/jungle/cavecrew/bridge) "Ls" = ( diff --git a/_maps/RandomRuins/JungleRuins/jungle_demon.dmm b/_maps/RandomRuins/JungleRuins/jungle_demon.dmm index adbb037af38c..523c618d2244 100644 --- a/_maps/RandomRuins/JungleRuins/jungle_demon.dmm +++ b/_maps/RandomRuins/JungleRuins/jungle_demon.dmm @@ -515,7 +515,7 @@ /obj/effect/decal/cleanable/dirt, /obj/machinery/suit_storage_unit/inherit, /obj/item/tank/internals/oxygen/red, -/obj/item/clothing/suit/space/hardsuit/syndi, +/obj/item/clothing/suit/space/hardsuit/syndi/ramzi, /obj/item/clothing/mask/gas/syndicate, /turf/open/floor/plasteel/dark, /area/ruin/powered) diff --git a/_maps/RandomRuins/JungleRuins/jungle_medtech_outbreak.dmm b/_maps/RandomRuins/JungleRuins/jungle_medtech_outbreak.dmm index 7aa1aa7bfd2c..720ed17fc830 100644 --- a/_maps/RandomRuins/JungleRuins/jungle_medtech_outbreak.dmm +++ b/_maps/RandomRuins/JungleRuins/jungle_medtech_outbreak.dmm @@ -745,7 +745,7 @@ /obj/effect/mob_spawn/human/corpse/assistant{ outfit = /datum/outfit/job/chemist }, -/obj/item/gun/ballistic/automatic/pistol/m1911/no_mag{ +/obj/item/gun/ballistic/automatic/pistol/candor/no_mag{ pixel_y = -13 }, /turf/open/floor/plating/dirt/jungle/wasteland/lit, diff --git a/_maps/RandomRuins/JungleRuins/jungle_pirate.dmm b/_maps/RandomRuins/JungleRuins/jungle_pirate.dmm index 55bb54c7012d..83f17d9f7026 100644 --- a/_maps/RandomRuins/JungleRuins/jungle_pirate.dmm +++ b/_maps/RandomRuins/JungleRuins/jungle_pirate.dmm @@ -265,7 +265,7 @@ /turf/open/floor/wood, /area/ruin/unpowered) "LD" = ( -/obj/item/ammo_box/n762, +/obj/item/ammo_box/c45_speedloader, /obj/structure/table/wood/poker, /turf/open/floor/wood, /area/ruin/unpowered) @@ -313,9 +313,9 @@ /area/ruin/unpowered) "Sk" = ( /obj/structure/safe, -/obj/item/gun/ballistic/shotgun/lethal, -/obj/item/gun/ballistic/shotgun/lethal, -/obj/item/gun/ballistic/shotgun/lethal, +/obj/item/gun/ballistic/shotgun/brimstone, +/obj/item/gun/ballistic/shotgun/brimstone, +/obj/item/gun/ballistic/shotgun/brimstone, /obj/item/gun/grenadelauncher, /turf/open/floor/wood, /area/ruin/unpowered) diff --git a/_maps/RandomRuins/JungleRuins/jungle_syndicate.dmm b/_maps/RandomRuins/JungleRuins/jungle_syndicate.dmm index 018739e20dc4..ebd333289382 100644 --- a/_maps/RandomRuins/JungleRuins/jungle_syndicate.dmm +++ b/_maps/RandomRuins/JungleRuins/jungle_syndicate.dmm @@ -1330,7 +1330,7 @@ "OW" = ( /obj/structure/table/reinforced, /obj/item/trash/syndi_cakes, -/obj/machinery/fax, +/obj/machinery/fax/ruin, /turf/open/floor/plating, /area/ruin/jungle/syndifort/jerry) "Ph" = ( diff --git a/_maps/RandomRuins/LavaRuins/lavaland_surface_fuckedupandevilclub.dmm b/_maps/RandomRuins/LavaRuins/lavaland_surface_fuckedupandevilclub.dmm index 98488b286f8d..2cffcb4d76bd 100644 --- a/_maps/RandomRuins/LavaRuins/lavaland_surface_fuckedupandevilclub.dmm +++ b/_maps/RandomRuins/LavaRuins/lavaland_surface_fuckedupandevilclub.dmm @@ -562,7 +562,7 @@ /obj/structure/table/reinforced, /obj/item/ammo_casing/shotgun/incendiary, /obj/item/ammo_casing/shotgun/dragonsbreath, -/obj/item/gun/ballistic/shotgun/lethal, +/obj/item/gun/ballistic/shotgun/brimstone, /turf/open/floor/plasteel/cult, /area/ruin/unpowered) "OF" = ( diff --git a/_maps/RandomRuins/RockRuins/rockplanet_budgetcuts.dmm b/_maps/RandomRuins/RockRuins/rockplanet_budgetcuts.dmm index 9cf2b5a40bae..74e490508f4b 100644 --- a/_maps/RandomRuins/RockRuins/rockplanet_budgetcuts.dmm +++ b/_maps/RandomRuins/RockRuins/rockplanet_budgetcuts.dmm @@ -2130,7 +2130,7 @@ pixel_x = 5; pixel_y = -9 }, -/obj/item/gun/ballistic/automatic/pistol/m1911/no_mag, +/obj/item/gun/ballistic/automatic/pistol/candor/no_mag, /obj/machinery/door/firedoor, /turf/open/floor/plasteel, /area/ruin/powered) diff --git a/_maps/RandomRuins/RockRuins/rockplanet_house.dmm b/_maps/RandomRuins/RockRuins/rockplanet_house.dmm index 275e2b7b1c17..e06f8a456840 100644 --- a/_maps/RandomRuins/RockRuins/rockplanet_house.dmm +++ b/_maps/RandomRuins/RockRuins/rockplanet_house.dmm @@ -11,7 +11,7 @@ /area/ruin/unpowered) "h" = ( /obj/structure/table/wood, -/obj/item/gun/ballistic/automatic/pistol/m1911, +/obj/item/gun/ballistic/automatic/pistol/candor, /obj/item/ammo_box/magazine/m45, /obj/effect/gibspawner/human/bodypartless, /obj/item/ammo_box/magazine/m45, diff --git a/_maps/RandomRuins/RockRuins/rockplanet_miningexpedition.dmm b/_maps/RandomRuins/RockRuins/rockplanet_miningexpedition.dmm index e4f0f716266c..f617a687b16c 100644 --- a/_maps/RandomRuins/RockRuins/rockplanet_miningexpedition.dmm +++ b/_maps/RandomRuins/RockRuins/rockplanet_miningexpedition.dmm @@ -41,6 +41,12 @@ /obj/structure/sign/poster/contraband/tools, /turf/closed/wall/r_wall/rust, /area/ruin/unpowered) +"js" = ( +/obj/item/chair, +/obj/effect/decal/cleanable/blood, +/obj/item/gun/ballistic/automatic/pistol/candor, +/turf/open/floor/plasteel/grimy, +/area/ruin/unpowered) "lg" = ( /obj/structure/table, /obj/machinery/microwave, @@ -162,6 +168,12 @@ /obj/machinery/vending/mining_equipment, /turf/open/floor/plasteel/mono, /area/ruin/unpowered) +"Cy" = ( +/obj/effect/decal/cleanable/blood, +/obj/effect/mob_spawn/human/miner, +/obj/item/pickaxe, +/turf/open/floor/plating/asteroid/rockplanet/lit, +/area/overmap_encounter/planetoid/rockplanet/explored) "CL" = ( /obj/structure/sign/poster/random, /turf/closed/wall/r_wall/rust, @@ -262,12 +274,6 @@ }, /turf/open/floor/plasteel/rockvault, /area/ruin/unpowered) -"Qo" = ( -/obj/effect/decal/cleanable/blood, -/obj/effect/mob_spawn/human/miner, -/obj/item/pickaxe, -/turf/open/floor/plating/asteroid/rockplanet/lit, -/area/overmap_encounter/planetoid/rockplanet/explored) "Qr" = ( /obj/effect/turf_decal/rechargefloor, /obj/structure/mecha_wreckage/ripley, @@ -293,12 +299,6 @@ /obj/machinery/light/broken/directional/east, /turf/open/floor/plasteel/grimy, /area/ruin/unpowered) -"TI" = ( -/obj/item/chair, -/obj/effect/decal/cleanable/blood, -/obj/item/gun/ballistic/automatic/pistol/m1911, -/turf/open/floor/plasteel/grimy, -/area/ruin/unpowered) "Uu" = ( /obj/machinery/light/broken/directional/north, /obj/effect/decal/cleanable/oil, @@ -448,7 +448,7 @@ tN (5,1,1) = {" yZ yZ -Qo +Cy yZ Vw YN @@ -523,7 +523,7 @@ yZ tN yZ Vw -TI +js Wz Vw yZ diff --git a/_maps/RandomRuins/RockRuins/rockplanet_nomadcrash.dmm b/_maps/RandomRuins/RockRuins/rockplanet_nomadcrash.dmm index 5fee55e35c6d..35c9612a7998 100644 --- a/_maps/RandomRuins/RockRuins/rockplanet_nomadcrash.dmm +++ b/_maps/RandomRuins/RockRuins/rockplanet_nomadcrash.dmm @@ -1128,7 +1128,7 @@ /obj/item/ammo_box/magazine/m45{ pixel_x = 7 }, -/obj/item/gun/ballistic/automatic/pistol/m1911/no_mag, +/obj/item/gun/ballistic/automatic/pistol/candor/no_mag, /turf/open/floor/plating/ashplanet/rocky, /area/ruin/rockplanet/nanotrasen) "HG" = ( diff --git a/_maps/RandomRuins/RockRuins/rockplanet_saloon.dmm b/_maps/RandomRuins/RockRuins/rockplanet_saloon.dmm index a7af51d9a489..8a494f719a2c 100644 --- a/_maps/RandomRuins/RockRuins/rockplanet_saloon.dmm +++ b/_maps/RandomRuins/RockRuins/rockplanet_saloon.dmm @@ -477,7 +477,7 @@ pixel_x = 4; pixel_y = 6 }, -/obj/item/gun/ballistic/shotgun/riot{ +/obj/item/gun/ballistic/shotgun/hellfire{ pixel_x = -10; pixel_y = 2 }, diff --git a/_maps/RandomRuins/SandRuins/whitesands_surface_camp_combination.dmm b/_maps/RandomRuins/SandRuins/whitesands_surface_camp_combination.dmm index aaea1e5ca79d..379e35a7d2f9 100644 --- a/_maps/RandomRuins/SandRuins/whitesands_surface_camp_combination.dmm +++ b/_maps/RandomRuins/SandRuins/whitesands_surface_camp_combination.dmm @@ -744,7 +744,7 @@ /area/ruin) "Df" = ( /obj/structure/table, -/obj/item/gun/ballistic/rifle/boltaction/polymer, +/obj/item/gun/ballistic/rifle/polymer, /turf/open/floor/concrete, /area/ruin) "Di" = ( @@ -882,7 +882,7 @@ "Hn" = ( /obj/structure/closet/secure_closet/hydroponics, /obj/item/circuitboard/machine/plantgenes, -/obj/item/gun/ballistic/rifle/boltaction/polymer, +/obj/item/gun/ballistic/rifle/polymer, /turf/open/floor/wood, /area/ruin) "HP" = ( @@ -923,7 +923,7 @@ /area/overmap_encounter/planetoid/sand/explored) "Ig" = ( /obj/structure/table, -/obj/item/gun/ballistic/automatic/pistol/m1911, +/obj/item/gun/ballistic/automatic/pistol/candor, /turf/open/floor/concrete, /area/ruin) "Io" = ( diff --git a/_maps/RandomRuins/SandRuins/whitesands_surface_camp_saloon.dmm b/_maps/RandomRuins/SandRuins/whitesands_surface_camp_saloon.dmm index 6b6f03797383..673b21cf90ae 100644 --- a/_maps/RandomRuins/SandRuins/whitesands_surface_camp_saloon.dmm +++ b/_maps/RandomRuins/SandRuins/whitesands_surface_camp_saloon.dmm @@ -1342,7 +1342,7 @@ /area/ruin/whitesands/saloon) "Oc" = ( /obj/structure/closet/cabinet, -/obj/item/gun/ballistic/shotgun/riot, +/obj/item/gun/ballistic/shotgun/hellfire, /obj/item/storage/box/rubbershot{ pixel_x = -5; pixel_y = 5 diff --git a/_maps/RandomRuins/SandRuins/whitesands_surface_starfurycrash.dmm b/_maps/RandomRuins/SandRuins/whitesands_surface_starfurycrash.dmm index 00a0e830f8c2..bc8616028058 100644 --- a/_maps/RandomRuins/SandRuins/whitesands_surface_starfurycrash.dmm +++ b/_maps/RandomRuins/SandRuins/whitesands_surface_starfurycrash.dmm @@ -637,7 +637,7 @@ /area/overmap_encounter/planetoid/cave/explored) "KT" = ( /obj/structure/safe/floor, -/obj/item/clothing/suit/space/hardsuit/syndi, +/obj/item/clothing/suit/space/hardsuit/syndi/ramzi, /obj/item/documents/syndicate, /turf/open/floor/plating{ icon_state = "panelscorched"; diff --git a/_maps/RandomRuins/SpaceRuins/bigderelict1.dmm b/_maps/RandomRuins/SpaceRuins/bigderelict1.dmm index 58799b7c71ca..a4f6006bf88b 100644 --- a/_maps/RandomRuins/SpaceRuins/bigderelict1.dmm +++ b/_maps/RandomRuins/SpaceRuins/bigderelict1.dmm @@ -522,7 +522,7 @@ /turf/open/floor/plasteel, /area/ruin/space/has_grav/derelictoutpost/powerstorage) "bI" = ( -/obj/item/gun/ballistic/automatic/pistol/m1911{ +/obj/item/gun/ballistic/automatic/pistol/candor{ spawnwithmagazine = 0 }, /turf/open/floor/plasteel, @@ -1333,7 +1333,7 @@ desc = "A thick gelatinous surface covers the floor. Someone get the golashes."; name = "gelatinous floor" }, -/obj/item/gun/ballistic/automatic/pistol/m1911{ +/obj/item/gun/ballistic/automatic/pistol/candor{ spawnwithmagazine = 0 }, /obj/item/ammo_box/magazine/m45, @@ -1493,7 +1493,7 @@ /turf/open/floor/plating, /area/ruin/space/has_grav/derelictoutpost) "dJ" = ( -/obj/item/gun/ballistic/automatic/pistol/m1911{ +/obj/item/gun/ballistic/automatic/pistol/candor{ spawnwithmagazine = 0 }, /obj/structure/alien/weeds{ diff --git a/_maps/RandomRuins/SpaceRuins/corporate_mining.dmm b/_maps/RandomRuins/SpaceRuins/corporate_mining.dmm index 6ed5ed67825f..3585b4dcc1e3 100644 --- a/_maps/RandomRuins/SpaceRuins/corporate_mining.dmm +++ b/_maps/RandomRuins/SpaceRuins/corporate_mining.dmm @@ -956,7 +956,7 @@ /area/ruin/space) "xK" = ( /obj/structure/table/wood, -/obj/machinery/fax, +/obj/machinery/fax/ruin, /turf/open/floor/wood, /area/ruin/space/has_grav/corporatemine/crewquarters) "xT" = ( diff --git a/_maps/RandomRuins/SpaceRuins/fueldepot.dmm b/_maps/RandomRuins/SpaceRuins/fueldepot.dmm index 478e36ffe5bb..abe9e9f4562c 100644 --- a/_maps/RandomRuins/SpaceRuins/fueldepot.dmm +++ b/_maps/RandomRuins/SpaceRuins/fueldepot.dmm @@ -224,7 +224,7 @@ dir = 8 }, /obj/effect/decal/cleanable/dirt/dust, -/obj/item/gun/ballistic/shotgun/lethal, +/obj/item/gun/ballistic/shotgun/brimstone, /turf/open/floor/mineral/plastitanium, /area/ruin/unpowered) "hL" = ( diff --git a/_maps/RandomRuins/SpaceRuins/lab4071.dmm b/_maps/RandomRuins/SpaceRuins/lab4071.dmm index b69f076fa2f6..86829ac573bd 100644 --- a/_maps/RandomRuins/SpaceRuins/lab4071.dmm +++ b/_maps/RandomRuins/SpaceRuins/lab4071.dmm @@ -3369,7 +3369,7 @@ pixel_y = -2 }, /obj/item/ammo_box/magazine/m45, -/obj/item/gun/ballistic/automatic/pistol/m1911{ +/obj/item/gun/ballistic/automatic/pistol/candor{ pixel_x = -3; pixel_y = 5 }, diff --git a/_maps/RandomRuins/SpaceRuins/onehalf.dmm b/_maps/RandomRuins/SpaceRuins/onehalf.dmm index d613f4bcf8f8..ed19285b586e 100644 --- a/_maps/RandomRuins/SpaceRuins/onehalf.dmm +++ b/_maps/RandomRuins/SpaceRuins/onehalf.dmm @@ -920,7 +920,7 @@ /obj/structure/safe/floor, /obj/item/tank/internals/oxygen/red, /obj/item/clothing/mask/gas/syndicate, -/obj/item/clothing/suit/space/hardsuit/syndi, +/obj/item/clothing/suit/space/hardsuit/syndi/ramzi, /obj/item/reagent_containers/food/drinks/bottle/rum, /obj/item/reagent_containers/food/drinks/bottle/rum, /obj/item/folder/syndicate/mining, diff --git a/_maps/RandomRuins/WasteRuins/wasteplanet_fortress_of_solitide.dmm b/_maps/RandomRuins/WasteRuins/wasteplanet_fortress_of_solitide.dmm index 66ab48f18a92..e931e0091d26 100644 --- a/_maps/RandomRuins/WasteRuins/wasteplanet_fortress_of_solitide.dmm +++ b/_maps/RandomRuins/WasteRuins/wasteplanet_fortress_of_solitide.dmm @@ -401,7 +401,7 @@ /area/ruin/powered) "dT" = ( /obj/structure/table/wood, -/obj/machinery/fax, +/obj/machinery/fax/ruin, /turf/open/floor/plating, /area/ruin/powered) "dU" = ( diff --git a/_maps/RandomRuins/WasteRuins/wasteplanet_lab.dmm b/_maps/RandomRuins/WasteRuins/wasteplanet_lab.dmm index 617cde29db7b..c1ba42b3c415 100644 --- a/_maps/RandomRuins/WasteRuins/wasteplanet_lab.dmm +++ b/_maps/RandomRuins/WasteRuins/wasteplanet_lab.dmm @@ -99,7 +99,7 @@ /area/ruin/powered) "fq" = ( /obj/structure/table, -/obj/item/ammo_box/n762, +/obj/item/ammo_box/c45_speedloader, /turf/open/floor/plasteel/mono/white, /area/ruin/powered) "fJ" = ( @@ -165,12 +165,6 @@ "hl" = ( /turf/open/floor/plasteel/mono/dark, /area/ruin/powered) -"hL" = ( -/obj/structure/displaycase/noalert{ - start_showpiece_type = /obj/item/ammo_box/magazine/sniper_rounds - }, -/turf/open/floor/plasteel, -/area/ruin/powered) "ih" = ( /obj/structure/table/wood/reinforced, /obj/item/stack/sheet/mineral/uranium/five, @@ -207,12 +201,6 @@ /obj/effect/decal/cleanable/dirt, /turf/open/floor/plasteel, /area/ruin/powered) -"iE" = ( -/obj/structure/displaycase/noalert{ - start_showpiece_type = /obj/item/ammo_box/magazine/mm712x82 - }, -/turf/open/floor/plasteel, -/area/ruin/powered) "jn" = ( /obj/effect/turf_decal/industrial/warning{ dir = 1 @@ -313,12 +301,6 @@ /obj/item/modular_computer/laptop/preset, /turf/open/floor/plasteel/dark, /area/ruin/powered) -"os" = ( -/obj/structure/displaycase/noalert{ - start_showpiece_type = /obj/item/ammo_box/magazine/smgm45 - }, -/turf/open/floor/plasteel, -/area/ruin/powered) "ov" = ( /obj/effect/turf_decal/corner/transparent/neutral/diagonal, /obj/machinery/autolathe/hacked, @@ -496,9 +478,7 @@ /turf/open/floor/plasteel/white, /area/ruin/powered) "wf" = ( -/obj/structure/displaycase/noalert{ - start_showpiece_type = /obj/item/ammo_box/magazine/co9mm - }, +/obj/item/kirbyplants/random, /turf/open/floor/plasteel, /area/ruin/powered) "wp" = ( @@ -626,9 +606,7 @@ /area/ruin/powered) "BK" = ( /obj/effect/decal/cleanable/dirt, -/obj/structure/displaycase/noalert{ - start_showpiece_type = /obj/item/ammo_box/magazine/mm712x82 - }, +/obj/item/kirbyplants/random, /turf/open/floor/plasteel, /area/ruin/powered) "Cl" = ( @@ -866,9 +844,7 @@ /turf/open/floor/plasteel, /area/ruin/powered) "Ta" = ( -/obj/structure/displaycase/noalert{ - start_showpiece_type = /obj/item/ammo_box/magazine/ebr - }, +/obj/item/kirbyplants/random, /turf/open/floor/plating/rust, /area/ruin/powered) "Tb" = ( @@ -1179,7 +1155,7 @@ Rw Rw Rw Ta -iE +wf wf GR tD @@ -1529,9 +1505,9 @@ Rw Rw Rw Rw -os +wf BK -hL +wf GR tD tD diff --git a/_maps/configs/inteq_valor.json b/_maps/configs/inteq_valor.json new file mode 100644 index 000000000000..92162ac1a5da --- /dev/null +++ b/_maps/configs/inteq_valor.json @@ -0,0 +1,40 @@ +{ + "$schema": "https://raw.githubusercontent.com/shiptest-ss13/Shiptest/master/_maps/ship_config_schema.json", + "map_name": "Valor-Class Field Care Cruiser", + "prefix": "IRMV", + "description": "The Valor is the dedicated medical vessel of the Inteq fleet, suitable for treatment both for Inteq combat casualties, or paid treatment of outsiders. It's equipped with high-end medical equipment and a small ambulance for patient transport for this purpose.", + "tags": ["Medical", "Subshuttle"], + "namelists": [ + "MYTHOLOGICAL", + "NATURAL", + "INTEQ" + ], + "map_short_name": "Valor-class", + "map_path": "_maps/shuttles/inteq/inteq_valor.dmm", + "limit": 1, + "job_slots": { + "Vanguard": { + "outfit": "/datum/outfit/job/inteq/captain", + "officer": true, + "slots": 1 + }, + "Honorable Corpsman": { + "outfit": "/datum/outfit/job/inteq/cmo/empty", + "officer": true, + "slots": 1 + }, + "Corpsman": { + "outfit": "/datum/outfit/job/inteq/paramedic/empty", + "slots": 3 + }, + "Enforcer": { + "outfit": "/datum/outfit/job/inteq/security/empty", + "slots": 2 + }, + "Recruit": { + "outfit": "/datum/outfit/job/inteq/assistant", + "slots": 2 + } + }, + "enabled": true +} diff --git a/_maps/configs/minutemen_corvus.json b/_maps/configs/minutemen_corvus.json index 502a67ce6b03..0e424099b8cc 100644 --- a/_maps/configs/minutemen_corvus.json +++ b/_maps/configs/minutemen_corvus.json @@ -4,7 +4,7 @@ "prefix": "CMSV", "description": "A lightly equipped patrol vessel used by the Minutemen for extended operations in the Frontier. In many systems, a lone Corvus is the only sign of Minutemen presence, an image that is not helped by their widespread usage. The Corvus was originally a light personal vessel retrofitted for combat usage by the Colonial Militia, which was later adopted as their official remote infantry patrol ship as a symbol of colonial ingenuity and grit. First designated the Wallaby-class, until the crew of a now-legendary Wallaby-class known as the CMSV Corvus single handedly destroyed a Frontiersmen capital ship in 392.", "tags": [ - "Combot", + "Combat", "Riot" ], "namelists": [ diff --git a/_maps/configs/syndicate_aegis.json b/_maps/configs/syndicate_aegis.json index 9dc307f7f091..5946a8e78343 100644 --- a/_maps/configs/syndicate_aegis.json +++ b/_maps/configs/syndicate_aegis.json @@ -1,5 +1,5 @@ { - "prefix": "SSV", + "prefix": "SUNS", "map_name": "Aegis-class Long Term Care Ship", "map_short_name": "Aegis-class", "map_path": "_maps/shuttles/syndicate/syndicate_aegis.dmm", @@ -18,7 +18,7 @@ ], "job_slots": { "Captain": { - "outfit": "/datum/outfit/job/syndicate/captain", + "outfit": "/datum/outfit/job/syndicate/captain/suns", "officer": true, "slots": 1 }, @@ -34,7 +34,7 @@ }, "Mechanic": { - "outfit": "/datum/outfit/job/syndicate/engineer", + "outfit": "/datum/outfit/job/syndicate/engineer/suns", "slots": 1 }, diff --git a/_maps/configs/syndicate_cybersun_kansatsu.json b/_maps/configs/syndicate_cybersun_kansatsu.json index fbde6dc608d6..a9c9fcb94349 100644 --- a/_maps/configs/syndicate_cybersun_kansatsu.json +++ b/_maps/configs/syndicate_cybersun_kansatsu.json @@ -1,6 +1,6 @@ { "$schema": "https://raw.githubusercontent.com/shiptest-ss13/Shiptest/master/_maps/ship_config_schema.json", - "prefix": "SSV", + "prefix": "CSSV", "namelists": [ "CYBERSUN", "SPACE", diff --git a/_maps/configs/syndicate_gorlex_hyena.json b/_maps/configs/syndicate_gorlex_hyena.json index 4e9086139275..51b046d114b7 100644 --- a/_maps/configs/syndicate_gorlex_hyena.json +++ b/_maps/configs/syndicate_gorlex_hyena.json @@ -1,6 +1,6 @@ { "$schema": "https://raw.githubusercontent.com/shiptest-ss13/Shiptest/master/_maps/ship_config_schema.json", - "prefix": "SSV", + "prefix": "NGRV", "namelists": [ "GORLEX", "NATURAL_AGGRESSIVE", diff --git a/_maps/configs/syndicate_gorlex_komodo.json b/_maps/configs/syndicate_gorlex_komodo.json index 5692eaf44a14..595b61b079d9 100644 --- a/_maps/configs/syndicate_gorlex_komodo.json +++ b/_maps/configs/syndicate_gorlex_komodo.json @@ -1,5 +1,5 @@ { - "prefix": "SSV", + "prefix": "ISV", "namelists": [ "GORLEX", "NATURAL_AGGRESSIVE", diff --git a/_maps/configs/syndicate_litieguai.json b/_maps/configs/syndicate_litieguai.json index 887828e28176..685a53187422 100644 --- a/_maps/configs/syndicate_litieguai.json +++ b/_maps/configs/syndicate_litieguai.json @@ -1,7 +1,7 @@ { "$schema": "https://raw.githubusercontent.com/shiptest-ss13/Shiptest/master/_maps/ship_config_schema.json", "map_name": "Li Tieguai-class Rescue Ship", - "prefix": "SSV", + "prefix": "CSSV", "map_short_name": "Li Tieguai-class", "description": "A small, nimble, and exceptionally well-built medical response vessel, the Li Tieguai is a recent addition to Cybersun’s fleet, forming a critical component of their Frontier stabilization program. Li Tieguais come equipped with high-end medical equipment, including a selection of Cybersun augments and prosthetics, as well as weaponry and armor sufficient to protect its personnel in the often-dangerous Frontier sectors, so that they can offer premium healthcare (at premium prices) in even the most dangerous of scenarios.", "tags": [ diff --git a/_maps/configs/syndicate_lugol.json b/_maps/configs/syndicate_lugol.json index 26599d93a8ee..673d9be16ff5 100644 --- a/_maps/configs/syndicate_lugol.json +++ b/_maps/configs/syndicate_lugol.json @@ -1,6 +1,6 @@ { "map_name": "Lugol-class GEC Engineering Project", - "prefix": "SEV", + "prefix": "XSV", "map_short_name": "Lugol-class", "description": "The Lugol is effectively an enormous Galactic Engineers Concordat research barge, used as a test bed for refinements to power systems, new technologies, and so on. As it offers freedom from the usual constraints of working aboard vessels belonging to other Syndicate factions, Lugols are especially popular among the GEC’s more radical members. Accordingly, they have a reputation for either accomplishing the impossible or generating the equivalent of a new star when they inevitably melt down. Lugols are generally only found on the Frontier, where the collateral damage from potential accidents can be kept to a minimum and secrecy, when needed, can be better maintained.", "tags": [ @@ -14,7 +14,7 @@ ], "map_path": "_maps/shuttles/syndicate/syndicate_gec_lugol.dmm", "map_id": "gec_lugol", - "limit": 2, + "limit": 1, "job_slots": { "Project Overseer": { "outfit": "/datum/outfit/job/syndicate/ce/gec", diff --git a/_maps/map_files/generic/CentCom.dmm b/_maps/map_files/generic/CentCom.dmm index e2b1ff97158c..7e921680fad9 100644 --- a/_maps/map_files/generic/CentCom.dmm +++ b/_maps/map_files/generic/CentCom.dmm @@ -1096,6 +1096,18 @@ }, /turf/open/floor/plasteel/dark, /area/centcom/control) +"apm" = ( +/obj/structure/rack, +/obj/item/gun/ballistic/automatic/gal/inteq{ + pixel_x = 1; + pixel_y = 4 + }, +/obj/item/gun/ballistic/automatic/gal/inteq{ + pixel_x = -4; + pixel_y = -2 + }, +/turf/open/floor/plasteel, +/area/centcom) "apt" = ( /obj/structure/closet/secure_closet/security, /obj/item/storage/belt/security/full, @@ -3419,6 +3431,17 @@ /obj/machinery/light/directional/west, /turf/open/floor/plating/asteroid, /area/tdome/tdomeadmin) +"aIF" = ( +/obj/structure/table/reinforced, +/obj/item/storage/ration/crayons{ + pixel_x = 9; + pixel_y = 5 + }, +/obj/item/storage/ration/shredded_beef{ + pixel_x = -2 + }, +/turf/open/floor/plasteel, +/area/centcom) "aIH" = ( /obj/machinery/atmospherics/pipe/simple/supply/hidden, /obj/effect/turf_decal/corner/transparent/neutral{ @@ -4560,6 +4583,9 @@ }, /turf/open/floor/plasteel, /area/tdome/arena) +"aPu" = ( +/turf/closed/indestructible/reinforced, +/area/centcom) "aPw" = ( /obj/machinery/door/airlock/centcom{ name = "CentCom Security"; @@ -6202,6 +6228,13 @@ }, /turf/open/floor/plasteel, /area/centcom/control) +"bbf" = ( +/obj/machinery/door/airlock/command{ + dir = 4; + req_access_txt = "109" + }, +/turf/open/floor/plasteel, +/area/centcom) "bbL" = ( /obj/structure/table/wood, /obj/item/folder/red, @@ -6470,6 +6503,13 @@ }, /turf/open/floor/plasteel/dark, /area/centcom/supply) +"bFc" = ( +/obj/structure/table/reinforced, +/obj/item/radio/intercom/wideband/table{ + dir = 4 + }, +/turf/open/floor/mineral/plastitanium, +/area/centcom) "bIh" = ( /obj/structure/chair{ dir = 4 @@ -6484,6 +6524,16 @@ /obj/effect/turf_decal/industrial/warning, /turf/open/floor/plasteel, /area/centcom/control) +"bIJ" = ( +/obj/structure/sign/minutemen{ + pixel_y = -28 + }, +/obj/machinery/light/directional/west, +/obj/machinery/telecomms/relay/preset/minutemen{ + autolinkers = list("relay") + }, +/turf/open/floor/plasteel, +/area/centcom) "bMY" = ( /obj/effect/turf_decal/corner/opaque/green{ dir = 1 @@ -6526,6 +6576,28 @@ }, /turf/open/floor/plasteel, /area/centcom/control) +"bRF" = ( +/obj/structure/table/reinforced, +/obj/structure/sign/poster/minutemen/bard{ + pixel_y = -32 + }, +/obj/item/ammo_box/magazine/p16{ + pixel_x = -5; + pixel_y = 6 + }, +/obj/item/ammo_box/magazine/p16{ + pixel_x = 1; + pixel_y = 2 + }, +/obj/item/ammo_casing{ + pixel_x = 7; + pixel_y = 7 + }, +/obj/item/ammo_casing{ + pixel_x = 11 + }, +/turf/open/floor/plasteel, +/area/centcom) "bRK" = ( /obj/structure/table/reinforced, /obj/item/book/manual/wiki/security_space_law, @@ -6542,6 +6614,26 @@ }, /turf/open/floor/plasteel/dark, /area/centcom/ferry) +"bSy" = ( +/obj/structure/table/wood/fancy/blue, +/obj/structure/sign/solgov_seal{ + pixel_y = 28 + }, +/obj/item/clothing/head/beret/solgov{ + pixel_x = 11; + pixel_y = -1 + }, +/turf/open/floor/carpet/royalblue, +/area/centcom) +"bUH" = ( +/obj/effect/turf_decal/minutemen/corner{ + dir = 1 + }, +/obj/structure/chair/comfy{ + dir = 4 + }, +/turf/open/floor/mineral/plastitanium, +/area/centcom) "bVe" = ( /obj/structure/table/reinforced, /obj/item/restraints/handcuffs/cable/zipties, @@ -6664,6 +6756,21 @@ }, /turf/open/floor/plasteel, /area/centcom/control) +"ciU" = ( +/obj/structure/table/reinforced, +/obj/structure/sign/poster/contraband/gec{ + pixel_x = 32 + }, +/obj/item/paper_bin/construction, +/obj/item/pen, +/turf/open/floor/mineral/plastitanium, +/area/centcom) +"cjo" = ( +/obj/effect/turf_decal/corner/opaque/yellow{ + dir = 5 + }, +/turf/open/floor/plasteel, +/area/centcom) "ckq" = ( /obj/effect/turf_decal/corner/transparent/neutral{ dir = 1 @@ -6813,6 +6920,16 @@ }, /turf/open/floor/plasteel, /area/centcom/ferry) +"cxm" = ( +/obj/effect/turf_decal/corner/opaque/yellow{ + dir = 10 + }, +/obj/effect/turf_decal/steeldecal/steel_decals_central6, +/obj/structure/chair/comfy{ + dir = 1 + }, +/turf/open/floor/plasteel, +/area/centcom) "cyx" = ( /obj/effect/turf_decal/corner/transparent/neutral{ dir = 1 @@ -6848,6 +6965,12 @@ }, /turf/open/floor/plasteel/white, /area/tdome/tdomeobserve) +"cCK" = ( +/obj/machinery/telecomms/relay/preset/syndicate{ + autolinkers = list("relay") + }, +/turf/open/floor/mineral/plastitanium, +/area/centcom) "cDe" = ( /obj/effect/turf_decal/corner/transparent/neutral{ dir = 1 @@ -6937,6 +7060,15 @@ }, /turf/open/floor/plasteel/dark, /area/centcom/evac) +"cIS" = ( +/obj/structure/rack, +/obj/item/gun/ballistic/shotgun/bulldog/inteq, +/obj/item/gun/ballistic/shotgun/bulldog/inteq{ + pixel_x = -5; + pixel_y = -5 + }, +/turf/open/floor/plasteel, +/area/centcom) "cKk" = ( /obj/effect/turf_decal/corner/opaque/green{ dir = 8 @@ -6980,6 +7112,15 @@ }, /turf/open/floor/plasteel, /area/syndicate_mothership/control) +"cUG" = ( +/obj/structure/sign/poster/contraband/syndicate_recruitment{ + pixel_x = -32 + }, +/obj/machinery/computer/secure_data/syndie{ + dir = 4 + }, +/turf/open/floor/mineral/plastitanium, +/area/centcom) "cVC" = ( /obj/structure/noticeboard{ dir = 8; @@ -7047,6 +7188,11 @@ }, /turf/open/floor/plasteel/dark, /area/tdome/tdomeobserve) +"cZi" = ( +/turf/open/floor/plating{ + icon_state = "platingdmg2" + }, +/area/centcom) "dhD" = ( /obj/effect/turf_decal/corner/transparent/neutral{ dir = 1 @@ -7115,6 +7261,16 @@ }, /turf/open/floor/plasteel, /area/centcom/supply) +"dom" = ( +/obj/structure/sign/solgov_seal{ + pixel_y = 28 + }, +/obj/structure/table/wood/fancy/blue, +/obj/item/flashlight/lamp/green{ + pixel_y = 3 + }, +/turf/open/floor/carpet/royalblue, +/area/centcom) "dop" = ( /obj/structure/table/reinforced, /obj/item/storage/firstaid/regular, @@ -7185,6 +7341,18 @@ }, /turf/open/floor/plasteel, /area/centcom/evac) +"duw" = ( +/obj/effect/decal/cleanable/blood{ + icon_state = "floor5-old"; + pixel_y = -6; + pixel_x = -3 + }, +/obj/item/restraints/handcuffs/cable/zipties/used{ + pixel_x = -3; + pixel_y = -4 + }, +/turf/open/floor/plasteel/patterned/grid, +/area/centcom) "dvo" = ( /obj/effect/turf_decal/industrial/warning, /turf/open/floor/plasteel/dark, @@ -7205,6 +7373,9 @@ }, /turf/open/floor/plasteel/dark, /area/centcom/control) +"dER" = ( +/turf/open/floor/carpet/royalblue, +/area/centcom) "dGb" = ( /obj/effect/turf_decal/corner/transparent/neutral{ dir = 1 @@ -7270,6 +7441,15 @@ }, /turf/open/floor/plasteel/dark, /area/centcom/control) +"dKW" = ( +/obj/structure/closet/crate/bin, +/obj/structure/sign/minutemen{ + pixel_y = 28 + }, +/obj/machinery/light/directional/east, +/obj/item/reagent_containers/food/snacks/pancakes/blueberry, +/turf/open/floor/plasteel, +/area/centcom) "dMa" = ( /obj/item/radio{ pixel_x = 5; @@ -7582,6 +7762,10 @@ }, /turf/open/floor/plasteel/dark, /area/centcom/control) +"emF" = ( +/obj/effect/turf_decal/corner/opaque/yellow/full, +/turf/open/floor/plasteel, +/area/centcom) "enx" = ( /obj/item/kirbyplants{ icon_state = "plant-21"; @@ -7620,6 +7804,19 @@ }, /turf/open/floor/plasteel/white, /area/centcom/holding) +"eqM" = ( +/obj/effect/turf_decal/solgov/wood/bottom_left, +/obj/effect/turf_decal/siding/wood{ + color = "#543C30" + }, +/turf/open/floor/wood/walnut, +/area/centcom) +"etl" = ( +/obj/effect/turf_decal/siding/wood{ + dir = 4 + }, +/turf/open/floor/wood/mahogany, +/area/centcom) "etp" = ( /obj/structure/table, /obj/item/paper_bin, @@ -7730,6 +7927,9 @@ }, /turf/open/floor/plasteel, /area/tdome/tdomeobserve) +"eAJ" = ( +/turf/closed/indestructible/wood, +/area/centcom) "eCK" = ( /obj/effect/turf_decal/corner/opaque/red{ dir = 1 @@ -7862,6 +8062,13 @@ heat_capacity = 1e+006 }, /area/tdome/tdomeobserve) +"eLy" = ( +/obj/machinery/door/airlock/hatch{ + dir = 4; + req_access = "109" + }, +/turf/open/floor/plasteel/patterned/grid, +/area/centcom) "eSx" = ( /obj/structure/noticeboard{ dir = 8; @@ -7961,6 +8168,13 @@ }, /turf/open/floor/plasteel/dark, /area/centcom/control) +"eWz" = ( +/obj/effect/decal/cleanable/dirt, +/obj/structure/catwalk/over, +/turf/open/floor/plating{ + icon_state = "panelscorched" + }, +/area/centcom) "eYx" = ( /obj/item/kirbyplants{ icon_state = "plant-21" @@ -8005,6 +8219,12 @@ }, /turf/open/floor/plasteel, /area/centcom/supply) +"fau" = ( +/obj/effect/decal/cleanable/generic, +/turf/open/floor/plating{ + icon_state = "platingdmg1" + }, +/area/centcom) "fda" = ( /obj/machinery/modular_computer/console/preset/command{ dir = 8 @@ -8242,6 +8462,12 @@ }, /turf/open/floor/plasteel, /area/centcom/supply) +"fKt" = ( +/obj/structure/table/reinforced, +/obj/item/paper_bin, +/obj/item/pen/edagger, +/turf/open/floor/mineral/plastitanium, +/area/centcom) "fLD" = ( /obj/structure/closet/secure_closet/courtroom, /obj/effect/turf_decal/corner/transparent/neutral{ @@ -8385,6 +8611,16 @@ }, /turf/open/floor/plasteel, /area/centcom/control) +"fTU" = ( +/obj/effect/turf_decal/corner/opaque/yellow/three_quarters{ + dir = 1 + }, +/turf/open/floor/plasteel, +/area/centcom) +"fUc" = ( +/obj/machinery/door/airlock/security, +/turf/open/floor/mineral/plastitanium/red, +/area/centcom) "fUK" = ( /obj/machinery/light/directional/west, /obj/effect/turf_decal/corner/transparent/bar, @@ -8449,6 +8685,12 @@ }, /turf/open/floor/plasteel, /area/tdome/tdomeobserve) +"gaU" = ( +/obj/effect/turf_decal/minutemen/corner{ + dir = 4 + }, +/turf/open/floor/mineral/plastitanium, +/area/centcom) "gba" = ( /obj/structure/table/reinforced, /obj/machinery/recharger, @@ -8485,6 +8727,12 @@ }, /turf/open/floor/plasteel, /area/centcom/supply) +"gfJ" = ( +/obj/structure/chair/office{ + dir = 1 + }, +/turf/open/floor/carpet/royalblue, +/area/centcom) "ggX" = ( /obj/machinery/pdapainter, /obj/effect/turf_decal/corner/transparent/neutral{ @@ -8596,6 +8844,16 @@ }, /turf/open/floor/plasteel/dark, /area/centcom/control) +"gsx" = ( +/obj/effect/turf_decal/siding/wood{ + dir = 6 + }, +/obj/structure/sign/solgov_seal{ + pixel_y = -28 + }, +/obj/structure/closet/crate/bin, +/turf/open/floor/wood/walnut, +/area/centcom) "gwE" = ( /obj/effect/turf_decal/corner/opaque/blue{ dir = 1 @@ -8653,6 +8911,13 @@ }, /turf/open/floor/plasteel/dark, /area/centcom/control) +"gDV" = ( +/obj/effect/decal/cleanable/dirt, +/obj/structure/catwalk/over, +/turf/open/floor/plating{ + icon_state = "platingdmg3" + }, +/area/centcom) "gFU" = ( /obj/machinery/computer/helm, /obj/effect/turf_decal/industrial/warning{ @@ -8805,6 +9070,12 @@ }, /turf/open/floor/plasteel/dark, /area/centcom/control) +"gTo" = ( +/obj/structure/table/wood/fancy/blue, +/obj/machinery/light/directional/north, +/obj/machinery/fax/admin/solgov, +/turf/open/floor/carpet/royalblue, +/area/centcom) "gUp" = ( /obj/structure/chair{ dir = 1 @@ -8845,6 +9116,20 @@ /obj/machinery/firealarm/directional/west, /turf/open/floor/plasteel, /area/centcom/supply) +"hba" = ( +/obj/structure/table/reinforced, +/obj/item/paper_bin{ + pixel_x = 5 + }, +/obj/item/clothing/head/cowboy/sec/minutemen{ + pixel_y = 8; + pixel_x = -4 + }, +/obj/item/pen/fourcolor{ + pixel_x = 5 + }, +/turf/open/floor/plasteel, +/area/centcom) "hbh" = ( /obj/structure/table/wood, /obj/item/phone{ @@ -8951,7 +9236,7 @@ "hra" = ( /obj/structure/table/reinforced, /obj/item/storage/lockbox/loyalty, -/obj/item/gun/ballistic/automatic/assault/ar, +/obj/item/gun/energy/e_gun/hades, /obj/machinery/light/directional/north, /obj/effect/turf_decal/industrial/warning, /turf/open/floor/plasteel, @@ -9008,6 +9293,9 @@ }, /turf/open/floor/plasteel/dark, /area/centcom/ferry) +"hzJ" = ( +/turf/closed/indestructible/riveted, +/area/centcom) "hzR" = ( /obj/structure/table/wood, /obj/item/folder/red, @@ -9043,6 +9331,12 @@ }, /turf/open/floor/plasteel/dark, /area/tdome/tdomeadmin) +"hBf" = ( +/obj/effect/turf_decal/minutemen/edge{ + dir = 1 + }, +/turf/open/floor/mineral/plastitanium, +/area/centcom) "hDn" = ( /obj/effect/turf_decal/corner/opaque/blue{ dir = 1 @@ -9200,6 +9494,10 @@ /obj/machinery/vending/wardrobe/cent_wardrobe, /turf/open/floor/plasteel/dark, /area/centcom/ferry) +"hYV" = ( +/obj/item/kirbyplants/random, +/turf/open/floor/ship/dirt, +/area/centcom) "hZs" = ( /obj/structure/table/reinforced, /obj/item/folder/red{ @@ -9246,6 +9544,26 @@ /obj/machinery/firealarm/directional/north, /turf/open/floor/plasteel/dark, /area/centcom/supply) +"ibc" = ( +/obj/effect/decal/cleanable/dirt, +/obj/structure/fluff/paper/stack{ + dir = 5; + pixel_y = 25; + layer = 2.89 + }, +/obj/structure/fluff/paper/stack{ + dir = 4; + pixel_y = -4; + pixel_x = 11 + }, +/obj/structure/fluff/paper/stack{ + dir = 1; + pixel_x = -16; + pixel_y = -2 + }, +/obj/effect/turf_decal/steeldecal/steel_decals_central4, +/turf/open/floor/plasteel/patterned/grid, +/area/centcom) "ieA" = ( /obj/item/kirbyplants{ icon_state = "plant-22" @@ -9302,6 +9620,26 @@ }, /turf/open/floor/plasteel, /area/centcom/control) +"igC" = ( +/obj/structure/sign/minutemen{ + pixel_y = -28 + }, +/obj/structure/table/reinforced, +/obj/item/clothing/head/helmet/bulletproof/minutemen{ + pixel_x = -1; + pixel_y = 8 + }, +/obj/item/clothing/head/helmet/bulletproof/minutemen{ + pixel_x = 3; + pixel_y = 11 + }, +/obj/machinery/light/directional/east, +/obj/item/reagent_containers/food/drinks/bottle/rum{ + pixel_x = -9; + pixel_y = 3 + }, +/turf/open/floor/plasteel, +/area/centcom) "igW" = ( /obj/structure/bed/roller, /obj/machinery/iv_drip, @@ -9431,6 +9769,16 @@ }, /turf/open/floor/plasteel/white, /area/tdome/tdomeobserve) +"iti" = ( +/obj/effect/decal/fakelattice{ + color = "#808080"; + layer = 2.038 + }, +/obj/effect/turf_decal/corner_steel_grid/full, +/turf/open/floor/plasteel/elevatorshaft{ + color = "#808080" + }, +/area/centcom) "iuo" = ( /obj/machinery/computer/auxillary_base{ pixel_y = 32 @@ -9472,6 +9820,14 @@ }, /turf/open/floor/plasteel, /area/centcom/supplypod) +"iwJ" = ( +/obj/effect/turf_decal/siding/wood{ + dir = 9; + color = "#543C30" + }, +/obj/machinery/light/directional/west, +/turf/open/floor/wood/walnut, +/area/centcom) "iyp" = ( /obj/effect/turf_decal/corner/opaque/green{ dir = 1 @@ -9521,6 +9877,15 @@ }, /turf/open/floor/plasteel/dark, /area/centcom/control) +"iyJ" = ( +/obj/structure/table/reinforced, +/obj/item/clothing/head/hardhat{ + pixel_x = -5; + pixel_y = 6 + }, +/obj/machinery/light/directional/east, +/turf/open/floor/mineral/plastitanium, +/area/centcom) "izl" = ( /obj/machinery/computer/secure_data{ dir = 1 @@ -9573,6 +9938,9 @@ /obj/machinery/firealarm/directional/east, /turf/open/floor/plasteel/dark, /area/centcom/control) +"iDo" = ( +/turf/open/floor/ship/dirt, +/area/centcom) "iDE" = ( /obj/effect/turf_decal/corner/transparent/bar, /obj/effect/turf_decal/corner/transparent/bar{ @@ -9627,6 +9995,27 @@ }, /turf/open/floor/plasteel, /area/tdome/arena) +"iRP" = ( +/obj/structure/table/glass, +/obj/item/desk_flag{ + pixel_x = -7; + pixel_y = 6; + name = "white flag"; + desc = "Show in case of Minutemen patrols." + }, +/obj/item/radio/intercom/wideband/directional/north, +/turf/open/floor/plasteel/patterned/grid, +/area/centcom) +"iSo" = ( +/obj/machinery/door/airlock/solgov{ + req_access_txt = "109" + }, +/turf/open/floor/wood/walnut, +/area/centcom) +"iWI" = ( +/obj/effect/turf_decal/minutemen/middle, +/turf/open/floor/mineral/plastitanium, +/area/centcom) "iWU" = ( /obj/effect/turf_decal/corner/opaque/brown{ dir = 8 @@ -9650,6 +10039,9 @@ }, /turf/open/floor/plasteel/white, /area/centcom/holding) +"iZr" = ( +/turf/open/floor/mineral/plastitanium, +/area/centcom) "iZH" = ( /obj/machinery/vending/snack, /obj/effect/turf_decal/corner/transparent/neutral{ @@ -9747,6 +10139,14 @@ }, /turf/open/floor/plasteel, /area/centcom/control) +"jja" = ( +/obj/effect/turf_decal/siding/wood{ + dir = 9; + color = "#543C30" + }, +/obj/effect/turf_decal/solgov/wood/center_left, +/turf/open/floor/wood/walnut, +/area/centcom) "jjE" = ( /obj/effect/turf_decal/corner/transparent/neutral{ dir = 1 @@ -9760,6 +10160,12 @@ }, /turf/open/floor/plasteel, /area/centcom/supplypod/loading/ert) +"jly" = ( +/obj/machinery/computer/med_data/syndie{ + dir = 1 + }, +/turf/open/floor/mineral/plastitanium/red, +/area/centcom) "jlB" = ( /obj/item/cardboard_cutout{ desc = "They seem to be ignoring you... Typical."; @@ -9870,6 +10276,17 @@ }, /turf/open/floor/plasteel, /area/centcom/control) +"jyy" = ( +/obj/structure/table/wood, +/obj/item/paper_bin/bundlenatural{ + pixel_y = 4 + }, +/obj/item/pen/charcoal{ + pixel_x = -5; + pixel_y = -4 + }, +/turf/open/floor/wood/mahogany, +/area/centcom) "jCA" = ( /obj/effect/turf_decal/industrial/warning{ dir = 5 @@ -9898,6 +10315,26 @@ }, /turf/open/floor/plasteel/dark, /area/centcom/ferry) +"jDt" = ( +/obj/item/shard{ + icon_state = "small"; + pixel_x = 9; + pixel_y = -7 + }, +/obj/item/shard{ + icon_state = "medium"; + pixel_x = -10; + pixel_y = 11 + }, +/obj/machinery/fax/admin/frontiersmen, +/obj/structure/table_frame, +/obj/effect/decal/cleanable/glass, +/turf/open/floor/plasteel/patterned/grid, +/area/centcom) +"jEn" = ( +/obj/effect/turf_decal/siding/wood/corner, +/turf/open/floor/wood/mahogany, +/area/centcom) "jEB" = ( /obj/item/kirbyplants{ icon_state = "plant-22" @@ -9910,6 +10347,14 @@ }, /turf/open/floor/plasteel, /area/centcom/control) +"jFa" = ( +/obj/structure/table/reinforced, +/obj/item/clothing/head/HoS/cybersun{ + pixel_x = 2 + }, +/obj/machinery/light/directional/south, +/turf/open/floor/mineral/plastitanium/red, +/area/centcom) "jGz" = ( /obj/item/clipboard, /obj/item/folder/red, @@ -9966,6 +10411,10 @@ }, /turf/open/floor/plasteel/dark, /area/centcom/supply) +"jPn" = ( +/obj/effect/turf_decal/syndicateemblem/middle/middle, +/turf/open/floor/mineral/plastitanium/red, +/area/centcom) "jPL" = ( /obj/machinery/vending/cola, /obj/effect/turf_decal/corner/transparent/bar, @@ -10196,6 +10645,12 @@ }, /turf/open/floor/plasteel, /area/centcom/control) +"kiC" = ( +/obj/effect/turf_decal/minutemen/edge{ + dir = 8 + }, +/turf/open/floor/mineral/plastitanium, +/area/centcom) "kjt" = ( /obj/machinery/computer/communications{ dir = 8 @@ -10243,12 +10698,27 @@ }, /turf/open/floor/plasteel/dark, /area/centcom/control) +"kkC" = ( +/obj/structure/table/reinforced, +/obj/structure/sign/poster/minutemen/gold{ + pixel_y = 32 + }, +/obj/machinery/fax/admin/minutemen, +/turf/open/floor/plasteel, +/area/centcom) "kkV" = ( /obj/effect/turf_decal/corner/opaque/green{ dir = 4 }, /turf/open/floor/plasteel, /area/tdome/arena_source) +"kmQ" = ( +/obj/effect/turf_decal/syndicateemblem/middle/right, +/obj/structure/chair/office/dark{ + dir = 4 + }, +/turf/open/floor/mineral/plastitanium/red, +/area/centcom) "kqM" = ( /obj/machinery/shower{ dir = 4 @@ -10346,6 +10816,14 @@ /obj/machinery/light/directional/south, /turf/open/floor/plasteel, /area/centcom/control) +"kFX" = ( +/obj/item/clothing/head/intern{ + pixel_x = 7; + pixel_y = 5 + }, +/obj/machinery/light/directional/west, +/turf/open/floor/plasteel/patterned/grid, +/area/centcom) "kHH" = ( /obj/effect/turf_decal/corner/opaque/red{ dir = 1 @@ -10458,6 +10936,10 @@ }, /turf/open/floor/plasteel/grimy, /area/centcom/control) +"kXn" = ( +/obj/effect/turf_decal/syndicateemblem/bottom/left, +/turf/open/floor/mineral/plastitanium/red, +/area/centcom) "laX" = ( /obj/structure/chair/office/light{ dir = 8 @@ -10525,6 +11007,11 @@ }, /turf/open/floor/plasteel/dark, /area/ctf) +"lfi" = ( +/obj/structure/table/wood, +/obj/machinery/fax/admin/roumain, +/turf/open/floor/wood/mahogany, +/area/centcom) "lfw" = ( /obj/structure/table/reinforced, /obj/item/paper_bin, @@ -10542,6 +11029,10 @@ }, /turf/open/floor/plasteel/dark, /area/centcom/control) +"lfK" = ( +/obj/structure/closet/crate/bin, +/turf/open/floor/mineral/plastitanium, +/area/centcom) "lfS" = ( /obj/effect/turf_decal/corner/opaque/green, /turf/open/floor/plasteel, @@ -10659,6 +11150,11 @@ }, /turf/open/floor/plasteel/dark, /area/centcom/ferry) +"lmY" = ( +/turf/open/floor/plating{ + icon_state = "platingdmg3" + }, +/area/centcom) "lnt" = ( /obj/effect/turf_decal/industrial/warning{ dir = 6 @@ -10875,6 +11371,19 @@ }, /turf/open/floor/plasteel/dark, /area/tdome/tdomeobserve) +"lHR" = ( +/obj/item/paper_bin, +/obj/item/clothing/head/beret/sec/frontier/officer{ + pixel_y = 12; + pixel_x = -6 + }, +/obj/item/pen{ + pixel_x = -8; + pixel_y = -3 + }, +/obj/structure/table/glass, +/turf/open/floor/plasteel/patterned/grid, +/area/centcom) "lIm" = ( /obj/structure/table, /obj/item/paper/pamphlet/centcom/visitor_info, @@ -10903,6 +11412,23 @@ }, /turf/open/floor/plasteel/dark, /area/centcom/ferry) +"lJp" = ( +/turf/closed/indestructible/syndicate, +/area/centcom) +"lKP" = ( +/obj/effect/turf_decal/corner/opaque/brown{ + dir = 4 + }, +/obj/effect/turf_decal/corner/opaque/yellow, +/obj/effect/turf_decal/corner/opaque/yellow{ + dir = 1 + }, +/obj/machinery/light/directional/north, +/obj/machinery/telecomms/relay/preset/inteq{ + autolinkers = list("relay") + }, +/turf/open/floor/plasteel, +/area/centcom) "lMB" = ( /obj/effect/turf_decal/industrial/warning, /turf/open/floor/plasteel, @@ -10933,6 +11459,18 @@ }, /turf/open/floor/plasteel, /area/tdome/arena_source) +"lQr" = ( +/obj/structure/table/reinforced, +/obj/item/flashlight/lamp{ + pixel_x = 8; + pixel_y = 3 + }, +/obj/structure/sign/minutemen{ + pixel_y = 28 + }, +/obj/machinery/light/directional/west, +/turf/open/floor/plasteel, +/area/centcom) "lQv" = ( /obj/effect/turf_decal/corner/opaque/brown, /obj/effect/turf_decal/corner/opaque/brown{ @@ -10995,6 +11533,28 @@ }, /turf/open/floor/plasteel/dark, /area/tdome/tdomeadmin) +"lXI" = ( +/obj/item/ammo_casing/spent{ + pixel_x = -6; + pixel_y = -10 + }, +/obj/item/ammo_casing/spent{ + pixel_x = 9; + pixel_y = -6 + }, +/obj/item/ammo_casing/spent{ + pixel_x = 3 + }, +/turf/open/floor/plasteel/patterned/grid, +/area/centcom) +"lXQ" = ( +/obj/effect/decal/cleanable/blood{ + icon_state = "floor3-old"; + pixel_x = -9; + pixel_y = -11 + }, +/turf/open/floor/plasteel/patterned/grid, +/area/centcom) "lYC" = ( /obj/effect/turf_decal/industrial/warning{ dir = 4 @@ -11004,6 +11564,12 @@ }, /turf/open/floor/plasteel/dark, /area/ctf) +"lYF" = ( +/obj/effect/turf_decal/corner/opaque/yellow{ + dir = 9 + }, +/turf/open/floor/plasteel, +/area/centcom) "mbm" = ( /obj/effect/turf_decal/corner/transparent/neutral{ dir = 1 @@ -11130,6 +11696,22 @@ }, /turf/open/floor/plasteel/dark, /area/ctf) +"moE" = ( +/obj/structure/table/reinforced, +/obj/machinery/computer/secure_data/laptop{ + dir = 4; + pixel_y = 6; + pixel_x = -4 + }, +/turf/open/floor/plasteel, +/area/centcom) +"mpi" = ( +/obj/machinery/door/airlock/hatch{ + dir = 4; + req_access_txt = "109" + }, +/turf/open/floor/plasteel/patterned/grid, +/area/centcom) "mpw" = ( /obj/effect/landmark/prisonwarp, /obj/effect/turf_decal/corner/transparent/neutral{ @@ -11161,6 +11743,15 @@ /obj/machinery/light/directional/west, /turf/open/floor/plasteel, /area/centcom/control) +"msQ" = ( +/obj/structure/table/reinforced, +/obj/structure/sign/poster/contraband/cybersun{ + pixel_y = -32 + }, +/obj/item/paper_bin/carbon, +/obj/item/pen/fountain, +/turf/open/floor/mineral/plastitanium/red, +/area/centcom) "mtq" = ( /obj/effect/turf_decal/corner/transparent/bar, /obj/effect/turf_decal/corner/transparent/bar{ @@ -11222,6 +11813,13 @@ }, /turf/open/floor/plasteel/dark, /area/centcom/ferry) +"myU" = ( +/obj/effect/turf_decal/syndicateemblem/middle/left, +/obj/structure/chair/office/dark{ + dir = 8 + }, +/turf/open/floor/mineral/plastitanium/red, +/area/centcom) "mzM" = ( /obj/structure/fans/tiny, /obj/effect/turf_decal/corner/transparent/neutral{ @@ -11236,6 +11834,12 @@ }, /turf/open/floor/plasteel/dark, /area/centcom/supply) +"mAL" = ( +/obj/structure/table/reinforced, +/obj/machinery/fax/admin/syndicate, +/obj/machinery/light/directional/west, +/turf/open/floor/mineral/plastitanium, +/area/centcom) "mBc" = ( /obj/structure/table/reinforced, /obj/item/stack/packageWrap, @@ -11259,6 +11863,21 @@ }, /turf/open/floor/plasteel/dark, /area/tdome/tdomeadmin) +"mDT" = ( +/obj/effect/decal/fakelattice{ + color = "#808080"; + layer = 2.038 + }, +/obj/effect/turf_decal/corner_steel_grid/diagonal, +/obj/machinery/light/directional/east, +/obj/effect/decal/cleanable/garbage{ + pixel_x = 5; + pixel_y = -5 + }, +/turf/open/floor/plasteel/elevatorshaft{ + color = "#808080" + }, +/area/centcom) "mEC" = ( /obj/structure/sink{ dir = 8; @@ -11293,6 +11912,32 @@ luminosity = 2 }, /area/ctf) +"mGE" = ( +/obj/effect/turf_decal/corner/opaque/yellow{ + dir = 1 + }, +/obj/effect/turf_decal/corner/opaque/brown{ + dir = 8 + }, +/turf/open/floor/plasteel, +/area/centcom) +"mJl" = ( +/obj/effect/turf_decal/syndicateemblem/top/left, +/turf/open/floor/mineral/plastitanium/red, +/area/centcom) +"mJP" = ( +/obj/effect/decal/fakelattice{ + color = "#808080"; + layer = 2.038 + }, +/obj/effect/turf_decal/corner_steel_grid/full{ + dir = 4 + }, +/obj/machinery/light/broken/directional/west, +/turf/open/floor/plasteel/elevatorshaft{ + color = "#808080" + }, +/area/centcom) "mKb" = ( /obj/machinery/button/door/indestructible{ id = "thunderdomegen"; @@ -11365,6 +12010,10 @@ }, /turf/open/floor/plasteel, /area/tdome/arena) +"mPN" = ( +/obj/effect/turf_decal/syndicateemblem/top/right, +/turf/open/floor/mineral/plastitanium/red, +/area/centcom) "mUb" = ( /obj/structure/table/wood, /obj/item/paper_bin, @@ -11409,6 +12058,10 @@ /obj/machinery/firealarm/directional/north, /turf/open/floor/plasteel/dark, /area/centcom/ferry) +"mVC" = ( +/obj/structure/destructible/tribal_torch/lit, +/turf/open/floor/wood/mahogany, +/area/centcom) "mYG" = ( /obj/machinery/airalarm/directional/east, /obj/structure/filingcabinet/filingcabinet, @@ -11442,6 +12095,14 @@ /obj/machinery/newscaster/directional/west, /turf/open/floor/plasteel/dark, /area/centcom/ferry) +"naB" = ( +/obj/effect/turf_decal/siding/wood{ + dir = 5; + color = "#543C30" + }, +/obj/machinery/light/directional/east, +/turf/open/floor/wood/walnut, +/area/centcom) "ncR" = ( /obj/machinery/door/poddoor{ id = "XCCQMLoaddoor2"; @@ -11515,6 +12176,13 @@ }, /turf/open/floor/plasteel, /area/tdome/tdomeobserve) +"njp" = ( +/obj/effect/turf_decal/siding/wood{ + dir = 8; + color = "#543C30" + }, +/turf/open/floor/wood/walnut, +/area/centcom) "njY" = ( /obj/machinery/status_display/evac{ pixel_y = 32 @@ -11553,6 +12221,12 @@ }, /turf/open/floor/plasteel, /area/centcom/supplypod/loading/three) +"nos" = ( +/obj/structure/catwalk/over, +/turf/open/floor/plating{ + icon_state = "platingdmg2" + }, +/area/centcom) "noV" = ( /obj/structure/table/reinforced, /obj/item/storage/fancy/donut_box, @@ -11824,6 +12498,41 @@ }, /turf/open/floor/plasteel/dark, /area/centcom/ferry) +"nYl" = ( +/obj/structure/table/wood/fancy/blue, +/obj/item/paper_bin/carbon, +/obj/item/pen/solgov, +/obj/item/pen/fourcolor{ + pixel_x = -9; + pixel_y = -3 + }, +/obj/item/desk_flag/solgov{ + pixel_y = 12; + pixel_x = -8 + }, +/turf/open/floor/carpet/royalblue, +/area/centcom) +"nYZ" = ( +/obj/effect/turf_decal/corner/opaque/yellow{ + dir = 1 + }, +/obj/effect/turf_decal/corner/opaque/brown{ + dir = 4 + }, +/obj/effect/turf_decal/corner/opaque/brown{ + dir = 8 + }, +/obj/machinery/computer/secure_data, +/obj/machinery/light/directional/north, +/turf/open/floor/plasteel, +/area/centcom) +"oaQ" = ( +/obj/effect/turf_decal/siding/wood{ + dir = 4; + color = "#543C30" + }, +/turf/open/floor/wood/walnut, +/area/centcom) "oba" = ( /obj/structure/table/wood, /obj/structure/safe/floor, @@ -11883,6 +12592,24 @@ }, /turf/open/floor/plasteel/dark, /area/tdome/tdomeobserve) +"odH" = ( +/obj/effect/turf_decal/corner/opaque/yellow{ + dir = 1 + }, +/obj/effect/turf_decal/corner/opaque/brown{ + dir = 8 + }, +/obj/structure/rack, +/obj/item/gun/ballistic/automatic/assault/ak47/inteq{ + pixel_y = 3 + }, +/obj/item/gun/ballistic/automatic/assault/ak47/inteq{ + pixel_y = -1; + pixel_x = -5 + }, +/obj/machinery/light/directional/south, +/turf/open/floor/plasteel, +/area/centcom) "odV" = ( /obj/structure/chair/office{ dir = 8 @@ -12028,6 +12755,12 @@ }, /turf/open/floor/plasteel, /area/centcom/control) +"ouD" = ( +/obj/machinery/door/airlock/grunge{ + req_access = "109" + }, +/turf/open/floor/plasteel, +/area/centcom) "ouO" = ( /obj/effect/turf_decal/corner/opaque/green, /turf/open/floor/plasteel, @@ -12160,6 +12893,13 @@ }, /turf/open/floor/plasteel, /area/centcom/supply) +"oHB" = ( +/obj/effect/turf_decal/siding/wood{ + dir = 4 + }, +/obj/structure/destructible/tribal_torch/lit, +/turf/open/floor/wood/mahogany, +/area/centcom) "oHU" = ( /obj/machinery/computer/communications{ dir = 8 @@ -12338,6 +13078,16 @@ /obj/effect/turf_decal/corner/opaque/blue, /turf/open/floor/plasteel, /area/centcom/control) +"phf" = ( +/obj/structure/table/wood/fancy/blue, +/obj/structure/sign/poster/solgov/paperwork{ + pixel_y = 32 + }, +/obj/item/radio/intercom/wideband/table{ + dir = 1 + }, +/turf/open/floor/carpet/royalblue, +/area/centcom) "phB" = ( /obj/machinery/light/directional/north, /obj/effect/turf_decal/corner/transparent/neutral{ @@ -12428,6 +13178,10 @@ }, /turf/open/floor/plasteel/dark, /area/centcom/ferry) +"plP" = ( +/obj/effect/turf_decal/corner/opaque/yellow/three_quarters, +/turf/open/floor/plasteel, +/area/centcom) "pmP" = ( /obj/effect/turf_decal/corner/opaque/green, /obj/effect/turf_decal/corner/opaque/green{ @@ -12435,6 +13189,19 @@ }, /turf/open/floor/plasteel, /area/centcom/ferry) +"psm" = ( +/obj/effect/turf_decal/siding/wood{ + dir = 10; + color = "#543C30" + }, +/obj/structure/sign/solgov_seal{ + pixel_y = -28 + }, +/obj/machinery/telecomms/relay/preset/solgov{ + autolinkers = list("relay") + }, +/turf/open/floor/wood/walnut, +/area/centcom) "psp" = ( /obj/structure/chair{ dir = 8 @@ -12496,11 +13263,30 @@ /obj/effect/spawner/xmastree, /turf/open/floor/plasteel, /area/syndicate_mothership/control) +"pvN" = ( +/obj/machinery/light/directional/east, +/obj/machinery/telecomms/relay/preset/frontiersmen{ + autolinkers = list("relay") + }, +/turf/open/floor/plasteel/patterned/grid, +/area/centcom) "pvV" = ( /obj/machinery/igniter/on, /obj/effect/turf_decal/industrial/hatch/yellow, /turf/open/floor/plasteel, /area/tdome/arena_source) +"pvW" = ( +/obj/effect/turf_decal/minutemen/edge, +/turf/open/floor/mineral/plastitanium, +/area/centcom) +"pwr" = ( +/obj/effect/turf_decal/solgov/wood/top_right, +/obj/effect/turf_decal/siding/wood{ + color = "#543C30"; + dir = 1 + }, +/turf/open/floor/wood/walnut, +/area/centcom) "pwJ" = ( /obj/structure/chair/comfy/brown{ color = "#596479" @@ -12724,6 +13510,13 @@ }, /turf/open/floor/plasteel/dark, /area/centcom/control) +"pLM" = ( +/obj/effect/turf_decal/siding/wood{ + color = "#543C30" + }, +/obj/effect/turf_decal/solgov/wood/bottom_right, +/turf/open/floor/wood/walnut, +/area/centcom) "pOL" = ( /obj/effect/turf_decal/industrial/warning{ dir = 9 @@ -12819,6 +13612,12 @@ }, /turf/open/floor/plasteel/dark, /area/centcom/control) +"pTR" = ( +/obj/effect/turf_decal/minutemen/edge{ + dir = 4 + }, +/turf/open/floor/mineral/plastitanium, +/area/centcom) "pVF" = ( /obj/machinery/computer/card/centcom{ dir = 8 @@ -12896,6 +13695,11 @@ /obj/effect/turf_decal/corner/opaque/red, /turf/open/floor/plasteel, /area/tdome/tdomeobserve) +"qju" = ( +/obj/structure/table/wood/fancy/blue, +/obj/item/papercutter, +/turf/open/floor/carpet/royalblue, +/area/centcom) "qkb" = ( /obj/item/kirbyplants{ icon_state = "plant-21" @@ -12913,6 +13717,16 @@ }, /turf/open/floor/plasteel/dark, /area/centcom/ferry) +"qkP" = ( +/obj/effect/turf_decal/solgov/wood/bottom_left{ + dir = 8 + }, +/obj/effect/turf_decal/siding/wood{ + color = "#543C30"; + dir = 1 + }, +/turf/open/floor/wood/walnut, +/area/centcom) "qmm" = ( /obj/effect/turf_decal/industrial/warning{ dir = 4 @@ -12927,6 +13741,13 @@ }, /turf/open/floor/plasteel, /area/centcom/control) +"qoL" = ( +/turf/open/floor/wood/mahogany, +/area/centcom) +"qqj" = ( +/obj/machinery/light/directional/north, +/turf/open/floor/mineral/plastitanium/red, +/area/centcom) "qsu" = ( /obj/structure/sink{ dir = 4; @@ -13048,6 +13869,27 @@ }, /turf/open/floor/plasteel/dark, /area/tdome/tdomeobserve) +"qLN" = ( +/obj/effect/turf_decal/corner/opaque/brown{ + dir = 4 + }, +/obj/effect/turf_decal/corner/opaque/yellow{ + dir = 1 + }, +/obj/structure/table, +/obj/structure/sign/poster/contraband/inteq{ + pixel_y = 32 + }, +/obj/item/desk_flag/trans{ + pixel_x = 12; + pixel_y = 2 + }, +/obj/item/radio/intercom/wideband/table{ + dir = 1; + pixel_x = -1 + }, +/turf/open/floor/plasteel, +/area/centcom) "qNc" = ( /obj/effect/turf_decal/corner/transparent/neutral{ dir = 1 @@ -13064,6 +13906,14 @@ }, /turf/open/floor/plasteel/dark, /area/centcom/ferry) +"qQe" = ( +/obj/machinery/hydroponics/soil, +/turf/open/floor/ship/dirt, +/area/centcom) +"qQA" = ( +/obj/effect/turf_decal/siding/wood, +/turf/open/floor/wood/mahogany, +/area/centcom) "qSb" = ( /obj/machinery/keycard_auth{ pixel_y = -25 @@ -13094,6 +13944,9 @@ }, /turf/open/floor/plasteel, /area/tdome/tdomeobserve) +"qVq" = ( +/turf/open/floor/plasteel, +/area/centcom) "qXd" = ( /obj/structure/table/wood, /obj/item/taperecorder, @@ -13324,6 +14177,14 @@ /obj/structure/extinguisher_cabinet/directional/east, /turf/open/floor/plasteel/dark, /area/centcom/control) +"rjV" = ( +/obj/effect/turf_decal/corner/opaque/brown{ + dir = 4 + }, +/obj/effect/turf_decal/corner/opaque/yellow, +/obj/item/kirbyplants/random, +/turf/open/floor/plasteel, +/area/centcom) "rln" = ( /obj/machinery/door/airlock/centcom{ name = "CentCom Supply"; @@ -13347,6 +14208,16 @@ }, /turf/open/floor/plasteel/dark, /area/centcom/ferry) +"rmj" = ( +/obj/effect/decal/cleanable/dirt, +/obj/structure/fluff/paper/stack, +/obj/item/chair/plastic{ + dir = 1; + pixel_x = -9; + pixel_y = 6 + }, +/turf/open/floor/plasteel/patterned/grid, +/area/centcom) "roJ" = ( /obj/effect/turf_decal/corner/transparent/neutral{ dir = 1 @@ -13451,6 +14322,14 @@ }, /turf/open/floor/plasteel/dark, /area/centcom/control) +"rvC" = ( +/obj/structure/table/reinforced, +/obj/item/radio/headset/minutemen/alt/captain{ + pixel_y = 2; + pixel_x = 1 + }, +/turf/open/floor/plasteel, +/area/centcom) "rvW" = ( /obj/structure/sink{ dir = 4; @@ -13684,6 +14563,16 @@ }, /turf/open/floor/plasteel, /area/tdome/arena_source) +"rUa" = ( +/obj/effect/turf_decal/corner/opaque/yellow{ + dir = 1 + }, +/obj/effect/turf_decal/corner/opaque/brown{ + dir = 8 + }, +/obj/item/kirbyplants/random, +/turf/open/floor/plasteel, +/area/centcom) "rUH" = ( /obj/structure/table/reinforced, /obj/item/reagent_containers/food/snacks/mint, @@ -13967,6 +14856,10 @@ /obj/effect/turf_decal/corner/opaque/blue, /turf/open/floor/plasteel/dark, /area/ctf) +"sMn" = ( +/obj/effect/decal/cleanable/dirt, +/turf/open/floor/plasteel/patterned/grid, +/area/centcom) "sMK" = ( /obj/effect/turf_decal/corner/opaque/brown, /obj/effect/turf_decal/corner/opaque/brown{ @@ -13991,6 +14884,13 @@ }, /turf/open/floor/plasteel/white, /area/centcom/holding) +"sQw" = ( +/obj/effect/turf_decal/corner/opaque/brown{ + dir = 4 + }, +/obj/effect/turf_decal/corner/opaque/yellow, +/turf/open/floor/plasteel, +/area/centcom) "sRB" = ( /obj/machinery/light/directional/east, /obj/effect/turf_decal/corner/transparent/bar, @@ -14051,6 +14951,12 @@ }, /turf/open/floor/plasteel/dark, /area/centcom/control) +"sVJ" = ( +/obj/effect/turf_decal/corner/opaque/yellow{ + dir = 6 + }, +/turf/open/floor/plasteel, +/area/centcom) "sWb" = ( /obj/item/storage/briefcase{ pixel_x = -3; @@ -14070,6 +14976,22 @@ }, /turf/open/floor/plasteel/dark, /area/tdome/tdomeadmin) +"sZJ" = ( +/obj/effect/turf_decal/corner/opaque/brown{ + dir = 4 + }, +/obj/effect/turf_decal/corner/opaque/yellow{ + dir = 1 + }, +/obj/structure/table, +/obj/item/clothing/head/helmet/inteq{ + pixel_x = -12; + pixel_y = 7 + }, +/obj/item/paper_bin, +/obj/item/pen, +/turf/open/floor/plasteel, +/area/centcom) "sZS" = ( /obj/effect/turf_decal/industrial/hatch/yellow, /turf/open/floor/plasteel, @@ -14272,12 +15194,44 @@ }, /turf/open/floor/plasteel/dark, /area/centcom/evac) +"ttK" = ( +/obj/effect/decal/fakelattice{ + color = "#808080"; + layer = 2.038 + }, +/obj/effect/turf_decal/corner_steel_grid/full{ + dir = 8 + }, +/obj/item/trash/can{ + pixel_x = -6; + pixel_y = 10 + }, +/turf/open/floor/plasteel/elevatorshaft{ + color = "#808080" + }, +/area/centcom) "tuw" = ( /obj/effect/turf_decal/industrial/loading{ dir = 8 }, /turf/open/floor/plasteel, /area/centcom/supply) +"tvO" = ( +/obj/effect/turf_decal/corner/opaque/brown{ + dir = 4 + }, +/obj/effect/turf_decal/corner/opaque/yellow, +/obj/structure/rack, +/obj/item/gun/ballistic/automatic/smg/inteq{ + pixel_x = 2 + }, +/obj/item/gun/ballistic/automatic/smg/inteq{ + pixel_x = -1; + pixel_y = -6 + }, +/obj/machinery/light/directional/south, +/turf/open/floor/plasteel, +/area/centcom) "tyg" = ( /obj/effect/turf_decal/corner/opaque/blue{ dir = 1 @@ -14307,6 +15261,25 @@ }, /turf/open/floor/plasteel/dark, /area/tdome/tdomeadmin) +"tAe" = ( +/obj/structure/chair{ + dir = 1 + }, +/obj/effect/decal/cleanable/blood{ + icon_state = "floor1-old"; + pixel_y = 10; + pixel_x = -8 + }, +/obj/effect/decal/cleanable/blood{ + icon_state = "floor2-old" + }, +/obj/effect/decal/cleanable/shreds{ + pixel_y = 11; + pixel_x = 4 + }, +/obj/effect/turf_decal/steeldecal/steel_decals_central5, +/turf/open/floor/plasteel/patterned/grid, +/area/centcom) "tAB" = ( /obj/structure/filingcabinet/medical, /obj/effect/turf_decal/corner/transparent/neutral{ @@ -14321,6 +15294,21 @@ }, /turf/open/floor/plasteel/dark, /area/centcom/control) +"tBa" = ( +/obj/structure/table/wood, +/obj/item/book/manual/srmlore{ + pixel_y = 4; + pixel_x = -4 + }, +/obj/item/flashlight/lantern{ + pixel_x = 8; + pixel_y = 13 + }, +/obj/item/book/manual/trickwines_4_brewers{ + pixel_x = -1 + }, +/turf/open/floor/wood/mahogany, +/area/centcom) "tBL" = ( /obj/structure/table/reinforced, /obj/item/storage/fancy/donut_box, @@ -14378,6 +15366,12 @@ }, /turf/open/floor/plasteel/dark, /area/centcom/control) +"tGR" = ( +/obj/effect/turf_decal/minutemen/corner{ + dir = 8 + }, +/turf/open/floor/mineral/plastitanium, +/area/centcom) "tHd" = ( /obj/effect/turf_decal/industrial/warning{ dir = 5 @@ -14410,6 +15404,11 @@ }, /turf/open/floor/plasteel, /area/centcom/evac) +"tOf" = ( +/obj/effect/turf_decal/solgov/wood/center, +/obj/machinery/light/floor, +/turf/open/floor/wood/walnut, +/area/centcom) "tOg" = ( /obj/machinery/computer/prisoner/management{ dir = 1 @@ -14481,6 +15480,10 @@ }, /turf/open/floor/plasteel, /area/tdome/arena_source) +"tUy" = ( +/obj/structure/catwalk/over, +/turf/open/floor/plating, +/area/centcom) "tWM" = ( /obj/structure/table/reinforced, /obj/item/radio{ @@ -14573,6 +15576,34 @@ }, /turf/open/floor/plasteel/dark, /area/centcom/control) +"unc" = ( +/obj/effect/turf_decal/siding/wood{ + color = "#543C30" + }, +/obj/effect/turf_decal/solgov/wood/bottom_center, +/obj/effect/turf_decal/siding/wood{ + color = "#543C30" + }, +/turf/open/floor/wood/walnut, +/area/centcom) +"unP" = ( +/obj/structure/table, +/obj/item/crowbar{ + pixel_y = 8; + pixel_x = -4 + }, +/obj/item/electropack{ + pixel_x = 7; + pixel_y = -2 + }, +/obj/item/kitchen/knife{ + pixel_y = -5; + pixel_x = -5 + }, +/turf/open/floor/plating{ + icon_state = "platingdmg1" + }, +/area/centcom) "uqL" = ( /obj/effect/turf_decal/industrial/warning{ dir = 1 @@ -14586,6 +15617,10 @@ }, /turf/open/floor/plasteel, /area/centcom/control) +"uuY" = ( +/obj/effect/turf_decal/syndicateemblem/bottom/right, +/turf/open/floor/mineral/plastitanium/red, +/area/centcom) "uzX" = ( /obj/structure/table, /obj/item/toy/katana, @@ -14709,6 +15744,9 @@ heat_capacity = 1e+006 }, /area/tdome/tdomeobserve) +"uKW" = ( +/turf/open/floor/mineral/plastitanium/red, +/area/centcom) "uLr" = ( /obj/item/storage/firstaid/toxin, /obj/item/storage/firstaid/o2{ @@ -14751,6 +15789,11 @@ }, /turf/open/floor/plasteel, /area/centcom/supplypod/loading/four) +"uOa" = ( +/obj/effect/turf_decal/syndicateemblem/bottom/middle, +/obj/structure/chair/office/dark, +/turf/open/floor/mineral/plastitanium/red, +/area/centcom) "uRu" = ( /obj/structure/table/wood, /obj/item/paper_bin, @@ -14847,6 +15890,10 @@ }, /turf/open/floor/plasteel, /area/syndicate_mothership/control) +"veN" = ( +/obj/structure/sign/syndicate, +/turf/closed/indestructible/syndicate, +/area/centcom) "veT" = ( /obj/machinery/vending/coffee, /obj/effect/turf_decal/corner/transparent/bar, @@ -15124,6 +16171,10 @@ }, /turf/open/floor/plasteel/dark, /area/ctf) +"vFM" = ( +/obj/machinery/telecomms/hub/preset, +/turf/open/floor/plasteel, +/area/centcom) "vGf" = ( /obj/effect/turf_decal/industrial/warning{ dir = 10 @@ -15133,6 +16184,18 @@ }, /turf/open/floor/plasteel/dark, /area/ctf) +"vIg" = ( +/obj/effect/turf_decal/siding/wood{ + dir = 9; + color = "#543C30" + }, +/obj/effect/turf_decal/solgov/wood/top, +/obj/effect/turf_decal/siding/wood{ + color = "#543C30"; + dir = 1 + }, +/turf/open/floor/wood/walnut, +/area/centcom) "vKH" = ( /obj/structure/table, /obj/machinery/reagentgrinder, @@ -15164,6 +16227,12 @@ }, /turf/open/floor/plasteel/dark, /area/tdome/tdomeobserve) +"vQk" = ( +/obj/structure/chair/wood/wings{ + dir = 1 + }, +/turf/open/floor/wood/mahogany, +/area/centcom) "vQM" = ( /obj/structure/table/wood, /obj/machinery/recharger, @@ -15196,6 +16265,13 @@ }, /turf/open/floor/plasteel, /area/centcom/evac) +"wad" = ( +/obj/effect/turf_decal/minutemen/corner, +/obj/structure/chair/comfy{ + dir = 8 + }, +/turf/open/floor/mineral/plastitanium, +/area/centcom) "wbj" = ( /obj/effect/turf_decal/corner/transparent/neutral, /obj/effect/turf_decal/corner/transparent/neutral{ @@ -15255,6 +16331,15 @@ }, /turf/open/floor/circuit/red, /area/ctf) +"weV" = ( +/obj/structure/fluff/paper/stack{ + dir = 6; + pixel_y = 11; + pixel_x = 7 + }, +/obj/structure/catwalk/over, +/turf/open/floor/plating, +/area/centcom) "wfQ" = ( /obj/structure/trap/ctf/red, /obj/effect/turf_decal/corner/opaque/red{ @@ -15399,6 +16484,28 @@ }, /turf/open/floor/plasteel/dark, /area/centcom/ferry) +"wAh" = ( +/obj/machinery/fax/admin/inteq, +/obj/effect/turf_decal/corner/opaque/brown{ + dir = 4 + }, +/obj/effect/turf_decal/corner/opaque/yellow{ + dir = 1 + }, +/obj/structure/table, +/turf/open/floor/plasteel, +/area/centcom) +"wCp" = ( +/obj/structure/table/wood/fancy/blue, +/obj/item/folder/solgov/red{ + pixel_x = -3 + }, +/obj/item/folder/solgov{ + pixel_y = 5; + pixel_x = 2 + }, +/turf/open/floor/carpet/royalblue, +/area/centcom) "wEF" = ( /obj/effect/turf_decal/corner/opaque/red, /obj/effect/turf_decal/corner/opaque/red{ @@ -15553,6 +16660,7 @@ name = "CentCom Stand"; req_access_txt = "109" }, +/obj/machinery/fax/admin, /turf/open/floor/plasteel/grimy, /area/centcom/control) "xaO" = ( @@ -15680,6 +16788,10 @@ }, /turf/open/floor/plasteel/dark, /area/centcom/control) +"xxi" = ( +/obj/effect/turf_decal/syndicateemblem/top/middle, +/turf/open/floor/mineral/plastitanium/red, +/area/centcom) "xEx" = ( /obj/structure/chair, /obj/effect/turf_decal/industrial/warning{ @@ -15779,6 +16891,10 @@ }, /turf/open/floor/plasteel/dark, /area/centcom/ferry) +"xTt" = ( +/obj/effect/turf_decal/solgov/wood/center_right, +/turf/open/floor/wood/walnut, +/area/centcom) "xWv" = ( /obj/effect/turf_decal/corner/opaque/green{ dir = 1 @@ -15829,6 +16945,13 @@ dir = 1 }, /area/centcom/supply) +"yhk" = ( +/obj/machinery/door/airlock/wood{ + dir = 4; + req_access = "109" + }, +/turf/open/floor/wood/mahogany, +/area/centcom) "yhL" = ( /obj/effect/turf_decal/corner/opaque/red{ dir = 1 @@ -25311,21 +26434,21 @@ aaa aaa aaa aaa +aPu +aPu +aPu +aPu +aPu +aPu +aPu aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa +hzJ +hzJ +hzJ +hzJ +bbf +hzJ +hzJ aaa aaa aaa @@ -25568,21 +26691,21 @@ aaa aaa aaa aaa +aPu +bSy +wCp +iwJ +njp +psm +aPu aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa +hzJ +lQr +moE +qVq +qVq +bIJ +hzJ aaa aaa aaa @@ -25825,21 +26948,21 @@ aaa aaa aaa aaa +aPu +nYl +dER +qkP +jja +eqM +aPu aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa +hzJ +hba +wad +pTR +gaU +vFM +hzJ aaa aaa aaa @@ -26082,21 +27205,21 @@ aaa aaa aaa aaa +aPu +gTo +gfJ +vIg +tOf +unc +iSo aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa +hzJ +kkC +pvW +iWI +hBf +rvC +hzJ aaa aaa aaa @@ -26339,21 +27462,21 @@ aaa aaa aaa aaa +aPu +phf +dER +pwr +xTt +pLM +aPu aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa +hzJ +qVq +tGR +kiC +bUH +bRF +hzJ aaa aaa aaa @@ -26596,21 +27719,21 @@ aaa aaa aaa aaa +aPu +dom +qju +naB +oaQ +gsx +aPu aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa +hzJ +dKW +qVq +qVq +aIF +igC +hzJ aaa aaa aaa @@ -26853,21 +27976,21 @@ aaa aaa aaa aaa +aPu +aPu +aPu +aPu +aPu +aPu +aPu aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa +hzJ +hzJ +hzJ +hzJ +hzJ +hzJ +hzJ aaa aaa aaa @@ -27367,21 +28490,21 @@ aaa aaa aaa aaa +lJp +lJp +lJp +lJp +lJp +lJp +lJp aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa +hzJ +hzJ +hzJ +mpi +hzJ +hzJ +hzJ aaa aaa aaa @@ -27624,21 +28747,21 @@ aaa aaa aaa aaa +veN +cCK +cUG +mAL +fKt +iZr +veN aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa +hzJ +mJP +lmY +tUy +sMn +kFX +hzJ aaa aaa aaa @@ -27881,21 +29004,21 @@ aaa aaa aaa aaa +fUc +uKW +mJl +myU +kXn +msQ +lJp aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa +hzJ +lHR +rmj +weV +lXI +tAe +hzJ aaa aaa aaa @@ -28138,21 +29261,21 @@ aaa aaa aaa aaa +lJp +qqj +xxi +jPn +uOa +jFa +lJp aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa +hzJ +jDt +ibc +eWz +lXQ +duw +hzJ aaa aaa aaa @@ -28395,21 +29518,21 @@ aaa aaa aaa aaa +fUc +uKW +mPN +kmQ +uuY +jly +lJp aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa +hzJ +iRP +fau +gDV +iti +unP +hzJ aaa aaa aaa @@ -28652,21 +29775,21 @@ aaa aaa aaa aaa +veN +lfK +ciU +iyJ +bFc +iZr +veN aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa +hzJ +mDT +ttK +nos +cZi +pvN +hzJ aaa aaa aaa @@ -28909,21 +30032,21 @@ aaa aaa aaa aaa +lJp +lJp +lJp +lJp +lJp +lJp +lJp aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa +hzJ +hzJ +hzJ +eLy +hzJ +hzJ +hzJ aaa aaa aaa @@ -29423,21 +30546,21 @@ aaa aaa aaa aaa +aPu +aPu +aPu +aPu +aPu +aPu +aPu aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa +eAJ +eAJ +eAJ +eAJ +eAJ +eAJ +eAJ aaa aaa aaa @@ -29680,21 +30803,21 @@ aaa aaa aaa aaa +aPu +nYZ +mGE +rUa +mGE +odH +aPu aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa +eAJ +mVC +qoL +jEn +etl +oHB +eAJ aaa aaa aaa @@ -29937,21 +31060,21 @@ aaa aaa aaa aaa +aPu +qLN +fTU +emF +sVJ +apm +aPu aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa +eAJ +tBa +qoL +qQA +iDo +hYV +eAJ aaa aaa aaa @@ -30194,21 +31317,21 @@ aaa aaa aaa aaa +aPu +wAh +cxm +emF +emF +cjo +ouD aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa +eAJ +lfi +vQk +qQA +iDo +qQe +eAJ aaa aaa aaa @@ -30451,21 +31574,21 @@ aaa aaa aaa aaa +aPu +sZJ +plP +emF +lYF +cIS +aPu aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa +eAJ +jyy +qoL +qQA +iDo +qQe +eAJ aaa aaa aaa @@ -30708,21 +31831,21 @@ aaa aaa aaa aaa +aPu +lKP +sQw +rjV +sQw +tvO +aPu aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa +eAJ +mVC +qoL +qQA +iDo +hYV +eAJ aaa aaa aaa @@ -30965,21 +32088,21 @@ aaa aaa aaa aaa +aPu +aPu +aPu +aPu +aPu +aPu +aPu aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa +eAJ +eAJ +eAJ +yhk +eAJ +eAJ +eAJ aaa aaa aaa diff --git a/_maps/outpost/hangar/nt_asteroid_20x20.dmm b/_maps/outpost/hangar/nt_asteroid_20x20.dmm index c3d35afcea10..159af62d17cf 100644 --- a/_maps/outpost/hangar/nt_asteroid_20x20.dmm +++ b/_maps/outpost/hangar/nt_asteroid_20x20.dmm @@ -1037,7 +1037,7 @@ /obj/structure/table/reinforced{ color = "#c1b6a5" }, -/obj/machinery/fax, +/obj/machinery/fax/ruin, /turf/open/floor/plasteel/dark{ planetary_atmos = 1 }, diff --git a/_maps/outpost/hangar/nt_asteroid_40x20.dmm b/_maps/outpost/hangar/nt_asteroid_40x20.dmm index 959b27a5dd98..0d229e5d7af9 100644 --- a/_maps/outpost/hangar/nt_asteroid_40x20.dmm +++ b/_maps/outpost/hangar/nt_asteroid_40x20.dmm @@ -1233,7 +1233,7 @@ /obj/structure/table/reinforced{ color = "#c1b6a5" }, -/obj/machinery/fax, +/obj/machinery/fax/ruin, /obj/effect/turf_decal/techfloor{ dir = 4 }, diff --git a/_maps/outpost/nanotrasen_asteroid.dmm b/_maps/outpost/nanotrasen_asteroid.dmm index 8f5c38ded0ea..d5ccb5e0af68 100644 --- a/_maps/outpost/nanotrasen_asteroid.dmm +++ b/_maps/outpost/nanotrasen_asteroid.dmm @@ -3558,7 +3558,7 @@ /area/outpost/crew/library) "mZ" = ( /obj/structure/table/wood, -/obj/machinery/fax, +/obj/machinery/fax/ruin, /turf/open/floor/plasteel, /area/outpost/crew/canteen) "na" = ( diff --git a/_maps/outpost/nanotrasen_ice.dmm b/_maps/outpost/nanotrasen_ice.dmm index bc92fdbc20c0..04b8040a6275 100644 --- a/_maps/outpost/nanotrasen_ice.dmm +++ b/_maps/outpost/nanotrasen_ice.dmm @@ -7463,7 +7463,7 @@ /area/outpost/security/armory) "XG" = ( /obj/structure/table/reinforced, -/obj/machinery/fax, +/obj/machinery/fax/ruin, /obj/machinery/light/directional/south, /turf/open/floor/plasteel/telecomms_floor, /area/outpost/security) diff --git a/_maps/shuttles/independent/independent_dwayne.dmm b/_maps/shuttles/independent/independent_dwayne.dmm index e5ff88f9fc28..c1a9eab8c37f 100644 --- a/_maps/shuttles/independent/independent_dwayne.dmm +++ b/_maps/shuttles/independent/independent_dwayne.dmm @@ -2102,9 +2102,9 @@ dir = 4 }, /obj/structure/guncase/shotgun, -/obj/item/gun/ballistic/shotgun/winchester, -/obj/item/gun/ballistic/shotgun/winchester, -/obj/item/gun/ballistic/shotgun/winchester, +/obj/item/gun/ballistic/shotgun/flamingarrow, +/obj/item/gun/ballistic/shotgun/flamingarrow, +/obj/item/gun/ballistic/shotgun/flamingarrow, /turf/open/floor/plasteel, /area/ship/cargo) "WE" = ( diff --git a/_maps/shuttles/independent/independent_halftrack.dmm b/_maps/shuttles/independent/independent_halftrack.dmm index f82d26ffd66d..46e6989a124f 100644 --- a/_maps/shuttles/independent/independent_halftrack.dmm +++ b/_maps/shuttles/independent/independent_halftrack.dmm @@ -200,16 +200,16 @@ /obj/machinery/airalarm/directional/south, /obj/machinery/firealarm/directional/west, /obj/structure/closet/crate/secure/weapon, -/obj/item/storage/box/lethalshot, -/obj/item/storage/box/lethalshot, -/obj/item/storage/box/lethalshot, -/obj/item/storage/box/lethalshot, -/obj/item/storage/box/lethalshot, -/obj/item/storage/box/beanbag, -/obj/item/storage/box/beanbag, -/obj/item/storage/box/beanbag, -/obj/item/storage/box/beanbag, -/obj/item/storage/box/beanbag, +/obj/item/ammo_box/a12g, +/obj/item/ammo_box/a12g, +/obj/item/ammo_box/a12g, +/obj/item/ammo_box/a12g, +/obj/item/ammo_box/a12g, +/obj/item/ammo_box/a12g/beanbag, +/obj/item/ammo_box/a12g/beanbag, +/obj/item/ammo_box/a12g/beanbag, +/obj/item/ammo_box/a12g/beanbag, +/obj/item/ammo_box/a12g/beanbag, /obj/effect/turf_decal/box/red, /turf/open/floor/plasteel/dark, /area/ship/security) @@ -949,10 +949,10 @@ dir = 8 }, /obj/structure/rack, -/obj/item/gun/ballistic/shotgun/riot, -/obj/item/gun/ballistic/shotgun/riot, -/obj/item/gun/ballistic/shotgun/riot, -/obj/item/gun/ballistic/shotgun/riot, +/obj/item/gun/ballistic/shotgun/hellfire, +/obj/item/gun/ballistic/shotgun/hellfire, +/obj/item/gun/ballistic/shotgun/hellfire, +/obj/item/gun/ballistic/shotgun/hellfire, /turf/open/floor/plasteel/dark, /area/ship/security/armory) "vT" = ( diff --git a/_maps/shuttles/independent/independent_mudskipper.dmm b/_maps/shuttles/independent/independent_mudskipper.dmm index 4c67eadac91e..e3ff8985e3d1 100644 --- a/_maps/shuttles/independent/independent_mudskipper.dmm +++ b/_maps/shuttles/independent/independent_mudskipper.dmm @@ -171,6 +171,10 @@ dir = 8 }, /obj/effect/turf_decal/corner/transparent/neutral, +/obj/machinery/light_switch{ + pixel_y = 23; + pixel_x = -3 + }, /turf/open/floor/plasteel/dark, /area/ship/bridge) "dQ" = ( @@ -970,7 +974,7 @@ "uW" = ( /obj/machinery/door/airlock/grunge{ name = "Bridge"; - req_one_access_txt = "7" + req_one_access_txt = "20" }, /obj/effect/turf_decal/industrial/warning, /obj/effect/turf_decal/industrial/warning{ @@ -1058,6 +1062,11 @@ /obj/structure/dresser, /obj/effect/decal/cleanable/dirt/dust, /obj/effect/decal/cleanable/dirt/dust, +/obj/machinery/light_switch{ + dir = 8; + pixel_x = 22; + pixel_y = -6 + }, /turf/open/floor/wood/walnut{ icon_state = "wood-broken7" }, diff --git a/_maps/shuttles/independent/independent_nemo.dmm b/_maps/shuttles/independent/independent_nemo.dmm index f693cbcbdc27..0bb1bf8fe690 100644 --- a/_maps/shuttles/independent/independent_nemo.dmm +++ b/_maps/shuttles/independent/independent_nemo.dmm @@ -2178,7 +2178,7 @@ }, /obj/item/firing_pin, /obj/item/kitchen/knife/hunting, -/obj/item/gun/ballistic/shotgun/contender, +/obj/item/gun/ballistic/shotgun/doublebarrel/beacon, /obj/item/ammo_box/a4570, /obj/item/ammo_box/a4570, /turf/open/floor/carpet/black, diff --git a/_maps/shuttles/independent/independent_rigger.dmm b/_maps/shuttles/independent/independent_rigger.dmm index 3c3235362343..a6312b7de614 100644 --- a/_maps/shuttles/independent/independent_rigger.dmm +++ b/_maps/shuttles/independent/independent_rigger.dmm @@ -1005,8 +1005,8 @@ pixel_y = 28; req_access_txt = "1" }, -/obj/item/gun/ballistic/shotgun/winchester, -/obj/item/gun/ballistic/automatic/pistol/m1911, +/obj/item/gun/ballistic/shotgun/flamingarrow, +/obj/item/gun/ballistic/automatic/pistol/candor, /turf/open/floor/plasteel/dark, /area/ship/security) "mJ" = ( @@ -3770,7 +3770,7 @@ /obj/item/clothing/suit/armor/vest/capcarapace/duster, /obj/item/clothing/glasses/sunglasses, /obj/item/clothing/head/caphat/cowboy, -/obj/item/gun/ballistic/automatic/pistol/m1911, +/obj/item/gun/ballistic/automatic/pistol/candor, /obj/structure/closet/secure_closet/wall{ dir = 8; icon_state = "solgov_wall"; diff --git a/_maps/shuttles/independent/independent_rube_goldberg.dmm b/_maps/shuttles/independent/independent_rube_goldberg.dmm index b8960b78342d..1f4b57035031 100644 --- a/_maps/shuttles/independent/independent_rube_goldberg.dmm +++ b/_maps/shuttles/independent/independent_rube_goldberg.dmm @@ -1311,7 +1311,7 @@ /obj/item/rcd_ammo, /obj/item/rcd_ammo, /obj/item/clothing/gloves/color/yellow, -/obj/item/gun/ballistic/shotgun/winchester, +/obj/item/gun/ballistic/shotgun/flamingarrow, /obj/item/ammo_box/c38_box, /obj/item/storage/fancy/cigarettes/cigars/cohiba, /obj/effect/turf_decal/corner/opaque/yellow/border{ diff --git a/_maps/shuttles/independent/independent_shepherd.dmm b/_maps/shuttles/independent/independent_shepherd.dmm index 36430872f33c..b3e9e88c6d2c 100644 --- a/_maps/shuttles/independent/independent_shepherd.dmm +++ b/_maps/shuttles/independent/independent_shepherd.dmm @@ -12,11 +12,6 @@ /obj/item/clothing/suit/hooded/chaplain_hoodie, /obj/item/clothing/suit/hooded/chaplainsuit/monkhabit, /obj/item/clothing/suit/hooded/chaplainsuit/monkhabit, -/obj/item/clothing/suit/chaplainsuit/nun, -/obj/item/clothing/suit/chaplainsuit/nun, -/obj/item/clothing/suit/chaplainsuit/holidaypriest, -/obj/item/clothing/suit/chaplainsuit/bishoprobe, -/obj/item/clothing/head/bishopmitre, /obj/structure/closet/wall{ dir = 8; pixel_x = 30 @@ -25,15 +20,6 @@ /obj/item/clothing/suit/hooded/chaplain_hoodie, /obj/item/clothing/suit/hooded/chaplainsuit/monkhabit, /obj/item/clothing/suit/hooded/chaplainsuit/monkhabit, -/obj/item/clothing/suit/chaplainsuit/nun, -/obj/item/clothing/suit/chaplainsuit/nun, -/obj/item/clothing/suit/chaplainsuit/monkrobeeast, -/obj/item/clothing/suit/chaplainsuit/monkrobeeast, -/obj/effect/turf_decal/siding/wood/end, -/obj/item/clothing/head/nun_hood, -/obj/item/clothing/head/nun_hood, -/obj/item/clothing/head/nun_hood, -/obj/item/clothing/head/nun_hood, /turf/open/floor/wood, /area/ship/crew/dorm) "am" = ( @@ -545,8 +531,7 @@ /obj/item/honey_frame, /obj/item/queen_bee/bought, /obj/effect/turf_decal/siding/wood{ - color = "#332521"; - layer = 70 + color = "#332521" }, /turf/open/floor/grass/fairy, /area/ship/crew/hydroponics) @@ -892,7 +877,8 @@ /obj/structure/window/reinforced/spawner/east, /obj/effect/decal/cleanable/dirt, /obj/machinery/door/window/northleft{ - req_one_access_txt = list("12","22","37") + req_one_access_txt = null; + req_one_access = list(12,22,37) }, /turf/open/floor/wood/ebony, /area/ship/crew/hydroponics) @@ -1209,7 +1195,6 @@ /obj/structure/closet/secure_closet/personal/cabinet, /obj/item/gun/ballistic/shotgun/doublebarrel, /obj/item/key/displaycase, -/obj/item/soulstone/anybody/chaplain, /obj/item/megaphone, /obj/item/storage/box/beanbag, /turf/open/floor/carpet/nanoweave/blue, @@ -1223,7 +1208,6 @@ /turf/closed/wall/r_wall, /area/ship/crew/dorm/dormtwo) "kE" = ( -/obj/structure/fluff/divine/nexus, /turf/open/floor/carpet/nanoweave/blue, /area/ship/crew/chapel/office) "kH" = ( @@ -1380,7 +1364,7 @@ /obj/effect/turf_decal/siding/wood/corner{ dir = 8 }, -/obj/structure/altar_of_gods, +/obj/structure/fluff/divine/convertaltar, /turf/open/floor/wood, /area/ship/crew/chapel) "md" = ( @@ -1864,7 +1848,8 @@ "qj" = ( /obj/effect/decal/cleanable/dirt, /obj/machinery/door/window/northleft{ - req_one_access_txt = list("12","22","37") + req_one_access_txt = null; + req_one_access = list(12,22,37) }, /turf/open/floor/ship/dirt/dark, /area/ship/crew/hydroponics) @@ -1961,6 +1946,10 @@ /obj/effect/turf_decal/siding/wood{ dir = 5 }, +/obj/machinery/light_switch{ + pixel_y = 23; + pixel_x = 11 + }, /turf/open/floor/wood, /area/ship/hallway/port) "qV" = ( @@ -2430,7 +2419,9 @@ color = "#332521"; dir = 5 }, -/obj/item/toy/plush/hornet/gay, +/obj/item/toy/plush/hornet/gay{ + layer = 3.1 + }, /obj/machinery/atmospherics/components/unary/vent_pump/on/layer2, /obj/machinery/power/apc/auto_name/directional/east, /obj/structure/cable{ @@ -2805,6 +2796,15 @@ /obj/effect/turf_decal/corner/opaque/lightgrey/mono, /turf/open/floor/engine/air, /area/ship/engineering/atmospherics) +"yZ" = ( +/obj/effect/turf_decal/siding/wood, +/obj/machinery/light_switch{ + dir = 1; + pixel_x = -6; + pixel_y = -25 + }, +/turf/open/floor/wood, +/area/ship/hallway/starboard) "zt" = ( /obj/structure/table/wood, /obj/item/storage/firstaid/regular, @@ -2914,6 +2914,7 @@ color = "#332521"; dir = 10 }, +/obj/machinery/hydroponics/soil, /turf/open/floor/grass/fairy, /area/ship/crew/hydroponics) "Aq" = ( @@ -3121,10 +3122,6 @@ }, /turf/open/floor/ship/dirt/dark, /area/ship/crew/hydroponics) -"Cx" = ( -/obj/machinery/mineral/ore_redemption, -/turf/open/floor/ship/dirt/dark, -/area/ship/crew/canteen) "CL" = ( /obj/effect/turf_decal/corner/opaque/bottlegreen/diagonal, /obj/machinery/power/apc/auto_name/directional/west, @@ -3532,9 +3529,9 @@ dir = 8 }, /obj/effect/turf_decal/siding/wood{ - color = "#332521"; - layer = 70 + color = "#332521" }, +/obj/machinery/hydroponics/soil, /turf/open/floor/grass/fairy, /area/ship/crew/hydroponics) "Ga" = ( @@ -3567,7 +3564,6 @@ /obj/structure/window/reinforced/spawner, /obj/item/storage/belt/utility/full/engi, /obj/item/clothing/gloves/color/yellow, -/obj/item/clothing/gloves/color/yellow, /obj/item/clothing/head/welding, /obj/item/clothing/head/welding, /obj/item/multitool, @@ -3911,6 +3907,7 @@ color = "#332521"; dir = 6 }, +/obj/machinery/hydroponics/soil, /turf/open/floor/grass/fairy, /area/ship/crew/hydroponics) "Jv" = ( @@ -4086,8 +4083,7 @@ /obj/item/honey_frame, /obj/item/queen_bee/bought, /obj/effect/turf_decal/siding/wood{ - color = "#332521"; - layer = 70 + color = "#332521" }, /turf/open/floor/grass/fairy, /area/ship/crew/hydroponics) @@ -4412,9 +4408,9 @@ }, /obj/structure/flora/ausbushes/brflowers, /obj/effect/turf_decal/siding/wood{ - color = "#332521"; - layer = 70 + color = "#332521" }, +/obj/machinery/hydroponics/soil, /turf/open/floor/grass/fairy, /area/ship/crew/hydroponics) "NN" = ( @@ -4435,16 +4431,15 @@ /obj/item/honey_frame, /obj/item/queen_bee/bought, /obj/effect/turf_decal/siding/wood{ - color = "#332521"; - layer = 70 + color = "#332521" }, /turf/open/floor/grass/fairy, /area/ship/crew/hydroponics) "NX" = ( /obj/effect/turf_decal/siding/wood{ - color = "#332521"; - layer = 70 + color = "#332521" }, +/obj/machinery/hydroponics/soil, /turf/open/floor/grass/fairy, /area/ship/crew/hydroponics) "NZ" = ( @@ -4567,7 +4562,8 @@ /obj/machinery/atmospherics/components/unary/vent_scrubber/on/layer4, /obj/item/toy/plush/lizardplushie{ pixel_x = -2; - pixel_y = 7 + pixel_y = 7; + layer = 3.1 }, /obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2, /obj/structure/cable{ @@ -4602,7 +4598,9 @@ color = "#332521"; dir = 9 }, -/obj/item/toy/plush/snakeplushie, +/obj/item/toy/plush/snakeplushie{ + layer = 3.1 + }, /turf/open/floor/carpet/black, /area/ship/crew/dorm/dormtwo) "PE" = ( @@ -4740,8 +4738,7 @@ /obj/item/honey_frame, /obj/item/queen_bee/bought, /obj/effect/turf_decal/siding/wood{ - color = "#332521"; - layer = 70 + color = "#332521" }, /turf/open/floor/grass/fairy, /area/ship/crew/hydroponics) @@ -5102,13 +5099,9 @@ "Ss" = ( /obj/structure/table/wood, /obj/item/areaeditor/shuttle, -/obj/item/nullrod, /obj/machinery/atmospherics/components/unary/vent_pump/on/layer2{ dir = 1 }, -/obj/item/spacecash/bundle/c1000, -/obj/item/spacecash/bundle/c1000, -/obj/item/spacecash/bundle/c1000, /obj/machinery/firealarm/directional/east, /obj/machinery/light/directional/east, /turf/open/floor/carpet/nanoweave/blue, @@ -5446,13 +5439,6 @@ }, /turf/open/floor/wood, /area/ship/crew/library) -"Vr" = ( -/obj/machinery/light_switch{ - pixel_x = 6; - pixel_y = 23 - }, -/turf/closed/wall/r_wall, -/area/ship/engineering/atmospherics) "Vu" = ( /obj/structure/chair/pew/left, /obj/effect/turf_decal/siding/wood{ @@ -5496,8 +5482,7 @@ dir = 1 }, /obj/effect/turf_decal/siding/wood{ - color = "#332521"; - layer = 70 + color = "#332521" }, /turf/open/floor/grass/fairy, /area/ship/crew/hydroponics) @@ -5512,7 +5497,8 @@ }, /obj/item/toy/plush/goatplushie{ pixel_x = 2; - pixel_y = 3 + pixel_y = 3; + layer = 3.1 }, /turf/open/floor/carpet/black, /area/ship/crew/dorm/dormtwo) @@ -5532,7 +5518,8 @@ dir = 1 }, /obj/item/toy/plush/moth{ - pixel_y = 3 + pixel_y = 3; + layer = 3.1 }, /turf/open/floor/carpet/black, /area/ship/crew/dorm/dormtwo) @@ -5734,9 +5721,9 @@ "XH" = ( /obj/structure/flora/ausbushes/ppflowers, /obj/effect/turf_decal/siding/wood{ - color = "#332521"; - layer = 70 + color = "#332521" }, +/obj/machinery/hydroponics/soil, /turf/open/floor/grass/fairy, /area/ship/crew/hydroponics) "XL" = ( @@ -5760,8 +5747,7 @@ "XY" = ( /obj/machinery/light/floor, /obj/effect/turf_decal/siding/wood{ - color = "#332521"; - layer = 70 + color = "#332521" }, /turf/open/floor/grass/fairy, /area/ship/crew/hydroponics) @@ -6758,7 +6744,7 @@ xj (21,1,1) = {" xj xj -Vr +Uf Ez jS QI @@ -6826,7 +6812,7 @@ JL UW hw Vh -FL +yZ mB Ga oQ @@ -7163,7 +7149,7 @@ xj xj ZG Te -Cx +Tf Tf fP Tf diff --git a/_maps/shuttles/independent/independent_tranquility.dmm b/_maps/shuttles/independent/independent_tranquility.dmm index 4a8f4e5ed30b..ed3087952f1d 100644 --- a/_maps/shuttles/independent/independent_tranquility.dmm +++ b/_maps/shuttles/independent/independent_tranquility.dmm @@ -1775,18 +1775,6 @@ }, /turf/open/floor/carpet/nanoweave/beige, /area/ship/hallway/port) -"nO" = ( -/obj/structure/chair/sofa/corner{ - dir = 8 - }, -/obj/effect/turf_decal/siding/wood{ - dir = 6 - }, -/obj/structure/sign/poster/rilena/random{ - pixel_x = 32 - }, -/turf/open/floor/wood/walnut, -/area/ship/crew) "nX" = ( /obj/structure/frame/machine, /obj/item/stack/cable_coil/random/five, @@ -2671,6 +2659,35 @@ /obj/structure/reagent_dispensers/watertank, /turf/open/floor/plasteel/tech/techmaint, /area/ship/engineering/engine) +"vU" = ( +/obj/structure/table, +/obj/item/ammo_box/magazine/m45/rubber{ + pixel_x = 7; + pixel_y = -2 + }, +/obj/effect/turf_decal/borderfloorblack{ + dir = 6 + }, +/obj/effect/turf_decal/borderfloorblack{ + dir = 5 + }, +/obj/item/gun/ballistic/automatic/pistol/candor/no_mag{ + pixel_x = -2; + pixel_y = 9 + }, +/obj/item/reagent_containers/glass/rag{ + pixel_x = -6; + pixel_y = 1 + }, +/obj/machinery/power/apc/auto_name/directional/east, +/obj/structure/cable{ + icon_state = "0-8" + }, +/obj/structure/sign/poster/contraband/lusty_xenomorph{ + pixel_y = 32 + }, +/turf/open/floor/plasteel/tech, +/area/ship/security/armory) "vV" = ( /obj/structure/table, /obj/effect/turf_decal/siding/wood{ @@ -3832,6 +3849,18 @@ }, /turf/open/floor/plasteel/tech, /area/ship/crew/crewfour) +"Fk" = ( +/obj/structure/chair/sofa/corner{ + dir = 8 + }, +/obj/effect/turf_decal/siding/wood{ + dir = 6 + }, +/obj/structure/sign/poster/rilena/random{ + pixel_x = 32 + }, +/turf/open/floor/wood/walnut, +/area/ship/crew) "Fl" = ( /obj/structure/table, /obj/item/defibrillator/loaded, @@ -5478,35 +5507,6 @@ }, /turf/closed/wall/mineral/titanium/nodiagonal, /area/ship/engineering/engine) -"Rk" = ( -/obj/structure/table, -/obj/item/ammo_box/magazine/m45/rubber{ - pixel_x = 7; - pixel_y = -2 - }, -/obj/effect/turf_decal/borderfloorblack{ - dir = 6 - }, -/obj/effect/turf_decal/borderfloorblack{ - dir = 5 - }, -/obj/item/gun/ballistic/automatic/pistol/m1911/no_mag{ - pixel_x = -2; - pixel_y = 9 - }, -/obj/item/reagent_containers/glass/rag{ - pixel_x = -6; - pixel_y = 1 - }, -/obj/machinery/power/apc/auto_name/directional/east, -/obj/structure/cable{ - icon_state = "0-8" - }, -/obj/structure/sign/poster/contraband/lusty_xenomorph{ - pixel_y = 32 - }, -/turf/open/floor/plasteel/tech, -/area/ship/security/armory) "Rm" = ( /obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ dir = 4 @@ -6906,7 +6906,7 @@ KI HP PH gk -nO +Fk Ef wz xo @@ -7658,7 +7658,7 @@ qa qa qa PS -Rk +vU fZ qq xI diff --git a/_maps/shuttles/inteq/inteq_valor.dmm b/_maps/shuttles/inteq/inteq_valor.dmm new file mode 100644 index 000000000000..6e5f1e7297c7 --- /dev/null +++ b/_maps/shuttles/inteq/inteq_valor.dmm @@ -0,0 +1,6663 @@ +//MAP CONVERTED BY dmm2tgm.py THIS HEADER COMMENT PREVENTS RECONVERSION, DO NOT REMOVE +"aa" = ( +/obj/effect/turf_decal/corner/opaque/yellow{ + dir = 1 + }, +/obj/effect/turf_decal/corner/opaque/brown{ + dir = 4 + }, +/turf/open/floor/plasteel/dark, +/area/ship/crew/dorm) +"ah" = ( +/obj/effect/turf_decal/corner/opaque/brown{ + dir = 4 + }, +/obj/effect/turf_decal/corner/opaque/yellow{ + dir = 1 + }, +/obj/structure/chair, +/obj/machinery/firealarm/directional/north, +/turf/open/floor/plasteel/dark, +/area/ship/crew/canteen) +"ap" = ( +/obj/effect/turf_decal/siding/thinplating/dark/corner{ + dir = 1 + }, +/obj/effect/turf_decal/siding/thinplating/dark/corner{ + dir = 8 + }, +/obj/effect/turf_decal/siding/thinplating/dark/corner{ + dir = 4 + }, +/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ + dir = 4 + }, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ + dir = 4 + }, +/obj/effect/turf_decal/trimline/opaque/brown/line, +/turf/open/floor/plasteel/dark, +/area/ship/medical) +"ar" = ( +/obj/structure/cable{ + icon_state = "4-8" + }, +/obj/machinery/power/apc/auto_name/directional/south, +/obj/structure/cable{ + icon_state = "0-8" + }, +/obj/effect/decal/cleanable/dirt/dust, +/obj/structure/cable{ + icon_state = "1-9" + }, +/turf/open/floor/plating, +/area/ship/maintenance/port) +"as" = ( +/obj/machinery/atmospherics/components/unary/vent_scrubber/on/layer4{ + dir = 4 + }, +/obj/effect/decal/cleanable/dirt, +/turf/open/floor/plasteel/patterned, +/area/ship/cargo) +"aC" = ( +/obj/structure/cable{ + icon_state = "4-8" + }, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ + dir = 4 + }, +/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ + dir = 4 + }, +/turf/open/floor/carpet/black, +/area/ship/crew/dorm) +"aU" = ( +/obj/structure/catwalk/over/plated_catwalk, +/obj/structure/cable{ + icon_state = "1-2" + }, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4, +/obj/machinery/atmospherics/pipe/manifold4w/supply/hidden/layer2, +/turf/open/floor/plasteel/tech/grid, +/area/ship/cargo) +"aW" = ( +/obj/structure/cable{ + icon_state = "1-2" + }, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4, +/obj/machinery/door/firedoor/border_only, +/obj/machinery/door/firedoor/border_only{ + dir = 1 + }, +/obj/machinery/door/airlock/grunge{ + name = "Medbay" + }, +/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2, +/obj/effect/turf_decal/borderfloorblack{ + dir = 1 + }, +/obj/effect/turf_decal/siding/thinplating/dark/corner{ + dir = 8 + }, +/obj/effect/turf_decal/siding/thinplating/dark/corner, +/turf/open/floor/plasteel/dark, +/area/ship/medical) +"bh" = ( +/obj/structure/railing{ + dir = 6 + }, +/obj/effect/turf_decal/borderfloor{ + dir = 6 + }, +/obj/effect/turf_decal/box/corners, +/obj/structure/rack, +/obj/effect/spawner/lootdrop/maintenance/five, +/turf/open/floor/plasteel/patterned/cargo_one, +/area/ship/cargo) +"bv" = ( +/obj/effect/turf_decal/box/white/corners, +/obj/effect/turf_decal/box/white/corners{ + dir = 4 + }, +/obj/effect/turf_decal/siding/thinplating, +/obj/machinery/atmospherics/components/unary/vent_scrubber/on/layer4, +/obj/structure/closet/secure_closet{ + icon_state = "med_secure"; + name = "corpsman's locker"; + req_access = list(5) + }, +/obj/item/clothing/under/syndicate/inteq/corpsman, +/obj/item/clothing/under/syndicate/inteq/skirt/corpsman, +/obj/item/clothing/suit/armor/inteq/corpsman, +/obj/item/clothing/head/soft/inteq/corpsman, +/obj/item/storage/backpack/messenger/med, +/obj/item/storage/backpack/medic, +/obj/item/pinpointer/crew, +/obj/item/storage/belt/medical/webbing, +/obj/item/storage/firstaid/regular, +/turf/open/floor/plasteel/patterned/ridged, +/area/ship/crew/office) +"bx" = ( +/obj/effect/turf_decal/borderfloor{ + dir = 4 + }, +/obj/structure/closet/firecloset/wall{ + pixel_y = 28 + }, +/turf/open/floor/plasteel/patterned, +/area/ship/cargo) +"bB" = ( +/turf/closed/wall/mineral/plastitanium, +/area/ship/medical) +"bF" = ( +/obj/structure/catwalk/over/plated_catwalk, +/obj/machinery/light/directional/east, +/obj/structure/cable{ + icon_state = "1-2" + }, +/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4, +/turf/open/floor/plasteel/tech/grid, +/area/ship/cargo) +"bI" = ( +/obj/effect/turf_decal/borderfloorwhite, +/obj/machinery/light/directional/south, +/turf/open/floor/plasteel/white, +/area/ship/medical) +"bJ" = ( +/obj/effect/turf_decal/siding/thinplating/dark, +/obj/effect/turf_decal/trimline/opaque/brown/line, +/obj/machinery/light/directional/south, +/obj/structure/cable{ + icon_state = "4-8" + }, +/obj/machinery/atmospherics/pipe/manifold/supply/hidden/layer2, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ + dir = 4 + }, +/turf/open/floor/plasteel/dark, +/area/ship/medical) +"bN" = ( +/obj/structure/catwalk/over/plated_catwalk, +/obj/machinery/power/apc/auto_name/directional/east, +/obj/structure/cable{ + icon_state = "1-2" + }, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4, +/obj/structure/cable{ + icon_state = "1-8" + }, +/obj/structure/cable, +/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2, +/turf/open/floor/plasteel/tech/grid, +/area/ship/cargo) +"bR" = ( +/obj/structure/cable{ + icon_state = "1-2" + }, +/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4, +/obj/machinery/door/firedoor/border_only, +/obj/machinery/door/firedoor/border_only{ + dir = 1 + }, +/obj/machinery/door/airlock/grunge{ + name = "Medbay" + }, +/obj/effect/turf_decal/borderfloorblack{ + dir = 1 + }, +/turf/open/floor/plasteel/dark, +/area/ship/hallway/central) +"bS" = ( +/obj/machinery/suit_storage_unit/inherit, +/obj/item/clothing/suit/space/hardsuit/security/independent/inteq, +/turf/open/floor/carpet/orange, +/area/ship/bridge) +"cj" = ( +/obj/effect/turf_decal/corner/opaque/yellow{ + dir = 1 + }, +/obj/effect/turf_decal/corner/opaque/brown{ + dir = 8 + }, +/obj/machinery/light/directional/west, +/obj/structure/cable{ + icon_state = "1-2" + }, +/obj/structure/sink/kitchen{ + dir = 4; + pixel_x = -12 + }, +/turf/open/floor/plasteel/dark, +/area/ship/crew/canteen) +"ct" = ( +/obj/structure/railing{ + dir = 5; + layer = 2.9 + }, +/obj/structure/closet/crate{ + name = "training equipment crate" + }, +/obj/item/gun/energy/laser/practice{ + pixel_x = -5; + pixel_y = 10 + }, +/obj/item/gun/energy/laser/practice{ + pixel_y = 5 + }, +/obj/item/gun/energy/laser/practice{ + pixel_x = 5 + }, +/obj/item/clothing/ears/earmuffs, +/obj/item/clothing/ears/earmuffs, +/obj/item/clothing/ears/earmuffs, +/obj/effect/turf_decal/box/corners{ + dir = 4 + }, +/obj/effect/turf_decal/borderfloor{ + dir = 5 + }, +/turf/open/floor/plasteel/patterned/cargo_one, +/area/ship/cargo) +"cu" = ( +/turf/closed/wall/mineral/plastitanium/nodiagonal, +/area/ship/maintenance/port) +"cE" = ( +/obj/effect/turf_decal/borderfloor{ + dir = 8 + }, +/obj/structure/extinguisher_cabinet/directional/south, +/turf/open/floor/plasteel/patterned, +/area/ship/cargo) +"cI" = ( +/obj/structure/catwalk/over/plated_catwalk, +/obj/structure/cable{ + icon_state = "4-8" + }, +/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ + dir = 4 + }, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ + dir = 4 + }, +/obj/machinery/light/directional/north, +/turf/open/floor/plasteel/tech/grid, +/area/ship/cargo) +"cW" = ( +/obj/effect/turf_decal/spline/fancy/opaque/black{ + dir = 1 + }, +/obj/effect/turf_decal/trimline/opaque/brown/filled/warning{ + dir = 1 + }, +/obj/effect/turf_decal/siding/thinplating/dark{ + dir = 1 + }, +/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ + dir = 4 + }, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ + dir = 4 + }, +/obj/effect/turf_decal/trimline/opaque/brown/line, +/turf/open/floor/plasteel/dark, +/area/ship/medical) +"cZ" = ( +/obj/effect/turf_decal/corner/opaque/brown{ + dir = 4 + }, +/obj/effect/turf_decal/corner/opaque/yellow, +/obj/structure/sign/poster/official/fruit_bowl{ + pixel_x = 32 + }, +/turf/open/floor/plasteel/dark, +/area/ship/crew/canteen) +"de" = ( +/obj/structure/cable{ + icon_state = "2-8" + }, +/obj/effect/turf_decal/industrial/traffic/corner{ + dir = 1 + }, +/turf/open/floor/plasteel/patterned, +/area/ship/cargo) +"dk" = ( +/obj/effect/turf_decal/corner/opaque/brown{ + dir = 8 + }, +/obj/effect/turf_decal/corner/opaque/yellow, +/obj/machinery/airalarm/directional/south, +/obj/structure/table, +/obj/machinery/microwave, +/turf/open/floor/plasteel/dark, +/area/ship/crew/canteen) +"dl" = ( +/obj/structure/cable{ + icon_state = "1-2" + }, +/obj/machinery/atmospherics/components/unary/vent_pump/on/layer2{ + dir = 1 + }, +/turf/open/floor/plasteel/tech, +/area/ship/medical) +"dp" = ( +/obj/effect/turf_decal/corner/opaque/brown{ + dir = 8 + }, +/obj/effect/turf_decal/corner/opaque/yellow{ + dir = 1 + }, +/obj/effect/turf_decal/corner/opaque/yellow, +/obj/machinery/airalarm/directional/south, +/obj/structure/closet/crate/bin, +/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ + dir = 5 + }, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ + dir = 5 + }, +/turf/open/floor/plasteel/dark, +/area/ship/crew/dorm) +"du" = ( +/obj/machinery/door/airlock/public{ + dir = 4; + name = "Dormitories" + }, +/obj/structure/cable{ + icon_state = "4-8" + }, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ + dir = 4 + }, +/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ + dir = 4 + }, +/obj/machinery/door/firedoor/border_only{ + dir = 8 + }, +/obj/machinery/door/firedoor/border_only{ + dir = 4 + }, +/obj/effect/turf_decal/borderfloorblack{ + dir = 8 + }, +/turf/open/floor/carpet/black, +/area/ship/crew/dorm) +"dA" = ( +/obj/effect/turf_decal/siding/thinplating/dark{ + dir = 1 + }, +/obj/effect/turf_decal/trimline/opaque/brown/line{ + dir = 1 + }, +/turf/open/floor/plasteel/dark, +/area/ship/medical) +"dG" = ( +/obj/effect/turf_decal/industrial/traffic/corner{ + dir = 4 + }, +/obj/structure/marker_beacon, +/turf/open/floor/engine/hull/reinforced, +/area/ship/external/dark) +"dI" = ( +/obj/machinery/door/airlock/grunge{ + dir = 8; + name = "Custodian Closet" + }, +/turf/open/floor/plasteel/tech/techmaint, +/area/ship/crew/canteen) +"dM" = ( +/obj/effect/turf_decal/corner/opaque/brown{ + dir = 8 + }, +/obj/effect/turf_decal/corner/opaque/yellow{ + dir = 1 + }, +/obj/effect/turf_decal/corner/opaque/brown{ + dir = 4 + }, +/obj/item/kirbyplants/random, +/obj/machinery/airalarm/directional/north, +/turf/open/floor/plasteel/dark, +/area/ship/crew/canteen) +"dN" = ( +/obj/effect/turf_decal/siding/thinplating/dark, +/obj/effect/turf_decal/siding/thinplating/dark{ + dir = 1 + }, +/obj/structure/cable{ + icon_state = "4-8" + }, +/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ + dir = 4 + }, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ + dir = 4 + }, +/obj/machinery/door/firedoor/border_only{ + dir = 8 + }, +/obj/machinery/door/firedoor/border_only{ + dir = 4 + }, +/obj/machinery/door/airlock/grunge{ + dir = 4; + name = "Surgery" + }, +/turf/open/floor/plasteel/dark, +/area/ship/medical) +"dO" = ( +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ + dir = 4 + }, +/turf/open/floor/plasteel/stairs/right{ + dir = 8 + }, +/area/ship/cargo) +"dQ" = ( +/obj/effect/turf_decal/box/corners{ + dir = 1 + }, +/turf/open/floor/plasteel/patterned/cargo_one, +/area/ship/cargo) +"ec" = ( +/obj/structure/closet/crate/internals, +/obj/item/tank/internals/oxygen, +/obj/item/tank/internals/oxygen, +/obj/item/tank/internals/oxygen, +/obj/item/tank/internals/oxygen, +/obj/item/tank/internals/oxygen, +/obj/item/tank/internals/plasmaman/full, +/obj/item/tank/internals/plasmaman/full, +/obj/item/clothing/head/helmet/space/inteq, +/obj/item/clothing/head/helmet/space/inteq, +/obj/item/clothing/suit/space/inteq, +/obj/item/clothing/suit/space/inteq, +/turf/open/floor/plasteel/patterned/cargo_one, +/area/ship/cargo) +"ei" = ( +/obj/structure/cable{ + icon_state = "1-2" + }, +/obj/structure/cable{ + icon_state = "1-4" + }, +/obj/effect/decal/cleanable/dirt/dust, +/turf/open/floor/plating, +/area/ship/maintenance/starboard) +"ej" = ( +/obj/effect/turf_decal/borderfloorblack{ + dir = 4 + }, +/obj/effect/turf_decal/spline/fancy/opaque/black/corner{ + dir = 1 + }, +/obj/effect/turf_decal/spline/fancy/opaque/black/corner{ + dir = 8 + }, +/obj/effect/decal/cleanable/dirt/dust, +/obj/structure/cable{ + icon_state = "1-8" + }, +/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ + dir = 10 + }, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ + dir = 9 + }, +/turf/open/floor/plasteel/dark, +/area/ship/bridge) +"em" = ( +/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ + dir = 4 + }, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ + dir = 4 + }, +/obj/machinery/door/firedoor/border_only{ + dir = 8 + }, +/obj/machinery/door/firedoor/border_only{ + dir = 4 + }, +/obj/machinery/door/airlock/command{ + name = "Bridge"; + dir = 8; + req_access = list(19) + }, +/obj/structure/cable{ + icon_state = "4-8" + }, +/turf/open/floor/plasteel/dark, +/area/ship/bridge) +"ew" = ( +/obj/effect/turf_decal/corner/opaque/yellow{ + dir = 1 + }, +/obj/effect/turf_decal/corner/opaque/brown{ + dir = 4 + }, +/obj/structure/table, +/obj/structure/closet/secure_closet/wall{ + icon_state = "sec_wall"; + name = "equipment locker"; + pixel_y = 28; + req_access = list(1) + }, +/obj/item/storage/box/zipties, +/obj/item/reagent_containers/spray/pepper, +/obj/item/megaphone/sec, +/obj/item/clothing/suit/armor/vest/alt, +/obj/item/clothing/suit/armor/vest/alt, +/obj/item/kitchen/knife/combat/survival, +/obj/item/kitchen/knife/combat/survival, +/turf/open/floor/plasteel/dark, +/area/ship/security) +"ey" = ( +/turf/closed/wall/mineral/plastitanium, +/area/ship/maintenance/starboard) +"eM" = ( +/obj/structure/chair/comfy/shuttle{ + dir = 4; + name = "Helm" + }, +/obj/effect/turf_decal/corner/opaque/yellow, +/turf/open/floor/plasteel/dark, +/area/ship/bridge) +"eN" = ( +/obj/structure/bed, +/obj/structure/curtain, +/obj/item/bedsheet/medical, +/turf/open/floor/plasteel/white, +/area/ship/medical) +"eU" = ( +/obj/structure/table, +/obj/item/storage/backpack/duffelbag/med/surgery{ + pixel_x = -2; + pixel_y = 7 + }, +/obj/item/reagent_containers/medigel/sterilizine{ + pixel_x = 8; + pixel_y = 3 + }, +/obj/effect/turf_decal/borderfloorwhite, +/turf/open/floor/plasteel/white, +/area/ship/medical) +"eV" = ( +/obj/structure/closet/firecloset/wall{ + dir = 1; + pixel_y = -28 + }, +/obj/structure/cable{ + icon_state = "1-4" + }, +/turf/open/floor/plating, +/area/ship/maintenance/port) +"eZ" = ( +/obj/item/reagent_containers/food/drinks/coffee{ + pixel_x = -2; + pixel_y = 9 + }, +/obj/structure/table/wood, +/turf/open/floor/carpet/black, +/area/ship/crew/dorm) +"fa" = ( +/obj/machinery/cryopod{ + dir = 1 + }, +/turf/open/floor/plasteel/tech/grid, +/area/ship/crew/cryo) +"fe" = ( +/obj/structure/closet/crate{ + name = "food crate" + }, +/obj/item/reagent_containers/food/drinks/waterbottle/large, +/obj/item/reagent_containers/food/drinks/waterbottle/large, +/obj/item/reagent_containers/food/drinks/waterbottle/large, +/obj/effect/spawner/lootdrop/ration, +/obj/effect/spawner/lootdrop/ration, +/obj/effect/spawner/lootdrop/ration, +/obj/item/storage/ration/crayons, +/turf/open/floor/plasteel/patterned/cargo_one, +/area/ship/cargo) +"fj" = ( +/obj/effect/turf_decal/siding/thinplating/dark{ + dir = 1 + }, +/obj/structure/closet/secure_closet/medical2, +/obj/machinery/airalarm/directional/north, +/turf/open/floor/plasteel/dark, +/area/ship/medical) +"fE" = ( +/obj/effect/turf_decal/siding/thinplating{ + dir = 9 + }, +/obj/effect/turf_decal/trimline/opaque/yellow/line{ + dir = 9 + }, +/obj/machinery/vending/cigarette, +/obj/machinery/light/directional/west, +/turf/open/floor/plasteel/patterned/grid, +/area/ship/hallway/central) +"fG" = ( +/obj/effect/turf_decal/box/corners, +/obj/effect/turf_decal/box/corners{ + dir = 4 + }, +/turf/open/floor/plasteel/patterned/cargo_one, +/area/ship/cargo) +"fK" = ( +/obj/machinery/computer/crew{ + dir = 8 + }, +/obj/effect/turf_decal/corner/opaque/yellow, +/obj/effect/turf_decal/corner/opaque/brown{ + dir = 4 + }, +/obj/effect/turf_decal/corner/opaque/brown{ + dir = 8 + }, +/turf/open/floor/plasteel/telecomms_floor, +/area/ship/bridge) +"fN" = ( +/obj/machinery/suit_storage_unit/inherit, +/obj/item/clothing/suit/space/inteq, +/obj/item/clothing/head/helmet/space/inteq, +/turf/open/floor/plasteel/patterned/ridged, +/area/ship/cargo) +"fO" = ( +/obj/structure/closet/secure_closet{ + icon_state = "med_secure"; + name = "corpsman's locker"; + req_access = list(5) + }, +/obj/item/clothing/under/syndicate/inteq/corpsman, +/obj/item/clothing/under/syndicate/inteq/skirt/corpsman, +/obj/item/clothing/suit/armor/inteq/corpsman, +/obj/item/clothing/head/soft/inteq/corpsman, +/obj/effect/turf_decal/siding/thinplating, +/obj/item/storage/backpack/messenger/med, +/obj/item/storage/backpack/medic, +/obj/item/pinpointer/crew, +/obj/item/storage/belt/medical/webbing, +/obj/item/storage/firstaid/regular, +/turf/open/floor/plasteel/patterned/ridged, +/area/ship/crew/office) +"fQ" = ( +/obj/structure/bed/dogbed{ + name = "Picket's bed"; + anchored = 1; + desc = "A comfy-looking dog bed. Despite the name, the owner is a cat." + }, +/mob/living/simple_animal/pet/cat{ + dir = 4; + name = "Picket"; + desc = "Guardian of the bridge and the Honorable Corpsman's bedsheets." + }, +/obj/structure/extinguisher_cabinet/directional/south, +/turf/open/floor/carpet/blue, +/area/ship/bridge) +"gb" = ( +/obj/effect/turf_decal/siding/thinplating{ + dir = 10 + }, +/turf/open/floor/plasteel/patterned/grid, +/area/ship/hallway/port) +"gh" = ( +/obj/effect/turf_decal/siding/thinplating{ + dir = 1 + }, +/obj/structure/cable{ + icon_state = "4-8" + }, +/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ + dir = 4 + }, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ + dir = 8 + }, +/obj/structure/cable{ + icon_state = "2-4" + }, +/turf/open/floor/plasteel/patterned/grid, +/area/ship/hallway/port) +"gi" = ( +/obj/effect/turf_decal/industrial/traffic/corner, +/obj/structure/marker_beacon, +/turf/open/floor/engine/hull/reinforced, +/area/ship/external/dark) +"gl" = ( +/obj/machinery/stasis, +/obj/effect/turf_decal/box/white, +/obj/machinery/light/directional/east, +/turf/open/floor/plasteel/mono/white, +/area/ship/medical) +"gm" = ( +/obj/machinery/power/smes/shuttle/precharged{ + dir = 4 + }, +/obj/structure/window/reinforced{ + dir = 8 + }, +/obj/machinery/door/window/eastright{ + name = "Engine Access" + }, +/obj/structure/cable/yellow{ + icon_state = "0-8" + }, +/turf/open/floor/plating, +/area/ship/maintenance/port) +"gn" = ( +/obj/machinery/atmospherics/components/unary/vent_scrubber/on/layer4, +/obj/effect/decal/cleanable/dirt/dust, +/turf/open/floor/plasteel/dark, +/area/ship/crew/dorm) +"gp" = ( +/obj/effect/turf_decal/siding/thinplating/dark, +/obj/effect/turf_decal/siding/thinplating/dark/corner{ + dir = 1 + }, +/obj/effect/turf_decal/trimline/opaque/brown/warning{ + dir = 10 + }, +/obj/structure/cable{ + icon_state = "4-8" + }, +/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ + dir = 4 + }, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ + dir = 5 + }, +/turf/open/floor/plasteel/dark, +/area/ship/medical) +"gq" = ( +/obj/structure/table, +/obj/machinery/cell_charger, +/obj/machinery/light/small/directional/east, +/obj/machinery/light_switch{ + dir = 8; + pixel_x = 20 + }, +/turf/open/floor/plasteel/patterned/ridged, +/area/ship/cargo) +"gt" = ( +/obj/effect/decal/cleanable/dirt, +/obj/structure/cable{ + icon_state = "4-8" + }, +/obj/effect/landmark/observer_start, +/obj/machinery/holopad/emergency/security, +/turf/open/floor/plasteel/dark, +/area/ship/crew/canteen) +"gU" = ( +/obj/effect/turf_decal/siding/thinplating/dark/corner, +/obj/effect/turf_decal/siding/thinplating/dark/corner{ + dir = 8 + }, +/obj/effect/turf_decal/trimline/opaque/brown/warning, +/obj/structure/cable{ + icon_state = "4-8" + }, +/obj/structure/cable{ + icon_state = "1-8" + }, +/obj/machinery/atmospherics/pipe/manifold/scrubbers/hidden/layer4, +/obj/machinery/atmospherics/pipe/manifold/supply/hidden/layer2, +/turf/open/floor/plasteel/dark, +/area/ship/medical) +"gZ" = ( +/obj/machinery/door/airlock/external{ + dir = 4 + }, +/turf/open/floor/plating, +/area/ship/medical) +"hj" = ( +/obj/effect/turf_decal/siding/thinplating/corner, +/obj/effect/turf_decal/siding/thinplating/corner{ + dir = 8 + }, +/obj/effect/turf_decal/trimline/opaque/yellow/warning, +/obj/structure/cable{ + icon_state = "1-2" + }, +/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4, +/turf/open/floor/plasteel/patterned/grid, +/area/ship/hallway/central) +"hl" = ( +/obj/effect/turf_decal/siding/thinplating, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4, +/turf/open/floor/plasteel/patterned/grid, +/area/ship/hallway/port) +"hm" = ( +/obj/effect/turf_decal/industrial/loading{ + dir = 8 + }, +/obj/effect/decal/cleanable/dirt, +/obj/structure/cable{ + icon_state = "4-8" + }, +/turf/open/floor/plasteel/patterned, +/area/ship/cargo) +"ht" = ( +/obj/structure/cable{ + icon_state = "1-2" + }, +/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4, +/obj/machinery/door/firedoor/border_only, +/obj/machinery/door/firedoor/border_only{ + dir = 1 + }, +/obj/machinery/door/airlock/grunge{ + name = "Central Hallway" + }, +/obj/effect/turf_decal/borderfloorblack{ + dir = 1 + }, +/turf/open/floor/plasteel/patterned/grid, +/area/ship/hallway/central) +"hw" = ( +/obj/structure/table, +/obj/item/paicard{ + pixel_x = 5; + pixel_y = 2 + }, +/obj/item/paicard{ + pixel_x = -5; + pixel_y = 3 + }, +/obj/structure/catwalk/over/plated_catwalk, +/obj/structure/railing{ + dir = 4 + }, +/obj/machinery/power/apc/auto_name/directional/south, +/obj/structure/cable, +/obj/machinery/light_switch{ + dir = 4; + pixel_x = -20 + }, +/turf/open/floor/plasteel/tech/grid, +/area/ship/crew/cryo) +"hN" = ( +/obj/effect/turf_decal/siding/thinplating{ + dir = 4 + }, +/obj/effect/turf_decal/trimline/opaque/yellow/line{ + dir = 4 + }, +/obj/structure/closet/crate/bin, +/obj/structure/extinguisher_cabinet/directional/east, +/obj/item/trash/can, +/obj/item/trash/candy, +/obj/item/trash/chips, +/turf/open/floor/plasteel/patterned/grid, +/area/ship/hallway/central) +"hS" = ( +/turf/open/floor/carpet/black, +/area/ship/crew/dorm) +"hW" = ( +/obj/structure/sink{ + dir = 8; + pixel_x = 12 + }, +/turf/open/floor/plasteel/white, +/area/ship/medical) +"id" = ( +/obj/structure/cable{ + icon_state = "1-2" + }, +/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4, +/obj/machinery/door/firedoor/border_only{ + dir = 1 + }, +/obj/machinery/door/firedoor/border_only, +/obj/machinery/door/airlock/grunge{ + name = "Central Hallway" + }, +/obj/effect/turf_decal/borderfloorblack, +/turf/open/floor/plasteel/patterned/grid, +/area/ship/hallway/central) +"ie" = ( +/obj/effect/turf_decal/siding/thinplating{ + dir = 6 + }, +/obj/effect/turf_decal/trimline/opaque/yellow/line{ + dir = 6 + }, +/obj/structure/chair/sofa/left{ + dir = 8 + }, +/obj/structure/closet/firecloset/wall{ + dir = 1; + pixel_y = -28 + }, +/turf/open/floor/plasteel/patterned/grid, +/area/ship/hallway/central) +"ix" = ( +/obj/effect/turf_decal/corner/opaque/yellow{ + dir = 9 + }, +/obj/effect/turf_decal/corner/opaque/yellow{ + dir = 6 + }, +/obj/structure/cable{ + icon_state = "4-8" + }, +/obj/effect/decal/cleanable/dirt, +/turf/open/floor/plasteel/patterned/grid, +/area/ship/hallway/central) +"iI" = ( +/obj/effect/turf_decal/industrial/traffic{ + dir = 8 + }, +/obj/effect/turf_decal/industrial/traffic/corner, +/turf/open/floor/plasteel/patterned, +/area/ship/cargo) +"iN" = ( +/obj/effect/turf_decal/siding/thinplating{ + dir = 5 + }, +/obj/structure/cable{ + icon_state = "1-8" + }, +/obj/structure/cable{ + icon_state = "4-8" + }, +/obj/machinery/atmospherics/pipe/manifold/scrubbers/hidden/layer4, +/obj/machinery/atmospherics/pipe/manifold/supply/hidden/layer2, +/turf/open/floor/plasteel/patterned/grid, +/area/ship/hallway/port) +"iQ" = ( +/obj/effect/turf_decal/corner/opaque/yellow{ + dir = 1 + }, +/obj/effect/turf_decal/corner/opaque/brown{ + dir = 8 + }, +/obj/structure/cable{ + icon_state = "2-4" + }, +/obj/machinery/light_switch{ + dir = 4; + pixel_x = -20 + }, +/turf/open/floor/plasteel/dark, +/area/ship/crew/canteen) +"jj" = ( +/obj/effect/turf_decal/box/corners{ + dir = 8 + }, +/obj/structure/cable{ + icon_state = "2-8" + }, +/turf/open/floor/plasteel/patterned/cargo_one, +/area/ship/cargo) +"jk" = ( +/obj/structure/cable{ + icon_state = "1-2" + }, +/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4, +/obj/machinery/door/firedoor/border_only, +/obj/machinery/door/firedoor/border_only{ + dir = 1 + }, +/obj/machinery/door/airlock/grunge{ + name = "Crew Quarters" + }, +/obj/effect/turf_decal/borderfloorblack, +/turf/open/floor/plasteel/dark, +/area/ship/hallway/central) +"jp" = ( +/obj/structure/cable{ + icon_state = "1-2" + }, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4, +/obj/machinery/atmospherics/pipe/manifold/supply/hidden/layer2{ + dir = 8 + }, +/turf/open/floor/plasteel/patterned/grid, +/area/ship/hallway/central) +"jw" = ( +/obj/effect/turf_decal/siding/thinplating/corner{ + dir = 1 + }, +/obj/effect/turf_decal/siding/thinplating/corner{ + dir = 4 + }, +/obj/effect/turf_decal/trimline/opaque/yellow/warning{ + dir = 1 + }, +/obj/structure/cable{ + icon_state = "1-2" + }, +/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4, +/turf/open/floor/plasteel/patterned/grid, +/area/ship/hallway/central) +"jG" = ( +/obj/effect/decal/cleanable/dirt, +/obj/effect/turf_decal/industrial/traffic{ + dir = 8 + }, +/obj/effect/turf_decal/industrial/stand_clear{ + dir = 4 + }, +/turf/open/floor/plasteel/patterned, +/area/ship/cargo) +"jL" = ( +/obj/structure/grille, +/obj/structure/window/plasma/reinforced/plastitanium, +/obj/machinery/door/poddoor/shutters{ + dir = 4; + id = "valor_external" + }, +/turf/open/floor/plating, +/area/ship/medical) +"jN" = ( +/obj/structure/chair/office/light, +/obj/machinery/power/apc/auto_name/directional/west, +/obj/structure/cable{ + icon_state = "0-4" + }, +/turf/open/floor/plasteel/patterned, +/area/ship/crew/office) +"jQ" = ( +/obj/structure/catwalk/over/plated_catwalk, +/obj/machinery/light/directional/east, +/obj/structure/cable{ + icon_state = "1-2" + }, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4, +/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2, +/turf/open/floor/plasteel/tech/grid, +/area/ship/cargo) +"jR" = ( +/obj/effect/turf_decal/industrial/warning, +/obj/effect/turf_decal/industrial/warning{ + dir = 1 + }, +/obj/machinery/computer/cryopod/directional/east, +/obj/effect/turf_decal/steeldecal/steel_decals_central7{ + dir = 4 + }, +/turf/open/floor/plasteel/tech, +/area/ship/crew/cryo) +"jS" = ( +/turf/closed/wall/mineral/plastitanium, +/area/ship/bridge) +"jT" = ( +/obj/structure/sign/poster/contraband/cardinal_port_starboard{ + pixel_y = 32 + }, +/obj/effect/turf_decal/techfloor{ + dir = 8 + }, +/turf/open/floor/plasteel/tech, +/area/ship/hallway/central) +"jU" = ( +/obj/effect/turf_decal/siding/thinplating{ + dir = 10 + }, +/obj/effect/turf_decal/trimline/opaque/yellow/line{ + dir = 10 + }, +/obj/structure/chair/comfy/black{ + dir = 4 + }, +/obj/effect/decal/cleanable/dirt/dust, +/turf/open/floor/plasteel/patterned/grid, +/area/ship/hallway/central) +"ka" = ( +/turf/closed/wall/mineral/plastitanium, +/area/ship/crew/canteen) +"ko" = ( +/obj/effect/turf_decal/siding/thinplating/dark/corner, +/obj/effect/turf_decal/siding/thinplating/dark/corner{ + dir = 4 + }, +/obj/structure/cable{ + icon_state = "4-8" + }, +/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ + dir = 4 + }, +/obj/machinery/door/airlock/maintenance_hatch{ + dir = 4; + name = "Starboard Engines" + }, +/turf/open/floor/plasteel/dark, +/area/ship/maintenance/starboard) +"kv" = ( +/obj/structure/bed, +/obj/item/bedsheet/cmo{ + name = "honorable corpsman's bedsheet"; + desc = "It's a sterilized blanket that has a cross emblem. There's some cat fur on it, likely from Picket." + }, +/obj/structure/curtain/cloth, +/obj/machinery/light/directional/west, +/turf/open/floor/carpet/blue, +/area/ship/bridge) +"ky" = ( +/obj/structure/catwalk/over/plated_catwalk/dark, +/obj/structure/cable{ + icon_state = "1-2" + }, +/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4, +/obj/machinery/light/small/directional/east, +/turf/open/floor/plating, +/area/ship/hallway/port) +"kG" = ( +/obj/effect/turf_decal/techfloor{ + dir = 8 + }, +/turf/open/floor/plasteel/tech, +/area/ship/hallway/central) +"kH" = ( +/obj/structure/cable{ + icon_state = "4-9" + }, +/obj/effect/turf_decal/industrial/traffic/corner{ + dir = 8 + }, +/turf/open/floor/plasteel/patterned, +/area/ship/cargo) +"kK" = ( +/obj/effect/turf_decal/corner/opaque/yellow{ + dir = 1 + }, +/obj/effect/turf_decal/corner/opaque/brown{ + dir = 4 + }, +/obj/structure/reagent_dispensers/peppertank{ + pixel_y = 28 + }, +/obj/structure/rack, +/obj/item/storage/belt/security/webbing/inteq{ + pixel_x = 6; + pixel_y = 8 + }, +/obj/item/storage/belt/security/webbing/inteq{ + pixel_x = 8; + pixel_y = 4 + }, +/obj/item/clothing/head/helmet/inteq{ + pixel_x = -9; + pixel_y = 6 + }, +/obj/item/clothing/head/helmet/inteq{ + pixel_x = -7 + }, +/turf/open/floor/plasteel/dark, +/area/ship/security) +"kL" = ( +/obj/machinery/light/directional/south, +/obj/structure/rack, +/turf/open/floor/plasteel/patterned/cargo_one, +/area/ship/cargo) +"kW" = ( +/obj/effect/turf_decal/techfloor{ + dir = 4 + }, +/obj/structure/closet/crate/bin, +/obj/item/storage/box/inteqmaid, +/obj/item/trash/chips, +/obj/item/trash/energybar, +/obj/item/trash/cheesie, +/obj/item/trash/pistachios, +/turf/open/floor/plasteel/tech, +/area/ship/hallway/central) +"lc" = ( +/obj/structure/catwalk/over/plated_catwalk/dark, +/obj/structure/cable{ + icon_state = "1-2" + }, +/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4, +/turf/open/floor/plating, +/area/ship/hallway/central) +"ln" = ( +/obj/structure/dresser, +/obj/structure/noticeboard{ + pixel_y = 28 + }, +/obj/machinery/light/directional/west, +/turf/open/floor/carpet/black, +/area/ship/crew/dorm) +"lv" = ( +/obj/effect/turf_decal/techfloor, +/obj/effect/turf_decal/siding/thinplating/dark{ + dir = 1 + }, +/obj/structure/table, +/obj/machinery/door/window/northleft, +/obj/item/reagent_containers/glass/bottle/formaldehyde{ + pixel_x = -9; + pixel_y = 7 + }, +/obj/item/reagent_containers/glass/bottle/charcoal{ + pixel_y = 6 + }, +/obj/item/reagent_containers/glass/bottle/morphine{ + pixel_x = 9; + pixel_y = 7 + }, +/obj/item/reagent_containers/glass/bottle/epinephrine{ + pixel_x = -5 + }, +/obj/item/reagent_containers/glass/bottle/mannitol{ + pixel_x = 6 + }, +/turf/open/floor/plasteel/tech/grid, +/area/ship/medical) +"lD" = ( +/obj/structure/sign/warning/nosmoking/burnt{ + pixel_y = -32 + }, +/obj/item/cigbutt/cigarbutt{ + pixel_x = -7; + pixel_y = 3 + }, +/obj/machinery/telecomms/relay/preset/mining{ + autolinkers = list("relay","hub"); + freq_listening = list(1347); + id = "IRMG Relay"; + name = "IRMG Relay"; + network = "irmg_commnet" + }, +/turf/open/floor/plating, +/area/ship/maintenance/starboard) +"lE" = ( +/obj/effect/decal/cleanable/dirt/dust, +/turf/open/floor/plasteel/patterned/grid, +/area/ship/hallway/central) +"lI" = ( +/obj/effect/turf_decal/corner/opaque/yellow{ + dir = 1 + }, +/obj/effect/turf_decal/corner/opaque/brown{ + dir = 8 + }, +/obj/effect/turf_decal/corner/opaque/yellow, +/obj/machinery/power/apc/auto_name/directional/south, +/obj/structure/closet/crate/bin, +/obj/structure/cable, +/turf/open/floor/plasteel/dark, +/area/ship/crew/canteen) +"lN" = ( +/obj/structure/table, +/obj/machinery/computer/med_data/laptop{ + dir = 1; + pixel_y = 8 + }, +/obj/machinery/door/window/southleft, +/obj/structure/window/reinforced{ + dir = 8 + }, +/obj/machinery/door/firedoor/border_only, +/obj/machinery/door/firedoor/border_only{ + dir = 1 + }, +/turf/open/floor/plasteel/patterned, +/area/ship/crew/office) +"lW" = ( +/obj/effect/turf_decal/borderfloorblack{ + dir = 4 + }, +/obj/effect/turf_decal/spline/fancy/opaque/black/corner{ + dir = 1 + }, +/obj/structure/table/reinforced, +/obj/item/paper_bin{ + pixel_x = 6 + }, +/obj/item/pen{ + pixel_x = 6 + }, +/obj/effect/turf_decal/spline/fancy/opaque/black{ + dir = 8 + }, +/obj/item/reagent_containers/food/drinks/bottle/cognac{ + pixel_x = -6; + pixel_y = 13 + }, +/obj/item/gps{ + pixel_x = -10 + }, +/obj/machinery/power/apc/auto_name/directional/north, +/obj/item/spacecash/bundle/mediumrand{ + pixel_x = 6; + pixel_y = 8 + }, +/obj/structure/cable{ + icon_state = "0-2" + }, +/turf/open/floor/plasteel/dark, +/area/ship/bridge) +"ma" = ( +/obj/structure/cable{ + icon_state = "1-2" + }, +/obj/machinery/atmospherics/components/unary/vent_pump/on/layer2, +/turf/open/floor/plasteel/dark, +/area/ship/crew/dorm) +"md" = ( +/obj/machinery/atmospherics/pipe/layer_manifold{ + dir = 4 + }, +/turf/open/floor/plasteel/tech, +/area/ship/medical) +"mj" = ( +/obj/structure/table/reinforced, +/obj/item/reagent_containers/food/drinks/mug/coco{ + pixel_x = 13; + pixel_y = 5 + }, +/obj/machinery/computer/med_data/laptop{ + dir = 1; + pixel_y = 4 + }, +/turf/open/floor/plasteel/dark, +/area/ship/crew/canteen) +"ml" = ( +/obj/machinery/door/poddoor{ + dir = 4; + id = "valor_cargo" + }, +/obj/machinery/power/shieldwallgen/atmos{ + dir = 1; + id = "valor_holo"; + anchored = 1 + }, +/obj/structure/cable{ + icon_state = "0-4" + }, +/turf/open/floor/plating, +/area/ship/cargo) +"mp" = ( +/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ + dir = 4 + }, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ + dir = 6 + }, +/turf/open/floor/plasteel/tech, +/area/ship/medical) +"mt" = ( +/obj/machinery/autolathe, +/turf/open/floor/plasteel/patterned/ridged, +/area/ship/cargo) +"mw" = ( +/obj/effect/turf_decal/trimline/opaque/brown/warning{ + dir = 4 + }, +/obj/effect/turf_decal/borderfloorwhite{ + dir = 8 + }, +/turf/open/floor/plasteel/tech, +/area/ship/medical) +"mx" = ( +/obj/effect/turf_decal/siding/thinplating/dark, +/obj/effect/turf_decal/siding/thinplating/dark/corner{ + dir = 4 + }, +/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ + dir = 4 + }, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ + dir = 4 + }, +/obj/effect/turf_decal/trimline/opaque/brown/line, +/turf/open/floor/plasteel/dark, +/area/ship/medical) +"mz" = ( +/obj/structure/table/reinforced, +/obj/item/radio/intercom/table{ + pixel_x = -2; + pixel_y = -2 + }, +/turf/open/floor/plasteel/dark, +/area/ship/crew/canteen) +"mB" = ( +/obj/structure/cable{ + icon_state = "4-8" + }, +/obj/structure/cable{ + icon_state = "2-8" + }, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ + dir = 4 + }, +/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ + dir = 4 + }, +/obj/effect/decal/cleanable/dirt/dust, +/turf/open/floor/plasteel/dark, +/area/ship/crew/dorm) +"mG" = ( +/obj/structure/closet/secure_closet{ + icon_state = "med_secure"; + name = "corpsman's locker"; + req_access = list(5) + }, +/obj/item/clothing/under/syndicate/inteq/corpsman, +/obj/item/clothing/under/syndicate/inteq/skirt/corpsman, +/obj/item/clothing/suit/armor/inteq/corpsman, +/obj/item/clothing/head/soft/inteq/corpsman, +/obj/effect/turf_decal/box/white/corners{ + dir = 1 + }, +/obj/effect/turf_decal/box/white/corners{ + dir = 8 + }, +/obj/effect/turf_decal/siding/thinplating{ + dir = 10 + }, +/obj/item/storage/backpack/messenger/med, +/obj/item/storage/backpack/medic, +/obj/item/pinpointer/crew, +/obj/item/storage/belt/medical/webbing, +/obj/item/storage/firstaid/regular, +/turf/open/floor/plasteel/patterned/ridged, +/area/ship/crew/office) +"mH" = ( +/obj/machinery/power/apc/auto_name/directional/east, +/obj/structure/cable{ + icon_state = "0-8" + }, +/obj/structure/cable{ + icon_state = "2-8" + }, +/turf/open/floor/carpet/black, +/area/ship/crew/dorm) +"mI" = ( +/obj/structure/cable{ + icon_state = "4-8" + }, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ + dir = 4 + }, +/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ + dir = 4 + }, +/obj/effect/decal/cleanable/dirt/dust, +/turf/open/floor/plasteel/dark, +/area/ship/crew/dorm) +"mZ" = ( +/obj/effect/turf_decal/siding/thinplating{ + dir = 5 + }, +/obj/effect/turf_decal/trimline/opaque/yellow/line{ + dir = 5 + }, +/obj/machinery/vending/snack/random, +/obj/effect/decal/cleanable/dirt/dust, +/turf/open/floor/plasteel/patterned/grid, +/area/ship/hallway/central) +"nc" = ( +/obj/effect/turf_decal/industrial/traffic{ + dir = 4 + }, +/turf/open/floor/engine/hull/reinforced, +/area/ship/external/dark) +"nd" = ( +/obj/machinery/power/smes/shuttle/precharged{ + dir = 4 + }, +/obj/structure/window/reinforced{ + dir = 8 + }, +/obj/machinery/door/window/eastright{ + name = "Engine Access" + }, +/obj/structure/cable/yellow{ + icon_state = "0-8" + }, +/turf/open/floor/plating, +/area/ship/maintenance/starboard) +"ni" = ( +/turf/open/floor/plasteel/tech/techmaint, +/area/ship/crew/canteen) +"nk" = ( +/turf/closed/wall/mineral/plastitanium/nodiagonal, +/area/ship/bridge) +"ns" = ( +/obj/effect/turf_decal/siding/thinplating/dark{ + dir = 1 + }, +/obj/effect/turf_decal/siding/thinplating/dark, +/obj/structure/cable{ + icon_state = "4-8" + }, +/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ + dir = 4 + }, +/turf/open/floor/plasteel/dark, +/area/ship/medical) +"nx" = ( +/obj/structure/railing{ + dir = 6 + }, +/obj/item/target{ + pixel_y = 10; + pixel_x = -9 + }, +/obj/item/target/alien{ + pixel_x = 4; + pixel_y = 3 + }, +/obj/item/target{ + pixel_x = -8; + pixel_y = 2 + }, +/obj/effect/turf_decal/box/corners, +/obj/effect/turf_decal/borderfloor{ + dir = 4 + }, +/obj/structure/rack, +/turf/open/floor/plasteel/patterned/cargo_one, +/area/ship/cargo) +"nz" = ( +/obj/machinery/door/firedoor/border_only{ + dir = 8 + }, +/obj/machinery/door/firedoor/border_only{ + dir = 4 + }, +/obj/machinery/door/airlock/public/glass{ + dir = 8; + name = "Cargo Bay" + }, +/turf/open/floor/plasteel, +/area/ship/hallway/central) +"nB" = ( +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ + dir = 4 + }, +/obj/effect/decal/cleanable/dirt, +/turf/open/floor/plasteel/dark, +/area/ship/crew/canteen) +"nK" = ( +/obj/effect/turf_decal/trimline/opaque/blue/warning, +/obj/effect/turf_decal/borderfloorwhite{ + dir = 1 + }, +/obj/machinery/door/airlock/medical/glass{ + name = "Surgical Bay #2" + }, +/turf/open/floor/plasteel/white, +/area/ship/medical) +"nU" = ( +/obj/effect/turf_decal/corner/opaque/yellow{ + dir = 1 + }, +/obj/effect/turf_decal/corner/opaque/brown{ + dir = 4 + }, +/obj/effect/turf_decal/corner/opaque/yellow, +/obj/structure/closet/crate/trashcart/laundry, +/obj/structure/extinguisher_cabinet/directional/north, +/turf/open/floor/plasteel/dark, +/area/ship/crew/dorm) +"nX" = ( +/obj/structure/catwalk/over/plated_catwalk, +/obj/structure/cable{ + icon_state = "4-8" + }, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ + dir = 4 + }, +/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ + dir = 4 + }, +/turf/open/floor/plasteel/tech/grid, +/area/ship/cargo) +"nZ" = ( +/turf/open/floor/plasteel/patterned/brushed, +/area/ship/crew/canteen) +"og" = ( +/obj/effect/turf_decal/box/corners{ + dir = 1 + }, +/obj/structure/weightmachine/stacklifter, +/turf/open/floor/plasteel/patterned/cargo_one, +/area/ship/cargo) +"om" = ( +/obj/structure/table, +/obj/item/flashlight/lamp/green, +/turf/open/floor/carpet/black, +/area/ship/crew/dorm) +"oy" = ( +/obj/effect/turf_decal/trimline/opaque/brown/warning{ + dir = 6 + }, +/obj/effect/turf_decal/siding/thinplating/dark/corner{ + dir = 4 + }, +/obj/effect/turf_decal/siding/thinplating/dark, +/obj/structure/cable{ + icon_state = "4-8" + }, +/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ + dir = 4 + }, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ + dir = 4 + }, +/turf/open/floor/plasteel/dark, +/area/ship/medical) +"oz" = ( +/obj/structure/railing{ + dir = 4; + layer = 2.9 + }, +/obj/effect/turf_decal/borderfloor/corner{ + dir = 4 + }, +/obj/structure/cable{ + icon_state = "6-8" + }, +/turf/open/floor/plasteel/patterned, +/area/ship/cargo) +"oC" = ( +/obj/machinery/suit_storage_unit/inherit, +/obj/item/clothing/suit/space/inteq, +/obj/item/clothing/head/helmet/space/inteq, +/obj/effect/turf_decal/techfloor{ + dir = 1 + }, +/turf/open/floor/plasteel/tech/grid, +/area/ship/medical) +"oL" = ( +/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ + dir = 4 + }, +/obj/effect/decal/cleanable/dirt/dust, +/obj/effect/turf_decal/steeldecal/steel_decals_central7, +/turf/open/floor/plasteel/dark, +/area/ship/crew/canteen) +"oO" = ( +/turf/closed/wall/mineral/plastitanium, +/area/ship/crew/office) +"pa" = ( +/obj/structure/cable{ + icon_state = "4-8" + }, +/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ + dir = 4 + }, +/obj/machinery/door/firedoor/border_only{ + dir = 8 + }, +/obj/machinery/door/firedoor/border_only{ + dir = 4 + }, +/obj/machinery/door/airlock/public/glass{ + dir = 8; + name = "Canteen" + }, +/turf/open/floor/plasteel/patterned/grid, +/area/ship/crew/canteen) +"pd" = ( +/obj/effect/turf_decal/spline/fancy/opaque/black{ + dir = 8 + }, +/obj/effect/turf_decal/siding/thinplating/dark/end{ + dir = 1 + }, +/obj/structure/sign/warning/nosmoking/circle{ + pixel_y = 32 + }, +/turf/open/floor/plasteel/dark, +/area/ship/medical) +"pj" = ( +/obj/effect/turf_decal/corner/opaque/yellow{ + dir = 6 + }, +/obj/effect/turf_decal/corner/opaque/yellow{ + dir = 9 + }, +/obj/structure/cable{ + icon_state = "1-2" + }, +/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4, +/obj/effect/decal/cleanable/dirt/dust, +/obj/structure/cable{ + icon_state = "2-4" + }, +/turf/open/floor/plasteel/patterned/grid, +/area/ship/hallway/central) +"pt" = ( +/obj/effect/turf_decal/siding/thinplating/dark, +/obj/effect/turf_decal/siding/thinplating/dark/corner{ + dir = 1 + }, +/obj/structure/cable{ + icon_state = "4-8" + }, +/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ + dir = 4 + }, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ + dir = 4 + }, +/obj/effect/turf_decal/trimline/opaque/brown/line, +/turf/open/floor/plasteel/dark, +/area/ship/medical) +"pz" = ( +/obj/effect/turf_decal/corner/opaque/yellow{ + dir = 6 + }, +/obj/effect/turf_decal/corner/opaque/yellow{ + dir = 1 + }, +/obj/structure/cable{ + icon_state = "1-2" + }, +/obj/machinery/atmospherics/pipe/manifold/supply/hidden/layer2{ + dir = 8 + }, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4, +/obj/effect/decal/cleanable/dirt/dust, +/turf/open/floor/plasteel/patterned/grid, +/area/ship/hallway/central) +"pA" = ( +/obj/structure/closet/wall{ + pixel_y = 28 + }, +/obj/item/radio, +/obj/item/radio, +/obj/item/radio, +/obj/item/radio, +/obj/item/radio, +/obj/item/radio, +/obj/item/radio, +/obj/item/radio, +/obj/item/radio, +/obj/item/radio, +/obj/item/radio, +/obj/item/radio, +/obj/structure/catwalk/over/plated_catwalk, +/obj/structure/railing{ + dir = 4 + }, +/obj/machinery/airalarm/directional/west, +/turf/open/floor/plasteel/tech/grid, +/area/ship/crew/cryo) +"pC" = ( +/obj/structure/table/optable, +/obj/machinery/defibrillator_mount/loaded{ + pixel_x = -28 + }, +/turf/open/floor/plasteel/white, +/area/ship/medical) +"pL" = ( +/obj/machinery/power/terminal{ + dir = 8 + }, +/obj/machinery/light/directional/north, +/obj/effect/turf_decal/corner_techfloor_gray{ + dir = 8 + }, +/obj/structure/cable{ + icon_state = "0-6" + }, +/turf/open/floor/plating, +/area/ship/maintenance/port) +"pO" = ( +/obj/effect/turf_decal/trimline/opaque/yellow/filled/warning{ + dir = 8 + }, +/obj/structure/cable{ + icon_state = "2-8" + }, +/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ + dir = 4 + }, +/obj/structure/cable{ + icon_state = "1-8" + }, +/turf/open/floor/plasteel/dark, +/area/ship/crew/canteen) +"pU" = ( +/obj/structure/closet/firecloset/wall{ + pixel_y = 28 + }, +/obj/machinery/atmospherics/components/binary/pump/on/layer2{ + dir = 4 + }, +/obj/structure/cable{ + icon_state = "2-4" + }, +/obj/structure/cable{ + icon_state = "4-10" + }, +/turf/open/floor/plating, +/area/ship/maintenance/starboard) +"qe" = ( +/obj/effect/turf_decal/industrial/traffic, +/turf/open/floor/plasteel/patterned, +/area/ship/cargo) +"qk" = ( +/obj/machinery/light/small/directional/west, +/obj/effect/turf_decal/techfloor{ + dir = 4 + }, +/obj/structure/closet/emcloset, +/turf/open/floor/plasteel/tech, +/area/ship/hallway/central) +"qt" = ( +/obj/effect/decal/cleanable/dirt, +/obj/structure/cable{ + icon_state = "1-2" + }, +/turf/open/floor/plasteel/patterned, +/area/ship/cargo) +"qA" = ( +/obj/structure/closet/crate/trashcart, +/obj/item/trash/can/food/beans, +/obj/item/trash/can, +/obj/item/trash/boritos, +/turf/open/floor/plasteel/patterned/cargo_one, +/area/ship/cargo) +"qG" = ( +/obj/effect/turf_decal/industrial/traffic{ + dir = 8 + }, +/obj/machinery/button/door{ + id = "valor_cargo"; + name = "Cargo Bay Door Control"; + pixel_x = -5; + pixel_y = 25 + }, +/obj/machinery/button/shieldwallgen{ + id = "valor_holo"; + pixel_x = 5; + pixel_y = 23 + }, +/obj/structure/cable{ + icon_state = "4-8" + }, +/turf/open/floor/plasteel/patterned, +/area/ship/cargo) +"qL" = ( +/turf/closed/wall/mineral/plastitanium, +/area/ship/hallway/port) +"qQ" = ( +/obj/machinery/shower, +/obj/item/soap, +/obj/structure/curtain/bounty, +/obj/effect/turf_decal/steeldecal/steel_decals10, +/turf/open/floor/plasteel/patterned/brushed, +/area/ship/crew/canteen) +"qR" = ( +/obj/structure/grille, +/obj/structure/window/plasma/reinforced/plastitanium, +/turf/open/floor/plating, +/area/ship/medical) +"qW" = ( +/obj/machinery/atmospherics/components/binary/dp_vent_pump/high_volume/layer2{ + dir = 4 + }, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ + dir = 4 + }, +/turf/open/floor/plasteel/tech, +/area/ship/medical) +"qX" = ( +/obj/structure/catwalk/over/plated_catwalk, +/obj/structure/cable{ + icon_state = "1-8" + }, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ + dir = 9 + }, +/obj/machinery/firealarm/directional/east, +/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ + dir = 9 + }, +/turf/open/floor/plasteel/tech/grid, +/area/ship/cargo) +"qZ" = ( +/obj/effect/turf_decal/corner/opaque/yellow, +/obj/effect/turf_decal/corner/opaque/brown{ + dir = 8 + }, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ + dir = 9 + }, +/obj/effect/decal/cleanable/dirt/dust, +/obj/machinery/firealarm/directional/south, +/turf/open/floor/plasteel/dark, +/area/ship/crew/dorm) +"rc" = ( +/obj/structure/grille, +/obj/structure/window/plasma/reinforced/plastitanium, +/obj/machinery/door/poddoor/shutters{ + id = "valor_external" + }, +/turf/open/floor/plating, +/area/ship/crew/dorm) +"rL" = ( +/turf/open/floor/plasteel/patterned/cargo_one, +/area/ship/cargo) +"rO" = ( +/obj/effect/turf_decal/siding/thinplating/dark, +/obj/effect/turf_decal/trimline/opaque/brown/line, +/obj/structure/cable{ + icon_state = "4-8" + }, +/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ + dir = 4 + }, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ + dir = 4 + }, +/turf/open/floor/plasteel/dark, +/area/ship/medical) +"rX" = ( +/obj/structure/sign/poster/contraband/inteq_gec{ + pixel_y = 32 + }, +/obj/effect/decal/cleanable/dirt/dust, +/turf/open/floor/plating, +/area/ship/maintenance/port) +"rY" = ( +/obj/effect/turf_decal/corner/opaque/yellow, +/obj/effect/turf_decal/corner/opaque/brown{ + dir = 4 + }, +/obj/effect/turf_decal/corner/opaque/brown{ + dir = 8 + }, +/obj/structure/cable{ + icon_state = "2-8" + }, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4, +/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ + dir = 10 + }, +/obj/machinery/airalarm/directional/east, +/turf/open/floor/plasteel/dark, +/area/ship/security) +"sc" = ( +/obj/structure/rack, +/obj/machinery/firealarm/directional/east, +/obj/item/radio/intercom/directional/south, +/obj/item/defibrillator/loaded{ + pixel_x = 3; + pixel_y = 10 + }, +/obj/item/defibrillator/loaded{ + pixel_x = -2; + pixel_y = 2 + }, +/turf/open/floor/plasteel/mono/white, +/area/ship/medical) +"se" = ( +/obj/effect/turf_decal/siding/thinplating{ + dir = 4 + }, +/obj/effect/turf_decal/trimline/opaque/yellow/line{ + dir = 4 + }, +/obj/item/kirbyplants/random, +/obj/machinery/power/apc/auto_name/directional/east, +/obj/structure/cable{ + icon_state = "0-8" + }, +/obj/structure/cable{ + icon_state = "2-8" + }, +/turf/open/floor/plasteel/patterned/grid, +/area/ship/hallway/central) +"si" = ( +/obj/effect/turf_decal/trimline/opaque/blue/warning, +/obj/effect/turf_decal/borderfloorwhite{ + dir = 1 + }, +/obj/machinery/door/airlock/medical/glass{ + name = "Surgical Bay #1" + }, +/turf/open/floor/plasteel/white, +/area/ship/medical) +"ss" = ( +/obj/effect/turf_decal/borderfloor{ + dir = 4 + }, +/obj/machinery/atmospherics/components/unary/vent_pump/on/layer2, +/turf/open/floor/plasteel/patterned, +/area/ship/cargo) +"su" = ( +/obj/effect/turf_decal/siding/thinplating/dark{ + dir = 1 + }, +/obj/effect/turf_decal/trimline/opaque/brown/line{ + dir = 1 + }, +/obj/structure/chair, +/obj/machinery/airalarm/directional/north, +/turf/open/floor/plasteel/dark, +/area/ship/medical) +"sy" = ( +/obj/effect/turf_decal/corner/opaque/yellow{ + dir = 1 + }, +/obj/effect/turf_decal/corner/opaque/brown{ + dir = 4 + }, +/obj/effect/turf_decal/corner/opaque/brown{ + dir = 8 + }, +/obj/item/gun/ballistic/automatic/pistol/commander/inteq/no_mag{ + pixel_x = -4; + pixel_y = 8 + }, +/obj/item/gun/ballistic/automatic/pistol/commander/inteq/no_mag{ + pixel_y = 4 + }, +/obj/item/gun/ballistic/automatic/pistol/commander/inteq/no_mag{ + pixel_x = 4 + }, +/obj/structure/closet/secure_closet/wall{ + icon_state = "sec_wall"; + name = "weapons lockup"; + pixel_y = 28; + req_access = list(1) + }, +/obj/structure/table, +/obj/item/ammo_box/magazine/co9mm/rubber, +/obj/item/ammo_box/magazine/co9mm/rubber, +/obj/item/ammo_box/magazine/co9mm/rubber, +/obj/item/ammo_box/magazine/co9mm, +/obj/item/ammo_box/magazine/co9mm, +/obj/item/ammo_box/magazine/co9mm, +/obj/machinery/recharger, +/turf/open/floor/plasteel/dark, +/area/ship/security) +"sz" = ( +/obj/effect/turf_decal/siding/thinplating/dark{ + dir = 4 + }, +/obj/effect/turf_decal/siding/thinplating/dark/corner{ + dir = 8 + }, +/obj/machinery/atmospherics/components/unary/vent_pump/on/layer2{ + dir = 8 + }, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ + dir = 4 + }, +/obj/effect/turf_decal/trimline/opaque/brown/line{ + dir = 1 + }, +/turf/open/floor/plasteel/dark, +/area/ship/medical) +"sJ" = ( +/obj/effect/turf_decal/siding/thinplating{ + dir = 8 + }, +/obj/effect/turf_decal/trimline/opaque/yellow/line{ + dir = 8 + }, +/obj/structure/table, +/obj/item/cigbutt, +/obj/item/cigbutt{ + pixel_y = 12 + }, +/obj/effect/decal/cleanable/ash, +/obj/item/cigbutt{ + pixel_x = -9; + pixel_y = 10 + }, +/obj/machinery/firealarm/directional/west, +/turf/open/floor/plasteel/patterned/grid, +/area/ship/hallway/central) +"sM" = ( +/obj/effect/turf_decal/corner/opaque/yellow{ + dir = 1 + }, +/obj/effect/turf_decal/corner/opaque/brown{ + dir = 4 + }, +/obj/effect/turf_decal/corner/opaque/yellow, +/obj/machinery/modular_computer/console/preset/command, +/obj/machinery/light/directional/east, +/turf/open/floor/plasteel/telecomms_floor, +/area/ship/bridge) +"sZ" = ( +/obj/structure/weightmachine/weightlifter, +/obj/machinery/light/directional/north, +/turf/open/floor/plasteel/patterned/cargo_one, +/area/ship/cargo) +"te" = ( +/obj/structure/railing{ + dir = 1; + layer = 2.9 + }, +/obj/effect/turf_decal/borderfloor{ + dir = 1 + }, +/obj/structure/rack, +/obj/item/target/clown{ + pixel_x = 9; + pixel_y = 5 + }, +/obj/item/target/syndicate{ + pixel_x = -8; + pixel_y = 3 + }, +/obj/item/target/syndicate{ + pixel_y = 5 + }, +/turf/open/floor/plasteel/patterned/cargo_one, +/area/ship/cargo) +"tj" = ( +/obj/structure/catwalk/over/plated_catwalk, +/obj/structure/cable{ + icon_state = "4-8" + }, +/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ + dir = 4 + }, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ + dir = 4 + }, +/obj/machinery/light_switch{ + pixel_y = 20 + }, +/turf/open/floor/plasteel/tech/grid, +/area/ship/cargo) +"tk" = ( +/obj/structure/reagent_dispensers/watertank, +/turf/open/floor/plasteel/tech/techmaint, +/area/ship/crew/canteen) +"ty" = ( +/obj/effect/turf_decal/trimline/opaque/yellow/filled/warning{ + dir = 8 + }, +/obj/structure/cable{ + icon_state = "1-8" + }, +/obj/machinery/atmospherics/pipe/manifold/scrubbers/hidden/layer4{ + dir = 4 + }, +/obj/machinery/atmospherics/pipe/manifold/supply/hidden/layer2{ + dir = 4 + }, +/turf/open/floor/plasteel/dark, +/area/ship/crew/dorm) +"tz" = ( +/obj/structure/catwalk/over/plated_catwalk, +/obj/structure/cable{ + icon_state = "2-8" + }, +/turf/open/floor/plasteel/tech/grid, +/area/ship/crew/cryo) +"tH" = ( +/obj/structure/catwalk/over/plated_catwalk, +/obj/structure/cable{ + icon_state = "1-2" + }, +/obj/machinery/atmospherics/pipe/manifold/scrubbers/hidden/layer4{ + dir = 4 + }, +/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2, +/turf/open/floor/plasteel/tech/grid, +/area/ship/cargo) +"tS" = ( +/obj/effect/turf_decal/siding/thinplating, +/obj/effect/decal/cleanable/dirt/dust, +/obj/machinery/atmospherics/components/unary/vent_scrubber/on/layer4{ + dir = 1 + }, +/turf/open/floor/plasteel/patterned/grid, +/area/ship/hallway/port) +"tZ" = ( +/turf/closed/wall/mineral/plastitanium/nodiagonal, +/area/ship/crew/office) +"ua" = ( +/obj/effect/turf_decal/siding/thinplating/corner, +/obj/effect/turf_decal/siding/thinplating/corner{ + dir = 8 + }, +/obj/structure/cable{ + icon_state = "1-2" + }, +/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4, +/obj/effect/decal/cleanable/dirt/dust, +/turf/open/floor/plasteel/patterned/grid, +/area/ship/hallway/port) +"un" = ( +/obj/structure/table, +/obj/effect/decal/cleanable/dirt/dust, +/turf/open/floor/plasteel/dark, +/area/ship/crew/canteen) +"uo" = ( +/obj/effect/turf_decal/siding/thinplating/corner, +/obj/effect/turf_decal/siding/thinplating/corner{ + dir = 4 + }, +/obj/effect/turf_decal/trimline/opaque/yellow/warning{ + dir = 4 + }, +/obj/structure/cable{ + icon_state = "1-4" + }, +/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ + dir = 4 + }, +/turf/open/floor/plasteel/patterned/grid, +/area/ship/hallway/central) +"ux" = ( +/obj/structure/catwalk/over/plated_catwalk, +/obj/structure/cable{ + icon_state = "4-8" + }, +/obj/machinery/atmospherics/pipe/manifold/supply/hidden/layer2, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ + dir = 4 + }, +/turf/open/floor/plasteel/tech/grid, +/area/ship/cargo) +"uA" = ( +/obj/effect/turf_decal/trimline/opaque/yellow/filled/warning{ + dir = 4 + }, +/obj/structure/cable{ + icon_state = "4-8" + }, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ + dir = 4 + }, +/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ + dir = 4 + }, +/turf/open/floor/plasteel/dark, +/area/ship/crew/dorm) +"uB" = ( +/obj/effect/turf_decal/siding/thinplating{ + dir = 1 + }, +/obj/structure/cable{ + icon_state = "4-8" + }, +/obj/structure/cable{ + icon_state = "2-8" + }, +/obj/machinery/atmospherics/pipe/manifold/supply/hidden/layer2{ + dir = 1 + }, +/obj/machinery/atmospherics/pipe/manifold/scrubbers/hidden/layer4{ + dir = 1 + }, +/obj/effect/decal/cleanable/dirt/dust, +/obj/structure/noticeboard{ + pixel_y = 28 + }, +/turf/open/floor/plasteel/patterned/grid, +/area/ship/hallway/port) +"uS" = ( +/obj/structure/cable{ + icon_state = "4-8" + }, +/turf/open/floor/plasteel/patterned, +/area/ship/cargo) +"vh" = ( +/obj/machinery/suit_storage_unit/inherit, +/obj/item/clothing/suit/space/inteq, +/obj/item/clothing/head/helmet/space/inteq, +/obj/machinery/light/small/directional/west, +/turf/open/floor/plasteel/patterned/ridged, +/area/ship/cargo) +"vi" = ( +/obj/effect/turf_decal/trimline/opaque/yellow/filled/warning{ + dir = 8 + }, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ + dir = 4 + }, +/turf/open/floor/plasteel/dark, +/area/ship/crew/canteen) +"vn" = ( +/obj/machinery/stasis{ + dir = 1 + }, +/obj/effect/turf_decal/box/white, +/obj/machinery/light/directional/west, +/turf/open/floor/plasteel/mono/white, +/area/ship/medical) +"vx" = ( +/obj/effect/turf_decal/siding/thinplating/dark/end, +/obj/machinery/airalarm/directional/south, +/obj/structure/closet/wall/white{ + dir = 8; + pixel_x = 28 + }, +/obj/item/clothing/under/rank/medical/gown, +/obj/item/clothing/under/rank/medical/gown, +/obj/item/clothing/under/rank/medical/gown, +/obj/item/clothing/shoes/sandal/slippers, +/obj/item/clothing/shoes/sandal/slippers, +/obj/item/clothing/shoes/sandal/slippers, +/turf/open/floor/plasteel/dark, +/area/ship/medical) +"vy" = ( +/obj/structure/cable{ + icon_state = "4-8" + }, +/obj/machinery/light/floor, +/obj/effect/turf_decal/industrial/traffic{ + dir = 1 + }, +/turf/open/floor/plasteel/patterned, +/area/ship/cargo) +"vI" = ( +/obj/effect/turf_decal/siding/thinplating/dark{ + dir = 1 + }, +/obj/machinery/smartfridge/bloodbank/preloaded{ + pixel_y = 32; + density = 0 + }, +/obj/structure/table, +/obj/machinery/cell_charger, +/turf/open/floor/plasteel/mono/dark, +/area/ship/medical) +"vK" = ( +/obj/machinery/cryopod{ + dir = 1 + }, +/obj/machinery/light/directional/south, +/obj/effect/turf_decal/siding/white/corner{ + dir = 1 + }, +/turf/open/floor/plasteel/tech/grid, +/area/ship/crew/cryo) +"vX" = ( +/obj/structure/grille, +/obj/structure/window/plasma/reinforced/plastitanium, +/obj/machinery/door/poddoor/shutters{ + id = "valor_external" + }, +/turf/open/floor/plating, +/area/ship/hallway/port) +"wa" = ( +/obj/machinery/light/small/directional/north, +/turf/open/floor/plasteel/patterned/brushed, +/area/ship/crew/canteen) +"wc" = ( +/obj/structure/cable{ + icon_state = "1-2" + }, +/obj/effect/decal/cleanable/dirt/dust, +/obj/structure/cable{ + icon_state = "2-6" + }, +/turf/open/floor/plating, +/area/ship/maintenance/port) +"wj" = ( +/obj/machinery/atmospherics/components/unary/vent_pump/on/layer2{ + dir = 8 + }, +/obj/effect/decal/cleanable/dirt/dust, +/turf/open/floor/plasteel/patterned/grid, +/area/ship/hallway/central) +"wt" = ( +/obj/effect/turf_decal/spline/fancy/opaque/black{ + dir = 1 + }, +/obj/effect/turf_decal/trimline/opaque/brown/filled/warning{ + dir = 1 + }, +/obj/effect/turf_decal/siding/thinplating/dark{ + dir = 1 + }, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ + dir = 4 + }, +/obj/machinery/atmospherics/pipe/manifold/supply/hidden/layer2{ + dir = 1 + }, +/obj/effect/turf_decal/trimline/opaque/brown/line, +/turf/open/floor/plasteel/dark, +/area/ship/medical) +"wA" = ( +/obj/effect/turf_decal/corner/opaque/yellow{ + dir = 1 + }, +/obj/effect/turf_decal/corner/opaque/brown{ + dir = 8 + }, +/obj/machinery/light/directional/west, +/turf/open/floor/plasteel/dark, +/area/ship/crew/canteen) +"wD" = ( +/obj/machinery/cryopod, +/obj/machinery/light/directional/north, +/obj/effect/turf_decal/siding/white/corner{ + dir = 8 + }, +/turf/open/floor/plasteel/tech/grid, +/area/ship/crew/cryo) +"wI" = ( +/obj/effect/turf_decal/trimline/opaque/brown/warning{ + dir = 8 + }, +/obj/effect/turf_decal/borderfloorwhite{ + dir = 4 + }, +/turf/open/floor/plasteel/tech, +/area/ship/medical) +"wL" = ( +/obj/structure/cable{ + icon_state = "2-8" + }, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4, +/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ + dir = 10 + }, +/obj/machinery/airalarm/directional/east, +/turf/open/floor/plasteel/patterned, +/area/ship/crew/office) +"wS" = ( +/obj/machinery/power/terminal{ + dir = 8 + }, +/obj/structure/cable{ + icon_state = "0-4" + }, +/obj/effect/turf_decal/corner_techfloor_gray/diagonal, +/turf/open/floor/plating, +/area/ship/maintenance/port) +"wV" = ( +/obj/effect/decal/cleanable/dirt/dust, +/turf/open/floor/plasteel/dark, +/area/ship/crew/canteen) +"xb" = ( +/obj/effect/turf_decal/corner/opaque/brown{ + dir = 4 + }, +/obj/effect/turf_decal/corner/opaque/yellow, +/obj/machinery/light/directional/east, +/turf/open/floor/plasteel/dark, +/area/ship/crew/canteen) +"xg" = ( +/obj/machinery/light/directional/south, +/obj/structure/cable{ + icon_state = "4-8" + }, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ + dir = 4 + }, +/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ + dir = 4 + }, +/turf/open/floor/plasteel/patterned, +/area/ship/cargo) +"xj" = ( +/turf/closed/wall/mineral/plastitanium/nodiagonal, +/area/ship/cargo) +"xl" = ( +/obj/effect/turf_decal/siding/thinplating{ + dir = 6 + }, +/obj/structure/extinguisher_cabinet/directional/east, +/obj/machinery/light_switch{ + dir = 1; + pixel_y = -20 + }, +/turf/open/floor/plasteel/patterned/grid, +/area/ship/hallway/port) +"xp" = ( +/obj/effect/turf_decal/spline/fancy/opaque/black{ + dir = 1 + }, +/obj/effect/turf_decal/trimline/opaque/brown/filled/warning{ + dir = 1 + }, +/obj/effect/turf_decal/siding/thinplating/dark{ + dir = 1 + }, +/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ + dir = 4 + }, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ + dir = 4 + }, +/obj/effect/turf_decal/trimline/opaque/brown/arrow_ccw, +/turf/open/floor/plasteel/dark, +/area/ship/medical) +"xs" = ( +/obj/machinery/iv_drip, +/obj/machinery/light/directional/south, +/turf/open/floor/plasteel/white, +/area/ship/medical) +"xy" = ( +/obj/structure/sink{ + dir = 8; + pixel_x = 12 + }, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ + dir = 9 + }, +/turf/open/floor/plasteel/tech, +/area/ship/medical) +"xz" = ( +/obj/effect/turf_decal/industrial/traffic{ + dir = 8 + }, +/obj/structure/cable{ + icon_state = "4-8" + }, +/obj/effect/turf_decal/industrial/traffic/corner{ + dir = 4 + }, +/turf/open/floor/plasteel/patterned, +/area/ship/cargo) +"xH" = ( +/obj/effect/turf_decal/siding/thinplating{ + dir = 8 + }, +/obj/effect/turf_decal/trimline/opaque/yellow/line{ + dir = 8 + }, +/obj/structure/chair{ + dir = 4 + }, +/obj/machinery/airalarm/directional/west, +/turf/open/floor/plasteel/patterned/grid, +/area/ship/hallway/central) +"xI" = ( +/obj/effect/turf_decal/siding/thinplating/dark{ + dir = 4 + }, +/obj/effect/turf_decal/siding/thinplating/dark/corner{ + dir = 1 + }, +/obj/machinery/atmospherics/components/unary/vent_scrubber/on/layer4{ + dir = 8 + }, +/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ + dir = 4 + }, +/obj/effect/turf_decal/trimline/opaque/brown/line, +/turf/open/floor/plasteel/dark, +/area/ship/medical) +"xJ" = ( +/obj/machinery/iv_drip, +/obj/machinery/light/directional/north, +/turf/open/floor/plasteel/white, +/area/ship/medical) +"xU" = ( +/obj/docking_port/mobile{ + can_move_docking_ports = 1; + name = "valor docking port"; + port_direction = 8; + preferred_direction = 4; + dir = 2 + }, +/turf/closed/wall/mineral/plastitanium, +/area/ship/maintenance/port) +"yb" = ( +/obj/effect/turf_decal/corner/opaque/brown{ + dir = 8 + }, +/obj/effect/turf_decal/corner/opaque/yellow, +/obj/structure/closet/secure_closet/freezer{ + anchored = 1; + locked = 0; + name = "fridge" + }, +/obj/item/storage/cans/sixbeer, +/obj/effect/turf_decal/steeldecal/steel_decals_central4{ + dir = 1 + }, +/obj/item/reagent_containers/food/snacks/hotdog, +/obj/effect/spawner/lootdrop/donkpockets, +/obj/effect/spawner/lootdrop/donkpockets, +/turf/open/floor/plasteel/dark, +/area/ship/crew/canteen) +"yu" = ( +/obj/machinery/atmospherics/components/unary/vent_scrubber/on/layer4{ + dir = 1 + }, +/turf/open/floor/carpet/black, +/area/ship/crew/dorm) +"yy" = ( +/obj/structure/railing{ + dir = 5; + layer = 2.9 + }, +/obj/effect/turf_decal/borderfloor{ + dir = 4 + }, +/obj/effect/turf_decal/box/corners{ + dir = 4 + }, +/obj/structure/rack, +/obj/item/stack/sheet/glass/fifty, +/obj/item/stack/sheet/metal/fifty, +/turf/open/floor/plasteel/patterned/cargo_one, +/area/ship/cargo) +"yK" = ( +/obj/structure/catwalk/over/plated_catwalk/dark, +/obj/structure/cable{ + icon_state = "1-2" + }, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4, +/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2, +/turf/open/floor/plating, +/area/ship/medical) +"yN" = ( +/obj/structure/chair/office/dark, +/obj/effect/turf_decal/corner/opaque/brown{ + dir = 8 + }, +/obj/effect/turf_decal/corner/opaque/yellow, +/obj/structure/cable{ + icon_state = "4-8" + }, +/turf/open/floor/plasteel/dark, +/area/ship/security) +"yT" = ( +/obj/structure/table, +/obj/structure/window/reinforced{ + dir = 8 + }, +/obj/machinery/computer/secure_data/laptop{ + dir = 1; + pixel_y = 8 + }, +/obj/machinery/door/window/brigdoor/southleft, +/obj/machinery/door/firedoor/border_only{ + dir = 1 + }, +/obj/machinery/door/firedoor/border_only, +/turf/open/floor/plasteel/dark, +/area/ship/security) +"ze" = ( +/obj/item/clothing/mask/gas/sechailer/inteq, +/obj/item/clothing/gloves/tackler/combat/insulated, +/obj/item/clothing/shoes/combat, +/obj/item/storage/backpack/messenger/inteq, +/obj/item/megaphone/command, +/obj/item/clothing/under/syndicate/inteq/skirt, +/obj/item/clothing/under/syndicate/inteq, +/obj/item/clothing/suit/armor/hos/inteq, +/obj/item/clothing/head/beret/sec/hos/inteq, +/obj/structure/closet/secure_closet/wall{ + dir = 4; + icon_door = "solgov_wall"; + icon_state = "solgov_wall"; + name = "vanguard's locker"; + pixel_x = -28; + req_access = list(58) + }, +/obj/item/storage/lockbox/medal/sec, +/obj/item/clothing/glasses/hud/security/sunglasses/inteq, +/turf/open/floor/carpet/orange, +/area/ship/bridge) +"zh" = ( +/turf/closed/wall/mineral/plastitanium, +/area/ship/maintenance/port) +"zi" = ( +/obj/machinery/computer/helm{ + dir = 8 + }, +/obj/effect/turf_decal/corner/opaque/yellow, +/obj/effect/turf_decal/corner/opaque/brown{ + dir = 4 + }, +/obj/effect/turf_decal/corner/opaque/yellow{ + dir = 1 + }, +/obj/machinery/light_switch{ + pixel_y = 20 + }, +/turf/open/floor/plasteel/telecomms_floor, +/area/ship/bridge) +"zr" = ( +/obj/effect/turf_decal/borderfloorblack{ + dir = 4 + }, +/obj/structure/table/reinforced, +/obj/effect/turf_decal/spline/fancy/opaque/black{ + dir = 8 + }, +/obj/machinery/airalarm/directional/south, +/obj/machinery/fax{ + pixel_y = 3 + }, +/turf/open/floor/plasteel/dark, +/area/ship/bridge) +"zs" = ( +/obj/effect/turf_decal/siding/thinplating, +/obj/effect/decal/cleanable/dirt/dust, +/obj/machinery/power/apc/auto_name/directional/south, +/obj/structure/cable, +/turf/open/floor/plasteel/patterned/grid, +/area/ship/hallway/port) +"zA" = ( +/obj/effect/turf_decal/siding/thinplating/dark{ + dir = 5 + }, +/obj/structure/closet/crate/bin, +/obj/structure/sign/poster/official/get_your_legs{ + pixel_y = 32 + }, +/obj/machinery/light_switch{ + dir = 8; + pixel_x = 20 + }, +/turf/open/floor/plasteel/dark, +/area/ship/medical) +"zD" = ( +/obj/machinery/computer/operating{ + dir = 4 + }, +/obj/effect/turf_decal/borderfloorwhite, +/turf/open/floor/plasteel/white, +/area/ship/medical) +"zE" = ( +/obj/effect/turf_decal/siding/thinplating/dark{ + dir = 1 + }, +/obj/effect/turf_decal/siding/thinplating/dark, +/obj/structure/cable{ + icon_state = "4-8" + }, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ + dir = 4 + }, +/obj/machinery/door/firedoor/border_only{ + dir = 4 + }, +/obj/machinery/door/firedoor/border_only{ + dir = 8 + }, +/obj/machinery/door/airlock/grunge{ + dir = 4; + name = "Sick Bay" + }, +/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ + dir = 4 + }, +/turf/open/floor/plasteel/dark, +/area/ship/medical) +"zG" = ( +/obj/effect/turf_decal/siding/thinplating{ + dir = 8 + }, +/obj/effect/turf_decal/trimline/opaque/yellow/line{ + dir = 8 + }, +/obj/structure/chair/comfy/black{ + dir = 4 + }, +/obj/machinery/computer/helm/viewscreen/directional/west, +/turf/open/floor/plasteel/patterned/grid, +/area/ship/hallway/central) +"zI" = ( +/obj/structure/cable{ + icon_state = "1-2" + }, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4, +/obj/machinery/door/firedoor/border_only, +/obj/machinery/door/firedoor/border_only{ + dir = 1 + }, +/obj/machinery/door/airlock/grunge{ + name = "Cargo Bay" + }, +/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2, +/obj/effect/turf_decal/borderfloorblack, +/turf/open/floor/plasteel/patterned, +/area/ship/medical) +"zK" = ( +/obj/machinery/door/firedoor/border_only{ + dir = 1 + }, +/obj/machinery/door/firedoor/border_only, +/obj/machinery/door/airlock/public/glass{ + name = "Supply Storage" + }, +/obj/effect/turf_decal/corner_techfloor_grid{ + dir = 5 + }, +/turf/open/floor/plasteel/patterned, +/area/ship/cargo) +"zL" = ( +/obj/structure/chair{ + dir = 1 + }, +/obj/structure/cable{ + icon_state = "4-8" + }, +/turf/open/floor/plasteel/dark, +/area/ship/crew/canteen) +"zO" = ( +/obj/machinery/atmospherics/components/unary/vent_scrubber/on/layer4{ + dir = 8 + }, +/obj/effect/decal/cleanable/dirt/dust, +/turf/open/floor/plasteel/patterned/grid, +/area/ship/hallway/central) +"zS" = ( +/obj/structure/table, +/obj/effect/turf_decal/siding/thinplating/dark{ + dir = 9 + }, +/obj/item/storage/box/masks{ + pixel_x = -7; + pixel_y = 10 + }, +/obj/item/storage/box/gloves{ + pixel_x = 8; + pixel_y = 10 + }, +/obj/structure/sign/poster/official/walk{ + pixel_y = 32 + }, +/turf/open/floor/plasteel/mono/dark, +/area/ship/medical) +"zT" = ( +/obj/structure/railing, +/obj/effect/turf_decal/borderfloor/corner, +/obj/structure/reagent_dispensers/fueltank, +/turf/open/floor/plasteel/patterned/cargo_one, +/area/ship/cargo) +"Ab" = ( +/obj/structure/chair/comfy/shuttle{ + dir = 4; + name = "Helm" + }, +/obj/effect/turf_decal/corner/opaque/brown{ + dir = 4 + }, +/obj/effect/turf_decal/steeldecal/steel_decals3, +/turf/open/floor/plasteel/dark, +/area/ship/bridge) +"Af" = ( +/obj/machinery/power/smes/shuttle/precharged{ + dir = 4 + }, +/obj/structure/window/reinforced{ + dir = 8 + }, +/obj/machinery/door/window/eastleft{ + name = "Engine Access" + }, +/obj/structure/cable/yellow{ + icon_state = "0-8" + }, +/turf/open/floor/plating, +/area/ship/maintenance/starboard) +"Am" = ( +/turf/open/floor/carpet/orange, +/area/ship/bridge) +"An" = ( +/obj/effect/turf_decal/siding/thinplating{ + dir = 1 + }, +/obj/effect/turf_decal/steeldecal/steel_decals_central7, +/obj/machinery/airalarm/directional/north, +/obj/structure/cable{ + icon_state = "4-8" + }, +/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ + dir = 4 + }, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ + dir = 8 + }, +/turf/open/floor/plasteel/patterned/grid, +/area/ship/hallway/port) +"Av" = ( +/turf/open/floor/plasteel/dark, +/area/ship/crew/canteen) +"AD" = ( +/turf/closed/wall/mineral/plastitanium/nodiagonal, +/area/ship/maintenance/starboard) +"AE" = ( +/obj/structure/table, +/obj/item/storage/backpack/duffelbag/med/surgery{ + pixel_x = -2; + pixel_y = 7 + }, +/obj/item/reagent_containers/medigel/sterilizine{ + pixel_x = 8; + pixel_y = 3 + }, +/obj/machinery/airalarm/directional/east, +/obj/effect/turf_decal/borderfloorwhite, +/turf/open/floor/plasteel/white, +/area/ship/medical) +"AG" = ( +/obj/structure/bed, +/obj/item/bedsheet/hos{ + name = "vanguard's bedsheet" + }, +/obj/structure/curtain/bounty, +/obj/machinery/light/directional/west, +/turf/open/floor/carpet/orange, +/area/ship/bridge) +"AH" = ( +/obj/effect/turf_decal/siding/thinplating/corner, +/obj/effect/turf_decal/siding/thinplating/corner{ + dir = 4 + }, +/obj/effect/turf_decal/trimline/opaque/yellow/warning{ + dir = 4 + }, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ + dir = 4 + }, +/turf/open/floor/plasteel/patterned/grid, +/area/ship/hallway/central) +"AM" = ( +/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ + dir = 4 + }, +/turf/open/floor/plasteel/stairs/left{ + dir = 8 + }, +/area/ship/cargo) +"AO" = ( +/obj/structure/rack, +/obj/item/reagent_containers/glass/bucket, +/obj/item/mop, +/obj/effect/turf_decal/corner/opaque/yellow/border{ + dir = 1 + }, +/obj/effect/decal/cleanable/cobweb/cobweb2, +/obj/structure/sign/poster/contraband/ss13{ + pixel_y = 32 + }, +/turf/open/floor/plasteel/tech/techmaint, +/area/ship/crew/canteen) +"AP" = ( +/obj/effect/turf_decal/siding/thinplating, +/obj/machinery/firealarm/directional/south, +/turf/open/floor/plasteel/patterned/grid, +/area/ship/hallway/port) +"AV" = ( +/obj/effect/turf_decal/spline/fancy/opaque/black{ + dir = 4 + }, +/obj/structure/table, +/obj/structure/bedsheetbin, +/obj/effect/turf_decal/siding/thinplating/dark/end{ + dir = 1 + }, +/obj/structure/sign/poster/official/work_for_a_future{ + desc = "A poster encouraging you to work for your future."; + pixel_y = 32 + }, +/turf/open/floor/plasteel/dark, +/area/ship/medical) +"Bc" = ( +/obj/structure/bed, +/obj/item/bedsheet/brown, +/obj/structure/curtain/bounty, +/obj/machinery/light/directional/west, +/turf/open/floor/carpet/black, +/area/ship/crew/dorm) +"Bh" = ( +/obj/machinery/atmospherics/components/unary/vent_scrubber/on/layer4{ + dir = 8 + }, +/obj/effect/decal/cleanable/dirt/dust, +/turf/open/floor/plasteel/dark, +/area/ship/crew/canteen) +"BC" = ( +/obj/structure/filingcabinet/double, +/obj/structure/sign/poster/official/help_others{ + pixel_y = 32 + }, +/turf/open/floor/plasteel/patterned, +/area/ship/crew/office) +"BL" = ( +/obj/effect/turf_decal/corner/opaque/brown{ + dir = 8 + }, +/obj/effect/turf_decal/corner/opaque/yellow, +/obj/effect/turf_decal/corner/opaque/yellow{ + dir = 1 + }, +/obj/machinery/power/apc/auto_name/directional/west, +/obj/structure/cable{ + icon_state = "0-4" + }, +/obj/machinery/light_switch{ + dir = 1; + pixel_y = -20 + }, +/turf/open/floor/plasteel/dark, +/area/ship/security) +"BV" = ( +/obj/structure/grille, +/obj/structure/window/plasma/reinforced/plastitanium, +/obj/machinery/door/poddoor/shutters{ + dir = 4; + id = "valor_external" + }, +/obj/structure/closet/crate/bin, +/turf/open/floor/plating, +/area/ship/hallway/central) +"Cb" = ( +/obj/effect/turf_decal/industrial/traffic{ + dir = 8 + }, +/obj/effect/turf_decal/industrial/traffic{ + dir = 4 + }, +/turf/open/floor/plasteel/patterned, +/area/ship/cargo) +"Cc" = ( +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ + dir = 4 + }, +/obj/effect/decal/cleanable/dirt, +/turf/open/floor/plasteel/patterned, +/area/ship/cargo) +"Ch" = ( +/obj/structure/punching_bag, +/turf/open/floor/plasteel/patterned/cargo_one, +/area/ship/cargo) +"Cr" = ( +/obj/effect/turf_decal/corner/opaque/yellow{ + dir = 1 + }, +/obj/effect/turf_decal/corner/opaque/brown{ + dir = 8 + }, +/obj/machinery/photocopier, +/turf/open/floor/plasteel/dark, +/area/ship/crew/canteen) +"Ct" = ( +/obj/structure/catwalk/over, +/turf/open/floor/plating/airless, +/area/ship/external/dark) +"CC" = ( +/obj/structure/catwalk/over/plated_catwalk/dark, +/obj/structure/cable{ + icon_state = "1-2" + }, +/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4, +/turf/open/floor/plating, +/area/ship/hallway/port) +"CF" = ( +/obj/structure/table/optable, +/obj/machinery/defibrillator_mount/loaded{ + pixel_x = 28 + }, +/turf/open/floor/plasteel/white, +/area/ship/medical) +"CH" = ( +/obj/effect/turf_decal/trimline/opaque/yellow/filled/warning, +/obj/structure/cable{ + icon_state = "1-2" + }, +/obj/machinery/atmospherics/pipe/manifold/supply/hidden/layer2{ + dir = 4 + }, +/obj/machinery/atmospherics/pipe/manifold/scrubbers/hidden/layer4{ + dir = 1 + }, +/turf/open/floor/plasteel/dark, +/area/ship/crew/dorm) +"CT" = ( +/obj/machinery/door/airlock/security/glass{ + name = "Security Office"; + req_access = list(1) + }, +/obj/structure/cable{ + icon_state = "1-2" + }, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4, +/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2, +/obj/machinery/door/firedoor/border_only{ + dir = 1 + }, +/obj/machinery/door/firedoor/border_only, +/obj/effect/turf_decal/corner/opaque/yellow{ + dir = 1 + }, +/obj/effect/turf_decal/corner/opaque/brown{ + dir = 4 + }, +/turf/open/floor/plasteel/dark, +/area/ship/security) +"CV" = ( +/obj/effect/turf_decal/borderfloorblack{ + dir = 4 + }, +/obj/effect/turf_decal/spline/fancy/opaque/black/corner{ + dir = 8 + }, +/obj/effect/turf_decal/spline/fancy/opaque/black{ + dir = 8 + }, +/obj/machinery/atmospherics/components/unary/vent_pump/on/layer2{ + dir = 1 + }, +/turf/open/floor/plasteel/dark, +/area/ship/bridge) +"Dj" = ( +/obj/machinery/power/apc/auto_name/directional/north, +/obj/structure/cable{ + icon_state = "4-8" + }, +/obj/structure/cable{ + icon_state = "0-8" + }, +/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ + dir = 4 + }, +/turf/open/floor/plating, +/area/ship/maintenance/starboard) +"Dl" = ( +/obj/machinery/power/terminal, +/obj/structure/cable/yellow, +/obj/effect/decal/cleanable/dirt/dust, +/obj/effect/turf_decal/corner_techfloor_gray/diagonal, +/turf/open/floor/plating, +/area/ship/maintenance/port) +"Dm" = ( +/obj/effect/turf_decal/industrial/warning{ + dir = 1 + }, +/obj/effect/turf_decal/industrial/warning, +/obj/effect/turf_decal/siding/white{ + dir = 8 + }, +/turf/open/floor/plasteel/tech, +/area/ship/crew/cryo) +"Dw" = ( +/obj/structure/cable/yellow, +/obj/effect/decal/cleanable/dirt/dust, +/obj/machinery/airalarm/directional/east, +/obj/machinery/power/port_gen/pacman/super, +/obj/item/stack/sheet/mineral/uranium/twenty, +/turf/open/floor/plating, +/area/ship/maintenance/starboard) +"Dx" = ( +/obj/effect/turf_decal/siding/thinplating/dark/end, +/obj/structure/rack, +/obj/item/storage/firstaid/brute{ + pixel_x = 5; + pixel_y = 4 + }, +/obj/item/storage/firstaid/o2{ + pixel_x = -6; + pixel_y = -2 + }, +/turf/open/floor/plasteel/dark, +/area/ship/medical) +"DA" = ( +/obj/effect/turf_decal/siding/thinplating{ + dir = 1 + }, +/obj/structure/cable{ + icon_state = "4-8" + }, +/obj/effect/decal/cleanable/dirt/dust, +/obj/effect/turf_decal/siding/thinplating/corner{ + dir = 8 + }, +/turf/open/floor/plasteel/patterned/grid, +/area/ship/hallway/port) +"DD" = ( +/obj/machinery/holopad/emergency/command, +/obj/effect/decal/cleanable/dirt/dust, +/turf/open/floor/plasteel/dark, +/area/ship/bridge) +"DG" = ( +/obj/structure/sink{ + dir = 4; + pixel_x = -12 + }, +/obj/structure/sign/poster/official/cleanliness{ + pixel_x = -32 + }, +/turf/open/floor/plasteel/mono/white, +/area/ship/medical) +"DL" = ( +/obj/machinery/door/airlock/external{ + dir = 4 + }, +/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ + dir = 4 + }, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ + dir = 4 + }, +/turf/open/floor/plasteel/tech, +/area/ship/medical) +"DR" = ( +/obj/machinery/door/airlock/hatch{ + name = "Cargo Bay" + }, +/obj/structure/cable{ + icon_state = "1-2" + }, +/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4, +/obj/machinery/door/firedoor/border_only, +/obj/machinery/door/firedoor/border_only{ + dir = 1 + }, +/obj/effect/turf_decal/borderfloorblack{ + dir = 1 + }, +/turf/open/floor/plasteel/tech/grid, +/area/ship/hallway/port) +"DT" = ( +/turf/closed/wall/mineral/plastitanium/nodiagonal, +/area/ship/hallway/central) +"DU" = ( +/obj/structure/grille, +/obj/structure/window/plasma/reinforced/plastitanium, +/obj/machinery/door/poddoor/shutters{ + dir = 4; + id = "valor_external" + }, +/turf/open/floor/plating, +/area/ship/hallway/port) +"Ea" = ( +/obj/structure/cable{ + icon_state = "4-8" + }, +/obj/effect/turf_decal/industrial/traffic{ + dir = 8 + }, +/obj/effect/turf_decal/industrial/stand_clear{ + dir = 4 + }, +/turf/open/floor/plasteel/patterned, +/area/ship/cargo) +"Ed" = ( +/obj/effect/turf_decal/corner/opaque/yellow{ + dir = 9 + }, +/obj/effect/turf_decal/corner/opaque/yellow{ + dir = 4 + }, +/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ + dir = 4 + }, +/obj/effect/decal/cleanable/dirt/dust, +/turf/open/floor/plasteel/patterned/grid, +/area/ship/hallway/central) +"Ei" = ( +/obj/effect/turf_decal/corner/opaque/yellow, +/obj/effect/turf_decal/corner/opaque/brown{ + dir = 8 + }, +/obj/effect/turf_decal/corner/opaque/brown{ + dir = 4 + }, +/obj/machinery/washing_machine, +/obj/effect/decal/cleanable/dirt/dust, +/turf/open/floor/plasteel/dark, +/area/ship/crew/dorm) +"El" = ( +/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ + dir = 4 + }, +/obj/effect/decal/cleanable/dirt/dust, +/turf/open/floor/plasteel/dark, +/area/ship/crew/canteen) +"EA" = ( +/obj/effect/turf_decal/corner/opaque/brown{ + dir = 4 + }, +/obj/effect/turf_decal/corner/opaque/yellow, +/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ + dir = 9 + }, +/turf/open/floor/plasteel/dark, +/area/ship/crew/canteen) +"EE" = ( +/obj/effect/turf_decal/trimline/opaque/brown/line{ + dir = 5 + }, +/obj/effect/turf_decal/siding/thinplating/dark{ + dir = 5 + }, +/obj/structure/chair, +/obj/structure/extinguisher_cabinet/directional/north, +/obj/machinery/light_switch{ + dir = 8; + pixel_x = 20 + }, +/turf/open/floor/plasteel/dark, +/area/ship/medical) +"EJ" = ( +/obj/effect/turf_decal/siding/thinplating/corner{ + dir = 1 + }, +/obj/effect/turf_decal/siding/thinplating/corner{ + dir = 8 + }, +/obj/effect/turf_decal/trimline/opaque/yellow/warning{ + dir = 8 + }, +/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ + dir = 4 + }, +/turf/open/floor/plasteel/patterned/grid, +/area/ship/hallway/central) +"EK" = ( +/obj/effect/turf_decal/corner/opaque/brown{ + dir = 8 + }, +/obj/effect/turf_decal/corner/opaque/yellow{ + dir = 1 + }, +/obj/machinery/light/directional/west, +/obj/structure/cable{ + icon_state = "2-4" + }, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ + dir = 6 + }, +/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ + dir = 6 + }, +/turf/open/floor/plasteel/dark, +/area/ship/crew/dorm) +"EL" = ( +/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ + dir = 4 + }, +/turf/open/floor/plasteel/dark, +/area/ship/crew/canteen) +"EM" = ( +/obj/structure/bed, +/obj/structure/curtain, +/obj/machinery/light/directional/north, +/obj/item/bedsheet/medical, +/turf/open/floor/plasteel/white, +/area/ship/medical) +"ET" = ( +/obj/structure/chair{ + dir = 1 + }, +/turf/open/floor/plasteel/dark, +/area/ship/crew/canteen) +"EY" = ( +/turf/closed/wall/mineral/plastitanium/nodiagonal, +/area/ship/crew/cryo) +"Fa" = ( +/obj/effect/turf_decal/box/corners{ + dir = 8 + }, +/turf/open/floor/plasteel/patterned/cargo_one, +/area/ship/cargo) +"Ff" = ( +/obj/structure/catwalk/over/plated_catwalk, +/obj/structure/cable{ + icon_state = "1-2" + }, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4, +/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2, +/obj/machinery/light_switch{ + dir = 8; + pixel_x = 20 + }, +/turf/open/floor/plasteel/tech/grid, +/area/ship/cargo) +"Fs" = ( +/obj/effect/turf_decal/trimline/opaque/brown/filled/warning, +/obj/effect/turf_decal/siding/thinplating/dark, +/obj/effect/turf_decal/trimline/opaque/brown/line{ + dir = 1 + }, +/turf/open/floor/plasteel/dark, +/area/ship/medical) +"Ft" = ( +/obj/structure/cable{ + icon_state = "4-8" + }, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ + dir = 4 + }, +/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ + dir = 4 + }, +/turf/open/floor/plasteel/patterned, +/area/ship/cargo) +"FF" = ( +/obj/structure/bed, +/obj/item/bedsheet/brown, +/obj/structure/curtain/bounty, +/obj/structure/sign/poster/contraband/masked_men{ + pixel_y = -32 + }, +/obj/machinery/firealarm/directional/east, +/turf/open/floor/carpet/black, +/area/ship/crew/dorm) +"FH" = ( +/obj/structure/chair{ + dir = 1 + }, +/obj/effect/decal/cleanable/dirt, +/obj/structure/cable{ + icon_state = "4-8" + }, +/turf/open/floor/plasteel/dark, +/area/ship/crew/canteen) +"FI" = ( +/obj/structure/cable{ + icon_state = "4-8" + }, +/obj/machinery/light/floor, +/turf/open/floor/plasteel/patterned, +/area/ship/cargo) +"FJ" = ( +/obj/structure/table, +/obj/item/folder/red{ + pixel_x = 5; + pixel_y = 5 + }, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ + dir = 4 + }, +/obj/item/paper_bin{ + pixel_x = -15; + pixel_y = 3 + }, +/turf/open/floor/plasteel/dark, +/area/ship/crew/canteen) +"FY" = ( +/obj/effect/decal/cleanable/dirt, +/turf/open/floor/plasteel/stairs, +/area/ship/cargo) +"FZ" = ( +/obj/effect/turf_decal/siding/thinplating{ + dir = 1 + }, +/obj/structure/cable{ + icon_state = "4-8" + }, +/obj/effect/decal/cleanable/dirt/dust, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ + dir = 6 + }, +/turf/open/floor/plasteel/patterned/grid, +/area/ship/hallway/port) +"Gd" = ( +/obj/effect/turf_decal/trimline/opaque/yellow/filled/warning{ + dir = 4 + }, +/turf/open/floor/plasteel/dark, +/area/ship/crew/canteen) +"Gm" = ( +/obj/structure/cable{ + icon_state = "4-8" + }, +/turf/open/floor/plasteel/patterned, +/area/ship/crew/office) +"Go" = ( +/obj/effect/turf_decal/corner/opaque/brown{ + dir = 8 + }, +/obj/effect/turf_decal/corner/opaque/yellow, +/obj/machinery/light/directional/south, +/obj/structure/table, +/obj/item/storage/fancy/donut_box, +/turf/open/floor/plasteel/dark, +/area/ship/crew/canteen) +"GA" = ( +/obj/structure/sign/poster/contraband/inteq_nt{ + pixel_x = -32 + }, +/obj/machinery/atmospherics/components/unary/tank/air{ + dir = 4; + piping_layer = 2 + }, +/obj/machinery/light/directional/north, +/turf/open/floor/plating, +/area/ship/maintenance/starboard) +"GF" = ( +/obj/structure/closet/cardboard, +/obj/item/clothing/gloves/boxing/yellow, +/obj/item/clothing/gloves/boxing/yellow, +/obj/item/clothing/gloves/boxing/green, +/obj/item/clothing/gloves/boxing/green, +/obj/item/clothing/gloves/boxing/blue, +/obj/item/clothing/gloves/boxing/blue, +/obj/item/clothing/gloves/boxing, +/obj/item/clothing/gloves/boxing, +/turf/open/floor/plasteel/patterned/cargo_one, +/area/ship/cargo) +"GR" = ( +/obj/structure/cable{ + icon_state = "1-2" + }, +/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4, +/obj/effect/decal/cleanable/dirt/dust, +/turf/open/floor/plasteel/patterned/grid, +/area/ship/hallway/central) +"Hg" = ( +/obj/effect/turf_decal/siding/thinplating{ + dir = 1 + }, +/obj/structure/cable{ + icon_state = "4-8" + }, +/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ + dir = 4 + }, +/obj/machinery/atmospherics/pipe/manifold/scrubbers/hidden/layer4{ + dir = 1 + }, +/turf/open/floor/plasteel/patterned/grid, +/area/ship/hallway/port) +"Hi" = ( +/obj/structure/catwalk/over/plated_catwalk, +/obj/structure/cable{ + icon_state = "1-2" + }, +/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4, +/turf/open/floor/plasteel/tech/grid, +/area/ship/cargo) +"Hw" = ( +/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2, +/obj/machinery/door/firedoor/border_only, +/obj/machinery/door/firedoor/border_only{ + dir = 1 + }, +/obj/machinery/door/airlock/public/glass{ + name = "EVA Storage" + }, +/obj/effect/turf_decal/corner_techfloor_grid{ + dir = 10 + }, +/turf/open/floor/plasteel/patterned, +/area/ship/cargo) +"HA" = ( +/obj/effect/decal/cleanable/dirt/dust, +/obj/structure/cable{ + icon_state = "1-8" + }, +/obj/structure/cable{ + icon_state = "1-10" + }, +/turf/open/floor/plating, +/area/ship/maintenance/starboard) +"HB" = ( +/obj/effect/turf_decal/techfloor, +/obj/effect/turf_decal/siding/thinplating/dark{ + dir = 1 + }, +/obj/structure/table, +/obj/machinery/door/window/northright, +/obj/structure/sign/poster/official/moth/epi{ + pixel_y = -32 + }, +/obj/item/storage/firstaid/radiation{ + pixel_x = -6; + pixel_y = 5 + }, +/obj/item/storage/firstaid/toxin{ + pixel_x = 6; + pixel_y = 1 + }, +/turf/open/floor/plasteel/tech/grid, +/area/ship/medical) +"HC" = ( +/turf/closed/wall/mineral/plastitanium/nodiagonal, +/area/ship/hallway/port) +"HE" = ( +/obj/structure/grille, +/obj/structure/window/plasma/reinforced/plastitanium, +/obj/machinery/door/poddoor/shutters{ + dir = 4; + id = "valor_bridge"; + name = "Bridge Shutters" + }, +/turf/open/floor/plating, +/area/ship/bridge) +"HK" = ( +/turf/closed/wall/mineral/plastitanium/nodiagonal, +/area/ship/crew/canteen) +"HL" = ( +/obj/structure/reagent_dispensers/beerkeg, +/turf/open/floor/plasteel/patterned/cargo_one, +/area/ship/cargo) +"HN" = ( +/obj/machinery/cryopod, +/turf/open/floor/plasteel/tech/grid, +/area/ship/crew/cryo) +"HQ" = ( +/obj/structure/sink{ + dir = 1; + pixel_y = -7 + }, +/obj/structure/mirror{ + pixel_y = -24 + }, +/turf/open/floor/plasteel/patterned/brushed, +/area/ship/crew/canteen) +"HT" = ( +/obj/effect/turf_decal/borderfloorblack{ + dir = 4 + }, +/obj/effect/turf_decal/spline/fancy/opaque/black/corner{ + dir = 1 + }, +/obj/effect/turf_decal/spline/fancy/opaque/black{ + dir = 8 + }, +/obj/machinery/atmospherics/components/unary/vent_scrubber/on/layer4, +/obj/effect/decal/cleanable/dirt/dust, +/obj/structure/cable{ + icon_state = "1-2" + }, +/turf/open/floor/plasteel/dark, +/area/ship/bridge) +"Ie" = ( +/obj/effect/turf_decal/corner/opaque/yellow{ + dir = 1 + }, +/obj/effect/turf_decal/corner/opaque/brown{ + dir = 4 + }, +/obj/effect/turf_decal/corner/opaque/brown{ + dir = 8 + }, +/obj/structure/table, +/obj/structure/bedsheetbin/empty, +/turf/open/floor/plasteel/dark, +/area/ship/crew/dorm) +"Ik" = ( +/obj/effect/turf_decal/siding/thinplating{ + dir = 4 + }, +/obj/effect/turf_decal/trimline/opaque/yellow/line{ + dir = 4 + }, +/obj/machinery/vending/coffee, +/turf/open/floor/plasteel/patterned/grid, +/area/ship/hallway/central) +"Io" = ( +/obj/machinery/rnd/server, +/obj/machinery/light/small/directional/east, +/turf/open/floor/plasteel/patterned/ridged, +/area/ship/cargo) +"IA" = ( +/obj/effect/turf_decal/spline/fancy/opaque/black{ + dir = 1 + }, +/obj/effect/turf_decal/trimline/opaque/brown/filled/warning{ + dir = 1 + }, +/obj/effect/turf_decal/siding/thinplating/dark{ + dir = 1 + }, +/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ + dir = 4 + }, +/obj/machinery/atmospherics/pipe/manifold/scrubbers/hidden/layer4{ + dir = 1 + }, +/obj/effect/turf_decal/trimline/opaque/brown/arrow_ccw, +/turf/open/floor/plasteel/dark, +/area/ship/medical) +"IB" = ( +/obj/effect/turf_decal/trimline/opaque/brown/filled/warning, +/obj/effect/turf_decal/siding/thinplating/dark, +/obj/effect/turf_decal/trimline/opaque/brown/arrow_ccw{ + dir = 1 + }, +/turf/open/floor/plasteel/dark, +/area/ship/medical) +"IL" = ( +/obj/effect/turf_decal/borderfloor{ + dir = 4 + }, +/obj/machinery/light_switch{ + dir = 1; + pixel_y = -20 + }, +/turf/open/floor/plasteel/patterned, +/area/ship/cargo) +"IM" = ( +/obj/effect/turf_decal/corner/opaque/brown{ + dir = 4 + }, +/obj/effect/turf_decal/corner/opaque/yellow{ + dir = 1 + }, +/obj/structure/sign/poster/contraband/inteq{ + pixel_y = 32 + }, +/turf/open/floor/plasteel/dark, +/area/ship/crew/canteen) +"IN" = ( +/obj/effect/decal/cleanable/dirt, +/turf/open/floor/plasteel/dark, +/area/ship/crew/canteen) +"IQ" = ( +/obj/structure/table, +/obj/effect/decal/cleanable/dirt/dust, +/obj/item/storage/bag/tray{ + pixel_y = 5; + pixel_x = -1 + }, +/obj/item/reagent_containers/food/drinks/soda_cans/cola{ + pixel_x = 6; + pixel_y = 8 + }, +/obj/item/reagent_containers/food/snacks/burger/plain{ + pixel_y = 3; + pixel_x = -4 + }, +/turf/open/floor/plasteel/dark, +/area/ship/crew/canteen) +"Jd" = ( +/obj/effect/turf_decal/borderfloor{ + dir = 1 + }, +/obj/structure/railing{ + dir = 1; + layer = 2.9 + }, +/obj/structure/closet/crate{ + name = "sandbags crate" + }, +/obj/item/storage/box/emptysandbags{ + pixel_x = -5; + pixel_y = 5 + }, +/obj/item/storage/box/emptysandbags, +/obj/item/storage/box/emptysandbags{ + pixel_x = 5; + pixel_y = -5 + }, +/turf/open/floor/plasteel/patterned/cargo_one, +/area/ship/cargo) +"Jh" = ( +/obj/effect/turf_decal/corner/opaque/brown{ + dir = 4 + }, +/obj/effect/turf_decal/corner/opaque/yellow{ + dir = 1 + }, +/obj/machinery/light/directional/north, +/turf/open/floor/plasteel/dark, +/area/ship/crew/canteen) +"Jn" = ( +/obj/machinery/power/apc/auto_name/directional/south, +/obj/structure/cable, +/turf/open/floor/plasteel/tech, +/area/ship/medical) +"Jt" = ( +/obj/effect/turf_decal/corner/opaque/brown{ + dir = 4 + }, +/obj/effect/turf_decal/corner/opaque/yellow, +/obj/structure/sign/poster/official/moth{ + pixel_x = 32 + }, +/turf/open/floor/plasteel/dark, +/area/ship/crew/canteen) +"Jz" = ( +/obj/structure/table, +/obj/item/phone{ + pixel_x = -14 + }, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ + dir = 4 + }, +/obj/effect/decal/cleanable/dirt/dust, +/obj/machinery/jukebox/boombox{ + pixel_y = 2; + pixel_x = 3 + }, +/turf/open/floor/plasteel/dark, +/area/ship/crew/canteen) +"JC" = ( +/obj/machinery/door/poddoor{ + dir = 4; + id = "valor_cargo" + }, +/turf/open/floor/plating, +/area/ship/cargo) +"JJ" = ( +/obj/structure/ore_box, +/turf/open/floor/plasteel/patterned/cargo_one, +/area/ship/cargo) +"JS" = ( +/obj/structure/railing{ + dir = 9; + layer = 2.9 + }, +/obj/effect/turf_decal/borderfloor{ + dir = 1 + }, +/obj/effect/turf_decal/box/corners{ + dir = 1 + }, +/obj/structure/rack, +/obj/effect/spawner/lootdrop/maintenance/two, +/turf/open/floor/plasteel/patterned/cargo_one, +/area/ship/cargo) +"Kh" = ( +/turf/open/floor/carpet/blue, +/area/ship/bridge) +"Ki" = ( +/obj/effect/turf_decal/corner_techfloor_gray{ + dir = 6 + }, +/obj/effect/turf_decal/borderfloor{ + dir = 4 + }, +/obj/structure/cable{ + icon_state = "4-8" + }, +/obj/machinery/door/firedoor/border_only{ + dir = 4 + }, +/obj/machinery/door/firedoor/border_only{ + dir = 8 + }, +/obj/machinery/door/airlock/public/glass{ + dir = 8; + name = "Cryogenics" + }, +/turf/open/floor/plasteel/tech, +/area/ship/crew/cryo) +"Km" = ( +/obj/effect/turf_decal/corner/opaque/brown{ + dir = 8 + }, +/obj/effect/turf_decal/corner/opaque/yellow, +/obj/structure/reagent_dispensers/water_cooler, +/obj/structure/sign/poster/contraband/eat{ + pixel_y = -32 + }, +/turf/open/floor/plasteel/dark, +/area/ship/crew/canteen) +"Kn" = ( +/obj/effect/decal/cleanable/dirt, +/turf/open/floor/plasteel/patterned, +/area/ship/cargo) +"Ko" = ( +/obj/machinery/computer/cargo/express{ + dir = 1 + }, +/obj/effect/turf_decal/corner/opaque/brown{ + dir = 4 + }, +/obj/effect/turf_decal/corner/opaque/yellow, +/obj/effect/turf_decal/corner/opaque/brown{ + dir = 8 + }, +/obj/machinery/light/directional/east, +/obj/machinery/firealarm/directional/south, +/turf/open/floor/plasteel/telecomms_floor, +/area/ship/bridge) +"Kp" = ( +/obj/effect/decal/cleanable/dirt, +/obj/structure/cable{ + icon_state = "4-8" + }, +/obj/structure/cable{ + icon_state = "1-4" + }, +/turf/open/floor/plasteel/patterned, +/area/ship/cargo) +"Kz" = ( +/obj/structure/cable{ + icon_state = "4-8" + }, +/obj/effect/turf_decal/industrial/traffic{ + dir = 1 + }, +/turf/open/floor/plasteel/patterned, +/area/ship/cargo) +"KB" = ( +/obj/effect/turf_decal/corner/opaque/yellow{ + dir = 6 + }, +/obj/effect/turf_decal/corner/opaque/yellow{ + dir = 8 + }, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ + dir = 4 + }, +/obj/effect/decal/cleanable/dirt/dust, +/turf/open/floor/plasteel/patterned/grid, +/area/ship/hallway/central) +"KC" = ( +/obj/structure/table, +/obj/item/folder{ + pixel_y = 4; + pixel_x = -3 + }, +/obj/item/folder/blue{ + pixel_x = 2 + }, +/obj/machinery/atmospherics/pipe/manifold/scrubbers/hidden/layer4, +/turf/open/floor/plasteel/dark, +/area/ship/crew/canteen) +"KD" = ( +/obj/machinery/iv_drip, +/turf/open/floor/plasteel/white, +/area/ship/medical) +"KH" = ( +/obj/structure/table, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ + dir = 4 + }, +/obj/effect/decal/cleanable/dirt/dust, +/turf/open/floor/plasteel/dark, +/area/ship/crew/canteen) +"KU" = ( +/obj/structure/cable{ + icon_state = "2-4" + }, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ + dir = 6 + }, +/obj/structure/cable{ + icon_state = "1-4" + }, +/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ + dir = 6 + }, +/turf/open/floor/plasteel/patterned, +/area/ship/cargo) +"KV" = ( +/obj/effect/turf_decal/corner/opaque/brown{ + dir = 4 + }, +/obj/effect/turf_decal/corner/opaque/yellow{ + dir = 1 + }, +/obj/structure/extinguisher_cabinet/directional/north, +/turf/open/floor/plasteel/dark, +/area/ship/crew/canteen) +"KW" = ( +/obj/effect/turf_decal/siding/thinplating{ + dir = 8 + }, +/obj/effect/turf_decal/trimline/opaque/yellow/line{ + dir = 8 + }, +/obj/item/kirbyplants/random, +/obj/machinery/light/directional/west, +/turf/open/floor/plasteel/patterned/grid, +/area/ship/hallway/central) +"KY" = ( +/obj/effect/turf_decal/spline/fancy/opaque/black{ + dir = 1 + }, +/obj/effect/turf_decal/spline/fancy/opaque/black, +/obj/effect/decal/cleanable/dirt/dust, +/obj/structure/cable{ + icon_state = "4-8" + }, +/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ + dir = 4 + }, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ + dir = 4 + }, +/turf/open/floor/plasteel/dark, +/area/ship/bridge) +"Lb" = ( +/obj/effect/turf_decal/siding/thinplating{ + dir = 1 + }, +/obj/effect/turf_decal/trimline/opaque/yellow/line{ + dir = 1 + }, +/obj/structure/sign/poster/contraband/hacking_guide{ + pixel_y = 32 + }, +/turf/open/floor/plasteel/patterned/grid, +/area/ship/hallway/central) +"Ls" = ( +/obj/effect/turf_decal/techfloor{ + dir = 4 + }, +/obj/structure/closet/crate/bin, +/turf/open/floor/plasteel/tech, +/area/ship/hallway/central) +"LH" = ( +/obj/machinery/light/floor, +/obj/structure/cable{ + icon_state = "4-8" + }, +/obj/effect/turf_decal/industrial/traffic{ + dir = 1 + }, +/turf/open/floor/plasteel/patterned, +/area/ship/cargo) +"LI" = ( +/turf/closed/wall/mineral/plastitanium/nodiagonal, +/area/ship/medical) +"LJ" = ( +/obj/machinery/computer/operating{ + dir = 8 + }, +/obj/machinery/airalarm/directional/east, +/obj/effect/turf_decal/borderfloorwhite, +/turf/open/floor/plasteel/white, +/area/ship/medical) +"LL" = ( +/obj/structure/rack, +/obj/item/pickaxe/emergency, +/obj/item/pickaxe/emergency, +/obj/item/pickaxe/emergency, +/obj/machinery/airalarm/directional/east, +/obj/machinery/light_switch{ + dir = 1; + pixel_y = -20 + }, +/turf/open/floor/plasteel/patterned/ridged, +/area/ship/cargo) +"LR" = ( +/obj/effect/turf_decal/corner/opaque/brown{ + dir = 8 + }, +/obj/effect/turf_decal/corner/opaque/yellow, +/obj/structure/cable{ + icon_state = "4-8" + }, +/obj/machinery/atmospherics/components/unary/vent_pump/on/layer2{ + dir = 4 + }, +/turf/open/floor/plasteel/dark, +/area/ship/security) +"Md" = ( +/obj/structure/cable{ + icon_state = "4-8" + }, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ + dir = 4 + }, +/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ + dir = 4 + }, +/turf/open/floor/plasteel/stairs{ + dir = 8 + }, +/area/ship/cargo) +"Mn" = ( +/obj/effect/turf_decal/industrial/traffic{ + dir = 8 + }, +/turf/open/floor/plasteel/patterned, +/area/ship/cargo) +"Mq" = ( +/obj/structure/table, +/turf/open/floor/carpet/black, +/area/ship/crew/dorm) +"Mt" = ( +/obj/structure/cable{ + icon_state = "1-4" + }, +/turf/open/floor/carpet/black, +/area/ship/crew/dorm) +"Mw" = ( +/obj/effect/turf_decal/industrial/warning{ + dir = 10 + }, +/obj/machinery/atmospherics/components/unary/outlet_injector/on{ + dir = 1; + piping_layer = 4 + }, +/turf/open/floor/plating/airless, +/area/ship/external/dark) +"ME" = ( +/obj/machinery/door/airlock/medical/glass{ + name = "Medical Office" + }, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4, +/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2, +/obj/machinery/door/firedoor/border_only{ + dir = 1 + }, +/obj/machinery/door/firedoor/border_only, +/obj/structure/cable{ + icon_state = "1-2" + }, +/turf/open/floor/plasteel/patterned, +/area/ship/crew/office) +"MK" = ( +/obj/machinery/power/shuttle/engine/electric{ + dir = 4 + }, +/obj/structure/cable/yellow{ + icon_state = "0-4" + }, +/turf/open/floor/plating/airless, +/area/ship/external/dark) +"MR" = ( +/obj/machinery/suit_storage_unit/inherit, +/obj/item/clothing/suit/space/inteq, +/obj/item/clothing/head/helmet/space/inteq, +/obj/structure/sign/poster/official/safety_internals{ + pixel_y = 32 + }, +/turf/open/floor/plasteel/patterned/ridged, +/area/ship/cargo) +"MS" = ( +/obj/structure/table, +/obj/item/paper_bin, +/obj/item/pen, +/obj/structure/window/reinforced, +/obj/structure/window/reinforced{ + dir = 4 + }, +/obj/machinery/door/firedoor/border_only{ + dir = 1 + }, +/obj/machinery/door/firedoor/border_only, +/obj/item/flashlight/lamp{ + pixel_y = 10; + pixel_x = -13 + }, +/turf/open/floor/plasteel/dark, +/area/ship/security) +"Nh" = ( +/turf/closed/wall/mineral/plastitanium, +/area/ship/cargo) +"Nn" = ( +/obj/structure/table/reinforced, +/obj/effect/decal/cleanable/cobweb, +/obj/effect/turf_decal/corner/opaque/yellow/border{ + dir = 1 + }, +/obj/item/reagent_containers/spray/cleaner{ + pixel_x = 6; + pixel_y = 8 + }, +/obj/item/reagent_containers/spray/cleaner{ + pixel_x = 8; + pixel_y = 2 + }, +/obj/item/soap{ + pixel_x = -6 + }, +/turf/open/floor/plasteel/tech/techmaint, +/area/ship/crew/canteen) +"Nu" = ( +/obj/structure/closet/secure_closet/wall{ + dir = 4; + pixel_x = -28; + req_access = list(19); + name = "honorable corpsman's locker" + }, +/obj/item/clothing/shoes/combat, +/obj/item/megaphone/command, +/obj/item/clothing/under/syndicate/inteq/corpsman, +/obj/item/clothing/under/syndicate/inteq/skirt/corpsman, +/obj/item/clothing/suit/armor/hos/inteq, +/obj/item/clothing/suit/hooded/wintercoat/security/inteq/alt, +/obj/item/storage/backpack/messenger/med, +/obj/item/clothing/head/beret/sec/brig_phys{ + icon_state = "beret_med"; + name = "honorable corpsman beret"; + desc = "A beret made out of white reinforced fabric with a lue cross emblazoned on it. Smells faintly of blood and gauze." + }, +/obj/item/clothing/glasses/hud/health/sunglasses, +/obj/item/storage/box/hypospray/CMO, +/obj/item/clothing/gloves/color/latex/nitrile, +/turf/open/floor/carpet/blue, +/area/ship/bridge) +"NA" = ( +/obj/effect/turf_decal/trimline/opaque/brown/filled/warning, +/obj/effect/turf_decal/siding/thinplating/dark, +/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ + dir = 5 + }, +/obj/effect/turf_decal/trimline/opaque/brown/line{ + dir = 1 + }, +/turf/open/floor/plasteel/dark, +/area/ship/medical) +"ND" = ( +/obj/effect/turf_decal/steeldecal/steel_decals_central6, +/obj/effect/turf_decal/spline/fancy/opaque/black{ + dir = 1 + }, +/obj/effect/turf_decal/spline/fancy/opaque/black, +/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ + dir = 4 + }, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ + dir = 4 + }, +/obj/structure/cable{ + icon_state = "4-8" + }, +/turf/open/floor/plasteel/dark, +/area/ship/bridge) +"NE" = ( +/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ + dir = 4 + }, +/obj/machinery/door/firedoor/border_only{ + dir = 8 + }, +/obj/machinery/door/firedoor/border_only{ + dir = 4 + }, +/obj/machinery/door/airlock/public/glass{ + dir = 8; + name = "Cargo Bay" + }, +/turf/open/floor/plasteel, +/area/ship/hallway/central) +"NG" = ( +/obj/effect/decal/cleanable/dirt/dust, +/obj/structure/cable{ + icon_state = "4-8" + }, +/turf/open/floor/plasteel/stairs/medium{ + dir = 8 + }, +/area/ship/cargo) +"NI" = ( +/obj/effect/turf_decal/siding/thinplating/dark{ + dir = 8 + }, +/obj/effect/turf_decal/siding/thinplating/dark/corner, +/obj/machinery/firealarm/directional/west, +/obj/effect/turf_decal/trimline/opaque/brown/line{ + dir = 1 + }, +/turf/open/floor/plasteel/dark, +/area/ship/medical) +"NM" = ( +/obj/structure/grille, +/obj/structure/window/plasma/reinforced/plastitanium, +/obj/machinery/door/poddoor/shutters{ + id = "valor_external" + }, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4, +/turf/open/floor/plating, +/area/ship/hallway/port) +"NT" = ( +/obj/structure/table, +/obj/item/storage/toolbox/electrical{ + pixel_x = -2; + pixel_y = 8 + }, +/obj/item/storage/toolbox/mechanical{ + pixel_x = 4; + pixel_y = 3 + }, +/obj/machinery/light/directional/south, +/obj/structure/sign/poster/contraband/tools{ + pixel_x = -32 + }, +/obj/effect/turf_decal/corner_techfloor_gray/full, +/turf/open/floor/plating, +/area/ship/maintenance/port) +"NZ" = ( +/obj/effect/turf_decal/siding/thinplating/dark, +/obj/structure/cable{ + icon_state = "1-8" + }, +/obj/machinery/atmospherics/pipe/manifold/supply/hidden/layer2, +/obj/machinery/atmospherics/pipe/manifold/scrubbers/hidden/layer4, +/obj/effect/turf_decal/trimline/opaque/brown/line, +/turf/open/floor/plasteel/dark, +/area/ship/medical) +"Od" = ( +/obj/effect/turf_decal/siding/thinplating{ + dir = 4 + }, +/obj/effect/turf_decal/trimline/opaque/yellow/line{ + dir = 4 + }, +/obj/structure/chair/sofa/right{ + dir = 8 + }, +/obj/structure/closet/emcloset/wall{ + dir = 8; + pixel_x = 28 + }, +/turf/open/floor/plasteel/patterned/grid, +/area/ship/hallway/central) +"Oh" = ( +/obj/structure/table/reinforced, +/obj/item/paper_bin{ + pixel_y = 6 + }, +/obj/item/pen{ + pixel_y = 6 + }, +/turf/open/floor/plasteel/dark, +/area/ship/crew/canteen) +"Oj" = ( +/obj/effect/turf_decal/borderfloor{ + dir = 8 + }, +/obj/structure/closet/emcloset/wall{ + pixel_y = 28 + }, +/turf/open/floor/plasteel/patterned, +/area/ship/cargo) +"Ok" = ( +/obj/machinery/atmospherics/components/unary/vent_pump/on/layer2{ + dir = 4 + }, +/obj/effect/decal/cleanable/dirt, +/turf/open/floor/plasteel/patterned, +/area/ship/cargo) +"OC" = ( +/obj/structure/bed, +/obj/structure/curtain, +/obj/machinery/light/directional/south, +/obj/item/bedsheet/medical, +/turf/open/floor/plasteel/white, +/area/ship/medical) +"OD" = ( +/obj/effect/turf_decal/corner/opaque/brown{ + dir = 4 + }, +/obj/effect/turf_decal/corner/opaque/yellow, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ + dir = 10 + }, +/turf/open/floor/plasteel/dark, +/area/ship/crew/canteen) +"OE" = ( +/obj/structure/table/reinforced, +/obj/item/radio/intercom/wideband/table{ + dir = 4; + pixel_x = 4; + pixel_y = 8 + }, +/obj/effect/turf_decal/corner/opaque/yellow, +/obj/effect/turf_decal/corner/opaque/brown{ + dir = 4 + }, +/obj/machinery/button/door{ + pixel_x = -9; + dir = 8; + pixel_y = 8; + name = "Bridge Shutters"; + id = "valor_bridge" + }, +/obj/machinery/button/door{ + pixel_x = -9; + dir = 8; + pixel_y = -4; + id = "valor_external"; + name = "External Shutters" + }, +/obj/item/radio/intercom/table{ + dir = 4; + pixel_x = 4; + pixel_y = -6 + }, +/turf/open/floor/plasteel/dark, +/area/ship/bridge) +"OK" = ( +/obj/machinery/iv_drip/saline, +/turf/open/floor/plasteel/patterned/ridged, +/area/ship/cargo) +"OM" = ( +/turf/open/floor/pod, +/area/ship/cargo) +"OR" = ( +/obj/structure/tank_dispenser/oxygen, +/turf/open/floor/plasteel/patterned/ridged, +/area/ship/cargo) +"OT" = ( +/obj/structure/catwalk/over/plated_catwalk, +/obj/structure/cable{ + icon_state = "4-8" + }, +/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ + dir = 4 + }, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ + dir = 4 + }, +/obj/machinery/airalarm/directional/north, +/turf/open/floor/plasteel/tech/grid, +/area/ship/cargo) +"OV" = ( +/obj/structure/catwalk/over/plated_catwalk/dark, +/obj/structure/cable{ + icon_state = "1-2" + }, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4, +/obj/machinery/light/small/directional/east, +/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2, +/turf/open/floor/plating, +/area/ship/medical) +"Pb" = ( +/obj/machinery/power/terminal{ + dir = 8 + }, +/obj/effect/turf_decal/corner_techfloor_gray{ + dir = 6 + }, +/obj/structure/cable{ + icon_state = "0-5" + }, +/turf/open/floor/plating, +/area/ship/maintenance/port) +"Pe" = ( +/obj/effect/turf_decal/trimline/opaque/brown/warning, +/obj/structure/cable{ + icon_state = "4-8" + }, +/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ + dir = 4 + }, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ + dir = 4 + }, +/obj/effect/turf_decal/siding/thinplating/dark/corner, +/obj/effect/turf_decal/siding/thinplating/dark/corner{ + dir = 8 + }, +/turf/open/floor/plasteel/dark, +/area/ship/medical) +"Pg" = ( +/obj/structure/sink{ + dir = 4; + pixel_x = -12 + }, +/turf/open/floor/plasteel/white, +/area/ship/medical) +"Pk" = ( +/obj/effect/turf_decal/corner/opaque/brown{ + dir = 4 + }, +/obj/effect/turf_decal/corner/opaque/yellow, +/obj/machinery/washing_machine, +/obj/machinery/light_switch{ + dir = 8; + pixel_x = 20 + }, +/turf/open/floor/plasteel/dark, +/area/ship/crew/dorm) +"PJ" = ( +/obj/structure/cable{ + icon_state = "4-8" + }, +/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ + dir = 4 + }, +/obj/machinery/light_switch{ + dir = 1; + pixel_y = -20 + }, +/turf/open/floor/plasteel/patterned, +/area/ship/crew/office) +"PL" = ( +/obj/effect/turf_decal/siding/thinplating/dark{ + dir = 1 + }, +/obj/effect/turf_decal/trimline/opaque/brown/line{ + dir = 1 + }, +/obj/machinery/light/directional/north, +/obj/machinery/atmospherics/components/unary/vent_pump/on/layer2, +/turf/open/floor/plasteel/dark, +/area/ship/medical) +"PU" = ( +/turf/closed/wall/mineral/plastitanium, +/area/ship/crew/cryo) +"Qc" = ( +/obj/effect/turf_decal/siding/thinplating{ + dir = 1 + }, +/obj/structure/noticeboard{ + pixel_y = 28 + }, +/obj/structure/cable{ + icon_state = "4-8" + }, +/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ + dir = 4 + }, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ + dir = 8 + }, +/turf/open/floor/plasteel/patterned/grid, +/area/ship/hallway/port) +"Qd" = ( +/obj/structure/catwalk/over/plated_catwalk, +/obj/structure/cable{ + icon_state = "1-4" + }, +/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ + dir = 5 + }, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ + dir = 5 + }, +/turf/open/floor/plasteel/tech/grid, +/area/ship/cargo) +"Qk" = ( +/obj/structure/table, +/obj/machinery/atmospherics/components/unary/vent_pump/on/layer2{ + dir = 8 + }, +/obj/effect/decal/cleanable/dirt/dust, +/obj/effect/spawner/lootdrop/donut, +/turf/open/floor/plasteel/dark, +/area/ship/crew/canteen) +"Qn" = ( +/obj/effect/turf_decal/siding/thinplating/dark, +/obj/structure/cable{ + icon_state = "4-8" + }, +/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ + dir = 4 + }, +/obj/machinery/atmospherics/pipe/manifold/scrubbers/hidden/layer4{ + dir = 1 + }, +/obj/effect/turf_decal/trimline/opaque/brown/line, +/turf/open/floor/plasteel/dark, +/area/ship/medical) +"Qo" = ( +/obj/structure/cable{ + icon_state = "4-8" + }, +/obj/machinery/atmospherics/components/unary/vent_pump/on/layer2{ + dir = 4 + }, +/obj/item/radio/intercom/directional/south, +/turf/open/floor/plasteel/patterned, +/area/ship/crew/office) +"Qw" = ( +/obj/effect/turf_decal/siding/thinplating{ + dir = 8 + }, +/obj/effect/turf_decal/trimline/opaque/yellow/line{ + dir = 8 + }, +/obj/structure/table, +/obj/machinery/light_switch{ + dir = 4; + pixel_x = -20; + pixel_y = 5 + }, +/turf/open/floor/plasteel/patterned/grid, +/area/ship/hallway/central) +"QE" = ( +/obj/structure/extinguisher_cabinet/directional/north, +/obj/structure/sign/warning/vacuum{ + pixel_x = 32 + }, +/turf/open/floor/plasteel/tech, +/area/ship/medical) +"QG" = ( +/obj/effect/turf_decal/siding/thinplating/corner{ + dir = 1 + }, +/obj/effect/turf_decal/siding/thinplating/corner{ + dir = 8 + }, +/obj/effect/turf_decal/trimline/opaque/yellow/warning{ + dir = 8 + }, +/turf/open/floor/plasteel/patterned/grid, +/area/ship/hallway/central) +"QO" = ( +/obj/effect/turf_decal/corner/opaque/yellow{ + dir = 1 + }, +/obj/effect/turf_decal/corner/opaque/brown{ + dir = 8 + }, +/obj/machinery/airalarm/directional/west, +/obj/structure/cable{ + icon_state = "1-2" + }, +/turf/open/floor/plasteel/dark, +/area/ship/crew/canteen) +"QQ" = ( +/obj/machinery/light/small/directional/south, +/turf/open/floor/plasteel/tech/techmaint, +/area/ship/crew/canteen) +"Rc" = ( +/obj/structure/catwalk/over/plated_catwalk, +/obj/structure/cable{ + icon_state = "2-8" + }, +/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ + dir = 10 + }, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ + dir = 10 + }, +/obj/structure/extinguisher_cabinet/directional/east, +/obj/structure/sign/warning/incident{ + pixel_y = 32 + }, +/turf/open/floor/plasteel/tech/grid, +/area/ship/cargo) +"Re" = ( +/obj/structure/closet/crate/freezer, +/obj/machinery/iv_drip, +/obj/item/reagent_containers/blood/universal, +/obj/item/reagent_containers/blood/universal, +/obj/item/reagent_containers/blood/universal, +/obj/machinery/light/small/directional/west, +/turf/open/floor/plasteel/patterned/ridged, +/area/ship/cargo) +"Rh" = ( +/turf/closed/wall/mineral/plastitanium, +/area/ship/security) +"Rj" = ( +/obj/structure/toilet/secret{ + secret_type = "/obj/item/toy/plush/moth"; + dir = 8 + }, +/turf/open/floor/plasteel/patterned/brushed, +/area/ship/crew/canteen) +"Rz" = ( +/obj/effect/turf_decal/box/corners{ + dir = 8 + }, +/obj/effect/turf_decal/box/corners{ + dir = 1 + }, +/obj/item/chair/plastic, +/obj/item/chair/plastic{ + pixel_y = 3; + pixel_x = -3 + }, +/obj/item/chair/plastic{ + pixel_y = 6; + pixel_x = 2 + }, +/obj/item/chair/plastic{ + pixel_y = 8; + pixel_x = -3 + }, +/obj/structure/rack, +/turf/open/floor/plasteel/patterned/cargo_one, +/area/ship/cargo) +"RA" = ( +/obj/item/storage/backpack/messenger/inteq, +/obj/item/storage/backpack/messenger/inteq, +/obj/item/storage/backpack/messenger/inteq, +/obj/item/clothing/head/beret/sec/inteq, +/obj/item/clothing/head/beret/sec/inteq, +/obj/item/clothing/head/beret/sec/inteq, +/obj/item/clothing/head/soft/inteq, +/obj/item/clothing/head/soft/inteq, +/obj/item/clothing/head/soft/inteq, +/obj/structure/closet/wall{ + pixel_y = 28 + }, +/obj/machinery/airalarm/directional/east, +/turf/open/floor/carpet/black, +/area/ship/crew/dorm) +"RF" = ( +/obj/machinery/atmospherics/components/unary/vent_scrubber/on/layer4{ + dir = 1 + }, +/turf/open/floor/plasteel/tech, +/area/ship/medical) +"RI" = ( +/obj/structure/rack, +/turf/open/floor/plasteel/patterned/cargo_one, +/area/ship/cargo) +"Sd" = ( +/obj/effect/turf_decal/siding/thinplating, +/obj/machinery/light/directional/south, +/turf/open/floor/plasteel/patterned/grid, +/area/ship/hallway/port) +"Sf" = ( +/obj/effect/turf_decal/trimline/opaque/yellow/filled/warning{ + dir = 8 + }, +/obj/effect/turf_decal/siding/thinplating/end{ + dir = 8 + }, +/obj/structure/cable{ + icon_state = "4-8" + }, +/turf/open/floor/plasteel/patterned/grid, +/area/ship/hallway/port) +"Sh" = ( +/obj/effect/turf_decal/borderfloor{ + dir = 4 + }, +/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2, +/turf/open/floor/plasteel/patterned, +/area/ship/cargo) +"Sl" = ( +/obj/structure/table/wood, +/obj/item/paper_bin, +/obj/item/pen, +/turf/open/floor/carpet/black, +/area/ship/crew/dorm) +"Sq" = ( +/obj/structure/cable{ + icon_state = "1-2" + }, +/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2, +/obj/machinery/atmospherics/pipe/manifold/scrubbers/hidden/layer4{ + dir = 8 + }, +/turf/open/floor/plasteel/patterned/grid, +/area/ship/hallway/central) +"Sv" = ( +/obj/structure/cable{ + icon_state = "4-8" + }, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ + dir = 10 + }, +/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ + dir = 4 + }, +/turf/open/floor/carpet/black, +/area/ship/crew/dorm) +"SX" = ( +/obj/machinery/power/terminal{ + dir = 1 + }, +/obj/structure/cable/yellow{ + icon_state = "0-2" + }, +/obj/effect/decal/cleanable/dirt/dust, +/turf/open/floor/plating, +/area/ship/maintenance/starboard) +"Td" = ( +/turf/template_noop, +/area/template_noop) +"Tu" = ( +/obj/structure/table, +/obj/item/reagent_containers/food/drinks/coffee{ + pixel_x = -7; + pixel_y = 6 + }, +/obj/item/reagent_containers/food/drinks/coffee{ + pixel_x = 6; + pixel_y = 3 + }, +/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ + dir = 5 + }, +/obj/effect/decal/cleanable/dirt/dust, +/turf/open/floor/plasteel/dark, +/area/ship/crew/canteen) +"Tw" = ( +/turf/closed/wall/mineral/plastitanium, +/area/ship/hallway/central) +"TC" = ( +/obj/structure/cable{ + icon_state = "4-8" + }, +/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ + dir = 10 + }, +/turf/open/floor/carpet/black, +/area/ship/crew/dorm) +"TL" = ( +/obj/effect/turf_decal/trimline/opaque/yellow/filled/warning{ + dir = 4 + }, +/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ + dir = 6 + }, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ + dir = 5 + }, +/obj/structure/cable{ + icon_state = "4-8" + }, +/turf/open/floor/plasteel/dark, +/area/ship/crew/canteen) +"TS" = ( +/obj/effect/turf_decal/corner/opaque/brown{ + dir = 8 + }, +/obj/effect/turf_decal/corner/opaque/yellow, +/obj/structure/table, +/obj/item/storage/box/cups{ + pixel_y = 7; + pixel_x = -3 + }, +/obj/machinery/light/directional/south, +/turf/open/floor/plasteel/dark, +/area/ship/crew/canteen) +"TW" = ( +/obj/structure/bed, +/obj/item/bedsheet/brown, +/obj/structure/curtain/bounty, +/turf/open/floor/carpet/black, +/area/ship/crew/dorm) +"Uf" = ( +/obj/machinery/power/terminal{ + dir = 8 + }, +/obj/machinery/light/directional/south, +/obj/effect/decal/cleanable/dirt/dust, +/obj/structure/cable{ + icon_state = "0-5" + }, +/turf/open/floor/plating, +/area/ship/maintenance/starboard) +"Ug" = ( +/obj/machinery/door/poddoor{ + dir = 4; + id = "valor_cargo" + }, +/obj/machinery/power/shieldwallgen/atmos{ + id = "valor_holo"; + anchored = 1 + }, +/obj/structure/cable{ + icon_state = "0-4" + }, +/turf/open/floor/plating, +/area/ship/cargo) +"Ui" = ( +/obj/effect/turf_decal/siding/thinplating/dark/corner{ + dir = 1 + }, +/obj/effect/turf_decal/siding/thinplating/dark/corner{ + dir = 4 + }, +/obj/effect/turf_decal/trimline/opaque/brown/warning{ + dir = 1 + }, +/obj/structure/cable{ + icon_state = "1-2" + }, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4, +/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2, +/turf/open/floor/plasteel/dark, +/area/ship/medical) +"Uj" = ( +/obj/effect/turf_decal/siding/thinplating/dark, +/obj/structure/cable{ + icon_state = "2-4" + }, +/obj/structure/cable{ + icon_state = "4-8" + }, +/obj/machinery/atmospherics/pipe/manifold/supply/hidden/layer2{ + dir = 1 + }, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ + dir = 4 + }, +/obj/effect/turf_decal/trimline/opaque/brown/line, +/turf/open/floor/plasteel/dark, +/area/ship/medical) +"Um" = ( +/turf/closed/wall/mineral/plastitanium/nodiagonal, +/area/ship/crew/dorm) +"Us" = ( +/obj/machinery/atmospherics/pipe/manifold/supply/hidden/layer2{ + dir = 1 + }, +/turf/open/floor/plasteel/dark, +/area/ship/crew/canteen) +"Uv" = ( +/obj/docking_port/stationary{ + height = 15; + width = 15; + name = "valor dock"; + dwidth = 15; + dir = 8 + }, +/turf/template_noop, +/area/template_noop) +"Uz" = ( +/obj/machinery/power/smes/engineering{ + charge = 1e+006 + }, +/obj/effect/turf_decal/borderfloorblack/full, +/obj/structure/cable{ + icon_state = "0-8" + }, +/obj/effect/decal/cleanable/dirt/dust, +/obj/machinery/light_switch{ + dir = 8; + pixel_x = 20 + }, +/turf/open/floor/plating, +/area/ship/maintenance/starboard) +"UC" = ( +/obj/structure/chair{ + dir = 1 + }, +/obj/effect/decal/cleanable/dirt/dust, +/obj/structure/cable{ + icon_state = "4-8" + }, +/turf/open/floor/plasteel/dark, +/area/ship/crew/canteen) +"UN" = ( +/obj/effect/turf_decal/siding/thinplating, +/obj/machinery/atmospherics/components/unary/vent_pump/on/layer2{ + dir = 1 + }, +/obj/machinery/light/directional/south, +/turf/open/floor/plasteel/patterned/grid, +/area/ship/hallway/port) +"UO" = ( +/obj/effect/landmark/subship{ + subship_template = /datum/map_template/shuttle/subshuttles/haste + }, +/turf/open/floor/pod, +/area/ship/cargo) +"UQ" = ( +/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ + dir = 4 + }, +/turf/open/floor/plasteel/patterned, +/area/ship/cargo) +"Ve" = ( +/turf/open/floor/plasteel/tech, +/area/ship/medical) +"Vp" = ( +/obj/effect/turf_decal/corner/opaque/yellow{ + dir = 1 + }, +/obj/effect/turf_decal/corner/opaque/brown{ + dir = 4 + }, +/obj/effect/turf_decal/corner/opaque/yellow, +/obj/structure/rack, +/obj/machinery/atmospherics/components/unary/vent_scrubber/on/layer4, +/obj/item/ammo_box/c9mm/rubbershot{ + pixel_x = 5; + pixel_y = 10 + }, +/obj/item/ammo_box/c9mm{ + pixel_x = -2; + pixel_y = 2 + }, +/obj/machinery/light/small/directional/north, +/obj/structure/sign/poster/official/safety_report{ + pixel_x = 32 + }, +/turf/open/floor/plasteel/dark, +/area/ship/security) +"Vy" = ( +/obj/effect/turf_decal/techfloor{ + dir = 4 + }, +/obj/structure/closet/firecloset, +/turf/open/floor/plasteel/tech, +/area/ship/hallway/central) +"VB" = ( +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ + dir = 6 + }, +/obj/effect/decal/cleanable/dirt/dust, +/turf/open/floor/plasteel/dark, +/area/ship/crew/canteen) +"VD" = ( +/obj/structure/cable{ + icon_state = "4-8" + }, +/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ + dir = 4 + }, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ + dir = 8 + }, +/obj/machinery/door/firedoor/border_only{ + dir = 4 + }, +/obj/machinery/door/firedoor/border_only{ + dir = 8 + }, +/obj/machinery/door/airlock/grunge{ + dir = 4; + name = "Port Hallway" + }, +/turf/open/floor/plasteel/dark, +/area/ship/crew/dorm) +"VT" = ( +/obj/structure/closet/emcloset/empty{ + anchored = 1; + can_be_unanchored = 1; + name = "oxygen closet" + }, +/obj/item/tank/internals/oxygen, +/obj/item/tank/internals/oxygen, +/obj/item/tank/internals/oxygen, +/obj/item/tank/internals/oxygen, +/obj/item/tank/internals/oxygen, +/obj/item/tank/internals/plasmaman/full, +/obj/item/tank/internals/plasmaman/full, +/obj/effect/turf_decal/techfloor, +/turf/open/floor/plasteel/tech/grid, +/area/ship/medical) +"VY" = ( +/obj/machinery/power/terminal{ + dir = 8 + }, +/obj/effect/turf_decal/corner_techfloor_gray{ + dir = 4 + }, +/obj/structure/cable{ + icon_state = "0-5" + }, +/turf/open/floor/plating, +/area/ship/maintenance/starboard) +"Wb" = ( +/obj/effect/turf_decal/corner/opaque/yellow{ + dir = 9 + }, +/obj/effect/turf_decal/corner/opaque/yellow, +/obj/structure/cable{ + icon_state = "1-2" + }, +/obj/machinery/atmospherics/pipe/manifold/scrubbers/hidden/layer4{ + dir = 8 + }, +/obj/effect/decal/cleanable/dirt/dust, +/obj/machinery/atmospherics/pipe/manifold/supply/hidden/layer2{ + dir = 4 + }, +/turf/open/floor/plasteel/patterned/grid, +/area/ship/hallway/central) +"Wd" = ( +/obj/structure/table, +/obj/item/paper_bin, +/obj/item/folder/white{ + pixel_x = -15; + pixel_y = -1 + }, +/obj/item/pen, +/obj/structure/window/reinforced, +/obj/structure/window/reinforced{ + dir = 4 + }, +/obj/item/toy/figure/paramedic{ + pixel_x = -13; + pixel_y = 14; + name = "Corpsman action figure" + }, +/obj/machinery/door/firedoor/border_only, +/obj/machinery/door/firedoor/border_only{ + dir = 1 + }, +/turf/open/floor/plasteel/patterned, +/area/ship/crew/office) +"Wp" = ( +/obj/machinery/door/airlock/hatch{ + name = "Port Hallway" + }, +/obj/structure/cable{ + icon_state = "1-2" + }, +/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4, +/obj/machinery/door/firedoor/border_only, +/obj/machinery/door/firedoor/border_only{ + dir = 1 + }, +/obj/effect/turf_decal/borderfloorblack, +/turf/open/floor/plasteel/patterned/grid, +/area/ship/hallway/port) +"Wv" = ( +/obj/structure/cable{ + icon_state = "2-8" + }, +/obj/effect/decal/cleanable/dirt/dust, +/obj/structure/cable{ + icon_state = "2-9" + }, +/obj/structure/cable{ + icon_state = "2-10" + }, +/turf/open/floor/plating, +/area/ship/maintenance/port) +"WC" = ( +/obj/structure/grille, +/obj/structure/window/plasma/reinforced/plastitanium, +/obj/machinery/door/poddoor/shutters{ + id = "valor_external" + }, +/turf/open/floor/plating, +/area/ship/medical) +"WO" = ( +/obj/effect/turf_decal/siding/thinplating/dark{ + dir = 9 + }, +/obj/effect/turf_decal/trimline/opaque/brown/line{ + dir = 9 + }, +/obj/machinery/atmospherics/components/unary/vent_scrubber/on/layer4, +/obj/machinery/firealarm/directional/west, +/turf/open/floor/plasteel/dark, +/area/ship/medical) +"WQ" = ( +/obj/structure/cable/yellow{ + icon_state = "0-2" + }, +/obj/machinery/airalarm/directional/east, +/obj/machinery/power/port_gen/pacman/super, +/obj/item/stack/sheet/mineral/uranium/twenty, +/turf/open/floor/plating, +/area/ship/maintenance/port) +"WX" = ( +/obj/effect/turf_decal/siding/thinplating, +/obj/effect/turf_decal/trimline/opaque/yellow/line, +/turf/open/floor/plasteel/patterned/grid, +/area/ship/hallway/central) +"Xf" = ( +/obj/effect/decal/cleanable/dirt, +/obj/structure/cable{ + icon_state = "4-8" + }, +/turf/open/floor/plasteel/patterned, +/area/ship/cargo) +"Xg" = ( +/obj/effect/turf_decal/siding/thinplating/dark{ + dir = 1 + }, +/obj/machinery/vending/medical/syndicate_access{ + name = "\improper InteqMed Plus" + }, +/obj/machinery/light/directional/north, +/turf/open/floor/plasteel/mono/dark, +/area/ship/medical) +"Xi" = ( +/obj/structure/chair{ + dir = 1 + }, +/obj/effect/decal/cleanable/dirt/dust, +/turf/open/floor/plasteel/dark, +/area/ship/crew/canteen) +"Xn" = ( +/obj/machinery/atmospherics/components/unary/vent_pump/on/layer2{ + dir = 1 + }, +/turf/open/floor/carpet/black, +/area/ship/crew/dorm) +"Xq" = ( +/obj/machinery/light_switch{ + dir = 4; + pixel_x = -20; + pixel_y = 5 + }, +/turf/open/floor/carpet/black, +/area/ship/crew/dorm) +"Xu" = ( +/obj/machinery/suit_storage_unit/inherit, +/obj/item/clothing/suit/space/inteq, +/obj/item/clothing/head/helmet/space/inteq, +/obj/effect/turf_decal/techfloor{ + dir = 1 + }, +/obj/machinery/light/small/directional/north, +/turf/open/floor/plasteel/tech/grid, +/area/ship/medical) +"Xw" = ( +/obj/effect/turf_decal/trimline/opaque/brown/filled/warning, +/obj/effect/turf_decal/siding/thinplating/dark, +/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ + dir = 4 + }, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ + dir = 5 + }, +/obj/effect/turf_decal/trimline/opaque/brown/arrow_ccw{ + dir = 1 + }, +/turf/open/floor/plasteel/dark, +/area/ship/medical) +"Xx" = ( +/obj/structure/closet/secure_closet/medical1, +/obj/machinery/light/small/directional/north, +/turf/open/floor/plasteel/patterned, +/area/ship/crew/office) +"XD" = ( +/obj/effect/turf_decal/siding/thinplating/dark/corner{ + dir = 1 + }, +/obj/effect/turf_decal/siding/thinplating/dark/corner{ + dir = 4 + }, +/obj/structure/cable{ + icon_state = "1-2" + }, +/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4, +/turf/open/floor/plasteel/dark, +/area/ship/medical) +"XR" = ( +/obj/effect/turf_decal/siding/thinplating/corner{ + dir = 1 + }, +/obj/effect/turf_decal/siding/thinplating/corner{ + dir = 4 + }, +/obj/structure/cable{ + icon_state = "1-8" + }, +/obj/structure/cable{ + icon_state = "4-8" + }, +/obj/machinery/atmospherics/pipe/manifold/supply/hidden/layer2{ + dir = 8 + }, +/obj/effect/decal/cleanable/dirt/dust, +/obj/machinery/atmospherics/pipe/manifold/scrubbers/hidden/layer4, +/turf/open/floor/plasteel/patterned/grid, +/area/ship/hallway/port) +"XT" = ( +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ + dir = 4 + }, +/obj/machinery/door/firedoor/border_only{ + dir = 4 + }, +/obj/machinery/door/firedoor/border_only{ + dir = 8 + }, +/obj/machinery/door/airlock/public/glass{ + dir = 8; + name = "Canteen" + }, +/turf/open/floor/plasteel/patterned/grid, +/area/ship/crew/canteen) +"XU" = ( +/obj/effect/turf_decal/borderfloor{ + dir = 8 + }, +/turf/open/floor/plasteel/patterned, +/area/ship/cargo) +"Yd" = ( +/obj/effect/turf_decal/siding/thinplating{ + dir = 4 + }, +/obj/effect/turf_decal/trimline/opaque/yellow/line{ + dir = 4 + }, +/obj/machinery/vending/cola/random, +/obj/effect/decal/cleanable/dirt/dust, +/obj/machinery/light/directional/east, +/turf/open/floor/plasteel/patterned/grid, +/area/ship/hallway/central) +"Ye" = ( +/obj/effect/turf_decal/siding/thinplating/dark, +/obj/structure/cable{ + icon_state = "4-8" + }, +/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ + dir = 4 + }, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ + dir = 4 + }, +/obj/effect/turf_decal/trimline/opaque/brown/line, +/turf/open/floor/plasteel/dark, +/area/ship/medical) +"Yi" = ( +/turf/open/floor/plasteel/white, +/area/ship/medical) +"Yn" = ( +/obj/machinery/door/airlock/grunge{ + dir = 8; + name = "Restroom" + }, +/turf/open/floor/plasteel/patterned/brushed, +/area/ship/crew/canteen) +"Yt" = ( +/obj/effect/turf_decal/borderfloor{ + dir = 4 + }, +/turf/open/floor/plasteel/patterned, +/area/ship/cargo) +"Yu" = ( +/obj/effect/turf_decal/techfloor, +/obj/structure/closet/firecloset, +/obj/machinery/advanced_airlock_controller{ + pixel_x = 28 + }, +/obj/structure/sign/poster/official/safety_internals{ + pixel_y = -32 + }, +/turf/open/floor/plasteel/tech/grid, +/area/ship/medical) +"Yx" = ( +/obj/machinery/rnd/production/techfab/department/medical, +/turf/open/floor/plasteel/patterned/ridged, +/area/ship/cargo) +"YF" = ( +/obj/machinery/power/terminal{ + dir = 8 + }, +/obj/effect/decal/cleanable/dirt/dust, +/obj/effect/turf_decal/corner_techfloor_gray/diagonal, +/obj/structure/cable{ + icon_state = "0-4" + }, +/turf/open/floor/plating, +/area/ship/maintenance/starboard) +"YL" = ( +/obj/structure/grille, +/obj/structure/window/plasma/reinforced/plastitanium, +/obj/machinery/door/poddoor/shutters{ + dir = 4; + id = "valor_external" + }, +/turf/open/floor/plating, +/area/ship/hallway/central) +"YM" = ( +/obj/effect/turf_decal/corner/opaque/yellow{ + dir = 1 + }, +/obj/effect/turf_decal/corner/opaque/brown{ + dir = 4 + }, +/obj/structure/table, +/turf/open/floor/plasteel/dark, +/area/ship/crew/dorm) +"YR" = ( +/obj/item/clothing/under/syndicate/inteq, +/obj/item/clothing/under/syndicate/inteq, +/obj/item/clothing/under/syndicate/inteq, +/obj/item/clothing/under/syndicate/inteq/skirt, +/obj/item/clothing/under/syndicate/inteq/skirt, +/obj/item/clothing/under/syndicate/inteq/skirt, +/obj/item/clothing/shoes/sneakers/black, +/obj/item/clothing/shoes/sneakers/black, +/obj/item/clothing/shoes/sneakers/black, +/obj/item/clothing/shoes/combat, +/obj/item/clothing/shoes/combat, +/obj/item/clothing/shoes/combat, +/obj/structure/closet/wall{ + pixel_y = 28 + }, +/turf/open/floor/carpet/black, +/area/ship/crew/dorm) +"YZ" = ( +/obj/structure/cable{ + icon_state = "4-8" + }, +/obj/machinery/door/airlock/maintenance_hatch{ + dir = 4; + name = "Port Engines" + }, +/turf/open/floor/plating, +/area/ship/maintenance/port) +"Zd" = ( +/obj/machinery/power/smes/shuttle/precharged{ + dir = 4 + }, +/obj/structure/window/reinforced{ + dir = 8 + }, +/obj/machinery/door/window/eastleft{ + name = "Engine Access" + }, +/obj/structure/cable/yellow{ + icon_state = "0-8" + }, +/turf/open/floor/plating, +/area/ship/maintenance/port) +"Zf" = ( +/obj/structure/railing{ + dir = 4; + layer = 2.9 + }, +/obj/effect/turf_decal/borderfloor{ + dir = 4 + }, +/turf/open/floor/plasteel/patterned, +/area/ship/cargo) +"Zr" = ( +/obj/structure/rack, +/obj/item/roller, +/obj/item/roller{ + pixel_y = 8; + pixel_x = -1 + }, +/obj/item/roller{ + pixel_y = 16; + pixel_x = 1 + }, +/turf/open/floor/plasteel/patterned/ridged, +/area/ship/cargo) +"Zu" = ( +/turf/closed/wall/mineral/plastitanium/nodiagonal, +/area/ship/security) +"ZF" = ( +/turf/open/floor/plasteel/patterned, +/area/ship/cargo) +"ZG" = ( +/obj/machinery/power/smes/engineering{ + charge = 1e+006 + }, +/obj/effect/turf_decal/borderfloorblack/full, +/obj/effect/decal/cleanable/dirt/dust, +/obj/structure/cable{ + icon_state = "0-2" + }, +/obj/machinery/light_switch{ + dir = 8; + pixel_x = 20 + }, +/turf/open/floor/plating, +/area/ship/maintenance/port) +"ZZ" = ( +/obj/structure/cable{ + icon_state = "4-8" + }, +/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ + dir = 4 + }, +/turf/open/floor/carpet/black, +/area/ship/crew/dorm) + +(1,1,1) = {" +xU +MK +MK +MK +zh +Td +Td +Td +Td +Td +Td +Td +Td +Td +Td +Uv +Td +Td +Td +Td +Td +Td +Td +Td +Td +Td +ey +MK +MK +MK +ey +"} +(2,1,1) = {" +cu +Zd +gm +Zd +cu +zh +Td +Td +Td +Td +Td +gi +nc +nc +nc +nc +nc +nc +nc +dG +Td +Td +Td +Td +Td +ey +AD +Af +nd +Af +AD +"} +(3,1,1) = {" +cu +pL +wS +Pb +NT +cu +Td +Td +Td +Td +Td +Nh +Ug +JC +JC +JC +JC +JC +ml +Nh +Td +Td +Td +Td +Td +AD +GA +VY +YF +Uf +AD +"} +(4,1,1) = {" +cu +rX +Wv +wc +eV +cu +Td +Td +Td +Td +Nh +xj +qG +iI +Cb +Cb +Cb +Cb +xz +xj +Nh +Td +Td +Td +Td +AD +pU +ei +HA +lD +AD +"} +(5,1,1) = {" +cu +WQ +Dl +ZG +ar +cu +Td +Td +Td +Td +xj +og +FI +qe +OM +OM +OM +UO +LH +Rz +xj +Td +Td +Td +Td +AD +Dj +Uz +SX +Dw +AD +"} +(6,1,1) = {" +cu +cu +cu +cu +YZ +cu +Td +Td +Td +Td +xj +rL +uS +qe +OM +OM +OM +OM +Kz +RI +xj +Td +Td +Td +Td +AD +ko +AD +AD +AD +AD +"} +(7,1,1) = {" +Zu +sy +BL +Zu +Sf +HC +qL +Td +Td +Td +xj +sZ +uS +qe +OM +OM +OM +OM +Kz +kL +xj +Td +Td +Td +bB +LI +ns +qR +pC +zD +LI +"} +(8,1,1) = {" +Zu +ew +yN +yT +DA +gb +vX +Td +Td +Td +xj +GF +uS +qe +OM +OM +OM +OM +Kz +rL +xj +Td +Td +Td +WC +WO +gp +qR +Yi +bI +LI +"} +(9,1,1) = {" +Zu +kK +LR +MS +FZ +hl +NM +Mw +Td +Td +xj +Ch +FI +qe +OM +OM +OM +OM +vy +fG +xj +Td +Td +Td +WC +dA +Pe +si +hW +AE +LI +"} +(10,1,1) = {" +Zu +Vp +rY +CT +XR +UN +HC +DU +DU +DU +HC +Zf +oz +qe +OM +OM +OM +OM +Kz +ZF +LI +jL +jL +jL +LI +PL +bJ +LI +LI +LI +LI +"} +(11,1,1) = {" +Zu +Rh +Rh +Zu +uB +ua +Wp +CC +ky +CC +DR +Qd +FY +kH +Mn +Ea +jG +Mn +de +KU +zI +yK +OV +yK +aW +Ui +gU +nK +Pg +eU +LI +"} +(12,1,1) = {" +tZ +BC +jN +lN +gh +zs +HC +HC +HC +HC +HC +OT +JS +jj +qt +Kp +Kn +dQ +Fa +Ft +LI +LI +LI +LI +LI +su +rO +qR +Yi +bI +LI +"} +(13,1,1) = {" +tZ +Xx +Gm +Wd +Hg +tS +HC +MR +vh +fN +xj +tj +te +fe +Ok +Xf +as +HL +ec +xg +xj +Zr +Re +OK +LI +EE +oy +qR +CF +LJ +LI +"} +(14,1,1) = {" +tZ +mG +Qo +tZ +An +Sd +HC +Oj +XU +XU +xj +cI +Jd +qA +UQ +hm +Cc +JJ +zT +Md +xj +XU +XU +cE +LI +LI +dN +LI +LI +LI +LI +"} +(15,1,1) = {" +tZ +fO +PJ +tZ +Qc +AP +HC +bx +ss +Sh +Hw +ux +ct +nx +AM +NG +dO +yy +bh +nX +zK +Yt +Yt +IL +LI +zS +pt +vn +DG +lv +LI +"} +(16,1,1) = {" +tZ +bv +wL +ME +iN +xl +HC +OR +gq +LL +Nh +Rc +bF +Hi +aU +bN +tH +Ff +jQ +qX +xj +Yx +Io +mt +LI +vI +Ye +mw +mw +HB +LI +"} +(17,1,1) = {" +oO +tZ +tZ +tZ +VD +Um +DT +DT +DT +DT +DT +DT +DT +DT +NE +DT +nz +DT +Tw +Tw +DT +DT +DT +DT +DT +Xg +Uj +dl +Jn +LI +bB +"} +(18,1,1) = {" +Td +Um +Ie +EK +ty +dp +DT +Vy +qk +Ls +DT +fE +sJ +xH +EJ +KW +QG +zG +Qw +jU +DT +kW +qk +Vy +DT +fj +Qn +RF +Ve +WC +Td +"} +(19,1,1) = {" +Td +rc +YM +mB +ma +CH +jk +lc +lc +lc +ht +jw +GR +jp +Wb +pj +pz +Sq +GR +hj +id +lc +lc +lc +bR +XD +NZ +wI +wI +WC +Td +"} +(20,1,1) = {" +Td +rc +aa +mI +gn +qZ +DT +kG +kG +kG +Tw +Lb +lE +wj +KB +ix +Ed +zO +lE +WX +DT +jT +kG +kG +DT +zA +mx +gl +sc +LI +Td +"} +(21,1,1) = {" +Td +Um +nU +uA +Pk +Ei +DT +YL +YL +BV +DT +mZ +Yd +hN +AH +se +uo +Ik +Od +ie +DT +YL +YL +YL +DT +LI +zE +LI +LI +LI +Td +"} +(22,1,1) = {" +Td +Um +Um +du +Um +Um +Um +Td +Td +Td +HK +HK +ka +ka +XT +HK +pa +HK +HK +HK +HK +Td +Td +Td +LI +AV +ap +NI +Dx +LI +Td +"} +(23,1,1) = {" +Td +Um +ln +aC +Xq +Bc +Um +Td +Td +Td +HK +dM +Cr +wA +vi +iQ +pO +cj +QO +lI +HK +Td +Td +Td +LI +xJ +xp +IB +xs +LI +Td +"} +(24,1,1) = {" +Td +rc +eZ +Sv +yu +om +rc +Ct +Td +Td +HK +Jh +Av +VB +KC +zL +Us +Tu +ET +Go +HK +Td +Td +Ct +WC +eN +cW +Fs +eN +WC +Td +"} +(25,1,1) = {" +Td +rc +Sl +ZZ +hS +TW +rc +Ct +Ct +Td +HK +IM +Oh +Bh +FJ +zL +EL +Qk +Xi +dk +HK +Td +Ct +Ct +WC +KD +wt +NA +KD +WC +Td +"} +(26,1,1) = {" +Td +Um +YR +TC +Xn +Mq +rc +Ct +Ct +Ct +HK +ah +mj +IN +nB +gt +oL +IN +wV +yb +HK +Ct +Ct +Ct +LI +EM +IA +Xw +OC +LI +Td +"} +(27,1,1) = {" +Td +Um +RA +mH +Mt +FF +Um +Td +Ct +Ct +HK +KV +mz +IN +KH +FH +El +un +Xi +Km +HK +Ct +Ct +Td +LI +pd +xI +sz +vx +LI +Td +"} +(28,1,1) = {" +Td +PU +EY +EY +Ki +EY +EY +Td +Td +Ct +HK +Jh +Av +Av +Jz +UC +EL +IQ +ET +TS +HK +Ct +Td +Td +LI +QE +mp +xy +LI +bB +Td +"} +(29,1,1) = {" +Td +Td +EY +pA +tz +hw +EY +Td +Td +Td +HK +Gd +cZ +xb +OD +TL +EA +xb +Jt +Gd +HK +Td +Td +Td +LI +LI +DL +LI +LI +Td +Td +"} +(30,1,1) = {" +Td +Td +EY +wD +Dm +vK +EY +Td +Td +ka +HK +dI +nk +nk +nk +em +nk +nk +nk +Yn +HK +HK +Td +Td +LI +Xu +qW +VT +LI +Td +Td +"} +(31,1,1) = {" +Td +Td +EY +HN +jR +fa +EY +Td +Td +HK +Nn +ni +nk +AG +ze +ND +Nu +kv +nk +nZ +HQ +HK +Td +Td +LI +oC +md +Yu +LI +Td +Td +"} +(32,1,1) = {" +Td +Td +PU +EY +EY +EY +PU +Td +Td +HK +AO +QQ +nk +bS +Am +KY +Kh +fQ +nk +wa +Rj +HK +Td +Td +bB +LI +gZ +LI +bB +Td +Td +"} +(33,1,1) = {" +Td +Td +Td +Td +Td +Td +Td +Td +Td +ka +HK +tk +nk +lW +HT +ej +CV +zr +nk +qQ +HK +ka +Td +Td +Td +Td +Td +Td +Td +Td +Td +"} +(34,1,1) = {" +Td +Td +Td +Td +Td +Td +Td +Td +Td +Td +ka +HK +nk +sM +Ab +DD +eM +Ko +nk +HK +ka +Td +Td +Td +Td +Td +Td +Td +Td +Td +Td +"} +(35,1,1) = {" +Td +Td +Td +Td +Td +Td +Td +Td +Td +Td +Td +Td +jS +nk +zi +OE +fK +nk +jS +Td +Td +Td +Td +Td +Td +Td +Td +Td +Td +Td +Td +"} +(36,1,1) = {" +Td +Td +Td +Td +Td +Td +Td +Td +Td +Td +Td +Td +Td +nk +HE +HE +HE +nk +Td +Td +Td +Td +Td +Td +Td +Td +Td +Td +Td +Td +Td +"} diff --git a/_maps/shuttles/minutemen/minutemen_asclepius.dmm b/_maps/shuttles/minutemen/minutemen_asclepius.dmm index b2d763063f39..a3ac29a8791f 100644 --- a/_maps/shuttles/minutemen/minutemen_asclepius.dmm +++ b/_maps/shuttles/minutemen/minutemen_asclepius.dmm @@ -4064,7 +4064,7 @@ /obj/item/clothing/head/helmet/bulletproof/minutemen, /obj/item/clothing/glasses/hud/security/sunglasses/eyepatch, /obj/item/storage/belt/security, -/obj/item/gun/ballistic/automatic/pistol/m1911, +/obj/item/gun/ballistic/automatic/pistol/candor, /obj/item/ammo_box/magazine/m45/rubber, /obj/item/ammo_box/magazine/m45/rubber{ pixel_x = 3 @@ -4436,13 +4436,13 @@ /obj/item/clothing/gloves/color/latex/nitrile, /obj/item/healthanalyzer/advanced, /obj/item/clothing/neck/cloak/cmo, -/obj/item/gun/ballistic/revolver/nagant, -/obj/item/ammo_box/n762_clip, -/obj/item/ammo_box/n762_clip, +/obj/item/gun/ballistic/revolver/shadow, +/obj/item/ammo_box/c45_speedloader, +/obj/item/ammo_box/c45_speedloader, /obj/item/clothing/suit/armor/vest/capcarapace/minutemen, /obj/item/reagent_containers/hypospray/CMO, -/obj/item/ammo_box/n762, -/obj/item/ammo_box/n762, +/obj/item/ammo_box/c45_speedloader, +/obj/item/ammo_box/c45_speedloader, /turf/open/floor/carpet/royalblue, /area/ship/bridge) "NY" = ( diff --git a/_maps/shuttles/minutemen/minutemen_cepheus.dmm b/_maps/shuttles/minutemen/minutemen_cepheus.dmm index 9686aff53035..90ba560d9b02 100644 --- a/_maps/shuttles/minutemen/minutemen_cepheus.dmm +++ b/_maps/shuttles/minutemen/minutemen_cepheus.dmm @@ -431,8 +431,8 @@ /obj/item/clothing/glasses/hud/security/sunglasses/eyepatch, /obj/item/clothing/shoes/cowboy/white, /obj/item/storage/belt/sabre, -/obj/item/gun/ballistic/revolver/nagant, -/obj/item/ammo_box/n762_clip, +/obj/item/gun/ballistic/revolver/shadow, +/obj/item/ammo_box/c45_speedloader, /obj/item/clothing/suit/armor/vest/capcarapace/minutemen, /turf/open/floor/plasteel/telecomms_floor, /area/ship/bridge) @@ -1911,21 +1911,21 @@ dir = 4; layer = 4.1 }, -/obj/item/gun/ballistic/automatic/pistol/m1911{ +/obj/item/gun/ballistic/automatic/pistol/candor{ pixel_y = 3 }, -/obj/item/gun/ballistic/automatic/pistol/m1911{ +/obj/item/gun/ballistic/automatic/pistol/candor{ pixel_y = 3 }, /obj/machinery/light/directional/west, /obj/machinery/atmospherics/components/unary/vent_pump/on/layer2, -/obj/item/gun/ballistic/automatic/pistol/m1911{ +/obj/item/gun/ballistic/automatic/pistol/candor{ pixel_y = 3 }, /obj/structure/sign/poster/contraband/twelve_gauge{ pixel_y = 32 }, -/obj/item/gun/ballistic/shotgun/riot, +/obj/item/gun/ballistic/shotgun/hellfire, /turf/open/floor/plasteel/tech, /area/ship/security) "tX" = ( @@ -4108,15 +4108,9 @@ /obj/item/ammo_box/magazine/m45{ pixel_x = 6 }, -/obj/item/storage/box/rubbershot{ - pixel_x = 3; - pixel_y = -3 - }, +/obj/item/ammo_box/a12g/rubbershot, /obj/item/ammo_box/magazine/cm15_mag, -/obj/item/storage/box/rubbershot{ - pixel_x = 3; - pixel_y = -3 - }, +/obj/item/ammo_box/a12g/rubbershot, /turf/open/floor/plasteel/tech/grid, /area/ship/security) "RN" = ( diff --git a/_maps/shuttles/minutemen/minutemen_corvus.dmm b/_maps/shuttles/minutemen/minutemen_corvus.dmm index 36e4581f8dcd..a82b0630b66a 100644 --- a/_maps/shuttles/minutemen/minutemen_corvus.dmm +++ b/_maps/shuttles/minutemen/minutemen_corvus.dmm @@ -69,11 +69,11 @@ dir = 4 }, /obj/structure/extinguisher_cabinet/directional/north, -/obj/item/gun/ballistic/automatic/pistol/m1911{ +/obj/item/gun/ballistic/automatic/pistol/candor{ pixel_x = 2; pixel_y = 5 }, -/obj/item/gun/ballistic/automatic/pistol/m1911, +/obj/item/gun/ballistic/automatic/pistol/candor, /obj/item/flamethrower/full/tank, /obj/item/gun/ballistic/automatic/smg/cm5, /turf/open/floor/plasteel/dark, diff --git a/_maps/shuttles/minutemen/minutemen_vela.dmm b/_maps/shuttles/minutemen/minutemen_vela.dmm index ab5b6c7e8a1f..ab113e52e2c5 100644 --- a/_maps/shuttles/minutemen/minutemen_vela.dmm +++ b/_maps/shuttles/minutemen/minutemen_vela.dmm @@ -562,7 +562,7 @@ /obj/item/clothing/suit/toggle/lawyer/minutemen, /obj/item/clothing/shoes/combat, /obj/item/clothing/glasses/sunglasses, -/obj/item/gun/ballistic/automatic/pistol/m1911, +/obj/item/gun/ballistic/automatic/pistol/candor, /obj/item/clothing/head/cowboy/sec/minutemen, /obj/item/radio/headset/minutemen/alt/captain, /obj/item/storage/backpack, @@ -8315,8 +8315,8 @@ /area/ship/crew/office) "Th" = ( /obj/structure/guncase, -/obj/item/gun/ballistic/automatic/pistol/m1911/no_mag, -/obj/item/gun/ballistic/automatic/pistol/m1911/no_mag, +/obj/item/gun/ballistic/automatic/pistol/candor/no_mag, +/obj/item/gun/ballistic/automatic/pistol/candor/no_mag, /obj/item/gun/ballistic/automatic/smg/cm5{ spawnwithmagazine = 0 }, diff --git a/_maps/shuttles/nanotrasen/nanotrasen_heron.dmm b/_maps/shuttles/nanotrasen/nanotrasen_heron.dmm index 669e1df22ab8..f230095f1023 100644 --- a/_maps/shuttles/nanotrasen/nanotrasen_heron.dmm +++ b/_maps/shuttles/nanotrasen/nanotrasen_heron.dmm @@ -3506,12 +3506,6 @@ }, /turf/open/floor/plasteel/tech, /area/ship/engineering/electrical) -"mW" = ( -/obj/structure/guncase, -/obj/item/gun/ballistic/automatic/pistol/m1911/no_mag, -/obj/item/gun/ballistic/automatic/pistol/m1911/no_mag, -/turf/open/floor/plasteel/tech, -/area/ship/cargo/office) "mX" = ( /obj/effect/decal/cleanable/dirt, /obj/machinery/atmospherics/pipe/simple/purple/hidden, @@ -4314,27 +4308,6 @@ }, /turf/open/floor/plasteel/white, /area/ship/medical) -"pS" = ( -/obj/structure/closet/wall/orange{ - name = "Pilot's Locker"; - pixel_y = 28 - }, -/obj/item/clothing/under/rank/security/officer/military/eng, -/obj/item/clothing/suit/jacket/leather/duster, -/obj/item/clothing/suit/jacket/miljacket, -/obj/item/clothing/mask/bandana/skull, -/obj/item/clothing/suit/armor/vest/marine, -/obj/item/instrument/piano_synth/headphones/spacepods{ - pixel_x = -5; - pixel_y = -1 - }, -/obj/item/clothing/neck/shemagh, -/obj/item/reagent_containers/spray/pepper{ - pixel_x = 7; - pixel_y = -6 - }, -/turf/open/floor/plasteel/mono/dark, -/area/ship/hangar) "pT" = ( /obj/machinery/atmospherics/pipe/layer_manifold{ dir = 1 @@ -5851,6 +5824,26 @@ }, /turf/open/floor/plasteel/elevatorshaft, /area/ship/science/robotics) +"vb" = ( +/obj/structure/closet/wall/orange{ + name = "Pilot's Locker"; + pixel_y = 28 + }, +/obj/item/clothing/under/rank/security/officer/military/eng, +/obj/item/clothing/suit/jacket/leather/duster, +/obj/item/clothing/suit/jacket/miljacket, +/obj/item/clothing/suit/armor/vest/marine, +/obj/item/instrument/piano_synth/headphones/spacepods{ + pixel_x = -5; + pixel_y = -1 + }, +/obj/item/clothing/neck/shemagh, +/obj/item/reagent_containers/spray/pepper{ + pixel_x = 7; + pixel_y = -6 + }, +/turf/open/floor/plasteel/mono/dark, +/area/ship/hangar) "vg" = ( /obj/machinery/atmospherics/pipe/manifold/scrubbers/hidden/layer4{ dir = 8 @@ -9197,6 +9190,27 @@ }, /turf/open/floor/wood, /area/ship/crew/dorm/dormtwo) +"HI" = ( +/obj/structure/closet/wall/orange{ + name = "Pilot's Locker"; + pixel_y = 28 + }, +/obj/item/clothing/under/rank/security/officer/military/eng, +/obj/item/clothing/suit/jacket/leather/duster, +/obj/item/clothing/suit/jacket/miljacket, +/obj/item/clothing/mask/bandana/skull, +/obj/item/clothing/suit/armor/vest/marine, +/obj/item/instrument/piano_synth/headphones/spacepods{ + pixel_x = -5; + pixel_y = -1 + }, +/obj/item/clothing/neck/shemagh, +/obj/item/reagent_containers/spray/pepper{ + pixel_x = 7; + pixel_y = -6 + }, +/turf/open/floor/plasteel/mono/dark, +/area/ship/hangar) "HO" = ( /obj/effect/turf_decal/techfloor{ dir = 4 @@ -9367,26 +9381,6 @@ /obj/effect/decal/cleanable/dirt, /turf/open/floor/plasteel/tech, /area/ship/engineering/electrical) -"Io" = ( -/obj/structure/closet/wall/orange{ - name = "Pilot's Locker"; - pixel_y = 28 - }, -/obj/item/clothing/under/rank/security/officer/military/eng, -/obj/item/clothing/suit/jacket/leather/duster, -/obj/item/clothing/suit/jacket/miljacket, -/obj/item/clothing/suit/armor/vest/marine, -/obj/item/instrument/piano_synth/headphones/spacepods{ - pixel_x = -5; - pixel_y = -1 - }, -/obj/item/clothing/neck/shemagh, -/obj/item/reagent_containers/spray/pepper{ - pixel_x = 7; - pixel_y = -6 - }, -/turf/open/floor/plasteel/mono/dark, -/area/ship/hangar) "Ip" = ( /obj/structure/table, /obj/item/reagent_containers/food/snacks/mint, @@ -11619,6 +11613,12 @@ /obj/item/kirbyplants/random, /turf/open/floor/plasteel, /area/ship/hallway/aft) +"Rs" = ( +/obj/structure/guncase, +/obj/item/gun/ballistic/automatic/pistol/candor/no_mag, +/obj/item/gun/ballistic/automatic/pistol/candor/no_mag, +/turf/open/floor/plasteel/tech, +/area/ship/cargo/office) "Ru" = ( /obj/machinery/atmospherics/components/unary/vent_scrubber/on/layer4{ dir = 4 @@ -15417,7 +15417,7 @@ uQ uQ uQ uQ -pS +HI JE gN MI @@ -15454,9 +15454,9 @@ Ob Zg mk lv -mW +Rs Zg -Io +vb zC EO fv diff --git a/_maps/shuttles/nanotrasen/nanotrasen_mimir.dmm b/_maps/shuttles/nanotrasen/nanotrasen_mimir.dmm index 8f7fb343e1a4..d6cc2ca80968 100644 --- a/_maps/shuttles/nanotrasen/nanotrasen_mimir.dmm +++ b/_maps/shuttles/nanotrasen/nanotrasen_mimir.dmm @@ -70,16 +70,6 @@ }, /turf/open/floor/plasteel/tech/grid, /area/ship/maintenance/port) -"aC" = ( -/obj/structure/window/reinforced/spawner{ - dir = 4 - }, -/obj/machinery/conveyor{ - id = "prison_scrap"; - dir = 1 - }, -/turf/open/floor/plating, -/area/ship/engineering/engine) "aE" = ( /obj/structure/table, /obj/machinery/door/window, @@ -1696,7 +1686,7 @@ /area/ship/engineering/electrical) "jC" = ( /obj/structure/rack, -/obj/item/gun/ballistic/shotgun/lethal, +/obj/item/gun/ballistic/shotgun/brimstone, /obj/item/storage/box/lethalshot, /obj/effect/turf_decal/siding/red{ dir = 10 @@ -3721,6 +3711,16 @@ }, /turf/open/floor/plasteel/tech/grid, /area/ship/maintenance/starboard) +"vT" = ( +/obj/structure/window/reinforced/spawner{ + dir = 4 + }, +/obj/machinery/conveyor{ + id = "prison_scrap"; + dir = 1 + }, +/turf/open/floor/plating, +/area/ship/engineering/engine) "wa" = ( /obj/structure/sink/kitchen{ dir = 8; @@ -5775,7 +5775,7 @@ /area/ship/maintenance/port) "Ht" = ( /obj/structure/rack, -/obj/item/gun/ballistic/shotgun/riot, +/obj/item/gun/ballistic/shotgun/hellfire, /obj/item/storage/box/rubbershot, /obj/item/clothing/suit/armor/riot, /obj/item/shield/riot, @@ -9127,7 +9127,7 @@ yz tY jS TO -aC +vT Kk wm Jy diff --git a/_maps/shuttles/nanotrasen/nanotrasen_ranger.dmm b/_maps/shuttles/nanotrasen/nanotrasen_ranger.dmm index c33cb8ff63ac..ed46e7e7ef1e 100644 --- a/_maps/shuttles/nanotrasen/nanotrasen_ranger.dmm +++ b/_maps/shuttles/nanotrasen/nanotrasen_ranger.dmm @@ -183,12 +183,15 @@ /obj/item/clothing/suit/armor/vest/security, /obj/item/clothing/mask/gas/sechailer, /obj/item/gps, -/obj/item/gun/ballistic/derringer, +/obj/item/gun/ballistic/automatic/pistol/commander, /obj/structure/railing{ dir = 4 }, -/obj/item/ammo_box/c38_box, -/obj/item/ammo_box/c38_box, +/obj/item/ammo_box/c9mm, +/obj/item/ammo_box/c9mm, +/obj/item/ammo_box/magazine/co9mm, +/obj/item/ammo_box/magazine/co9mm, +/obj/item/storage/belt/security/webbing, /turf/open/floor/wood, /area/ship/security) "bD" = ( @@ -961,12 +964,10 @@ /turf/open/floor/plasteel/white, /area/ship/hallway/starboard) "iX" = ( -/obj/machinery/mineral/ore_redemption{ - dir = 8 - }, /obj/effect/turf_decal/siding/yellow{ dir = 10 }, +/obj/structure/ore_box, /turf/open/floor/plasteel/dark, /area/ship/hallway/port) "iZ" = ( @@ -3132,6 +3133,12 @@ pixel_x = 7; pixel_y = -20 }, +/obj/item/gun/ballistic/automatic/pistol/commander, +/obj/item/ammo_box/c9mm, +/obj/item/ammo_box/c9mm, +/obj/item/ammo_box/c9mm/rubbershot, +/obj/item/ammo_box/magazine/co9mm, +/obj/item/ammo_box/magazine/co9mm, /turf/open/floor/wood, /area/ship/crew/dorm) "Hd" = ( @@ -3650,6 +3657,10 @@ }, /turf/open/floor/plasteel/tech, /area/ship/engineering) +"MD" = ( +/obj/item/disk/design_disk/ammo_c9mm, +/turf/open/floor/plating, +/area/ship/engineering) "MI" = ( /obj/machinery/airalarm/directional/north, /obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ @@ -3985,6 +3996,9 @@ /obj/item/robot_suit, /obj/structure/closet/crate/engineering, /obj/effect/turf_decal/industrial/hatch/orange, +/obj/item/stock_parts/cell/high, +/obj/item/assembly/flash/handheld, +/obj/item/assembly/flash/handheld, /turf/open/floor/plating, /area/ship/engineering) "Qu" = ( @@ -4181,8 +4195,15 @@ pixel_x = 5 }, /obj/item/pen/fountain{ + pixel_x = -4; + pixel_y = 7 + }, +/obj/machinery/recharger{ pixel_x = -4 }, +/obj/item/stamp/captain{ + pixel_x = 7 + }, /turf/open/floor/plasteel/dark, /area/ship/bridge) "Ur" = ( @@ -4401,10 +4422,9 @@ /turf/open/floor/plasteel/dark, /area/ship/hallway/central) "WF" = ( -/obj/structure/ore_box, -/obj/machinery/light/dim/directional/west, -/turf/open/floor/engine/hull, -/area/ship/external) +/obj/item/radio/intercom/wideband, +/turf/closed/wall/r_wall, +/area/ship/bridge) "WG" = ( /obj/machinery/telecomms/server/presets/nanotrasen{ autolinkers = list("nanotrasen","hub"); @@ -5158,7 +5178,7 @@ jA zW Tz LQ -aP +MD aP xq Wp @@ -5517,7 +5537,7 @@ gg zW zW zW -WF +QV jA KQ wp @@ -5941,7 +5961,7 @@ Lk mn cv lW -Lk +WF VQ zW zW diff --git a/_maps/shuttles/pirate/pirate_ember.dmm b/_maps/shuttles/pirate/pirate_ember.dmm index f114c64f153f..a44c02e8a814 100644 --- a/_maps/shuttles/pirate/pirate_ember.dmm +++ b/_maps/shuttles/pirate/pirate_ember.dmm @@ -2894,7 +2894,7 @@ pixel_y = -4; pixel_x = 3 }, -/obj/item/gun/ballistic/rifle/boltaction/polymer{ +/obj/item/gun/ballistic/rifle/polymer{ pixel_y = -8 }, /obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ @@ -5596,11 +5596,11 @@ /area/ship/engineering/incinerator) "Bx" = ( /obj/structure/table/reinforced, -/obj/item/gun/ballistic/revolver/nagant{ +/obj/item/gun/ballistic/revolver/shadow{ pixel_y = 6 }, -/obj/item/gun/ballistic/revolver/nagant, -/obj/item/gun/ballistic/revolver/nagant{ +/obj/item/gun/ballistic/revolver/shadow, +/obj/item/gun/ballistic/revolver/shadow{ pixel_y = -5 }, /obj/effect/turf_decal/techfloor{ @@ -5614,7 +5614,7 @@ /area/ship/security/armory) "By" = ( /obj/structure/guncase, -/obj/item/gun/ballistic/automatic/smg/thompson{ +/obj/item/gun/ballistic/automatic/smg/mini_uzi{ pixel_y = -3 }, /obj/effect/turf_decal/techfloor{ @@ -5623,7 +5623,7 @@ /obj/structure/railing{ dir = 1 }, -/obj/item/gun/ballistic/rifle/boltaction{ +/obj/item/gun/ballistic/rifle/illestren{ pixel_y = 5 }, /turf/open/floor/plasteel/dark, @@ -8985,10 +8985,10 @@ /obj/effect/turf_decal/techfloor/hole{ dir = 8 }, -/obj/item/ammo_box/n762{ +/obj/item/ammo_box/c45_speedloader{ pixel_y = -3 }, -/obj/item/ammo_box/n762{ +/obj/item/ammo_box/c45_speedloader{ pixel_y = -1; pixel_x = 1 }, @@ -8999,20 +8999,20 @@ pixel_y = 2; pixel_x = -4 }, -/obj/item/ammo_box/magazine/smgm45/drum{ +/obj/item/ammo_box/magazine/uzim9mm{ pixel_y = -4 }, -/obj/item/ammo_box/magazine/smgm45, -/obj/item/ammo_box/n762{ +/obj/item/ammo_box/magazine/uzim9mm, +/obj/item/ammo_box/c45_speedloader{ pixel_y = -3 }, -/obj/item/ammo_box/n762{ +/obj/item/ammo_box/c45_speedloader{ pixel_y = -5; pixel_x = -1 }, -/obj/item/ammo_box/a762, -/obj/item/ammo_box/a762, -/obj/item/storage/toolbox/ammo/a762{ +/obj/item/ammo_box/magazine/illestren_a850r, +/obj/item/ammo_box/magazine/illestren_a850r, +/obj/item/storage/toolbox/ammo/a850r{ pixel_y = -6; pixel_x = 5 }, diff --git a/_maps/shuttles/roumain/srm_glaive.dmm b/_maps/shuttles/roumain/srm_glaive.dmm index 5c7f90c25492..4b5929d9b2ac 100644 --- a/_maps/shuttles/roumain/srm_glaive.dmm +++ b/_maps/shuttles/roumain/srm_glaive.dmm @@ -359,8 +359,8 @@ pixel_y = 2 }, /obj/item/kitchen/knife/combat, -/obj/item/gun/ballistic/revolver/nagant, -/obj/item/ammo_box/n762, +/obj/item/gun/ballistic/revolver/montagne, +/obj/item/ammo_box/c38, /obj/structure/closet/secure_closet/montagnes, /obj/item/disk/holodisk/roumain, /obj/item/clothing/shoes/cowboy/black, @@ -903,7 +903,7 @@ /obj/item/storage/backpack/cultpack, /obj/item/flashlight/lantern, /obj/item/kitchen/knife/combat/survival, -/obj/item/gun/ballistic/shotgun/winchester, +/obj/item/gun/ballistic/shotgun/flamingarrow, /obj/structure/closet/secure_closet/hunter, /obj/item/lighter, /obj/item/ammo_box/c38_box, @@ -979,7 +979,7 @@ /obj/item/borg/upgrade/modkit/indoors, /obj/item/gun/energy/kinetic_accelerator, /obj/item/storage/bag/ore, -/obj/item/gun/ballistic/shotgun/winchester/mk1, +/obj/item/gun/ballistic/shotgun/flamingarrow/bolt, /obj/item/shovel, /obj/item/gps/mining, /obj/structure/closet/secure_closet/miningcloset, @@ -2835,7 +2835,7 @@ }, /obj/item/circuitboard/machine/rdserver, /obj/item/circuitboard/machine/autolathe, -/obj/item/disk/design_disk/ammo_n762, +/obj/item/ammo_box/c38_box, /obj/item/disk/design_disk/ammo_1911, /obj/item/circuitboard/machine/protolathe/department/ballistics, /obj/item/circuitboard/computer/rdconsole, @@ -3298,7 +3298,7 @@ /obj/item/storage/backpack/cultpack, /obj/item/flashlight/lantern, /obj/item/kitchen/knife/combat/survival, -/obj/item/gun/ballistic/shotgun/winchester, +/obj/item/gun/ballistic/shotgun/flamingarrow, /obj/structure/closet/secure_closet/hunter, /obj/item/lighter, /obj/item/ammo_box/c38_box, diff --git a/_maps/shuttles/subshuttles/Subshuttle Catalog.txt b/_maps/shuttles/subshuttles/Subshuttle Catalog.txt index 3424b7605354..aa2ede4dca64 100644 --- a/_maps/shuttles/subshuttles/Subshuttle Catalog.txt +++ b/_maps/shuttles/subshuttles/Subshuttle Catalog.txt @@ -13,6 +13,11 @@ Size = "12x7" Purpose = "A multi-role dropship used by almost every group faring space. Its ease of manufacture and high mobility makes it ideal for transport." File Path = "_maps\shuttles\subshuttles\indepenent_kunai.dmm" +Name = "Haste-class Patient Recovery Ship" +Size = "6x4" +Purpose = "A small, nimble ship utilized as an ambulance by Inteq forces." +File Path = "_maps\shuttles\subshuttles\independant_haste.dmm" + Name = "Sugarcube" Size = "12x6" Purpose = "A prisoner transport vessel turned " diff --git a/_maps/shuttles/subshuttles/inteq_haste.dmm b/_maps/shuttles/subshuttles/inteq_haste.dmm new file mode 100644 index 000000000000..74144c3fe930 --- /dev/null +++ b/_maps/shuttles/subshuttles/inteq_haste.dmm @@ -0,0 +1,262 @@ +//MAP CONVERTED BY dmm2tgm.py THIS HEADER COMMENT PREVENTS RECONVERSION, DO NOT REMOVE +"a" = ( +/turf/closed/wall/mineral/plastitanium, +/area/ship/bridge) +"f" = ( +/obj/machinery/power/terminal{ + dir = 1 + }, +/obj/structure/cable{ + icon_state = "4-8" + }, +/obj/structure/cable/yellow{ + icon_state = "0-2" + }, +/obj/effect/turf_decal/techfloor{ + dir = 1 + }, +/turf/open/floor/plasteel/tech, +/area/ship/bridge) +"s" = ( +/obj/machinery/door/poddoor/shutters/preopen{ + dir = 8; + id = "haste_door" + }, +/obj/machinery/power/shieldwallgen/atmos{ + id = "haste_holo"; + anchored = 1 + }, +/obj/structure/cable{ + icon_state = "4-8" + }, +/obj/structure/cable/yellow{ + icon_state = "0-2" + }, +/turf/open/floor/engine/hull/interior, +/area/ship/bridge) +"B" = ( +/obj/machinery/power/smes/engineering{ + charge = 1e+006 + }, +/obj/effect/turf_decal/spline/fancy/opaque/black{ + dir = 1 + }, +/obj/structure/cable/yellow{ + icon_state = "0-5" + }, +/obj/effect/turf_decal/techfloor, +/turf/open/floor/plasteel/tech, +/area/ship/bridge) +"D" = ( +/obj/structure/cable{ + icon_state = "4-10" + }, +/obj/structure/cable/yellow{ + icon_state = "2-8" + }, +/obj/machinery/light_switch{ + pixel_y = 22; + pixel_x = 10 + }, +/obj/effect/turf_decal/techfloor{ + dir = 1 + }, +/obj/effect/turf_decal/spline/fancy/opaque/black{ + dir = 8 + }, +/turf/open/floor/plasteel/tech, +/area/ship/bridge) +"F" = ( +/obj/structure/window/reinforced, +/obj/structure/window/reinforced{ + dir = 8 + }, +/obj/structure/window/reinforced{ + dir = 4 + }, +/obj/structure/cable/yellow{ + icon_state = "0-4" + }, +/obj/machinery/power/smes/shuttle/precharged{ + dir = 1 + }, +/turf/open/floor/plasteel/tech, +/area/ship/bridge) +"I" = ( +/obj/effect/turf_decal/spline/fancy/opaque/black, +/obj/structure/rack, +/obj/item/storage/firstaid/regular{ + pixel_x = 4; + pixel_y = 2 + }, +/obj/item/storage/firstaid/medical{ + pixel_x = -4; + pixel_y = 6 + }, +/obj/item/defibrillator/loaded{ + pixel_x = -4 + }, +/obj/effect/turf_decal/spline/fancy/opaque/black{ + dir = 1 + }, +/obj/machinery/power/terminal{ + dir = 8 + }, +/obj/structure/cable{ + icon_state = "0-5" + }, +/obj/machinery/light/directional/south, +/obj/effect/turf_decal/techfloor, +/turf/open/floor/plasteel/tech, +/area/ship/bridge) +"J" = ( +/obj/structure/window/reinforced{ + dir = 1 + }, +/obj/structure/window/reinforced{ + dir = 8 + }, +/obj/structure/window/reinforced{ + dir = 4 + }, +/obj/structure/cable/yellow{ + icon_state = "0-4" + }, +/obj/machinery/power/smes/shuttle/precharged, +/turf/open/floor/plasteel/tech, +/area/ship/bridge) +"K" = ( +/obj/structure/grille, +/obj/structure/window/plasma/reinforced/plastitanium, +/turf/open/floor/plating, +/area/ship/bridge) +"M" = ( +/obj/structure/bed/roller, +/obj/effect/turf_decal/spline/fancy/opaque/black/corner{ + dir = 1 + }, +/obj/machinery/power/apc/auto_name/directional/south, +/obj/structure/cable/yellow, +/obj/structure/cable/yellow{ + icon_state = "1-4" + }, +/obj/effect/turf_decal/techfloor, +/turf/open/floor/plasteel/tech, +/area/ship/bridge) +"O" = ( +/obj/machinery/power/shieldwallgen/atmos{ + dir = 1; + id = "haste_holo"; + anchored = 1 + }, +/obj/machinery/door/poddoor/shutters/preopen{ + dir = 8; + id = "haste_door" + }, +/obj/docking_port/mobile{ + dir = 8; + name = "ambulance dock"; + preferred_direction = 8; + port_direction = 2 + }, +/obj/structure/cable/yellow{ + icon_state = "0-8" + }, +/obj/structure/cable/yellow{ + icon_state = "1-8" + }, +/turf/open/floor/engine/hull/interior, +/area/ship/bridge) +"R" = ( +/obj/machinery/power/terminal, +/obj/structure/cable/yellow{ + icon_state = "0-8" + }, +/obj/structure/cable/yellow{ + icon_state = "4-8" + }, +/obj/structure/cable/yellow{ + icon_state = "1-8" + }, +/obj/effect/turf_decal/techfloor, +/turf/open/floor/plasteel/tech, +/area/ship/bridge) +"T" = ( +/obj/machinery/power/shuttle/engine/electric{ + dir = 8 + }, +/obj/structure/cable/yellow{ + icon_state = "0-8" + }, +/turf/open/floor/engine/hull/interior, +/area/ship/bridge) +"X" = ( +/obj/machinery/computer/helm{ + dir = 4; + layer = 3 + }, +/obj/structure/railing{ + dir = 10 + }, +/obj/machinery/button/shieldwallgen{ + pixel_y = 21; + pixel_x = 9; + id = "haste_holo" + }, +/obj/machinery/button/door{ + pixel_x = -2; + pixel_y = 23; + id = "haste_door" + }, +/turf/open/floor/plasteel/telecomms_floor, +/area/ship/bridge) +"Z" = ( +/obj/structure/chair/comfy/shuttle{ + dir = 8 + }, +/obj/structure/railing, +/obj/item/radio/intercom/wideband/directional/north{ + pixel_x = -9 + }, +/obj/structure/cable/yellow{ + icon_state = "4-10" + }, +/turf/open/floor/plasteel/telecomms_floor, +/area/ship/bridge) + +(1,1,1) = {" +a +K +K +a +"} +(2,1,1) = {" +a +X +B +a +"} +(3,1,1) = {" +a +Z +I +a +"} +(4,1,1) = {" +a +D +M +a +"} +(5,1,1) = {" +J +f +R +F +"} +(6,1,1) = {" +T +s +O +T +"} diff --git a/_maps/shuttles/syndicate/syndicate_gorlex_hyena.dmm b/_maps/shuttles/syndicate/syndicate_gorlex_hyena.dmm index dae3f0a86b96..8683437567f1 100644 --- a/_maps/shuttles/syndicate/syndicate_gorlex_hyena.dmm +++ b/_maps/shuttles/syndicate/syndicate_gorlex_hyena.dmm @@ -300,7 +300,7 @@ /obj/effect/decal/cleanable/dirt/dust, /obj/machinery/airalarm/directional/north, /obj/effect/turf_decal/industrial/outline, -/obj/item/storage/box/lethalshot, +/obj/item/ammo_box/a12g, /obj/item/ammo_box/c10mm, /turf/open/floor/mineral/plastitanium, /area/ship/security/armory) @@ -491,7 +491,7 @@ pixel_x = 32 }, /obj/effect/turf_decal/industrial/outline, -/obj/item/gun/ballistic/shotgun/lethal, +/obj/item/gun/ballistic/shotgun/brimstone, /obj/machinery/button/door{ dir = 1; id = "wreckerarmory"; diff --git a/_maps/shuttles/syndicate/syndicate_gorlex_komodo.dmm b/_maps/shuttles/syndicate/syndicate_gorlex_komodo.dmm index 3da232da75dc..23eb56cb400c 100644 --- a/_maps/shuttles/syndicate/syndicate_gorlex_komodo.dmm +++ b/_maps/shuttles/syndicate/syndicate_gorlex_komodo.dmm @@ -2734,43 +2734,6 @@ }, /turf/open/floor/plasteel, /area/ship/engineering) -"AS" = ( -/obj/effect/turf_decal/borderfloor{ - dir = 8 - }, -/obj/item/gun/ballistic/automatic/pistol/m1911{ - pixel_x = 1; - pixel_y = 5 - }, -/obj/item/ammo_box/magazine/m45, -/obj/item/ammo_box/magazine/m45{ - pixel_x = 3 - }, -/obj/item/clothing/under/syndicate/aclfgrunt, -/obj/item/clothing/gloves/tackler/combat/insulated, -/obj/item/clothing/suit/armor/vest/leather{ - desc = "Lightly armored leather overcoat meant as casual wear for high-ranking officers. Bears the crest of the Gorlex Marauders." - }, -/obj/item/clothing/mask/gas/sechailer/swat, -/obj/item/clothing/head/HoS/beret/syndicate, -/obj/structure/cable{ - icon_state = "4-8" - }, -/obj/structure/closet/secure_closet/wall{ - dir = 1; - icon_state = "sec_wall"; - name = "Sergeant's locker"; - pixel_y = -29; - req_access_txt = "58" - }, -/obj/item/melee/classic_baton/telescopic, -/obj/item/clothing/suit/armor/vest/blueshirt, -/obj/item/clothing/under/syndicate/combat, -/obj/item/clothing/accessory/holster, -/obj/item/clothing/shoes/combat, -/obj/item/radio/headset/syndicate, -/turf/open/floor/plasteel/dark, -/area/ship/bridge) "AY" = ( /obj/structure/sign/syndicate, /turf/closed/wall/mineral/plastitanium/nodiagonal, @@ -3137,33 +3100,6 @@ }, /turf/open/floor/mineral/plastitanium/red, /area/ship/crew/canteen) -"Ek" = ( -/obj/structure/closet/secure_closet{ - anchored = 1; - icon_state = "hos"; - name = "captain's locker"; - req_access_txt = "20" - }, -/obj/item/clothing/under/syndicate/combat, -/obj/item/clothing/under/syndicate/officer, -/obj/item/clothing/suit/armor/vest/capcarapace/syndicate, -/obj/item/clothing/gloves/krav_maga/combatglovesplus, -/obj/item/clothing/shoes/jackboots, -/obj/item/clothing/glasses/thermal/eyepatch, -/obj/item/clothing/head/HoS/beret/syndicate, -/obj/item/clothing/head/HoS/syndicate, -/obj/item/clothing/head/gorlexcap{ - pixel_x = 5; - pixel_y = -4 - }, -/obj/item/gun/ballistic/derringer/traitor, -/obj/item/clothing/under/syndicate/sniper, -/obj/item/clothing/suit/gorlex, -/obj/item/ammo_box/a357, -/obj/item/ammo_box/a357, -/obj/item/radio/headset/syndicate/alt/leader, -/turf/open/floor/carpet/black, -/area/ship/bridge) "El" = ( /obj/structure/filingcabinet, /obj/item/folder/syndicate/mining, @@ -3886,6 +3822,33 @@ }, /turf/open/floor/plasteel/dark, /area/ship/bridge) +"KG" = ( +/obj/structure/closet/secure_closet{ + anchored = 1; + icon_state = "hos"; + name = "captain's locker"; + req_access_txt = "20" + }, +/obj/item/clothing/under/syndicate/combat, +/obj/item/clothing/under/syndicate/officer, +/obj/item/clothing/suit/armor/vest/capcarapace/syndicate, +/obj/item/clothing/gloves/krav_maga/combatglovesplus, +/obj/item/clothing/shoes/jackboots, +/obj/item/clothing/glasses/thermal/eyepatch, +/obj/item/clothing/head/HoS/beret/syndicate, +/obj/item/clothing/head/HoS/syndicate, +/obj/item/clothing/head/gorlexcap{ + pixel_x = 5; + pixel_y = -4 + }, +/obj/item/gun/ballistic/derringer/traitor, +/obj/item/clothing/under/syndicate/sniper, +/obj/item/clothing/suit/gorlex, +/obj/item/ammo_box/a357, +/obj/item/ammo_box/a357, +/obj/item/radio/headset/syndicate/alt/leader, +/turf/open/floor/carpet/black, +/area/ship/bridge) "KL" = ( /obj/machinery/vending/custom, /obj/structure/railing{ @@ -4823,6 +4786,43 @@ /obj/structure/catwalk/over, /turf/open/floor/plating, /area/ship/engineering) +"UJ" = ( +/obj/effect/turf_decal/borderfloor{ + dir = 8 + }, +/obj/item/gun/ballistic/automatic/pistol/candor{ + pixel_x = 1; + pixel_y = 5 + }, +/obj/item/ammo_box/magazine/m45, +/obj/item/ammo_box/magazine/m45{ + pixel_x = 3 + }, +/obj/item/clothing/under/syndicate/aclfgrunt, +/obj/item/clothing/gloves/tackler/combat/insulated, +/obj/item/clothing/suit/armor/vest/leather{ + desc = "Lightly armored leather overcoat meant as casual wear for high-ranking officers. Bears the crest of the Gorlex Marauders." + }, +/obj/item/clothing/mask/gas/sechailer/swat, +/obj/item/clothing/head/HoS/beret/syndicate, +/obj/structure/cable{ + icon_state = "4-8" + }, +/obj/structure/closet/secure_closet/wall{ + dir = 1; + icon_state = "sec_wall"; + name = "Sergeant's locker"; + pixel_y = -29; + req_access_txt = "58" + }, +/obj/item/melee/classic_baton/telescopic, +/obj/item/clothing/suit/armor/vest/blueshirt, +/obj/item/clothing/under/syndicate/combat, +/obj/item/clothing/accessory/holster, +/obj/item/clothing/shoes/combat, +/obj/item/radio/headset/syndicate, +/turf/open/floor/plasteel/dark, +/area/ship/bridge) "UK" = ( /obj/machinery/door/firedoor, /obj/machinery/door/airlock/hatch{ @@ -5880,11 +5880,11 @@ ME WP WA TH -AS +UJ tC FL up -Ek +KG tC tC tC diff --git a/_maps/shuttles/syndicate/syndicate_twinkleshine.dmm b/_maps/shuttles/syndicate/syndicate_twinkleshine.dmm index 6c14c9503772..7914b314998c 100644 --- a/_maps/shuttles/syndicate/syndicate_twinkleshine.dmm +++ b/_maps/shuttles/syndicate/syndicate_twinkleshine.dmm @@ -3719,9 +3719,9 @@ /obj/item/ammo_casing/caseless/rocket, /obj/item/ammo_casing/caseless/rocket/hedp, /obj/item/ammo_casing/caseless/rocket/hedp, -/obj/item/storage/box/lethalshot, -/obj/item/storage/box/lethalshot, -/obj/item/storage/box/lethalshot, +/obj/item/ammo_box/a12g, +/obj/item/ammo_box/a12g, +/obj/item/ammo_box/a12g, /obj/item/gun/ballistic/rocketlauncher, /obj/item/gun/ballistic/automatic/ebr, /obj/item/gun/ballistic/automatic/ebr{ diff --git a/code/__DEFINES/admin.dm b/code/__DEFINES/admin.dm index 1adec75b74ac..44f0893cd9a5 100644 --- a/code/__DEFINES/admin.dm +++ b/code/__DEFINES/admin.dm @@ -67,6 +67,8 @@ #define ADMIN_COORDJMP(src) "[src ? "[COORD(src)] [ADMIN_JMP(src)]" : "nonexistent location"]" #define ADMIN_VERBOSEJMP(src) "[src ? "[AREACOORD(src)] [ADMIN_JMP(src)]" : "nonexistent location"]" #define ADMIN_INDIVIDUALLOG(user) "(LOGS)" +/// Displays "(SHOW)" in the chat, when clicked it tries to show atom(paper). First you need to set the request_state variable to TRUE for the paper. +#define ADMIN_SHOW_PAPER(atom) "(SHOW)" #define ADMIN_PUNISHMENT_BREAK_BONES "Break all bones" #define ADMIN_PUNISHMENT_LIGHTNING "Lightning bolt" diff --git a/code/_globalvars/lists/faxes.dm b/code/_globalvars/lists/faxes.dm deleted file mode 100644 index 5c78629de283..000000000000 --- a/code/_globalvars/lists/faxes.dm +++ /dev/null @@ -1,26 +0,0 @@ -/** - * 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. - * * frontier_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" = "Nanotrasen Central Command", "button_color" = "#46B946"), - list("fax_name" = "Inteq Management Field Command", "button_color" = "#FACE65"), - list("fax_name" = "Colonial Minutemen Headquarters", "button_color" = "#538ACF"), - list("fax_name" = "Saint-Roumain Council of Huntsmen", "button_color" = "#6B443D"), - list("fax_name" = "SolGov Department of Administrative Affairs", "button_color" = "#536380"), - list("fax_name" = "Syndicate Coordination Center", "button_color" = "#B22C20"), - list("fax_name" = "Outpost Administration", "button_color" = "#dddfc9"), -)) - -GLOBAL_LIST_INIT(frontier_faxes_list, list( - list("fax_name" = "Frontiersmen Communications Outpost", "button_color" = "#70654C") -)) - -GLOBAL_LIST_EMPTY(fax_machines) //list of all fax machines diff --git a/code/_globalvars/lists/objects.dm b/code/_globalvars/lists/objects.dm index 82258dfdcd43..ac54c7a39b33 100644 --- a/code/_globalvars/lists/objects.dm +++ b/code/_globalvars/lists/objects.dm @@ -11,6 +11,7 @@ GLOBAL_LIST_EMPTY(wayfindingbeacons) //list of all navigation beacons used GLOBAL_LIST_EMPTY(nuke_list) GLOBAL_LIST_EMPTY(alarmdisplay) //list of all machines or programs that can display station alerts GLOBAL_LIST_EMPTY(singularities) //list of all singularities on the station (actually technically all engines) +GLOBAL_LIST_EMPTY(fax_machines) //list of all fax machines GLOBAL_LIST(chemical_reactions_list) //list of all /datum/chemical_reaction datums. Used during chemical reactions GLOBAL_LIST(chemical_reagents_list) //list of all /datum/reagent datums indexed by reagent id. Used by chemistry stuff diff --git a/code/datums/components/storage/concrete/pockets.dm b/code/datums/components/storage/concrete/pockets.dm index 19d092156405..bd0a59f85f42 100644 --- a/code/datums/components/storage/concrete/pockets.dm +++ b/code/datums/components/storage/concrete/pockets.dm @@ -36,7 +36,7 @@ . = ..() var/static/list/exception_cache = typecacheof(list( /obj/item/katana, /obj/item/toy/katana, /obj/item/nullrod/claymore/katana, - /obj/item/energy_katana, /obj/item/gun/ballistic/automatic/smg/thompson/drum + /obj/item/energy_katana, /obj/item/gun/ballistic/automatic/smg/firestorm/pan )) exception_hold = exception_cache @@ -86,7 +86,7 @@ /obj/item/reagent_containers/food/drinks/bottle/vodka, /obj/item/reagent_containers/food/drinks/bottle/molotov, /obj/item/reagent_containers/food/drinks/drinkingglass, - /obj/item/ammo_box/a762 + /obj/item/ammo_box/magazine/illestren_a850r )) /datum/component/storage/concrete/pockets/holster diff --git a/code/datums/ert.dm b/code/datums/ert.dm index 2c84f254cd6f..844548748824 100644 --- a/code/datums/ert.dm +++ b/code/datums/ert.dm @@ -210,6 +210,17 @@ rename_team = "Cybersun Medical Intervention Team" polldesc = "a Cybersun paramedic team" +/datum/ert/syndicate/inspector + teamsize = 1 + leader_role = /datum/antagonist/ert/official/syndicate + roles = list(/datum/antagonist/ert/official/syndicate) + rename_team = "Syndicate Inspector" + polldesc = "a syndicate inspector" + spawn_at_outpost = FALSE + +/datum/ert/syndicate/inspector/New() + mission = "Conduct a routine review on [station_name()]'s vessels." + // Frontiersmen /datum/ert/frontier teamsize = 4 diff --git a/code/datums/mapgen/planetary/BeachGenerator.dm b/code/datums/mapgen/planetary/BeachGenerator.dm index ca1d70b929fa..7999d76f3a11 100644 --- a/code/datums/mapgen/planetary/BeachGenerator.dm +++ b/code/datums/mapgen/planetary/BeachGenerator.dm @@ -119,7 +119,7 @@ /mob/living/simple_animal/butterfly = 4, /mob/living/simple_animal/hostile/retaliate/poison/snake = 5, - /mob/living/simple_animal/hostile/poison/bees/toxin = 3, + /mob/living/simple_animal/hostile/poison/bees = 3, ) mob_spawn_chance = 2 feature_spawn_chance = 0.1 diff --git a/code/datums/mapgen/planetary/JungleGenerator.dm b/code/datums/mapgen/planetary/JungleGenerator.dm index dd5635d4841f..45ae4a7120cc 100644 --- a/code/datums/mapgen/planetary/JungleGenerator.dm +++ b/code/datums/mapgen/planetary/JungleGenerator.dm @@ -228,7 +228,7 @@ ) mob_spawn_chance = 1 mob_spawn_list = list( - /mob/living/simple_animal/hostile/poison/bees/toxin = 1, + /mob/living/simple_animal/hostile/poison/bees = 1, /mob/living/simple_animal/hostile/mushroom = 1, /mob/living/simple_animal/pet/dog/corgi/capybara = 1 ) diff --git a/code/datums/shuttles.dm b/code/datums/shuttles.dm index 35e8ff81a580..66919ca67f3b 100644 --- a/code/datums/shuttles.dm +++ b/code/datums/shuttles.dm @@ -365,3 +365,11 @@ file_name = "nanotrasen_falcon" name = "Falcon Dropship" prefix = "NTSV" + + +/datum/map_template/shuttle/subshuttles/haste + file_name = "inteq_haste" + name = "Haste-class Ambulance" + prefix = "IRMV" + + diff --git a/code/game/gamemodes/clown_ops/clown_ops.dm b/code/game/gamemodes/clown_ops/clown_ops.dm index 5017b1d38c06..9025f6ec2dcb 100644 --- a/code/game/gamemodes/clown_ops/clown_ops.dm +++ b/code/game/gamemodes/clown_ops/clown_ops.dm @@ -47,6 +47,7 @@ uplink_type = /obj/item/uplink/clownop /datum/outfit/syndicate/clownop/no_crystals + name = "Clown Operative - No Crystals" tc = 0 /datum/outfit/syndicate/clownop/leader diff --git a/code/game/machinery/telecomms/machines/relay.dm b/code/game/machinery/telecomms/machines/relay.dm index 15f96e69022b..773faec875f4 100644 --- a/code/game/machinery/telecomms/machines/relay.dm +++ b/code/game/machinery/telecomms/machines/relay.dm @@ -73,6 +73,36 @@ toggled = FALSE autolinkers = list("r_relay") +/obj/machinery/telecomms/relay/preset/nanotrasen + freq_listening = list(FREQ_COMMAND, FREQ_NANOTRASEN, FREQ_COMMON) + id = "Nanotrasen Relay" + network = "nt_commnet" + +/obj/machinery/telecomms/relay/preset/inteq + freq_listening = list(FREQ_COMMAND, FREQ_INTEQ, FREQ_COMMON) + id = "IRMG Relay" + network = "irmg_commnet" + +/obj/machinery/telecomms/relay/preset/minutemen + freq_listening = list(FREQ_COMMAND, FREQ_MINUTEMEN, FREQ_COMMON) + id = "CMM Relay" + network = "cmm_commnet" + +/obj/machinery/telecomms/relay/preset/solgov + freq_listening = list(FREQ_COMMAND, FREQ_SOLGOV, FREQ_COMMON) + id = "SolGov Relay" + network = "solgov_commnet" + +/obj/machinery/telecomms/relay/preset/syndicate + freq_listening = list(FREQ_COMMAND, FREQ_SYNDICATE, FREQ_COMMON) + id = "Syndicate Relay" + network = "synd_commnet" + +/obj/machinery/telecomms/relay/preset/frontiersmen + freq_listening = list(FREQ_COMMAND, FREQ_PIRATE, FREQ_COMMON) + id = "Frontiersmen Relay" + network = "frontier_commnet" + //Generic preset relay /obj/machinery/telecomms/relay/preset/auto hide = TRUE diff --git a/code/game/objects/items/circuitboards/machine_circuitboards.dm b/code/game/objects/items/circuitboards/machine_circuitboards.dm index faa366f893b0..306634a639fc 100644 --- a/code/game/objects/items/circuitboards/machine_circuitboards.dm +++ b/code/game/objects/items/circuitboards/machine_circuitboards.dm @@ -687,7 +687,6 @@ name = "Fax Machine" build_path = /obj/machinery/fax req_components = list( - /obj/item/stock_parts/subspace/crystal = 1, /obj/item/stock_parts/scanning_module = 1, /obj/item/stock_parts/micro_laser = 1, /obj/item/stock_parts/manipulator = 1,) @@ -1496,6 +1495,15 @@ /obj/item/stock_parts/capacitor = 2 ) +/obj/item/circuitboard/machine/printer + name = "Poster Printer (Machine Board)" + build_path = /obj/machinery/printer + req_components = list( + /obj/item/stock_parts/scanning_module = 2, + /obj/item/stock_parts/micro_laser = 1, + /obj/item/stock_parts/manipulator = 2, + ) + /obj/item/circuitboard/machine/coffeemaker name = "Modello 3 Coffeemaker" build_path = /obj/machinery/coffeemaker diff --git a/code/game/objects/items/stacks/tape.dm b/code/game/objects/items/stacks/tape.dm index 92fe31d32a98..d22b1be85344 100644 --- a/code/game/objects/items/stacks/tape.dm +++ b/code/game/objects/items/stacks/tape.dm @@ -47,7 +47,7 @@ /obj/item/stack/sticky_tape/super name = "super sticky tape" singular_name = "super sticky tape" - desc = "Quite possibly the most mischevious substance in the galaxy. Use with extreme lack of caution." + desc = "Quite possibly the most mischievous substance in the galaxy. Use with extreme lack of caution." icon_state = "tape_y" prefix = "super sticky" conferred_embed = EMBED_HARMLESS_SUPERIOR diff --git a/code/game/objects/items/storage/belt.dm b/code/game/objects/items/storage/belt.dm index fba5fd1b4fc7..84b34bed9ea7 100644 --- a/code/game/objects/items/storage/belt.dm +++ b/code/game/objects/items/storage/belt.dm @@ -689,17 +689,17 @@ /obj/item/storage/belt/bandolier name = "bandolier" - desc = "A bandolier for holding shotgun ammunition." + desc = "A bandolier for holding ammunition. Does not hold magazines" icon_state = "bandolier" item_state = "bandolier" /obj/item/storage/belt/bandolier/ComponentInitialize() . = ..() var/datum/component/storage/STR = GetComponent(/datum/component/storage) - STR.max_items = 18 + STR.max_items = 40 STR.display_numerical_stacking = TRUE STR.set_holdable(list( - /obj/item/ammo_casing/shotgun + /obj/item/ammo_casing )) /obj/item/storage/belt/fannypack diff --git a/code/game/objects/items/storage/toolbox.dm b/code/game/objects/items/storage/toolbox.dm index 1daf6cf922a1..312ce3e14d0f 100644 --- a/code/game/objects/items/storage/toolbox.dm +++ b/code/game/objects/items/storage/toolbox.dm @@ -233,39 +233,47 @@ drop_sound = 'sound/items/handling/ammobox_drop.ogg' pickup_sound = 'sound/items/handling/ammobox_pickup.ogg' material_flags = NONE + has_latches = FALSE -/obj/item/storage/toolbox/ammo/a762/PopulateContents() - name = "ammo can (7.62x54mmR)" +/obj/item/storage/toolbox/ammo/a850r/PopulateContents() + name = "ammo can (8x50mmR)" + icon_state = "ammobox_850" for(var/i in 1 to 7) - new /obj/item/ammo_box/a762(src) + new /obj/item/ammo_box/magazine/illestren_a850r(src) /obj/item/storage/toolbox/ammo/a762_39/PopulateContents() name = "ammo can (7.62x39mm)" + icon_state = "ammobox_762" for (var/i in 1 to 4) new /obj/item/ammo_box/a762_39(src) /obj/item/storage/toolbox/ammo/a308/PopulateContents() name = "ammo can (.308)" + icon_state = "ammobox_308" for (var/i in 1 to 4) new /obj/item/ammo_box/a308(src) /obj/item/storage/toolbox/ammo/c45/PopulateContents() name = "ammo can (.45)" + icon_state = "ammobox_45" for (var/i in 1 to 4) new /obj/item/ammo_box/c45(src) /obj/item/storage/toolbox/ammo/c9mm/PopulateContents() name = "ammo can (9mm)" + icon_state = "ammobox_9mm" for (var/i in 1 to 4) new /obj/item/ammo_box/c9mm(src) /obj/item/storage/toolbox/ammo/c10mm/PopulateContents() name = "ammo can (10mm)" + icon_state = "ammobox_10mm" for (var/i in 1 to 4) new /obj/item/ammo_box/c10mm(src) /obj/item/storage/toolbox/ammo/shotgun/PopulateContents() name = "ammo can (12ga)" + icon_state = "ammobox_12ga" for (var/i in 1 to 4) new /obj/item/ammo_box/a12g(src) diff --git a/code/game/objects/items/storage/uplink_kits.dm b/code/game/objects/items/storage/uplink_kits.dm index 6b3658b523df..221cdf42d3f3 100644 --- a/code/game/objects/items/storage/uplink_kits.dm +++ b/code/game/objects/items/storage/uplink_kits.dm @@ -194,7 +194,7 @@ if("made_man") new /obj/effect/spawner/lootdrop/mafia_outfit(src) // 0 TC, just an outfit for the new 'don of this family - new /obj/item/gun/ballistic/automatic/smg/thompson/drum(src) // 20 TC, a gun with 50 .45 bullets on a three round burst is kinda outstanding + new /obj/item/gun/ballistic/automatic/smg/firestorm/pan(src) // 20 TC, a gun with 50 .45 bullets on a three round burst is kinda outstanding new /obj/item/switchblade(src) // 3 TC? It's nice, but it's really a stealth/oh fuck I'm out of ammo weapon new /obj/item/reagent_containers/food/drinks/bottle/vodka (src) // 5 TC, free molotov assemblies new /obj/item/reagent_containers/food/drinks/bottle/vodka (src) diff --git a/code/game/objects/structures/crates_lockers/closets/secure/security.dm b/code/game/objects/structures/crates_lockers/closets/secure/security.dm index 66b803e7d041..f94a5d5de585 100644 --- a/code/game/objects/structures/crates_lockers/closets/secure/security.dm +++ b/code/game/objects/structures/crates_lockers/closets/secure/security.dm @@ -300,7 +300,7 @@ for(var/i in 1 to 3) new /obj/item/storage/box/rubbershot(src) for(var/i in 1 to 3) - new /obj/item/gun/ballistic/shotgun/riot(src) + new /obj/item/gun/ballistic/shotgun/hellfire(src) /obj/structure/closet/secure_closet/armory3 name = "armory energy gun locker" diff --git a/code/game/objects/structures/icemoon/cave_entrance.dm b/code/game/objects/structures/icemoon/cave_entrance.dm index dfd999e3aa3a..a20702886c24 100644 --- a/code/game/objects/structures/icemoon/cave_entrance.dm +++ b/code/game/objects/structures/icemoon/cave_entrance.dm @@ -210,7 +210,7 @@ GLOBAL_LIST_INIT(ore_probability, list( */ /obj/effect/collapsing_demonic_portal/proc/drop_loot() visible_message("Something slips out of [src]!") - var/loot = rand(1, 24) + var/loot = rand(1, 23) switch(loot) if(1)//Clown hell. God help you if you roll this. visible_message("You can hear screaming and joyful honking.")//now THIS is what we call a critical failure @@ -965,62 +965,19 @@ GLOBAL_LIST_INIT(ore_probability, list( new /obj/effect/mob_spawn/human/scientist(loc) new /turf/open/floor/mineral/titanium/purple(loc) new /mob/living/simple_animal/slime/random(loc) - if(19)//lost abductor - visible_message("You glimpse a frigid wreckage. A large block of something slips through the portal.") - playsound(loc,'sound/effects/break_stone.ogg', 100, FALSE, 50, TRUE, TRUE) - if(prob(45)) - new /obj/item/stack/sheet/mineral/abductor(loc) - new /mob/living/simple_animal/hostile/asteroid/polarbear(loc) - if(prob(30)) - new /obj/item/clothing/under/abductor(loc) - new /mob/living/simple_animal/hostile/asteroid/polarbear(loc) - if(prob(35)) - new /obj/item/weldingtool/abductor(loc) - if(prob(30)) - new /obj/item/scalpel/alien(loc) - if(prob(35)) - new /obj/item/circuitboard/machine/plantgenes/vault(loc) - new /mob/living/simple_animal/hostile/asteroid/polarbear(loc) - if(prob(35)) - new /obj/item/organ/heart/gland/heal(loc) - new /mob/living/simple_animal/hostile/asteroid/polarbear(loc) - if(prob(35)) - new /obj/item/organ/heart/gland/ventcrawling(loc) - new /mob/living/simple_animal/hostile/asteroid/polarbear(loc) - if(prob(35)) - new /obj/item/organ/heart/gland/slime(loc) - new /mob/living/simple_animal/hostile/asteroid/polarbear(loc) - if(prob(10)) - new /obj/item/organ/heart/gland/spiderman(loc) - new /mob/living/simple_animal/hostile/asteroid/polarbear(loc) - if(prob(35)) - new /obj/item/wrench/abductor(loc) - new /obj/item/screwdriver/abductor(loc) - if(prob(35)) - new /obj/item/crowbar/abductor(loc) - new /obj/item/multitool/abductor(loc) - if(prob(15)) - new /obj/item/abductor_machine_beacon/chem_dispenser(loc) - new /mob/living/simple_animal/hostile/asteroid/polarbear(loc) - if(prob(35)) - new /obj/item/clothing/suit/armor/abductor/vest(loc) - new /mob/living/simple_animal/hostile/asteroid/polarbear(loc) - new /obj/structure/fluff/iced_abductor(loc) - new /mob/living/simple_animal/hostile/asteroid/polarbear(loc) - new /turf/open/floor/mineral/abductor(loc) - if(20)//hey, free elite tumor! + if(19)//hey, free elite tumor! visible_message("A large, pulsating structure falls through the portal and crashes to the floor.") playsound(loc,'sound/effects/break_stone.ogg', 100, FALSE, 50, TRUE, TRUE) new /obj/structure/elite_tumor(loc) new /turf/open/floor/plating/asteroid/basalt(loc) - if(21)//*you flush the toilet.* + if(20)//*you flush the toilet.* visible_message("You hear the faint noise of a long flush.") new /obj/structure/toilet(loc) new /obj/effect/decal/remains(loc) new /obj/item/newspaper(loc) new /turf/open/floor/plastic(loc) new /obj/item/clothing/head/papersack/smiley(loc) //welcome to the bathroom - if(22)//Research & Zombies + if(21)//Research & Zombies visible_message("Flashing lights and quarantine alarms echo through the portal. You smell rotting flesh and plasma.") playsound(loc,'sound/misc/bloblarm.ogg', 120, FALSE, 50, TRUE, TRUE) if(prob(35)) @@ -1065,7 +1022,7 @@ GLOBAL_LIST_INIT(ore_probability, list( new /obj/item/research_notes/loot/small(loc) new/turf/open/floor/mineral/titanium/purple(loc) new /mob/living/simple_animal/hostile/zombie(loc) - if(23)//Silverback's locker room + if(22)//Silverback's locker room visible_message("You catch a glimpse of verdant green. Smells like a locker room.") playsound(loc,'sound/creatures/gorilla.ogg', 75, FALSE, 50, TRUE, TRUE) new /mob/living/simple_animal/hostile/gorilla(loc) diff --git a/code/game/objects/structures/printer.dm b/code/game/objects/structures/printer.dm new file mode 100644 index 000000000000..c4c1abea9cf7 --- /dev/null +++ b/code/game/objects/structures/printer.dm @@ -0,0 +1,185 @@ +/obj/machinery/printer + name = "poster printer" + desc = "Used to print out various posters using toner cartridges." + icon = 'icons/obj/printer.dmi' + icon_state = "printer" + density = TRUE + power_channel = AREA_USAGE_EQUIP + max_integrity = 100 + pass_flags = PASSTABLE + circuit = /obj/item/circuitboard/machine/printer + var/busy = FALSE + var/datum/weakref/loaded_item_ref + var/datum/weakref/printed_poster + var/obj/item/toner/toner_cartridge + var/poster_type + +/obj/machinery/printer/Initialize() + . = ..() + toner_cartridge = new(src) + +/obj/machinery/printer/update_overlays() + . = ..() + if(panel_open) + . += mutable_appearance(icon, "printer_panel") + var/obj/item/loaded = loaded_item_ref?.resolve() + var/obj/item/poster = printed_poster?.resolve() + if(loaded) + . += mutable_appearance(icon, "contain_paper") + if(poster) + . += mutable_appearance(icon, "contain_poster") + +/obj/machinery/printer/screwdriver_act(mob/living/user, obj/item/screwdriver) + . = ..() + default_deconstruction_screwdriver(user, icon_state, icon_state, screwdriver) + update_icon() + return TRUE + +/obj/machinery/printer/Destroy() + QDEL_NULL(toner_cartridge) + QDEL_NULL(loaded_item_ref) + QDEL_NULL(printed_poster) + return ..() + +/obj/machinery/printer/attackby(obj/item/item, mob/user, params) + if(panel_open) + if(is_wire_tool(item)) + wires.interact(user) + return + if(can_load_item(item)) + if(!loaded_item_ref?.resolve()) + loaded_item_ref = WEAKREF(item) + item.forceMove(src) + update_icon() + return + else if(istype(item, /obj/item/toner)) + if(toner_cartridge) + to_chat(user, "[src] already has a toner cartridge inserted. Remove that one first.") + return + item.forceMove(src) + toner_cartridge = item + to_chat(user, "You insert [item] into [src].") + else return ..() + +/obj/machinery/printer/proc/can_load_item(obj/item/item) + if(busy) + return FALSE //no loading the printer if there's already a print job happening! + if(!istype(item, /obj/item/paper)) + return FALSE + if(!istype(item, /obj/item/stack)) + return TRUE + var/obj/item/stack/stack_item = item + return stack_item.amount == 1 + +/obj/machinery/printer/ui_data(mob/user) + var/list/data = list() + data["has_paper"] = !!loaded_item_ref?.resolve() + data["has_poster"] = !!printed_poster?.resolve() + + if(toner_cartridge) + data["has_toner"] = TRUE + data["current_toner"] = toner_cartridge.charges + data["max_toner"] = toner_cartridge.max_charges + data["has_enough_toner"] = has_enough_toner() + else + data["has_toner"] = FALSE + data["has_enough_toner"] = FALSE + + return data + +/obj/machinery/printer/proc/has_enough_toner() + return toner_cartridge.charges >= 1 + +/obj/machinery/printer/ui_interact(mob/user, datum/tgui/ui) + ui = SStgui.try_update_ui(user, src, ui) + if(!ui) + ui = new(user, src, "PosterPrinter") + ui.open() + +/obj/machinery/printer/ui_act(action, list/params) + . = ..() + if(.) + return + var/obj/item/poster = printed_poster?.resolve() + var/obj/item/loaded = loaded_item_ref?.resolve() + switch(action) + if("remove") + if(!loaded) + return + loaded.forceMove(drop_location()) + loaded_item_ref = null + update_icon() + return TRUE + if("remove_poster") + if(!poster) + to_chat(usr, span_warning("No poster! waddaheeeeell")) + return + if(busy) + to_chat(usr, span_warning("[src] is still printing your poster! Please wait until it is finished.")) + return FALSE + poster.forceMove(drop_location()) + printed_poster = null + update_icon() + return TRUE + if("choose_type") + poster_type = params["poster_type"] + return TRUE + if("print") + if(busy) + to_chat(usr, span_warning("[src] is currently busy printing a poster. Please wait until it is finished.")) + return FALSE + if(toner_cartridge.charges - 1 < 0) + to_chat(usr, span_warning("There is not enough toner in [src] to print the poster, please replace the cartridge.")) + return FALSE + if(!loaded) + to_chat(usr, span_warning("[src] has no paper in it! Please insert a sheet of paper.")) + return FALSE + if(!poster_type) + to_chat(usr, span_warning("[src] has no poster type selected! Please select a type first!")) + return FALSE + if(poster) + to_chat(usr, span_warning("[src] ejects its current poster before printing a new one.")) + poster.forceMove(drop_location()) + printed_poster = null + update_icon() + print_poster() + return TRUE + if("remove_toner") + if(issilicon(usr) || (ishuman(usr) && !usr.put_in_hands(toner_cartridge))) + toner_cartridge.forceMove(drop_location()) + toner_cartridge = null + return TRUE + +/obj/machinery/printer/proc/print_poster() + busy = TRUE + loaded_item_ref = null + playsound(src, 'sound/items/poster_being_created.ogg', 20, FALSE) + toner_cartridge.charges -= 1 + icon_state = "print" + var/mutable_appearance/overlay = mutable_appearance(icon, "print_poster") + overlays += overlay + update_icon() + addtimer(CALLBACK(src, PROC_REF(print_complete), overlay), 2.6 SECONDS) + +/obj/machinery/printer/proc/print_complete(mutable_appearance/remove_overlay) + icon_state = "printer" + overlays -= remove_overlay + switch(poster_type) + if("Syndicate") + var/obj/item/poster/random_contraband/poster = new() + printed_poster = WEAKREF(poster) + if("SolGov") + var/obj/item/poster/random_solgov/poster = new() + printed_poster = WEAKREF(poster) + if("Nanotrasen") + var/obj/item/poster/random_official/poster = new() + printed_poster = WEAKREF(poster) + if("RILENA") + var/obj/item/poster/random_rilena/poster = new() + printed_poster = WEAKREF(poster) + if("Nanotrasen (Retro)") + var/obj/item/poster/random_retro/poster = new() + printed_poster = WEAKREF(poster) + update_icon() + busy = FALSE + poster_type = null diff --git a/code/game/objects/structures/salvaging.dm b/code/game/objects/structures/salvaging.dm index 3d90a25a1013..4f3bee0cff60 100644 --- a/code/game/objects/structures/salvaging.dm +++ b/code/game/objects/structures/salvaging.dm @@ -704,19 +704,4 @@ /obj/item/crowbar/syndie = 30, /obj/item/wirecutters/syndie = 30, /obj/item/multitool/syndie = 30, - - /obj/item/scalpel/alien = 1, - /obj/item/hemostat/alien = 1, - /obj/item/cautery/alien = 1, - /obj/item/retractor/alien = 1, - /obj/item/circular_saw/alien = 1, - /obj/item/surgicaldrill/alien = 1, - - /obj/item/wrench/abductor = 1, - /obj/item/screwdriver/abductor = 1, - /obj/item/weldingtool/abductor = 1, - /obj/item/crowbar/abductor = 1, - /obj/item/wirecutters/abductor = 1, - /obj/item/multitool/abductor = 1, - ) diff --git a/code/game/turfs/closed/_closed.dm b/code/game/turfs/closed/_closed.dm index d179a2930d2f..c7a1d9dd6f29 100644 --- a/code/game/turfs/closed/_closed.dm +++ b/code/game/turfs/closed/_closed.dm @@ -230,7 +230,7 @@ /turf/closed/indestructible/fakedoor name = "CentCom Access" icon = 'icons/obj/doors/airlocks/centcom/centcom.dmi' - icon_state = "fake_door" + icon_state = "fakedoor" /turf/closed/indestructible/rock name = "dense rock" diff --git a/code/modules/admin/admin_fax_panel.dm b/code/modules/admin/admin_fax_panel.dm new file mode 100644 index 000000000000..32f523584a39 --- /dev/null +++ b/code/modules/admin/admin_fax_panel.dm @@ -0,0 +1,145 @@ +/** + * If client have R_ADMIN flag, opens an admin fax panel. + */ +/client/proc/fax_panel() + set name = "Send Fax Message" + set category = "Admin" + + if(!check_rights(R_ADMIN)) + return + + var/datum/fax_panel_interface/ui = new(usr) + ui.ui_interact(usr) + +/// Admin Fax Panel. Tool for sending fax messages faster. +/datum/fax_panel_interface + /// All faxes in from machinery list() + var/available_faxes = list() + /// List with available stamps + var/stamp_list = list() + + /// Paper which admin edit and send. + var/obj/item/paper/fax_paper = new /obj/item/paper(null) + + /// Default name of fax. Used when field with fax name not edited. + var/sending_fax_name = "Secret" + /// Default name of paper. paper - bluh-bluh. Used when field with paper name not edited. + var/default_paper_name = "Standard Report" + +/datum/fax_panel_interface/New() + //Get all faxes, and save them to our list. + for(var/obj/machinery/fax/fax as anything in GLOB.fax_machines) + available_faxes += WEAKREF(fax) + + //Get all stamps + for(var/stamp in subtypesof(/obj/item/stamp)) + var/obj/item/stamp/real_stamp = new stamp() + if(!istype(real_stamp, /obj/item/stamp/chameleon)) + var/stamp_detail = real_stamp.get_writing_implement_details() + stamp_list += list(list(real_stamp.name, real_stamp.icon_state, stamp_detail["stamp_class"])) + + //Give our paper special status, to read everywhere. + fax_paper.request_state = TRUE + +/** + * Return fax if name exists + * Arguments: + * * name - Name of fax what we try to find. + */ +/datum/fax_panel_interface/proc/get_fax_by_name(name) + if(!length(available_faxes)) + return null + + for(var/datum/weakref/weakrefed_fax as anything in available_faxes) + var/obj/machinery/fax/potential_fax = weakrefed_fax.resolve() + if(potential_fax && istype(potential_fax)) + if(potential_fax.fax_name == name) + return potential_fax + return null + +/datum/fax_panel_interface/ui_interact(mob/user, datum/tgui/ui) + ui = SStgui.try_update_ui(user, src, ui) + if(!ui) + ui = new(user, src, "AdminFax") + ui.open() + +/datum/fax_panel_interface/ui_state(mob/user) + return GLOB.admin_state + +/datum/fax_panel_interface/ui_static_data(mob/user) + var/list/data = list() + + data["faxes"] = list() + data["stamps"] = list() + + for(var/stamp in stamp_list) + data["stamps"] += list(stamp[1]) // send only names. + + for(var/datum/weakref/weakrefed_fax as anything in available_faxes) + var/obj/machinery/fax/another_fax = weakrefed_fax.resolve() + if(another_fax && istype(another_fax)) + data["faxes"] += list(another_fax.fax_name) + + return data + +/datum/fax_panel_interface/ui_act(action, list/params, datum/tgui/ui, datum/ui_state/state) + if(..()) + return + + if(!check_rights(R_ADMIN)) + return + + var/obj/machinery/fax/action_fax + + if(params["faxName"]) + action_fax = get_fax_by_name(params["faxName"]) + + switch(action) + + if("follow") + if(!isobserver(usr)) + usr.client?.admin_ghost() + + usr.client?.holder?.admin_follow(action_fax) + + if("preview") // see saved variant + if(!fax_paper) + return + fax_paper.ui_interact(usr) + + if("save") // save paper + if(params["paperName"]) + default_paper_name = params["paperName"] + if(params["fromWho"]) + sending_fax_name = params["fromWho"] + + fax_paper.clear_paper() + var/stamp + var/stamp_class + + for(var/needed_stamp in stamp_list) + if(needed_stamp[1] == params["stamp"]) + stamp = needed_stamp[2] + stamp_class = needed_stamp[3] + break + + fax_paper.name = "paper — [default_paper_name]" + fax_paper.add_raw_text(params["rawText"], advanced_html = TRUE) + + if(stamp) + fax_paper.add_stamp(stamp_class, params["stampX"], params["stampY"], params["stampAngle"], stamp) + + fax_paper.update_static_data(usr) // OK, it's work, and update UI. + + if("send") + //copy + var/obj/item/paper/our_fax = fax_paper.copy(/obj/item/paper) + our_fax.name = fax_paper.name + //send + action_fax.receive(our_fax, sending_fax_name, important = TRUE) + message_admins("[key_name_admin(usr)] has sent a custom fax message to [action_fax.name][ADMIN_FLW(action_fax)][ADMIN_SHOW_PAPER(fax_paper)].") + log_admin("[key_name(usr)] has sent a custom fax message to [action_fax.name]") + + if("createPaper") + var/obj/item/paper/our_paper = fax_paper.copy(/obj/item/paper, usr.loc) + our_paper.name = fax_paper.name diff --git a/code/modules/admin/admin_verbs.dm b/code/modules/admin/admin_verbs.dm index 929cf33f3315..a853f66963af 100644 --- a/code/modules/admin/admin_verbs.dm +++ b/code/modules/admin/admin_verbs.dm @@ -26,7 +26,9 @@ GLOBAL_PROTECT(admin_verbs_default) /client/proc/resetasaycolor, /client/proc/fix_air, /*resets air in designated radius to its default atmos composition*/ /client/proc/addbunkerbypass, - /client/proc/revokebunkerbypass + /client/proc/revokebunkerbypass, + /client/proc/requests, + /client/proc/fax_panel, /*send a paper to fax*/ ) GLOBAL_LIST_INIT(admin_verbs_admin, world.AVerbsAdmin()) GLOBAL_PROTECT(admin_verbs_admin) @@ -119,7 +121,6 @@ GLOBAL_LIST_INIT(admin_verbs_fun, list( /client/proc/polymorph_all, /client/proc/show_tip, /client/proc/smite, - /client/proc/fax_manager, /client/proc/spawn_ruin, )) GLOBAL_PROTECT(admin_verbs_fun) @@ -283,7 +284,6 @@ GLOBAL_LIST_INIT(admin_verbs_hideable, list( /client/proc/cmd_display_del_log, /client/proc/toggle_combo_hud, /client/proc/debug_huds, - /client/proc/fax_manager )) GLOBAL_PROTECT(admin_verbs_hideable) diff --git a/code/modules/admin/topic.dm b/code/modules/admin/topic.dm index bb46d7250b0b..b917501d0bb8 100644 --- a/code/modules/admin/topic.dm +++ b/code/modules/admin/topic.dm @@ -2218,10 +2218,14 @@ return GLOB.interviews.ui_interact(usr) - else if(href_list["open_fax_manager"]) + else if(href_list["show_paper"]) if(!check_rights(R_ADMIN)) return - usr.client.fax_manager() + + var/obj/item/paper/paper_to_show = locate(href_list["show_paper"]) + if(!istype(paper_to_show)) + return + paper_to_show.ui_interact(usr) /datum/admins/proc/HandleCMode() if(!check_rights(R_ADMIN)) diff --git a/code/modules/admin/verbs/fax_manager.dm b/code/modules/admin/verbs/fax_manager.dm deleted file mode 100644 index 6c6de9d5d100..000000000000 --- a/code/modules/admin/verbs/fax_manager.dm +++ /dev/null @@ -1,9 +0,0 @@ -/client/proc/fax_manager() - set category = "Fun" - set name = "Fax Manager" - set desc = "Open the manager panel to view all requests during the round in progress." - if(!check_rights(R_ADMIN)) - return - - SSblackbox.record_feedback("tally", "admin_verb", 1, "Fax Manager") //If you are copy-pasting this, ensure the 2nd parameter is unique to the new proc! - GLOB.fax_manager.ui_interact(usr) diff --git a/code/modules/admin/verbs/pray.dm b/code/modules/admin/verbs/pray.dm index 05dccfc0ca75..c2be9649d7c3 100644 --- a/code/modules/admin/verbs/pray.dm +++ b/code/modules/admin/verbs/pray.dm @@ -44,23 +44,21 @@ deity = "Ashen Hunter" var/msg_tmp = msg + GLOB.requests.pray(usr.client, msg, usr.job == "Chaplain") msg = "[icon2html(cross, GLOB.admins)][prayer_type][deity ? " (to [deity])" : ""]: [ADMIN_FULLMONTY(src)] [ADMIN_SC(src)]: [msg]" for(var/client/C in GLOB.admins) if(C.prefs.chat_toggles & CHAT_PRAYER) to_chat(C, msg, confidential = TRUE) - if(C.prefs.toggles & SOUND_PRAYERS) - if(usr.job == "Chaplain") - SEND_SOUND(C, sound('sound/effects/pray.ogg')) to_chat(usr, "You pray to the gods: \"[msg_tmp]\"", confidential = TRUE) SSredbot.send_discord_message("admin", "Prayer from [src.key]/([src.name]): [msg]") SSblackbox.record_feedback("tally", "admin_verb", 1, "Prayer") //If you are copy-pasting this, ensure the 2nd parameter is unique to the new proc! - //log_admin("HELP: [key_name(src)]: [msg]") /// Used by communications consoles to message CentCom /proc/message_centcom(text, mob/sender) var/msg = copytext_char(sanitize(text), 1, MAX_MESSAGE_LEN) + GLOB.requests.message_centcom(sender.client, msg) msg = "CENTCOM:[ADMIN_FULLMONTY(sender)] [ADMIN_CENTCOM_REPLY(sender)]: [msg]" to_chat(GLOB.admins, msg, confidential = TRUE) for(var/obj/machinery/computer/communications/console in GLOB.machines) @@ -69,6 +67,7 @@ /// Used by communications consoles to message the Syndicate /proc/message_syndicate(text, mob/sender) var/msg = copytext_char(sanitize(text), 1, MAX_MESSAGE_LEN) + GLOB.requests.message_syndicate(sender.client, msg) msg = "SYNDICATE:[ADMIN_FULLMONTY(sender)] [ADMIN_SYNDICATE_REPLY(sender)]: [msg]" to_chat(GLOB.admins, msg, confidential = TRUE) for(var/obj/machinery/computer/communications/console in GLOB.machines) @@ -77,6 +76,7 @@ /// Used by communications consoles to request the nuclear launch codes /proc/nuke_request(text, mob/sender) var/msg = copytext_char(sanitize(text), 1, MAX_MESSAGE_LEN) + GLOB.requests.nuke_request(sender.client, msg) msg = "NUKE CODE REQUEST:[ADMIN_FULLMONTY(sender)] [ADMIN_CENTCOM_REPLY(sender)] [ADMIN_SET_SD_CODE]: [msg]" to_chat(GLOB.admins, msg, confidential = TRUE) for(var/obj/machinery/computer/communications/console in GLOB.machines) diff --git a/code/modules/admin/verbs/requests.dm b/code/modules/admin/verbs/requests.dm new file mode 100644 index 000000000000..94aa976dbd1a --- /dev/null +++ b/code/modules/admin/verbs/requests.dm @@ -0,0 +1,7 @@ +/// Verb for opening the requests manager panel +/client/proc/requests() + set name = "Requests Manager" + set desc = "Open the request manager panel to view all requests during this round" + set category = "Admin" + SSblackbox.record_feedback("tally", "admin_verb", 1, "Request Manager") //If you are copy-pasting this, ensure the 2nd parameter is unique to the new proc! + GLOB.requests.ui_interact(usr) diff --git a/code/modules/antagonists/cult/blood_magic.dm b/code/modules/antagonists/cult/blood_magic.dm index 26f0bb1d81ea..003abfd42991 100644 --- a/code/modules/antagonists/cult/blood_magic.dm +++ b/code/modules/antagonists/cult/blood_magic.dm @@ -839,7 +839,7 @@ if(uses < BLOOD_BARRAGE_COST) to_chat(user, "You need [BLOOD_BARRAGE_COST] charges to perform this rite.") else - var/obj/rite = new /obj/item/gun/ballistic/rifle/boltaction/enchanted/arcane_barrage/blood() + var/obj/rite = new /obj/item/gun/ballistic/rifle/illestren/enchanted/arcane_barrage/blood() uses -= BLOOD_BARRAGE_COST qdel(src) if(user.put_in_hands(rite)) diff --git a/code/modules/antagonists/cult/cult_items.dm b/code/modules/antagonists/cult/cult_items.dm index b09b7d989758..7d0e9f7a4346 100644 --- a/code/modules/antagonists/cult/cult_items.dm +++ b/code/modules/antagonists/cult/cult_items.dm @@ -704,7 +704,7 @@ spear.throw_at(owner, 10, 2, owner) -/obj/item/gun/ballistic/rifle/boltaction/enchanted/arcane_barrage/blood +/obj/item/gun/ballistic/rifle/illestren/enchanted/arcane_barrage/blood name = "blood bolt barrage" desc = "Blood for blood." color = "#ff0000" diff --git a/code/modules/antagonists/ert/ert.dm b/code/modules/antagonists/ert/ert.dm index f529c19901a3..d731343d33f0 100644 --- a/code/modules/antagonists/ert/ert.dm +++ b/code/modules/antagonists/ert/ert.dm @@ -207,23 +207,23 @@ /datum/antagonist/ert/lp name = "Loss Prevention Security Specialist" - outfit = /datum/outfit/job/nanotrasen/ert/lp + outfit = /datum/outfit/job/nanotrasen/security/ert/lp role = "Security Specialist" /datum/antagonist/ert/lp/medic name = "Loss Prevention Medical Specialist" - outfit = /datum/outfit/job/nanotrasen/ert/lp/medic + outfit = /datum/outfit/job/nanotrasen/security/ert/lp/medic role = "Medical Specialist" /datum/antagonist/ert/lp/engineer name = "Loss Prevention Engineering Specialist" - outfit = /datum/outfit/job/nanotrasen/ert/lp/engineer + outfit = /datum/outfit/job/nanotrasen/security/ert/lp/engineer role = "Engineering Specialist" /datum/antagonist/ert/lp/lieutenant name = "Loss Prevention Lieutenant" leader = TRUE - outfit = /datum/outfit/job/nanotrasen/ert/lp/lieutenant + outfit = /datum/outfit/job/nanotrasen/security/ert/lp/lieutenant role = "Lieutenant" // ******************************************************************** @@ -461,6 +461,18 @@ outfit = /datum/outfit/job/syndicate/ert/cybersun/medic/leader role = "Lead Medical Technician" +/datum/antagonist/ert/official/syndicate + name = "Syndicate Inspector" + outfit = /datum/outfit/job/syndicate/ert/inspector + role = "Syndicate Inspector" + +/datum/antagonist/ert/official/solgov/greet() + to_chat(owner, "You are a Syndicate Inspector.") + if (ert_team) + to_chat(owner, "The Syndicate Coalition is sending you to [station_name()] with the task: [ert_team.mission.explanation_text]") + else + to_chat(owner, "The Syndicate Coalition is sending you to [station_name()] with the task: [mission.explanation_text]") + // ******************************************************************** // ** Frontiersmen ** // ******************************************************************** diff --git a/code/modules/antagonists/fugitive/fugitive_outfits.dm b/code/modules/antagonists/fugitive/fugitive_outfits.dm index be343bb8bc6e..df784813df40 100644 --- a/code/modules/antagonists/fugitive/fugitive_outfits.dm +++ b/code/modules/antagonists/fugitive/fugitive_outfits.dm @@ -65,7 +65,7 @@ name = "Spacepol Officer" uniform = /obj/item/clothing/under/rank/security/officer/beatcop suit = /obj/item/clothing/suit/armor/vest/blueshirt - belt = /obj/item/gun/ballistic/automatic/pistol/m1911 + belt = /obj/item/gun/ballistic/automatic/pistol/candor head = /obj/item/clothing/head/helmet/police gloves = /obj/item/clothing/gloves/tackler/combat shoes = /obj/item/clothing/shoes/jackboots @@ -87,7 +87,7 @@ /datum/outfit/frontier/hunter name = "Frontiersman Corpse (Hunter)" ears = /obj/item/radio/headset - r_hand = /obj/item/gun/ballistic/rifle/boltaction + r_hand = /obj/item/gun/ballistic/rifle/illestren /datum/outfit/frontier/hunter/pre_equip(mob/living/carbon/human/H) if(prob(50)) @@ -133,7 +133,7 @@ /obj/item/ammo_casing/shotgun/incapacitate = 6 ) -/datum/outfit/bountygrapple/post_equip(mob/living/carbon/human/H, visualsOnly = FALSE) +/datum/outfit/bountyhook/post_equip(mob/living/carbon/human/H, visualsOnly = FALSE) if(visualsOnly) return var/obj/item/card/id/W = H.wear_id diff --git a/code/modules/antagonists/gang/outfits.dm b/code/modules/antagonists/gang/outfits.dm index afe4c65b7e28..ae16ec956470 100644 --- a/code/modules/antagonists/gang/outfits.dm +++ b/code/modules/antagonists/gang/outfits.dm @@ -1,3 +1,6 @@ +/datum/outfit/families_police + name = "Families: Police Officer" + /datum/outfit/families_police/post_equip(mob/living/carbon/human/H, visualsOnly = FALSE) if(visualsOnly) return @@ -21,7 +24,7 @@ ears = /obj/item/radio/headset/headset_sec mask = null head = /obj/item/clothing/head/spacepolice - belt = /obj/item/gun/ballistic/automatic/pistol/m1911 + belt = /obj/item/gun/ballistic/automatic/pistol/candor r_pocket = /obj/item/lighter l_pocket = /obj/item/restraints/handcuffs id = /obj/item/card/id diff --git a/code/modules/asset_cache/asset_list_items.dm b/code/modules/asset_cache/asset_list_items.dm index feb2fd160992..f6a9d07aa68f 100644 --- a/code/modules/asset_cache/asset_list_items.dm +++ b/code/modules/asset_cache/asset_list_items.dm @@ -112,7 +112,16 @@ "stamp-mime" = 'icons/stamp_icons/large_stamp-mime.png', "stamp-centcom" = 'icons/stamp_icons/large_stamp-centcom.png', "stamp-syndicate" = 'icons/stamp_icons/large_stamp-syndicate.png', - "stamp-solgov" = 'icons/stamp_icons/large_stamp-solgov.png' + "stamp-solgov" = 'icons/stamp_icons/large_stamp-solgov.png', + "stamp-inteq" = 'icons/stamp_icons/large_stamp-inteq.png', + "stamp-vanguard" = 'icons/stamp_icons/large_stamp-vanguard.png', + "stamp-maa" = 'icons/stamp_icons/large_stamp-maa.png', + "stamp-artificer" = 'icons/stamp_icons/large_stamp-artificer.png', + "stamp-cmm" = 'icons/stamp_icons/large_stamp-cmm.png', + "stamp-bard" = 'icons/stamp_icons/large_stamp-bard.png', + "stamp-gold" = 'icons/stamp_icons/large_stamp-gold.png', + "stamp-cybersun" = 'icons/stamp_icons/large_stamp-cybersun.png', + "stamp-donk" = 'icons/stamp_icons/large_stamp-donk.png' ) /datum/asset/simple/fuckywucky diff --git a/code/modules/autowiki/pages/ships.dm b/code/modules/autowiki/pages/ships.dm index ecbdf8c65e2d..75b4afc1155b 100644 --- a/code/modules/autowiki/pages/ships.dm +++ b/code/modules/autowiki/pages/ships.dm @@ -73,9 +73,9 @@ return output -/datum/autowiki/ship/proc/get_dummy_image(datum/job/to_equip, filename) +/datum/autowiki/ship/proc/get_dummy_image(datum/job/to_equip) //Controlled randomisation - wiki_dummy.seeded_randomization(filename) + wiki_dummy.seeded_randomization(to_equip.type, list(/datum/species/ethereal, /datum/species/human, /datum/species/ipc, /datum/species/lizard, /datum/species/moth, /datum/species/spider)) //Delete all the old stuff they had wiki_dummy.wipe_state() diff --git a/code/modules/awaymissions/capture_the_flag.dm b/code/modules/awaymissions/capture_the_flag.dm index 77c655c38247..daf7299ca970 100644 --- a/code/modules/awaymissions/capture_the_flag.dm +++ b/code/modules/awaymissions/capture_the_flag.dm @@ -537,10 +537,14 @@ ADD_TRAIT(I, TRAIT_NODROP, CAPTURE_THE_FLAG_TRAIT) /datum/outfit/ctf/instagib + name = "CTF (Instagib)" + r_hand = /obj/item/gun/energy/laser/instakill shoes = /obj/item/clothing/shoes/jackboots/fast /datum/outfit/ctf/red + name = "CTF (Red)" + suit = /obj/item/clothing/suit/space/hardsuit/shielded/ctf/red r_hand = /obj/item/gun/ballistic/automatic/laser/ctf/red l_pocket = /obj/item/ammo_box/magazine/recharge/ctf/red @@ -548,10 +552,14 @@ id = /obj/item/card/id/syndicate_command //it's red /datum/outfit/ctf/red/instagib + name = "CTF (Red, Instagib)" + r_hand = /obj/item/gun/energy/laser/instakill/red shoes = /obj/item/clothing/shoes/jackboots/fast /datum/outfit/ctf/blue + name = "CTF (Blue)" + suit = /obj/item/clothing/suit/space/hardsuit/shielded/ctf/blue r_hand = /obj/item/gun/ballistic/automatic/laser/ctf/blue l_pocket = /obj/item/ammo_box/magazine/recharge/ctf/blue @@ -559,6 +567,8 @@ id = /obj/item/card/id/centcom //it's blue /datum/outfit/ctf/blue/instagib + name = "CTF (Blue, Instagib)" + r_hand = /obj/item/gun/energy/laser/instakill/blue shoes = /obj/item/clothing/shoes/jackboots/fast diff --git a/code/modules/awaymissions/corpse.dm b/code/modules/awaymissions/corpse.dm index 3cc75b08ae1b..8e8739a5acb0 100644 --- a/code/modules/awaymissions/corpse.dm +++ b/code/modules/awaymissions/corpse.dm @@ -514,22 +514,10 @@ /obj/effect/mob_spawn/human/nanotrasensoldier - name = "\improper Nanotrasen Private Security Officer" + name = "\improper Nanotrasen LP Security Specialist" id_job = "Private Security Force" id_access_list = list(ACCESS_CENT_CAPTAIN, ACCESS_CENT_GENERAL, ACCESS_CENT_SPECOPS, ACCESS_CENT_MEDICAL, ACCESS_CENT_STORAGE, ACCESS_SECURITY, ACCESS_MECH_SECURITY) - outfit = /datum/outfit/nanotrasensoldiercorpse - -/datum/outfit/nanotrasensoldiercorpse - name = "NT Private Security Officer Corpse" - uniform = /obj/item/clothing/under/rank/security/officer - suit = /obj/item/clothing/suit/armor/vest - shoes = /obj/item/clothing/shoes/combat - gloves = /obj/item/clothing/gloves/tackler/combat - mask = /obj/item/clothing/mask/gas/sechailer/swat - head = /obj/item/clothing/head/helmet/swat/nanotrasen - back = /obj/item/storage/backpack/security - id = /obj/item/card/id - + outfit = /datum/outfit/job/nanotrasen/security/lp /obj/effect/mob_spawn/human/commander/alive death = FALSE diff --git a/code/modules/cargo/bounties/security.dm b/code/modules/cargo/bounties/security.dm index bcf7b89f3af1..26711f560922 100644 --- a/code/modules/cargo/bounties/security.dm +++ b/code/modules/cargo/bounties/security.dm @@ -3,7 +3,7 @@ description = "Hooligans have boarded CentCom! Ship riot shotguns quick, or things are going to get dirty." reward = 5000 required_count = 2 - wanted_types = list(/obj/item/gun/ballistic/shotgun/riot) + wanted_types = list(/obj/item/gun/ballistic/shotgun/hellfire) /datum/bounty/item/security/recharger name = "Rechargers" diff --git a/code/modules/cargo/packs/ammo.dm b/code/modules/cargo/packs/ammo.dm index 012845f8619f..66a47eb8cc2b 100644 --- a/code/modules/cargo/packs/ammo.dm +++ b/code/modules/cargo/packs/ammo.dm @@ -15,8 +15,8 @@ cost = 1500 /datum/supply_pack/ammo/m45_mag - name = ".45 ACP M1911 Magazine Crate" - desc = "Contains three .45 ACP magazines for the M1911 pistol, each containing eight rounds." + name = ".45 ACP Candor Magazine Crate" + desc = "Contains three .45 ACP magazines for the Candor pistol, each containing eight rounds." contains = list(/obj/item/ammo_box/magazine/m45, /obj/item/ammo_box/magazine/m45, /obj/item/ammo_box/magazine/m45) @@ -90,7 +90,7 @@ */ /datum/supply_pack/ammo/winchester_ammo - name = "Winchester and Detective Special .38 Ammo Boxes" + name = "Flaming Arrow and Detective Special .38 Ammo Boxes" desc = "Contains two 30 round ammo boxes for refilling .38 weapons." cost = 500 contains = list(/obj/item/ammo_box/c38_box, @@ -179,12 +179,12 @@ cost = 2000 /datum/supply_pack/ammo/a762_ammo - name = "7.62x54mm Stripper Clip Crate" - desc = "Contains four 7.62x54mm stripper clips for rifles like the illestren rifle, each containing five rounds." - contains = list(/obj/item/ammo_box/a762, - /obj/item/ammo_box/a762, - /obj/item/ammo_box/a762, - /obj/item/ammo_box/a762) + name = "8x50mmR Stripper Clip Crate" + desc = "Contains four 8x50mmR stripper clips for rifles like the illestren rifle, each containing five rounds." + contains = list(/obj/item/ammo_box/magazine/illestren_a850r, + /obj/item/ammo_box/magazine/illestren_a850r, + /obj/item/ammo_box/magazine/illestren_a850r, + /obj/item/ammo_box/magazine/illestren_a850r) cost = 1000 /datum/supply_pack/ammo/a762_ammo_box diff --git a/code/modules/cargo/packs/gun.dm b/code/modules/cargo/packs/gun.dm index 6ca715889855..8cb9bad2e80e 100644 --- a/code/modules/cargo/packs/gun.dm +++ b/code/modules/cargo/packs/gun.dm @@ -19,7 +19,7 @@ /datum/supply_pack/gun/commanders name = "Commander pistol crate" - desc = "Contains two modified M1911 'Commander' pistols, produced by Nanotrasen and chambered in 9mm." + desc = "Contains two modified Candor 'Commander' pistols, produced by Nanotrasen and chambered in 9mm." cost = 1500 contains = list(/obj/item/gun/ballistic/automatic/pistol/commander, /obj/item/gun/ballistic/automatic/pistol/commander) @@ -45,12 +45,12 @@ contains = list(/obj/item/gun/ballistic/revolver/detective, /obj/item/gun/ballistic/revolver/detective) -/datum/supply_pack/gun/cattlemanrevolver - name = "Cattleman Revolver crate" - desc = "Contains two concealable Cattleman revolvers, chambered in .45 ACP." +/datum/supply_pack/gun/shadowrevolver + name = "Shadow Revolver crate" + desc = "Contains two concealable Shadow revolvers, chambered in .45 ACP." cost = 2500 - contains = list(/obj/item/gun/ballistic/revolver/cattleman, - /obj/item/gun/ballistic/revolver/cattleman) + contains = list(/obj/item/gun/ballistic/revolver/shadow, + /obj/item/gun/ballistic/revolver/shadow) /* @@ -86,42 +86,42 @@ Shotguns */ -/datum/supply_pack/gun/riot_shotgun - name = "Riot Shotguns Crate" - desc = "For when the greytide gets out of hand. Contains 2 pump shotguns, each with a 4-round magazine." - cost = 2500 - contains = list(/obj/item/gun/ballistic/shotgun/lethal, - /obj/item/gun/ballistic/shotgun/lethal) +/datum/supply_pack/gun/hellfire_shotgun + name = "Hellfire Shotguns Crate" + desc = "For when you need to deal with 7 hooligans. Contains 2 pump shotguns, each with a 8-round capacity." + cost = 4500 + contains = list(/obj/item/gun/ballistic/shotgun/hellfire, + /obj/item/gun/ballistic/shotgun/hellfire) crate_name = "shotguns crate" -/datum/supply_pack/gun/ballistic - name = "Combat Shotguns Crate" - desc = "For when the enemy absolutely needs to be replaced with lead. Contains two Aussec-designed combat shotguns." +/datum/supply_pack/gun/brimstone_shotgun + name = "Brimstone Shotguns Crate" + desc = "For when you need to deal with 5 hooligans, and QUICKLY. Contains 2 slamfire shotguns, each with a 5-round capacity. Warranty voided if sawed off." cost = 4500 - contains = list(/obj/item/gun/ballistic/shotgun/automatic/combat, - /obj/item/gun/ballistic/shotgun/automatic/combat) - crate_name = "combat shotguns crate" + contains = list(/obj/item/gun/ballistic/shotgun/brimstone, + /obj/item/gun/ballistic/shotgun/brimstone) + crate_name = "shotguns crate" /* Rifles */ /datum/supply_pack/gun/winchester - name = "Winchester Lever Action Rifle Crate" + name = "Flaming Arrow Lever Action Rifle Crate" desc = "Contains three antiquated lever action rifles intended for hunting wildlife. Chambered in .38 rounds." cost = 1500 - contains = list(/obj/item/gun/ballistic/shotgun/winchester, - /obj/item/gun/ballistic/shotgun/winchester, - /obj/item/gun/ballistic/shotgun/winchester) + contains = list(/obj/item/gun/ballistic/shotgun/flamingarrow, + /obj/item/gun/ballistic/shotgun/flamingarrow, + /obj/item/gun/ballistic/shotgun/flamingarrow) crate_name = "rifle crate" /datum/supply_pack/gun/illestren name = "Illestren Rifle Crate" - desc = "Contains three expertly made bolt action rifles intended for hunting wildlife. Chambered in 7.62x54 rounds." + desc = "Contains three expertly made bolt action rifles intended for hunting wildlife. Chambered in 8x50mmR rounds." cost = 4000 - contains = list(/obj/item/gun/ballistic/rifle/boltaction, - /obj/item/gun/ballistic/rifle/boltaction, - /obj/item/gun/ballistic/rifle/boltaction) + contains = list(/obj/item/gun/ballistic/rifle/illestren, + /obj/item/gun/ballistic/rifle/illestren, + /obj/item/gun/ballistic/rifle/illestren) crate_name = "rifle crate" /datum/supply_pack/gun/wt550 diff --git a/code/modules/client/client_procs.dm b/code/modules/client/client_procs.dm index 06d96d7229cc..8db2e8454828 100644 --- a/code/modules/client/client_procs.dm +++ b/code/modules/client/client_procs.dm @@ -231,6 +231,7 @@ GLOBAL_LIST_INIT(blacklisted_builds, list( GLOB.ahelp_tickets.client_login(src) GLOB.interviews.client_login(src) + GLOB.requests.client_login(src) var/connecting_admin = FALSE //because de-admined admins connecting should be treated like admins. //Admin Authorisation holder = GLOB.admin_datums[ckey] @@ -501,6 +502,7 @@ GLOBAL_LIST_INIT(blacklisted_builds, list( log_access("Logout: [key_name(src)]") GLOB.ahelp_tickets.client_logout(src) GLOB.interviews.client_logout(src) + GLOB.requests.client_logout(src) SSserver_maint.UpdateHubStatus() if(credits) QDEL_LIST(credits) diff --git a/code/modules/clothing/factions/suns.dm b/code/modules/clothing/factions/suns.dm new file mode 100644 index 000000000000..019cb82224d9 --- /dev/null +++ b/code/modules/clothing/factions/suns.dm @@ -0,0 +1,615 @@ + + +////////////// +//Jumpsuits// +///////////// + + +/obj/item/clothing/under/syndicate/suns + name = "\improper SUNS formal suit" + desc = "A fancy-looking tailored suit with purple slacks. Worn typically by students in the first half of their academic journey." + icon_state = "suns_uniform1" + item_state = "suns_uniwhite" + armor = list("melee" = 10, "bullet" = 0, "laser" = 0,"energy" = 0, "bomb" = 0, "bio" = 0, "rad" = 0, "fire" = 50, "acid" = 40) + can_adjust = TRUE + icon = 'icons/obj/clothing/faction/suns/uniforms.dmi' + mob_overlay_icon = 'icons/mob/clothing/faction/suns/uniforms.dmi' + lefthand_file = 'icons/mob/inhands/faction/suns/suns_lefthand.dmi' + righthand_file = 'icons/mob/inhands/faction/suns/suns_righthand.dmi' + +/obj/item/clothing/under/syndicate/suns/alt + name = "\improper SUNS formal suit" + desc = "A fancy-looking tailored shirt with a purple skirt. Worn typically by students in the first half of their academic journey." + icon_state = "suns_uniskirt1" + item_state = "suns_uniwhite" + +/obj/item/clothing/under/syndicate/suns/uniform2 + desc = "A uniform typically worn by students in the final years of their academic journey." + icon_state = "suns_uniform2" + item_state = "suns_uniwhite" + can_adjust = TRUE + +/obj/item/clothing/under/syndicate/suns/uniform2/alt + desc = "A long skirt and blouse typically worn by students in the final years of their academic journey." + icon_state = "suns_uniskirt2" + item_state = "suns_uniwhite" + +/obj/item/clothing/under/syndicate/suns/uniform3 + desc = "A suit typically worn by SUNS graduates and SUNS academic staff. You've come a long way, friend." + icon_state = "suns_uniform3" + item_state = "suns_unipurple" + can_adjust = TRUE + +/obj/item/clothing/under/syndicate/suns/uniform3/alt + desc = "A skirt and blouse typically worn by SUNS graduates and SUNS academic staff. You've come a long way, friend." + icon_state = "suns_uniskirt3" + item_state = "suns_unipurple" + +/obj/item/clothing/under/syndicate/suns/pkuniform + name = "\improper SUNS peacekeeper uniform" + desc = "A uniform designed for ease of movement for both the classroom and the frontier." + icon_state = "suns_pkuniform" + item_state = "suns_uniblack" + +/obj/item/clothing/under/syndicate/suns/workerjumpsuit + name = "\improper SUNS work jumpsuit" + desc = "A casual uniform worn by students and staff to protect from blue collar work." + icon_state = "suns_workerjumpsuit" + item_state = "suns_unipurple" + can_adjust = TRUE + +/obj/item/clothing/under/syndicate/suns/captain + name = "\improper SUNS captain suit" + desc = "An elaborate uniform to set high ranking staff from academia apart from the rest." + icon_state = "suns_captain" + item_state = "suns_uniblack" + can_adjust = TRUE + +/obj/item/clothing/under/syndicate/suns/xo + name = "\improper SUNS academic suit" + desc = "A style of suit typically worn by academic staff." + icon_state = "suns_xo" + item_state = "suns_uniblack" + can_adjust = TRUE + +/obj/item/clothing/under/syndicate/suns/sciencejumpsuit + name = "\improper SUNS lab jumpsuit" + desc = "A comfortable suit meant to protect the individual from exposure to harmful objects." + icon_state = "suns_sciencejumpsuit" + item_state = "suns_uniwhite" + can_adjust = FALSE + +/obj/item/clothing/under/syndicate/suns/doctorscrubs + name = "\improper SUNS medical scrubs" + desc = "Work safe medical scrubs for both the professionals and the trainees." + icon_state = "suns_doctorscrubs" + item_state = "suns_unipurple" + can_adjust = FALSE + + +//////////////////// +//Unarmored suits// +/////////////////// + + +/obj/item/clothing/suit/toggle/suns + name = "\improper SUNS jacket" + desc = "A plain purple SUNS jacket, used fairly often on the frontier." + icon_state = "suns_jacket" + item_state = "suns_overpurple" + icon = 'icons/obj/clothing/faction/suns/suits.dmi' + mob_overlay_icon = 'icons/mob/clothing/faction/suns/suits.dmi' + lefthand_file = 'icons/mob/inhands/faction/suns/suns_lefthand.dmi' + righthand_file = 'icons/mob/inhands/faction/suns/suns_righthand.dmi' + +/obj/item/clothing/suit/toggle/suns/alt + name = "black school jacket" + desc = "A plain black jacket with gold detailing. Found in universities all over the galaxy." + icon_state = "suns_schooljacket" + item_state = "suns_overblack" + +/obj/item/clothing/suit/toggle/suns/workervest + name = "SUNS work vest" + desc = "A protective vest worn by some of the more practically minded students and staff during field work." + icon_state = "suns_workervest" + item_state = "suns_overblack" + +/obj/item/clothing/suit/toggle/labcoat/suns/cmo + name = "medical instructor coat" + desc = "A labcoat often worn by the more eccentric medical instructors." + icon_state = "suns_cmocoat" + item_state = "suns_overblack" + icon = 'icons/obj/clothing/faction/suns/suits.dmi' + mob_overlay_icon = 'icons/mob/clothing/faction/suns/suits.dmi' + lefthand_file = 'icons/mob/inhands/faction/suns/suns_lefthand.dmi' + righthand_file = 'icons/mob/inhands/faction/suns/suns_righthand.dmi' + +/obj/item/clothing/suit/toggle/labcoat/suns/doctorlabcoat + name = "SUNS work vest" + desc = "A stylized white labcoat frequently worn by SUNS medical staff." + icon_state = "suns_doctorlabcoat" + item_state = "suns_overwhite" + icon = 'icons/obj/clothing/faction/suns/suits.dmi' + mob_overlay_icon = 'icons/mob/clothing/faction/suns/suits.dmi' + lefthand_file = 'icons/mob/inhands/faction/suns/suns_lefthand.dmi' + righthand_file = 'icons/mob/inhands/faction/suns/suns_righthand.dmi' + +/obj/item/clothing/suit/hooded/suns + name = "\improper SUNS labcoat" + desc = "An academic labcoat designed to protect the wearer from chemical and non chemical spills." + icon_state = "suns_labcoat" + item_state = "suns_overwhite" + hoodtype = /obj/item/clothing/head/hooded/hood/suns + allowed = list(/obj/item/analyzer, /obj/item/stack/medical, /obj/item/dnainjector, /obj/item/reagent_containers/dropper, /obj/item/reagent_containers/syringe, /obj/item/reagent_containers/hypospray, /obj/item/healthanalyzer, /obj/item/flashlight/pen, /obj/item/reagent_containers/glass/bottle, /obj/item/reagent_containers/glass/beaker, /obj/item/reagent_containers/pill, /obj/item/storage/pill_bottle, /obj/item/paper, /obj/item/melee/classic_baton/telescopic, /obj/item/soap, /obj/item/sensor_device, /obj/item/tank/internals/emergency_oxygen, /obj/item/tank/internals/plasmaman) + armor = list("melee" = 0, "bullet" = 0, "laser" = 0,"energy" = 0, "bomb" = 0, "bio" = 50, "rad" = 0, "fire" = 50, "acid" = 50) + icon = 'icons/obj/clothing/faction/suns/suits.dmi' + mob_overlay_icon = 'icons/mob/clothing/faction/suns/suits.dmi' + lefthand_file = 'icons/mob/inhands/faction/suns/suns_lefthand.dmi' + righthand_file = 'icons/mob/inhands/faction/suns/suns_righthand.dmi' + +/obj/item/clothing/head/hooded/hood/suns + name = "\improper SUNS labcoat hood" + desc = "A hood to protect you from chemical spills." + icon_state = "suns_labcoathood" + item_state = "suns_labcoathood" + armor = list("melee" = 0, "bullet" = 0, "laser" = 0,"energy" = 0, "bomb" = 0, "bio" = 50, "rad" = 0, "fire" = 50, "acid" = 50) + icon = 'icons/obj/clothing/faction/suns/head.dmi' + mob_overlay_icon = 'icons/mob/clothing/faction/suns/head.dmi' + + +////////////////// +//Armored suits// +///////////////// + + +/obj/item/clothing/suit/armor/vest/bulletproof/suns + name = "peacekeeper plating" + desc = "A standard issue set of plate assigned to peacekeepers, both durable and stylish." + icon_state = "suns_pkarmor" + item_state = "suns_pkarmor" + icon = 'icons/obj/clothing/faction/suns/suits.dmi' + mob_overlay_icon = 'icons/mob/clothing/faction/suns/suits.dmi' + lefthand_file = 'icons/mob/inhands/faction/suns/suns_lefthand.dmi' + righthand_file = 'icons/mob/inhands/faction/suns/suns_righthand.dmi' + +/obj/item/clothing/suit/armor/vest/bulletproof/suns/hos + name = "gilded peacekeeper plating" + desc = "A set of plate assigned to peacekeepers, both durable and stylish. This one has a gold lining to indicate rank." + icon_state = "suns_lpkarmor" + item_state = "suns_pkarmor" + +/obj/item/clothing/suit/armor/vest/bulletproof/suns/ehos //remind me to make this something to buy + name = "peacekeeper greatcoat" + desc = "A funky armored coat worn by eccentric peacekeepers. Closing the coat is socially improper." + icon_state = "suns_greatcoat" + item_state = "suns_greatcoat" + +/obj/item/clothing/suit/toggle/suns/pkcoat + name = "peacekeeper coat" + desc = "An armored coat used during special occasions. This one is used in academic security." + icon_state = "suns_pkjacket" + item_state = "suns_overblack" + armor = list("melee" = 15, "bullet" = 30, "laser" = 10, "energy" = 10, "bomb" = 20, "bio" = 0, "rad" = 0, "fire" = 30, "acid" = 25) + lefthand_file = 'icons/mob/inhands/faction/suns/suns_lefthand.dmi' + righthand_file = 'icons/mob/inhands/faction/suns/suns_righthand.dmi' + +/obj/item/clothing/suit/armor/vest/bulletproof/suns/captain + name = "decorated academic coat" + desc = "An armored coat intended for SUNS captains on the frontier. Go forth, and spread the message of the academy." + icon_state = "suns_captaincoat" + item_state = "suns_overblack" + +/obj/item/clothing/suit/armor/vest/bulletproof/suns/xo + name = "academic staff coat" + desc = "A white coat used by SUNS academic staff. It designates the second in command on the ship." + icon_state = "suns_xojacket" + item_state = "suns_overwhite" + + +/////////////// +//Spacesuits// +////////////// + + +/obj/item/clothing/head/helmet/space/syndicate/suns + name = "SUNS space helmet" + icon_state = "suns_vachelm" + item_state = "suns_vachelm" + desc = "An academic standard spacesuit helmet. Normally reserved for low budget tasks in space." + icon = 'icons/obj/clothing/faction/suns/head.dmi' + mob_overlay_icon = 'icons/mob/clothing/faction/suns/head.dmi' + lefthand_file = 'icons/mob/inhands/faction/suns/suns_lefthand.dmi' + righthand_file = 'icons/mob/inhands/faction/suns/suns_righthand.dmi' + +/obj/item/clothing/suit/space/syndicate/suns + name = "SUNS spacesuit" + icon_state = "suns_vacsuit" + item_state = "suns_vacsuit" + desc = "An academic standard spacesuit. Normally reserved for low budget tasks in space." + icon = 'icons/obj/clothing/faction/suns/suits.dmi' + mob_overlay_icon = 'icons/mob/clothing/faction/suns/suits.dmi' + lefthand_file = 'icons/mob/inhands/faction/suns/suns_lefthand.dmi' + righthand_file = 'icons/mob/inhands/faction/suns/suns_righthand.dmi' + +/obj/item/clothing/head/helmet/space/hardsuit/security/suns + name = "\improper SUNS peacekeeper hardsuit helmet" + icon_state = "hardsuit0-suns_pk" + item_state = "hardsuit0-suns_pk" + icon = 'icons/obj/clothing/faction/suns/head.dmi' + mob_overlay_icon = 'icons/mob/clothing/faction/suns/head.dmi' + hardsuit_type = "suns_pk" + +/obj/item/clothing/suit/space/hardsuit/security/suns + name = "\improper SUNS peacekeeper hardsuit" + icon_state = "suns_pkhardsuit" + item_state = "suns_pkhardsuit" + icon = 'icons/obj/clothing/faction/suns/suits.dmi' + mob_overlay_icon = 'icons/mob/clothing/faction/suns/suits.dmi' + hardsuit_type = "suns_pk" + helmettype = /obj/item/clothing/head/helmet/space/hardsuit/security/suns + lefthand_file = 'icons/mob/inhands/faction/suns/suns_lefthand.dmi' + righthand_file = 'icons/mob/inhands/faction/suns/suns_righthand.dmi' + +/obj/item/clothing/head/helmet/space/hardsuit/mining/suns + name = "\improper SUNS industrial hardsuit helmet" + icon_state = "hardsuit0-suns_mining" + item_state = "hardsuit0-suns_mining" + icon = 'icons/obj/clothing/faction/suns/head.dmi' + mob_overlay_icon = 'icons/mob/clothing/faction/suns/head.dmi' + hardsuit_type = "suns_mining" + +/obj/item/clothing/suit/space/hardsuit/mining/suns + name = "\improper SUNS industrial hardsuit" + icon_state = "suns_miningsuit" + item_state = "suns_miningsuit" + icon = 'icons/obj/clothing/faction/suns/suits.dmi' + mob_overlay_icon = 'icons/mob/clothing/faction/suns/suits.dmi' + hardsuit_type = "suns_mining" + helmettype = /obj/item/clothing/head/helmet/space/hardsuit/mining/suns + lefthand_file = 'icons/mob/inhands/faction/suns/suns_lefthand.dmi' + righthand_file = 'icons/mob/inhands/faction/suns/suns_righthand.dmi' + +/obj/item/clothing/head/helmet/space/hardsuit/solgov/suns + name = "\improper SUNS captain's hardsuit helmet" + icon_state = "hardsuit0-suns_solgov" + item_state = "hardsuit0-suns_solgov" + icon = 'icons/obj/clothing/faction/suns/head.dmi' + mob_overlay_icon = 'icons/mob/clothing/faction/suns/head.dmi' + hardsuit_type = "suns_solgov" + desc = "An armored spaceproof helmet, the white glass on the side signifies a captain level rank." + +/obj/item/clothing/suit/space/hardsuit/solgov/suns + name = "\improper SUNS captain's hardsuit" + desc = "A well decorated spaceworthy suit. The design was co-created by SolGov and SUNS academics." + icon_state = "suns_commandsuit" + item_state = "suns_commandsuit" + icon = 'icons/obj/clothing/faction/suns/suits.dmi' + mob_overlay_icon = 'icons/mob/clothing/faction/suns/suits.dmi' + hardsuit_type = "suns_solgov" + helmettype = /obj/item/clothing/head/helmet/space/hardsuit/solgov/suns + lefthand_file = 'icons/mob/inhands/faction/suns/suns_lefthand.dmi' + righthand_file = 'icons/mob/inhands/faction/suns/suns_righthand.dmi' + + +///////// +//Hats// +//////// + + +/obj/item/clothing/head/suns + name = "academic staff beret" + desc = "A soft beret sporting a discontinued inkwell quill feather. If only it could hold ink once more." + icon_state = "suns_xoberet" + item_state = "suns_captainberet" + icon = 'icons/obj/clothing/faction/suns/head.dmi' + mob_overlay_icon = 'icons/mob/clothing/faction/suns/head.dmi' + lefthand_file = 'icons/mob/inhands/faction/suns/suns_lefthand.dmi' + righthand_file = 'icons/mob/inhands/faction/suns/suns_righthand.dmi' + +/obj/item/clothing/head/safety_helmet/suns + desc = "A piece of headgear used in dangerous working conditions to protect the head." + icon_state = "suns_workerhelmet" + item_state = "suns_workerhelmet" + icon = 'icons/obj/clothing/faction/suns/head.dmi' + mob_overlay_icon = 'icons/mob/clothing/faction/suns/head.dmi' + lefthand_file = 'icons/mob/inhands/faction/suns/suns_lefthand.dmi' + righthand_file = 'icons/mob/inhands/faction/suns/suns_righthand.dmi' + +/obj/item/clothing/head/HoS/syndicate/suns //remind me to make this something to buy + name = "peacekeeper cap" + desc = "A black cap worn by the more eccentric peacekeepers." + icon_state = "suns_pkcap" + item_state = "suns_pkcap" + icon = 'icons/obj/clothing/faction/suns/head.dmi' + mob_overlay_icon = 'icons/mob/clothing/faction/suns/head.dmi' + lefthand_file = 'icons/mob/inhands/faction/suns/suns_lefthand.dmi' + righthand_file = 'icons/mob/inhands/faction/suns/suns_righthand.dmi' + +/obj/item/clothing/head/suns/surgery + name = "\improper SUNS surgery cap" + desc = "A surgery cap used by academic students and profesionals alike." + icon_state = "suns_doctorcap" + item_state = "suns_doctorcap" + +/obj/item/clothing/head/welding/suns + name = "peacekeeper visor" + desc = "A head-mounted helmet designed to protect those on the field from bright lights, while also allowing a life support connection. The warnings on this helmet suggest it is not spaceworthy." + icon_state = "sunsvisor" + item_state = "suns_pkhelmet" + tint = 0 + clothing_flags = BLOCK_GAS_SMOKE_EFFECT | ALLOWINTERNALS //Why? Because I'm not giving PK's sec masks nor hud sunglasses. + icon = 'icons/obj/clothing/faction/suns/head.dmi' + mob_overlay_icon = 'icons/mob/clothing/faction/suns/head.dmi' + lefthand_file = 'icons/mob/inhands/faction/suns/suns_lefthand.dmi' + righthand_file = 'icons/mob/inhands/faction/suns/suns_righthand.dmi' + +/obj/item/clothing/head/welding/suns/hos + name = "gilded peacekeeper visor" + desc = "A head-mounted helmet designed to protect those on the field, this one has a gold lining to indicate rank. The warnings on this helmet suggest it is not spaceworthy." + icon_state = "sunslpkvisor" + item_state = "suns_pkhelmet" + +/obj/item/clothing/head/suns/captain + name = "\improper SUNS bicorne hat" + desc = "A unique bicorne hat given to SUNS Captains to display academic seniority." + icon_state = "suns_captainbicorne" + item_state = "suns_captainbicorne" + worn_y_offset = 2 + dog_fashion = null + +/obj/item/clothing/head/suns/cmo //I was told I get one plague doctor outfit and I'm using it + name = "medical instructor hat" + desc = "A hat worn by the more eccentric medical staff." + icon_state = "suns_doctorhat" + item_state = "suns_doctorhat" + permeability_coefficient = 0.01 + + +//////////// +//Glasses// +/////////// + + +/obj/item/clothing/glasses/science/suns //This needs a sprite/lense in the eye of the mask to show its science goggles + name = "eye mask science goggles" + desc = "A fancy looking mask to help against chemical spills. This one is fitted with an analyzer for scanning items and reagents." + icon_state = "suns_sciencemask" + item_state = "suns_sciencemask" + glass_colour_type = /datum/client_colour/glass_colour/purple + icon = 'icons/obj/clothing/faction/suns/eyes.dmi' + mob_overlay_icon = 'icons/mob/clothing/faction/suns/eyes.dmi' + lefthand_file = 'icons/mob/inhands/faction/suns/suns_lefthand.dmi' + righthand_file = 'icons/mob/inhands/faction/suns/suns_righthand.dmi' + +/obj/item/clothing/glasses/hud/health/suns //I need to figure out a way to make the masks toggleable for #style points. + name = "eye mask health scanner HUD" + desc = "A peculiar looking mask commonly seen at academic functions. This one has a health HUD lense in it." + icon_state = "suns_doctormask" + item_state = "suns_doctormask" + glass_colour_type = /datum/client_colour/glass_colour/lightblue + icon = 'icons/obj/clothing/faction/suns/eyes.dmi' + mob_overlay_icon = 'icons/mob/clothing/faction/suns/eyes.dmi' + lefthand_file = 'icons/mob/inhands/faction/suns/suns_lefthand.dmi' + righthand_file = 'icons/mob/inhands/faction/suns/suns_righthand.dmi' + +/obj/item/clothing/glasses/hud/security/suns + name = "eye mask security HUD" + desc = "A peculiar looking mask commonly seen at academic functions. This one gives a heads-up display that scans the humanoids in view and provides accurate data about their ID status and security records." + icon_state = "suns_pkmask" + item_state = "suns_pkmask" + glass_colour_type = /datum/client_colour/glass_colour/red + icon = 'icons/obj/clothing/faction/suns/eyes.dmi' + mob_overlay_icon = 'icons/mob/clothing/faction/suns/eyes.dmi' + lefthand_file = 'icons/mob/inhands/faction/suns/suns_lefthand.dmi' + righthand_file = 'icons/mob/inhands/faction/suns/suns_righthand.dmi' + + +////////// +//Masks// +///////// + + +/obj/item/clothing/mask/gas/suns //someone mentioned they were interested in using this sprite as the regular gasmask re-sprite, I forgor who so we'll deal with that when I PR this + name = "black gas mask" + desc = "A black face covering that allows the user to connect to a personal gas supply. Suprisingly not great at preventing gas inhalation." + icon_state = "suns_gasmask" + item_state = "suns_gasmask2" + icon = 'icons/obj/clothing/faction/suns/mask.dmi' + mob_overlay_icon = 'icons/mob/clothing/faction/suns/mask.dmi' + lefthand_file = 'icons/mob/inhands/faction/suns/suns_lefthand.dmi' + righthand_file = 'icons/mob/inhands/faction/suns/suns_righthand.dmi' + +/obj/item/clothing/mask/surgical/suns + name = "purple sterile mask" + desc = "A sterile mask designed to help prevent the spread of diseases. Now in purple! Pretty!" + icon_state = "suns_sterile" + item_state = "suns_doctorcap" + icon = 'icons/obj/clothing/faction/suns/mask.dmi' + mob_overlay_icon = 'icons/mob/clothing/faction/suns/mask.dmi' + lefthand_file = 'icons/mob/inhands/faction/suns/suns_lefthand.dmi' + righthand_file = 'icons/mob/inhands/faction/suns/suns_righthand.dmi' + +/obj/item/clothing/mask/breath/suns + name = "\improper SUNS half face mask" + desc = "A close-fitting mask that covers JUST enough to connect an air supply." + icon_state = "suns_captainmask" + item_state = "suns_captainmask" + icon = 'icons/obj/clothing/faction/suns/mask.dmi' + mob_overlay_icon = 'icons/mob/clothing/faction/suns/mask.dmi' + lefthand_file = 'icons/mob/inhands/faction/suns/suns_lefthand.dmi' + righthand_file = 'icons/mob/inhands/faction/suns/suns_righthand.dmi' + + +/////////// +//Gloves// +////////// + +// The following employ a slapjob fix to remove the /color subtype, as per maintainer request. +// These should be addressed in any future glove refactor, as that is out of the scope of this PR. +/obj/item/clothing/gloves/suns + name = "stitched fingerless gloves" + desc = "These gloves offer style, purely and plainly." + icon_state = "suns_glovesfingerless" + item_state = "suns_blackgloves" + icon = 'icons/obj/clothing/faction/suns/hands.dmi' + mob_overlay_icon = 'icons/mob/clothing/faction/suns/hands.dmi' + lefthand_file = 'icons/mob/inhands/faction/suns/suns_lefthand.dmi' + righthand_file = 'icons/mob/inhands/faction/suns/suns_righthand.dmi' + +/obj/item/clothing/gloves/suns/captain + name = "\improper SUNS captain's gloves" + desc = "Fancy black gloves for trusted SUNS members. Sports a complex lining that prevents the wearer from being shocked." + icon_state = "suns_captaingloves" + item_state = "suns_blackgloves" + siemens_coefficient = 0 + permeability_coefficient = 0.05 + cold_protection = HANDS + min_cold_protection_temperature = GLOVES_MIN_TEMP_PROTECT + heat_protection = HANDS + max_heat_protection_temperature = GLOVES_MAX_TEMP_PROTECT + armor = list("melee" = 0, "bullet" = 0, "laser" = 0, "energy" = 0, "bomb" = 0, "bio" = 0, "rad" = 0, "fire" = 70, "acid" = 50) + +/obj/item/clothing/gloves/suns/xo + name = "academic staff gloves" + desc = "White gloves that offer a good grip with writing utensils." + icon_state = "suns_xogloves" + item_state = "suns_whitegloves" + +/obj/item/clothing/gloves/suns/yellow + name = "insulated gloves" + desc = "Padded academic gloves that hopefully keep students out of the nurses office." + icon_state = "suns_insulated" + item_state = "suns_blackgloves" + siemens_coefficient = 0 + permeability_coefficient = 0.05 + +/obj/item/clothing/gloves/color/latex/nitrile/suns + name = "white nitrile gloves" + desc = "Thick sterile white gloves that reach up to the elbows. The nanochips that transfer basic paramedic knowledge are disabled during finals week." + icon_state = "suns_latexgloves" + item_state = "suns_whitegloves" + icon = 'icons/obj/clothing/faction/suns/hands.dmi' + mob_overlay_icon = 'icons/mob/clothing/faction/suns/hands.dmi' + lefthand_file = 'icons/mob/inhands/faction/suns/suns_lefthand.dmi' + righthand_file = 'icons/mob/inhands/faction/suns/suns_righthand.dmi' + +/obj/item/clothing/gloves/tackler/dolphin/suns + name = "peacekeeper tackle gloves" + desc = "Sleek tackle gloves that allows the user to sail through the air. The main cause of accidents during finals week." + icon_state = "suns_longglovesblack" + item_state = "suns_blackgloves" + icon = 'icons/obj/clothing/faction/suns/hands.dmi' + mob_overlay_icon = 'icons/mob/clothing/faction/suns/hands.dmi' + lefthand_file = 'icons/mob/inhands/faction/suns/suns_lefthand.dmi' + righthand_file = 'icons/mob/inhands/faction/suns/suns_righthand.dmi' + + +////////// +//Shoes// +///////// + + +/obj/item/clothing/shoes/sneakers/suns + name = "white clogs" + desc = "Comfortable clogs for general use." + icon_state = "suns_doctorclogs" + item_state = "suns_doctorclogs" //I know what the state says, I'm not fixing it. + icon = 'icons/obj/clothing/faction/suns/feet.dmi' + mob_overlay_icon = 'icons/mob/clothing/faction/suns/feet.dmi' + lefthand_file = 'icons/mob/inhands/faction/suns/suns_lefthand.dmi' + righthand_file = 'icons/mob/inhands/faction/suns/suns_righthand.dmi' + +/obj/item/clothing/shoes/combat/suns + name = "fancy combat boots" + desc = "Decent traction combat boots worn by high ranking academic staff." + icon_state = "suns_captainboots" + item_state = "suns_blackboots" + icon = 'icons/obj/clothing/faction/suns/feet.dmi' + mob_overlay_icon = 'icons/mob/clothing/faction/suns/feet.dmi' + lefthand_file = 'icons/mob/inhands/faction/suns/suns_lefthand.dmi' + righthand_file = 'icons/mob/inhands/faction/suns/suns_righthand.dmi' + +/obj/item/clothing/shoes/jackboots/suns + name = "work safe jackboots" + desc = "Academic issued steel toed boots. For those with physically demanding majors." + icon_state = "suns_jackboots" + item_state = "suns_blackboots" + icon = 'icons/obj/clothing/faction/suns/feet.dmi' + mob_overlay_icon = 'icons/mob/clothing/faction/suns/feet.dmi' + lefthand_file = 'icons/mob/inhands/faction/suns/suns_lefthand.dmi' + righthand_file = 'icons/mob/inhands/faction/suns/suns_righthand.dmi' + +/obj/item/clothing/shoes/jackboots/suns/long + name = "peacekeeper longboots" + desc = "Longboots worn by academic security staff and trainees." + icon_state = "suns_longboots" + item_state = "suns_blackboots" + +/obj/item/clothing/shoes/laceup/suns + name = "academy laceup shoes" + desc = "Standard issue laceups from the syndicates resident academy." + icon_state = "suns_laceups" + item_state = "suns_blackboots" + icon = 'icons/obj/clothing/faction/suns/feet.dmi' + mob_overlay_icon = 'icons/mob/clothing/faction/suns/feet.dmi' + lefthand_file = 'icons/mob/inhands/faction/suns/suns_lefthand.dmi' + righthand_file = 'icons/mob/inhands/faction/suns/suns_righthand.dmi' + + +////////// +//Cloaks// +////////// + + +/obj/item/clothing/neck/cloak/suns + name = "\improper SUNS short cloak" + desc = "Worn by both the young and old alike. You can almost feel the academic pride." + icon_state = "suns_shouldercape" + item_state = "suns_overpurple" + icon = 'icons/obj/clothing/faction/suns/neck.dmi' + mob_overlay_icon = 'icons/mob/clothing/faction/suns/neck.dmi' + lefthand_file = 'icons/mob/inhands/faction/suns/suns_lefthand.dmi' + righthand_file = 'icons/mob/inhands/faction/suns/suns_righthand.dmi' + +/obj/item/clothing/neck/cloak/suns/xo + name = "\improper SUNS academic staff cloak" + desc = "Worn by SUNS staff, you can almost smell all of the failing grades this cloak has given." + icon_state = "suns_xocape" + item_state = "suns_xocape" + +/obj/item/clothing/neck/cloak/suns/cap + name = "\improper SUNS captain's cloak" + desc = "Worn by SUNS captains. This cloak has a very imposing aura to it." + icon_state = "suns_captaincloak" + item_state = "suns_captaincloak" + + +/////////////// +//Accessories// +/////////////// + +//These are stored in clothing/accessories.dmi instead of a factional variant due to accessory code being dogwater +//Please transfer them over to a factional file if accessory code is ever fixed + +/obj/item/clothing/accessory/waistcoat/suns + name = "\improper SUNS waistcoat" + desc = "An academic issued run of the mill waistcoat." + icon_state = "suns_waistcoat" + icon = 'icons/obj/clothing/accessories.dmi' + mob_overlay_icon = 'icons/mob/clothing/accessories.dmi' + minimize_when_attached = TRUE + +/obj/item/clothing/accessory/waistcoat/suns/ribbon + name = "\improper SUNS ribbon" + desc = "An academic issued bow, for when you want to feel pretty." + icon_state = "suns_ribbon" + +/obj/item/clothing/accessory/waistcoat/suns/gembow + name = "\improper SUNS gem bow" + desc = "An academic issued bow, for when you want to feel REALLY pretty." + icon_state = "suns_gembow" + +/obj/item/clothing/accessory/waistcoat/suns/poof + name = "\improper SUNS chest poof" + desc = "An academic issued bow, for when you want to feel sophisticated." + icon_state = "suns_poof" diff --git a/code/modules/clothing/head/misc.dm b/code/modules/clothing/head/misc.dm index 9df87d4a5f51..94de3eda735d 100644 --- a/code/modules/clothing/head/misc.dm +++ b/code/modules/clothing/head/misc.dm @@ -520,3 +520,4 @@ name = "SolGov surgery cap" desc = "It's a surgery cap utilized by solarian doctors." icon_state = "solgov_surgery" + diff --git a/code/modules/clothing/head/misc_special.dm b/code/modules/clothing/head/misc_special.dm index f0ef95aca729..eeea7622b4d9 100644 --- a/code/modules/clothing/head/misc_special.dm +++ b/code/modules/clothing/head/misc_special.dm @@ -375,3 +375,4 @@ . = ..() if(!warped) warp_up() + diff --git a/code/modules/clothing/masks/breath.dm b/code/modules/clothing/masks/breath.dm index c5c53a20b699..8ff4e6bcb0d9 100644 --- a/code/modules/clothing/masks/breath.dm +++ b/code/modules/clothing/masks/breath.dm @@ -35,3 +35,4 @@ item_state = "m_mask" permeability_coefficient = 0.01 equip_delay_other = 10 + diff --git a/code/modules/clothing/masks/gasmask.dm b/code/modules/clothing/masks/gasmask.dm index 467377f722dd..9d1bdc939fd3 100644 --- a/code/modules/clothing/masks/gasmask.dm +++ b/code/modules/clothing/masks/gasmask.dm @@ -273,3 +273,4 @@ item_state = "hunter" resistance_flags = FIRE_PROOF | ACID_PROOF flags_inv = HIDEFACIALHAIR|HIDEFACE|HIDEEYES|HIDEEARS|HIDEHAIR + diff --git a/code/modules/clothing/outfits/ert/frontiersmen_ert.dm b/code/modules/clothing/outfits/ert/frontiersmen_ert.dm index 27d89d1b7226..431170b5f3dc 100644 --- a/code/modules/clothing/outfits/ert/frontiersmen_ert.dm +++ b/code/modules/clothing/outfits/ert/frontiersmen_ert.dm @@ -4,7 +4,7 @@ head = /obj/item/clothing/head/beret/sec/frontier mask = /obj/item/clothing/mask/gas/sechailer/minutemen suit = /obj/item/clothing/suit/armor/vest/bulletproof/frontier - suit_store = /obj/item/gun/ballistic/rifle/boltaction + suit_store = /obj/item/gun/ballistic/rifle/illestren uniform = /obj/item/clothing/under/rank/security/officer/frontier shoes = /obj/item/clothing/shoes/combat gloves = /obj/item/clothing/gloves/color/black @@ -15,7 +15,7 @@ id = null // lol - backpack_contents = list(/obj/item/ammo_box/a762=5, /obj/item/grenade/frag=1) + backpack_contents = list(/obj/item/ammo_box/magazine/illestren_a850r=5, /obj/item/grenade/frag=1) /datum/outfit/job/frontiersmen/ert/random name = "ERT - Frontiersman Randomized" @@ -88,22 +88,22 @@ var/weapon = pick(list("Bolt-Action", "Pistol", "Melee")) switch(weapon) if("Bolt-Action") - r_hand = /obj/item/gun/ballistic/rifle/boltaction + r_hand = /obj/item/gun/ballistic/rifle/illestren if(prob(70) && istype(back, /obj/item/storage/backpack)) - backpack_contents += list(/obj/item/ammo_box/a762 = rand(1,4)) + backpack_contents += list(/obj/item/ammo_box/magazine/illestren_a850r = rand(1,4)) if(prob(55)) - l_pocket = /obj/item/ammo_box/a762 + l_pocket = /obj/item/ammo_box/magazine/illestren_a850r if("Pistol") r_hand = pick(list( /obj/item/gun/ballistic/automatic/pistol/disposable, /obj/item/gun/ballistic/automatic/pistol, - /obj/item/gun/ballistic/revolver/pepperbox, + /obj/item/gun/ballistic/revolver/firebrand, /obj/item/gun/energy/e_gun/mini)) if(prob(30)) l_hand = pick(list( /obj/item/gun/ballistic/automatic/pistol/disposable, /obj/item/gun/ballistic/automatic/pistol, - /obj/item/gun/ballistic/revolver/pepperbox, + /obj/item/gun/ballistic/revolver/firebrand, /obj/item/gun/energy/e_gun/mini)) if("Melee") r_hand = pickweight(list( @@ -124,10 +124,10 @@ ears = /obj/item/radio/headset/pirate/alt/captain back = /obj/item/storage/backpack/satchel/leather suit = /obj/item/clothing/suit/armor/frontier - suit_store = /obj/item/gun/ballistic/revolver/nagant + suit_store = /obj/item/gun/ballistic/revolver belt = /obj/item/storage/belt/military/assault - backpack_contents = list(/obj/item/ammo_box/n762_clip=3, /obj/item/binoculars=1, /obj/item/kitchen/knife/combat/survival) + backpack_contents = list(/obj/item/ammo_box/a357=3, /obj/item/binoculars=1, /obj/item/kitchen/knife/combat/survival) /datum/outfit/job/frontiersmen/ert/medic name = "ERT - Frontiersman Medic" diff --git a/code/modules/clothing/outfits/ert/indie_ert.dm b/code/modules/clothing/outfits/ert/indie_ert.dm index f64e7f86a99a..6a8b228aec94 100644 --- a/code/modules/clothing/outfits/ert/indie_ert.dm +++ b/code/modules/clothing/outfits/ert/indie_ert.dm @@ -1,5 +1,7 @@ /datum/outfit/job/independent/ert name = "ERT - Independent Security Officer" + jobtype = /datum/job/officer + job_icon = "securityofficer" head = /obj/item/clothing/head/helmet/sec ears = /obj/item/radio/headset/alt @@ -14,6 +16,8 @@ /datum/outfit/job/independent/ert/emt name = "ERT - Independent Paramedic" + jobtype = /datum/job/paramedic + job_icon = "paramedic" head = /obj/item/clothing/head/soft/paramedic mask = null @@ -27,6 +31,8 @@ /datum/outfit/job/independent/ert/firefighter name = "ERT - Independent Firefighter (Standard)" + jobtype = /datum/job/atmos + job_icon = "atmospherictechnician" head = /obj/item/clothing/head/hardhat/red uniform = /obj/item/clothing/under/utility @@ -43,6 +49,8 @@ /datum/outfit/job/independent/ert/firefighter/medic name = "ERT - Independent Firefighter (Medic)" + jobtype = /datum/job/paramedic + job_icon = "paramedic" mask = /obj/item/clothing/mask/breath/medical back = /obj/item/storage/backpack/fireproof @@ -56,6 +64,8 @@ /datum/outfit/job/independent/ert/firefighter/leader name = "ERT - Independent Firefighter (Group Captain)" + jobtype = /datum/job/chief_engineer + job_icon = "chiefengineer" back = /obj/item/fireaxe suit = /obj/item/clothing/suit/space/hardsuit/engine @@ -66,6 +76,8 @@ /datum/outfit/job/independent/ert/technician name = "ERT - Independent Technician" + jobtype = /datum/job/engineer + job_icon = "stationengineer" head = /obj/item/clothing/head/hardhat uniform = /obj/item/clothing/under/rank/engineering/engineer diff --git a/code/modules/clothing/outfits/ert/inteq_ert.dm b/code/modules/clothing/outfits/ert/inteq_ert.dm index f9a0aec2dc57..5a39d3ea3da4 100644 --- a/code/modules/clothing/outfits/ert/inteq_ert.dm +++ b/code/modules/clothing/outfits/ert/inteq_ert.dm @@ -1,5 +1,7 @@ /datum/outfit/job/inteq/ert name = "ERT - Inteq Rifleman" + jobtype = /datum/job/officer + job_icon = "securityofficer" mask = /obj/item/clothing/mask/gas/sechailer/inteq glasses = /obj/item/clothing/glasses/hud/security/sunglasses/inteq @@ -28,6 +30,8 @@ /datum/outfit/job/inteq/ert/medic name = "ERT - Inteq Corpsman" + jobtype = /datum/job/paramedic + job_icon = "paramedic" uniform = /obj/item/clothing/under/syndicate/inteq/corpsman belt = /obj/item/storage/belt/medical/webbing/paramedic @@ -39,6 +43,8 @@ /datum/outfit/job/inteq/ert/leader name = "ERT - Inteq Vanguard" + jobtype = /datum/job/hos + job_icon = "headofsecurity" ears = /obj/item/radio/headset/inteq/alt/captain back = /obj/item/storage/backpack/messenger/inteq diff --git a/code/modules/clothing/outfits/ert/minutemen_ert.dm b/code/modules/clothing/outfits/ert/minutemen_ert.dm index 6fc4821784b5..8acb733e48f0 100644 --- a/code/modules/clothing/outfits/ert/minutemen_ert.dm +++ b/code/modules/clothing/outfits/ert/minutemen_ert.dm @@ -1,5 +1,7 @@ /datum/outfit/job/minutemen/ert name = "ERT - Minuteman" + jobtype = /datum/job/officer + job_icon = "securityofficerOld" head = /obj/item/clothing/head/helmet/bulletproof/minutemen uniform = /obj/item/clothing/under/rank/security/officer/minutemen @@ -17,6 +19,7 @@ /datum/outfit/job/minutemen/ert/leader name = "ERT - Minuteman Sergeant" + job_icon = "lieutenant" ears = /obj/item/radio/headset/minutemen/alt/captain back = /obj/item/storage/backpack/satchel/sec/cmm @@ -24,6 +27,7 @@ /datum/outfit/job/minutemen/ert/bard name = "ERT - Minuteman (BARD)" + job_icon = "securityofficerOld" suit = /obj/item/clothing/suit/armor/vest/marine/medium suit_store = /obj/item/gun/ballistic/automatic/smg/cm5 @@ -43,6 +47,7 @@ /datum/outfit/job/minutemen/ert/bard/leader name = "ERT - Minuteman Sergeant (BARD)" + job_icon = "lieutenant" belt = /obj/item/storage/belt/military/assault/minutemen uniform = /obj/item/clothing/under/rank/command/minutemen @@ -60,6 +65,7 @@ /datum/outfit/job/minutemen/ert/riot name = "ERT - Minuteman (Riot Officer)" + job_icon = "securityofficerOld" suit = /obj/item/clothing/suit/armor/riot/minutemen head = /obj/item/clothing/head/helmet/riot/minutemen @@ -74,12 +80,15 @@ /datum/outfit/job/minutemen/ert/riot/leader name = "ERT - Minutemen Sergeant (Riot Officer)" + job_icon = "lieutenant" ears = /obj/item/radio/headset/minutemen/alt/captain back = /obj/item/shield/riot/flash /datum/outfit/job/minutemen/ert/inspector name = "ERT - Inspector (Minutemen GOLD)" + jobtype = /datum/job/head_of_personnel + job_icon = "minutemen" head = /obj/item/clothing/head/cowboy/sec/minutemen mask = null @@ -97,12 +106,14 @@ /datum/outfit/job/minutemen/ert/pirate_hunter name = "ERT - Minuteman (Pirate Hunter)" + job_icon = "securityofficerOld" head = null suit = /obj/item/clothing/suit/space/hardsuit/security/independent/minutemen /datum/outfit/job/minutemen/ert/pirate_hunter/leader name = "ERT - Minutemen Sergeant (Pirate Hunter)" + job_icon = "lieutenant" uniform = /obj/item/clothing/under/rank/command/minutemen ears = /obj/item/radio/headset/minutemen/alt/captain diff --git a/code/modules/clothing/outfits/ert/nanotrasen_ert.dm b/code/modules/clothing/outfits/ert/nanotrasen_ert.dm index 2d397b8de828..7e39f0b2f32a 100644 --- a/code/modules/clothing/outfits/ert/nanotrasen_ert.dm +++ b/code/modules/clothing/outfits/ert/nanotrasen_ert.dm @@ -235,10 +235,10 @@ ears = /obj/item/radio/headset/headset_cent glasses = /obj/item/clothing/glasses/sunglasses belt = /obj/item/melee/classic_baton - r_hand = /obj/item/gun/ballistic/rifle/boltaction + r_hand = /obj/item/gun/ballistic/rifle/illestren back = /obj/item/storage/backpack/satchel - l_pocket = /obj/item/ammo_box/a762 - r_pocket = /obj/item/ammo_box/a762 + l_pocket = /obj/item/ammo_box/magazine/illestren_a850r + r_pocket = /obj/item/ammo_box/magazine/illestren_a850r id = /obj/item/card/id/centcom backpack_contents = list(/obj/item/storage/box/survival = 1) /datum/outfit/centcom/centcom_intern/unarmed @@ -263,7 +263,7 @@ name = "CentCom Head Intern" belt = /obj/item/melee/baton/loaded suit = /obj/item/clothing/suit/armor/vest - suit_store = /obj/item/gun/ballistic/rifle/boltaction + suit_store = /obj/item/gun/ballistic/rifle/illestren r_hand = /obj/item/megaphone head = /obj/item/clothing/head/intern @@ -379,9 +379,10 @@ headset.recalculateChannels() // Loss Prevention -/datum/outfit/job/nanotrasen/ert/lp +/datum/outfit/job/nanotrasen/security/ert/lp name = "ERT - Loss Prevention Security Specialist" jobtype = /datum/job/officer + job_icon = "securityresponseofficer" head = null implants = list(/obj/item/implant/mindshield) @@ -403,9 +404,10 @@ backpack_contents = list(/obj/item/radio=1, /obj/item/stock_parts/cell/gun/upgraded=2, /obj/item/screwdriver=1) -/datum/outfit/job/nanotrasen/ert/lp/medic +/datum/outfit/job/nanotrasen/security/ert/lp/medic name = "ERT - Loss Prevention Medical Specialist" jobtype = /datum/job/doctor + job_icon = "medicalresponseofficer" head = null uniform = /obj/item/clothing/under/rank/medical/paramedic/lp @@ -422,9 +424,10 @@ backpack_contents = list(/obj/item/storage/firstaid/medical=1, /obj/item/radio=1) -/datum/outfit/job/nanotrasen/ert/lp/engineer +/datum/outfit/job/nanotrasen/security/ert/lp/engineer name = "ERT - Loss Prevention Engineering Specialist" jobtype = /datum/job/engineer + job_icon = "engineeringresponseofficer" head = null uniform = /obj/item/clothing/under/rank/engineering/engineer/nt/lp @@ -441,9 +444,10 @@ backpack_contents = list(/obj/item/stack/sheet/metal/fifty=1, /obj/item/stack/sheet/glass/fifty=1, /obj/item/radio=1) -/datum/outfit/job/nanotrasen/ert/lp/lieutenant +/datum/outfit/job/nanotrasen/security/ert/lp/lieutenant name = "ERT - Loss Prevention Lieutenant" jobtype = /datum/job/captain + job_icon = "emergencyresponseteamcommander" head = null ears = /obj/item/radio/headset/nanotrasen/alt/captain diff --git a/code/modules/clothing/outfits/ert/solgov_ert.dm b/code/modules/clothing/outfits/ert/solgov_ert.dm index 9962f1d9c74c..bc09a74c1786 100644 --- a/code/modules/clothing/outfits/ert/solgov_ert.dm +++ b/code/modules/clothing/outfits/ert/solgov_ert.dm @@ -18,8 +18,9 @@ /datum/outfit/job/solgov/ert/inspector - name = "ERT - SolGov Inspector" + name = "ERT - Inspector (SolGov)" jobtype = /datum/job/head_of_personnel + job_icon = "solgovrepresentative" uniform = /obj/item/clothing/under/solgov/formal belt = /obj/item/clipboard diff --git a/code/modules/clothing/outfits/ert/syndicate_ert.dm b/code/modules/clothing/outfits/ert/syndicate_ert.dm index 3ef6cea0e53b..ab256d094a38 100644 --- a/code/modules/clothing/outfits/ert/syndicate_ert.dm +++ b/code/modules/clothing/outfits/ert/syndicate_ert.dm @@ -1,5 +1,7 @@ /datum/outfit/job/syndicate/ert name = "ERT - Syndicate Basic" + jobtype = /datum/job/officer + job_icon = "securityofficer" suit = /obj/item/clothing/suit/armor/vest/syndie suit_store = /obj/item/gun/ballistic/automatic/smg/c20r @@ -18,10 +20,9 @@ implants = list(/obj/item/implant/weapons_auth) backpack_contents = list(/obj/item/radio=1) - jobtype = /datum/job/officer // most of these are Shooty Shooty People anyway - /datum/outfit/job/syndicate/ert/leader name = "ERT - Syndicate Basic Leader" + job_icon = "lieutenant" head = /obj/item/clothing/head/HoS/beret/syndicate ears = /obj/item/radio/headset/syndicate/captain @@ -48,6 +49,8 @@ /datum/outfit/job/syndicate/ert/gorlex/medic name = "ERT - Syndicate Gorlex Loyalist Medic" + jobtype = /datum/job/paramedic + job_icon = "paramedic" head = /obj/item/clothing/head/soft/black mask = null @@ -79,6 +82,7 @@ /datum/outfit/job/syndicate/ert/gorlex/leader name = "ERT - Syndicate Gorlex Loyalist Sergeant" + job_icon = "lieutenant" uniform = /obj/item/clothing/under/syndicate/gorlex head = /obj/item/clothing/head/HoS/beret/syndicate @@ -93,6 +97,7 @@ /datum/outfit/job/syndicate/ert/cybersun name = "ERT - Syndicate Cybersun Commando" + job_icon = "syndicate" head = null uniform = /obj/item/clothing/under/syndicate/combat @@ -117,6 +122,7 @@ /datum/outfit/job/syndicate/ert/cybersun/medic name = "ERT - Syndicate Cybersun Paramedic" + job_icon = "paramedic" uniform = /obj/item/clothing/under/syndicate/medic suit = /obj/item/clothing/suit/space/hardsuit/syndi/cybersun/paramed @@ -138,6 +144,7 @@ /datum/outfit/job/syndicate/ert/cybersun/medic/leader name = "ERT - Syndicate Cybersun Lead Paramedic" + job_icon = "chiefmedicalofficer" head = /obj/item/clothing/head/beret/cmo glasses = /obj/item/clothing/glasses/hud/security/night @@ -150,6 +157,8 @@ /datum/outfit/job/syndicate/ert/inspector name = "ERT - Inspector (Syndicate)" + jobtype = /datum/job/head_of_personnel + job_icon = "syndicate" uniform = /obj/item/clothing/under/syndicate/officer head = /obj/item/clothing/head/HoS/beret/syndicate @@ -160,10 +169,11 @@ shoes = /obj/item/clothing/shoes/laceup gloves = /obj/item/clothing/gloves/color/white suit = /obj/item/clothing/suit/armor/hos + l_pocket = null + r_pocket = null suit_store = null - job_icon = "syndicate" - jobtype = /datum/job/head_of_personnel + backpack_contents = list(/obj/item/stamp/syndicate) /datum/outfit/job/syndicate/ert/inspector/post_equip(mob/living/carbon/human/H, visualsOnly) . = ..() diff --git a/code/modules/clothing/outfits/factions/independent.dm b/code/modules/clothing/outfits/factions/independent.dm index 97b806ec4b5b..a3795b7ee057 100644 --- a/code/modules/clothing/outfits/factions/independent.dm +++ b/code/modules/clothing/outfits/factions/independent.dm @@ -1,6 +1,6 @@ /datum/outfit/job/independent name = "Independent - Base Outfit" - faction_icon = "bg_independent" + faction_icon = "bg_indie" uniform = /obj/item/clothing/under/utility box = /obj/item/storage/box/survival @@ -259,6 +259,7 @@ /datum/outfit/job/independent/security/pirate name = "Independent - Security Officer (Pirate)" + ears = /obj/item/radio/headset/pirate uniform = /obj/item/clothing/under/syndicate/camo shoes = /obj/item/clothing/shoes/jackboots head = /obj/item/clothing/head/bandana @@ -311,6 +312,7 @@ /datum/outfit/job/independent/engineer/pirate name = "Independent - Engineer (Pirate)" + ears = /obj/item/radio/headset/pirate uniform = /obj/item/clothing/under/costume/sailor head = /obj/item/clothing/head/bandana shoes = /obj/item/clothing/shoes/jackboots @@ -402,6 +404,10 @@ chameleon_extras = /obj/item/gun/syringe /datum/outfit/job/independent/doctor/pirate + name = "Independent - Medical Doctor (Pirate)" + + ears = /obj/item/radio/headset/pirate + uniform = /obj/item/clothing/under/costume/sailor // Cargo Tech @@ -662,7 +668,17 @@ H.grant_all_languages(TRUE, TRUE, TRUE, LANGUAGE_CURATOR) /datum/outfit/job/independent/curator/dungeonmaster - + name = "Independent - Curator (Dungeon Master)" + uniform = /obj/item/clothing/under/misc/pj/red + suit = /obj/item/clothing/suit/nerdshirt + backpack_contents = list( + /obj/item/choice_beacon/hero = 1, + /obj/item/tape = 1, + /obj/item/storage/pill_bottle/dice = 1, + /obj/item/toy/cards/deck/cas = 1, + /obj/item/toy/cards/deck/cas/black = 1, + /obj/item/hourglass = 1 + ) // Chaplain @@ -707,6 +723,15 @@ chameleon_extras = /obj/item/gun/syringe /datum/outfit/job/independent/chemist/pharma + name = "Independent - Chemist (Pharmacology Student)" + + uniform = /obj/item/clothing/under/rank/medical + shoes = /obj/item/clothing/shoes/sneakers/white + accessory = /obj/item/clothing/neck/scarf/orange + l_pocket = /obj/item/pda/medical + r_pocket = /obj/item/reagent_containers/pill/floorpill + belt = /obj/item/reagent_scanner + backpack_contents = list(/obj/item/book/manual/wiki/chemistry = 1) // Janitor @@ -769,6 +794,21 @@ chameleon_extras = list(/obj/item/gun/syringe, /obj/item/stamp/cmo) /datum/outfit/job/independent/cmo/pharma + name = "Independent - Chief Pharmacist" + + glasses = /obj/item/clothing/glasses/science/prescription/fake //chief pharma is this kind of person + neck = /obj/item/clothing/neck/tie/orange //the Horrible Tie was genuinely too hard to look at + l_pocket = /obj/item/reagent_containers/glass/filter + uniform = /obj/item/clothing/under/suit/tan + alt_uniform = /obj/item/clothing/under/rank/medical/doctor/green + shoes = /obj/item/clothing/shoes/sneakers/brown + suit = /obj/item/clothing/suit/toggle/suspenders/gray + + l_hand = /obj/item/reagent_containers/glass/maunamug + backpack = /obj/item/storage/backpack/chemistry + satchel = /obj/item/storage/backpack/satchel/chem + courierbag = /obj/item/storage/backpack/messenger/chem + backpack_contents = list(/obj/item/melee/classic_baton/telescopic=1, /obj/item/storage/bag/chemistry=1) // Detective diff --git a/code/modules/clothing/outfits/factions/inteq.dm b/code/modules/clothing/outfits/factions/inteq.dm index 79acfa569804..48702c064447 100644 --- a/code/modules/clothing/outfits/factions/inteq.dm +++ b/code/modules/clothing/outfits/factions/inteq.dm @@ -114,6 +114,14 @@ suit_store = /obj/item/flashlight/pen backpack_contents = list(/obj/item/roller=1) +/datum/outfit/job/inteq/paramedic/empty + name = "IRMG Corpsman (Inteq) (Naked)" + + head = null + suit = null + suit_store = null + belt = null + ///Security Officers /datum/outfit/job/inteq/security @@ -193,3 +201,31 @@ courierbag = /obj/item/storage/backpack/messenger/inteq backpack_contents = list(/obj/item/melee/classic_baton=1) + +// cmo + +/datum/outfit/job/inteq/cmo + name = "IRMG Honorable Corpsman (Inteq)" + jobtype = /datum/job/cmo + job_icon = "chiefmedicalofficer" + + belt = /obj/item/storage/belt/medical/webbing/paramedic + ears = /obj/item/radio/headset/inteq/captain + uniform = /obj/item/clothing/under/syndicate/inteq/corpsman + alt_uniform = /obj/item/clothing/under/syndicate/inteq/skirt/corpsman + shoes = /obj/item/clothing/shoes/combat + suit = /obj/item/clothing/suit/hooded/wintercoat/security/inteq/alt + alt_suit = /obj/item/clothing/suit/armor/inteq/corpsman + dcoat = /obj/item/clothing/suit/armor/hos/inteq + r_pocket = /obj/item/pda/medical + + chameleon_extras = null + +/datum/outfit/job/inteq/cmo/empty + name = "IRMG Honorable Corpsman (Inteq) (Naked)" + belt = null + suit = null + alt_suit = null + suit_store = null + dcoat = null + r_pocket = null diff --git a/code/modules/clothing/outfits/factions/nanotrasen.dm b/code/modules/clothing/outfits/factions/nanotrasen.dm index 409a8dd55d47..28ff486e4dc6 100644 --- a/code/modules/clothing/outfits/factions/nanotrasen.dm +++ b/code/modules/clothing/outfits/factions/nanotrasen.dm @@ -380,6 +380,7 @@ job_icon = "medicaldoctor" jobtype = /datum/job/doctor + belt = /obj/item/pda/medical ears = /obj/item/radio/headset/headset_med uniform = /obj/item/clothing/under/rank/medical/doctor shoes = /obj/item/clothing/shoes/sneakers/white diff --git a/code/modules/clothing/outfits/factions/syndicate.dm b/code/modules/clothing/outfits/factions/syndicate.dm index 75158dd577ff..bf78be44fc62 100644 --- a/code/modules/clothing/outfits/factions/syndicate.dm +++ b/code/modules/clothing/outfits/factions/syndicate.dm @@ -100,6 +100,35 @@ assign_codename(H) +/datum/outfit/job/syndicate/assistant/suns + name = "Syndicate - Freshman (SUNS)" + + uniform = /obj/item/clothing/under/syndicate/suns + alt_uniform = /obj/item/clothing/under/syndicate/suns/alt + suit = /obj/item/clothing/suit/toggle/suns/alt + alt_suit = /obj/item/clothing/suit/toggle/suns + shoes = /obj/item/clothing/shoes/laceup/suns + gloves = null + ears = null + box = /obj/item/storage/box/survival + + backpack = /obj/item/storage/backpack + satchel = /obj/item/storage/backpack/satchel + duffelbag = /obj/item/storage/backpack/duffelbag + courierbag = /obj/item/storage/backpack/messenger + +/datum/outfit/job/syndicate/assistant/suns/halfway + name = "Syndicate - Junior (SUNS)" + + uniform = /obj/item/clothing/under/syndicate/suns/uniform2 + alt_uniform = /obj/item/clothing/under/syndicate/suns/uniform2/alt + +/datum/outfit/job/syndicate/assistant/suns/complete + name = "Syndicate - Graduate (SUNS)" + + uniform = /obj/item/clothing/under/syndicate/suns/uniform3 + alt_uniform = /obj/item/clothing/under/syndicate/suns/uniform3 + //atmos techs /datum/outfit/job/syndicate/atmos @@ -199,11 +228,18 @@ /datum/outfit/job/syndicate/botanist/suns name = "Syndicate - Botanist-Chemist (SUNS)" + uniform = /obj/item/clothing/under/syndicate/suns/sciencejumpsuit id = /obj/item/card/id/syndicate_command/crew_id - shoes = /obj/item/clothing/shoes/jackboots - glasses = /obj/item/clothing/glasses/science - suit = /obj/item/clothing/suit/toggle/labcoat/chemist + shoes = /obj/item/clothing/shoes/sneakers/suns + glasses = /obj/item/clothing/glasses/science/suns + suit = /obj/item/clothing/suit/hooded/suns suit_store = null + neck = /obj/item/clothing/neck/cloak/suns + + backpack = /obj/item/storage/backpack + satchel = /obj/item/storage/backpack/satchel + duffelbag = /obj/item/storage/backpack/duffelbag + courierbag = /obj/item/storage/backpack/messenger //Capitan @@ -268,6 +304,21 @@ head = /obj/item/clothing/head/HoS/cybersun gloves = /obj/item/clothing/gloves/combat +/datum/outfit/job/syndicate/captain/suns + name = "Syndicate - Captain (SUNS)" + + uniform = /obj/item/clothing/under/syndicate/suns/captain + shoes = /obj/item/clothing/shoes/combat/suns + head = /obj/item/clothing/head/suns/captain + gloves = /obj/item/clothing/gloves/suns/captain + suit = /obj/item/clothing/suit/armor/vest/bulletproof/suns/captain + mask = /obj/item/clothing/mask/breath/suns + neck = /obj/item/clothing/neck/cloak/suns/cap + + backpack = /obj/item/storage/backpack + satchel = /obj/item/storage/backpack/satchel + duffelbag = /obj/item/storage/backpack/duffelbag + courierbag = /obj/item/storage/backpack/messenger //cargo tech @@ -381,18 +432,25 @@ backpack_contents = list(/obj/item/melee/classic_baton/telescopic=1) /datum/outfit/job/syndicate/cmo/suns - name = "Syndicate - Medical Director (SUNS)" + name = "Syndicate - Medical Instructor (SUNS)" - uniform = /obj/item/clothing/under/syndicate + uniform = /obj/item/clothing/under/syndicate/suns/doctorscrubs ears = /obj/item/radio/headset/syndicate/alt/captain id = /obj/item/card/id/syndicate_command/captain_id - shoes = /obj/item/clothing/shoes/jackboots + shoes = /obj/item/clothing/shoes/combat/suns l_pocket = /obj/item/pinpointer/crew - shoes = /obj/item/clothing/shoes/sneakers/brown - suit = /obj/item/clothing/suit/toggle/labcoat/cmo + suit = /obj/item/clothing/suit/toggle/labcoat/suns/cmo l_hand = /obj/item/storage/firstaid/medical suit_store = /obj/item/flashlight/pen backpack_contents = list(/obj/item/melee/classic_baton/telescopic=1) + gloves = /obj/item/clothing/gloves/color/latex/nitrile/suns + glasses = /obj/item/clothing/glasses/hud/health/suns + head = /obj/item/clothing/head/suns/cmo + + backpack = /obj/item/storage/backpack + satchel = /obj/item/storage/backpack/satchel + duffelbag = /obj/item/storage/backpack/duffelbag + courierbag = /obj/item/storage/backpack/messenger //"Head Of Personnel" @@ -425,6 +483,23 @@ r_pocket = /obj/item/kitchen/knife/combat/survival glasses = /obj/item/clothing/glasses/sunglasses +/datum/outfit/job/syndicate/head_of_personnel/suns + name = "Syndicate - Academic Staff (SUNS)" + + uniform = /obj/item/clothing/under/syndicate/suns/xo + suit = /obj/item/clothing/suit/armor/vest/bulletproof/suns/xo + shoes = /obj/item/clothing/shoes/combat/suns + head = /obj/item/clothing/head/suns + gloves = /obj/item/clothing/gloves/suns/xo + neck = /obj/item/clothing/neck/cloak/suns/xo + r_pocket = null + glasses = /obj/item/clothing/glasses/science/suns + + backpack = /obj/item/storage/backpack + satchel = /obj/item/storage/backpack/satchel + duffelbag = /obj/item/storage/backpack/duffelbag + courierbag = /obj/item/storage/backpack/messenger + //head of security /datum/outfit/job/syndicate/hos @@ -476,6 +551,26 @@ . = ..() assign_codename(H) +/datum/outfit/job/syndicate/hos/suns/ + name = "Syndicate - Senior Peacekeeper (SUNS)" + uniform = /obj/item/clothing/under/syndicate/suns/pkuniform + suit = /obj/item/clothing/suit/armor/vest/bulletproof/suns/hos + gloves = /obj/item/clothing/gloves/tackler/dolphin/suns + shoes = /obj/item/clothing/shoes/combat/suns + head = /obj/item/clothing/head/welding/suns/hos + glasses = /obj/item/clothing/glasses/hud/security/suns + suit_store = /obj/item/gun/ballistic/automatic/powered/gauss/modelh + + backpack = /obj/item/storage/backpack + satchel = /obj/item/storage/backpack/satchel + duffelbag = /obj/item/storage/backpack/duffelbag + courierbag = /obj/item/storage/backpack/messenger + +/datum/outfit/job/syndicate/hos/suns/alt + name = "Syndicate - Senior Peacekeeper Alt (SUNS)" + suit = /obj/item/clothing/suit/armor/vest/bulletproof/suns/ehos + head = /obj/item/clothing/head/HoS/syndicate/suns + //medical doctors (assorted) /datum/outfit/job/syndicate/doctor @@ -493,6 +588,19 @@ /datum/outfit/job/syndicate/doctor/suns name = "Syndicate - Medical Doctor (SUNS)" + uniform = /obj/item/clothing/under/syndicate/suns/doctorscrubs + shoes = /obj/item/clothing/shoes/sneakers/suns + suit = /obj/item/clothing/suit/toggle/labcoat/suns/doctorlabcoat + gloves = /obj/item/clothing/gloves/color/latex/nitrile/suns + head = /obj/item/clothing/head/suns/surgery + glasses = /obj/item/clothing/glasses/hud/health/suns + mask = /obj/item/clothing/mask/surgical/suns + + backpack = /obj/item/storage/backpack + satchel = /obj/item/storage/backpack/satchel + duffelbag = /obj/item/storage/backpack/duffelbag + courierbag = /obj/item/storage/backpack/messenger + /datum/outfit/job/syndicate/doctor/cybersun name = "Syndicate - Medical Doctor (Cybersun)" @@ -588,7 +696,19 @@ pda_slot = ITEM_SLOT_BELT /datum/outfit/job/syndicate/psychologist/suns - name = "Ship Psychologist (SUNS)" + name = "Syndicate - Psychologist (SUNS)" + + uniform = /obj/item/clothing/under/syndicate/suns/uniform3 + alt_uniform = /obj/item/clothing/under/syndicate/suns/uniform3/alt + suit = /obj/item/clothing/suit/toggle/suns + alt_suit = /obj/item/clothing/suit/toggle/suns/alt + shoes = /obj/item/clothing/shoes/laceup/suns + accessory = /obj/item/clothing/accessory/waistcoat/suns/poof + + backpack = /obj/item/storage/backpack + satchel = /obj/item/storage/backpack/satchel + duffelbag = /obj/item/storage/backpack/duffelbag + courierbag = /obj/item/storage/backpack/messenger //patient (prisoner) @@ -630,6 +750,30 @@ ears = /obj/item/radio/headset/syndicate/alt shoes = /obj/item/clothing/shoes/laceup +//scientists + +/datum/outfit/job/syndicate/science + name = "Syndicate - Scientist" + jobtype = /datum/job/scientist + job_icon = "scientist" + + suit = /obj/item/clothing/suit/toggle/labcoat/science + dcoat = /obj/item/clothing/suit/hooded/wintercoat/science + +/datum/outfit/job/syndicate/science/suns + name = "Syndicate - Scientist (SUNS)" +//more futureproofing than anything, the Aegis currently uses /datum/outfit/job/syndicate/botanist/suns for a similar role + uniform = /obj/item/clothing/under/syndicate/suns/sciencejumpsuit + suit = /obj/item/clothing/suit/hooded/suns + shoes = /obj/item/clothing/shoes/sneakers/suns + glasses = /obj/item/clothing/glasses/science/suns + neck = /obj/item/clothing/neck/cloak/suns + + backpack = /obj/item/storage/backpack + satchel = /obj/item/storage/backpack/satchel + duffelbag = /obj/item/storage/backpack/duffelbag + courierbag = /obj/item/storage/backpack/messenger + //security officers /datum/outfit/job/syndicate/security @@ -685,6 +829,22 @@ . = ..() assign_codename(H) +/datum/outfit/job/syndicate/security/suns + name = "Syndicate - Peacekeeper (SUNS)" + uniform = /obj/item/clothing/under/syndicate/suns/pkuniform + suit = /obj/item/clothing/suit/armor/vest/bulletproof/suns + alt_suit = /obj/item/clothing/suit/toggle/suns/pkcoat + belt = null + gloves = /obj/item/clothing/gloves/tackler/dolphin/suns + shoes = /obj/item/clothing/shoes/jackboots/suns/long + head = /obj/item/clothing/head/welding/suns + glasses = /obj/item/clothing/glasses/hud/security/suns + + backpack = /obj/item/storage/backpack + satchel = /obj/item/storage/backpack/satchel + duffelbag = /obj/item/storage/backpack/duffelbag + courierbag = /obj/item/storage/backpack/messenger + //Miners /datum/outfit/job/syndicate/miner @@ -830,3 +990,19 @@ r_pocket = /obj/item/radio head = /obj/item/clothing/head/soft/cybersun accessory = /obj/item/clothing/accessory/armband/engine + +/datum/outfit/job/syndicate/engineer/suns + name = "Syndicate - Ship Engineer (SUNS)" + + uniform = /obj/item/clothing/under/syndicate/suns/workerjumpsuit + suit = /obj/item/clothing/suit/toggle/suns/workervest + gloves = /obj/item/clothing/gloves/suns/yellow + shoes = /obj/item/clothing/shoes/jackboots/suns + head = /obj/item/clothing/head/safety_helmet/suns + accessory = null + glasses = null + + backpack = /obj/item/storage/backpack + satchel = /obj/item/storage/backpack/satchel + duffelbag = /obj/item/storage/backpack/duffelbag + courierbag = /obj/item/storage/backpack/messenger diff --git a/code/modules/clothing/outfits/standard.dm b/code/modules/clothing/outfits/standard.dm index 72127bbaf7df..7a848b9ca330 100644 --- a/code/modules/clothing/outfits/standard.dm +++ b/code/modules/clothing/outfits/standard.dm @@ -1,3 +1,6 @@ +/datum/outfit/centcom + name = "CentCom Base" + /datum/outfit/centcom/post_equip(mob/living/carbon/human/H, visualsOnly = FALSE) if(visualsOnly) return @@ -37,6 +40,8 @@ glasses = /obj/item/clothing/glasses/eyepatch /datum/outfit/pirate/space + name = "Space Pirate (EVA)" + suit = /obj/item/clothing/suit/space/pirate head = /obj/item/clothing/head/helmet/space/pirate/bandana mask = /obj/item/clothing/mask/breath @@ -45,6 +50,8 @@ id = /obj/item/card/id /datum/outfit/pirate/space/captain + name = "Space Pirate Captain" + head = /obj/item/clothing/head/helmet/space/pirate /datum/outfit/pirate/post_equip(mob/living/carbon/human/H) diff --git a/code/modules/clothing/outfits/vv_outfit.dm b/code/modules/clothing/outfits/vv_outfit.dm index 0c5d99cc7488..374cdb427fdc 100644 --- a/code/modules/clothing/outfits/vv_outfit.dm +++ b/code/modules/clothing/outfits/vv_outfit.dm @@ -1,6 +1,8 @@ // This outfit preserves varedits made on the items // Created from admin helpers. /datum/outfit/varedit + name = "Varedit Outfit" + var/list/vv_values var/list/stored_access var/update_id_name = FALSE //If the name of the human is same as the name on the id they're wearing we'll update provided id when equipping diff --git a/code/modules/clothing/spacesuits/hardsuit.dm b/code/modules/clothing/spacesuits/hardsuit.dm index aa153b233c46..517a51982e7f 100644 --- a/code/modules/clothing/spacesuits/hardsuit.dm +++ b/code/modules/clothing/spacesuits/hardsuit.dm @@ -423,8 +423,8 @@ //Ramzi Syndie suit /obj/item/clothing/head/helmet/space/hardsuit/syndi/ramzi name = "rusted-red hardsuit helmet" - desc = "A beat-up standardized dual-mode helmet derived from more advanced special operations helmets, its red rusted into a dirty brown. It is in EVA mode. Manufactured by Gorlex Marauders." - alt_desc = "A beat-up standardized dual-mode helmet derived from more advanced special operations helmets, its red rusted into a dirty brown. It is in combat mode. Manufactured by Gorlex Marauders." + desc = "A beat-up standardized dual-mode helmet derived from more advanced special operations helmets, its red rusted into a dirty brown. It is in EVA mode. Manufactured by Ramzi Clique." + alt_desc = "A beat-up standardized dual-mode helmet derived from more advanced special operations helmets, its red rusted into a dirty brown. It is in combat mode. Manufactured by Ramzi Clique." icon_state = "hardsuit1-ramzi" item_state = "hardsuit1-ramzi" hardsuit_type = "ramzi" @@ -432,8 +432,8 @@ /obj/item/clothing/suit/space/hardsuit/syndi/ramzi name = "rusted-red hardsuit" - desc = "A beat-up standardized dual-mode hardsuit derived from more advanced special operations hardsuits, its red rusted into a dirty brown. It is in EVA mode. Manufactured by Gorlex Marauders." - alt_desc = "A beat-up standardized dual-mode hardsuit derived from more advanced special operations hardsuits, its red rusted into a dirty brown. It is in combat mode. Manufactured by Gorlex Marauders." + desc = "A beat-up standardized dual-mode hardsuit derived from more advanced special operations hardsuits, its red rusted into a dirty brown. It is in EVA mode. Manufactured by Ramzi Clique." + alt_desc = "A beat-up standardized dual-mode hardsuit derived from more advanced special operations hardsuits, its red rusted into a dirty brown. It is in combat mode. Manufactured by Ramzi Clique." icon_state = "hardsuit1-ramzi" item_state = "hardsuit1-ramzi" hardsuit_type = "ramzi" @@ -452,7 +452,6 @@ icon_state = "hardsuit1-sbg" item_state = "hardsuit1-sbg" hardsuit_type = "sbg" - armor = list("melee" = 40, "bullet" = 50, "laser" = 30, "energy" = 40, "bomb" = 35, "bio" = 100, "rad" = 50, "fire" = 50, "acid" = 90) /obj/item/clothing/suit/space/hardsuit/syndi/sbg name = "beige-red hardsuit" @@ -464,10 +463,6 @@ helmettype = /obj/item/clothing/head/helmet/space/hardsuit/syndi/sbg lightweight = 1 jetpack = null - armor = list("melee" = 40, "bullet" = 50, "laser" = 30, "energy" = 40, "bomb" = 35, "bio" = 100, "rad" = 50, "fire" = 50, "acid" = 90) - combat_slowdown = 0 - jetpack = null - //Hardliner Syndie suit /obj/item/clothing/head/helmet/space/hardsuit/syndi/hl @@ -477,7 +472,6 @@ icon_state = "hardsuit1-hl" item_state = "hardsuit1-hl" hardsuit_type = "hl" - armor = list("melee" = 40, "bullet" = 50, "laser" = 30, "energy" = 40, "bomb" = 35, "bio" = 100, "rad" = 50, "fire" = 50, "acid" = 90) /obj/item/clothing/suit/space/hardsuit/syndi/hl name = "white-red hardsuit" @@ -489,9 +483,6 @@ helmettype = /obj/item/clothing/head/helmet/space/hardsuit/syndi/hl lightweight = 1 jetpack = null - armor = list("melee" = 40, "bullet" = 50, "laser" = 30, "energy" = 40, "bomb" = 35, "bio" = 100, "rad" = 50, "fire" = 50, "acid" = 90) - combat_slowdown = 0 - jetpack = null //Elite Syndie suit @@ -530,28 +521,6 @@ /obj/item/clothing/suit/space/hardsuit/syndi/elite/debug helmettype = /obj/item/clothing/head/helmet/space/hardsuit/syndi/elite/debug -//The Owl Hardsuit -/obj/item/clothing/head/helmet/space/hardsuit/syndi/owl - name = "owl hardsuit helmet" - desc = "A dual-mode advanced helmet designed for any crime-fighting situation. It is in travel mode." - alt_desc = "A dual-mode advanced helmet designed for any crime-fighting situation. It is in combat mode." - icon_state = "hardsuit0-owl" - item_state = "s_helmet" - hardsuit_type = "owl" - visor_flags_inv = 0 - visor_flags = 0 - on = FALSE - full_retraction = TRUE - -/obj/item/clothing/suit/space/hardsuit/syndi/owl - name = "owl hardsuit" - desc = "A dual-mode advanced hardsuit designed for any crime-fighting situation. It is in travel mode." - alt_desc = "A dual-mode advanced hardsuit designed for any crime-fighting situation. It is in combat mode." - icon_state = "hardsuit1-owl" - item_state = "s_suit" - hardsuit_type = "owl" - helmettype = /obj/item/clothing/head/helmet/space/hardsuit/syndi/owl - //Cybersun Hardsuit /obj/item/clothing/suit/space/hardsuit/syndi/cybersun name = "neutron-star combat hardsuit" diff --git a/code/modules/clothing/spacesuits/syndi.dm b/code/modules/clothing/spacesuits/syndi.dm index 4bdafe4f7f41..e5a98c7215e5 100644 --- a/code/modules/clothing/spacesuits/syndi.dm +++ b/code/modules/clothing/spacesuits/syndi.dm @@ -111,7 +111,6 @@ item_state = "syndicate-black" allowed = list(/obj/item/gun, /obj/item/ammo_box, /obj/item/ammo_casing, /obj/item/melee/baton, /obj/item/tank/internals, /obj/item/storage/firstaid, /obj/item/healthanalyzer, /obj/item/stack/medical) - //Black-orange syndicate space suit /obj/item/clothing/head/helmet/space/syndicate/black/orange name = "black space helmet" diff --git a/code/modules/clothing/suits/hoodies.dm b/code/modules/clothing/suits/hoodies.dm index f07d46420c5b..1feea7adfd0f 100644 --- a/code/modules/clothing/suits/hoodies.dm +++ b/code/modules/clothing/suits/hoodies.dm @@ -114,3 +114,4 @@ desc = "A hood for your RILENA themed hoodie." icon_state = "hoodie_rilena" item_state = "hoodie_rilena" + diff --git a/code/modules/clothing/suits/jobs.dm b/code/modules/clothing/suits/jobs.dm index 17bb0329cfef..12a44cbbd252 100644 --- a/code/modules/clothing/suits/jobs.dm +++ b/code/modules/clothing/suits/jobs.dm @@ -312,3 +312,4 @@ item_state = "enginseerhood" body_parts_covered = HEAD flags_inv = HIDEHAIR|HIDEEARS|HIDEFACE|HIDEFACIALHAIR + diff --git a/code/modules/clothing/under/accessories.dm b/code/modules/clothing/under/accessories.dm index 7bb36a9086b4..2f0660bffebf 100644 --- a/code/modules/clothing/under/accessories.dm +++ b/code/modules/clothing/under/accessories.dm @@ -512,7 +512,7 @@ /obj/item/clothing/accessory/holster/marine/Initialize() . = ..() - new /obj/item/gun/ballistic/automatic/pistol/m1911(src) + new /obj/item/gun/ballistic/automatic/pistol/candor(src) new /obj/item/ammo_box/magazine/m45(src) new /obj/item/ammo_box/magazine/m45(src) diff --git a/code/modules/flufftext/Hallucination.dm b/code/modules/flufftext/Hallucination.dm index 9ca494d431e9..2f262b562148 100644 --- a/code/modules/flufftext/Hallucination.dm +++ b/code/modules/flufftext/Hallucination.dm @@ -764,7 +764,7 @@ GLOBAL_LIST_INIT(hallucination_list, list( "stun baton","flash","syringe gun","circular saw","tank transfer valve",\ "ritual dagger","spellbook",\ "pulse rifle","hypospray","ship blueprints",\ - "ship keys","M1911","Commander","credits","handcuffs","you",\ + "ship keys","Candor","Commander","credits","handcuffs","you",\ )] into [equipped_backpack].") message_pool.Add("[other] [pick("sneezes","coughs")].") diff --git a/code/modules/food_and_drinks/food/snacks_frozen.dm b/code/modules/food_and_drinks/food/snacks_frozen.dm index dfbed9ba9112..930fabc31775 100644 --- a/code/modules/food_and_drinks/food/snacks_frozen.dm +++ b/code/modules/food_and_drinks/food/snacks_frozen.dm @@ -268,7 +268,7 @@ list_reagents = list(/datum/reagent/consumable/nutriment = 4, /datum/reagent/consumable/sodiumchloride = 1, /datum/reagent/consumable/cream = 2, /datum/reagent/consumable/vanilla = 1, /datum/reagent/consumable/sugar = 4) bonus_reagents = list(/datum/reagent/consumable/nutriment = 4, /datum/reagent/consumable/sodiumchloride = 1, /datum/reagent/consumable/cream = 2, /datum/reagent/consumable/vanilla = 1, /datum/reagent/consumable/sugar = 4) tastes = list("salty liquorice") - overlay_state = "nogga_black" + overlay_state = "licorice" /obj/item/reagent_containers/food/snacks/cornuto name = "cornuto" diff --git a/code/modules/library/lib_machines.dm b/code/modules/library/lib_machines.dm index c8265205cac5..71de02b3ca1c 100644 --- a/code/modules/library/lib_machines.dm +++ b/code/modules/library/lib_machines.dm @@ -341,7 +341,6 @@ GLOBAL_LIST(cachedbooks) // List of our cached book datums dat += "

NTGanda(tm) Universal Printing Module

" dat += "What would you like to print?
" dat += "\[Bible\]
" - dat += "\[Poster\]
" dat += "(Return to main menu)
" if(8) dat += "

Accessing Forbidden Lore Vault v 1.3

" @@ -524,12 +523,6 @@ GLOBAL_LIST(cachedbooks) // List of our cached book datums cooldown = world.time + PRINTER_COOLDOWN else say("Printer currently unavailable, please wait a moment.") - if(href_list["printposter"]) - if(cooldown < world.time) - new /obj/item/poster/random_official(src.loc) - cooldown = world.time + PRINTER_COOLDOWN - else - say("Printer currently unavailable, please wait a moment.") add_fingerprint(usr) updateUsrDialog() diff --git a/code/modules/mining/machine_processing.dm b/code/modules/mining/machine_processing.dm index 10f43aad4580..bbc84ec7ee68 100644 --- a/code/modules/mining/machine_processing.dm +++ b/code/modules/mining/machine_processing.dm @@ -253,7 +253,7 @@ var/datum/component/material_container/materials = GetComponent(/datum/component/material_container) materials.use_materials(alloy.materials, amount) - generate_mineral(alloy.build_path) + generate_mineral(alloy.build_path, amount) /obj/machinery/mineral/processing_unit/proc/can_smelt(datum/design/D) if(D.make_reagents.len) @@ -271,8 +271,8 @@ return build_amount -/obj/machinery/mineral/processing_unit/proc/generate_mineral(P) - var/O = new P(src) +/obj/machinery/mineral/processing_unit/proc/generate_mineral(P, amount) + var/O = new P(src, amount) unload_mineral(O) /obj/machinery/mineral/processing_unit/on_deconstruction() diff --git a/code/modules/mob/living/carbon/carbon_defense.dm b/code/modules/mob/living/carbon/carbon_defense.dm index df9b5c22704d..9b50d1827724 100644 --- a/code/modules/mob/living/carbon/carbon_defense.dm +++ b/code/modules/mob/living/carbon/carbon_defense.dm @@ -391,6 +391,14 @@ if(M == src && check_self_for_injuries()) return + if(M.zone_selected == BODY_ZONE_PRECISE_MOUTH) + var/obj/item/clothing/mask/cigarette/theircig = wear_mask + var/obj/item/clothing/mask/cigarette/ourcig = M.wear_mask + if(istype(ourcig) && istype(theircig)) + if(ourcig.lit && !theircig.lit) + theircig.light(span_notice("[M] leans towards [src], lighting [p_their()] [theircig.name] with [M.p_their()] own.")) + return + if(body_position == LYING_DOWN) if(buckled) to_chat(M, "You need to unbuckle [src] first to do that!") diff --git a/code/modules/mob/living/carbon/human/consistent_human.dm b/code/modules/mob/living/carbon/human/consistent_human.dm index cecfe74b7cc8..e63adffeee48 100644 --- a/code/modules/mob/living/carbon/human/consistent_human.dm +++ b/code/modules/mob/living/carbon/human/consistent_human.dm @@ -2,7 +2,7 @@ create_dna() return //No randomisation -/mob/living/carbon/human/dummy/consistent/proc/seeded_randomization(seed = 0) +/mob/living/carbon/human/dummy/consistent/proc/seeded_randomization(seed = 0, species_list = null) seed = md5(seed) gender = list(MALE, FEMALE)[hex2num(copytext(seed, 1, 2)) % 2 + 1] @@ -38,5 +38,8 @@ dna.features["ipc_chassis"] = GLOB.ipc_chassis_list[hex2num(copytext(seed, 18, 19)) % length(GLOB.ipc_chassis_list) + 1] dna.features["ipc_screen"] = GLOB.ipc_screens_list[hex2num(copytext(seed, 19, 20)) % length(GLOB.ipc_screens_list) + 1] - var/species_id = GLOB.roundstart_races[hex2num(copytext(seed, 3, 4)) % length(GLOB.roundstart_races) + 1] - set_species(GLOB.species_list[species_id]) + if(!species_list) + species_list = GLOB.species_list + + var/species = species_list[hex2num(copytext(seed, 3, 4)) % length(species_list) + 1] + set_species(species) diff --git a/code/modules/mob/living/carbon/human/species.dm b/code/modules/mob/living/carbon/human/species.dm index bbe40388435a..fee2b6f0957d 100644 --- a/code/modules/mob/living/carbon/human/species.dm +++ b/code/modules/mob/living/carbon/human/species.dm @@ -268,6 +268,7 @@ GLOBAL_LIST_EMPTY(roundstart_races) qdel(S) if(!GLOB.roundstart_races.len) GLOB.roundstart_races += "human" + sortList(GLOB.roundstart_races) /** * Checks if a species is eligible to be picked at roundstart. diff --git a/code/modules/mob/living/carbon/human/species_types/spider.dm b/code/modules/mob/living/carbon/human/species_types/spider.dm index f7ae4f6bef10..847d6ad74f3f 100644 --- a/code/modules/mob/living/carbon/human/species_types/spider.dm +++ b/code/modules/mob/living/carbon/human/species_types/spider.dm @@ -185,7 +185,6 @@ GLOBAL_LIST_INIT(spider_last, world.file2list("strings/names/spider_last.txt")) if (H.nutrition >= nutrition_threshold) to_chat(H, "You pull out a strand from your spinneret, ready to wrap a target.
\ (Press ALT+CLICK or MMB on the target to start wrapping.)
") - H.adjust_nutrition(E.spinner_rate * -0.5) addtimer(VARSET_CALLBACK(E, web_ready, TRUE), E.web_cooldown) RegisterSignal(H, list(COMSIG_MOB_MIDDLECLICKON, COMSIG_MOB_ALTCLICKON), PROC_REF(cocoonAtom)) return @@ -217,7 +216,7 @@ GLOBAL_LIST_INIT(spider_last, world.file2list("strings/names/spider_last.txt")) if(!do_after(H, 10 SECONDS, 1, A)) to_chat(H, "Your web spinning was interrupted!") return - H.adjust_nutrition(E.spinner_rate * -3) + H.adjust_nutrition(E.spinner_rate * -3.5) var/obj/structure/spider_player/cocoon/C = new(A.loc) if(isliving(A)) C.icon_state = pick("cocoon_large1","cocoon_large2","cocoon_large3") @@ -228,18 +227,3 @@ GLOBAL_LIST_INIT(spider_last, world.file2list("strings/names/spider_last.txt")) A.forceMove(C) H.visible_message("[H] wraps [A] into a cocoon!") return - -/datum/reagent/mutationtoxin/arachnid - name = "Arachnid Mutation Toxin" - description = "A glowing toxin." - color = "#5EFF3B" //RGB: 94, 255, 59 - race = /datum/species/spider - process_flags = ORGANIC | SYNTHETIC //WS Edit - IPCs - taste_description = "silk" - -/datum/chemical_reaction/mutationtoxin/arachnid - results = list(/datum/reagent/mutationtoxin/arachnid = 1) - required_reagents = list( - /datum/reagent/mutationtoxin/unstable = 1, - /datum/reagent/toxin/heparin = 10 - ) diff --git a/code/modules/mob/living/carbon/human/species_types/vox.dm b/code/modules/mob/living/carbon/human/species_types/vox.dm index e1a0107bc0ad..1f3a00e8641b 100644 --- a/code/modules/mob/living/carbon/human/species_types/vox.dm +++ b/code/modules/mob/living/carbon/human/species_types/vox.dm @@ -118,6 +118,7 @@ /datum/action/innate/tail_hold name = "Tail Hold" desc = "Store an item in your tail's grip." + button_icon_state = "tail_hold" var/obj/item/held_item var/mutable_appearance/held_item_overlay diff --git a/code/modules/mob/living/silicon/pai/pai.dm b/code/modules/mob/living/silicon/pai/pai.dm index be79cf7184ab..405cda36580c 100644 --- a/code/modules/mob/living/silicon/pai/pai.dm +++ b/code/modules/mob/living/silicon/pai/pai.dm @@ -67,7 +67,7 @@ var/can_receive = TRUE var/obj/item/card/id/access_card = null var/chassis = "repairbot" - var/list/possible_chassis = list("cat" = TRUE, "mouse" = TRUE, "monkey" = TRUE, "corgi" = FALSE, "fox" = FALSE, "repairbot" = TRUE, "rabbit" = TRUE, "bat" = FALSE, "butterfly" = FALSE, "hawk" = FALSE, "lizard" = FALSE, "duffel" = TRUE, "snake" = FALSE) //assoc value is whether it can be picked up. + var/list/possible_chassis = list("bat" = TRUE, "butterfly" = TRUE, "carp" = TRUE, "cat" = TRUE, "corgi" = TRUE, "corgi_puppy" = TRUE, "crow" = TRUE, "duffel" = TRUE, "fox" = TRUE, "frog" = TRUE, "hawk" = TRUE, "lizard" = TRUE, "monkey" = TRUE, "mothroach" = TRUE, "mouse" = TRUE, "rabbit" = TRUE, "repairbot" = TRUE, "snake" = TRUE, "spider" = TRUE) //assoc value is whether it can be picked up. var/emitterhealth = 20 var/emittermaxhealth = 20 diff --git a/code/modules/mob/living/silicon/pai/pai_shell.dm b/code/modules/mob/living/silicon/pai/pai_shell.dm index ca65a416691c..31a807b319b2 100644 --- a/code/modules/mob/living/silicon/pai/pai_shell.dm +++ b/code/modules/mob/living/silicon/pai/pai_shell.dm @@ -72,11 +72,18 @@ holoform = FALSE set_resting(resting) + +//Sets a new holochassis skin based on a pAI's choice + /mob/living/silicon/pai/proc/choose_chassis() - if(!isturf(loc) && loc != card) - to_chat(src, "You can not change your holochassis composite while not on the ground or in your card!") - return FALSE - var/choice = input(src, "What would you like to use for your holochassis composite?") as null|anything in sortList(possible_chassis) + var/list/skins = list() + for(var/holochassis_option in possible_chassis) + var/image/item_image = image(icon = src.icon, icon_state = holochassis_option) + skins += list("[holochassis_option]" = item_image) + sortList(skins) + + var/atom/anchor = get_atom_on_turf(src) + var/choice = show_radial_menu(src, anchor, skins, custom_check = CALLBACK(src, PROC_REF(check_menu), anchor), radius = 40, require_near = TRUE) if(!choice) return FALSE chassis = choice @@ -85,6 +92,18 @@ update_resting() to_chat(src, "You switch your holochassis projection composite to [chassis].") +//Checks if we are allowed to interact with a radial menu + +/mob/living/silicon/pai/proc/check_menu(atom/anchor) + if(incapacitated()) + return FALSE + if(get_turf(src) != get_turf(anchor)) + return FALSE + if(!isturf(loc) && loc != card) + to_chat(src, "You can not change your holochassis composite while not on the ground or in your card!") + return FALSE + return TRUE + /mob/living/silicon/pai/update_resting() . = ..() if(resting) diff --git a/code/modules/mob/living/silicon/pai/software.dm b/code/modules/mob/living/silicon/pai/software.dm index a099c05488fa..08e41f3bee44 100644 --- a/code/modules/mob/living/silicon/pai/software.dm +++ b/code/modules/mob/living/silicon/pai/software.dm @@ -29,7 +29,7 @@ GLOBAL_LIST_INIT(pai_faces, list( "laugh", "lenny", "loss", - "michevious", + "mischievous", "missingno", "mistake", "moth", @@ -53,6 +53,60 @@ GLOBAL_LIST_INIT(pai_faces, list( "woozy", )) +// I AM A FAKE AND A FRAUD +// in order to get radials to work, the below list utilizes an entirely new .dmi that combines the base pAI card sprite along with the two overlays. +// if you want to add a pAI screen in future, you will need to use one of the two bases I included in aicardsradial.dmi in addition to adding the +// screen sprite in aicards.dmi +// I pray to god someone more talented than me can fix this hack in future + +GLOBAL_LIST_INIT(pai_faces_icons, list( + ":>" = image(icon = 'icons/obj/aicardsradial.dmi', icon_state = "pai-:>"), + "=_=" = image(icon = 'icons/obj/aicardsradial.dmi', icon_state = "pai-=_="), + "angry" = image(icon = 'icons/obj/aicardsradial.dmi', icon_state = "pai-angry"), + "ashamed" = image(icon = 'icons/obj/aicardsradial.dmi', icon_state = "pai-ashamed"), + "bookworm" = image(icon = 'icons/obj/aicardsradial.dmi', icon_state = "pai-bookworm"), + "boykisser" = image(icon = 'icons/obj/aicardsradial.dmi', icon_state = "pai-boykisser"), + "cat" = image(icon = 'icons/obj/aicardsradial.dmi', icon_state = "pai-cat"), + "clueless" = image(icon = 'icons/obj/aicardsradial.dmi', icon_state = "pai-clueless"), + "concerned" = image(icon = 'icons/obj/aicardsradial.dmi', icon_state = "pai-concerned"), + "dread" = image(icon = 'icons/obj/aicardsradial.dmi', icon_state = "pai-dread"), + "estatic" = image(icon = 'icons/obj/aicardsradial.dmi', icon_state = "pai-estatic"), + "exclaim" = image(icon = 'icons/obj/aicardsradial.dmi', icon_state = "pai-exclaim"), + "eye" = image(icon = 'icons/obj/aicardsradial.dmi', icon_state = "pai-eye"), + "eyewall" = image(icon = 'icons/obj/aicardsradial.dmi', icon_state = "pai-eyewall"), + "face" = image(icon = 'icons/obj/aicardsradial.dmi', icon_state = "pai-face"), + "fangs" = image(icon = 'icons/obj/aicardsradial.dmi', icon_state = "pai-fangs"), + "flushed" = image(icon = 'icons/obj/aicardsradial.dmi', icon_state = "pai-flushed"), + "foureyes" = image(icon = 'icons/obj/aicardsradial.dmi', icon_state = "pai-foureyes"), + "greenjary" = image(icon = 'icons/obj/aicardsradial.dmi', icon_state = "pai-greenjary"), + "happy" = image(icon = 'icons/obj/aicardsradial.dmi', icon_state = "pai-happy"), + "heart" = image(icon = 'icons/obj/aicardsradial.dmi', icon_state = "pai-heart"), + "laugh" = image(icon = 'icons/obj/aicardsradial.dmi', icon_state = "pai-laugh"), + "lenny" = image(icon = 'icons/obj/aicardsradial.dmi', icon_state = "pai-lenny"), + "loss" = image(icon = 'icons/obj/aicardsradial.dmi', icon_state = "pai-loss"), + "mischievous" = image(icon = 'icons/obj/aicardsradial.dmi', icon_state = "pai-mischievous"), + "missingno" = image(icon = 'icons/obj/aicardsradial.dmi', icon_state = "pai-missingno"), + "mistake" = image(icon = 'icons/obj/aicardsradial.dmi', icon_state = "pai-mistake"), + "moth" = image(icon = 'icons/obj/aicardsradial.dmi', icon_state = "pai-moth"), + "moyai" = image(icon = 'icons/obj/aicardsradial.dmi', icon_state = "pai-moyai"), + "neko" = image(icon = 'icons/obj/aicardsradial.dmi', icon_state = "pai-neko"), + "null" = image(icon = 'icons/obj/aicardsradial.dmi', icon_state = "pai-null"), + "o.o" = image(icon = 'icons/obj/aicardsradial.dmi', icon_state = "pai-o.o"), + "off" = image(icon = 'icons/obj/aicardsradial.dmi', icon_state = "pai-off"), + "pleading" = image(icon = 'icons/obj/aicardsradial.dmi', icon_state = "pai-pleading"), + "question" = image(icon = 'icons/obj/aicardsradial.dmi', icon_state = "pai-question"), + "sadcat" = image(icon = 'icons/obj/aicardsradial.dmi', icon_state = "pai-sadcat"), + "smug" = image(icon = 'icons/obj/aicardsradial.dmi', icon_state = "pai-smug"), + "snek" = image(icon = 'icons/obj/aicardsradial.dmi', icon_state = "pai-snek"), + "spiral" = image(icon = 'icons/obj/aicardsradial.dmi', icon_state = "pai-spiral"), + "sunglasses" = image(icon = 'icons/obj/aicardsradial.dmi', icon_state = "pai-sunglasses"), + "syndisnake" = image(icon = 'icons/obj/aicardsradial.dmi', icon_state = "pai-syndisnake"), //what if cybersun was right all along actually + "twoeyes" = image(icon = 'icons/obj/aicardsradial.dmi', icon_state = "pai-twoeyes"), + "T_T" = image(icon = 'icons/obj/aicardsradial.dmi', icon_state = "pai-T_T"), + "what" = image(icon = 'icons/obj/aicardsradial.dmi', icon_state = "pai-what"), + "wink" = image(icon = 'icons/obj/aicardsradial.dmi', icon_state = "pai-wink"), + "woozy" = image(icon = 'icons/obj/aicardsradial.dmi', icon_state = "pai-woozy"), + )) /mob/living/silicon/pai/var/list/available_software = list( //WS -- idk what to do about removing code so i'm just putting this note here to say, removes messanger and manifest, thet get it for free now //Nightvision @@ -204,7 +258,8 @@ GLOBAL_LIST_INIT(pai_faces, list( radio.attack_self(src) if("image") // Set pAI card display face - var/new_emotion = input("Select your new display image.", "Display Image", "null") in sortList(GLOB.pai_faces) + var/atom/anchor = get_atom_on_turf(src) + var/new_emotion = show_radial_menu(usr, anchor, GLOB.pai_faces_icons, radius = 40, require_near = TRUE) card.set_emotion(new_emotion) if("news") diff --git a/code/modules/mob/living/simple_animal/corpse.dm b/code/modules/mob/living/simple_animal/corpse.dm index daac95f38ba4..aa49c6e52b59 100644 --- a/code/modules/mob/living/simple_animal/corpse.dm +++ b/code/modules/mob/living/simple_animal/corpse.dm @@ -167,9 +167,10 @@ back = /obj/item/minigunpack /obj/effect/mob_spawn/human/corpse/frontier/ranged/trooper/heavy/gunless - outfit = /datum/outfit/russiancorpse/trooper/heavy/gunless + outfit = /datum/outfit/frontier/trooper/heavy/gunless -/datum/outfit/russiancorpse/trooper/heavy/gunless +/datum/outfit/frontier/trooper/heavy/gunless + name = "Frontiersman Heavy Corpse (Gunless)" back = null /obj/effect/mob_spawn/human/corpse/wizard @@ -248,18 +249,5 @@ /obj/effect/mob_spawn/human/corpse/solgov/sonnensoldner name = "SolGov Sonnensoldner" id_job = "SolGov Sonnensoldner" - outfit = /datum/outfit/solgov/sonnensoldner + outfit = /datum/outfit/job/solgov/sonnensoldner id_access_list = list(ACCESS_SOLGOV) - -/datum/outfit/solgov/sonnensoldner - name = "SolGov Sonnensoldner" - uniform = /obj/item/clothing/under/solgov - suit = /obj/item/clothing/suit/armor/vest/bulletproof/solgov - shoes = /obj/item/clothing/shoes/jackboots - gloves = /obj/item/clothing/gloves/color/black - ears = /obj/item/radio/headset - suit_store = null - head = /obj/item/clothing/head/solgov/sonnensoldner - back = /obj/item/storage/backpack - id = /obj/item/card/id/solgov - backpack_contents = null diff --git a/code/modules/mob/living/simple_animal/hostile/frontiersman.dm b/code/modules/mob/living/simple_animal/hostile/frontiersman.dm index 1a71ed52da78..3d33bae0aca1 100644 --- a/code/modules/mob/living/simple_animal/hostile/frontiersman.dm +++ b/code/modules/mob/living/simple_animal/hostile/frontiersman.dm @@ -34,12 +34,12 @@ icon_state = "frontiersmanranged" icon_living = "frontiersmanranged" loot = list(/obj/effect/mob_spawn/human/corpse/frontier/ranged, - /obj/item/gun/ballistic/revolver/nagant) + /obj/item/gun/ballistic/revolver) ranged = 1 retreat_distance = 5 minimum_distance = 5 projectilesound = 'sound/weapons/gun/revolver/shot.ogg' - casingtype = /obj/item/ammo_casing/n762_38 + casingtype = /obj/item/ammo_casing/a357 /mob/living/simple_animal/hostile/frontier/ranged/neutered loot = list(/obj/effect/mob_spawn/human/corpse/frontier/ranged) @@ -48,8 +48,8 @@ icon_state = "frontiersmanrangedrifle" icon_living = "frontiersmanrangedrifle" loot = list(/obj/effect/mob_spawn/human/corpse/frontier/ranged, - /obj/item/gun/ballistic/rifle/boltaction) - casingtype = /obj/item/ammo_casing/a762_54 + /obj/item/gun/ballistic/rifle/illestren) + casingtype = /obj/item/ammo_casing/a8_50r projectilesound = 'sound/weapons/gun/rifle/mosin.ogg' /mob/living/simple_animal/hostile/frontier/ranged/mosin/neutered @@ -63,7 +63,7 @@ projectilesound = 'sound/weapons/gun/shotgun/shot.ogg' casingtype = /obj/item/ammo_casing/shotgun/buckshot loot = list(/obj/effect/mob_spawn/human/corpse/frontier/ranged/trooper, - /obj/item/gun/ballistic/shotgun/lethal) + /obj/item/gun/ballistic/shotgun/brimstone) /mob/living/simple_animal/hostile/frontier/ranged/trooper/neutered loot = list(/obj/effect/mob_spawn/human/corpse/frontier/ranged/trooper) @@ -86,8 +86,8 @@ icon_living = "frontiersmanrangedmosin" loot = list(/obj/effect/mob_spawn/human/corpse/frontier/ranged/trooper, - /obj/item/gun/ballistic/rifle/boltaction) - casingtype = /obj/item/ammo_casing/a762_54 + /obj/item/gun/ballistic/rifle/illestren) + casingtype = /obj/item/ammo_casing/a8_50r projectilesound = 'sound/weapons/gun/rifle/mosin.ogg' /mob/living/simple_animal/hostile/frontier/ranged/trooper/rifle/neutered diff --git a/code/modules/mob/living/simple_animal/hostile/mining_mobs/hivelord.dm b/code/modules/mob/living/simple_animal/hostile/mining_mobs/hivelord.dm index 474c9c5d9ca6..892fba0d61f8 100644 --- a/code/modules/mob/living/simple_animal/hostile/mining_mobs/hivelord.dm +++ b/code/modules/mob/living/simple_animal/hostile/mining_mobs/hivelord.dm @@ -885,7 +885,6 @@ ) if("Shadow") mob_species = /datum/species/shadow - r_pocket = /obj/item/reagent_containers/pill/shadowtoxin neck = /obj/item/clothing/accessory/medal/plasma/nobel_science uniform = /obj/item/clothing/under/color/black shoes = /obj/item/clothing/shoes/sneakers/black @@ -903,7 +902,7 @@ suit = /obj/item/clothing/suit/armor/roumain head = /obj/item/clothing/head/cowboy/sec/roumain if(prob(25)) - suit_store = /obj/item/gun/ballistic/shotgun/winchester + suit_store = /obj/item/gun/ballistic/shotgun/flamingarrow r_pocket = /obj/item/book/manual/trickwines_4_brewers belt = pick(list(/obj/item/kitchen/knife/hunting = 1, /obj/item/gun/ballistic/derringer = 1)) back = /obj/item/storage/backpack/cultpack diff --git a/code/modules/mob/living/simple_animal/hostile/survivors.dm b/code/modules/mob/living/simple_animal/hostile/survivors.dm index c0601050c54c..a1b52f981cec 100644 --- a/code/modules/mob/living/simple_animal/hostile/survivors.dm +++ b/code/modules/mob/living/simple_animal/hostile/survivors.dm @@ -324,7 +324,7 @@ suit_store = null if (survivor_type == "hunter") if(prob(20)) - new /obj/item/gun/ballistic/rifle/boltaction/polymer(loc) + new /obj/item/gun/ballistic/rifle/polymer(loc) else visible_message("The hunter's weapon shatters as they impact the ground!") suit_store = null diff --git a/code/modules/paperwork/fax.dm b/code/modules/paperwork/fax.dm index b1696a27fca0..a4881fdfee38 100644 --- a/code/modules/paperwork/fax.dm +++ b/code/modules/paperwork/fax.dm @@ -18,10 +18,6 @@ var/seconds_electrified = MACHINE_NOT_ELECTRIFIED /// If true, the fax machine is jammed and needs cleaning var/jammed = FALSE - /// Determines the possibility of sending papers to the additional faxes. - var/access_additional_faxes = FALSE - /// Defines a list of accesses whose owners can open a connection with the additional faxes. - var/static/access_additional_faxes_required = list(ACCESS_HEADS, ACCESS_LAWYER, ACCESS_SECURITY) /// Necessary to hide syndicate faxes from the general list. Doesn't mean he's EMAGGED! var/frontier_network = FALSE /// True if the fax machine should be visible to other fax machines in general. @@ -53,23 +49,47 @@ /obj/item/holochip, /obj/item/card, ) + /// Internal radio for announcing over comms + var/obj/item/radio/radio + /// Radio channel to speak into + var/radio_channel + /// Cooldown for aformentioned radio, prevents radio spam + COOLDOWN_DECLARE(radio_cooldown) + + /// List with a fake-networks(not a fax actually), for request manager. + var/list/special_networks = list( + list(fax_name = "Nanotrasen Central Command", fax_id = "nanotrasen", color = "green", emag_needed = FALSE), + list(fax_name = "IRMG Mothership", fax_id = "inteq", color = "yellow", emag_needed = FALSE), + list(fax_name = "Solarian Confederation Frontier Affairs", fax_id = "solgov", color = "teal", emag_needed = FALSE), + list(fax_name = "Roumain Council of Huntsmen", fax_id = "roumain", color = "brown", emag_needed = FALSE), + list(fax_name = "Colonial League Leadership", fax_id = "minutemen", color = "blue", emag_needed = FALSE), + list(fax_name = "Syndicate Coalition Coordination Center", fax_id = "syndicate", color = "red", emag_needed = FALSE), + list(fax_name = "Frontiersmen Communications Quartermaster", fax_id = "frontiersmen", color = "black", emag_needed = TRUE) + ) + // should we make our message be important and be recieved in admin faxes + var/admin_fax_id /obj/machinery/fax/Initialize(mapload) . = ..() GLOB.fax_machines += src if(!fax_id) fax_id = SSnetworks.make_address() - if(fax_name == initial(fax_name)) + if(fax_name == initial(fax_name) && !admin_fax_id) fax_name = "[get_area_name(src)] Fax Machine" wires = new /datum/wires/fax(src) -/obj/machinery/fax/hacked - set_obj_flags = "EMAGGED" - allow_exotic_faxes = TRUE - access_additional_faxes = TRUE + radio = new(src) + radio.subspace_transmission = TRUE + radio.canhear_range = 0 + // Override in subtypes // no + radio.on = TRUE -/obj/machinery/fax/frontiersmen - frontier_network = TRUE +/obj/machinery/fax/ruin + visible_to_network = FALSE + +/obj/machinery/fax/ruin/Initialize(mapload) + . = ..() + fax_name = "Unregistered Fax Machine " + fax_id /obj/machinery/fax/Destroy() GLOB.fax_machines -= src @@ -113,6 +133,20 @@ obj_flags |= EMAGGED to_chat(user, "The screen of the [src] flickers!") +/** + * EMP Interaction + */ +/obj/machinery/fax/emp_act(severity) + . = ..() + if(. & EMP_PROTECT_SELF) + return + allow_exotic_faxes = !allow_exotic_faxes + visible_message("[src] [allow_exotic_faxes ? "starts beeping" : "stops beeping"] ominously[allow_exotic_faxes ? "..." : "."]") + +/** + * Unanchor/anchor + */ + /obj/machinery/fax/wrench_act(mob/living/user, obj/item/tool) . = ..() default_unfasten_wrench(user, tool) @@ -161,27 +195,6 @@ return return ..() -// Checks if the card has access to switch "legal" faxes of administrators. -/obj/machinery/fax/proc/access_additional_faxes_check(mob/living/user) - if(isAdminObserver(user)) - return TRUE - - var/obj/item/card/id/used_card = user.get_idcard(TRUE) - if(used_card) - // We check if it makes sense to check access at all. - if(!access_additional_faxes_required || !used_card.access) - return FALSE - - for(var/requested_access in access_additional_faxes_required) - if(requested_access in used_card.access) - return TRUE - return FALSE - -// Switches access to the "legal" administrator's fax list. Access to the "illegal" is switched by hacking. -/obj/machinery/fax/proc/access_additional_faxes_toggle() - access_additional_faxes = !access_additional_faxes - say("Bluespace channel communication [access_additional_faxes ? "opened" : "closed"].") - /** * Attempts to clean out a jammed machine using a passed item. * Returns true if successful. @@ -237,12 +250,6 @@ ui.open() ui.set_autoupdate(TRUE) -/obj/machinery/fax/ui_static_data(mob/user) - var/list/data = list() - data["additional_faxes_list"] = GLOB.additional_faxes_list - data["frontier_faxes_list"] = GLOB.frontier_faxes_list - return data - /obj/machinery/fax/ui_data(mob/user) var/list/data = list() //Record a list of all existing faxes. @@ -264,12 +271,11 @@ data["fax_id"] = fax_id data["fax_name"] = fax_name data["visible"] = visible_to_network - data["access_additional_faxes"] = access_additional_faxes - data["сan_switch_access"] = access_additional_faxes_check(user) // In this case, we don't care if the fax is hacked or in the syndicate's network. The main thing is to check the visibility of other faxes. data["frontier_network"] = (frontier_network || (obj_flags & EMAGGED)) data["has_paper"] = !!loaded_item_ref?.resolve() data["fax_history"] = fax_history + data["special_faxes"] = special_networks return data /obj/machinery/fax/ui_act(action, list/params) @@ -287,8 +293,6 @@ loaded_item_ref = null update_icon() return TRUE - if("access_additional_faxes_toggle") - access_additional_faxes_toggle() if("send") var/obj/item/loaded = loaded_item_ref?.resolve() if(!loaded) @@ -299,17 +303,31 @@ loaded_item_ref = null update_icon() return TRUE - if("send_to_additional_fax") - var/obj/item/loaded = loaded_item_ref?.resolve() - if(!loaded) + if("send_special") + var/obj/item/paper/fax_paper = loaded_item_ref?.resolve() + if(!fax_paper) + return + if(!istype(fax_paper)) + to_chat(usr, icon2html(src.icon, usr) + "ERROR: Failed to send fax.") return - if(istype(loaded, /obj/item/paper)) - if(send_to_additional_faxes(loaded, usr, params["name"], params["color"])) - loaded_item_ref = null - update_icon() - return TRUE - else - say("The destination fax blocks the reception of this item.") + + fax_paper.request_state = TRUE + fax_paper.loc = null + + INVOKE_ASYNC(src, PROC_REF(animate_object_travel), fax_paper, "fax_receive", find_overlay_state(fax_paper, "send")) + history_add("Send", params["name"]) + + GLOB.requests.fax_request(usr.client, "sent a fax message from [fax_name]/[fax_id] to [params["name"]]", fax_paper) + to_chat(GLOB.admins, "[icon2html(src.icon, GLOB.admins)]FAX REQUEST: [ADMIN_FULLMONTY(usr)]: sent a fax message from [fax_name]/[fax_id][ADMIN_FLW(src)] to [html_encode(params["name"])] [ADMIN_SHOW_PAPER(fax_paper)]") + log_fax(fax_paper, params["id"], params["name"]) + loaded_item_ref = null + + for(var/obj/machinery/fax/fax as anything in GLOB.fax_machines) + if(fax.admin_fax_id == params["id"]) + fax.receive(fax_paper, fax_name) + break + update_appearance() + if("history_clear") history_clear() return TRUE @@ -349,40 +367,12 @@ balloon_alert(usr, "destination port jammed") playsound(src, 'sound/machines/scanbuzz.ogg', 25, TRUE, -9) return FALSE - fax.receive(loaded, fax_name) - playback_sending(loaded, fax.fax_name) + fax.receive(loaded, fax_name, important = admin_fax_id) + history_add("Send", fax.fax_name) + INVOKE_ASYNC(src, PROC_REF(animate_object_travel), loaded, "fax_receive", find_overlay_state(loaded, "send")) return TRUE return FALSE -/** - * The procedure for sending a item to virtual admins fax machine. - * - * This procedure is similar to the send procedure except that it sends the item to - * a "virtual" fax to a special administrator list. - * Arguments: - * * loaded - The item to be sent. - * * sender - Reference to the sender's substance. - * * receiver_name - The recipient's fax name, which will be displayed in the administrator's list. - * * receiver_color - The color the receiver_name will be colored in. - */ -/obj/machinery/fax/proc/send_to_additional_faxes(obj/item/loaded, mob/sender, receiver_name, receiver_color) - GLOB.fax_manager.receive_request(sender, src, receiver_name, loaded, receiver_color) - playback_sending(loaded, receiver_name) - log_fax(loaded, "ADDITIONAL", receiver_name) - return TRUE - -/** - * The procedure for playing the animation. - * - * Procedure called to add to the history of sending messages, playing the sending animation. - * Arguments: - * * loaded - Sending item to determine the animation.. - * * receiver_name - Recipient's name to be added to the message history. - */ -/obj/machinery/fax/proc/playback_sending(obj/item/loaded, receiver_name) - history_add("Send", receiver_name) - INVOKE_ASYNC(src, PROC_REF(animate_object_travel), loaded, "fax_receive", find_overlay_state(loaded, "send")) - /** * Procedure for accepting papers from another fax machine. * @@ -391,7 +381,7 @@ * * loaded - The object to be printed. * * sender_name - The sender's name, which will be displayed in the message and recorded in the history of operations. */ -/obj/machinery/fax/proc/receive(obj/item/loaded, sender_name) +/obj/machinery/fax/proc/receive(obj/item/loaded, sender_name, important = FALSE) playsound(src, 'sound/items/poster_being_created.ogg', 20, FALSE) INVOKE_ASYNC(src, PROC_REF(animate_object_travel), loaded, "fax_receive", find_overlay_state(loaded, "receive")) say("Received correspondence from [sender_name].") @@ -504,3 +494,45 @@ do_sparks(5, TRUE, src) var/check_range = TRUE return electrocute_mob(user, get_area(src), src, 0.7, check_range) + +/obj/machinery/fax/frontiersmen + frontier_network = TRUE + visible_to_network = FALSE + +/obj/machinery/fax/admin + name = "Central Command Fax Machine" + fax_name = "Nanotrasen Central Command" + radio_channel = RADIO_CHANNEL_CENTCOM + visible_to_network = FALSE + admin_fax_id = "nanotrasen" + +/obj/machinery/fax/admin/solgov + name = "SolGov Frontier Affairs Fax Machine" + fax_name = "Solarian Confederation Frontier Affairs" + admin_fax_id = "solgov" + +/obj/machinery/fax/admin/syndicate + name = "Syndicate Coordination Fax Machine" + fax_name = "Syndicate Coordination Center" + admin_fax_id = "syndicate" + +/obj/machinery/fax/admin/inteq + name = "IRMG Fax Machine" + fax_name = "IRMG Mothership" + admin_fax_id = "inteq" + +/obj/machinery/fax/admin/minutemen + name = "CLIP HiComm Fax Machine" + fax_name = "Colonial League Leadership" + admin_fax_id = "minutemen" + +/obj/machinery/fax/admin/roumain + name = "Huntsman Council Fax Machine" + fax_name = "Saint-Roumain Council of Huntsmen" + admin_fax_id = "roumain" + +/obj/machinery/fax/admin/frontiersmen + name = "old fax machine" + fax_name = "Frontiersmen Communications Quartermaster" + admin_fax_id = "frontiersmen" + frontier_network = TRUE diff --git a/code/modules/paperwork/fax_manager.dm b/code/modules/paperwork/fax_manager.dm deleted file mode 100644 index 0107e440bec2..000000000000 --- a/code/modules/paperwork/fax_manager.dm +++ /dev/null @@ -1,154 +0,0 @@ -GLOBAL_DATUM_INIT(fax_manager, /datum/fax_manager, new) - -/** - * Fax Request Manager - * - * In its functionality it is similar to the usual Request Manager, but respectively for faxes. - * This manager allows you to send faxes on behalf of certain virtual faxes to all existing faxes, - * as well as receive faxes in their name from the players. - */ -/datum/fax_manager - /// A list that contains faxes from players and other related information. You can view the filling of its fields in the procedure receive_request. - var/list/requests = list() - -/datum/fax_manager/Destroy(force, ...) - QDEL_LIST(requests) - return ..() - -/datum/fax_manager/ui_interact(mob/user, datum/tgui/ui = null) - ui = SStgui.try_update_ui(user, src, ui) - if(!ui) - ui = new(user, src, "FaxManager") - ui.open() - ui.set_autoupdate(TRUE) - -/datum/fax_manager/ui_state(mob/user) - return GLOB.admin_state - -/datum/fax_manager/ui_static_data(mob/user) - var/list/data = list() - //Record additional faxes on a separate list - data["additional_faxes"] = GLOB.additional_faxes_list + GLOB.frontier_faxes_list - return data - -/datum/fax_manager/ui_data(mob/user) - var/list/data = list() - //Record a list of all existing faxes. - for(var/obj/machinery/fax/fax as anything in GLOB.fax_machines) - var/list/fax_data = list() - fax_data["fax_name"] = fax.fax_name - fax_data["fax_id"] = fax.fax_id - fax_data["frontier_network"] = fax.frontier_network - data["faxes"] += list(fax_data) - for(var/list/requested in requests) - var/list/request = list() - request["id_message"] = requested["id_message"] - request["time"] = requested["time"] - var/mob/sender = requested["sender"] - request["sender_name"] = sender.name - request["sender_fax_id"] = requested["sender_fax_id"] - request["sender_fax_name"] = requested["sender_fax_name"] - request["receiver_fax_name"] = requested["receiver_fax_name"] - data["requests"] += list(request) - return data - -/datum/fax_manager/ui_act(action, list/params) - . = ..() - if(.) - return - var/datum/admins/admin_datum = GLOB.admin_datums[usr.ckey] - - switch(action) - if("send") - for(var/obj/machinery/fax/fax as anything in GLOB.fax_machines) - if(fax.fax_id == params["fax_id"]) - var/obj/item/paper/paper = new() - paper.add_raw_text(params["message"]) - paper.update_appearance() - fax.receive(paper, params["fax_name"]) - return TRUE - if("flw_fax") - for(var/obj/machinery/fax/fax as anything in GLOB.fax_machines) - if(fax.fax_id == params["fax_id"]) - admin_datum.admin_follow(fax) - return TRUE - if("read_message") - var/list/request = get_request(params["id_message"]) - var/obj/item/paper/request/paper = request["paper"] - paper.ui_interact(usr) - return TRUE - if("flw") - var/list/request = get_request(params["id_message"]) - admin_datum.admin_follow(request["sender"]) - return TRUE - if("pp") - var/list/request = get_request(params["id_message"]) - usr.client.holder.show_player_panel(request["sender"]) - return TRUE - if("vv") - var/list/request = get_request(params["id_message"]) - usr.client.debug_variables(request["sender"]) - return TRUE - if("sm") - var/list/request = get_request(params["id_message"]) - usr.client.cmd_admin_subtle_message(request["sender"]) - return TRUE - if("logs") - var/list/request = get_request(params["id_message"]) - if(!ismob(request["sender"])) - to_chat(usr, "This can only be used on instances of type /mob.") - return TRUE - show_individual_logging_panel(request["sender"], null, null) - return TRUE - if("smite") - var/list/request = get_request(params["id_message"]) - if(!check_rights(R_FUN)) - to_chat(usr, "Insufficient permissions to smite, you require +FUN") - return TRUE - var/mob/living/carbon/human/H = request["sender"] - if (!H || !istype(H)) - to_chat(usr, "This can only be used on instances of type /mob/living/carbon/human") - return TRUE - usr.client.smite(H) - return TRUE - -/datum/fax_manager/proc/get_request(id_message) - for(var/list/request in requests) - if(request["id_message"] == id_message) - return request - -/datum/fax_manager/proc/receive_request(mob/sender, obj/machinery/fax/sender_fax, receiver_fax_name, obj/item/paper/paper, receiver_color) - var/list/request = list() - var/obj/item/paper/request/message = new() - request["id_message"] = requests.len - request["time"] = game_timestamp() - request["sender"] = sender - request["sender_fax_id"] = sender_fax.fax_id - request["sender_fax_name"] = sender_fax.fax_name - request["receiver_fax_name"] = receiver_fax_name - message.copy_properties(paper) - request["paper"] = message - requests += list(request) - var/msg = "\"[sanitize(receiver_fax_name)]\" fax received a message from \"[sanitize(sender_fax.fax_name)]\" fax SENT BY [ADMIN_FULLMONTY(sender)] (Open Fax Manager)" - for(var/client/C in GLOB.admins) - if(C.prefs.chat_toggles & CHAT_PRAYER) - to_chat(C, msg) - for(var/client/admin in GLOB.admins) - if((admin.prefs.chat_toggles & CHAT_PRAYER) && (admin.prefs.toggles & SOUND_PRAYERS)) - SEND_SOUND(admin, sound('sound/items/poster_being_created.ogg')) - -// A special piece of paper for the administrator that will open the interface no matter what. -/obj/item/paper/request/ui_status() - return UI_INTERACTIVE - -// I'm sure there's a better way to transfer it, I just couldn't find it -/obj/item/paper/request/proc/copy_properties(obj/item/paper/paper) - raw_text_inputs = paper.raw_text_inputs - raw_stamp_data = paper.raw_stamp_data - raw_field_input_data = paper.raw_field_input_data - show_written_words = paper.show_written_words - stamp_cache = paper.stamp_cache - contact_poison = paper.contact_poison - contact_poison_volume = paper.contact_poison_volume - default_raw_text = paper.default_raw_text - input_field_count = paper.input_field_count diff --git a/code/modules/paperwork/paper.dm b/code/modules/paperwork/paper.dm index 4080f68c5d74..e30a2bdd9737 100644 --- a/code/modules/paperwork/paper.dm +++ b/code/modules/paperwork/paper.dm @@ -60,6 +60,9 @@ /// state checking on if it should be shown to a viewer. var/datum/weakref/camera_holder + ///If TRUE, staff can read paper everywhere, but usually from requests panel. + var/request_state = FALSE + /// The (text for the) stamps on the paper. var/list/stamps /// Positioning for the stamp in tgui var/list/stamped /// Overlay info @@ -161,12 +164,13 @@ * * bold - Whether this text should be rendered completely bold. */ -/obj/item/paper/proc/add_raw_text(text, font, color, bold) +/obj/item/paper/proc/add_raw_text(text, font, color, bold, advanced_html) var/new_input_datum = new /datum/paper_input( text, font, color, bold, + advanced_html, ) input_field_count += get_input_field_count(text) @@ -320,7 +324,7 @@ // Are we on fire? Hard to read if so if(resistance_flags & ON_FIRE) return UI_CLOSE - if(camera_holder && can_show_to_mob_through_camera(user)) + if(camera_holder && can_show_to_mob_through_camera(user) || request_state) return UI_UPDATE if(!in_range(user, src) && !isobserver(user)) return UI_CLOSE @@ -373,7 +377,7 @@ return // Handle writing items. - var/writing_stats = attacking_item.get_writing_implement_details() + var/writing_stats = istype(attacking_item) ? attacking_item.get_writing_implement_details() : null if(!writing_stats) ui_interact(user) @@ -576,7 +580,7 @@ // Safe to assume there are writing implement details as user.can_write(...) fails with an invalid writing implement. var/writing_implement_data = holding.get_writing_implement_details() - add_raw_text(paper_input, writing_implement_data["font"], writing_implement_data["color"], writing_implement_data["use_bold"]) + add_raw_text(paper_input, writing_implement_data["font"], writing_implement_data["color"], writing_implement_data["use_bold"], check_rights_for(user?.client, R_FUN)) log_paper("[key_name(user)] wrote to [name]: \"[paper_input]\"") to_chat(user, "You have added to your paper masterpiece!"); @@ -663,15 +667,18 @@ var/colour = "" /// Whether to render the font bold or not. var/bold = FALSE + /// Whether the creator of this input field has the R_FUN permission, thus allowing less sanitization + var/advanced_html = FALSE -/datum/paper_input/New(_raw_text, _font, _colour, _bold) +/datum/paper_input/New(_raw_text, _font, _colour, _bold, _advanced_html) raw_text = _raw_text font = _font colour = _colour bold = _bold + advanced_html = _advanced_html /datum/paper_input/proc/make_copy() - return new /datum/paper_input(raw_text, font, colour, bold); + return new /datum/paper_input(raw_text, font, colour, bold, advanced_html); /datum/paper_input/proc/to_list() return list( @@ -679,6 +686,7 @@ font = font, color = colour, bold = bold, + advanced_html = advanced_html, ) /// A single instance of a saved stamp on paper. diff --git a/code/modules/paperwork/stamps.dm b/code/modules/paperwork/stamps.dm index b90fe447a557..4de28c0c213e 100644 --- a/code/modules/paperwork/stamps.dm +++ b/code/modules/paperwork/stamps.dm @@ -91,9 +91,54 @@ icon_state = "stamp-syndicate" dye_color = DYE_SYNDICATE +/obj/item/stamp/donk + name = "Donk! Co. rubber stamp" + icon_state = "stamp-donk" + dye_color = DYE_SYNDICATE + +/obj/item/stamp/cybersun + name = "Cybersun rubber stamp" + icon_state = "stamp-cybersun" + dye_color = DYE_SYNDICATE + /obj/item/stamp/solgov name = "SolGov rubber stamp" icon_state = "stamp-solgov" +/obj/item/stamp/inteq + name = "Inteq rubber stamp" + icon_state = "stamp-inteq" + dye_color = DYE_QM + +/obj/item/stamp/vanguard + name = "Vanguard's rubber stamp" + icon_state = "stamp-vanguard" + dye_color = DYE_QM + +/obj/item/stamp/maa + name = "Master at Arms' rubber stamp" + icon_state = "stamp-maa" + dye_color = DYE_QM + +/obj/item/stamp/artificer + name = "Class II Artificer's rubber stamp" + icon_state = "stamp-artificer" + dye_color = DYE_QM + +/obj/item/stamp/cmm + name = "Colonial Minutemen rubber stamp" + icon_state = "stamp-cmm" + dye_color = DYE_FO + +/obj/item/stamp/gold + name = "GOLD rubber stamp" + icon_state = "stamp-gold" + dye_color = DYE_FO + +/obj/item/stamp/bard + name = "BARD rubber stamp" + icon_state = "stamp-bard" + dye_color = DYE_FO + /obj/item/stamp/attack_paw(mob/user) return attack_hand(user) diff --git a/code/modules/projectiles/ammunition/_firing.dm b/code/modules/projectiles/ammunition/_firing.dm index f8e1aa1dff1e..ee155db4e719 100644 --- a/code/modules/projectiles/ammunition/_firing.dm +++ b/code/modules/projectiles/ammunition/_firing.dm @@ -34,7 +34,8 @@ if (zone_override) BB.def_zone = zone_override else - BB.def_zone = user.zone_selected + if(user) + BB.def_zone = user.zone_selected BB.suppressed = quiet if(isgun(fired_from)) @@ -66,6 +67,23 @@ BB = null return TRUE +#define BULLET_POP_CHANCE 30 + +/obj/item/ammo_casing/fire_act(exposed_temperature, exposed_volume) + . = ..() + if(!prob(BULLET_POP_CHANCE) || !BB) + return + ready_proj() + BB.trajectory_ignore_forcemove = TRUE + BB.forceMove(get_turf(src)) + BB.trajectory_ignore_forcemove = FALSE + BB.starting = get_turf(src) + BB.fire(rand(0,360)) + BB = null + playsound(src, 'sound/weapons/gun/pistol/shot.ogg', 100, TRUE) + update_appearance() + return TRUE + /obj/item/ammo_casing/proc/spread(turf/target, turf/current, distro) var/dx = abs(target.x - current.x) var/dy = abs(target.y - current.y) diff --git a/code/modules/projectiles/ammunition/ballistic/pistol.dm b/code/modules/projectiles/ammunition/ballistic/pistol.dm index b9237ea91b4d..a105ae6602ee 100644 --- a/code/modules/projectiles/ammunition/ballistic/pistol.dm +++ b/code/modules/projectiles/ammunition/ballistic/pistol.dm @@ -76,7 +76,7 @@ bullet_skin = "rubber" projectile_type = /obj/projectile/bullet/c9mm/rubber -// .45 (M1911 + C20r) +// .45 (Candor + C20r) /obj/item/ammo_casing/c45 name = ".45 bullet casing" diff --git a/code/modules/projectiles/ammunition/ballistic/revolver.dm b/code/modules/projectiles/ammunition/ballistic/revolver.dm index 47ad1b7aba84..a15eac049667 100644 --- a/code/modules/projectiles/ammunition/ballistic/revolver.dm +++ b/code/modules/projectiles/ammunition/ballistic/revolver.dm @@ -4,6 +4,7 @@ name = ".357 bullet casing" desc = "A .357 bullet casing." caliber = ".357" + icon_state = "magnum-brass" projectile_type = /obj/projectile/bullet/a357 /obj/item/ammo_casing/a357/match @@ -15,14 +16,17 @@ /obj/item/ammo_casing/a357/hp name = ".357 hollow point bullet casing" desc = "A .357 hollow point bullet casing." + icon_state = "magnum-brass" + bullet_skin = "hollow" projectile_type = /obj/projectile/bullet/a357/hp -// .45-70 (Hunting Revolver, Contender) +// .45-70 (Hunting Revolver, Beacon) /obj/item/ammo_casing/a4570 name = ".45-70 bullet casing" desc = "A .45-70 bullet casing." caliber = ".45-70" + icon_state = "magnum-brass" projectile_type = /obj/projectile/bullet/a4570 /obj/item/ammo_casing/a4570/match @@ -42,15 +46,6 @@ desc = "A .45-70 explosive bullet casing." projectile_type = /obj/projectile/bullet/a4570/explosive -// 7.62x38mmR (Nagant Revolver) - -/obj/item/ammo_casing/n762_38 - name = "7.62x38mmR bullet casing" - desc = "A 7.62x38mmR bullet casing." - caliber = "7.62x38mmR" - projectile_type = /obj/projectile/bullet/n762 - - // .38 Special (Colt Detective Special & Winchester) /obj/item/ammo_casing/c38 diff --git a/code/modules/projectiles/ammunition/ballistic/rifle.dm b/code/modules/projectiles/ammunition/ballistic/rifle.dm index 63c8340e99bd..a615fc97d2fa 100644 --- a/code/modules/projectiles/ammunition/ballistic/rifle.dm +++ b/code/modules/projectiles/ammunition/ballistic/rifle.dm @@ -1,11 +1,11 @@ -// 7.62x54mmR (Illestren Hunting Rifle) +// 8x50mmR (Illestren Hunting Rifle) -/obj/item/ammo_casing/a762_54 - name = "7.62x54mmR bullet casing" - desc = "A 7.62x54mmR bullet casing." +/obj/item/ammo_casing/a8_50r + name = "8x50mmR bullet casing" + desc = "A 8x50mmR bullet casing." icon_state = "rifle-brass" - caliber = "7.62x54mmR" - projectile_type = /obj/projectile/bullet/a762_54 + caliber = "8x50mmR" + projectile_type = /obj/projectile/bullet/a8_50r // 8x58mm Caseless (SSG-669C) @@ -21,7 +21,7 @@ /obj/item/ammo_casing/a300 name = ".300 Magnum bullet casing" desc = "A .300 Magnum bullet casing." - icon_state = "rifle-brass" + icon_state = "rifle-steel" caliber = "a300" projectile_type = /obj/projectile/bullet/a300 @@ -78,14 +78,14 @@ caliber = ".300 BLK" projectile_type = /obj/projectile/bullet/aac_300blk -//.308 Winchester (M514 EBR & CM-GAL-S) +//.308 (M514 EBR & CM-GAL-S) -/obj/item/ammo_casing/win308 - name = ".308 Winchester bullet casing" - desc = "A .308 Winchester bullet casing." - icon_state = "rifle-steel" - caliber = ".308 Winchester" - projectile_type = /obj/projectile/bullet/win308 +/obj/item/ammo_casing/a308 + name = ".308 bullet casing" + desc = "A .308 bullet casing." + icon_state = "rifle-brass" + caliber = ".308" + projectile_type = /obj/projectile/bullet/a308 /obj/item/ammo_casing/caseless/c299 name = ".229 Eoehoma caseless bullet casing" diff --git a/code/modules/projectiles/ammunition/energy/laser.dm b/code/modules/projectiles/ammunition/energy/laser.dm index dd68cd2e5619..401fab165957 100644 --- a/code/modules/projectiles/ammunition/energy/laser.dm +++ b/code/modules/projectiles/ammunition/energy/laser.dm @@ -31,7 +31,7 @@ projectile_type = /obj/projectile/beam/laser/weak/negative_ap e_cost = 799 //12 shots with a normal power cell, 25 with an upgraded select_name = "kill" - delay = 0.2 SECONDS + delay = 0.1 SECONDS /obj/item/ammo_casing/energy/lasergun/old projectile_type = /obj/projectile/beam/laser diff --git a/code/modules/projectiles/ammunition/energy/stun.dm b/code/modules/projectiles/ammunition/energy/stun.dm index c47a88b38830..917e1c8c8189 100644 --- a/code/modules/projectiles/ammunition/energy/stun.dm +++ b/code/modules/projectiles/ammunition/energy/stun.dm @@ -46,4 +46,4 @@ /obj/item/ammo_casing/energy/disabler/smg projectile_type = /obj/projectile/beam/disabler/weak/negative_ap e_cost = 330 - delay = 0.2 SECONDS + delay = 0.1 SECONDS diff --git a/code/modules/projectiles/boxes_magazines/_box_magazine.dm b/code/modules/projectiles/boxes_magazines/_box_magazine.dm index c3989e7a4952..6b04646697e2 100644 --- a/code/modules/projectiles/boxes_magazines/_box_magazine.dm +++ b/code/modules/projectiles/boxes_magazines/_box_magazine.dm @@ -94,14 +94,14 @@ if(istype(A, /obj/item/ammo_box)) var/obj/item/ammo_box/AM = A for(var/obj/item/ammo_casing/AC in AM.stored_ammo) - if(!((instant_load && AM.instant_load) || do_after_mob(user, list(AM), 1 SECONDS,))) + if(!((instant_load && AM.instant_load) || (stored_ammo.len >= max_ammo) || do_after_mob(user, list(AM), 1 SECONDS,))) break var/did_load = give_round(AC, replace_spent) if(!did_load) break AM.stored_ammo -= AC if(!silent) - playsound(AM, 'sound/weapons/gun/general/mag_bullet_insert.ogg', 60, TRUE) //src is nullspaced, which means internal magazines won't properly play sound, thus we use AM + playsound(get_turf(AM), 'sound/weapons/gun/general/mag_bullet_insert.ogg', 60, TRUE) //src is nullspaced, which means internal magazines won't properly play sound, thus we use AM num_loaded++ A.update_appearance() update_appearance() @@ -173,6 +173,11 @@ if(!(caliber || istype(src, /obj/item/ammo_box/magazine) || instant_load)) . += "Alt-click on [src] while it in a pocket or your off-hand to take out a round while it is there." +/obj/item/ammo_box/fire_act(exposed_temperature, exposed_volume) + . = ..() + for(var/obj/item/ammo_casing/bullet2pop in stored_ammo) + bullet2pop.fire_act() + /obj/item/ammo_box/magazine w_class = WEIGHT_CLASS_SMALL //Default magazine weight, only differs for tiny mags and drums @@ -201,3 +206,4 @@ /obj/item/ammo_box/magazine/handle_atom_del(atom/A) stored_ammo -= A update_ammo_count() + diff --git a/code/modules/projectiles/boxes_magazines/ammo_boxes.dm b/code/modules/projectiles/boxes_magazines/ammo_boxes.dm index e8c47f60f85b..ab8e65c069bf 100644 --- a/code/modules/projectiles/boxes_magazines/ammo_boxes.dm +++ b/code/modules/projectiles/boxes_magazines/ammo_boxes.dm @@ -24,44 +24,30 @@ // .45-70 Ammo Holders (Hunting Revolver) /obj/item/ammo_box/a4570 - name = "ammo holder (.45-70)" - desc = "A 6-round ammo holder for .45-70 revolvers. These rounds do significant damage with average performance against armor." + name = "ammo box (.45-70)" + desc = "A box of top grade .45-70 ammo. These rounds do significant damage with average performance against armor." icon_state = "4570" ammo_type = /obj/item/ammo_casing/a4570 - max_ammo = 6 - multiple_sprites = AMMO_BOX_PER_BULLET - item_flags = NO_MAT_REDEMPTION - w_class = WEIGHT_CLASS_TINY - instant_load = TRUE + max_ammo = 12 /obj/item/ammo_box/a4570/match name = "ammo holder (.45-70 match)" desc = "A 6-round ammo holder for .45-70 revolvers. These match rounds travel faster, perform better against armor, and can ricochet off targets." + icon_state = "4570-match" ammo_type = /obj/item/ammo_casing/a4570/match /obj/item/ammo_box/a4570/hp name = "ammo holder (.45-70 hollow point)" desc = "A 6-round ammo holder for .45-70 revolvers. These hollow point rounds do legendary damage against soft targets, but are nearly ineffective against armored ones." + icon_state = "4570-hp" ammo_type = /obj/item/ammo_casing/a357/hp /obj/item/ammo_box/a4570/explosive name = "ammo holder (.45-70 explosive)" desc = "A 6-round ammo holder for .45-70 revolvers. These explosive rounds contain a small explosive charge that detonates on impact, creating large wounds and potentially removing limbs." + icon_state = "4570-explosive" ammo_type = /obj/item/ammo_casing/a4570/explosive -// 7.62x38mmR Ammo Holders (Nagant Revolver) - -/obj/item/ammo_box/n762_clip - name = "ammo holder (7.62x38mmR)" - desc = "A 7-round ammo holder for the Nagant revolver. These rounds do good damage, but struggle against armor." - icon_state = "n762" - ammo_type = /obj/item/ammo_casing/n762_38 - max_ammo = 7 - multiple_sprites = AMMO_BOX_PER_BULLET - item_flags = NO_MAT_REDEMPTION - w_class = WEIGHT_CLASS_TINY - instant_load = TRUE - // .38 special Speed Loaders (Colt Detective Special) /obj/item/ammo_box/c38 @@ -105,34 +91,48 @@ desc = "A 6-round speed loader for quickly reloading .38 special revolvers. These iceblox bullets contain a cryogenic payload that chills targets." ammo_type = /obj/item/ammo_casing/c38/iceblox -// 7.62x54mmR Stripper Clip (Illestren Hunting Rifle) +// 8x58mm Stripper Clip (SSG-669C) + +/obj/item/ammo_box/a858 + name = "stripper clip (8x58mm)" + desc = "A 5-round stripper clip for the SSG-669C rifle. These rounds do good damage with significant armor penetration." + icon_state = "858" + ammo_type = /obj/item/ammo_casing/caseless/a858 + max_ammo = 5 + multiple_sprites = AMMO_BOX_PER_BULLET + instant_load = TRUE + +// .308 Stripper Clip (Vickland) -/obj/item/ammo_box/a762 - name = "stripper clip (7.62x54mmR)" - desc = "A 5-round stripper clip for the Illestren Hunting Rifle. These rounds do good damage with significant armor penetration." - icon_state = "762" - ammo_type = /obj/item/ammo_casing/a762_54 +/obj/item/ammo_box/vickland_a308 + name = "stripper clip (.308)" + desc = "A 5-round stripper clip for the Vickland Battle Rifle. The Vickland itself has a 10 round capacity, so keep in mind two of these are needed to fully reload it. These rounds do good damage with significant armor penetration." + icon_state = "308" + ammo_type = /obj/item/ammo_casing/a308 max_ammo = 5 multiple_sprites = AMMO_BOX_PER_BULLET w_class = WEIGHT_CLASS_TINY instant_load = TRUE -// 8x58mm Stripper Clip (SSG-669C) -/obj/item/ammo_box/a858 - name = "stripper clip (8x58mm)" - desc = "A 5-round stripper clip for the SSG-669C rifle. These rounds do good damage with significant armor penetration." - icon_state = "762" - ammo_type = /obj/item/ammo_casing/caseless/a858 +// .300 Magnum Stripper Clip (Scout) + +/obj/item/ammo_box/a300 + name = "stripper clip (.300 Magnum)" + desc = "A 5-round stripper clip for the Scout Rifle. These rounds do great damage with significant armor penetration." + icon_state = "300m" + ammo_type = /obj/item/ammo_casing/a300 max_ammo = 5 multiple_sprites = AMMO_BOX_PER_BULLET + w_class = WEIGHT_CLASS_TINY + instant_load = TRUE // .300 Blackout Stripper Clip (Polymer Survivor Rifle) /obj/item/ammo_box/aac_300blk_stripper name = "stripper clip (.300 BLK)" desc = "A 5-round stripper clip for makeshift bolt-action rifles. These rounds do good damage with good armor penetration." - icon_state = "762" + icon_state = "300m" ammo_type = /obj/item/ammo_casing/aac_300blk caliber = ".300 BLK" max_ammo = 5 @@ -336,13 +336,6 @@ multiple_sprites = AMMO_BOX_PER_BULLET w_class = WEIGHT_CLASS_NORMAL -/obj/item/ammo_box/n762 - name = "ammo box (7.62x38mmR)" - icon_state = "n762box" - desc = "A box of unusual revolver ammunition with the bullet seated below the mouth of the cartridge." - ammo_type = /obj/item/ammo_casing/n762_38 - max_ammo = 28 - /obj/item/ammo_box/a762_39 name = "ammo box (7.62x39mm)" icon_state = "a762_39box" @@ -352,9 +345,12 @@ /obj/item/ammo_box/a308 name = "ammo box (.308)" icon_state = "a308box" - ammo_type = /obj/item/ammo_casing/win308 + ammo_type = /obj/item/ammo_casing/a308 max_ammo = 30 +/obj/item/ammo_box/a308/hunterspride //just an alternative graphic for srm ships + icon_state = "a308box-HP" + /obj/item/ammo_box/foambox name = "ammo box (Foam Darts)" icon = 'icons/obj/guns/toy.dmi' diff --git a/code/modules/projectiles/boxes_magazines/external/lmg.dm b/code/modules/projectiles/boxes_magazines/external/lmg.dm index 402db1502853..fdf1b7985b29 100644 --- a/code/modules/projectiles/boxes_magazines/external/lmg.dm +++ b/code/modules/projectiles/boxes_magazines/external/lmg.dm @@ -1,7 +1,7 @@ /obj/item/ammo_box/magazine/mm712x82 name = "box magazine (7.12x82mm)" desc = "A 50-round box magazine for the L6 SAW machine gun. These rounds do moderate damage with significant armor penetration." - icon_state = "a762-50" + icon_state = "a762-100" base_icon_state = "a762" ammo_type = /obj/item/ammo_casing/mm712x82 caliber = "7.12x82mm" diff --git a/code/modules/projectiles/boxes_magazines/external/pistol.dm b/code/modules/projectiles/boxes_magazines/external/pistol.dm index 0c25c8a2282e..e96d8d434ddb 100644 --- a/code/modules/projectiles/boxes_magazines/external/pistol.dm +++ b/code/modules/projectiles/boxes_magazines/external/pistol.dm @@ -33,7 +33,7 @@ /obj/item/ammo_box/magazine/m45 name = "pistol magazine (.45)" - desc = "An 8-round single-stack magazine for the M1911 pistol. These rounds do moderate damage, but struggle against armor." + desc = "An 8-round single-stack magazine for the Candor pistol. These rounds do moderate damage, but struggle against armor." icon_state = "45-8" base_icon_state = "45" ammo_type = /obj/item/ammo_casing/c45 @@ -42,22 +42,22 @@ /obj/item/ammo_box/magazine/m45/inc name = "pistol magazine (.45 incendiary)" - desc = "An 8-round single-stack magazine for the M1911 pistol. These incendiary rounds deal mediocre damage, but leave flaming trails which set targets ablaze." + desc = "An 8-round single-stack magazine for the Candor pistol. These incendiary rounds deal mediocre damage, but leave flaming trails which set targets ablaze." ammo_type = /obj/item/ammo_casing/c45/inc /obj/item/ammo_box/magazine/m45/hp name = "pistol magazine (.45 HP)" - desc= "An 8-round single-stack magazine for the M1911 pistol. These hollow point rounds do incredible damage against soft targets, but are nearly ineffective against armored ones." + desc= "An 8-round single-stack magazine for the Candor pistol. These hollow point rounds do incredible damage against soft targets, but are nearly ineffective against armored ones." ammo_type = /obj/item/ammo_casing/c45/hp /obj/item/ammo_box/magazine/m45/ap name = "pistol magazine (.45 AP)" - desc= "An 8-round single-stack magazine for the M1911 pistol. These armor-piercing rounds are okay at piercing protective equipment, but lose some stopping power." + desc= "An 8-round single-stack magazine for the Candor pistol. These armor-piercing rounds are okay at piercing protective equipment, but lose some stopping power." ammo_type = /obj/item/ammo_casing/c45/ap /obj/item/ammo_box/magazine/m45/rubber name = "pistol magazine (.45 rubber)" - desc = "An 8-round single-stack magazine for the M1911 pistol. These rubber rounds trade lethality for a heavy impact which can incapacitate targets. Performs even worse against armor." + desc = "An 8-round single-stack magazine for the Candor pistol. These rubber rounds trade lethality for a heavy impact which can incapacitate targets. Performs even worse against armor." ammo_type = /obj/item/ammo_casing/c45/rubber /obj/item/ammo_box/magazine/m45/update_icon_state() @@ -123,9 +123,9 @@ name = "part of a disposable gun" desc = "You ripped out part of the gun, somehow, rendering it unusuable. I hope you're happy." icon_state = "45-8" - ammo_type = /obj/item/ammo_casing/c38 - caliber = ".38" - max_ammo = 3 + ammo_type = /obj/item/ammo_casing/c22lr + caliber = ".22lr" + max_ammo = 10 w_class = WEIGHT_CLASS_TINY /obj/item/ammo_box/magazine/zip_ammo_9mm diff --git a/code/modules/projectiles/boxes_magazines/external/rifle.dm b/code/modules/projectiles/boxes_magazines/external/rifle.dm index fa4e6e8048af..980272313c1a 100644 --- a/code/modules/projectiles/boxes_magazines/external/rifle.dm +++ b/code/modules/projectiles/boxes_magazines/external/rifle.dm @@ -71,11 +71,11 @@ icon_state = "ak47_mag-[!!ammo_count()]" /obj/item/ammo_box/magazine/ebr - name = "battle rifle magazine (.308 Winchester)" + name = "battle rifle magazine (.308)" desc = "A small, 10-round steel magazine for the M514 EBR. These rounds do good damage with significant armor penetration." icon_state = "ebr_mag" - ammo_type = /obj/item/ammo_casing/win308 - caliber = ".308 Winchester" + ammo_type = /obj/item/ammo_casing/a308 + caliber = ".308" max_ammo = 10 /obj/item/ammo_box/magazine/ebr/update_icon_state() @@ -83,11 +83,11 @@ icon_state = "ebr_mag-[!!ammo_count()]" /obj/item/ammo_box/magazine/gal - name = "\improper GAL Magazine (.308 Winchester)" + name = "\improper GAL Magazine (.308)" desc = "A standard 10-round magazine for GAL platform DMRs. These rounds do good damage with significant armor penetration." icon_state = "ebr_mag" - ammo_type = /obj/item/ammo_casing/win308 - caliber = ".308 Winchester" + ammo_type = /obj/item/ammo_casing/a308 + caliber = ".308" max_ammo = 10 /obj/item/ammo_box/magazine/gal/update_icon_state() @@ -128,3 +128,14 @@ /obj/item/ammo_box/magazine/e40/update_icon_state() . = ..() icon_state = "e40_mag-[!!ammo_count()]" + +// 8x50mmR En Bloc Clip (Illestren Hunting Rifle) + +/obj/item/ammo_box/magazine/illestren_a850r //this is a magazine codewise do nothing breaks + name = "en bloc clip (8x50mmR)" + desc = "A 5-round en bloc clip for the Illestren Hunting Rifle. These rounds do good damage with significant armor penetration." + icon_state = "enbloc_858" + ammo_type = /obj/item/ammo_casing/a8_50r + max_ammo = 5 + multiple_sprites = AMMO_BOX_PER_BULLET + w_class = WEIGHT_CLASS_TINY diff --git a/code/modules/projectiles/boxes_magazines/external/smg.dm b/code/modules/projectiles/boxes_magazines/external/smg.dm index 587718e5caad..7e5f418ec7b2 100644 --- a/code/modules/projectiles/boxes_magazines/external/smg.dm +++ b/code/modules/projectiles/boxes_magazines/external/smg.dm @@ -97,16 +97,29 @@ . = ..() icon_state = "c20r45-[round(ammo_count(),2)]" -/obj/item/ammo_box/magazine/smgm45/drum - name = "drum magazine (.45)" - desc = "A bulky, 50-round drum magazine for .45 submachine guns. These rounds do moderate damage, but struggle against armor." - icon_state = "drum45" +/obj/item/ammo_box/magazine/c45_firestorm_mag + name = "stick magazine (.45)" + desc = "A 28-round stick magazine for the toploading Firestorm submachine gun. These rounds do moderate damage, but struggle against armor." + icon_state = "firestorm_mag" + base_icon_state = "firestorm_mag" + ammo_type = /obj/item/ammo_casing/c45 + caliber = ".45" + max_ammo = 28 + +/obj/item/ammo_box/magazine/c45_firestorm_mag/update_icon_state() + . = ..() + icon_state = "firestorm_mag-[!!ammo_count()]" + +/obj/item/ammo_box/magazine/c45_firestorm_mag/pan + name = "pan magazine (.45)" + desc = "A bulky, 50-round pan magazine for the toploading Firestorm submachine gun. These rounds struggle against armor, but with this many you could cut anyone down regardless." + icon_state = "firestorm_pan" max_ammo = 50 w_class = WEIGHT_CLASS_NORMAL -/obj/item/ammo_box/magazine/smgm45/drum/update_icon_state() //Causes the mag to NOT inherit the parent's update_icon oooh the misery +/obj/item/ammo_box/magazine/c45_firestorm_mag/pan/update_icon_state() //Causes the mag to NOT inherit the parent's update_icon oooh the misery . = ..() - icon_state = "drum45" + icon_state = "firestorm_pan" /obj/item/ammo_box/magazine/pistol556mm name = "handgun magazine (5.56mm HITP caseless)" diff --git a/code/modules/projectiles/boxes_magazines/external/toy.dm b/code/modules/projectiles/boxes_magazines/external/toy.dm index 7ed352a1941a..ab9656cdf111 100644 --- a/code/modules/projectiles/boxes_magazines/external/toy.dm +++ b/code/modules/projectiles/boxes_magazines/external/toy.dm @@ -49,8 +49,8 @@ /obj/item/ammo_box/magazine/toy/m762 name = "donksoft box magazine" desc = "A huge toy LMG magazine designed to fit vast quantities of harmless foam darts." - icon_state = "a762-toy" - base_icon_state = "a762" + icon_state = "a850r-toy" + base_icon_state = "a850r" caliber = "foam_force" ammo_type = /obj/item/ammo_casing/caseless/foam_dart max_ammo = 50 @@ -62,5 +62,5 @@ /obj/item/ammo_box/magazine/toy/m762/riot desc = "A huge toy LMG magazine designed to fit vast quantities of legally-harmless riot control darts." - icon_state = "a762-riot" + icon_state = "a850r-riot" ammo_type = /obj/item/ammo_casing/caseless/foam_dart/riot diff --git a/code/modules/projectiles/boxes_magazines/internal/revolver.dm b/code/modules/projectiles/boxes_magazines/internal/revolver.dm index 7715d31b1323..0c3bdac1be36 100644 --- a/code/modules/projectiles/boxes_magazines/internal/revolver.dm +++ b/code/modules/projectiles/boxes_magazines/internal/revolver.dm @@ -5,12 +5,9 @@ max_ammo = 6 instant_load = TRUE -/obj/item/ammo_box/magazine/internal/cylinder/rev762 - name = "\improper Nagant revolver cylinder" - ammo_type = /obj/item/ammo_casing/n762_38 - caliber = "7.62x38mmR" +/obj/item/ammo_box/magazine/internal/cylinder/rev38/big + name = "\improper Montagne cylinder" max_ammo = 7 - instant_load = FALSE /obj/item/ammo_box/magazine/internal/cylinder/rev4570 name = "hunting revolver cylinder" diff --git a/code/modules/projectiles/boxes_magazines/internal/rifle.dm b/code/modules/projectiles/boxes_magazines/internal/rifle.dm index b85b223c254b..921ff98293a1 100644 --- a/code/modules/projectiles/boxes_magazines/internal/rifle.dm +++ b/code/modules/projectiles/boxes_magazines/internal/rifle.dm @@ -1,14 +1,14 @@ /obj/item/ammo_box/magazine/internal/boltaction name = "bolt action rifle internal magazine" desc = "Oh god, this shouldn't be here" - ammo_type = /obj/item/ammo_casing/a762_54 - caliber = "7.62x54mmR" + ammo_type = /obj/item/ammo_casing/a8_50r + caliber = "8x50mmR" max_ammo = 5 instant_load = TRUE /obj/item/ammo_box/magazine/internal/boltaction/enchanted max_ammo = 1 - ammo_type = /obj/item/ammo_casing/a762_54 + ammo_type = /obj/item/ammo_casing/a8_50r /obj/item/ammo_box/magazine/internal/boltaction/enchanted/arcane_barrage ammo_type = /obj/item/ammo_casing/magic/arcane_barrage @@ -32,3 +32,10 @@ ammo_type = /obj/item/ammo_casing/aac_300blk caliber = ".300 BLK" max_ammo = 5 + +/obj/item/ammo_box/magazine/internal/vickland + name = "Vickland battle rifle internal magazine" + ammo_type = /obj/item/ammo_casing/a308 + caliber = ".308" + max_ammo = 10 + instant_load = TRUE diff --git a/code/modules/projectiles/boxes_magazines/internal/shotgun.dm b/code/modules/projectiles/boxes_magazines/internal/shotgun.dm index 2b3adeea371d..38c99aec9372 100644 --- a/code/modules/projectiles/boxes_magazines/internal/shotgun.dm +++ b/code/modules/projectiles/boxes_magazines/internal/shotgun.dm @@ -35,8 +35,8 @@ /obj/item/ammo_box/magazine/internal/shot/riot name = "riot shotgun internal magazine" - ammo_type = /obj/item/ammo_casing/shotgun/rubbershot - max_ammo = 6 + ammo_type = /obj/item/ammo_casing/shotgun/buckshot + max_ammo = 7 /obj/item/ammo_box/magazine/internal/shot/bounty name = "triple-barrel shotgun internal magazine" @@ -47,13 +47,10 @@ name = "winchester internal magazine" ammo_type = /obj/item/ammo_casing/c38 caliber = ".38" - max_ammo = 7 - -/obj/item/ammo_box/magazine/internal/shot/winchester/lethal - ammo_type = /obj/item/ammo_casing/c38 + max_ammo = 12 -/obj/item/ammo_box/magazine/internal/shot/contender - name = "contender internal magazine" +/obj/item/ammo_box/magazine/internal/shot/beacon + name = "beacon internal magazine" ammo_type = /obj/item/ammo_casing/a4570 caliber = ".45-70" max_ammo = 1 diff --git a/code/modules/projectiles/guns/ballistic.dm b/code/modules/projectiles/guns/ballistic.dm index 642fcdf0c0b0..b640390ebfe4 100644 --- a/code/modules/projectiles/guns/ballistic.dm +++ b/code/modules/projectiles/guns/ballistic.dm @@ -60,6 +60,8 @@ var/empty_indicator = FALSE ///Whether the gun alarms when empty or not. var/empty_alarm = FALSE + ///Do we eject the magazine upon runing out of ammo? + var/empty_autoeject = FALSE ///Whether the gun supports multiple special mag types var/special_mags = FALSE ///The bolt type of the gun, affects quite a bit of functionality, see combat.dm defines for bolt types: BOLT_TYPE_STANDARD; BOLT_TYPE_LOCKING; BOLT_TYPE_OPEN; BOLT_TYPE_NO_BOLT @@ -240,8 +242,8 @@ else to_chat(user, "Your reload was interupted!") return - - user.put_in_hands(old_mag) + if(user) + user.put_in_hands(old_mag) update_appearance() /obj/item/gun/ballistic/can_shoot() @@ -338,6 +340,9 @@ if (empty_alarm && last_shot_succeeded) playsound(src, empty_alarm_sound, empty_alarm_volume, empty_alarm_vary) update_appearance() + if (empty_autoeject && last_shot_succeeded && !internal_magazine) + eject_magazine(display_message = FALSE) + update_appearance() if (last_shot_succeeded && bolt_type == BOLT_TYPE_LOCKING) bolt_locked = TRUE update_appearance() @@ -403,6 +408,7 @@ . += "The [bolt_wording] is locked back and needs to be released before firing." if (suppressed) . += "It has a suppressor attached that can be removed with alt+click." + . += "You can [bolt_wording] [src] by pressing the unqiue action key. By default, this is space" ///Gets the number of bullets in the gun /obj/item/gun/ballistic/proc/get_ammo(countchambered = TRUE) diff --git a/code/modules/projectiles/guns/ballistic/assault.dm b/code/modules/projectiles/guns/ballistic/assault.dm index ab54f3dd247c..576a914cce01 100644 --- a/code/modules/projectiles/guns/ballistic/assault.dm +++ b/code/modules/projectiles/guns/ballistic/assault.dm @@ -128,22 +128,6 @@ icon_state = "cm16" item_state = "cm16" -/obj/item/gun/ballistic/automatic/assault/ar - name = "\improper NT-ARG 'Boarder'" - desc = "A burst-fire 5.56mm carbine occasionally found in the hands of Nanotrasen marines." - fire_sound = 'sound/weapons/gun/rifle/shot_alt2.ogg' - icon_state = "arg" - item_state = "arg" - slot_flags = 0 - mag_type = /obj/item/ammo_box/magazine/p16 - can_suppress = FALSE - burst_size = 3 - fire_delay = 1 - -/obj/item/gun/ballistic/automatic/assault/ar/ComponentInitialize() - . = ..() - AddComponent(/datum/component/automatic_fire, 0.2 SECONDS) - /obj/item/gun/ballistic/automatic/assault/swiss_cheese name = "\improper Swiss Cheese" desc = "An ancient longarm famous for its boxy, modular design. The DMA on this unit is, sadly, broken. Uses 5.56mm ammunition for Matter mode." @@ -319,3 +303,28 @@ w_class = WEIGHT_CLASS_NORMAL ammo_type = list(/obj/item/ammo_casing/energy/laser/assault) fire_delay = 2 + +//techinically a battle rifle, i'm putting it here for organisation sake + +/obj/item/gun/ballistic/automatic/vickland //weapon designed by Apogee-dev + name = "\improper Vickland" + desc = "The pride of the Saint-Roumain Militia, the Vickland is a rare semi-automatic battle rifle produced by Hunter's Pride exclusively for SRM use. It is unusual in its class for its internal rotary magazine, which must be reloaded using stripper clips. Chambered in .308." + icon = 'icons/obj/guns/48x32guns.dmi' + fire_sound = 'sound/weapons/gun/rifle/vickland.ogg' + icon_state = "vickland" + item_state = "vickland" + weapon_weight = WEAPON_MEDIUM + w_class = WEIGHT_CLASS_BULKY + internal_magazine = TRUE + mag_type = /obj/item/ammo_box/magazine/internal/vickland + fire_sound = 'sound/weapons/gun/rifle/vickland.ogg' + burst_size = 0 + actions_types = list() + manufacturer = MANUFACTURER_HUNTERSPRIDE + + rack_sound = 'sound/weapons/gun/rifle/ar_cock.ogg' + + spread_unwielded = 25 + recoil = 0 + recoil_unwielded = 4 + wield_slowdown = 0.75 diff --git a/code/modules/projectiles/guns/ballistic/automatic.dm b/code/modules/projectiles/guns/ballistic/automatic.dm index 841e36927cb5..7cbd8574ba86 100644 --- a/code/modules/projectiles/guns/ballistic/automatic.dm +++ b/code/modules/projectiles/guns/ballistic/automatic.dm @@ -128,7 +128,7 @@ /obj/item/gun/ballistic/automatic/ebr name = "\improper M514 EBR" - desc = "A reliable, high-powered battle rifle often found in the hands of Syndicate personnel and remnants, chambered in .308 Winchester. Effective against personnel and armor alike." + desc = "A reliable, high-powered battle rifle often found in the hands of Syndicate personnel and remnants, chambered in .308. Effective against personnel and armor alike." icon = 'icons/obj/guns/48x32guns.dmi' lefthand_file = 'icons/mob/inhands/weapons/64x_guns_left.dmi' righthand_file = 'icons/mob/inhands/weapons/64x_guns_right.dmi' diff --git a/code/modules/projectiles/guns/ballistic/gauss.dm b/code/modules/projectiles/guns/ballistic/gauss.dm index b8b8e36e04b7..400633520129 100644 --- a/code/modules/projectiles/guns/ballistic/gauss.dm +++ b/code/modules/projectiles/guns/ballistic/gauss.dm @@ -42,9 +42,9 @@ empty_indicator = FALSE manufacturer = MANUFACTURER_SOLARARMORIES recoil = 1 - recoil_unwielded = 2 + recoil_unwielded = 4 spread = 3 - spread_unwielded = 6 + spread_unwielded = 12 /obj/item/gun/ballistic/automatic/powered/gauss/claris @@ -66,8 +66,8 @@ manufacturer = MANUFACTURER_SOLARARMORIES /obj/item/gun/ballistic/automatic/powered/gauss/gar - name = "Solar 'GAR' Assault Rifle" - desc = "A Solarian assault rifle, unusually modern for its producers. Launches ferromagnetic lances at alarming speeds." + name = "Solar 'GAR' Carbine" + desc = "A Solarian carbine, unusually modern for its producers. Launches ferromagnetic lances at alarming speeds." mag_type = /obj/item/ammo_box/magazine/gar icon = 'icons/obj/guns/48x32guns.dmi' icon_state = "gar" @@ -76,14 +76,13 @@ load_sound = 'sound/weapons/gun/gauss/rifle_reload.ogg' cell_type = /obj/item/stock_parts/cell/gun/solgov burst_size = 2 - fire_delay = 2 + fire_delay = 1 actions_types = list() empty_indicator = FALSE manufacturer = MANUFACTURER_SOLARARMORIES wield_delay = 0.7 SECONDS - fire_delay = 1 /obj/item/gun/ballistic/automatic/powered/gauss/gar/ComponentInitialize() . = ..() - AddComponent(/datum/component/automatic_fire, 0.2 SECONDS) //setiting this to 0.1 breaks auotfire, not sure why, so we use the standard fire rate but in 2 shot bursts to shoot 'faster' + AddComponent(/datum/component/automatic_fire, 0.2 SECONDS) diff --git a/code/modules/projectiles/guns/ballistic/pistol.dm b/code/modules/projectiles/guns/ballistic/pistol.dm index 97974ff341fb..964151a8a665 100644 --- a/code/modules/projectiles/guns/ballistic/pistol.dm +++ b/code/modules/projectiles/guns/ballistic/pistol.dm @@ -28,8 +28,8 @@ manufacturer = MANUFACTURER_SCARBOROUGH wield_delay = 0.2 SECONDS - spread = -2 - spread_unwielded = 4 + spread = 2 + spread_unwielded = 5 wield_slowdown = 0.15 muzzleflash_iconstate = "muzzle_flash_light" @@ -42,25 +42,37 @@ var/obj/item/suppressor/S = new(src) install_suppressor(S) -/obj/item/gun/ballistic/automatic/pistol/m1911 - name = "\improper M1911A8" - desc = "A classic .45 handgun. An engraving on the slide marks it as a product of Hunter's Pride." - icon_state = "m1911" +/obj/item/gun/ballistic/automatic/pistol/candor + name = "\improper Candor" + desc = "A classic semi-automatic handgun, widely popular throughout the Frontier. An engraving on the slide marks it as a product of Hunter's Pride. Chambered in .45." + icon_state = "candor" + item_state = "hp_generic" w_class = WEIGHT_CLASS_NORMAL mag_type = /obj/item/ammo_box/magazine/m45 can_suppress = FALSE - fire_sound = 'sound/weapons/gun/pistol/m1911.ogg' - rack_sound = 'sound/weapons/gun/pistol/m1911_cocked.ogg' + fire_sound = 'sound/weapons/gun/pistol/candor.ogg' + rack_sound = 'sound/weapons/gun/pistol/candor_cocked.ogg' lock_back_sound = 'sound/weapons/gun/pistol/slide_lock.ogg' bolt_drop_sound = 'sound/weapons/gun/pistol/slide_drop.ogg' manufacturer = MANUFACTURER_HUNTERSPRIDE - load_sound = 'sound/weapons/gun/pistol/m1911_reload.ogg' - load_empty_sound = 'sound/weapons/gun/pistol/m1911_reload.ogg' - eject_sound = 'sound/weapons/gun/pistol/m1911_unload.ogg' - eject_empty_sound = 'sound/weapons/gun/pistol/m1911_unload.ogg' + load_sound = 'sound/weapons/gun/pistol/candor_reload.ogg' + load_empty_sound = 'sound/weapons/gun/pistol/candor_reload.ogg' + eject_sound = 'sound/weapons/gun/pistol/candor_unload.ogg' + eject_empty_sound = 'sound/weapons/gun/pistol/candor_unload.ogg' recoil = -2 -/obj/item/gun/ballistic/automatic/pistol/m1911/no_mag +/obj/item/gun/ballistic/automatic/pistol/candor/no_mag + spawnwithmagazine = FALSE + +/obj/item/gun/ballistic/automatic/pistol/candor/factory //also give this to the srm, their candors should probably look factory fresh from how well taken care of they are + desc = "A classic semi-automatic handgun, widely popular throughout the Frontier. An engraving on the slide marks it as a product of Hunter's Pride. This example has been kept in especially good shape, and may as well be fresh out of the workshop. Chambered in .45." + item_state = "hp_generic_fresh" + +/obj/item/gun/ballistic/automatic/pistol/candor/factory/update_overlays() + . = ..() + . += "[initial(icon_state)]_factory" + +/obj/item/gun/ballistic/automatic/pistol/candor/factory/no_mag spawnwithmagazine = FALSE /obj/item/gun/ballistic/automatic/pistol/deagle @@ -238,26 +250,17 @@ /obj/item/gun/ballistic/automatic/pistol/disposable name = "disposable gun" desc = "An exceedingly flimsy plastic gun that is extremely cheap to produce. You get what you pay for." - icon_state = "disposable" + fire_sound = 'sound/weapons/gun/pistol/himehabu.ogg' + icon_state = "disposable" //credit to discord user any% for the sprite w_class = WEIGHT_CLASS_NORMAL mag_type = /obj/item/ammo_box/magazine/disposable custom_materials = list(/datum/material/plastic=2000) can_suppress = FALSE - var/random_icon = TRUE manufacturer = MANUFACTURER_NONE - has_safety = FALSE //thing barely costs anything, why would it have a safety? safety = FALSE -/obj/item/gun/ballistic/automatic/pistol/disposable/Initialize() - . = ..() - var/picked = pick("none","red","purple","yellow","green","dark") - if(random_icon) - if(picked == "none") - return - icon_state = "disposable_[picked]" - -/obj/item/gun/ballistic/automatic/pistol/disposable/eject_magazine(mob/user) +/obj/item/gun/ballistic/automatic/pistol/disposable/eject_magazine(mob/user, display_message = TRUE) to_chat(user, "Theres no magazine to eject!") return @@ -269,7 +272,6 @@ name = "pizza disposable gun" desc = "How horrible. Whoever you point at with this won't be very cheesed to meet you." //this is a warcrime against italians // IF YOU'RE GOING TO DO US DIRTY SPELL IT RIGHT icon_state = "disposable_pizza" - random_icon = FALSE custom_materials = list(/datum/material/pizza=2000) //not technically a pistol but whatever diff --git a/code/modules/projectiles/guns/ballistic/revolver.dm b/code/modules/projectiles/guns/ballistic/revolver.dm index 454a790728d2..4047f54590bb 100644 --- a/code/modules/projectiles/guns/ballistic/revolver.dm +++ b/code/modules/projectiles/guns/ballistic/revolver.dm @@ -117,16 +117,13 @@ . += "It can be spun with alt+click" /obj/item/gun/ballistic/revolver/detective - name = "\improper Hunter's Pride Detective Special" - desc = "A compact and ridiculously old-fashioned law enforcement firearm. Uses .38 special rounds." + name = "\improper HP Detective Special" + desc = "A small law enforcement firearm. Originally commissioned by Nanotrasen for their Private Investigation division, it has become extremely popular among independent civilians as a cheap, compact sidearm. Uses .38 Special rounds." fire_sound = 'sound/weapons/gun/revolver/shot_light.ogg' icon_state = "detective" mag_type = /obj/item/ammo_box/magazine/internal/cylinder/rev38 obj_flags = UNIQUE_RENAME unique_reskin = list("Default" = "detective", - "Fitz Special" = "detective_fitz", - "Police Positive Special" = "detective_police", - "Blued Steel" = "detective_blued", "Stainless Steel" = "detective_stainless", "Gold Trim" = "detective_gold", "Leopard Spots" = "detective_leopard", @@ -200,25 +197,26 @@ pin = /obj/item/firing_pin manufacturer = MANUFACTURER_NONE -/obj/item/gun/ballistic/revolver/nagant - name = "\improper Nagant revolver" - desc = "An ancient model of revolver with notoriously poor ergonomics, chambered in 7.62x38mmR. Uniquely able to be suppressed." - icon_state = "nagant" - can_suppress = TRUE - manufacturer = MANUFACTURER_NONE +/obj/item/gun/ballistic/revolver/montagne + name = "\improper HP Montagne" + desc = "An ornate break-open revolver issued to high-ranking members of the Saint-Roumain Militia. Chambered in .38 Special." + icon = 'icons/obj/guns/48x32guns.dmi' + icon_state = "montagne" + manufacturer = MANUFACTURER_HUNTERSPRIDE spread_unwielded = 12 recoil = 0 - recoil_unwielded = 0 - mag_type = /obj/item/ammo_box/magazine/internal/cylinder/rev762 + mag_type = /obj/item/ammo_box/magazine/internal/cylinder/rev38/big -/obj/item/gun/ballistic/revolver/hunting - name = "hunting revolver" - desc = "A massive, long-barreled revolver designed for the most dangerous game. Can only be reloaded one cartridge at a time due to its reinforced frame. Uses .45-70 ammo." - icon_state = "hunting" +/obj/item/gun/ballistic/revolver/ashhand + name = "HP Ashhand" + desc = "A massive, long-barreled revolver often used by the Saint-Roumain Militia as protection against big game. Can only be reloaded one cartridge at a time due to its reinforced frame. Uses .45-70 ammo." + icon = 'icons/obj/guns/48x32guns.dmi' + icon_state = "ashhand" mag_type = /obj/item/ammo_box/magazine/internal/cylinder/rev4570 fire_sound = 'sound/weapons/gun/revolver/shot_hunting.ogg' + manufacturer = MANUFACTURER_HUNTERSPRIDE wield_slowdown = 0.5 spread_unwielded = 5 spread = 2 @@ -329,15 +327,11 @@ user.drop_all_held_items() user.Paralyze(80) -/obj/item/gun/ballistic/revolver/srm - name = "SRM Standard Issue .357 Revolver" //should have used the pepperbox... - desc = "A sturdy, powerful, and reliable revolver utilized by the Saint-Roumain Militia." - manufacturer = MANUFACTURER_HUNTERSPRIDE - -/obj/item/gun/ballistic/revolver/pepperbox - name = "\improper pepperbox pistol" +/obj/item/gun/ballistic/revolver/firebrand + name = "\improper HP Firebrand" desc = "An archaic precursor to revolver-type firearms, this gun was rendered completely obsolete millennia ago. While fast to fire, it is extremely inaccurate. Uses .357 ammo." icon_state = "pepperbox" + item_state = "hp_generic_fresh" mag_type = /obj/item/ammo_box/magazine/internal/cylinder/pepperbox spread = 20 manufacturer = MANUFACTURER_HUNTERSPRIDE @@ -345,17 +339,18 @@ fire_delay = 0 semi_auto = TRUE -/obj/item/gun/ballistic/revolver/cattleman - name = "\improper Cattleman" - desc = "A strangely ancient revolver. Despite the age, it is a favorite of fast drawing spacers and officers in various militaries, but sometimes very rarely used in small colonial police units. Uses .45 ACP." +/obj/item/gun/ballistic/revolver/shadow + name = "\improper HP Shadow" + desc = "A mid-size revolver. Despite the antiquated design, it is cheap, reliable, and stylish, making it a favorite among fast-drawing spacers and the officers of various militaries, as well as small-time police units. Chambered in .45." fire_sound = 'sound/weapons/gun/revolver/cattleman.ogg' icon = 'icons/obj/guns/48x32guns.dmi' - icon_state = "cattleman" + icon_state = "shadow" mag_type = /obj/item/ammo_box/magazine/internal/cylinder/rev45 + manufacturer = MANUFACTURER_HUNTERSPRIDE obj_flags = UNIQUE_RENAME - unique_reskin = list("Default" = "cattleman", - "Army" = "cattleman_army", - "General" = "cattleman_general" + unique_reskin = list("Default" = "shadow", + "Army" = "shadow_army", + "General" = "shadow_general" ) recoil = 0 //weaker than normal revovler, no recoil diff --git a/code/modules/projectiles/guns/ballistic/rifle.dm b/code/modules/projectiles/guns/ballistic/rifle.dm index 6506edc4bb1d..60aa20ab3a50 100644 --- a/code/modules/projectiles/guns/ballistic/rifle.dm +++ b/code/modules/projectiles/guns/ballistic/rifle.dm @@ -1,10 +1,15 @@ /obj/item/gun/ballistic/rifle name = "Bolt Rifle" desc = "Some kind of bolt-action rifle. You get the feeling you shouldn't have this." + icon = 'icons/obj/guns/48x32guns.dmi' + mob_overlay_icon = 'icons/mob/clothing/back.dmi' icon_state = "hunting" item_state = "hunting" mag_type = /obj/item/ammo_box/magazine/internal/boltaction bolt_wording = "bolt" + w_class = WEIGHT_CLASS_BULKY + weapon_weight = WEAPON_HEAVY + slot_flags = ITEM_SLOT_BACK bolt_type = BOLT_TYPE_STANDARD semi_auto = FALSE internal_magazine = TRUE @@ -35,9 +40,18 @@ process_chamber(FALSE, FALSE, FALSE) bolt_locked = TRUE update_appearance() + if (magazine && !magazine?.ammo_count() && empty_autoeject && !internal_magazine) + eject_magazine(display_message = FALSE) + update_appearance() return drop_bolt(user) +/obj/item/gun/ballistic/rifle/eject_magazine(mob/user, display_message = TRUE, obj/item/ammo_box/magazine/tac_load = null) + if (!bolt_locked && empty_autoeject) + to_chat(user, "The bolt is closed!") + return + return ..() + /obj/item/gun/ballistic/rifle/can_shoot() if (bolt_locked) return FALSE @@ -57,38 +71,49 @@ // BOLT ACTION RIFLE // /////////////////////// -/obj/item/gun/ballistic/rifle/boltaction - name = "\improper Illestren Hunting Rifle" - desc = "One of Hunter's Pride most successful firearms. The bolt-action is popular among colonists, pirates, snipers, and countless more. Chambered in 7.62x54." - sawn_desc = "An extremely sawn-off Illestren, generally known as an \"obrez\". There was probably a reason it wasn't made this short to begin with." - w_class = WEIGHT_CLASS_BULKY - weapon_weight = WEAPON_HEAVY - icon = 'icons/obj/guns/48x32guns.dmi' - mob_overlay_icon = 'icons/mob/clothing/back.dmi' - icon_state = "hunting" - item_state = "hunting" - slot_flags = ITEM_SLOT_BACK - mag_type = /obj/item/ammo_box/magazine/internal/boltaction - can_bayonet = TRUE - knife_x_offset = 27 - knife_y_offset = 13 +/obj/item/gun/ballistic/rifle/illestren + name = "\improper HP Illestren" + desc = "A sturdy and conventional bolt-action rifle. One of Hunter's Pride's most successful firearms, the Illestren is popular among colonists, pirates, snipers, and countless others. Chambered in 8x50mmR." + sawn_desc = "An Illestren rifle sawn down to a ridiculously small size. There was probably a reason it wasn't made this short to begin with, but it still packs a punch." + eject_sound = 'sound/weapons/gun/rifle/vickland_unload.ogg' + eject_empty_sound = 'sound/weapons/gun/rifle/vickland_unload.ogg' + icon_state = "illestren" + item_state = "illestren" + internal_magazine = FALSE + mag_type = /obj/item/ammo_box/magazine/illestren_a850r + empty_autoeject = TRUE + eject_sound_vary = FALSE can_be_sawn_off = TRUE manufacturer = MANUFACTURER_HUNTERSPRIDE -/obj/item/gun/ballistic/rifle/boltaction/sawoff(mob/user) +/obj/item/gun/ballistic/rifle/illestren/sawoff(mob/user) . = ..() if(.) spread = 36 + spread_unwielded = 108 can_bayonet = FALSE - item_state = "hunting_sawn" + item_state = "illestren_sawn" + mob_overlay_state = item_state + weapon_weight = WEAPON_MEDIUM //you can fire it onehanded, makes it worse than worse than useless onehanded, but you can -/obj/item/gun/ballistic/rifle/boltaction/blow_up(mob/user) +/obj/item/gun/ballistic/rifle/illestren/blow_up(mob/user) . = 0 if(chambered && chambered.BB) process_fire(user, user, FALSE) . = 1 -/obj/item/gun/ballistic/rifle/boltaction/solgov +/obj/item/gun/ballistic/rifle/illestren/factory + desc = "A sturdy and conventional bolt-action rifle. One of Hunter's Pride's most successful firearms, this example has been kept in excellent shape and may as well be fresh out of the workshop. Chambered in 8x50mmR." + icon_state = "illestren_factory" + item_state = "illestren_factory" + +/obj/item/gun/ballistic/rifle/illestren/sawoff(mob/user) + . = ..() + if(.) + item_state = "illestren_factory_sawn" + mob_overlay_state = item_state + +/obj/item/gun/ballistic/rifle/solgov name = "SSG-669C" desc = "A bolt-action sniper rifle used by Solarian troops. Beloved for its rotary design and accuracy. Chambered in 8x58mm Caseless." mag_type = /obj/item/ammo_box/magazine/internal/boltaction/solgov @@ -109,17 +134,25 @@ wield_slowdown = 1 wield_delay = 1.3 SECONDS -/obj/item/gun/ballistic/rifle/boltaction/roumain - name = "standard-issue 'Smile' rifle" - desc = "A bolt-action rifle usually given to mercenary hunters of the Saint-Roumain Militia. Chambered in .300 Magnum." +/obj/item/gun/ballistic/rifle/scout + name = "HP Scout" + desc = "A powerful bolt-action rifle usually given to mercenary hunters of the Saint-Roumain Militia, equally suited for taking down big game or two-legged game. Chambered in .300 Magnum." mag_type = /obj/item/ammo_box/magazine/internal/boltaction/smile - icon_state = "roma" - item_state = "roma" + fire_sound = 'sound/weapons/gun/rifle/scout.ogg' + + rack_sound = 'sound/weapons/gun/rifle/scout_bolt_out.ogg' + bolt_drop_sound = 'sound/weapons/gun/rifle/scout_bolt_in.ogg' + icon_state = "scout" + item_state = "scout" can_be_sawn_off = FALSE + zoomable = TRUE + zoom_amt = 10 //Long range, enough to see in front of you, but no tiles behind you. + zoom_out_amt = 5 + manufacturer = MANUFACTURER_HUNTERSPRIDE -/obj/item/gun/ballistic/rifle/boltaction/enchanted +/obj/item/gun/ballistic/rifle/illestren/enchanted name = "enchanted bolt-action rifle" desc = "Careful not to lose your head." var/guns_left = 30 @@ -127,7 +160,7 @@ can_be_sawn_off = FALSE manufacturer = MANUFACTURER_NONE -/obj/item/gun/ballistic/rifle/boltaction/enchanted/arcane_barrage +/obj/item/gun/ballistic/rifle/illestren/enchanted/arcane_barrage name = "arcane barrage" desc = "Pew Pew Pew." fire_sound = 'sound/weapons/emitter.ogg' @@ -145,25 +178,25 @@ mag_type = /obj/item/ammo_box/magazine/internal/boltaction/enchanted/arcane_barrage -/obj/item/gun/ballistic/rifle/boltaction/enchanted/dropped() +/obj/item/gun/ballistic/rifle/illestren/enchanted/dropped() . = ..() guns_left = 0 -/obj/item/gun/ballistic/rifle/boltaction/enchanted/proc/discard_gun(mob/living/user) +/obj/item/gun/ballistic/rifle/illestren/enchanted/proc/discard_gun(mob/living/user) user.throw_item(pick(oview(7,get_turf(user)))) -/obj/item/gun/ballistic/rifle/boltaction/enchanted/arcane_barrage/discard_gun(mob/living/user) +/obj/item/gun/ballistic/rifle/illestren/enchanted/arcane_barrage/discard_gun(mob/living/user) qdel(src) -/obj/item/gun/ballistic/rifle/boltaction/enchanted/attack_self() +/obj/item/gun/ballistic/rifle/illestren/enchanted/attack_self() return -/obj/item/gun/ballistic/rifle/boltaction/enchanted/process_fire(atom/target, mob/living/user, message = TRUE, params = null, zone_override = "", bonus_spread = 0) +/obj/item/gun/ballistic/rifle/illestren/enchanted/process_fire(atom/target, mob/living/user, message = TRUE, params = null, zone_override = "", bonus_spread = 0) . = ..() if(!.) return if(guns_left) - var/obj/item/gun/ballistic/rifle/boltaction/enchanted/gun = new type + var/obj/item/gun/ballistic/rifle/illestren/enchanted/gun = new type gun.guns_left = guns_left - 1 discard_gun(user) user.swap_hand() @@ -171,7 +204,7 @@ else user.dropItemToGround(src, TRUE) -/obj/item/gun/ballistic/rifle/boltaction/polymer +/obj/item/gun/ballistic/rifle/polymer name = "polymer survivor rifle" desc = "A bolt-action rifle made of scrap, desperation, and luck. Likely to shatter at any moment. Chambered in .300 Blackout." icon = 'icons/obj/guns/projectile.dmi' diff --git a/code/modules/projectiles/guns/ballistic/shotgun.dm b/code/modules/projectiles/guns/ballistic/shotgun.dm index 8d4390398075..ab404b1261d5 100644 --- a/code/modules/projectiles/guns/ballistic/shotgun.dm +++ b/code/modules/projectiles/guns/ballistic/shotgun.dm @@ -1,12 +1,6 @@ /obj/item/gun/ballistic/shotgun name = "shotgun" - desc = "A traditional shotgun with wood furniture and a four-shell capacity underneath." - icon_state = "shotgun" - lefthand_file = 'icons/mob/inhands/weapons/64x_guns_left.dmi' - righthand_file = 'icons/mob/inhands/weapons/64x_guns_right.dmi' item_state = "shotgun" - inhand_x_dimension = 64 - inhand_y_dimension = 64 fire_sound = 'sound/weapons/gun/shotgun/shot.ogg' vary_fire_sound = FALSE fire_sound_volume = 90 @@ -29,39 +23,80 @@ manufacturer = MANUFACTURER_HUNTERSPRIDE wield_slowdown = 0.45 - wield_delay = 0.6 SECONDS //Shotguns are really easy to put up to fire, since they are designed for CQC (at least compared to a rifle) + wield_delay = 0.8 SECONDS spread = 4 spread_unwielded = 10 - recoil = 2 + recoil = 1 recoil_unwielded = 4 /obj/item/gun/ballistic/shotgun/blow_up(mob/user) - . = 0 if(chambered && chambered.BB) process_fire(user, user, FALSE) - . = 1 + return TRUE + for(var/obj/item/ammo_casing/ammo in magazine.stored_ammo) + if(ammo.BB) + process_chamber(FALSE, FALSE) + process_fire(user, user, FALSE) + return TRUE + return FALSE + +// BRIMSTONE SHOTGUN // + +/obj/item/gun/ballistic/shotgun/brimstone + name = "HP Brimstone" + desc = "A simple and sturdy pump-action shotgun sporting a 5-round capacity, manufactured by Hunter's Pride. Found widely throughout the Frontier in the hands of hunters, pirates, police, and countless others. Chambered in 12g." + sawn_desc = "A stockless and shortened pump-action shotgun. The worsened recoil and accuracy make it a poor sidearm anywhere beyond punching distance." + fire_sound = 'sound/weapons/gun/shotgun/brimstone.ogg' + icon = 'icons/obj/guns/48x32guns.dmi' + icon_state = "brimstone" + item_state = "brimstone" -/obj/item/gun/ballistic/shotgun/lethal mag_type = /obj/item/ammo_box/magazine/internal/shot/lethal + manufacturer = MANUFACTURER_HUNTERSPRIDE + fire_delay = 1 + + can_be_sawn_off = TRUE + + +/obj/item/gun/ballistic/shotgun/brimstone/ComponentInitialize() + . = ..() + AddComponent(/datum/component/automatic_fire, 0.1 SECONDS) + +/obj/item/gun/ballistic/shotgun/brimstone/sawoff(mob/user) + . = ..() + if(.) + weapon_weight = WEAPON_MEDIUM + wield_slowdown = 0.25 + wield_delay = 0.3 SECONDS //OP? maybe + + spread = 18 + spread_unwielded = 25 + recoil = 5 //your punishment for sawing off an short shotgun + recoil_unwielded = 8 + item_state = "illestren_factory_sawn" // i couldnt care about making another sprite, looks close enough + mob_overlay_state = item_state -// RIOT SHOTGUN // +// HELLFIRE SHOTGUN // -/obj/item/gun/ballistic/shotgun/riot //for spawn in the armory - name = "riot shotgun" - desc = "A sturdy shotgun with a six-shell tube and a fixed wooden stock designed for non-lethal riot control." +/obj/item/gun/ballistic/shotgun/hellfire + name = "HP Hellfire" + desc = "A hefty pump-action riot shotgun with a seven-round tube, manufactured by Hunter's Pride. Especially popular among the Frontier's police forces. Chambered in 12g." icon = 'icons/obj/guns/48x32guns.dmi' - icon_state = "riotshotgun" - item_state = "shotgun" + icon_state = "hellfire" + item_state = "hellfire" mag_type = /obj/item/ammo_box/magazine/internal/shot/riot sawn_desc = "Come with me if you want to live." can_be_sawn_off = TRUE rack_sound = 'sound/weapons/gun/shotgun/rack_alt.ogg' fire_delay = 1 -/obj/item/gun/ballistic/shotgun/riot/sawoff(mob/user) +/obj/item/gun/ballistic/shotgun/hellfire/sawoff(mob/user) . = ..() if(.) + var/obj/item/ammo_box/magazine/internal/tube = magazine + tube.max_ammo = 5 //this makes the gun so much worse + weapon_weight = WEAPON_MEDIUM wield_slowdown = 0.25 wield_delay = 0.3 SECONDS //OP? maybe @@ -70,6 +105,8 @@ spread_unwielded = 15 recoil = 3 //or not recoil_unwielded = 5 + item_state = "dshotgun_sawn" // ditto + mob_overlay_state = item_state // Automatic Shotguns// /obj/item/gun/ballistic/shotgun/automatic @@ -86,6 +123,8 @@ ..() rack() +//im not sure what to do with the combat shotgun, as it's functionally the same as the semi auto shotguns except it automattically racks instead of being semi-auto + /obj/item/gun/ballistic/shotgun/automatic/combat name = "combat shotgun" desc = "A semi-automatic shotgun with tactical furniture and six-shell capacity underneath." @@ -161,14 +200,13 @@ righthand_file = 'icons/mob/inhands/weapons/guns_righthand.dmi' inhand_x_dimension = 32 inhand_y_dimension = 32 - w_class = WEIGHT_CLASS_NORMAL weapon_weight = WEAPON_MEDIUM mag_type = /obj/item/ammo_box/magazine/m12g can_suppress = FALSE burst_size = 1 fire_delay = 0 pin = /obj/item/firing_pin/implant/pindicate - fire_sound = 'sound/weapons/gun/shotgun/shot.ogg' + fire_sound = 'sound/weapons/gun/shotgun/bulldog.ogg' actions_types = list() mag_display = TRUE empty_indicator = TRUE @@ -219,34 +257,87 @@ /obj/item/gun/ballistic/shotgun/doublebarrel name = "double-barreled shotgun" - desc = "A true classic. Both barrels can be fired in quick succession." + desc = "A classic break action shotgun, hand-made in a Hunter's Pride workshop. Both barrels can be fired in quick succession or even simultaneously. Guns like this have been popular with hunters, sporters, and criminals for millennia. Chambered in 12g." + sawn_desc = "A break action shotgun cut down to the size of a sidearm. While the recoil is even harsher, it offers a lot of power in a very small package. Chambered in 12g." + + + icon = 'icons/obj/guns/48x32guns.dmi' + base_icon_state = "dshotgun" + icon_state = "dshotgun" - item_state = "shotgun_db" + item_state = "dshotgun" + + rack_sound = 'sound/weapons/gun/shotgun/dbshotgun_break.ogg' + bolt_drop_sound = 'sound/weapons/gun/shotgun/dbshotgun_close.ogg' + w_class = WEIGHT_CLASS_BULKY weapon_weight = WEAPON_MEDIUM force = 10 flags_1 = CONDUCT_1 slot_flags = ITEM_SLOT_BACK mag_type = /obj/item/ammo_box/magazine/internal/shot/dual - sawn_desc = "Omar's coming!" + obj_flags = UNIQUE_RENAME - rack_sound_volume = 0 unique_reskin = list("Default" = "dshotgun", - "Dark Red Finish" = "dshotgun_d", - "Ash" = "dshotgun_f", - "Faded Grey" = "dshotgun_g", - "Maple" = "dshotgun_l", - "Rosewood" = "dshotgun_p" + "Stainless Steel" = "dshotgun_white", + "Stained Green" = "dshotgun_green" ) semi_auto = TRUE - bolt_type = BOLT_TYPE_NO_BOLT can_be_sawn_off = TRUE + bolt_type = BOLT_TYPE_NO_BOLT pb_knockback = 3 // it's a super shotgun! manufacturer = MANUFACTURER_HUNTERSPRIDE + bolt_wording = "barrel" + +/obj/item/gun/ballistic/shotgun/doublebarrel/unique_action(mob/living/user) + if (bolt_locked == FALSE) + to_chat(user, "You snap open the [bolt_wording] of \the [src].") + playsound(src, rack_sound, rack_sound_volume, rack_sound_vary) + chambered = null + var/num_unloaded = 0 + for(var/obj/item/ammo_casing/casing_bullet in get_ammo_list(FALSE, TRUE)) + casing_bullet.forceMove(drop_location()) + casing_bullet.bounce_away(FALSE, NONE) + num_unloaded++ + SSblackbox.record_feedback("tally", "station_mess_created", 1, casing_bullet.name) + if (num_unloaded) + playsound(user, eject_sound, eject_sound_volume, eject_sound_vary) + update_appearance() + bolt_locked = TRUE + update_appearance() + return + drop_bolt(user) + +/obj/item/gun/ballistic/shotgun/doublebarrel/drop_bolt(mob/user = null) + playsound(src, bolt_drop_sound, bolt_drop_sound_volume, FALSE) + if (user) + to_chat(user, "You snap the [bolt_wording] of \the [src] closed.") + chamber_round() + bolt_locked = FALSE + update_appearance() + +/obj/item/gun/ballistic/shotgun/doublebarrel/can_shoot() + if (bolt_locked) + return FALSE + return ..() + +/obj/item/gun/ballistic/shotgun/doublebarrel/attackby(obj/item/A, mob/user, params) + if (!bolt_locked) + to_chat(user, "The [bolt_wording] is shut closed!") + return + return ..() + +/obj/item/gun/ballistic/shotgun/doublebarrel/update_icon_state() + . = ..() + if(current_skin) + icon_state = "[unique_reskin[current_skin]][sawn_off ? "_sawn" : ""][bolt_locked ? "_open" : ""]" + else + icon_state = "[base_icon_state || initial(icon_state)][sawn_off ? "_sawn" : ""][bolt_locked ? "_open" : ""]" + /obj/item/gun/ballistic/shotgun/doublebarrel/AltClick(mob/user) . = ..() - if(unique_reskin && !current_skin && user.canUseTopic(src, BE_CLOSE, NO_DEXTERITY)) + if(unique_reskin && !current_skin && user.canUseTopic(src, BE_CLOSE, NO_DEXTERITY) && (!bolt_locked)) reskin_obj(user) /obj/item/gun/ballistic/shotgun/doublebarrel/sawoff(mob/user) @@ -260,12 +351,29 @@ spread_unwielded = 15 recoil = 3 //or not recoil_unwielded = 5 + item_state = "dshotgun_sawn" + mob_overlay_state = item_state + +/obj/item/gun/ballistic/shotgun/doublebarrel/roumain + name = "HP antique double-barreled shotgun" + desc = "A special-edition shotgun hand-made by Hunter's Pride with a high-quality walnut stock inlaid with brass scrollwork. Shotguns like this are very rare outside of the Saint-Roumain Militia's ranks. Otherwise functionally identical to a common double-barreled shotgun. Chambered in 12g." + sawn_desc = "A special-edition Hunter's Pride shotgun, cut down to the size of a sidearm by some barbarian. The brass inlay on the stock and engravings on the barrel have been obliterated in the process, destroying any value beyond its use as a crude sidearm." + base_icon_state = "dshotgun_srm" + icon_state = "dshotgun_srm" + item_state = "dshotgun_srm" + unique_reskin = null + +/obj/item/gun/ballistic/shotgun/doublebarrel/roumain/sawoff(mob/user) + . = ..() + if(.) + item_state = "dshotgun_srm_sawn" // IMPROVISED SHOTGUN // /obj/item/gun/ballistic/shotgun/doublebarrel/improvised name = "improvised shotgun" desc = "A length of pipe and miscellaneous bits of scrap fashioned into a rudimentary single-shot shotgun." + base_icon_state = "ishotgun" icon_state = "ishotgun" item_state = "ishotgun" w_class = WEIGHT_CLASS_BULKY @@ -414,6 +522,7 @@ /obj/item/gun/ballistic/shotgun/doublebarrel/brazil name = "six-barreled \"TRABUCO\" shotgun" desc = "Dear fucking god, what the fuck even is this!? The recoil caused by the sheer act of firing this thing would probably kill you, if the gun itself doesn't explode in your face first! Theres a green flag with a blue circle and a yellow diamond around it. Some text in the circle says: \"ORDEM E PROGRESSO.\"" + base_icon_state = "shotgun_brazil" icon_state = "shotgun_brazil" icon = 'icons/obj/guns/48x32guns.dmi' lefthand_file = 'icons/mob/inhands/weapons/64x_guns_left.dmi' @@ -424,10 +533,11 @@ attack_verb = list("bludgeoned", "smashed") mag_type = /obj/item/ammo_box/magazine/internal/shot/sex burst_size = 6 - fire_delay = 0.1 + fire_delay = 0.8 pb_knockback = 12 unique_reskin = null recoil = 10 + recoil_unwielded = 30 weapon_weight = WEAPON_LIGHT fire_sound = 'sound/weapons/gun/shotgun/quadfire.ogg' rack_sound = 'sound/weapons/gun/shotgun/quadrack.ogg' @@ -453,19 +563,24 @@ /obj/item/gun/ballistic/shotgun/doublebarrel/brazil/death name = "Force of Nature" desc = "So you have chosen death." + base_icon_state = "shotgun_e" icon_state = "shotgun_e" burst_size = 100 + fire_delay = 0.1 pb_knockback = 40 recoil = 100 + recoil_unwielded = 200 fire_sound_volume = 100 mag_type = /obj/item/ammo_box/magazine/internal/shot/hundred //Lever-Action Rifles -/obj/item/gun/ballistic/shotgun/winchester - name = "Winchester MK.2" - desc = "A sturdy lever-action rifle with hand-stamped Hunter's Pride marks on the receiver. Modern and sleek." - icon_state = "winchester" - item_state = "winchester" +/obj/item/gun/ballistic/shotgun/flamingarrow + name = "HP Flaming Arrow" + desc = "A sturdy and lightweight lever-action rifle with hand-stamped Hunter's Pride marks on the receiver. A popular choice among Frontier homesteaders for hunting small game and rudimentary self-defense. Chambered in .38." + sawn_desc = "A lever-action rifle that has been sawed down and modified for extra portability. While surprisingly effective as a sidearm, the more important benefit is how much cooler it looks." + base_icon_state = "flamingarrow" + icon_state = "flamingarrow" + item_state = "flamingarrow" icon = 'icons/obj/guns/48x32guns.dmi' mob_overlay_icon = 'icons/mob/clothing/back.dmi' lefthand_file = 'icons/mob/inhands/weapons/guns_lefthand.dmi' @@ -473,39 +588,75 @@ inhand_x_dimension = 32 inhand_y_dimension = 32 mag_type = /obj/item/ammo_box/magazine/internal/shot/winchester - fire_sound = 'sound/weapons/gun/rifle/shot.ogg' + fire_sound = 'sound/weapons/gun/rifle/flamingarrow.ogg' rack_sound = 'sound/weapons/gun/rifle/ak47_cocked.ogg' bolt_wording = "lever" cartridge_wording = "bullet" + can_be_sawn_off = TRUE + + wield_slowdown = 0.5 + wield_delay = 0.65 SECONDS spread = -5 spread_unwielded = 7 + recoil = 0 recoil_unwielded = 2 - wield_slowdown = 0.5 -/obj/item/gun/ballistic/shotgun/winchester/rack(mob/user = null) +//sawn off + weapon_weight = WEAPON_MEDIUM + + wield_slowdown = 0.25 + wield_delay = 0.2 SECONDS //THE COWBOY RIFLE + + spread = 4 + spread_unwielded = 12 + + recoil = 1 + recoil_unwielded = 2 + +/obj/item/gun/ballistic/shotgun/flamingarrow/update_icon_state() + . = ..() + if(current_skin) + icon_state = "[unique_reskin[current_skin]][sawn_off ? "_sawn" : ""]" + else + icon_state = "[base_icon_state || initial(icon_state)][sawn_off ? "_sawn" : ""]" + + +/obj/item/gun/ballistic/shotgun/flamingarrow/factory + desc = "A sturdy and lightweight lever-action rifle with hand-stamped Hunter's Pride marks on the receiver. This example has been kept in excellent shape and may as well be fresh out of the workshop. Chambered in .38." + icon_state = "flamingarrow_factory" + base_icon_state = "flamingarrow_factory" + item_state = "flamingarrow_factory" + +/obj/item/gun/ballistic/shotgun/flamingarrow/factory/sawoff(mob/user) . = ..() - if(!wielded) - SpinAnimation(7,1) + if(.) + item_state = "flamingarrow_factory_sawn" + +/obj/item/gun/ballistic/shotgun/flamingarrow/bolt + name = "HP Flaming Bolt" + desc = "A sturdy, excellently-made lever-action rifle. This one appears to be a genuine antique, kept in incredibly good condition despite its advanced age. Chambered in .38." + icon_state = "flamingbolt" + item_state = "flamingbolt" -/obj/item/gun/ballistic/shotgun/winchester/mk1 - name = "Winchester MK.1" - desc = "A sturdy lever-action rifle. This antique pattern appears to be in excellent condition despite its age." - icon_state = "winchestermk1" - item_state = "winchestermk1" +/obj/item/gun/ballistic/shotgun/flamingarrow/bolt/sawoff(mob/user) + . = ..() + if(.) + item_state = "flamingbolt_sawn" //Elephant Gun /obj/item/gun/ballistic/shotgun/doublebarrel/twobore - name = "two-bore rifle" - desc = "Take this, elephant! If you want an intact trophy, don't aim for the head. Chambered in two-bore." + name = "HP Huntsman" + desc = "A comically huge double-barreled rifle replete with brass inlays depicting flames and naturalistic scenes, clearly meant for the nastiest monsters the Frontier has to offer. If you want an intact trophy, don't aim for the head. Chambered in two-bore." icon = 'icons/obj/guns/48x32guns.dmi' lefthand_file = 'icons/mob/inhands/weapons/guns_lefthand.dmi' righthand_file = 'icons/mob/inhands/weapons/guns_righthand.dmi' inhand_x_dimension = 32 inhand_y_dimension = 32 - icon_state = "twobore" - item_state = "twobore" + base_icon_state = "huntsman" + icon_state = "huntsman" + item_state = "huntsman" unique_reskin = null attack_verb = list("bludgeoned", "smashed") mag_type = /obj/item/ammo_box/magazine/internal/shot/twobore @@ -523,30 +674,27 @@ manufacturer = MANUFACTURER_HUNTERSPRIDE //Break-Action Rifle -/obj/item/gun/ballistic/shotgun/contender - name = "Contender" - desc = "A single-shot break-action rifle made by Hunter's Pride. Boasts excellent accuracy and stopping power. Uses .45-70 ammo." - icon_state = "contender" - item_state = "contender" +/obj/item/gun/ballistic/shotgun/doublebarrel/beacon + name = "HP Beacon" + desc = "A single-shot break-action rifle made by Hunter's Pride and sold to civilian hunters. Boasts excellent accuracy and stopping power. Uses .45-70 ammo." + sawn_desc= "A single-shot break-action pistol chambered in .45-70. A bit difficult to aim." + base_icon_state = "beacon" + icon_state = "beacon" + item_state = "beacon" icon = 'icons/obj/guns/48x32guns.dmi' mob_overlay_icon = 'icons/mob/clothing/back.dmi' - lefthand_file = 'icons/mob/inhands/weapons/64x_guns_left.dmi' - righthand_file = 'icons/mob/inhands/weapons/64x_guns_right.dmi' inhand_x_dimension = 32 inhand_y_dimension = 32 - mag_type = /obj/item/ammo_box/magazine/internal/shot/contender + mag_type = /obj/item/ammo_box/magazine/internal/shot/beacon fire_sound = 'sound/weapons/gun/revolver/shot_hunting.ogg' can_be_sawn_off=TRUE - sawn_desc= "A single-shot pistol. It's hard to aim without a front sight." w_class = WEIGHT_CLASS_BULKY weapon_weight = WEAPON_MEDIUM force = 10 flags_1 = CONDUCT_1 slot_flags = ITEM_SLOT_BACK obj_flags = UNIQUE_RENAME - rack_sound_volume = 0 semi_auto = TRUE - bolt_type = BOLT_TYPE_NO_BOLT can_be_sawn_off = TRUE pb_knockback = 3 wield_slowdown = 0.7 @@ -555,12 +703,11 @@ recoil = 0 recoil_unwielded = 5 - - -/obj/item/gun/ballistic/shotgun/contender/sawoff(mob/user) +/obj/item/gun/ballistic/shotgun/doublebarrel/beacon/sawoff(mob/user) . = ..() if(.) - item_state = "contender_sawn" + item_state = "beacon_sawn" + mob_overlay_state = item_state wield_slowdown = 0.5 wield_delay = 0.5 SECONDS @@ -568,3 +715,16 @@ spread = 2 recoil = 2 recoil_unwielded = 3 + +/obj/item/gun/ballistic/shotgun/doublebarrel/beacon/factory + desc = "A single-shot break-action rifle made by Hunter's Pride and sold to civilian hunters. This example has been kept in excellent shape and may as well be fresh out of the workshop. Uses .45-70 ammo." + sawn_desc= "A single-shot break-action pistol chambered in .45-70. A bit difficult to aim." + base_icon_state = "beacon_factory" + icon_state = "beacon_factory" + item_state = "beacon_factory" + +/obj/item/gun/ballistic/shotgun/doublebarrel/beacon/factory/sawoff(mob/user) + . = ..() + if(.) + item_state = "beacon_factory_sawn" + mob_overlay_state = item_state diff --git a/code/modules/projectiles/guns/ballistic/smg.dm b/code/modules/projectiles/guns/ballistic/smg.dm index 7efd0a579925..8644534e3117 100644 --- a/code/modules/projectiles/guns/ballistic/smg.dm +++ b/code/modules/projectiles/guns/ballistic/smg.dm @@ -5,7 +5,7 @@ spread = 4 spread_unwielded = 10 wield_slowdown = 0.35 - recoil_unwielded = 0.5 + recoil_unwielded = 4 load_sound = 'sound/weapons/gun/smg/smg_reload.ogg' load_empty_sound = 'sound/weapons/gun/smg/smg_reload.ogg' @@ -25,7 +25,7 @@ /obj/item/gun/ballistic/automatic/smg/proto/ComponentInitialize() . = ..() - AddComponent(/datum/component/automatic_fire, 0.15 SECONDS) + AddComponent(/datum/component/automatic_fire, 0.13 SECONDS) /obj/item/gun/ballistic/automatic/smg/proto/unrestricted pin = /obj/item/firing_pin @@ -47,7 +47,7 @@ /obj/item/gun/ballistic/automatic/smg/c20r/ComponentInitialize() . = ..() - AddComponent(/datum/component/automatic_fire, 0.15 SECONDS) + AddComponent(/datum/component/automatic_fire, 0.13 SECONDS) /obj/item/gun/ballistic/automatic/smg/c20r/unrestricted pin = /obj/item/firing_pin @@ -80,7 +80,7 @@ /obj/item/gun/ballistic/automatic/smg/inteq/ComponentInitialize() . = ..() - AddComponent(/datum/component/automatic_fire, 0.15 SECONDS) + AddComponent(/datum/component/automatic_fire, 0.13 SECONDS) /obj/item/gun/ballistic/automatic/smg/wt550 name = "\improper WT-550 Automatic Rifle" @@ -88,7 +88,6 @@ icon_state = "wt550" item_state = "arg" mag_type = /obj/item/ammo_box/magazine/wt550m9 - fire_delay = 2 can_suppress = FALSE burst_size = 1 actions_types = list() @@ -103,7 +102,7 @@ /obj/item/gun/ballistic/automatic/smg/wt550/ComponentInitialize() . = ..() - AddComponent(/datum/component/automatic_fire, 0.15 SECONDS) + AddComponent(/datum/component/automatic_fire, 0.13 SECONDS) /obj/item/gun/ballistic/automatic/smg/mini_uzi name = "\improper Type U3 Uzi" @@ -143,7 +142,7 @@ /obj/item/gun/ballistic/automatic/smg/vector/ComponentInitialize() . = ..() - AddComponent(/datum/component/automatic_fire, 0.15 SECONDS) + AddComponent(/datum/component/automatic_fire, 0.13 SECONDS) /obj/item/gun/ballistic/automatic/smg/m90 name = "\improper M-90gl Carbine" @@ -223,29 +222,34 @@ update_appearance() return -/obj/item/gun/ballistic/automatic/smg/thompson - name = "\improper Thompson" - desc = "A old submachinegun design. Chambered in .45." - icon_state = "tommygun" - item_state = "tommygun" +/obj/item/gun/ballistic/automatic/smg/firestorm //weapon designed by Apogee-dev + name = "HP Firestorm" + desc = "An unconventional submachinegun, rarely issued to Saint-Roumain Militia mercenary hunters for outstanding situations where normal hunting weapons fall short. Chambered in .45." icon = 'icons/obj/guns/48x32guns.dmi' - slot_flags = 0 - mag_type = /obj/item/ammo_box/magazine/smgm45 + icon_state = "firestorm" + item_state = "firestorm" + mag_type = /obj/item/ammo_box/magazine/c45_firestorm_mag can_suppress = FALSE burst_size = 1 actions_types = list() fire_delay = 1 - bolt_type = BOLT_TYPE_OPEN + rack_sound = 'sound/weapons/gun/smg/uzi_cocked.ogg' + fire_sound = 'sound/weapons/gun/smg/firestorm.ogg' + + manufacturer = MANUFACTURER_HUNTERSPRIDE wield_slowdown = 0.4 -/obj/item/gun/ballistic/automatic/smg/thompson/Initialize() +/obj/item/gun/ballistic/automatic/smg/firestorm/Initialize() . = ..() - AddComponent(/datum/component/automatic_fire, 0.15 SECONDS) + AddComponent(/datum/component/automatic_fire, 0.13 SECONDS) + +/obj/item/gun/ballistic/automatic/smg/firestorm/pan //spawns with pan magazine, can take sticks instead of just drums, not sure where this would be used, maybe erts? + spawnwithmagazine = FALSE -/obj/item/gun/ballistic/automatic/smg/thompson/drum - name = "\improper Chicago Typewriter" - desc = "A gun for good fellas. Chambered in .45." - mag_type = /obj/item/ammo_box/magazine/smgm45/drum +/obj/item/gun/ballistic/automatic/smg/firestorm/pan/Initialize() + . = ..() + magazine = new /obj/item/ammo_box/magazine/c45_firestorm_mag/pan(src) + chamber_round() /obj/item/gun/ballistic/automatic/smg/cm5 name = "\improper CM-5" @@ -259,7 +263,7 @@ /obj/item/gun/ballistic/automatic/smg/cm5/ComponentInitialize() . = ..() - AddComponent(/datum/component/automatic_fire, 0.15 SECONDS) + AddComponent(/datum/component/automatic_fire, 0.13 SECONDS) /obj/item/gun/ballistic/automatic/smg/cm5/no_mag spawnwithmagazine = FALSE @@ -278,4 +282,4 @@ /obj/item/gun/ballistic/automatic/smg/aks74u/ComponentInitialize() . = ..() - AddComponent(/datum/component/automatic_fire, 0.15 SECONDS) //last autofire system made the fire rate REALLY fucking fast, but because of how poor it was, it was normal speed. + AddComponent(/datum/component/automatic_fire, 0.13 SECONDS) //last autofire system made the fire rate REALLY fucking fast, but because of how poor it was, it was normal speed. diff --git a/code/modules/projectiles/guns/energy.dm b/code/modules/projectiles/guns/energy.dm index 229d49c4a8c6..a6be53e82ea2 100644 --- a/code/modules/projectiles/guns/energy.dm +++ b/code/modules/projectiles/guns/energy.dm @@ -299,3 +299,9 @@ playsound(user, BB.hitsound_non_living, 50, TRUE) cell.use(E.e_cost) . = "[user] casually lights their [A.name] with [src]. Damn." + + +/obj/item/gun/energy/examine(mob/user) + . = ..() + if(ammo_type.len > 1) + . += "You can switch firemodes by pressing the unqiue action key. By default, this is space" diff --git a/code/modules/projectiles/guns/energy/energy_gun.dm b/code/modules/projectiles/guns/energy/energy_gun.dm index 223cdc09e157..5c7153727646 100644 --- a/code/modules/projectiles/guns/energy/energy_gun.dm +++ b/code/modules/projectiles/guns/energy/energy_gun.dm @@ -217,7 +217,7 @@ /obj/item/gun/energy/e_gun/smg/Initialize() . = ..() - AddComponent(/datum/component/automatic_fire, 0.2 SECONDS) + AddComponent(/datum/component/automatic_fire, 0.13 SECONDS) /obj/item/gun/energy/e_gun/iot name = "\improper E-SG 500 Second Edition" diff --git a/code/modules/projectiles/guns/energy/pulse.dm b/code/modules/projectiles/guns/energy/pulse.dm index f5efacbf96c3..9ed110dfa041 100644 --- a/code/modules/projectiles/guns/energy/pulse.dm +++ b/code/modules/projectiles/guns/energy/pulse.dm @@ -89,7 +89,7 @@ to_chat(user, "[src.name] has three settings, and they are all DESTROY.") /obj/item/gun/energy/pulse/pistol/m1911 - name = "\improper M1911-P" + name = "\improper Candor-P" desc = "A compact pulse core in a classic handgun frame for Nanotrasen officers. It's not the size of the gun, it's the size of the hole it puts through people." icon_state = "m1911" item_state = "gun" diff --git a/code/modules/projectiles/projectile/bullets/pistol.dm b/code/modules/projectiles/projectile/bullets/pistol.dm index 6a1323e481dc..a04fc2995c26 100644 --- a/code/modules/projectiles/projectile/bullets/pistol.dm +++ b/code/modules/projectiles/projectile/bullets/pistol.dm @@ -64,7 +64,7 @@ stamina = 38 armour_penetration = -40 -// .45 (M1911, C20r, Thompson) +// .45 (Candor, C20r, Thompson) /obj/projectile/bullet/c45 name = ".45 bullet" diff --git a/code/modules/projectiles/projectile/bullets/revolver.dm b/code/modules/projectiles/projectile/bullets/revolver.dm index ecd8b5abbbb9..ec210c410dc4 100644 --- a/code/modules/projectiles/projectile/bullets/revolver.dm +++ b/code/modules/projectiles/projectile/bullets/revolver.dm @@ -1,10 +1,3 @@ -// 7.62x38mmR (Nagant Revolver) - -/obj/projectile/bullet/n762 - name = "7.62x38mmR bullet" - damage = 30 - armour_penetration = -20 - // .50 AE (Desert Eagle) /obj/projectile/bullet/a50AE @@ -155,4 +148,4 @@ damage = 20 armour_penetration = -45 ricochet_incidence_leeway = 20 - ricochet_chance = 45 + ricochet_chance = 65 diff --git a/code/modules/projectiles/projectile/bullets/rifle.dm b/code/modules/projectiles/projectile/bullets/rifle.dm index f72ecfdfbcd4..d819fabc61b4 100644 --- a/code/modules/projectiles/projectile/bullets/rifle.dm +++ b/code/modules/projectiles/projectile/bullets/rifle.dm @@ -5,10 +5,10 @@ damage = 25 armour_penetration = 20 -// 7.62x54mmR (Illestren Rifle) +// 8x50mmR (Illestren Rifle) -/obj/projectile/bullet/a762_54 - name = "7.62x54mmR bullet" +/obj/projectile/bullet/a8_50r + name = "8x50mmR bullet" speed = 0.3 damage = 30 armour_penetration = 40 @@ -25,7 +25,7 @@ // Bloat evil wizard stupid shit /obj/projectile/bullet/a762_enchanted - name = "enchanted 7.62x54mmR bullet" + name = "enchanted 8x50mmR bullet" damage = 20 stamina = 80 @@ -52,8 +52,8 @@ //.308 WIN (M514 & GAL DMRs) -/obj/projectile/bullet/win308 - name = ".308 Winchester" +/obj/projectile/bullet/a308 + name = ".308" speed = 0.3 damage = 30 armour_penetration = 40 diff --git a/code/modules/projectiles/projectile/bullets/shotgun.dm b/code/modules/projectiles/projectile/bullets/shotgun.dm index 0979a268ee16..e102c4c3b48f 100644 --- a/code/modules/projectiles/projectile/bullets/shotgun.dm +++ b/code/modules/projectiles/projectile/bullets/shotgun.dm @@ -8,7 +8,7 @@ name = "beanbag slug" damage = 10 stamina = 60 - armour_penetration = -20 + armour_penetration = -45 /obj/projectile/bullet/incendiary/shotgun name = "incendiary slug" @@ -73,8 +73,7 @@ /obj/projectile/bullet/pellet/buckshot name = "buckshot pellet" - damage = 20 - armour_penetration = -10 + damage = 13 /obj/projectile/bullet/pellet/rubbershot name = "rubbershot pellet" @@ -101,6 +100,7 @@ /obj/projectile/bullet/pellet/improvised damage = 6 + armour_penetration = -35 tile_dropoff = 0.6 // Mech Scattershot diff --git a/code/modules/reagents/chemistry/reagents/other_reagents.dm b/code/modules/reagents/chemistry/reagents/other_reagents.dm index 05d91f17fe47..d727cbfd0fa6 100644 --- a/code/modules/reagents/chemistry/reagents/other_reagents.dm +++ b/code/modules/reagents/chemistry/reagents/other_reagents.dm @@ -505,221 +505,6 @@ ..() return -#define MUT_MSG_IMMEDIATE 1 -#define MUT_MSG_EXTENDED 2 -#define MUT_MSG_ABOUT2TURN 3 - -/datum/reagent/mutationtoxin - name = "Stable Mutation Toxin" - description = "A humanizing toxin." - color = "#5EFF3B" //RGB: 94, 255, 59 - metabolization_rate = 0.2 //metabolizes to prevent micro-dosage - taste_description = "slime" - var/race = /datum/species/human - var/list/mutationtexts = list( "You don't feel very well." = MUT_MSG_IMMEDIATE, - "Your skin feels a bit abnormal." = MUT_MSG_IMMEDIATE, - "Your limbs begin to take on a different shape." = MUT_MSG_EXTENDED, - "Your appendages begin morphing." = MUT_MSG_EXTENDED, - "You feel as though you're about to change at any moment!" = MUT_MSG_ABOUT2TURN) - var/cycles_to_turn = 20 //the current_cycle threshold / iterations needed before one can transform - process_flags = ORGANIC | SYNTHETIC //WS Edit - IPCs - -/datum/reagent/mutationtoxin/on_mob_life(mob/living/carbon/human/H) - . = TRUE - if(!istype(H)) - return - if(!(H.dna?.species) || !(H.mob_biotypes & MOB_ORGANIC)) - return - var/datum/species/mutation = pick(race) //I honestly feel extremely uncomfortable. I do not like the fact that this works. - var/current_species = H.dna.species.type - if(mutation && mutation != current_species) - H.set_species(mutation) - else - to_chat(H, "The pain vanishes suddenly. You feel no different.") - H.reagents.del_reagent(type) - - if(prob(10)) - var/list/pick_ur_fav = list() - var/filter = NONE - if(current_cycle <= (cycles_to_turn*0.3)) - filter = MUT_MSG_IMMEDIATE - else if(current_cycle <= (cycles_to_turn*0.8)) - filter = MUT_MSG_EXTENDED - else - filter = MUT_MSG_ABOUT2TURN - - for(var/i in mutationtexts) - if(mutationtexts[i] == filter) - pick_ur_fav += i - to_chat(H, "[pick(pick_ur_fav)]") - - if(current_cycle >= cycles_to_turn) - var/datum/species/species_type = race - H.set_species(species_type) - H.reagents.del_reagent(type) - to_chat(H, "You've become \a [lowertext(initial(species_type.name))]!") - ..() - -/datum/reagent/mutationtoxin/classic //The one from plasma on green slimes - name = "Mutation Toxin" - description = "A corruptive toxin." - color = "#13BC5E" // rgb: 19, 188, 94 - race = /datum/species/jelly/slime - process_flags = ORGANIC | SYNTHETIC //WS Edit - IPCs - -/datum/reagent/mutationtoxin/unstable - name = "Unstable Mutation Toxin" - description = "A mostly safe mutation toxin." - color = "#13BC5E" // rgb: 19, 188, 94 - race = list(/datum/species/jelly/slime, - /datum/species/human, - /datum/species/lizard, - /datum/species/fly, - /datum/species/moth, - /datum/species/pod, - /datum/species/jelly, - /datum/species/abductor - ) - process_flags = ORGANIC | SYNTHETIC - -/datum/reagent/mutationtoxin/lizard - name = "Sarathi Mutation Toxin" - description = "A lizarding toxin." - color = "#5EFF3B" //RGB: 94, 255, 59 - race = /datum/species/lizard - process_flags = ORGANIC | SYNTHETIC //WS Edit - IPCs - taste_description = "dragon's breath but not as cool" - -/datum/reagent/mutationtoxin/fly - name = "Fly Mutation Toxin" - description = "An insectifying toxin." - color = "#5EFF3B" //RGB: 94, 255, 59 - race = /datum/species/fly - process_flags = ORGANIC | SYNTHETIC //WS Edit - IPCs - taste_description = "trash" - -/datum/reagent/mutationtoxin/moth - name = "Moth Mutation Toxin" - description = "A glowing toxin." - color = "#5EFF3B" //RGB: 94, 255, 59 - race = /datum/species/moth - process_flags = ORGANIC | SYNTHETIC //WS Edit - IPCs - taste_description = "clothing" - -/datum/reagent/mutationtoxin/pod - name = "Podperson Mutation Toxin" - description = "A vegetalizing toxin." - color = "#5EFF3B" //RGB: 94, 255, 59 - race = /datum/species/pod - process_flags = ORGANIC | SYNTHETIC //WS Edit - IPCs - taste_description = "flowers" - -/datum/reagent/mutationtoxin/jelly - name = "Imperfect Mutation Toxin" - description = "A jellyfying toxin." - color = "#5EFF3B" //RGB: 94, 255, 59 - race = /datum/species/jelly - process_flags = ORGANIC | SYNTHETIC //WS Edit - IPCs - taste_description = "grandma's gelatin" - -/datum/reagent/mutationtoxin/jelly/on_mob_life(mob/living/carbon/human/H) - if(isjellyperson(H)) - to_chat(H, "Your jelly shifts and morphs, turning you into another subspecies!") - var/species_type = pick(subtypesof(/datum/species/jelly)) - H.set_species(species_type) - H.reagents.del_reagent(type) - return TRUE - if(current_cycle >= cycles_to_turn) //overwrite since we want subtypes of jelly - var/datum/species/species_type = pick(subtypesof(race)) - H.set_species(species_type) - H.reagents.del_reagent(type) - to_chat(H, "You've become \a [initial(species_type.name)]!") - return TRUE - return ..() - -/datum/reagent/mutationtoxin/abductor - name = "Abductor Mutation Toxin" - description = "An alien toxin." - color = "#5EFF3B" //RGB: 94, 255, 59 - race = /datum/species/abductor - process_flags = ORGANIC | SYNTHETIC //WS Edit - IPCs - taste_description = "something out of this world... no, universe!" - -/datum/reagent/mutationtoxin/android - name = "Android Mutation Toxin" - description = "A robotic toxin." - color = "#5EFF3B" //RGB: 94, 255, 59 - race = /datum/species/android - process_flags = ORGANIC | SYNTHETIC //WS Edit - IPCs - taste_description = "circuitry and steel" - -/datum/reagent/mutationtoxin/ipc - name = "IPC Mutation Toxin" - description = "An integrated positronic toxin." - color = "#5EFF3B" //RGB: 94, 255, 59 - race = /datum/species/ipc - process_flags = ORGANIC | SYNTHETIC - -/datum/reagent/mutationtoxin/kepi //crying - name = "Kepori Mutation Toxin" - description = "A feathery toxin." - race = /datum/species/kepori - process_flags = ORGANIC | SYNTHETIC - taste_description = "a familiar white meat" - -//BLACKLISTED RACES -/datum/reagent/mutationtoxin/skeleton - name = "Skeleton Mutation Toxin" - description = "A scary toxin." - color = "#5EFF3B" //RGB: 94, 255, 59 - race = /datum/species/skeleton - process_flags = ORGANIC | SYNTHETIC //WS Edit - IPCs - taste_description = "milk... and lots of it" - -/datum/reagent/mutationtoxin/zombie - name = "Zombie Mutation Toxin" - description = "An undead toxin." - color = "#5EFF3B" //RGB: 94, 255, 59 - race = /datum/species/zombie //Not the infectious kind. The days of xenobio zombie outbreaks are long past. - process_flags = ORGANIC | SYNTHETIC //WS Edit - IPCs - taste_description = "brai...nothing in particular" - -/datum/reagent/mutationtoxin/goofzombie - name = "Krokodil Zombie Mutation Toxin" - description = "An undead toxin... kinda..." - color = "#5EFF3B" //RGB: 94, 255, 59 - race = /datum/species/human/krokodil_addict //Not the infectious kind. The days of xenobio zombie outbreaks are long past. - process_flags = ORGANIC | SYNTHETIC - -/datum/reagent/mutationtoxin/ash - name = "Ash Mutation Toxin" - description = "An ashen toxin." - color = "#5EFF3B" //RGB: 94, 255, 59 - race = /datum/species/lizard/ashwalker - process_flags = ORGANIC | SYNTHETIC //WS Edit - IPCs - taste_description = "savagery" - -//DANGEROUS RACES -/datum/reagent/mutationtoxin/shadow - name = "Shadow Mutation Toxin" - description = "A dark toxin." - color = "#5EFF3B" //RGB: 94, 255, 59 - race = /datum/species/shadow - process_flags = ORGANIC | SYNTHETIC //WS Edit - IPCs - taste_description = "the night" - -/datum/reagent/mutationtoxin/plasma - name = "Plasma Mutation Toxin" - description = "A plasma-based toxin." - color = "#5EFF3B" //RGB: 94, 255, 59 - race = /datum/species/plasmaman - process_flags = ORGANIC | SYNTHETIC //WS Edit - IPCs - taste_description = "plasma" - -#undef MUT_MSG_IMMEDIATE -#undef MUT_MSG_EXTENDED -#undef MUT_MSG_ABOUT2TURN - /datum/reagent/mulligan name = "Mulligan Toxin" description = "This toxin will rapidly change the DNA of human beings. Commonly used by Syndicate spies and assassins in need of an emergency ID change." @@ -2765,14 +2550,6 @@ if(prob(min(current_cycle/4, 10))) M.adjustOrganLoss(ORGAN_SLOT_STOMACH,3*REM) -/datum/reagent/mutationtoxin/kobold - name = "Kobold Mutation Toxin" - description = "An ashen toxin. Something about this seems lesser." - color = "#5EFF3B" //RGB: 94, 255, 59 - race = /datum/species/lizard/ashwalker/kobold - process_flags = ORGANIC | SYNTHETIC //WS Edit - IPCs - taste_description = "short savagery" - /datum/reagent/polar_bear_fur //used for icewine crafting name = "Polar Bear Fur" description = "Fur obtained from griding up a polar bears hide" diff --git a/code/modules/reagents/chemistry/recipes/others.dm b/code/modules/reagents/chemistry/recipes/others.dm index d50605dcd7f6..10cd8ffc72eb 100644 --- a/code/modules/reagents/chemistry/recipes/others.dm +++ b/code/modules/reagents/chemistry/recipes/others.dm @@ -149,12 +149,6 @@ required_reagents = list(/datum/reagent/ammonia = 2, /datum/reagent/nitrogen = 1, /datum/reagent/oxygen = 2) required_temp = 525 -//Technically a mutation toxin -/datum/chemical_reaction/mulligan - results = list(/datum/reagent/mulligan = 1) - required_reagents = list(/datum/reagent/mutationtoxin/jelly = 1, /datum/reagent/toxin/mutagen = 1) - - ////////////////////////////////// VIROLOGY ////////////////////////////////////////// /datum/chemical_reaction/virus_food diff --git a/code/modules/reagents/chemistry/recipes/slime_extracts.dm b/code/modules/reagents/chemistry/recipes/slime_extracts.dm index 07753cea4a15..97290d54213f 100644 --- a/code/modules/reagents/chemistry/recipes/slime_extracts.dm +++ b/code/modules/reagents/chemistry/recipes/slime_extracts.dm @@ -44,13 +44,13 @@ //Green /datum/chemical_reaction/slime/slimemutate - results = list(/datum/reagent/mutationtoxin/jelly = 1) + results = list(/datum/reagent/consumable/berryjuice = 1) // Removal of mutation toxins. This used to be jellyperson toxin, but is now just jelly. required_reagents = list(/datum/reagent/toxin/plasma = 1) required_other = TRUE required_container = /obj/item/slime_extract/green /datum/chemical_reaction/slime/unstabletoxin - results = list(/datum/reagent/mutationtoxin/unstable = 1) + results = list(/datum/reagent/toxin/mutagen = 1) // Removal of mutation toxins. This used to be unstable toxin, but is now unstable mutagen. required_reagents = list(/datum/reagent/uranium/radium = 1) required_other = TRUE required_container = /obj/item/slime_extract/green diff --git a/code/modules/reagents/reagent_containers/pill.dm b/code/modules/reagents/reagent_containers/pill.dm index 187935fa0b25..58476c423275 100644 --- a/code/modules/reagents/reagent_containers/pill.dm +++ b/code/modules/reagents/reagent_containers/pill.dm @@ -182,14 +182,6 @@ icon_state = "pill22" rename_with_volume = TRUE -///////////////////////////////////////// this pill is used only in a legion mob drop -/obj/item/reagent_containers/pill/shadowtoxin - name = "black pill" - desc = "I wouldn't eat this if I were you." - icon_state = "pill9" - color = "#454545" - list_reagents = list(/datum/reagent/mutationtoxin/shadow = 5) - ///////////////////////////////////////// Psychologist inventory pills /obj/item/reagent_containers/pill/happinesspsych name = "mood stabilizer pill" diff --git a/code/modules/requests/request.dm b/code/modules/requests/request.dm new file mode 100644 index 000000000000..0ac37f63187e --- /dev/null +++ b/code/modules/requests/request.dm @@ -0,0 +1,37 @@ +/** + * # Request + * + * A representation of an in-game request, such as a prayer. + */ +/datum/request + /// Unique ID of the request + var/id + /// Atomic ID for increment unique request IDs + var/static/atomic_id = 0 + /// The type of request + var/req_type + /// The owner of the request, the player who created it + var/client/owner + /// The ckey of the owner, used for re-binding variables on login + var/owner_ckey + /// The name of the owner, in format /, assigned at time of request creation + var/owner_name + /// The message associated with the request + var/message + /// Just any information, which you can to send with request. For example paper datum. + var/additional_information + /// When the request was created + var/timestamp + +/datum/request/New(client/requestee, type, request, additional_info) + if (!requestee) + qdel(src) + return + id = ++atomic_id + owner = requestee + owner_ckey = owner.ckey + req_type = type + message = request + timestamp = world.time + additional_information = additional_info + owner_name = key_name(requestee, FALSE) diff --git a/code/modules/requests/requests_manager.dm b/code/modules/requests/requests_manager.dm new file mode 100644 index 000000000000..e33da846d4de --- /dev/null +++ b/code/modules/requests/requests_manager.dm @@ -0,0 +1,249 @@ +/// Requests from prayers +#define REQUEST_PRAYER "request_prayer" +/// Requests for Centcom +#define REQUEST_CENTCOM "request_centcom" +/// Requests for the Syndicate +#define REQUEST_SYNDICATE "request_syndicate" +/// Requests for the nuke code +#define REQUEST_NUKE "request_nuke" +/// Requests somebody from fax +#define REQUEST_FAX "request_fax" + +GLOBAL_DATUM_INIT(requests, /datum/request_manager, new) + +/** + * # Request Manager + * + * Handles all player requests (prayers, centcom requests, syndicate requests) + * that occur in the duration of a round. + */ +/datum/request_manager + /// Associative list of ckey -> list of requests + var/list/requests = list() + /// List where requests can be accessed by ID + var/list/requests_by_id = list() + +/datum/request_manager/Destroy(force, ...) + QDEL_LIST(requests) + return ..() + +/** + * Used in the new client pipeline to catch when clients are reconnecting and need to have their + * reference re-assigned to the 'owner' variable of any requests + * + * Arguments: + * * C - The client who is logging in + */ +/datum/request_manager/proc/client_login(client/C) + if (!requests[C.ckey]) + return + for (var/datum/request/request as anything in requests[C.ckey]) + request.owner = C + +/** + * Used in the destroy client pipeline to catch when clients are disconnecting and need to have their + * reference nulled on the 'owner' variable of any requests + * + * Arguments: + * * C - The client who is logging out + */ +/datum/request_manager/proc/client_logout(client/C) + if (!requests[C.ckey]) + return + for (var/datum/request/request as anything in requests[C.ckey]) + request.owner = null + +/** + * Creates a request for a prayer, and notifies admins who have the sound notifications enabled when appropriate + * + * Arguments: + * * C - The client who is praying + * * message - The prayer + * * is_chaplain - Boolean operator describing if the prayer is from a chaplain + */ +/datum/request_manager/proc/pray(client/C, message, is_chaplain) + request_for_client(C, REQUEST_PRAYER, message) + for(var/client/admin in GLOB.admins) + if(is_chaplain && admin.prefs.chat_toggles & CHAT_PRAYER && admin.prefs.toggles & SOUND_PRAYERS) + SEND_SOUND(admin, sound('sound/effects/pray.ogg')) + +/** + * Creates a request for a Centcom message + * + * Arguments: + * * C - The client who is sending the request + * * message - The message + */ +/datum/request_manager/proc/message_centcom(client/C, message) + request_for_client(C, REQUEST_CENTCOM, message) + +/** + * Creates a request for a Syndicate message + * + * Arguments: + * * C - The client who is sending the request + * * message - The message + */ +/datum/request_manager/proc/message_syndicate(client/C, message) + request_for_client(C, REQUEST_SYNDICATE, message) + +/** + * Creates a request for the nuclear self destruct codes + * + * Arguments: + * * C - The client who is sending the request + * * message - The message + */ +/datum/request_manager/proc/nuke_request(client/C, message) + request_for_client(C, REQUEST_NUKE, message) + +/** + * Creates a request for fax answer + * + * Arguments: + * * requester - The client who is sending the request + * * message - Paper with text.. some stamps.. and another things. + */ +/datum/request_manager/proc/fax_request(client/requester, message, additional_info) + request_for_client(requester, REQUEST_FAX, message, additional_info) + +/** + * Creates a request and registers the request with all necessary internal tracking lists + * + * Arguments: + * * C - The client who is sending the request + * * type - The type of request, see defines + * * message - The message + */ +/datum/request_manager/proc/request_for_client(client/C, type, message, additional_info) + var/datum/request/request = new(C, type, message, additional_info) + if (!requests[C.ckey]) + requests[C.ckey] = list() + requests[C.ckey] += request + requests_by_id.len++ + requests_by_id[request.id] = request + +/datum/request_manager/ui_interact(mob/user, datum/tgui/ui = null) + ui = SStgui.try_update_ui(user, src, ui) + if (!ui) + ui = new(user, src, "RequestManager") + ui.open() + +/datum/request_manager/ui_state(mob/user) + return GLOB.admin_state + +/datum/request_manager/ui_act(action, list/params, datum/tgui/ui, datum/ui_state/state) + if (..()) + return + + // Only admins should be sending actions + if (!check_rights(R_ADMIN)) + to_chat(usr, "You do not have permission to do this, you require +ADMIN") + return + + // Get the request this relates to + var/id = params["id"] != null ? text2num(params["id"]) : null + if (!id) + to_chat(usr, "Failed to find a request ID in your action, please report this") + CRASH("Received an action without a request ID, this shouldn't happen!") + var/datum/request/request = !id ? null : requests_by_id[id] + var/datum/admins/admin_datum = GLOB.admin_datums[usr.ckey] + + switch(action) + if ("pp") + var/mob/M = request.owner?.mob + usr.client.holder.show_player_panel(M) + return TRUE + if ("vv") + var/mob/M = request.owner?.mob + usr.client.debug_variables(M) + return TRUE + if ("sm") + var/mob/M = request.owner?.mob + usr.client.cmd_admin_subtle_message(M) + return TRUE + if ("flw") + var/mob/M = request.owner?.mob + admin_datum.admin_follow(M) + return TRUE + if ("tp") + if(!SSticker.HasRoundStarted()) + to_chat(usr,"The game hasn't started yet!") + return TRUE + var/mob/M = request.owner?.mob + if(!ismob(M)) + var/datum/mind/D = M + if(!istype(D)) + to_chat(usr, "This can only be used on instances of type /mob and /mind") + return TRUE + else + D.traitor_panel() + return TRUE + else + usr.client.holder.show_traitor_panel(M) + return TRUE + if ("logs") + var/mob/M = request.owner?.mob + if(!ismob(M)) + to_chat(usr, "This can only be used on instances of type /mob.") + return TRUE + show_individual_logging_panel(M, null, null) + return TRUE + if ("smite") + if(!check_rights(R_FUN)) + to_chat(usr, "Insufficient permissions to smite, you require +FUN") + return TRUE + var/mob/living/carbon/human/H = request.owner?.mob + if (!H || !istype(H)) + to_chat(usr, "This can only be used on instances of type /mob/living/carbon/human") + return TRUE + usr.client.smite(H) + return TRUE + if ("rply") + if (request.req_type == REQUEST_PRAYER) + to_chat(usr, "Cannot reply to a prayer") + return TRUE + var/mob/M = request.owner?.mob + usr.client.admin_headset_message(M, request.req_type == REQUEST_SYNDICATE ? RADIO_CHANNEL_SYNDICATE : RADIO_CHANNEL_CENTCOM) + return TRUE + if ("setcode") + if (request.req_type != REQUEST_NUKE) + to_chat(usr, "You cannot set the nuke code for a non-nuke-code-request request!") + return TRUE + var/code = random_nukecode() + for(var/obj/machinery/nuclearbomb/selfdestruct/SD in GLOB.nuke_list) + SD.r_code = code + message_admins("[key_name_admin(usr)] has set the self-destruct code to \"[code]\".") + return TRUE + if ("show") + if(request.req_type != REQUEST_FAX) + to_chat(usr, "Request doesn't have a paper to read.") + return TRUE + var/obj/item/paper/request_message = request.additional_information + request_message.ui_interact(usr) + return TRUE + +/datum/request_manager/ui_data(mob/user) + . = list( + "requests" = list() + ) + for (var/ckey in requests) + for (var/datum/request/request as anything in requests[ckey]) + var/list/data = list( + "id" = request.id, + "req_type" = request.req_type, + "owner" = request.owner ? "[REF(request.owner)]" : null, + "owner_ckey" = request.owner_ckey, + "owner_name" = request.owner_name, + "message" = request.message, + "additional_info" = request.additional_information, + "timestamp" = request.timestamp, + "timestamp_str" = station_time_timestamp(wtime = request.timestamp) + ) + .["requests"] += list(data) + +#undef REQUEST_PRAYER +#undef REQUEST_CENTCOM +#undef REQUEST_SYNDICATE +#undef REQUEST_NUKE +#undef REQUEST_FAX diff --git a/code/modules/research/designs.dm b/code/modules/research/designs.dm index ec4038ec8f2b..59e1ab844544 100644 --- a/code/modules/research/designs.dm +++ b/code/modules/research/designs.dm @@ -137,13 +137,6 @@ other types of metals and chemistry for reagents). . = ..() blueprints[1] = new /datum/design/c10mm() -/obj/item/disk/design_disk/ammo_n762 - name = "Design Disk - 7.62x38mmR Ammo" - desc = "A design disk containing the pattern for an ammo holder of 7.62x38mmR ammo, used in Nagant revolvers. It's a wonder anybody still makes these." - -/obj/item/disk/design_disk/ammo_n762/Initialize() - . = ..() - blueprints[1] = new /datum/design/n762() /obj/item/disk/design_disk/adv/disposable_gun name = "design disk - disposable gun" @@ -166,3 +159,11 @@ other types of metals and chemistry for reagents). . = ..() blueprints[1] = new /datum/design/cmm_ripley_upgrade() blueprints[2] = new /datum/design/cmm_durand_upgrade() + +/obj/item/disk/design_disk/ammo_c9mm + name = "Design Disk - 9mm Ammo" + desc = "A design disk containing the pattern for a refill box of standard 9mm ammo, used in Commander pistols." + +/obj/item/disk/design_disk/ammo_c9mm/Initialize() + . = ..() + blueprints[1] = new /datum/design/c9mmautolathe() diff --git a/code/modules/research/designs/weapon_designs.dm b/code/modules/research/designs/weapon_designs.dm index 4d28452521af..c0b4757e2548 100644 --- a/code/modules/research/designs/weapon_designs.dm +++ b/code/modules/research/designs/weapon_designs.dm @@ -280,7 +280,7 @@ /datum/design/commanderammo name = "Commander magazine (9mm)" - desc = "A single stack M1911 reproduction magazine, modified to chamber 9mm and fit into Commander sidearms." + desc = "A single stack magazine chambered in 9mm for Commander sidearms." id = "commanderammo" build_type = PROTOLATHE materials = list(/datum/material/iron = 15000) @@ -298,10 +298,10 @@ category = list("Ammo") departmental_flags = DEPARTMENTAL_FLAG_SECURITY -/datum/design/m1911ammo - name = "M1911 magazine (.45)" - desc = "A single stack M1911 magazine, faithfully designed to chamber .45 and fit into the popular M1911 sidearms." - id = "m1911ammo" +/datum/design/candorammo + name = "Candor magazine (.45)" + desc = "A single stack Candor magazine, faithfully designed to chamber .45 and fit into the popular Candor sidearms." + id = "candorammo" build_type = PROTOLATHE materials = list(/datum/material/iron = 15000) build_path = /obj/item/ammo_box/magazine/m45 @@ -663,14 +663,6 @@ build_path = /obj/item/ammo_box/magazine/m45 category = list("Imported") -/datum/design/n762 - name = "Ammo Holder (7.62x38mmR)" - id = "n762" - build_type = AUTOLATHE - materials = list(/datum/material/iron = 20000) - build_path = /obj/item/ammo_box/n762 - category = list("Imported") - /datum/design/disposable_gun name = "Disposable Gun" id = "disposable" @@ -698,13 +690,13 @@ category = list("Weapons") departmental_flags = DEPARTMENTAL_FLAG_BALLISTICS -/datum/design/m1911 - name = "M1911 Pistol" +/datum/design/Candor + name = "Candor Pistol" desc = "A classic pistol." - id = "m1911" + id = "candor" build_type = PROTOLATHE materials = list(/datum/material/iron = 8000, /datum/material/silver = 3000, /datum/material/titanium = 2000) - build_path = /obj/item/gun/ballistic/automatic/pistol/m1911/no_mag + build_path = /obj/item/gun/ballistic/automatic/pistol/candor/factory/no_mag category = list("Weapons") departmental_flags = DEPARTMENTAL_FLAG_BALLISTICS @@ -719,22 +711,12 @@ departmental_flags = DEPARTMENTAL_FLAG_BALLISTICS /datum/design/winchestermk2 - name = "Winchester Mk2 Rifle" - desc = "A newer model of Winchester Rifle, sturdy and lever action." + name = "Flaming Arrow Lever-action Rifle" + desc = "A Flaming Arrow, sturdy and lever action." id = "winchmk2" build_type = PROTOLATHE materials = list(/datum/material/iron = 10000, /datum/material/glass = 3000, /datum/material/silver = 4000, /datum/material/gold = 500) - build_path = /obj/item/gun/ballistic/shotgun/winchester - category = list("Weapons") - departmental_flags = DEPARTMENTAL_FLAG_BALLISTICS - -/datum/design/srmrevolver - name = "SRM Standard Issue .357 Revolver" - desc = "A trusty revolver common amongst hunters and Montagnes." - id = "srmrevolver" - build_type = PROTOLATHE - materials = list(/datum/material/iron = 9000, /datum/material/glass = 1000, /datum/material/silver = 1000, /datum/material/uranium = 1000) - build_path = /obj/item/gun/ballistic/revolver/srm + build_path = /obj/item/gun/ballistic/shotgun/flamingarrow category = list("Weapons") departmental_flags = DEPARTMENTAL_FLAG_BALLISTICS @@ -744,27 +726,27 @@ id = "pepperbox" build_type = PROTOLATHE materials = list(/datum/material/iron = 7000, /datum/material/glass = 1000) - build_path = /obj/item/gun/ballistic/revolver/pepperbox + build_path = /obj/item/gun/ballistic/revolver/firebrand category = list("Weapons") departmental_flags = DEPARTMENTAL_FLAG_BALLISTICS -/datum/design/nagantrevolver - name = "Nagant Revolver" - desc = "An old model of revolver. Uses 7.62." - id = "nagantrevolver" +/datum/design/montagne + name = "Montagne Revolver" + desc = "The revolver of choice of Hunger Montagnes all over. Uses .38." + id = "montagne" build_type = PROTOLATHE materials = list(/datum/material/iron = 90000, /datum/material/glass = 1500, /datum/material/silver = 1500) - build_path = /obj/item/gun/ballistic/revolver/nagant + build_path = /obj/item/gun/ballistic/revolver/montagne category = list("Weapons") departmental_flags = DEPARTMENTAL_FLAG_BALLISTICS /datum/design/stripper762 - name = "7.62x54mm Stripperclip" - desc = "A stripperclip of 7.62x54mm." + name = "8x50mmR Stripperclip" + desc = "A stripperclip of 8x50mmR." id = "stripper762" build_type = PROTOLATHE materials = list(/datum/material/iron = 10000) - build_path = /obj/item/ammo_box/a762 + build_path = /obj/item/ammo_box/magazine/illestren_a850r category = list("Ammo") departmental_flags = DEPARTMENTAL_FLAG_BALLISTICS @@ -778,12 +760,20 @@ category = list("Ammo") departmental_flags = DEPARTMENTAL_FLAG_BALLISTICS -/datum/design/nagantrifle - name = "Nagant Rifle" - desc = "An old model of rifle. Uses 7.62." - id = "nagantrifle" +/datum/design/illestren + name = "Illestren Rifle" + desc = "The pride of Hunter's Pride. Uses 8x50mmR." + id = "illestren" build_type = PROTOLATHE materials = list(/datum/material/iron = 85000, /datum/material/glass = 1500, /datum/material/silver = 1500) - build_path = /obj/item/gun/ballistic/rifle/boltaction + build_path = /obj/item/gun/ballistic/rifle/illestren/factory category = list("Weapons") departmental_flags = DEPARTMENTAL_FLAG_BALLISTICS + +/datum/design/c9mmautolathe + name = "Ammo Box (9mm)" + id = "c9mmautolathe" + build_type = AUTOLATHE + materials = list(/datum/material/iron = 15000) + build_path = /obj/item/ammo_box/c9mm + category = list("Imported") diff --git a/code/modules/research/experimentor.dm b/code/modules/research/experimentor.dm index f714f65f154d..9016d60515e7 100644 --- a/code/modules/research/experimentor.dm +++ b/code/modules/research/experimentor.dm @@ -322,7 +322,7 @@ ejectItem(TRUE) else if(prob(EFFECT_PROB_VERYLOW-badThingCoeff)) visible_message("[src]'s chemical chamber has sprung a leak!") - chosenchem = pick(/datum/reagent/mutationtoxin/classic,/datum/reagent/nanomachines,/datum/reagent/toxin/acid) + chosenchem = pick(/datum/reagent/nanomachines,/datum/reagent/toxin/acid) var/datum/reagents/R = new/datum/reagents(50) R.my_atom = src R.add_reagent(chosenchem , 50) diff --git a/code/modules/research/techweb/all_nodes.dm b/code/modules/research/techweb/all_nodes.dm index 79009ed1fdf6..12ce53dc175d 100644 --- a/code/modules/research/techweb/all_nodes.dm +++ b/code/modules/research/techweb/all_nodes.dm @@ -19,7 +19,7 @@ // Security Stuff "sec_rshot", "sec_beanbag_slug", "sec_slug", "sec_Islug", "sec_dart", "sec_38", "buckshot_shell", "beanbag_slug", "rubber_shot", //Handgun Ammo (Security) - "commanderammo", "stechkinammo", "m1911ammo", "m9cammo", "c9mm", "c10mm", "c45", "c556mmHITP", "rubbershot9mm", "rubbershot10mm", "rubbershot45", "rubbershot556mmHITP", + "commanderammo", "stechkinammo", "candorammo", "m9cammo", "c9mm", "c10mm", "c45", "c556mmHITP", "rubbershot9mm", "rubbershot10mm", "rubbershot45", "rubbershot556mmHITP", // Construction Materials "rglass", "plasteel", "plastitanium", "plasmaglass", "plasmareinforcedglass", "titaniumglass", "plastitaniumglass", // You People Are Animals @@ -766,7 +766,7 @@ display_name = "Saint-Roumain Pistols" description = "Pistols normally manufactured by the Saint-Roumain Militia." prereq_ids = list("adv_ballistics") - design_ids = list("pepperbox", "nagantrevolver", "derringer", "speedload357") + design_ids = list("pepperbox", "montagne", "derringer", "speedload357") research_costs = list(TECHWEB_POINT_TYPE_GENERIC = 5000) export_price = 5000 @@ -775,7 +775,7 @@ display_name = "Saint-Roumain Specialty Ballistics" description = "Specialty ballistics normally manufactured by the Saint-Roumain Militia." prereq_ids = list("srm_ballistics", "srm_pistols") - design_ids = list("srmrevolver", "m1911", "stripper762", "nagantrifle") + design_ids = list("candor", "stripper762", "illestren") research_costs = list(TECHWEB_POINT_TYPE_GENERIC = 12000) export_price = 5000 diff --git a/code/modules/research/xenobiology/crossbreeding/regenerative.dm b/code/modules/research/xenobiology/crossbreeding/regenerative.dm index 8e71efc3177d..7cb7f8677408 100644 --- a/code/modules/research/xenobiology/crossbreeding/regenerative.dm +++ b/code/modules/research/xenobiology/crossbreeding/regenerative.dm @@ -265,8 +265,6 @@ Regenerative extracts: target.visible_message("The [target] suddenly changes color!") var/mob/living/simple_animal/slime/S = target S.random_colour() - if(isjellyperson(target)) - target.reagents.add_reagent(/datum/reagent/mutationtoxin/jelly,5) organ_loss += 17 diff --git a/code/modules/spells/spell_types/infinite_guns.dm b/code/modules/spells/spell_types/infinite_guns.dm index d3361284814a..3f400a8fb4bc 100644 --- a/code/modules/spells/spell_types/infinite_guns.dm +++ b/code/modules/spells/spell_types/infinite_guns.dm @@ -10,7 +10,7 @@ clothes_req = TRUE cooldown_min = 10 //Gun wizard action_icon_state = "bolt_action" - var/summon_path = /obj/item/gun/ballistic/rifle/boltaction/enchanted + var/summon_path = /obj/item/gun/ballistic/rifle/illestren/enchanted /obj/effect/proc_holder/spell/targeted/infinite_guns/cast(list/targets, mob/user = usr) for(var/mob/living/carbon/C in targets) @@ -24,4 +24,4 @@ name = "Arcane Barrage" desc = "Fire a torrent of arcane energy at your foes with this (powerful) spell. Deals much more damage than Lesser Summon Guns, but won't knock targets down. Requires both hands free to use. Learning this spell makes you unable to learn Lesser Summon Gun." action_icon_state = "arcane_barrage" - summon_path = /obj/item/gun/ballistic/rifle/boltaction/enchanted/arcane_barrage + summon_path = /obj/item/gun/ballistic/rifle/illestren/enchanted/arcane_barrage diff --git a/code/modules/spells/spell_types/rightandwrong.dm b/code/modules/spells/spell_types/rightandwrong.dm index ee40b2782574..aae206d6fb0a 100644 --- a/code/modules/spells/spell_types/rightandwrong.dm +++ b/code/modules/spells/spell_types/rightandwrong.dm @@ -3,6 +3,7 @@ // 1 in 50 chance of getting something really special. #define SPECIALIST_MAGIC_PROB 2 +// todo: this probably neds to be reorganized sometime GLOBAL_LIST_INIT(summoned_guns, list( /obj/item/gun/energy/disabler, /obj/item/gun/energy/e_gun, @@ -17,9 +18,9 @@ GLOBAL_LIST_INIT(summoned_guns, list( /obj/item/gun/ballistic/shotgun/doublebarrel, /obj/item/gun/ballistic/shotgun, /obj/item/gun/ballistic/shotgun/automatic/combat, - /obj/item/gun/ballistic/automatic/assault/ar, + /obj/item/gun/ballistic/automatic/assault/p16, /obj/item/gun/ballistic/revolver/mateba, - /obj/item/gun/ballistic/rifle/boltaction, + /obj/item/gun/ballistic/rifle/illestren, /obj/item/pneumatic_cannon/speargun, /obj/item/gun/ballistic/automatic/smg/mini_uzi, /obj/item/gun/energy/lasercannon, diff --git a/code/modules/unit_tests/_unit_tests.dm b/code/modules/unit_tests/_unit_tests.dm index d4bfa21201be..afb4beecae14 100644 --- a/code/modules/unit_tests/_unit_tests.dm +++ b/code/modules/unit_tests/_unit_tests.dm @@ -76,6 +76,7 @@ #include "keybinding_init.dm" #include "machine_disassembly.dm" #include "open_air.dm" +#include "outfit_names.dm" #include "outfit_sanity.dm" #include "overmap.dm" #include "pills.dm" diff --git a/code/modules/unit_tests/outfit_names.dm b/code/modules/unit_tests/outfit_names.dm new file mode 100644 index 000000000000..b381bfeb7bf5 --- /dev/null +++ b/code/modules/unit_tests/outfit_names.dm @@ -0,0 +1,12 @@ +/datum/unit_test/outfit_names/Run() + var/list/outfit_names = list() + + for(var/datum/outfit/outfit_type as anything in subtypesof(/datum/outfit)) + var/name = initial(outfit_type.name) + + if(name in outfit_names) + TEST_FAIL("Outfit name [name] is not unique: [outfit_type], [outfit_names[name]]") + + outfit_names[name] = outfit_type + + diff --git a/code/modules/uplink/uplink_items.dm b/code/modules/uplink/uplink_items.dm index 53b49ab30f0b..48c79382444e 100644 --- a/code/modules/uplink/uplink_items.dm +++ b/code/modules/uplink/uplink_items.dm @@ -517,7 +517,7 @@ GLOBAL_LIST_INIT(uplink_items, subtypesof(/datum/uplink_item)) /datum/uplink_item/dangerous/bolt_action name = "Surplus Rifle" desc = "A horribly outdated bolt action weapon. You've got to be desperate to use this." - item = /obj/item/gun/ballistic/rifle/boltaction + item = /obj/item/gun/ballistic/rifle/illestren cost = 1 include_modes = list(/datum/game_mode/nuclear) @@ -948,7 +948,7 @@ GLOBAL_LIST_INIT(uplink_items, subtypesof(/datum/uplink_item)) /datum/uplink_item/ammo/bolt_action name = "Surplus Rifle Clip" desc = "A stripper clip used to quickly load bolt action rifles. Contains 5 rounds." - item = /obj/item/ammo_box/a762 + item = /obj/item/ammo_box/magazine/illestren_a850r cost = 1 include_modes = list(/datum/game_mode/nuclear) diff --git a/code/modules/vehicles/motorized_wheelchair.dm b/code/modules/vehicles/motorized_wheelchair.dm index add121e6a061..c9e990372374 100644 --- a/code/modules/vehicles/motorized_wheelchair.dm +++ b/code/modules/vehicles/motorized_wheelchair.dm @@ -1,6 +1,7 @@ /obj/vehicle/ridden/wheelchair/motorized name = "motorized wheelchair" desc = "A chair with big wheels. It seems to have a motor in it." + foldabletype = null max_integrity = 150 var/speed = 2 var/power_efficiency = 1 diff --git a/code/modules/vehicles/wheelchair.dm b/code/modules/vehicles/wheelchair.dm index 1f6c96bc0c01..a22b68c5a1c8 100644 --- a/code/modules/vehicles/wheelchair.dm +++ b/code/modules/vehicles/wheelchair.dm @@ -11,6 +11,8 @@ density = FALSE //Thought I couldn't fix this one easily, phew // Run speed delay is multiplied with this for vehicle move delay. var/delay_multiplier = 6.7 + ///Determines the typepath of what the object folds into + var/foldabletype = /obj/item/wheelchair /obj/vehicle/ridden/wheelchair/Initialize() . = ..() @@ -108,8 +110,38 @@ return TRUE return FALSE -/obj/vehicle/ridden/wheelchair/the_whip/driver_move(mob/living/user, direction) - if(istype(user)) - var/datum/component/riding/D = GetComponent(/datum/component/riding) - D.vehicle_move_delay = round(CONFIG_GET(number/movedelay/run_delay) * 6.7) / max(user.usable_hands, 1) - return ..() +/obj/item/wheelchair + name = "wheelchair" + desc = "A collapsed wheelchair that can be carried around." + icon = 'icons/obj/vehicles.dmi' + icon_state = "wheelchair_folded" + base_icon_state = "wheelchair_folded" + lefthand_file = 'icons/mob/inhands/items_lefthand.dmi' + righthand_file = 'icons/mob/inhands/items_righthand.dmi' + w_class = WEIGHT_CLASS_BULKY + force = 8 //Force is same as a chair + var/unfolded_type = /obj/vehicle/ridden/wheelchair + +/obj/vehicle/ridden/wheelchair/MouseDrop(over_object, src_location, over_location) //Lets you collapse wheelchair + . = ..() + if(over_object != usr || !Adjacent(usr) || !foldabletype || !ishuman(usr) || has_buckled_mobs()) + return FALSE + usr.visible_message("[usr] begins to collapse [src].", "You begin to collapse [src].") + if(!do_after(usr, 3 SECONDS, target = src)) + return FALSE + usr.visible_message("[usr] collapses [src].", "You collapse [src].") + var/obj/vehicle/ridden/wheelchair/wheelchair_folded = new foldabletype(get_turf(src)) + usr.put_in_hands(wheelchair_folded) + qdel(src) + +/obj/item/wheelchair/attack_self(mob/user) //Deploys wheelchair on in-hand use + deploy_wheelchair(user, user.loc) + +/obj/item/wheelchair/proc/deploy_wheelchair(mob/user, atom/location) + usr.visible_message("[usr] begins to unfold [src].", "You begin to unfold [src].") + if(!do_after(usr, 3 SECONDS, target = src)) + return FALSE + usr.visible_message("[usr] deploys [src].", "You deploy [src].") + var/obj/vehicle/ridden/wheelchair/wheelchair_unfolded = new unfolded_type(location) + wheelchair_unfolded.add_fingerprint(user) + qdel(src) diff --git a/code/modules/vending/liberation.dm b/code/modules/vending/liberation.dm index d2fb11bfef4b..015bbdc2c340 100644 --- a/code/modules/vending/liberation.dm +++ b/code/modules/vending/liberation.dm @@ -12,12 +12,11 @@ /obj/item/reagent_containers/food/drinks/beer/light = 10, //O'er the ramparts we watched, were so gallantly streaming? /obj/item/gun/ballistic/automatic/pistol/deagle/gold = 2, /obj/item/gun/ballistic/automatic/pistol/deagle/camo = 2, - /obj/item/gun/ballistic/automatic/pistol/m1911 = 2, + /obj/item/gun/ballistic/automatic/pistol/candor = 2, /obj/item/gun/ballistic/automatic/smg/proto/unrestricted = 2, /obj/item/gun/ballistic/shotgun/automatic/combat = 2, /obj/item/gun/ballistic/automatic/gyropistol = 1, - /obj/item/gun/ballistic/shotgun = 2, - /obj/item/gun/ballistic/automatic/assault/ar = 2) + /obj/item/gun/ballistic/shotgun = 2) premium = list( /obj/item/ammo_box/magazine/smgm9mm = 2, /obj/item/ammo_box/magazine/m50 = 4, diff --git a/html/changelogs/archive/2024-01.yml b/html/changelogs/archive/2024-01.yml index 59fdbb9e32b1..f2a29eb77d49 100644 --- a/html/changelogs/archive/2024-01.yml +++ b/html/changelogs/archive/2024-01.yml @@ -59,3 +59,23 @@ SomeguyManperson: - tweak: tend brute/burns can no longer attempt to (very ineffectively) heal the other damage type +2024-01-23: + SomeguyManperson: + - bugfix: ore smelter no longer obliterates materials when smelting alloys +2024-01-26: + Apogee-dev: + - tweak: Changed prefixes on Syndicate ships to reflect subfaction + SomeguyManperson: + - bugfix: you can no longer lock yourself out of the icemoon dragon lair by killing + the dragon with a crusher +2024-01-28: + Fest1v3: + - imageadd: Added vox sprites & a tailhold icon. + Skies-Of-Blue: + - balance: planetary chem bees have been replaced with the garden variety +2024-01-30: + FalloutFalcon: + - balance: reverts some blood red hard suits back to ramzi + goober3: + - tweak: Added more light switches to the Mudskipper. + - bugfix: The Mudskipper bridge now has proper access applied. diff --git a/html/changelogs/archive/2024-02.yml b/html/changelogs/archive/2024-02.yml new file mode 100644 index 000000000000..4dc8e8e2807b --- /dev/null +++ b/html/changelogs/archive/2024-02.yml @@ -0,0 +1,85 @@ +2024-02-02: + Martinpachu: + - bugfix: updated ship shotgun ammo boxes +2024-02-03: + Apogee-dev: + - rscdel: Removed abductor tools from the wrecked analyzer loot pool + - rscdel: Removed lost abductor from iceplanet portal loot pool + Bokkiewokkie: + - imageadd: Added more Kepori socks + - imageadd: Added more Kepori shirts + - imageadd: Added digitigrade pride thigh-highs + - bugfix: Fixed Kepori arms having both left and right sprites per single arm + GenericDM: + - rscdel: mutation toxin + PigeonLord: + - rscadd: Adds more Light Switches around the shepherd + - rscadd: Added some farming plots in the apiary so bees can actually make honey + - bugfix: Fixed bees being able to open the Shepherd Apiary + SomeguyManperson: + - rscadd: If you are smoking a cigarette, you can light someone else's cigarette + via help intent while targeting the mouth + bobbahbrown, itsmeow, meemofcourse: + - rscadd: CentCom now has some small offices, which recieve physical faxes. + - rscadd: Fax machines now announce that they have received a fax over radio. + - rscadd: Fax machines announce important faxes VERY LOUDLY. + - balance: Faxes no longer require a subspace ansible crystal. + - code_imp: Faxes now use typepath instead of varedit. + - tweak: Changed how special/faction faxes work. Login is no longer required to + use special faxes. + - admin: Add Requests Manager to view all fax messages/prayers/centcom and syndicate + requests/and nuke code requests within a round. + - admin: Removed old fax manager in favor of Requests Manager, added "Send Fax Message" + verb to send admin faxes via a menu. + - bugfix: Fixed runtime when ghosts tried to view paper. + meemofcourse: + - rscadd: ACLF Syndicate Inspector ERT + - bugfix: Independent background icons + - bugfix: ERT Outfits not having access and proper names +2024-02-04: + Martinpachu: + - rscadd: Added two flashes, a recharger, a stamp, two commanders, ammo for them + and a wideband to the Ranger bridge. + - rscdel: The Ranger's ORM. +2024-02-05: + Cadunkus: + - spellcheck: Fixed a single typo in the description of the Corvus-class Response + Vessel. + Luftkommando: + - rscadd: Added new ShipTest faction specific stamps + Skies-Of-Blue: + - tweak: non-motorized wheelchairs can now be folded + - imageadd: a few sprites to support the above + meemofcourse: + - rscadd: Valor-Class Field Care Crusier + - rscadd: Haste-Class Ambulance +2024-02-06: + Draggeru, Cre: + - rscadd: adds all of the clothing intended for SUNS, including uniforms for the + captain, xo, cmo, scientists, miners, engineers, and doctors + - rscadd: several job outfits to support future SUNS content + FalloutFalcon: + - bugfix: fixed licor popsicle overlay + MarkSuckerberg: + - bugfix: Fixes a lot of duplicated outfits and such + SomeguyManperson: + - tweak: rachnid cocoon spinning no longer spends nutrition when activated, only + on successful cocooning + retlaw34, FleetingExpertise, Apogee-dev, Valorium,: + - rscadd: Resprites almost every single hunter's pride weapon + - rscadd: Added the Vickland, SRM equivlent to the ARs except it's an battle rifle + - rscadd: The Illestren is now an en-bloc rifle and uses 8x50mmR. Functionally it's + the exact same to aquire the ammo, just with a different name + - rscadd: You are able to saw off many more guns than before, just be sure to actually + empty it before doing so! + - rscadd: Many Hunter's pride weapons have been renamed to something befitting the + lore + - rscadd: Break action weapons + - bugfix: Traubuco should work correctly again + - bugfix: Some broken gun onmobs should now show up + - tweak: guns tell you how to rack them or switching firing modes + - balance: smgs fire 0.02 seconds faster and now have standard pistol recoil onehanded + - balance: disposable guns are now less shit, they now have 10 rounds! The downside + is they are now chambered in 22lr, the worst caliber in the game + - balance: Shotguns have been nerfed to not do an insane amount of damage point + blank and in general diff --git a/icons/mob/actions.dmi b/icons/mob/actions.dmi index ea2c5c556db0..bc600528d825 100644 Binary files a/icons/mob/actions.dmi and b/icons/mob/actions.dmi differ diff --git a/icons/mob/clothing/accessories.dmi b/icons/mob/clothing/accessories.dmi index bfde13162237..aef500b67da9 100644 Binary files a/icons/mob/clothing/accessories.dmi and b/icons/mob/clothing/accessories.dmi differ diff --git a/icons/mob/clothing/back.dmi b/icons/mob/clothing/back.dmi index 13baacb46614..dbb2a6a40ff5 100644 Binary files a/icons/mob/clothing/back.dmi and b/icons/mob/clothing/back.dmi differ diff --git a/icons/mob/clothing/belt.dmi b/icons/mob/clothing/belt.dmi index 7feb4662b2ec..b67e589ef5d4 100644 Binary files a/icons/mob/clothing/belt.dmi and b/icons/mob/clothing/belt.dmi differ diff --git a/icons/mob/clothing/belt_mirror.dmi b/icons/mob/clothing/belt_mirror.dmi index 3440e0b3e663..137b0673482d 100644 Binary files a/icons/mob/clothing/belt_mirror.dmi and b/icons/mob/clothing/belt_mirror.dmi differ diff --git a/icons/mob/clothing/faction/suns/accessory.dmi b/icons/mob/clothing/faction/suns/accessory.dmi new file mode 100644 index 000000000000..00e868d303fd Binary files /dev/null and b/icons/mob/clothing/faction/suns/accessory.dmi differ diff --git a/icons/mob/clothing/faction/suns/eyes.dmi b/icons/mob/clothing/faction/suns/eyes.dmi new file mode 100644 index 000000000000..0dd74b201876 Binary files /dev/null and b/icons/mob/clothing/faction/suns/eyes.dmi differ diff --git a/icons/mob/clothing/faction/suns/feet.dmi b/icons/mob/clothing/faction/suns/feet.dmi new file mode 100644 index 000000000000..0c665a29cda6 Binary files /dev/null and b/icons/mob/clothing/faction/suns/feet.dmi differ diff --git a/icons/mob/clothing/faction/suns/hands.dmi b/icons/mob/clothing/faction/suns/hands.dmi new file mode 100644 index 000000000000..c84e17e76662 Binary files /dev/null and b/icons/mob/clothing/faction/suns/hands.dmi differ diff --git a/icons/mob/clothing/faction/suns/head.dmi b/icons/mob/clothing/faction/suns/head.dmi new file mode 100644 index 000000000000..22eb273e8041 Binary files /dev/null and b/icons/mob/clothing/faction/suns/head.dmi differ diff --git a/icons/mob/clothing/faction/suns/mask.dmi b/icons/mob/clothing/faction/suns/mask.dmi new file mode 100644 index 000000000000..9068c5c74abc Binary files /dev/null and b/icons/mob/clothing/faction/suns/mask.dmi differ diff --git a/icons/mob/clothing/faction/suns/neck.dmi b/icons/mob/clothing/faction/suns/neck.dmi new file mode 100644 index 000000000000..0c8243bbb09b Binary files /dev/null and b/icons/mob/clothing/faction/suns/neck.dmi differ diff --git a/icons/mob/clothing/faction/suns/suits.dmi b/icons/mob/clothing/faction/suns/suits.dmi new file mode 100644 index 000000000000..11d1b5142b99 Binary files /dev/null and b/icons/mob/clothing/faction/suns/suits.dmi differ diff --git a/icons/mob/clothing/faction/suns/uniforms.dmi b/icons/mob/clothing/faction/suns/uniforms.dmi new file mode 100644 index 000000000000..a354f10437f5 Binary files /dev/null and b/icons/mob/clothing/faction/suns/uniforms.dmi differ diff --git a/icons/mob/clothing/feet.dmi b/icons/mob/clothing/feet.dmi index e9e6444a4795..6b974d5a8199 100644 Binary files a/icons/mob/clothing/feet.dmi and b/icons/mob/clothing/feet.dmi differ diff --git a/icons/mob/clothing/suits/hooded.dmi b/icons/mob/clothing/suits/hooded.dmi index 5988b39e8a6a..a4be6f11f793 100644 Binary files a/icons/mob/clothing/suits/hooded.dmi and b/icons/mob/clothing/suits/hooded.dmi differ diff --git a/icons/mob/clothing/underwear/species/underwear_socks_kepori.dmi b/icons/mob/clothing/underwear/species/underwear_socks_kepori.dmi index d182ee4c238a..7548aeb3a702 100644 Binary files a/icons/mob/clothing/underwear/species/underwear_socks_kepori.dmi and b/icons/mob/clothing/underwear/species/underwear_socks_kepori.dmi differ diff --git a/icons/mob/clothing/underwear/species/underwear_torso_kepori.dmi b/icons/mob/clothing/underwear/species/underwear_torso_kepori.dmi index 5574cfb965b7..19813d4e2946 100644 Binary files a/icons/mob/clothing/underwear/species/underwear_torso_kepori.dmi and b/icons/mob/clothing/underwear/species/underwear_torso_kepori.dmi differ diff --git a/icons/mob/clothing/underwear/underwear_socks.dmi b/icons/mob/clothing/underwear/underwear_socks.dmi index bc7faddc5479..7ce74422818f 100644 Binary files a/icons/mob/clothing/underwear/underwear_socks.dmi and b/icons/mob/clothing/underwear/underwear_socks.dmi differ diff --git a/icons/mob/hud.dmi b/icons/mob/hud.dmi index e55252e102df..a54640fc17ba 100644 Binary files a/icons/mob/hud.dmi and b/icons/mob/hud.dmi differ diff --git a/icons/mob/inhands/faction/suns/suns_lefthand.dmi b/icons/mob/inhands/faction/suns/suns_lefthand.dmi new file mode 100644 index 000000000000..f608d69ff95f Binary files /dev/null and b/icons/mob/inhands/faction/suns/suns_lefthand.dmi differ diff --git a/icons/mob/inhands/faction/suns/suns_righthand.dmi b/icons/mob/inhands/faction/suns/suns_righthand.dmi new file mode 100644 index 000000000000..2738ccdd2903 Binary files /dev/null and b/icons/mob/inhands/faction/suns/suns_righthand.dmi differ diff --git a/icons/mob/inhands/items_lefthand.dmi b/icons/mob/inhands/items_lefthand.dmi index c2f7d7c53334..f5f95c211298 100644 Binary files a/icons/mob/inhands/items_lefthand.dmi and b/icons/mob/inhands/items_lefthand.dmi differ diff --git a/icons/mob/inhands/items_righthand.dmi b/icons/mob/inhands/items_righthand.dmi index 6ede1edc7747..f626c077ced5 100644 Binary files a/icons/mob/inhands/items_righthand.dmi and b/icons/mob/inhands/items_righthand.dmi differ diff --git a/icons/mob/inhands/weapons/guns_lefthand.dmi b/icons/mob/inhands/weapons/guns_lefthand.dmi index 7b15fb84a247..24557d26a896 100644 Binary files a/icons/mob/inhands/weapons/guns_lefthand.dmi and b/icons/mob/inhands/weapons/guns_lefthand.dmi differ diff --git a/icons/mob/inhands/weapons/guns_righthand.dmi b/icons/mob/inhands/weapons/guns_righthand.dmi index 0354d2352120..b68f44a56727 100644 Binary files a/icons/mob/inhands/weapons/guns_righthand.dmi and b/icons/mob/inhands/weapons/guns_righthand.dmi differ diff --git a/icons/mob/pai.dmi b/icons/mob/pai.dmi index 1c609686be11..4e46503e87c7 100644 Binary files a/icons/mob/pai.dmi and b/icons/mob/pai.dmi differ diff --git a/icons/mob/pai_item_head.dmi b/icons/mob/pai_item_head.dmi index 337e22254ea8..38db9379be12 100644 Binary files a/icons/mob/pai_item_head.dmi and b/icons/mob/pai_item_head.dmi differ diff --git a/icons/mob/pai_item_lh.dmi b/icons/mob/pai_item_lh.dmi index fb9c77f5abae..49cd390f8d2f 100644 Binary files a/icons/mob/pai_item_lh.dmi and b/icons/mob/pai_item_lh.dmi differ diff --git a/icons/mob/pai_item_rh.dmi b/icons/mob/pai_item_rh.dmi index ced27446a451..de7bc143b9c3 100644 Binary files a/icons/mob/pai_item_rh.dmi and b/icons/mob/pai_item_rh.dmi differ diff --git a/icons/mob/species/kepori/bodyparts.dmi b/icons/mob/species/kepori/bodyparts.dmi index 177efcbbf51a..f19aaeacbe08 100644 Binary files a/icons/mob/species/kepori/bodyparts.dmi and b/icons/mob/species/kepori/bodyparts.dmi differ diff --git a/icons/mob/species/vox/onmob_back_vox.dmi b/icons/mob/species/vox/onmob_back_vox.dmi index f7d7499b6cc5..d8b23da46543 100644 Binary files a/icons/mob/species/vox/onmob_back_vox.dmi and b/icons/mob/species/vox/onmob_back_vox.dmi differ diff --git a/icons/mob/species/vox/onmob_belt_vox.dmi b/icons/mob/species/vox/onmob_belt_vox.dmi index 9d183ea045b4..3a054c4952a1 100644 Binary files a/icons/mob/species/vox/onmob_belt_vox.dmi and b/icons/mob/species/vox/onmob_belt_vox.dmi differ diff --git a/icons/obj/aicards.dmi b/icons/obj/aicards.dmi index 5698962eb9fb..a0b0ecba5be7 100644 Binary files a/icons/obj/aicards.dmi and b/icons/obj/aicards.dmi differ diff --git a/icons/obj/aicardsradial.dmi b/icons/obj/aicardsradial.dmi new file mode 100644 index 000000000000..ad5b874b221c Binary files /dev/null and b/icons/obj/aicardsradial.dmi differ diff --git a/icons/obj/ammo.dmi b/icons/obj/ammo.dmi index 038ad37895ca..aaddd3b8de70 100644 Binary files a/icons/obj/ammo.dmi and b/icons/obj/ammo.dmi differ diff --git a/icons/obj/bureaucracy.dmi b/icons/obj/bureaucracy.dmi index f96b0fd582dc..8a042bc0d081 100644 Binary files a/icons/obj/bureaucracy.dmi and b/icons/obj/bureaucracy.dmi differ diff --git a/icons/obj/clothing/accessories.dmi b/icons/obj/clothing/accessories.dmi index dff8070e67e4..0b48ccfaf785 100644 Binary files a/icons/obj/clothing/accessories.dmi and b/icons/obj/clothing/accessories.dmi differ diff --git a/icons/obj/clothing/faction/suns/accessory.dmi b/icons/obj/clothing/faction/suns/accessory.dmi new file mode 100644 index 000000000000..fed96f7c2ee2 Binary files /dev/null and b/icons/obj/clothing/faction/suns/accessory.dmi differ diff --git a/icons/obj/clothing/faction/suns/eyes.dmi b/icons/obj/clothing/faction/suns/eyes.dmi new file mode 100644 index 000000000000..5695d1868d4d Binary files /dev/null and b/icons/obj/clothing/faction/suns/eyes.dmi differ diff --git a/icons/obj/clothing/faction/suns/feet.dmi b/icons/obj/clothing/faction/suns/feet.dmi new file mode 100644 index 000000000000..478e4d9110a5 Binary files /dev/null and b/icons/obj/clothing/faction/suns/feet.dmi differ diff --git a/icons/obj/clothing/faction/suns/hands.dmi b/icons/obj/clothing/faction/suns/hands.dmi new file mode 100644 index 000000000000..6c7f9455773a Binary files /dev/null and b/icons/obj/clothing/faction/suns/hands.dmi differ diff --git a/icons/obj/clothing/faction/suns/head.dmi b/icons/obj/clothing/faction/suns/head.dmi new file mode 100644 index 000000000000..71855c39bdc3 Binary files /dev/null and b/icons/obj/clothing/faction/suns/head.dmi differ diff --git a/icons/obj/clothing/faction/suns/mask.dmi b/icons/obj/clothing/faction/suns/mask.dmi new file mode 100644 index 000000000000..1417e85a42db Binary files /dev/null and b/icons/obj/clothing/faction/suns/mask.dmi differ diff --git a/icons/obj/clothing/faction/suns/neck.dmi b/icons/obj/clothing/faction/suns/neck.dmi new file mode 100644 index 000000000000..617118e56be5 Binary files /dev/null and b/icons/obj/clothing/faction/suns/neck.dmi differ diff --git a/icons/obj/clothing/faction/suns/suits.dmi b/icons/obj/clothing/faction/suns/suits.dmi new file mode 100644 index 000000000000..03a003703f73 Binary files /dev/null and b/icons/obj/clothing/faction/suns/suits.dmi differ diff --git a/icons/obj/clothing/faction/suns/uniforms.dmi b/icons/obj/clothing/faction/suns/uniforms.dmi new file mode 100644 index 000000000000..69908b5e7988 Binary files /dev/null and b/icons/obj/clothing/faction/suns/uniforms.dmi differ diff --git a/icons/obj/clothing/hats.dmi b/icons/obj/clothing/hats.dmi index 3a77a2e55885..11a1d9f84857 100644 Binary files a/icons/obj/clothing/hats.dmi and b/icons/obj/clothing/hats.dmi differ diff --git a/icons/obj/clothing/suits.dmi b/icons/obj/clothing/suits.dmi index e0a755c5ca83..10eab742cfa6 100644 Binary files a/icons/obj/clothing/suits.dmi and b/icons/obj/clothing/suits.dmi differ diff --git a/icons/obj/clothing/suits/hooded.dmi b/icons/obj/clothing/suits/hooded.dmi index 366b69d85139..06d98acf2358 100644 Binary files a/icons/obj/clothing/suits/hooded.dmi and b/icons/obj/clothing/suits/hooded.dmi differ diff --git a/icons/obj/guns/48x32guns.dmi b/icons/obj/guns/48x32guns.dmi index 89bacfc64afd..2d0e82cb0a77 100644 Binary files a/icons/obj/guns/48x32guns.dmi and b/icons/obj/guns/48x32guns.dmi differ diff --git a/icons/obj/guns/projectile.dmi b/icons/obj/guns/projectile.dmi index 02e7d3812dcb..8e6b46f822d6 100644 Binary files a/icons/obj/guns/projectile.dmi and b/icons/obj/guns/projectile.dmi differ diff --git a/icons/obj/printer.dmi b/icons/obj/printer.dmi new file mode 100644 index 000000000000..6b0ea97e29f4 Binary files /dev/null and b/icons/obj/printer.dmi differ diff --git a/icons/obj/storage.dmi b/icons/obj/storage.dmi index 250f7220713d..26b4ebd8a83f 100644 Binary files a/icons/obj/storage.dmi and b/icons/obj/storage.dmi differ diff --git a/icons/obj/transforming_energy.dmi b/icons/obj/transforming_energy.dmi index 4037a51d2ffa..ff2f99832d1c 100644 Binary files a/icons/obj/transforming_energy.dmi and b/icons/obj/transforming_energy.dmi differ diff --git a/icons/obj/vehicles.dmi b/icons/obj/vehicles.dmi index cb38fecefcfa..87cef669faf0 100644 Binary files a/icons/obj/vehicles.dmi and b/icons/obj/vehicles.dmi differ diff --git a/icons/stamp_icons/large_stamp-artificer.png b/icons/stamp_icons/large_stamp-artificer.png new file mode 100644 index 000000000000..058a4407428c Binary files /dev/null and b/icons/stamp_icons/large_stamp-artificer.png differ diff --git a/icons/stamp_icons/large_stamp-bard.png b/icons/stamp_icons/large_stamp-bard.png new file mode 100644 index 000000000000..8ca5a9367e61 Binary files /dev/null and b/icons/stamp_icons/large_stamp-bard.png differ diff --git a/icons/stamp_icons/large_stamp-cmm.png b/icons/stamp_icons/large_stamp-cmm.png new file mode 100644 index 000000000000..7ae1c93cfddc Binary files /dev/null and b/icons/stamp_icons/large_stamp-cmm.png differ diff --git a/icons/stamp_icons/large_stamp-cybersun.png b/icons/stamp_icons/large_stamp-cybersun.png new file mode 100644 index 000000000000..5a1791bce623 Binary files /dev/null and b/icons/stamp_icons/large_stamp-cybersun.png differ diff --git a/icons/stamp_icons/large_stamp-donk.png b/icons/stamp_icons/large_stamp-donk.png new file mode 100644 index 000000000000..5b9d204bc669 Binary files /dev/null and b/icons/stamp_icons/large_stamp-donk.png differ diff --git a/icons/stamp_icons/large_stamp-gold.png b/icons/stamp_icons/large_stamp-gold.png new file mode 100644 index 000000000000..6ca44db30487 Binary files /dev/null and b/icons/stamp_icons/large_stamp-gold.png differ diff --git a/icons/stamp_icons/large_stamp-inteq.png b/icons/stamp_icons/large_stamp-inteq.png new file mode 100644 index 000000000000..31370e095c53 Binary files /dev/null and b/icons/stamp_icons/large_stamp-inteq.png differ diff --git a/icons/stamp_icons/large_stamp-maa.png b/icons/stamp_icons/large_stamp-maa.png new file mode 100644 index 000000000000..19d4345e2006 Binary files /dev/null and b/icons/stamp_icons/large_stamp-maa.png differ diff --git a/icons/stamp_icons/large_stamp-vanguard.png b/icons/stamp_icons/large_stamp-vanguard.png new file mode 100644 index 000000000000..1897011ec86d Binary files /dev/null and b/icons/stamp_icons/large_stamp-vanguard.png differ diff --git a/shiptest.dme b/shiptest.dme index 543b4322394d..9840f4d4cc9c 100644 --- a/shiptest.dme +++ b/shiptest.dme @@ -222,7 +222,6 @@ #include "code\_globalvars\lists\achievements.dm" #include "code\_globalvars\lists\admin.dm" #include "code\_globalvars\lists\client.dm" -#include "code\_globalvars\lists\faxes.dm" #include "code\_globalvars\lists\flavor_misc.dm" #include "code\_globalvars\lists\jobs.dm" #include "code\_globalvars\lists\keybindings.dm" @@ -1351,6 +1350,7 @@ #include "code\game\objects\structures\petrified_statue.dm" #include "code\game\objects\structures\plasticflaps.dm" #include "code\game\objects\structures\poddoor_assembly.dm" +#include "code\game\objects\structures\printer.dm" #include "code\game\objects\structures\radioactive.dm" #include "code\game\objects\structures\railings.dm" #include "code\game\objects\structures\reflector.dm" @@ -1465,6 +1465,7 @@ #include "code\game\turfs\open\space\space.dm" #include "code\game\turfs\open\space\transit.dm" #include "code\modules\admin\admin.dm" +#include "code\modules\admin\admin_fax_panel.dm" #include "code\modules\admin\admin_follow.dm" #include "code\modules\admin\admin_investigate.dm" #include "code\modules\admin\admin_ranks.dm" @@ -1509,7 +1510,6 @@ #include "code\modules\admin\verbs\deadsay.dm" #include "code\modules\admin\verbs\debug.dm" #include "code\modules\admin\verbs\diagnostics.dm" -#include "code\modules\admin\verbs\fax_manager.dm" #include "code\modules\admin\verbs\fix_air.dm" #include "code\modules\admin\verbs\fps.dm" #include "code\modules\admin\verbs\getlogs.dm" @@ -1530,6 +1530,7 @@ #include "code\modules\admin\verbs\randomverbs.dm" #include "code\modules\admin\verbs\reestablish_db_connection.dm" #include "code\modules\admin\verbs\rejuvenate.dm" +#include "code\modules\admin\verbs\requests.dm" #include "code\modules\admin\verbs\secrets.dm" #include "code\modules\admin\verbs\selectequipment.dm" #include "code\modules\admin\verbs\shuttlepanel.dm" @@ -1922,6 +1923,7 @@ #include "code\modules\clothing\towels.dm" #include "code\modules\clothing\ears\_ears.dm" #include "code\modules\clothing\factions\gezena.dm" +#include "code\modules\clothing\factions\suns.dm" #include "code\modules\clothing\glasses\_glasses.dm" #include "code\modules\clothing\glasses\engine_goggles.dm" #include "code\modules\clothing\glasses\hud.dm" @@ -2862,7 +2864,6 @@ #include "code\modules\paperwork\clipboard.dm" #include "code\modules\paperwork\contract.dm" #include "code\modules\paperwork\fax.dm" -#include "code\modules\paperwork\fax_manager.dm" #include "code\modules\paperwork\filingcabinet.dm" #include "code\modules\paperwork\folders.dm" #include "code\modules\paperwork\handlabeler.dm" @@ -3120,6 +3121,8 @@ #include "code\modules\religion\religion_sects.dm" #include "code\modules\religion\religion_structures.dm" #include "code\modules\religion\rites.dm" +#include "code\modules\requests\request.dm" +#include "code\modules\requests\requests_manager.dm" #include "code\modules\research\bepis.dm" #include "code\modules\research\designs.dm" #include "code\modules\research\destructive_analyzer.dm" diff --git a/sound/weapons/gun/pistol/m1911.ogg b/sound/weapons/gun/pistol/candor.ogg similarity index 100% rename from sound/weapons/gun/pistol/m1911.ogg rename to sound/weapons/gun/pistol/candor.ogg diff --git a/sound/weapons/gun/pistol/m1911_cocked.ogg b/sound/weapons/gun/pistol/candor_cocked.ogg similarity index 100% rename from sound/weapons/gun/pistol/m1911_cocked.ogg rename to sound/weapons/gun/pistol/candor_cocked.ogg diff --git a/sound/weapons/gun/pistol/m1911_reload.ogg b/sound/weapons/gun/pistol/candor_reload.ogg similarity index 100% rename from sound/weapons/gun/pistol/m1911_reload.ogg rename to sound/weapons/gun/pistol/candor_reload.ogg diff --git a/sound/weapons/gun/pistol/m1911_unload.ogg b/sound/weapons/gun/pistol/candor_unload.ogg similarity index 100% rename from sound/weapons/gun/pistol/m1911_unload.ogg rename to sound/weapons/gun/pistol/candor_unload.ogg diff --git a/sound/weapons/gun/rifle/flamingarrow.ogg b/sound/weapons/gun/rifle/flamingarrow.ogg new file mode 100644 index 000000000000..0362cf72013f Binary files /dev/null and b/sound/weapons/gun/rifle/flamingarrow.ogg differ diff --git a/sound/weapons/gun/rifle/m16.ogg b/sound/weapons/gun/rifle/m16.ogg index d7f5b22067bb..b81834891201 100644 Binary files a/sound/weapons/gun/rifle/m16.ogg and b/sound/weapons/gun/rifle/m16.ogg differ diff --git a/sound/weapons/gun/rifle/scout.ogg b/sound/weapons/gun/rifle/scout.ogg new file mode 100644 index 000000000000..8c4227a44871 Binary files /dev/null and b/sound/weapons/gun/rifle/scout.ogg differ diff --git a/sound/weapons/gun/rifle/scout_bolt_in.ogg b/sound/weapons/gun/rifle/scout_bolt_in.ogg new file mode 100644 index 000000000000..13a854b3b1d4 Binary files /dev/null and b/sound/weapons/gun/rifle/scout_bolt_in.ogg differ diff --git a/sound/weapons/gun/rifle/scout_bolt_out.ogg b/sound/weapons/gun/rifle/scout_bolt_out.ogg new file mode 100644 index 000000000000..4e1107079a13 Binary files /dev/null and b/sound/weapons/gun/rifle/scout_bolt_out.ogg differ diff --git a/sound/weapons/gun/rifle/vickland.ogg b/sound/weapons/gun/rifle/vickland.ogg new file mode 100644 index 000000000000..d6f46cbc610b Binary files /dev/null and b/sound/weapons/gun/rifle/vickland.ogg differ diff --git a/sound/weapons/gun/rifle/vickland_unload.ogg b/sound/weapons/gun/rifle/vickland_unload.ogg new file mode 100644 index 000000000000..b251d7b70095 Binary files /dev/null and b/sound/weapons/gun/rifle/vickland_unload.ogg differ diff --git a/sound/weapons/gun/rifle/winchester_cocked.ogg b/sound/weapons/gun/rifle/winchester_cocked.ogg deleted file mode 100644 index 5f2d32e31eaf..000000000000 Binary files a/sound/weapons/gun/rifle/winchester_cocked.ogg and /dev/null differ diff --git a/sound/weapons/gun/shotgun/brimstone.ogg b/sound/weapons/gun/shotgun/brimstone.ogg new file mode 100644 index 000000000000..432a690f9ec3 Binary files /dev/null and b/sound/weapons/gun/shotgun/brimstone.ogg differ diff --git a/sound/weapons/gun/shotgun/bulldog.ogg b/sound/weapons/gun/shotgun/bulldog.ogg new file mode 100644 index 000000000000..090e5a81a88e Binary files /dev/null and b/sound/weapons/gun/shotgun/bulldog.ogg differ diff --git a/sound/weapons/gun/shotgun/dbshotgun_break.ogg b/sound/weapons/gun/shotgun/dbshotgun_break.ogg new file mode 100644 index 000000000000..33196c3ac386 Binary files /dev/null and b/sound/weapons/gun/shotgun/dbshotgun_break.ogg differ diff --git a/sound/weapons/gun/shotgun/dbshotgun_close.ogg b/sound/weapons/gun/shotgun/dbshotgun_close.ogg new file mode 100644 index 000000000000..c6f4a26bc56b Binary files /dev/null and b/sound/weapons/gun/shotgun/dbshotgun_close.ogg differ diff --git a/sound/weapons/gun/smg/firestorm.ogg b/sound/weapons/gun/smg/firestorm.ogg new file mode 100644 index 000000000000..2ff8319777de Binary files /dev/null and b/sound/weapons/gun/smg/firestorm.ogg differ diff --git a/tgui/packages/tgui/interfaces/AdminFax.js b/tgui/packages/tgui/interfaces/AdminFax.js new file mode 100644 index 000000000000..8245bc4a9ad3 --- /dev/null +++ b/tgui/packages/tgui/interfaces/AdminFax.js @@ -0,0 +1,263 @@ +import { useBackend, useLocalState } from '../backend'; +import { + Section, + Box, + Dropdown, + Button, + Input, + TextArea, + Divider, + NumberInput, + Tooltip, + Knob, +} from '../components'; +import { Window } from '../layouts'; + +export const AdminFax = (props, context) => { + return ( + + + + + + ); +}; + +export const FaxMainPanel = (props, context) => { + const { act, data } = useBackend(context); + + const [fax, setFax] = useLocalState(context, 'fax', ''); + const [saved, setSaved] = useLocalState(context, 'saved', false); + const [paperName, setPaperName] = useLocalState(context, 'paperName', ''); + const [fromWho, setFromWho] = useLocalState(context, 'fromWho', ''); + const [rawText, setRawText] = useLocalState(context, 'rawText', ''); + const [stamp, setStamp] = useLocalState(context, 'stampType', ''); + const [stampCoordX, setStampCoordX] = useLocalState( + context, + 'stampCoordX', + 0 + ); + const [stampCoordY, setStampCoordY] = useLocalState( + context, + 'stampCoordY', + 0 + ); + const [stampAngle, setStampAngle] = useLocalState(context, 'stampAngle', 0); + if (stamp && data.stamps[0] !== 'None') { + data.stamps.unshift('None'); + } + return ( + <> +
+ + + } + > + + setFax(value)} + /> + +
+
+ act('preview', { + faxName: fax, + }) + } + > + Preview + + } + > + + setPaperName(v)} + /> + + + + + + + setFromWho(v)} + /> + + + + + + +