From f1fef9b0c3f10e6191ed51be93d092050e77c531 Mon Sep 17 00:00:00 2001 From: SkyratBot <59378654+SkyratBot@users.noreply.github.com> Date: Sat, 6 May 2023 17:34:31 +0100 Subject: [PATCH] [MIRROR] Demotes Psyker Pirates to Bounty Hunter Duty [MDB IGNORE] (#20951) * Demotes Psyker Pirates to Bounty Hunter Duty (#75031) This PR demotes the Psyker-gang from a pirate team to a fugitive hunting team. For more information on Psyker pirates, please refer to #71650. Stuff this also does in the process: - Gives fugitive hunters their own subfolder in the fugitives antagonist folder, moves some of their stuff into hunter-specific files rather than interlacing it with the rest of the fugitive code. - Moves the hunter backstories to defines, to make reading things easier while I made this change. - Exhaustively moves everything related to psykers from being pirate-oriented to hunter-oriented (typepaths, locations where stuff is defined, etc. There should be nothing left behind related to psykers in anything pirate related). (Tell me if I missed anything somehow). They still get their ship (they even get their own custom psyker-friendly prisoner capsule). They still have a bunch of lethally chambered firearms. They're the same gunrunning nutcases they were before, just as bounty hunters. To assist with basic tasks such as "getting to the station" or "figuring out who the fuck we're supposed to be kidnapping", the psykers have "acquired" a Seer to assist them. They can _try_ to coordinate the psykers and lead them through situations where their impairments put them at too great a disadvantage. If you're one of the psykers, make sure to keep this guy alive at all costs! Why are they called Shikaris instead of hunters? Mariam-Webster says it's a Hindi word for some kind of hunter/tracker, and it sounded like something a bunch of space-junkies would call themselves because they think it sounds cool. They now also come with a slightly different motivation, now that they can't directly threaten the crew for money. Psyker hunters now arrive tasked with a dirty kidnapping job, payment rendered in GORE. ## Why It's Good For The Game Psykers aren't up to the challenge of being pirates. They're bogged down by a number of fundamental issues that render them unable to do anything expected of pirates. As it currently stands, they present about as much threat as you would expect from three blind junkies with guns. Removing them wholesale would be kind of lame. They can function as a bunch of chaotic-neutral gun-toting space-maniacs, but for the purposes of gameplay, keeping them as pirates would be a waste of their talents. Moving them to a lower-stakes role not only moves them to a niche they are more capable of filling, but gives players a more lax environment to get a grip on playing psyker without being overwhelmed. Giving them a seeing-eye role should bring a more unique dynamic to how psykers are played (that is, some semblance of organization rather than blind flailing), and should help get over the mechanical hurdles of being a psyker until better solutions can be made. It shouldn't be too big of an impact on balance considering the psyker gang only has three spawns, while most hunter packs have 4+. * Demotes Psyker Pirates to Bounty Hunter Duty --------- Co-authored-by: Rhials --- .../{pirate_psyker.dmm => hunter_psyker.dmm} | 812 +++++++++--------- code/__DEFINES/antagonists.dm | 5 + code/datums/id_trim/ruins.dm | 6 - code/datums/shuttles.dm | 8 +- .../antagonists/fugitive/fugitive_outfits.dm | 180 ---- .../antagonists/fugitive/fugitive_ship.dm | 63 -- .../fugitive/{ => hunters}/hunter.dm | 10 +- .../fugitive/hunters/hunter_gear.dm | 155 ++++ .../fugitive/hunters/hunter_outfits.dm | 227 +++++ .../antagonists/pirate/pirate_gangs.dm | 16 - .../antagonists/pirate/pirate_outfits.dm | 26 - .../antagonists/pirate/pirate_roles.dm | 16 - .../pirate/pirate_shuttle_equipment.dm | 8 - .../pirate/pirate_special_items.dm | 68 -- .../events/ghost_role/fugitive_event.dm | 18 +- .../ghost_roles/fugitive_hunter_roles.dm | 46 +- tgstation.dme | 6 +- 17 files changed, 866 insertions(+), 804 deletions(-) rename _maps/shuttles/{pirate_psyker.dmm => hunter_psyker.dmm} (83%) delete mode 100644 code/modules/antagonists/fugitive/fugitive_ship.dm rename code/modules/antagonists/fugitive/{ => hunters}/hunter.dm (94%) create mode 100644 code/modules/antagonists/fugitive/hunters/hunter_gear.dm create mode 100644 code/modules/antagonists/fugitive/hunters/hunter_outfits.dm delete mode 100644 code/modules/antagonists/pirate/pirate_special_items.dm diff --git a/_maps/shuttles/pirate_psyker.dmm b/_maps/shuttles/hunter_psyker.dmm similarity index 83% rename from _maps/shuttles/pirate_psyker.dmm rename to _maps/shuttles/hunter_psyker.dmm index dd9a12fd356..bb05bbbac57 100644 --- a/_maps/shuttles/pirate_psyker.dmm +++ b/_maps/shuttles/hunter_psyker.dmm @@ -3,83 +3,74 @@ /obj/item/stack/spacecash/c1, /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden, /turf/open/floor/plating, -/area/shuttle/pirate) +/area/shuttle/hunter) "am" = ( /obj/structure/closet/secure_closet/freezer/meat/open, /obj/effect/decal/cleanable/dirt, /obj/item/reagent_containers/hypospray/medipen/gore, /obj/item/reagent_containers/hypospray/medipen/gore, /turf/open/floor/iron/freezer, -/area/shuttle/pirate) +/area/shuttle/hunter) "aV" = ( /obj/effect/decal/cleanable/dirt, /obj/effect/decal/cleanable/generic, /obj/machinery/light/small/directional/east, /turf/open/floor/engine, -/area/shuttle/pirate) +/area/shuttle/hunter) "bx" = ( /obj/effect/decal/cleanable/dirt, /obj/item/broken_bottle, /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden, /turf/open/floor/iron, -/area/shuttle/pirate) +/area/shuttle/hunter) "bK" = ( -/turf/closed/wall, -/area/shuttle/pirate) +/obj/machinery/atmospherics/components/unary/vent_pump/on, +/turf/open/floor/iron/kitchen/small, +/area/shuttle/hunter) "bV" = ( -/obj/effect/turf_decal/tile/dark_blue/diagonal_centre, -/turf/open/floor/iron/white/diagonal, -/area/shuttle/pirate) +/obj/machinery/computer/monitor{ + dir = 1 + }, +/obj/effect/turf_decal/box/white, +/turf/open/floor/iron/dark/textured, +/area/shuttle/hunter) "bX" = ( /obj/item/reagent_containers/blood, /obj/machinery/light/directional/north, /turf/open/floor/engine, -/area/shuttle/pirate) -"ca" = ( -/obj/structure/lattice, -/obj/effect/forcefield/psychic{ - initial_duration = 0 - }, -/turf/template_noop, -/area/shuttle/pirate) +/area/shuttle/hunter) "cp" = ( /obj/effect/mapping_helpers/broken_floor, /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden, /turf/open/floor/iron, -/area/shuttle/pirate) +/area/shuttle/hunter) "cM" = ( /obj/effect/decal/cleanable/dirt, /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden, /turf/open/floor/iron/grimy, -/area/shuttle/pirate) +/area/shuttle/hunter) "do" = ( /turf/open/floor/iron/stairs{ dir = 4 }, -/area/shuttle/pirate) +/area/shuttle/hunter) "dq" = ( -/obj/structure/rack, -/obj/item/reagent_containers/cup/glass/bottle/vodka/badminka{ - pixel_x = -3; - pixel_y = 6 - }, -/obj/item/reagent_containers/cup/glass/shaker{ - pixel_x = 9; - pixel_y = 1 +/obj/effect/mob_spawn/ghost_role/human/fugitive/bounty/psyker/seer{ + dir = 8 }, /turf/open/floor/engine, -/area/shuttle/pirate) +/area/shuttle/hunter) "eq" = ( /obj/effect/decal/cleanable/dirt, /obj/structure/rack, /obj/structure/bedsheetbin, /obj/machinery/light/dim/directional/south, /turf/open/floor/iron/grimy, -/area/shuttle/pirate) +/area/shuttle/hunter) "eO" = ( /obj/machinery/light/cold/directional/west, /turf/open/floor/carpet/black, -/area/shuttle/pirate) +/area/shuttle/hunter) "eZ" = ( /obj/structure/toiletbong{ dir = 4 @@ -87,19 +78,19 @@ /obj/effect/decal/cleanable/dirt, /obj/effect/decal/cleanable/vomit/old, /turf/open/floor/iron/freezer, -/area/shuttle/pirate) +/area/shuttle/hunter) "gj" = ( /obj/structure/table/wood/fancy/blue, /obj/item/book/codex_gigas{ pixel_y = 2 }, /turf/open/floor/glass, -/area/shuttle/pirate) +/area/shuttle/hunter) "gl" = ( /obj/machinery/washing_machine, /obj/effect/turf_decal/box/white, /turf/open/floor/iron/dark/textured, -/area/shuttle/pirate) +/area/shuttle/hunter) "gA" = ( /obj/machinery/power/smes/engineering{ charge = 1e+006 @@ -107,7 +98,7 @@ /obj/structure/cable, /obj/effect/decal/cleanable/dirt, /turf/open/floor/plating, -/area/shuttle/pirate) +/area/shuttle/hunter) "gE" = ( /obj/effect/turf_decal/tile/dark_blue/diagonal_edge, /obj/structure/table/reinforced/plasmarglass, @@ -131,14 +122,8 @@ }, /obj/item/ammo_box/c38/match, /turf/open/floor/iron/white/diagonal, -/area/shuttle/pirate) +/area/shuttle/hunter) "gW" = ( -/obj/docking_port/mobile/pirate{ - launch_status = 0; - movement_force = list("KNOCKDOWN"=0,"THROW"=0); - name = "Pirate Ship"; - port_direction = 2 - }, /obj/docking_port/stationary{ dwidth = 11; height = 16; @@ -146,47 +131,53 @@ shuttle_id = "pirate_home"; width = 17 }, +/obj/docking_port/mobile{ + movement_force = list("KNOCKDOWN" = 0, "THROW" = 0); + name = "hunter shuttle"; + rechargeTime = 1800; + shuttle_id = "huntership" + }, /turf/open/floor/catwalk_floor, -/area/shuttle/pirate) +/area/shuttle/hunter) "gY" = ( /obj/structure/curtain/bounty, /turf/open/floor/grass, -/area/shuttle/pirate) +/area/shuttle/hunter) "ht" = ( /obj/effect/turf_decal/siding/thinplating_new/dark{ dir = 1 }, /turf/open/floor/grass, -/area/shuttle/pirate) +/area/shuttle/hunter) "hE" = ( /obj/effect/turf_decal/tile/dark_blue/diagonal_centre, /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden, /turf/open/floor/iron/white/diagonal, -/area/shuttle/pirate) +/area/shuttle/hunter) "jl" = ( /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden, /obj/effect/decal/cleanable/dirt, /turf/open/floor/carpet/black, -/area/shuttle/pirate) +/area/shuttle/hunter) "js" = ( /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden, /obj/structure/cable, /obj/effect/decal/cleanable/dirt, /obj/effect/decal/cleanable/oil, /turf/open/floor/plating, -/area/shuttle/pirate) +/area/shuttle/hunter) "jB" = ( /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden, /turf/open/floor/iron/stairs{ dir = 8 }, -/area/shuttle/pirate) +/area/shuttle/hunter) "ke" = ( /obj/effect/decal/cleanable/dirt, /obj/effect/decal/cleanable/oil, /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden, /turf/open/floor/plating, -/area/shuttle/pirate) +/area/shuttle/hunter) "kN" = ( /obj/effect/decal/cleanable/dirt, /obj/effect/decal/cleanable/generic, @@ -210,63 +201,57 @@ /obj/item/reagent_containers/syringe/contraband, /obj/item/reagent_containers/syringe/contraband, /turf/open/floor/iron, -/area/shuttle/pirate) -"ld" = ( -/obj/machinery/power/shuttle_engine/propulsion/right{ - dir = 4 - }, -/turf/open/floor/plating/airless, -/area/shuttle/pirate) +/area/shuttle/hunter) "lu" = ( /turf/open/floor/iron/kitchen/small, -/area/shuttle/pirate) +/area/shuttle/hunter) "lD" = ( /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden, /obj/machinery/computer/slot_machine, /obj/effect/decal/cleanable/wrapping, /turf/open/floor/iron/grimy, -/area/shuttle/pirate) -"me" = ( -/obj/machinery/computer/monitor{ - dir = 1 - }, -/obj/effect/turf_decal/box/white, -/turf/open/floor/iron/dark/textured, -/area/shuttle/pirate) +/area/shuttle/hunter) +"lI" = ( +/obj/effect/turf_decal/tile/dark_blue/diagonal_centre, +/turf/open/floor/iron/white/diagonal, +/area/shuttle/hunter) "mz" = ( /obj/effect/decal/cleanable/dirt, /obj/structure/etherealball, /turf/open/floor/engine, -/area/shuttle/pirate) +/area/shuttle/hunter) "mP" = ( /obj/effect/mapping_helpers/broken_floor, /obj/item/storage/pill_bottle, /turf/open/floor/plating, -/area/shuttle/pirate) +/area/shuttle/hunter) "mR" = ( /turf/open/floor/iron/stairs/right, -/area/shuttle/pirate) +/area/shuttle/hunter) +"na" = ( +/turf/closed/wall, +/area/shuttle/hunter) "nc" = ( /obj/structure/cable, /obj/effect/decal/cleanable/fuel_pool, /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden, /turf/open/floor/plating, -/area/shuttle/pirate) +/area/shuttle/hunter) "nk" = ( /obj/effect/mapping_helpers/broken_floor, /turf/open/floor/plating, -/area/shuttle/pirate) +/area/shuttle/hunter) "no" = ( /obj/effect/turf_decal/siding/thinplating_new/dark{ dir = 1 }, /obj/structure/flora/bush/flowers_yw/style_random, /turf/open/floor/grass, -/area/shuttle/pirate) +/area/shuttle/hunter) "nq" = ( /obj/structure/flora/bush/fullgrass/style_random, /turf/open/floor/grass, -/area/shuttle/pirate) +/area/shuttle/hunter) "nB" = ( /obj/machinery/door/airlock/grunge{ name = "Intelligence Training Room" @@ -274,44 +259,38 @@ /obj/effect/mapping_helpers/airlock/cutaiwire, /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden, /turf/open/floor/plating, -/area/shuttle/pirate) -"oq" = ( -/turf/open/floor/catwalk_floor, -/area/shuttle/pirate) +/area/shuttle/hunter) "oL" = ( /obj/structure/lattice, /turf/template_noop, -/area/shuttle/pirate) +/area/shuttle/hunter) "oN" = ( /obj/structure/chair/comfy/black{ dir = 1 }, /turf/open/floor/glass, -/area/shuttle/pirate) +/area/shuttle/hunter) "pb" = ( /obj/structure/chair/office/light{ dir = 8 }, /turf/open/floor/iron/kitchen/small, -/area/shuttle/pirate) +/area/shuttle/hunter) "pf" = ( /obj/item/stack/sheet/mineral/plasma/thirty, /obj/effect/mapping_helpers/burnt_floor, /turf/open/floor/plating, -/area/shuttle/pirate) +/area/shuttle/hunter) +"pO" = ( +/turf/open/floor/catwalk_floor, +/area/shuttle/hunter) "qa" = ( /obj/effect/turf_decal/siding/thinplating_new/dark{ dir = 1 }, /obj/structure/flora/bush/flowers_pp/style_random, /turf/open/floor/grass, -/area/shuttle/pirate) -"qq" = ( -/obj/effect/turf_decal/tile/dark_blue/diagonal_centre, -/obj/machinery/light/cold/directional/south, -/obj/item/statuebust, -/turf/open/floor/iron/white/diagonal, -/area/shuttle/pirate) +/area/shuttle/hunter) "qz" = ( /obj/structure/curtain/cloth/fancy/mechanical{ icon_state = "bounty-open"; @@ -319,70 +298,70 @@ id = "fortune_tell" }, /turf/open/floor/glass, -/area/shuttle/pirate) +/area/shuttle/hunter) "rn" = ( /obj/machinery/door/airlock/grunge{ name = "Sanctuary In The Garden Of Mind" }, /obj/effect/mapping_helpers/airlock/cutaiwire, /turf/open/floor/plating, -/area/shuttle/pirate) +/area/shuttle/hunter) "rF" = ( /obj/structure/chair/office/light, /turf/open/floor/iron/kitchen/small, -/area/shuttle/pirate) +/area/shuttle/hunter) "rS" = ( /obj/effect/mapping_helpers/broken_floor, /turf/open/floor/iron, -/area/shuttle/pirate) +/area/shuttle/hunter) "sn" = ( /obj/machinery/door/airlock/grunge{ name = "Fortune Telling" }, /obj/effect/mapping_helpers/airlock/cutaiwire, /turf/open/floor/carpet/black, -/area/shuttle/pirate) +/area/shuttle/hunter) "sB" = ( /obj/machinery/light/small/directional/north, /obj/machinery/atmospherics/components/unary/vent_pump/on{ dir = 4 }, /turf/open/floor/carpet/black, -/area/shuttle/pirate) +/area/shuttle/hunter) "sW" = ( /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden, /turf/open/floor/iron/grimy, -/area/shuttle/pirate) +/area/shuttle/hunter) "td" = ( /obj/effect/decal/cleanable/dirt, /obj/machinery/light/directional/east, /obj/structure/sign/warning/vacuum/external/directional/east, /turf/open/floor/iron/grimy, -/area/shuttle/pirate) +/area/shuttle/hunter) "tH" = ( /obj/effect/mapping_helpers/broken_floor, /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden, /turf/open/floor/plating, -/area/shuttle/pirate) +/area/shuttle/hunter) "tO" = ( /turf/open/floor/glass, -/area/shuttle/pirate) +/area/shuttle/hunter) "tT" = ( -/obj/machinery/computer/camera_advanced/shuttle_docker/syndicate/pirate/psyker{ +/obj/machinery/computer/camera_advanced/shuttle_docker/syndicate/hunter/psyker{ dir = 4 }, /obj/effect/turf_decal/box/white, /turf/open/floor/iron/dark/textured, -/area/shuttle/pirate) +/area/shuttle/hunter) "uy" = ( /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden, /obj/effect/decal/cleanable/dirt, /turf/open/floor/iron/grimy, -/area/shuttle/pirate) +/area/shuttle/hunter) "uH" = ( /obj/machinery/light/cold/directional/east, /turf/open/floor/carpet/black, -/area/shuttle/pirate) +/area/shuttle/hunter) "vu" = ( /obj/effect/mapping_helpers/airlock/cutaiwire, /obj/machinery/door/airlock/grunge{ @@ -390,7 +369,7 @@ }, /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden, /turf/open/floor/iron, -/area/shuttle/pirate) +/area/shuttle/hunter) "vw" = ( /obj/effect/spawner/structure/window/reinforced/plasma, /obj/machinery/door/poddoor/preopen{ @@ -398,17 +377,13 @@ name = "External Blast Door" }, /turf/open/floor/plating, -/area/shuttle/pirate) -"vT" = ( -/obj/effect/turf_decal/tile/dark_blue/diagonal_edge, -/turf/open/floor/iron/white/diagonal, -/area/shuttle/pirate) +/area/shuttle/hunter) "ws" = ( /obj/effect/turf_decal/tile/dark_blue/diagonal_edge, /obj/structure/table/reinforced/plasmarglass, /obj/item/storage/box/lethalshot{ - pixel_y = 4; - pixel_x = -2 + pixel_x = -2; + pixel_y = 4 }, /obj/item/storage/box/lethalshot{ pixel_y = 2 @@ -416,13 +391,11 @@ /obj/item/storage/box/lethalshot{ pixel_x = 2 }, +/obj/item/gun/ballistic/shotgun/lethal{ + pixel_y = 4 + }, /turf/open/floor/iron/white/diagonal, -/area/shuttle/pirate) -"wu" = ( -/obj/machinery/piratepad, -/obj/effect/turf_decal/box/white, -/turf/open/floor/iron/dark/textured, -/area/shuttle/pirate) +/area/shuttle/hunter) "xa" = ( /obj/structure/cable, /obj/machinery/power/terminal{ @@ -432,14 +405,14 @@ anchored = 1 }, /turf/open/floor/plating, -/area/shuttle/pirate) +/area/shuttle/hunter) "xp" = ( /obj/machinery/power/shuttle_engine/heater{ dir = 4 }, /obj/structure/window/reinforced/plasma/spawner/directional/west, /turf/open/floor/plating/airless, -/area/shuttle/pirate) +/area/shuttle/hunter) "xs" = ( /obj/structure/table/wood/fancy/blue, /obj/structure/tank_holder{ @@ -458,7 +431,7 @@ pixel_y = 8 }, /turf/open/floor/glass, -/area/shuttle/pirate) +/area/shuttle/hunter) "xt" = ( /obj/effect/decal/cleanable/dirt, /obj/machinery/door/airlock/maintenance_hatch{ @@ -466,25 +439,29 @@ }, /obj/effect/mapping_helpers/airlock/cutaiwire, /turf/open/floor/plating, -/area/shuttle/pirate) +/area/shuttle/hunter) "yd" = ( /turf/template_noop, /area/template_noop) +"yg" = ( +/obj/effect/turf_decal/tile/dark_blue/diagonal_edge, +/turf/open/floor/iron/white/diagonal, +/area/shuttle/hunter) "yq" = ( /obj/machinery/power/shuttle_engine/propulsion/left{ dir = 4 }, /turf/open/floor/plating/airless, -/area/shuttle/pirate) +/area/shuttle/hunter) "ys" = ( /turf/open/floor/grass, -/area/shuttle/pirate) +/area/shuttle/hunter) "yO" = ( /obj/structure/displaycase/noalert{ start_showpiece_type = /obj/item/food/drug/moon_rock }, /turf/open/floor/iron/kitchen/small, -/area/shuttle/pirate) +/area/shuttle/hunter) "zi" = ( /obj/structure/railing{ dir = 5 @@ -492,46 +469,45 @@ /obj/effect/decal/cleanable/dirt, /obj/item/kirbyplants/fern, /turf/open/floor/plating, -/area/shuttle/pirate) +/area/shuttle/hunter) "zm" = ( /obj/structure/table/wood/fancy/blue, /obj/item/trash/candle{ pixel_y = 7 }, /turf/open/floor/glass, -/area/shuttle/pirate) +/area/shuttle/hunter) "zq" = ( /obj/structure/table/wood/fancy/blue, /obj/item/toy/cards/deck/tarot{ pixel_y = 6 }, /turf/open/floor/glass, -/area/shuttle/pirate) +/area/shuttle/hunter) "zX" = ( /obj/structure/tank_dispenser/oxygen, /obj/machinery/light/small/directional/north, /turf/open/floor/plating, -/area/shuttle/pirate) +/area/shuttle/hunter) "zY" = ( -/obj/machinery/shuttle_scrambler, /obj/effect/turf_decal/box/white, +/obj/machinery/fugitive_capture/psyker, /turf/open/floor/iron/dark/textured, -/area/shuttle/pirate) +/area/shuttle/hunter) "AF" = ( /obj/effect/decal/cleanable/dirt, -/obj/item/stack/spacecash/c1, /turf/open/floor/engine, -/area/shuttle/pirate) +/area/shuttle/hunter) "AH" = ( /obj/structure/rack, /obj/item/storage/toolbox/mechanical, /obj/item/storage/belt/utility, /turf/open/floor/plating, -/area/shuttle/pirate) +/area/shuttle/hunter) "AZ" = ( /obj/machinery/atmospherics/components/unary/vent_pump/on, /turf/open/floor/iron/grimy, -/area/shuttle/pirate) +/area/shuttle/hunter) "BY" = ( /obj/structure/table/wood/fancy/blue, /obj/machinery/button/curtain{ @@ -540,7 +516,7 @@ pixel_y = 3 }, /turf/open/floor/glass, -/area/shuttle/pirate) +/area/shuttle/hunter) "BZ" = ( /obj/structure/rack, /obj/effect/decal/cleanable/dirt, @@ -553,14 +529,22 @@ pixel_y = 2 }, /obj/structure/sign/departments/security/directional/south, +/obj/item/reagent_containers/cup/glass/bottle/vodka/badminka{ + pixel_x = -3; + pixel_y = 6 + }, +/obj/item/reagent_containers/cup/glass/shaker{ + pixel_x = 9; + pixel_y = 1 + }, /turf/open/floor/plating, -/area/shuttle/pirate) +/area/shuttle/hunter) "Ck" = ( /turf/open/floor/carpet/black, -/area/shuttle/pirate) +/area/shuttle/hunter) "CW" = ( /turf/closed/wall/r_wall, -/area/shuttle/pirate) +/area/shuttle/hunter) "De" = ( /obj/structure/curtain/cloth/fancy/mechanical/start_closed{ icon_state = "bounty-closed"; @@ -569,7 +553,7 @@ }, /obj/structure/fans/tiny, /turf/open/floor/carpet/black, -/area/shuttle/pirate) +/area/shuttle/hunter) "Di" = ( /obj/machinery/door/airlock/external/glass/ruin{ id_tag = "psykerexternal" @@ -580,14 +564,14 @@ dir = 4 }, /turf/open/floor/plating, -/area/shuttle/pirate) +/area/shuttle/hunter) "Dw" = ( /obj/effect/turf_decal/tile/dark_blue/diagonal_centre, /obj/machinery/atmospherics/components/unary/vent_pump/on{ dir = 1 }, /turf/open/floor/iron/white/diagonal, -/area/shuttle/pirate) +/area/shuttle/hunter) "Ea" = ( /obj/machinery/door/airlock/grunge{ name = "Gear Storage" @@ -595,26 +579,20 @@ /obj/effect/mapping_helpers/airlock/cutaiwire, /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden, /turf/open/floor/iron/grimy, -/area/shuttle/pirate) +/area/shuttle/hunter) "En" = ( /obj/effect/decal/cleanable/dirt, /obj/item/reagent_containers/syringe/contraband, /obj/machinery/light/broken/directional/east, /turf/open/floor/iron, -/area/shuttle/pirate) +/area/shuttle/hunter) "EM" = ( /obj/machinery/door/airlock/grunge{ name = "Gear Storage" }, /obj/effect/mapping_helpers/airlock/cutaiwire, /turf/open/floor/iron/grimy, -/area/shuttle/pirate) -"Fk" = ( -/obj/machinery/power/shuttle_engine/propulsion{ - dir = 4 - }, -/turf/open/floor/plating/airless, -/area/shuttle/pirate) +/area/shuttle/hunter) "Gv" = ( /obj/machinery/power/apc/auto_name/directional/west, /obj/structure/cable, @@ -623,47 +601,47 @@ /obj/effect/decal/cleanable/cobweb, /obj/effect/mapping_helpers/apc/cut_AI_wire, /turf/open/floor/plating, -/area/shuttle/pirate) +/area/shuttle/hunter) "GS" = ( -/obj/machinery/computer/shuttle/pirate{ +/obj/effect/turf_decal/box/white, +/obj/machinery/computer/shuttle/hunter{ dir = 4 }, -/obj/effect/turf_decal/box/white, /turf/open/floor/iron/dark/textured, -/area/shuttle/pirate) +/area/shuttle/hunter) "GT" = ( /obj/effect/turf_decal/tile/dark_blue/diagonal_edge, /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden, /turf/open/floor/iron/white/diagonal, -/area/shuttle/pirate) +/area/shuttle/hunter) "Hd" = ( /obj/effect/decal/cleanable/dirt, /obj/machinery/light/small/directional/north, /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden, /turf/open/floor/plating, -/area/shuttle/pirate) +/area/shuttle/hunter) "Hp" = ( /obj/structure/rack, /obj/item/paper/crumpled/fluff/fortune_teller, /turf/open/floor/carpet/black, -/area/shuttle/pirate) +/area/shuttle/hunter) "Hq" = ( /obj/structure/chair/comfy/carp, /turf/open/floor/glass, -/area/shuttle/pirate) +/area/shuttle/hunter) "HI" = ( /obj/effect/decal/cleanable/dirt, /turf/open/floor/plating, -/area/shuttle/pirate) +/area/shuttle/hunter) "HO" = ( /obj/effect/mapping_helpers/broken_floor, /obj/structure/bed/maint, /turf/open/floor/iron, -/area/shuttle/pirate) +/area/shuttle/hunter) "Id" = ( /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden, /turf/open/floor/iron/stairs/left, -/area/shuttle/pirate) +/area/shuttle/hunter) "Ih" = ( /obj/structure/rack, /obj/item/stack/spacecash/c10, @@ -675,27 +653,27 @@ /obj/item/stack/spacecash/c20, /obj/effect/decal/cleanable/dirt, /turf/open/floor/carpet/black, -/area/shuttle/pirate) +/area/shuttle/hunter) "Ik" = ( /obj/effect/decal/cleanable/dirt, /turf/open/floor/iron/grimy, -/area/shuttle/pirate) +/area/shuttle/hunter) "IE" = ( /obj/effect/decal/cleanable/blood/old, /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden, /turf/open/floor/engine, -/area/shuttle/pirate) +/area/shuttle/hunter) "Ja" = ( /obj/effect/decal/cleanable/dirt, /obj/item/reagent_containers/syringe/contraband, /turf/open/floor/iron, -/area/shuttle/pirate) +/area/shuttle/hunter) "Jh" = ( /obj/effect/decal/cleanable/dirt, /obj/effect/decal/cleanable/blood/old, /obj/machinery/iv_drip, /turf/open/floor/iron, -/area/shuttle/pirate) +/area/shuttle/hunter) "Jz" = ( /obj/machinery/door/airlock/grunge{ name = "Freezer" @@ -703,13 +681,19 @@ /obj/effect/mapping_helpers/airlock/cutaiwire, /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden, /turf/open/floor/iron/freezer, -/area/shuttle/pirate) +/area/shuttle/hunter) "Kp" = ( /obj/structure/billboard/fortune_telling{ pixel_y = 16 }, /turf/open/floor/catwalk_floor, -/area/shuttle/pirate) +/area/shuttle/hunter) +"Lc" = ( +/obj/machinery/power/shuttle_engine/propulsion{ + dir = 4 + }, +/turf/open/floor/plating/airless, +/area/shuttle/hunter) "LI" = ( /obj/structure/rack, /obj/item/megaphone, @@ -718,63 +702,66 @@ /obj/effect/turf_decal/box/white, /obj/machinery/light/directional/east, /turf/open/floor/iron/dark/textured, -/area/shuttle/pirate) -"LV" = ( -/turf/closed/wall/space, -/area/shuttle/pirate) +/area/shuttle/hunter) "Mc" = ( /obj/item/storage/pill_bottle, /obj/structure/closet/crate/bin, /obj/effect/decal/cleanable/plastic, /turf/open/floor/iron/grimy, -/area/shuttle/pirate) +/area/shuttle/hunter) "Me" = ( /obj/structure/flora/bush/flowers_br/style_random, /turf/open/floor/grass, -/area/shuttle/pirate) +/area/shuttle/hunter) "Mk" = ( /obj/effect/mapping_helpers/broken_floor, /turf/open/floor/iron/freezer, -/area/shuttle/pirate) +/area/shuttle/hunter) "Nb" = ( -/obj/machinery/computer/piratepad_control{ - dir = 1 - }, -/obj/effect/turf_decal/box/white, /obj/machinery/light/directional/south, /turf/open/floor/iron/dark/textured, -/area/shuttle/pirate) +/area/shuttle/hunter) "Ne" = ( /obj/machinery/atmospherics/components/unary/vent_pump/on{ dir = 4 }, /turf/open/floor/iron/freezer, -/area/shuttle/pirate) +/area/shuttle/hunter) +"Nn" = ( +/turf/closed/wall/space, +/area/shuttle/hunter) +"Nw" = ( +/obj/structure/lattice, +/obj/effect/forcefield/psychic{ + initial_duration = 0 + }, +/turf/template_noop, +/area/shuttle/hunter) "NL" = ( /obj/machinery/suit_storage_unit/pirate, /obj/effect/turf_decal/box/white, /obj/effect/decal/cleanable/dirt, /obj/structure/sign/departments/engineering/directional/south, /turf/open/floor/iron/dark/textured, -/area/shuttle/pirate) +/area/shuttle/hunter) "NO" = ( -/obj/effect/mob_spawn/ghost_role/human/pirate/psykers, +/obj/effect/mob_spawn/ghost_role/human/fugitive/psykers, /obj/machinery/light/floor, /obj/structure/curtain/bounty, /turf/open/floor/engine, -/area/shuttle/pirate) +/area/shuttle/hunter) "Oc" = ( /obj/effect/decal/cleanable/dirt, /obj/machinery/light/small/directional/north, /obj/item/reagent_containers/syringe/contraband, /turf/open/floor/plating, -/area/shuttle/pirate) +/area/shuttle/hunter) "ON" = ( /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden, /turf/open/floor/iron/stairs{ dir = 4 }, -/area/shuttle/pirate) +/area/shuttle/hunter) "OS" = ( /obj/machinery/door/airlock/grunge{ name = "Fortune Telling" @@ -786,7 +773,7 @@ pixel_x = -24 }, /turf/open/floor/carpet/black, -/area/shuttle/pirate) +/area/shuttle/hunter) "Ph" = ( /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden, /obj/machinery/door/airlock/maintenance_hatch{ @@ -794,20 +781,26 @@ }, /obj/effect/mapping_helpers/airlock/cutaiwire, /turf/open/floor/plating, -/area/shuttle/pirate) +/area/shuttle/hunter) "Pv" = ( /obj/machinery/suit_storage_unit/pirate, /obj/effect/turf_decal/box/white, /obj/structure/sign/warning/vacuum/external/directional/east, /turf/open/floor/iron/dark/textured, -/area/shuttle/pirate) +/area/shuttle/hunter) "Pz" = ( /obj/effect/forcefield/psychic{ initial_duration = 0 }, /obj/structure/lattice, /turf/template_noop, -/area/shuttle/pirate) +/area/shuttle/hunter) +"PA" = ( +/obj/machinery/power/shuttle_engine/propulsion/right{ + dir = 4 + }, +/turf/open/floor/plating/airless, +/area/shuttle/hunter) "PD" = ( /obj/structure/rack, /obj/item/clothing/shoes/laceup{ @@ -822,23 +815,23 @@ }, /obj/item/cane, /turf/open/floor/carpet/black, -/area/shuttle/pirate) +/area/shuttle/hunter) "PS" = ( /obj/effect/decal/cleanable/dirt, /obj/effect/decal/cleanable/blood/old, /turf/open/floor/plating, -/area/shuttle/pirate) +/area/shuttle/hunter) "PT" = ( /obj/effect/decal/cleanable/dirt, /obj/effect/decal/cleanable/vomit/old, /obj/structure/sign/departments/restroom/directional/west, /turf/open/floor/plating, -/area/shuttle/pirate) +/area/shuttle/hunter) "QI" = ( /obj/effect/decal/cleanable/dirt, /obj/machinery/light/small/directional/south, /turf/open/floor/iron/freezer, -/area/shuttle/pirate) +/area/shuttle/hunter) "Rs" = ( /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden, /obj/machinery/airalarm/directional/west, @@ -846,47 +839,63 @@ /obj/effect/decal/cleanable/dirt, /obj/effect/decal/cleanable/robot_debris/up, /turf/open/floor/plating, -/area/shuttle/pirate) +/area/shuttle/hunter) +"RA" = ( +/obj/effect/turf_decal/tile/dark_blue/diagonal_centre, +/obj/machinery/light/cold/directional/south, +/obj/item/statuebust, +/turf/open/floor/iron/white/diagonal, +/area/shuttle/hunter) "RZ" = ( /obj/effect/decal/cleanable/dirt, /turf/open/floor/carpet/black, -/area/shuttle/pirate) +/area/shuttle/hunter) "Ss" = ( /obj/effect/decal/cleanable/glass, /turf/open/floor/engine, -/area/shuttle/pirate) +/area/shuttle/hunter) "SG" = ( /obj/effect/decal/cleanable/vomit/old, +/obj/item/stack/spacecash/c1{ + pixel_x = 5; + pixel_y = -4 + }, /turf/open/floor/plating, -/area/shuttle/pirate) +/area/shuttle/hunter) "SI" = ( /obj/structure/rack, /obj/item/storage/toolbox/electrical, /obj/item/multitool, /turf/open/floor/plating, -/area/shuttle/pirate) +/area/shuttle/hunter) "Te" = ( /obj/machinery/suit_storage_unit/pirate, /obj/effect/turf_decal/box/white, /obj/effect/decal/cleanable/dirt, /turf/open/floor/iron/dark/textured, -/area/shuttle/pirate) +/area/shuttle/hunter) "Tj" = ( /obj/effect/decal/cleanable/vomit/old, /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden, /turf/open/floor/iron/grimy, -/area/shuttle/pirate) +/area/shuttle/hunter) "Tl" = ( /obj/effect/decal/cleanable/dirt, /obj/effect/decal/cleanable/cobweb, /obj/effect/decal/cleanable/garbage, /turf/open/floor/plating, -/area/shuttle/pirate) +/area/shuttle/hunter) "Tw" = ( -/obj/machinery/loot_locator, -/obj/effect/turf_decal/box/white, +/obj/effect/turf_decal/arrows{ + dir = 4; + pixel_y = -4 + }, +/obj/effect/turf_decal/arrows{ + dir = 4; + pixel_y = 4 + }, /turf/open/floor/iron/dark/textured, -/area/shuttle/pirate) +/area/shuttle/hunter) "TL" = ( /obj/machinery/button/door/directional/east{ id = "psykerexternal"; @@ -896,7 +905,7 @@ }, /obj/effect/decal/cleanable/generic, /turf/open/floor/iron/grimy, -/area/shuttle/pirate) +/area/shuttle/hunter) "Ui" = ( /obj/effect/turf_decal/tile/dark_blue/diagonal_edge, /obj/structure/table/reinforced/plasmarglass, @@ -905,17 +914,17 @@ }, /obj/item/gun/ballistic/revolver/c38, /turf/open/floor/iron/white/diagonal, -/area/shuttle/pirate) +/area/shuttle/hunter) "Vi" = ( /obj/effect/decal/cleanable/food/egg_smudge, /turf/open/floor/plating, -/area/shuttle/pirate) +/area/shuttle/hunter) "Vw" = ( /obj/effect/decal/cleanable/dirt, /obj/effect/decal/cleanable/generic, /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden, /turf/open/floor/iron, -/area/shuttle/pirate) +/area/shuttle/hunter) "VF" = ( /obj/structure/fans/tiny, /obj/structure/curtain/cloth/fancy/mechanical/start_closed{ @@ -924,24 +933,24 @@ id = "fortune_tell" }, /turf/open/floor/carpet/black, -/area/shuttle/pirate) +/area/shuttle/hunter) "Ww" = ( /obj/machinery/light/floor, /turf/open/floor/catwalk_floor, -/area/shuttle/pirate) +/area/shuttle/hunter) "Wy" = ( -/obj/effect/mob_spawn/ghost_role/human/pirate/psykers/captain, +/obj/effect/mob_spawn/ghost_role/human/fugitive/psykers/captain, /obj/machinery/light/floor, /obj/structure/curtain/bounty, /turf/open/floor/engine, -/area/shuttle/pirate) +/area/shuttle/hunter) "WL" = ( /obj/machinery/atmospherics/components/tank/air{ dir = 1 }, /obj/effect/decal/cleanable/dirt, /turf/open/floor/plating, -/area/shuttle/pirate) +/area/shuttle/hunter) "WU" = ( /obj/effect/decal/cleanable/dirt, /obj/item/reagent_containers/syringe/contraband, @@ -949,24 +958,18 @@ dir = 4 }, /turf/open/floor/iron, -/area/shuttle/pirate) +/area/shuttle/hunter) "Xa" = ( /obj/machinery/button/door/directional/west{ id = "psyker_bridge"; name = "Blast Door Control" }, /turf/open/floor/iron/kitchen/small, -/area/shuttle/pirate) -"Xc" = ( -/obj/machinery/atmospherics/components/unary/vent_pump/on{ - dir = 1 - }, -/turf/open/floor/iron/kitchen/small, -/area/shuttle/pirate) +/area/shuttle/hunter) "Xk" = ( /obj/structure/closet/crate/cardboard, /turf/open/floor/iron/kitchen/small, -/area/shuttle/pirate) +/area/shuttle/hunter) "Xp" = ( /obj/structure/bouncy_castle{ name = "Mark" @@ -974,16 +977,16 @@ /obj/effect/gibspawner/human, /obj/effect/decal/cleanable/dirt, /turf/open/floor/iron/freezer, -/area/shuttle/pirate) +/area/shuttle/hunter) "XX" = ( /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden, /turf/open/floor/iron/kitchen/small, -/area/shuttle/pirate) +/area/shuttle/hunter) "Yq" = ( /obj/effect/decal/cleanable/dirt, /obj/effect/decal/cleanable/glass, /turf/open/floor/plating, -/area/shuttle/pirate) +/area/shuttle/hunter) "Ys" = ( /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden, /obj/effect/decal/cleanable/dirt, @@ -991,7 +994,7 @@ name = "Office" }, /turf/open/floor/iron/grimy, -/area/shuttle/pirate) +/area/shuttle/hunter) "Zb" = ( /obj/machinery/door/airlock/external/glass/ruin{ id_tag = "psykerexternal" @@ -1002,20 +1005,27 @@ dir = 8 }, /turf/open/floor/plating, -/area/shuttle/pirate) +/area/shuttle/hunter) "ZC" = ( /obj/effect/turf_decal/tile/dark_blue/diagonal_centre, /obj/item/statuebust, /turf/open/floor/iron/white/diagonal, -/area/shuttle/pirate) +/area/shuttle/hunter) "ZW" = ( /obj/effect/turf_decal/tile/dark_blue/diagonal_edge, /obj/structure/table/reinforced/plasmarglass, -/obj/item/gun/ballistic/shotgun/lethal{ - pixel_y = 4 +/obj/item/binoculars{ + pixel_x = -1 + }, +/obj/item/knife/hunting{ + pixel_y = 3 + }, +/obj/item/megaphone, +/obj/item/clothing/glasses/thermal/monocle{ + pixel_y = 2 }, /turf/open/floor/iron/white/diagonal, -/area/shuttle/pirate) +/area/shuttle/hunter) (1,1,1) = {" yd @@ -1023,14 +1033,14 @@ yd yd yd yd -ca -ca -ca -ca -ca -ca -ca -ca +Nw +Nw +Nw +Nw +Nw +Nw +Nw +Nw yd yd yd @@ -1050,14 +1060,14 @@ yd yd yd yd -ca +Nw CW vw vw vw vw CW -ca +Nw yd yd yd @@ -1073,18 +1083,18 @@ yd "} (3,1,1) = {" yd -ca -ca -ca -ca -ca +Nw +Nw +Nw +Nw +Nw CW GS tT Xk yO CW -ca +Nw yd yd yd @@ -1100,7 +1110,7 @@ yd "} (4,1,1) = {" yd -ca +Nw yd CW vw @@ -1111,14 +1121,14 @@ lu rF Nb CW -ca -ca -ca -ca -ca -ca -ca -ca +Nw +Nw +Nw +Nw +Nw +Nw +Nw +Nw yd yd yd @@ -1127,16 +1137,16 @@ yd "} (5,1,1) = {" yd -ca +Nw yd CW Tw lu Xa -lu +bK XX -Xc -wu +rF +bV CW yd oL @@ -1145,7 +1155,7 @@ yd oL yd yd -ca +Nw yd yd yd @@ -1154,12 +1164,12 @@ yd "} (6,1,1) = {" yd -ca +Nw oL CW zY -rF -me +lu +lu LI XX CW @@ -1172,7 +1182,7 @@ CW CW CW yd -ca +Nw yd yd yd @@ -1181,7 +1191,7 @@ yd "} (7,1,1) = {" yd -ca +Nw yd CW CW @@ -1208,7 +1218,7 @@ yd "} (8,1,1) = {" yd -ca +Nw yd CW Tl @@ -1216,14 +1226,14 @@ AF kN mP Vw -bK +na Ne Mk QI CW -bV -vT -qq +lI +yg +RA CW yd Pz @@ -1235,7 +1245,7 @@ yd "} (9,1,1) = {" yd -ca +Nw oL CW bX @@ -1243,9 +1253,9 @@ rS SG WU ke -bK +na Jz -bK +na CW CW GT @@ -1262,7 +1272,7 @@ yd "} (10,1,1) = {" yd -ca +Nw yd CW Jh @@ -1276,8 +1286,8 @@ bx Ea Id hE -vT -qq +yg +RA CW oL Pz @@ -1288,8 +1298,8 @@ yd yd "} (11,1,1) = {" -ca -ca +Nw +Nw yd CW HO @@ -1302,8 +1312,8 @@ Ja Ss EM mR -vT -bV +yg +lI gE CW yd @@ -1315,16 +1325,16 @@ yd yd "} (12,1,1) = {" -ca +Nw CW CW CW -bK -bK -bK -bK +na +na +na +na nB -bK +na dq BZ CW @@ -1342,70 +1352,70 @@ yd yd "} (13,1,1) = {" -ca +Nw CW -LV -LV -LV -LV -LV -bK +Nn +Nn +Nn +Nn +Nn +na ON -bK -bK -bK -bK -LV -LV -LV -LV -LV +na +na +na +na +Nn +Nn +Nn +Nn +Nn CW CW CW CW -ca -ca +Nw +Nw oL "} (14,1,1) = {" -ca +Nw CW -LV +Nn NO qa nq -LV -bK +Nn +na ON -bK +na Ih Hp -bK -LV +na +Nn BY gj tO -LV -bK +Nn +na Ck eO VF -oq -oq -oq +pO +pO +pO "} (15,1,1) = {" -ca +Nw CW -LV +Nn Wy ht Me -LV -bK +Nn +na Hd -bK +na sB RZ OS @@ -1418,113 +1428,113 @@ sn Ck Ck De -oq -oq +pO +pO gW "} (16,1,1) = {" -ca +Nw CW -LV +Nn NO no ys -LV -bK +Nn +na jB -bK +na jl PD -bK -LV +na +Nn zm zq tO -LV -bK +Nn +na Ck uH De -oq -oq -oq +pO +pO +pO "} (17,1,1) = {" -ca +Nw CW -LV -LV -LV +Nn +Nn +Nn gY -LV -bK +Nn +na jB -bK +na Ys -bK -bK -LV -LV -LV -LV -LV +na +na +Nn +Nn +Nn +Nn +Nn CW CW CW CW -ca -ca +Nw +Nw oL "} (18,1,1) = {" -ca +Nw CW CW CW CW rn -bK -bK +na +na cM gl sW eq -bK -bK -bK -bK -bK -bK +na +na +na +na +na +na CW yd -ca -ca -ca +Nw +Nw +Nw yd yd "} (19,1,1) = {" -ca -ca -ca +Nw +Nw +Nw yd CW do zi -bK +na Tj cM uy Ik Te NL -bK +na Gv Rs WL CW Kp -ca +Nw yd yd yd @@ -1533,7 +1543,7 @@ yd (20,1,1) = {" yd yd -ca +Nw yd CW Oc @@ -1551,7 +1561,7 @@ nc gA CW Ww -ca +Nw yd yd yd @@ -1560,25 +1570,25 @@ yd (21,1,1) = {" yd yd -ca +Nw oL CW AH SI -bK +na Mc td Ik TL Ik Pv -bK +na zX pf xa CW -oq -ca +pO +Nw yd yd yd @@ -1587,7 +1597,7 @@ yd (22,1,1) = {" yd yd -ca +Nw yd CW xp @@ -1605,7 +1615,7 @@ xp xp CW yd -ca +Nw yd yd yd @@ -1614,25 +1624,25 @@ yd (23,1,1) = {" yd yd -ca -ca -ca -ld -Fk -ca -ca +Nw +Nw +Nw +PA +Lc +Nw +Nw CW HI CW HI CW -ca -ld -Fk +Nw +PA +Lc yq -ca -ca -ca +Nw +Nw +Nw yd yd yd @@ -1647,13 +1657,13 @@ yd yd yd yd -ca +Nw CW Zb CW Zb CW -ca +Nw yd yd yd @@ -1674,13 +1684,13 @@ yd yd yd yd -ca -ca -oq -oq -oq -ca -ca +Nw +Nw +pO +pO +pO +Nw +Nw yd yd yd diff --git a/code/__DEFINES/antagonists.dm b/code/__DEFINES/antagonists.dm index 3f73cc328ed..4e3fe1927bc 100644 --- a/code/__DEFINES/antagonists.dm +++ b/code/__DEFINES/antagonists.dm @@ -325,3 +325,8 @@ GLOBAL_LIST_INIT(human_invader_antagonists, list( #define ANTAG_GROUP_SYNDICATE "Syndicate" #define ANTAG_GROUP_WIZARDS "Wizard Federation" #define ANTAG_GROUP_XENOS "Xenomorph Infestation" + +#define HUNTER_PACK_COPS "cop_hunters" +#define HUNTER_PACK_RUSSIAN "russian_hunters" +#define HUNTER_PACK_BOUNTY "bounty_hunters" +#define HUNTER_PACK_PSYKER "psyker_hunters" diff --git a/code/datums/id_trim/ruins.dm b/code/datums/id_trim/ruins.dm index 3103ea8317e..fec53a2a0c7 100644 --- a/code/datums/id_trim/ruins.dm +++ b/code/datums/id_trim/ruins.dm @@ -122,12 +122,6 @@ /datum/id_trim/pirate/captain/silverscale assignment = "Silver Scale VIP" -/datum/id_trim/pirate/psykers - assignment = "Psyker-gang Member" - -/datum/id_trim/pirate/captain/psykers - assignment = "Psyker-gang Leader" - //Trims for Dangerous Research, used in ``dangerous_research.dm`` /datum/id_trim/away/dangerous_research assignment = "Researcher" diff --git a/code/datums/shuttles.dm b/code/datums/shuttles.dm index 3a940656a07..20e848510ae 100644 --- a/code/datums/shuttles.dm +++ b/code/datums/shuttles.dm @@ -785,10 +785,6 @@ suffix = "dutchman" name = "pirate ship (Flying Dutchman)" -/datum/map_template/shuttle/pirate/psykers - suffix = "psyker" - name = "pirate ship (Psyker-gang)" - /datum/map_template/shuttle/hunter/space_cop suffix = "space_cop" name = "Police Spacevan" @@ -801,6 +797,10 @@ suffix = "bounty" name = "Bounty Hunter Ship" +/datum/map_template/shuttle/hunter/psyker + suffix = "psyker" + name = "Psyker Fortune-Telling Ship" + /datum/map_template/shuttle/starfury port_id = "starfury" who_can_purchase = null diff --git a/code/modules/antagonists/fugitive/fugitive_outfits.dm b/code/modules/antagonists/fugitive/fugitive_outfits.dm index 364b0755c2f..10c2cc4579a 100644 --- a/code/modules/antagonists/fugitive/fugitive_outfits.dm +++ b/code/modules/antagonists/fugitive/fugitive_outfits.dm @@ -69,186 +69,6 @@ var/obj/item/organ/internal/eyes/robotic/glow/eyes = new() eyes.Insert(H, drop_if_replaced = FALSE) -/datum/outfit/spacepol - name = "Spacepol Officer" - uniform = /obj/item/clothing/under/rank/security/officer/spacepol - suit = /obj/item/clothing/suit/armor/vest/blueshirt - belt = /obj/item/gun/ballistic/automatic/pistol/m1911 - head = /obj/item/clothing/head/hats/warden/police - gloves = /obj/item/clothing/gloves/tackler/combat - shoes = /obj/item/clothing/shoes/jackboots - mask = /obj/item/clothing/mask/gas/sechailer/swat/spacepol - glasses = /obj/item/clothing/glasses/sunglasses - ears = /obj/item/radio/headset - l_pocket = /obj/item/ammo_box/magazine/m45 - r_pocket = /obj/item/restraints/handcuffs - id = /obj/item/card/id/advanced - -/datum/outfit/spacepol/post_equip(mob/living/carbon/human/H, visualsOnly = FALSE) - if(visualsOnly) - return - var/obj/item/card/id/W = H.wear_id - W.assignment = "Police Officer" - W.registered_name = H.real_name - W.update_label() - W.update_icon() - -/datum/outfit/russian_hunter - name = "Russian Hunter" - id = /obj/item/card/id/advanced - uniform = /obj/item/clothing/under/costume/soviet - suit = /obj/item/clothing/suit/armor/bulletproof - suit_store = /obj/item/gun/ballistic/rifle/boltaction - back = /obj/item/storage/backpack - ears = /obj/item/radio/headset - glasses = /obj/item/clothing/glasses/sunglasses - gloves = /obj/item/clothing/gloves/tackler/combat - head = /obj/item/clothing/head/helmet/alt - shoes = /obj/item/clothing/shoes/russian - l_pocket = /obj/item/ammo_box/a762 - r_pocket = /obj/item/restraints/handcuffs/cable/zipties - -/datum/outfit/russian_hunter/pre_equip(mob/living/carbon/human/equip_to) - - // Let's give the Russians a bit of randomization for style. - var/static/list/alt_uniforms = list( - /obj/item/clothing/under/syndicate/soviet, - /obj/item/clothing/under/syndicate/combat, - /obj/item/clothing/under/syndicate/rus_army, - /obj/item/clothing/under/syndicate/camo, - ) - var/static/list/alt_suits = list( - /obj/item/clothing/suit/armor/vest/russian, - /obj/item/clothing/suit/armor/vest/russian_coat, - ) - var/static/list/alt_helmets = list( - /obj/item/clothing/head/costume/bearpelt, - /obj/item/clothing/head/costume/ushanka, - /obj/item/clothing/head/helmet/rus_helmet, - ) - - if(prob(80)) - uniform = pick(alt_uniforms) - if(prob(50)) - suit = pick(alt_suits) - if(prob(50)) - head = pick(alt_helmets) - -/datum/outfit/russian_hunter/post_equip(mob/living/carbon/human/equip_to, visualsOnly = FALSE) - if(visualsOnly) - return - - if(istype(equip_to.wear_id, /obj/item/card/id)) - var/obj/item/card/id/equipped_card = equip_to.wear_id - equipped_card.assignment = "Russian Bounty Hunter" - equipped_card.registered_name = equip_to.real_name - equipped_card.update_label() - equipped_card.update_icon() - - if(istype(equip_to.w_uniform, /obj/item/clothing/under)) - var/obj/item/clothing/under/uniform = equip_to.w_uniform - uniform.sensor_mode = NO_SENSORS - uniform.has_sensor = NO_SENSORS - -/datum/outfit/russian_hunter/leader - name = "Russian Hunter Leader" - head = /obj/item/clothing/head/costume/ushanka - shoes = /obj/item/clothing/shoes/combat - -/datum/outfit/russian_hunter/leader/pre_equip(mob/living/carbon/human/equip_to) - return // None of the RNG russian equipment stuff. - -/datum/outfit/bountyarmor - name = "Bounty Hunter - Armored" - uniform = /obj/item/clothing/under/rank/prisoner - back = /obj/item/storage/backpack - head = /obj/item/clothing/head/cowboy - suit = /obj/item/clothing/suit/space/hunter - belt = /obj/item/gun/ballistic/automatic/pistol/fire_mag - gloves = /obj/item/clothing/gloves/tackler/combat - shoes = /obj/item/clothing/shoes/jackboots - mask = /obj/item/clothing/mask/gas/hunter - glasses = /obj/item/clothing/glasses/sunglasses/gar - ears = /obj/item/radio/headset - r_pocket = /obj/item/restraints/handcuffs/cable - l_pocket = /obj/item/ammo_box/magazine/m9mm/fire - id = /obj/item/card/id/advanced/bountyhunter - l_hand = /obj/item/gun/ballistic/shotgun/automatic/dual_tube/bounty - - backpack_contents = list( - /obj/item/ammo_casing/shotgun/rubbershot = 4, - /obj/item/ammo_casing/shotgun/incendiary/no_trail = 4, - ) - -/datum/outfit/bountyarmor/post_equip(mob/living/carbon/human/H, visualsOnly = FALSE) - if(visualsOnly) - return - var/obj/item/card/id/W = H.wear_id - W.registered_name = H.real_name - W.update_label() - W.update_icon() - -/datum/outfit/bountyhook - name = "Bounty Hunter - Hook" - uniform = /obj/item/clothing/under/rank/prisoner - back = /obj/item/storage/backpack - head = /obj/item/clothing/head/costume/scarecrow_hat - gloves = /obj/item/clothing/gloves/botanic_leather - ears = /obj/item/radio/headset - shoes = /obj/item/clothing/shoes/jackboots - mask = /obj/item/clothing/mask/scarecrow - r_pocket = /obj/item/restraints/handcuffs/cable - id = /obj/item/card/id/advanced/bountyhunter - r_hand = /obj/item/gun/ballistic/shotgun/hook - - backpack_contents = list( - /obj/item/ammo_casing/shotgun/incapacitate = 6 - ) - -/datum/outfit/bountyhook/post_equip(mob/living/carbon/human/H, visualsOnly = FALSE) - if(visualsOnly) - return - var/obj/item/card/id/W = H.wear_id - W.registered_name = H.real_name - W.update_label() - W.update_icon() - -/datum/outfit/bountysynth - name = "Bounty Hunter - Synth" - uniform = /obj/item/clothing/under/rank/prisoner - back = /obj/item/storage/backpack - suit = /obj/item/clothing/suit/armor/riot - shoes = /obj/item/clothing/shoes/jackboots - glasses = /obj/item/clothing/glasses/eyepatch - r_pocket = /obj/item/restraints/handcuffs/cable - ears = /obj/item/radio/headset - id = /obj/item/card/id/advanced/bountyhunter - r_hand = /obj/item/storage/medkit/regular - l_hand = /obj/item/pinpointer/shuttle - - backpack_contents = list( - /obj/item/bountytrap = 4 - ) - -//ids and ert code - -/obj/item/card/id/advanced/bountyhunter - assignment = "Bounty Hunter" - icon_state = "card_flame" //oh SHIT - trim = /datum/id_trim/bounty_hunter - -/datum/outfit/bountyarmor/ert - id = /obj/item/card/id/advanced/bountyhunter/ert - -/datum/outfit/bountyhook/ert - id = /obj/item/card/id/advanced/bountyhunter/ert - -/datum/outfit/bountysynth/ert - id = /obj/item/card/id/advanced/bountyhunter/ert - -/obj/item/card/id/advanced/bountyhunter/ert - trim = /datum/id_trim/centcom/bounty_hunter - /datum/outfit/invisible_man name = "Invisible Man" uniform = /obj/item/clothing/under/suit/black_really diff --git a/code/modules/antagonists/fugitive/fugitive_ship.dm b/code/modules/antagonists/fugitive/fugitive_ship.dm deleted file mode 100644 index 0f5d0de7370..00000000000 --- a/code/modules/antagonists/fugitive/fugitive_ship.dm +++ /dev/null @@ -1,63 +0,0 @@ -//works similar to the experiment machine (experiment.dm) except it just holds more and more prisoners - -/obj/machinery/fugitive_capture - name = "bluespace capture machine" - desc = "Much, MUCH bigger on the inside to transport prisoners safely." - icon = 'icons/obj/machines/research.dmi' - icon_state = "bluespace-prison" - density = TRUE - resistance_flags = INDESTRUCTIBLE | LAVA_PROOF | FIRE_PROOF | ACID_PROOF //ha ha no getting out!! - -/obj/machinery/fugitive_capture/examine(mob/user) - . = ..() - . += span_notice("Add a prisoner by dragging them into the machine.") - -/obj/machinery/fugitive_capture/MouseDrop_T(mob/target, mob/user) - var/mob/living/fugitive_hunter = user - if(!isliving(fugitive_hunter)) - return - if(HAS_TRAIT(fugitive_hunter, TRAIT_UI_BLOCKED) || !Adjacent(fugitive_hunter) || !target.Adjacent(fugitive_hunter) || !ishuman(target)) - return - var/mob/living/carbon/human/fugitive = target - var/datum/antagonist/fugitive/fug_antag = fugitive.mind.has_antag_datum(/datum/antagonist/fugitive) - if(!fug_antag) - to_chat(fugitive_hunter, span_warning("This is not a wanted fugitive!")) - return - if(do_after(fugitive_hunter, 50, target = fugitive)) - add_prisoner(fugitive, fug_antag) - -/obj/machinery/fugitive_capture/proc/add_prisoner(mob/living/carbon/human/fugitive, datum/antagonist/fugitive/antag) - fugitive.forceMove(src) - antag.is_captured = TRUE - to_chat(fugitive, span_userdanger("You are thrown into a vast void of bluespace, and as you fall further into oblivion the comparatively small entrance to reality gets smaller and smaller until you cannot see it anymore. You have failed to avoid capture.")) - fugitive.ghostize(TRUE) //so they cannot suicide, round end stuff. - use_power(active_power_usage) - -/obj/machinery/computer/shuttle/hunter - name = "shuttle console" - shuttleId = "huntership" - possible_destinations = "huntership_home;huntership_custom;whiteship_home;syndicate_nw" - -/obj/machinery/computer/camera_advanced/shuttle_docker/syndicate/hunter - name = "shuttle navigation computer" - desc = "Used to designate a precise transit location to travel to." - shuttleId = "huntership" - lock_override = CAMERA_LOCK_STATION - shuttlePortId = "huntership_custom" - see_hidden = FALSE - jump_to_ports = list("huntership_home" = 1, "whiteship_home" = 1, "syndicate_nw" = 1) - view_range = 4.5 - -/obj/structure/closet/crate/eva - name = "EVA crate" - -/obj/structure/closet/crate/eva/PopulateContents() - ..() - for(var/i in 1 to 3) - new /obj/item/clothing/suit/space/eva(src) - for(var/i in 1 to 3) - new /obj/item/clothing/head/helmet/space/eva(src) - for(var/i in 1 to 3) - new /obj/item/clothing/mask/breath(src) - for(var/i in 1 to 3) - new /obj/item/tank/internals/oxygen(src) diff --git a/code/modules/antagonists/fugitive/hunter.dm b/code/modules/antagonists/fugitive/hunters/hunter.dm similarity index 94% rename from code/modules/antagonists/fugitive/hunter.dm rename to code/modules/antagonists/fugitive/hunters/hunter.dm index 343b6ca63e3..8184bc79ad9 100644 --- a/code/modules/antagonists/fugitive/hunter.dm +++ b/code/modules/antagonists/fugitive/hunters/hunter.dm @@ -23,19 +23,23 @@ /datum/antagonist/fugitive_hunter/greet() switch(backstory) - if("space cop") + if(HUNTER_PACK_COPS) to_chat(owner, span_boldannounce("Justice has arrived. I am a member of the Spacepol!")) to_chat(owner, "The criminals should be on the station, we have special huds implanted to recognize them.") to_chat(owner, "As we have lost pretty much all power over these damned lawless megacorporations, it's a mystery if their security will cooperate with us.") - if("russian") + if(HUNTER_PACK_RUSSIAN) to_chat(owner, span_danger("Ay blyat. I am a space-russian smuggler! We were mid-flight when our cargo was beamed off our ship!")) to_chat(owner, span_danger("We were hailed by a man in a green uniform, promising the safe return of our goods in exchange for a favor:")) to_chat(owner, span_danger("There is a local station housing fugitives that the man is after, he wants them returned; dead or alive.")) to_chat(owner, span_danger("We will not be able to make ends meet without our cargo, so we must do as he says and capture them.")) - if("bounty hunters") + if(HUNTER_PACK_BOUNTY) to_chat(owner, span_danger("Time to clock in. I am a bounty hunter! We should be arriving at our mark's hideout shortly.")) to_chat(owner, span_danger("The briefing mentioned our destination was a research station. An unusual place for a target to try and lay low.")) to_chat(owner, span_danger("Our client promised us big bucks, and we intend to make good on our delivery. Let's hope this is an easy paycheck...")) + if(HUNTER_PACK_PSYKER) + to_chat(owner, span_danger("GOOD EVENING, WE ARE PSYKER HUNTE- NO, PSYKER SHIKARIS!")) + to_chat(owner, span_danger("A brainling hit us up on the holopad with an offer we could NOT pass up. We kidnap some fools for them, and in exchange we get a LIFETIME SUPPLY OF GORE.")) + to_chat(owner, span_danger("Our gore supply has been running thin as of late -- How could we say no? The binge MUST go on!")) to_chat(owner, span_boldannounce("You are not an antagonist in that you may kill whomever you please, but you can do anything to ensure the capture of the fugitives, even if that means going through the station.")) owner.announce_objectives() diff --git a/code/modules/antagonists/fugitive/hunters/hunter_gear.dm b/code/modules/antagonists/fugitive/hunters/hunter_gear.dm new file mode 100644 index 00000000000..596420ba8f4 --- /dev/null +++ b/code/modules/antagonists/fugitive/hunters/hunter_gear.dm @@ -0,0 +1,155 @@ +//works similar to the experiment machine (experiment.dm) except it just holds more and more prisoners + +/obj/machinery/fugitive_capture + name = "bluespace capture machine" + desc = "Much, MUCH bigger on the inside to transport prisoners safely." + icon = 'icons/obj/machines/research.dmi' + icon_state = "bluespace-prison" + density = TRUE + resistance_flags = INDESTRUCTIBLE | LAVA_PROOF | FIRE_PROOF | ACID_PROOF //ha ha no getting out!! + +/obj/machinery/fugitive_capture/examine(mob/user) + . = ..() + . += span_notice("Add a prisoner by dragging them into the machine.") + +/obj/machinery/fugitive_capture/MouseDrop_T(mob/target, mob/user) + var/mob/living/fugitive_hunter = user + if(!isliving(fugitive_hunter)) + return + if(HAS_TRAIT(fugitive_hunter, TRAIT_UI_BLOCKED) || !Adjacent(fugitive_hunter) || !target.Adjacent(fugitive_hunter) || !ishuman(target)) + return + var/mob/living/carbon/human/fugitive = target + var/datum/antagonist/fugitive/fug_antag = fugitive.mind.has_antag_datum(/datum/antagonist/fugitive) + if(!fug_antag) + to_chat(fugitive_hunter, span_warning("This is not a wanted fugitive!")) + return + if(do_after(fugitive_hunter, 50, target = fugitive)) + add_prisoner(fugitive, fug_antag) + +/obj/machinery/fugitive_capture/proc/add_prisoner(mob/living/carbon/human/fugitive, datum/antagonist/fugitive/antag) + fugitive.forceMove(src) + antag.is_captured = TRUE + to_chat(fugitive, span_userdanger("You are thrown into a vast void of bluespace, and as you fall further into oblivion the comparatively small entrance to reality gets smaller and smaller until you cannot see it anymore. You have failed to avoid capture.")) + fugitive.ghostize(TRUE) //so they cannot suicide, round end stuff. + use_power(active_power_usage) + +/obj/machinery/computer/shuttle/hunter + name = "shuttle console" + shuttleId = "huntership" + possible_destinations = "huntership_home;huntership_custom;whiteship_home;syndicate_nw" + +/obj/machinery/computer/camera_advanced/shuttle_docker/syndicate/hunter + name = "shuttle navigation computer" + desc = "Used to designate a precise transit location to travel to." + shuttleId = "huntership" + lock_override = CAMERA_LOCK_STATION + shuttlePortId = "huntership_custom" + see_hidden = FALSE + jump_to_ports = list("huntership_home" = 1, "whiteship_home" = 1, "syndicate_nw" = 1) + view_range = 4.5 + +/obj/structure/closet/crate/eva + name = "EVA crate" + +/obj/structure/closet/crate/eva/PopulateContents() + ..() + for(var/i in 1 to 3) + new /obj/item/clothing/suit/space/eva(src) + for(var/i in 1 to 3) + new /obj/item/clothing/head/helmet/space/eva(src) + for(var/i in 1 to 3) + new /obj/item/clothing/mask/breath(src) + for(var/i in 1 to 3) + new /obj/item/tank/internals/oxygen(src) + +///Psyker-friendly shuttle gear! + +/obj/machinery/computer/camera_advanced/shuttle_docker/syndicate/hunter/psyker + name = "psyker navigation warper" + desc = "Uses amplified brainwaves to designate and map a precise transit location for the psyker shuttle." + icon_screen = "recharge_comp_on" + interaction_flags_machine = INTERACT_MACHINE_ALLOW_SILICON | INTERACT_MACHINE_SET_MACHINE //blind friendly + x_offset = 0 + y_offset = 11 + +/obj/machinery/fugitive_capture/psyker + name = "psyker recreation cell" + desc = "A repurposed recreation chamber frequently used by psykers, which soothes its user by bombarding them with loud noises and painful stimuli. Repurposed for the storage of prisoners, and should have no (lasting) side effects on non-psykers forced into it." + +/obj/machinery/fugitive_capture/psyker/process() //I have no fucking idea how to make click-dragging work for psykers so this one just sucks them in. + for(var/mob/living/carbon/human/potential_victim in range(1, get_turf(src))) + var/datum/antagonist/fugitive/fug_antag = potential_victim.mind.has_antag_datum(/datum/antagonist/fugitive) + if(fug_antag) + potential_victim.visible_message(span_alert("[potential_victim] is violently sucked into the [src]!")) + add_prisoner(potential_victim, fug_antag) + +/// Psyker gear +/obj/item/reagent_containers/hypospray/medipen/gore + name = "gore autoinjector" + desc = "A ghetto-looking autoinjector filled with gore, aka dirty kronkaine. You probably shouldn't take this while on the job, but it is a super-stimulant. Don't take two at once." + volume = 15 + amount_per_transfer_from_this = 15 + list_reagents = list(/datum/reagent/drug/kronkaine/gore = 15) + icon_state = "maintenance" + base_icon_state = "maintenance" + label_examine = FALSE + +//Captain's special mental recharge gear + +/obj/item/clothing/suit/armor/reactive/psykerboost + name = "reactive psykerboost armor" + desc = "An experimental suit of armor psykers use to push their mind further. Reacts to hostiles by powering up the wearer's psychic abilities." + cooldown_message = span_danger("The psykerboost armor's mental coils are still cooling down!") + emp_message = span_danger("The psykerboost armor's mental coils recalibrate for a moment with a soft whine.") + color = "#d6ad8b" + +/obj/item/clothing/suit/armor/reactive/psykerboost/cooldown_activation(mob/living/carbon/human/owner) + var/datum/effect_system/spark_spread/sparks = new /datum/effect_system/spark_spread + sparks.set_up(1, 1, src) + sparks.start() + return ..() + +/obj/item/clothing/suit/armor/reactive/psykerboost/reactive_activation(mob/living/carbon/human/owner, atom/movable/hitby, attack_text = "the attack", final_block_chance = 0, damage = 0, attack_type = MELEE_ATTACK) + owner.visible_message(span_danger("[src] blocks [attack_text], psykerboosting [owner]'s mental powers!")) + for(var/datum/action/cooldown/spell/psychic_ability in owner.actions) + if(psychic_ability.school == SCHOOL_PSYCHIC) + psychic_ability.reset_spell_cooldown() + reactivearmor_cooldown = world.time + reactivearmor_cooldown_duration + return TRUE + +/obj/item/clothing/suit/armor/reactive/psykerboost/emp_activation(mob/living/carbon/human/owner, atom/movable/hitby, attack_text = "the attack", final_block_chance = 0, damage = 0, attack_type = MELEE_ATTACK) + owner.visible_message(span_danger("[src] blocks [attack_text], draining [owner]'s mental powers!")) + for(var/datum/action/cooldown/spell/psychic_ability in owner.actions) + if(psychic_ability.school == SCHOOL_PSYCHIC) + psychic_ability.StartCooldown() + reactivearmor_cooldown = world.time + reactivearmor_cooldown_duration + return TRUE + +/obj/structure/bouncy_castle + name = "bouncy castle" + desc = "And if you do drugs, you go to hell before you die. Please." + icon = 'icons/obj/bouncy_castle.dmi' + icon_state = "bouncy_castle" + anchored = TRUE + density = TRUE + +/obj/structure/bouncy_castle/Initialize(mapload, mob/gored) + . = ..() + if(gored) + name = gored.real_name + +/obj/structure/bouncy_castle/play_attack_sound(damage_amount, damage_type = BRUTE, damage_flag = 0) + switch(damage_type) + if(BRUTE) + if(damage_amount) + playsound(src, 'sound/effects/attackblob.ogg', 50, TRUE) + else + playsound(src, 'sound/weapons/tap.ogg', 50, TRUE) + if(BURN) + playsound(src, 'sound/items/welder.ogg', 100, TRUE) + +/obj/item/paper/crumpled/fluff/fortune_teller + name = "scribbled note" + default_raw_text = "Remember! The customers love that gumball we have as a crystal ball. \ + Even if it's completely useless to us, resist the urge to chew it." + diff --git a/code/modules/antagonists/fugitive/hunters/hunter_outfits.dm b/code/modules/antagonists/fugitive/hunters/hunter_outfits.dm new file mode 100644 index 00000000000..a3cc239c203 --- /dev/null +++ b/code/modules/antagonists/fugitive/hunters/hunter_outfits.dm @@ -0,0 +1,227 @@ +/datum/outfit/spacepol + name = "Spacepol Officer" + uniform = /obj/item/clothing/under/rank/security/officer/spacepol + suit = /obj/item/clothing/suit/armor/vest/blueshirt + belt = /obj/item/gun/ballistic/automatic/pistol/m1911 + head = /obj/item/clothing/head/hats/warden/police + gloves = /obj/item/clothing/gloves/tackler/combat + shoes = /obj/item/clothing/shoes/jackboots + mask = /obj/item/clothing/mask/gas/sechailer/swat/spacepol + glasses = /obj/item/clothing/glasses/sunglasses + ears = /obj/item/radio/headset + l_pocket = /obj/item/ammo_box/magazine/m45 + r_pocket = /obj/item/restraints/handcuffs + id = /obj/item/card/id/advanced + +/datum/outfit/spacepol/post_equip(mob/living/carbon/human/H, visualsOnly = FALSE) + if(visualsOnly) + return + var/obj/item/card/id/W = H.wear_id + W.assignment = "Police Officer" + W.registered_name = H.real_name + W.update_label() + W.update_icon() + +/datum/outfit/russian_hunter + name = "Russian Hunter" + id = /obj/item/card/id/advanced + uniform = /obj/item/clothing/under/costume/soviet + suit = /obj/item/clothing/suit/armor/bulletproof + suit_store = /obj/item/gun/ballistic/rifle/boltaction + back = /obj/item/storage/backpack + ears = /obj/item/radio/headset + glasses = /obj/item/clothing/glasses/sunglasses + gloves = /obj/item/clothing/gloves/tackler/combat + head = /obj/item/clothing/head/helmet/alt + shoes = /obj/item/clothing/shoes/russian + l_pocket = /obj/item/ammo_box/a762 + r_pocket = /obj/item/restraints/handcuffs/cable/zipties + +/datum/outfit/russian_hunter/pre_equip(mob/living/carbon/human/equip_to) + + // Let's give the Russians a bit of randomization for style. + var/static/list/alt_uniforms = list( + /obj/item/clothing/under/syndicate/soviet, + /obj/item/clothing/under/syndicate/combat, + /obj/item/clothing/under/syndicate/rus_army, + /obj/item/clothing/under/syndicate/camo, + ) + var/static/list/alt_suits = list( + /obj/item/clothing/suit/armor/vest/russian, + /obj/item/clothing/suit/armor/vest/russian_coat, + ) + var/static/list/alt_helmets = list( + /obj/item/clothing/head/costume/bearpelt, + /obj/item/clothing/head/costume/ushanka, + /obj/item/clothing/head/helmet/rus_helmet, + ) + + if(prob(80)) + uniform = pick(alt_uniforms) + if(prob(50)) + suit = pick(alt_suits) + if(prob(50)) + head = pick(alt_helmets) + +/datum/outfit/russian_hunter/post_equip(mob/living/carbon/human/equip_to, visualsOnly = FALSE) + if(visualsOnly) + return + + if(istype(equip_to.wear_id, /obj/item/card/id)) + var/obj/item/card/id/equipped_card = equip_to.wear_id + equipped_card.assignment = "Russian Bounty Hunter" + equipped_card.registered_name = equip_to.real_name + equipped_card.update_label() + equipped_card.update_icon() + + if(istype(equip_to.w_uniform, /obj/item/clothing/under)) + var/obj/item/clothing/under/uniform = equip_to.w_uniform + uniform.sensor_mode = NO_SENSORS + uniform.has_sensor = NO_SENSORS + +/datum/outfit/russian_hunter/leader + name = "Russian Hunter Leader" + head = /obj/item/clothing/head/costume/ushanka + shoes = /obj/item/clothing/shoes/combat + +/datum/outfit/russian_hunter/leader/pre_equip(mob/living/carbon/human/equip_to) + return // None of the RNG russian equipment stuff. + +/datum/outfit/bountyarmor + name = "Bounty Hunter - Armored" + uniform = /obj/item/clothing/under/rank/prisoner + back = /obj/item/storage/backpack + head = /obj/item/clothing/head/cowboy + suit = /obj/item/clothing/suit/space/hunter + belt = /obj/item/gun/ballistic/automatic/pistol/fire_mag + gloves = /obj/item/clothing/gloves/tackler/combat + shoes = /obj/item/clothing/shoes/jackboots + mask = /obj/item/clothing/mask/gas/hunter + glasses = /obj/item/clothing/glasses/sunglasses/gar + ears = /obj/item/radio/headset + r_pocket = /obj/item/restraints/handcuffs/cable + l_pocket = /obj/item/ammo_box/magazine/m9mm/fire + id = /obj/item/card/id/advanced/bountyhunter + l_hand = /obj/item/gun/ballistic/shotgun/automatic/dual_tube/bounty + + backpack_contents = list( + /obj/item/ammo_casing/shotgun/rubbershot = 4, + /obj/item/ammo_casing/shotgun/incendiary/no_trail = 4, + ) + +/datum/outfit/bountyarmor/post_equip(mob/living/carbon/human/H, visualsOnly = FALSE) + if(visualsOnly) + return + var/obj/item/card/id/W = H.wear_id + W.registered_name = H.real_name + W.update_label() + W.update_icon() + +/datum/outfit/bountyhook + name = "Bounty Hunter - Hook" + uniform = /obj/item/clothing/under/rank/prisoner + back = /obj/item/storage/backpack + head = /obj/item/clothing/head/costume/scarecrow_hat + gloves = /obj/item/clothing/gloves/botanic_leather + ears = /obj/item/radio/headset + shoes = /obj/item/clothing/shoes/jackboots + mask = /obj/item/clothing/mask/scarecrow + r_pocket = /obj/item/restraints/handcuffs/cable + id = /obj/item/card/id/advanced/bountyhunter + r_hand = /obj/item/gun/ballistic/shotgun/hook + + backpack_contents = list( + /obj/item/ammo_casing/shotgun/incapacitate = 6 + ) + +/datum/outfit/bountyhook/post_equip(mob/living/carbon/human/H, visualsOnly = FALSE) + if(visualsOnly) + return + var/obj/item/card/id/W = H.wear_id + W.registered_name = H.real_name + W.update_label() + W.update_icon() + +/datum/outfit/bountysynth + name = "Bounty Hunter - Synth" + uniform = /obj/item/clothing/under/rank/prisoner + back = /obj/item/storage/backpack + suit = /obj/item/clothing/suit/armor/riot + shoes = /obj/item/clothing/shoes/jackboots + glasses = /obj/item/clothing/glasses/eyepatch + r_pocket = /obj/item/restraints/handcuffs/cable + ears = /obj/item/radio/headset + id = /obj/item/card/id/advanced/bountyhunter + r_hand = /obj/item/storage/medkit/regular + l_hand = /obj/item/pinpointer/shuttle + + backpack_contents = list( + /obj/item/bountytrap = 4 + ) + +/datum/id_trim/bounty_hunter/psykers + assignment = "Psyker-gang Shikari" + +/datum/id_trim/bounty_hunter/psykers/captain + assignment = "Psyker-gang Shikari Captain" + +/datum/id_trim/bounty_hunter/psykers/seer + assignment = "Psyker-gang Shikari Seer" + +/datum/outfit/psyker/captain + name = "Psyker-Shikari Leader" + + id_trim = /datum/id_trim/bounty_hunter/psykers/captain + suit = /obj/item/clothing/suit/armor/reactive/psykerboost + uniform = /obj/item/clothing/under/pants/camo + +/datum/outfit/psyker + name = "Psyker-Shikari Hunter" + glasses = null + head = null + ears = /obj/item/radio/headset/syndicate/alt/psyker + uniform = /obj/item/clothing/under/pants/track + gloves = /obj/item/clothing/gloves/fingerless + shoes = /obj/item/clothing/shoes/jackboots + suit = /obj/item/clothing/suit/armor/vest/blueshirt + l_pocket = /obj/item/reagent_containers/hypospray/medipen/gore + r_pocket = /obj/item/reagent_containers/hypospray/medipen/gore + id = /obj/item/card/id/advanced/bountyhunter + + id_trim = /datum/id_trim/bounty_hunter/psykers + +/datum/outfit/psyker/post_equip(mob/living/carbon/human/equipped) + . = ..() + equipped.psykerize() + +/datum/outfit/psyker_seer + name = "Psyker-Shikari Seer" + glasses = /obj/item/clothing/glasses/regular/thin + ears = /obj/item/radio/headset + uniform = /obj/item/clothing/under/pants/jeans + suit = /obj/item/clothing/suit/hazardvest + gloves = /obj/item/clothing/gloves/fingerless + shoes = /obj/item/clothing/shoes/sandal + l_pocket = /obj/item/restraints/handcuffs/cable/zipties + r_pocket = /obj/item/restraints/handcuffs/cable/zipties + + id_trim = /datum/id_trim/bounty_hunter/psykers/seer + +//ids and ert code + +/obj/item/card/id/advanced/bountyhunter + assignment = "Bounty Hunter" + icon_state = "card_flame" //oh SHIT + trim = /datum/id_trim/bounty_hunter + +/datum/outfit/bountyarmor/ert + id = /obj/item/card/id/advanced/bountyhunter/ert + +/datum/outfit/bountyhook/ert + id = /obj/item/card/id/advanced/bountyhunter/ert + +/datum/outfit/bountysynth/ert + id = /obj/item/card/id/advanced/bountyhunter/ert + +/obj/item/card/id/advanced/bountyhunter/ert + trim = /datum/id_trim/centcom/bounty_hunter diff --git a/code/modules/antagonists/pirate/pirate_gangs.dm b/code/modules/antagonists/pirate/pirate_gangs.dm index 5afce41b751..5f12a9b2c32 100644 --- a/code/modules/antagonists/pirate/pirate_gangs.dm +++ b/code/modules/antagonists/pirate/pirate_gangs.dm @@ -115,19 +115,3 @@ GLOBAL_LIST_INIT(heavy_pirate_gangs, init_pirate_gangs(is_heavy = TRUE)) response_received = "Thanks for the credits, landlubbers." response_too_late = "Too late to beg for mercy!" response_not_enough = "Trying to cheat us? You'll regret this!" - -///psychic gangster junkies who want some allowance to continue the gore-binge -/datum/pirate_gang/psykers - name = "Roving Psyker-gang" - - ship_template_id = "psyker" - ship_name_pool = "psyker_names" //just points to THE ONE AND ONLY - - threat_title = "Junkie tribute" - threat_content = "Hello, you psychically dormant pawn-pieces. It's the %SHIPNAME! Our funds are running a little low, and we're not going to be able to continue our gore-binge! %PAYOFF credits should do, wanna help us out?" - arrival_announcement = "We didn't blaze this far just to send some idle threats. Just you wait; we'll make you wish you were in a mental asylum." - possible_answers = list("Send some funds so they go away.","We're not funding these junkies.") - - response_received = "You guys aren't so bad for being dormants. The next gore-fest goes to you guys. Peace!" - response_too_late = "Oh, now you think we're worth the money. Pathetic dormants." - response_not_enough = "You really shouldn't have messed with us. You're in for a psychic nightmare." diff --git a/code/modules/antagonists/pirate/pirate_outfits.dm b/code/modules/antagonists/pirate/pirate_outfits.dm index dc2e5b3dea6..8afc8a0b764 100644 --- a/code/modules/antagonists/pirate/pirate_outfits.dm +++ b/code/modules/antagonists/pirate/pirate_outfits.dm @@ -68,29 +68,3 @@ head = /obj/item/clothing/head/costume/crown mask = /obj/item/clothing/mask/cigarette/cigar/havana l_pocket = /obj/item/lighter - -/datum/outfit/pirate/psyker - name = "Psyker-gang Member" - - glasses = null - head = null - ears = /obj/item/radio/headset/syndicate/alt/psyker - uniform = /obj/item/clothing/under/pants/track - gloves = /obj/item/clothing/gloves/fingerless - shoes = /obj/item/clothing/shoes/jackboots - suit = /obj/item/clothing/suit/armor/vest/blueshirt - l_pocket = /obj/item/reagent_containers/hypospray/medipen/gore - r_pocket = /obj/item/reagent_containers/hypospray/medipen/gore - - id_trim = /datum/id_trim/pirate/psykers - -/datum/outfit/pirate/psyker/post_equip(mob/living/carbon/human/equipped) - . = ..() - equipped.psykerize() - -/datum/outfit/pirate/psyker/captain - name = "Psyker-gang Leader" - - id_trim = /datum/id_trim/pirate/captain/psykers - suit = /obj/item/clothing/suit/armor/reactive/psykerboost - uniform = /obj/item/clothing/under/pants/camo diff --git a/code/modules/antagonists/pirate/pirate_roles.dm b/code/modules/antagonists/pirate/pirate_roles.dm index 8d1c32f0820..1544e4b8d93 100644 --- a/code/modules/antagonists/pirate/pirate_roles.dm +++ b/code/modules/antagonists/pirate/pirate_roles.dm @@ -94,19 +94,3 @@ /obj/effect/mob_spawn/ghost_role/human/pirate/silverscale/gunner rank = "Top-drawer" - -/obj/effect/mob_spawn/ghost_role/human/pirate/psykers - name = "mental energizer" - desc = "A cryo sleeper modified to keep the occupant mentally sharp. However that works..." - icon_state = "psykerpod" - prompt_name = "a psyker-ganger" - mob_species = /datum/species/human - outfit = /datum/outfit/pirate/psyker - rank = "Racketeer" - fluff_spawn = /obj/structure/showcase/machinery/oldpod/used/psyker - name_beginnings = "psyker_beginnings" - name_endings = "psyker_endings" - -/obj/effect/mob_spawn/ghost_role/human/pirate/psykers/captain - rank = "Allbrain" - outfit = /datum/outfit/pirate/psyker/captain diff --git a/code/modules/antagonists/pirate/pirate_shuttle_equipment.dm b/code/modules/antagonists/pirate/pirate_shuttle_equipment.dm index b38b67563a4..b48b8e2df9f 100644 --- a/code/modules/antagonists/pirate/pirate_shuttle_equipment.dm +++ b/code/modules/antagonists/pirate/pirate_shuttle_equipment.dm @@ -99,14 +99,6 @@ y_offset = 0 see_hidden = FALSE -/obj/machinery/computer/camera_advanced/shuttle_docker/syndicate/pirate/psyker - name = "psyker navigation warper" - desc = "Uses amplified brainwaves to designate and map a precise transit location for the psyker shuttle." - icon_screen = "recharge_comp_on" - interaction_flags_machine = INTERACT_MACHINE_ALLOW_SILICON | INTERACT_MACHINE_SET_MACHINE //blind friendly - x_offset = 0 - y_offset = 11 - /obj/docking_port/mobile/pirate name = "pirate shuttle" shuttle_id = "pirate" diff --git a/code/modules/antagonists/pirate/pirate_special_items.dm b/code/modules/antagonists/pirate/pirate_special_items.dm deleted file mode 100644 index 6fe47dab8dd..00000000000 --- a/code/modules/antagonists/pirate/pirate_special_items.dm +++ /dev/null @@ -1,68 +0,0 @@ -/obj/item/reagent_containers/hypospray/medipen/gore - name = "gore autoinjector" - desc = "A ghetto-looking autoinjector filled with gore, aka dirty kronkaine. You probably shouldn't take this while on the job, but it is a super-stimulant. Don't take two at once." - volume = 15 - amount_per_transfer_from_this = 15 - list_reagents = list(/datum/reagent/drug/kronkaine/gore = 15) - icon_state = "maintenance" - base_icon_state = "maintenance" - label_examine = FALSE - -//Captain's special mental recharge gear - -/obj/item/clothing/suit/armor/reactive/psykerboost - name = "reactive psykerboost armor" - desc = "An experimental suit of armor psykers use to push their mind further. Reacts to hostiles by powering up the wearer's psychic abilities." - cooldown_message = span_danger("The psykerboost armor's mental coils are still cooling down!") - emp_message = span_danger("The psykerboost armor's mental coils recalibrate for a moment with a soft whine.") - color = "#d6ad8b" - -/obj/item/clothing/suit/armor/reactive/psykerboost/cooldown_activation(mob/living/carbon/human/owner) - var/datum/effect_system/spark_spread/sparks = new /datum/effect_system/spark_spread - sparks.set_up(1, 1, src) - sparks.start() - return ..() - -/obj/item/clothing/suit/armor/reactive/psykerboost/reactive_activation(mob/living/carbon/human/owner, atom/movable/hitby, attack_text = "the attack", final_block_chance = 0, damage = 0, attack_type = MELEE_ATTACK) - owner.visible_message(span_danger("[src] blocks [attack_text], psykerboosting [owner]'s mental powers!")) - for(var/datum/action/cooldown/spell/psychic_ability in owner.actions) - if(psychic_ability.school == SCHOOL_PSYCHIC) - psychic_ability.reset_spell_cooldown() - reactivearmor_cooldown = world.time + reactivearmor_cooldown_duration - return TRUE - -/obj/item/clothing/suit/armor/reactive/psykerboost/emp_activation(mob/living/carbon/human/owner, atom/movable/hitby, attack_text = "the attack", final_block_chance = 0, damage = 0, attack_type = MELEE_ATTACK) - owner.visible_message(span_danger("[src] blocks [attack_text], draining [owner]'s mental powers!")) - for(var/datum/action/cooldown/spell/psychic_ability in owner.actions) - if(psychic_ability.school == SCHOOL_PSYCHIC) - psychic_ability.StartCooldown() - reactivearmor_cooldown = world.time + reactivearmor_cooldown_duration - return TRUE - -/obj/structure/bouncy_castle - name = "bouncy castle" - desc = "And if you do drugs, you go to hell before you die. Please." - icon = 'icons/obj/bouncy_castle.dmi' - icon_state = "bouncy_castle" - anchored = TRUE - density = TRUE - -/obj/structure/bouncy_castle/Initialize(mapload, mob/gored) - . = ..() - if(gored) - name = gored.real_name - -/obj/structure/bouncy_castle/play_attack_sound(damage_amount, damage_type = BRUTE, damage_flag = 0) - switch(damage_type) - if(BRUTE) - if(damage_amount) - playsound(src, 'sound/effects/attackblob.ogg', 50, TRUE) - else - playsound(src, 'sound/weapons/tap.ogg', 50, TRUE) - if(BURN) - playsound(src, 'sound/items/welder.ogg', 100, TRUE) - -/obj/item/paper/crumpled/fluff/fortune_teller - name = "scribbled note" - default_raw_text = "Remember! The customers love that gumball we have as a crystal ball. \ - Even if it's completely useless to us, resist the urge to chew it." diff --git a/code/modules/events/ghost_role/fugitive_event.dm b/code/modules/events/ghost_role/fugitive_event.dm index 24aa4798c79..54523bafde3 100644 --- a/code/modules/events/ghost_role/fugitive_event.dm +++ b/code/modules/events/ghost_role/fugitive_event.dm @@ -99,14 +99,18 @@ //security team gets called in after 10 minutes of prep to find the refugees /datum/round_event/ghost_role/fugitives/proc/spawn_hunters() - var/backstory = pick("space cop", "russian", "bounty hunter") + var/backstory = pick(HUNTER_PACK_COPS, HUNTER_PACK_RUSSIAN, HUNTER_PACK_BOUNTY, HUNTER_PACK_PSYKER) var/datum/map_template/shuttle/ship - if(backstory == "space cop") - ship = new /datum/map_template/shuttle/hunter/space_cop - else if (backstory == "russian") - ship = new /datum/map_template/shuttle/hunter/russian - else - ship = new /datum/map_template/shuttle/hunter/bounty + switch(backstory) + if(HUNTER_PACK_COPS) + ship = new /datum/map_template/shuttle/hunter/space_cop + if(HUNTER_PACK_RUSSIAN) + ship = new /datum/map_template/shuttle/hunter/russian + if(HUNTER_PACK_BOUNTY) + ship = new /datum/map_template/shuttle/hunter/bounty + if(HUNTER_PACK_PSYKER) + ship = new /datum/map_template/shuttle/hunter/psyker + var/x = rand(TRANSITIONEDGE,world.maxx - TRANSITIONEDGE - ship.width) var/y = rand(TRANSITIONEDGE,world.maxy - TRANSITIONEDGE - ship.height) var/z = SSmapping.empty_space.z_value diff --git a/code/modules/mob_spawn/ghost_roles/fugitive_hunter_roles.dm b/code/modules/mob_spawn/ghost_roles/fugitive_hunter_roles.dm index 32d0175dff2..a603f495114 100644 --- a/code/modules/mob_spawn/ghost_roles/fugitive_hunter_roles.dm +++ b/code/modules/mob_spawn/ghost_roles/fugitive_hunter_roles.dm @@ -26,7 +26,7 @@ prompt_name = "a spacepol officer" you_are_text = "I am a member of the Spacepol!" flavour_text = "Justice has arrived. We must capture those fugitives lurking on that station!" - back_story = "space cop" + back_story = HUNTER_PACK_COPS outfit = /datum/outfit/spacepol icon = 'icons/obj/machines/sleeper.dmi' icon_state = "sleeper" @@ -41,7 +41,7 @@ you_are_text = "Ay blyat. I am a Space-Russian smuggler!" flavour_text = "We were mid-flight when our cargo was beamed off our ship! Must be on station somewhere? \ We must \"legally\" reaquire it by any means necessary - is our property, after all!" - back_story = "russian" + back_story = HUNTER_PACK_RUSSIAN outfit = /datum/outfit/russian_hunter /obj/effect/mob_spawn/ghost_role/human/fugitive/russian/leader @@ -54,11 +54,23 @@ prompt_name = "a bounty hunter" you_are_text = "I'm a bounty hunter." flavour_text = "We got a new bounty on some fugitives, dead or alive." - back_story = "bounty hunters" + back_story = HUNTER_PACK_BOUNTY desc = "A small sleeper typically used to make long distance travel a bit more bearable." icon = 'icons/obj/machines/sleeper.dmi' icon_state = "sleeper" +/obj/effect/mob_spawn/ghost_role/human/fugitive/psykers + name = "mental energizer" + desc = "A cryo sleeper modified to keep the occupant mentally sharp. However that works..." + icon_state = "psykerpod" + prompt_name = "a psyker-hunter" + mob_species = /datum/species/human + outfit = /datum/outfit/psyker + +/obj/effect/mob_spawn/ghost_role/human/fugitive/psykers/captain + prompt_name = "a psyker-hunter captain" + outfit = /datum/outfit/psyker/captain + /obj/effect/mob_spawn/ghost_role/human/fugitive/bounty/Destroy() var/obj/structure/fluff/empty_sleeper/S = new(drop_location()) S.setDir(dir) @@ -72,3 +84,31 @@ /obj/effect/mob_spawn/ghost_role/human/fugitive/bounty/synth outfit = /datum/outfit/bountysynth + +/obj/effect/mob_spawn/ghost_role/human/fugitive/bounty/psyker + name = "mental energizer" + desc = "A cryo sleeper modified to keep the occupant mentally sharp. However that works..." + icon_state = "psykerpod" + prompt_name = "a psyker" + you_are_text = "Ahahaha! I am a Psyker Shikari!" + flavour_text = "Man, waking up from a gorenap always BLOWS. Finding dealers in this sector of space is always difficult, but \ + we've recieved an offer that might set us up for life! Kidnap some fugitives and get FREE GORE!" + back_story = HUNTER_PACK_PSYKER + outfit = /datum/outfit/psyker + +/obj/effect/mob_spawn/ghost_role/human/fugitive/bounty/psyker/captain + prompt_name = "a psyker Captain" + back_story = HUNTER_PACK_PSYKER + outfit = /datum/outfit/psyker/captain + +/obj/effect/mob_spawn/ghost_role/human/fugitive/bounty/psyker/seer + name = "cryosleep pod" + desc = "A dingy, poorly maintained, but still run-of-the-mill cryo sleeper." + icon = 'icons/obj/machines/sleeper.dmi' + icon_state = "sleeper" + prompt_name = "a psyker seer" + you_are_text = "psyker seer" + flavour_text = "Oh great, the fortunte-tellers want my help with something again. They picked up up while I was space-hitchhiking, said they would take me anywhere \ + if I assisted them with my 'flesh-gaze'. They're a bunch of freaks, but at least they leave me be after I'm done helping them..." + back_story = HUNTER_PACK_PSYKER + outfit = /datum/outfit/psyker_seer diff --git a/tgstation.dme b/tgstation.dme index d3a98dc4a50..620b1b0a178 100644 --- a/tgstation.dme +++ b/tgstation.dme @@ -2622,8 +2622,9 @@ #include "code\modules\antagonists\fugitive\fugitive.dm" #include "code\modules\antagonists\fugitive\fugitive_equipment.dm" #include "code\modules\antagonists\fugitive\fugitive_outfits.dm" -#include "code\modules\antagonists\fugitive\fugitive_ship.dm" -#include "code\modules\antagonists\fugitive\hunter.dm" +#include "code\modules\antagonists\fugitive\hunters\hunter.dm" +#include "code\modules\antagonists\fugitive\hunters\hunter_gear.dm" +#include "code\modules\antagonists\fugitive\hunters\hunter_outfits.dm" #include "code\modules\antagonists\greentext\greentext.dm" #include "code\modules\antagonists\heretic\cosmic_effect.dm" #include "code\modules\antagonists\heretic\heretic_antag.dm" @@ -2734,7 +2735,6 @@ #include "code\modules\antagonists\pirate\pirate_outfits.dm" #include "code\modules\antagonists\pirate\pirate_roles.dm" #include "code\modules\antagonists\pirate\pirate_shuttle_equipment.dm" -#include "code\modules\antagonists\pirate\pirate_special_items.dm" #include "code\modules\antagonists\pyro_slime\pyro_slime.dm" #include "code\modules\antagonists\revenant\haunted_item.dm" #include "code\modules\antagonists\revenant\revenant_abilities.dm"