mirror of
https://github.com/Bubberstation/Bubberstation.git
synced 2026-07-18 11:36:24 +01:00
Persistence Base (A new offstation syndicate map) (Should be ready for test merge) (Ready for review) (#2265)
<!-- Write **BELOW** The Headers and **ABOVE** The comments else it may not be viewable. --> <!-- You can view Contributing.MD for a detailed description of the pull request process. --> ## About The Pull Request https://youtu.be/pPhfOGnLm08?si=QC2BPGd1pcLCXTc7 <- Updated as of 10/28 This pull request provides a replacement map for the interdyne and dauntless offstation syndicate maps. It is supposed to be themed as a landcrawler and features several new roles, (~~The comms operative was removed~~) and the morale officer (The finest of waffle co. here to enforce ~~managed democracy~~ syndicate interests. The icebox map is the same size as the former dauntless map, while the new lavaland version is slightly bigger to support the turrets and energy shielding. Speaking of, one major feature of the new maps is a double layer of energy shielding around the maps. This shielding does not recharge and is intended to take two hits. An explosion naturally can clear both layers at once and it is intended to prevent destruction by specific megafauna (colossus) while also stopping miners from getting shot if they accidentally find the ship. It does not cover the various entrances and exits so its still worth while to be careful and if need be it should be easy enough to attack the ship in a pinch. **Weapon and armor wise, the ship has the following additions and removals** - All makarovs in the armory have been removed. - One renostar shotgun has been removed from the armory - Each non command crew member and the comms operative starts out with a weapon selection beacon providing an option between a makrov, m1911, mini egun, or energy dagger - Each command officer barring the MAA starts with a weapon beacon offering a choice between an ansem pistol (on par with an m1911 iirc), a stechkin APS, or a c-20r. - The morale officer has an additional selection of a revolver (for executing dissidents) - The MAA has a selection between an m-90gl with only rubber grenades available, a bulldog shotgun, a c-20r, or a hos revolver - An infiltrator modsuit has been added minus the psi demoralizer for the corporate liason - A honkerative modsuit has been added for the morale officer, it comes preequipped with a waddle module. **Power supply** Per request, the ship now features a syndicate unique power source, FISH! Make sure to pet them. closes #2386 ## Why It's Good For The Game It has come to my attention that the interdyne offstation map which spawns on icebox has become outdated due to the fact that it only spawns on a single map. Rather than let this continue to be an issue I have elected to standardize the icemoon and lavaland maps to one single map, both to cut down further efforts of keeping up the offstation syndicate map, and to provide a map that going forward will have room for updates. Additionally, the new map will replace the icebox comms outpost, saving on space for new ruins while improving (hopefully) spawning off the offstation syndicate. On one final note, massive mining rigs are cool and the pumpkin spice must flow. <!-- Argue for the merits of your changes and how they benefit the game, especially if they are controversial and/or far reaching. If you can't actually explain WHY what you are doing will improve the game, then it probably isn't good for the game in the first place. --> ## Proof Of Testing See the video linked above <!-- Compile and run your code locally. Make sure it works. This is the place to show off your changes! We are not responsible for testing your features. --> <details> <summary>Screenshots/Videos</summary> </details> ## Changelog <!-- If your PR modifies aspects of the game that can be concretely observed by players or admins you should add a changelog. If your change does NOT meet this description, remove this section. Be sure to properly mark your PRs to prevent unnecessary GBP loss. You can read up on GBP and its effects on PRs in the tgstation guides for contributors. Please note that maintainers freely reserve the right to remove and add tags should they deem it appropriate. You can attempt to finagle the system all you want, but it's best to shoot for clear communication right off the bat. --> 🆑 add: The Persistence land crawler has been deployed to local mineral rich areas. /🆑 <!-- Both 🆑's are required for the changelog to work! You can put your name to the right of the first 🆑 if you want to overwrite your GitHub username as author ingame. --> <!-- You can use multiple of the same prefix (they're only used for the icon ingame) and delete the unneeded ones. Despite some of the tags, changelogs should generally represent how a player might be affected by the changes rather than a summary of the PR's contents. --> <!-- By opening a pull request. You have read and understood the repository rules located on the main README.md on this project. --> --------- Co-authored-by: LT3 <83487515+lessthnthree@users.noreply.github.com> Co-authored-by: Waterpig <49160555+Majkl-J@users.noreply.github.com> Co-authored-by: nikothedude <simon.prouty@gmail.com> Co-authored-by: The Sharkening <95130227+StrangeWeirdKitten@users.noreply.github.com>
This commit is contained in:
File diff suppressed because it is too large
Load Diff
@@ -3046,6 +3046,14 @@
|
||||
"nr" = (
|
||||
/turf/closed/wall/r_wall/syndicate,
|
||||
/area/ruin/space/has_grav/bubbers/dauntless/sec/prison/holding)
|
||||
"nt" = (
|
||||
/obj/machinery/button/camkillswitch{
|
||||
pixel_x = -32;
|
||||
pixel_y = 26;
|
||||
req_access = list("syndicate")
|
||||
},
|
||||
/turf/closed/wall/r_wall/syndicate/nodiagonal,
|
||||
/area/ruin/space/has_grav/bubbers/dauntless/sec/holding)
|
||||
"nu" = (
|
||||
/obj/effect/turf_decal/stripes/red/line,
|
||||
/obj/effect/turf_decal/stripes/red/line{
|
||||
@@ -3225,6 +3233,10 @@
|
||||
},
|
||||
/turf/open/floor/stone,
|
||||
/area/ruin/space/has_grav/bubbers/dauntless/service/hydro)
|
||||
"on" = (
|
||||
/obj/item/assembly/control/camkillswitch/persistence_ext,
|
||||
/turf/closed/wall/r_wall/syndicate/nodiagonal,
|
||||
/area/ruin/space/has_grav/bubbers/dauntless/service/dorms)
|
||||
"oo" = (
|
||||
/obj/machinery/light/small/red/directional/west,
|
||||
/turf/open/floor/wood/tile,
|
||||
@@ -13630,7 +13642,7 @@ RP
|
||||
dY
|
||||
pl
|
||||
HC
|
||||
RP
|
||||
on
|
||||
eI
|
||||
qr
|
||||
ux
|
||||
@@ -14727,7 +14739,7 @@ JZ
|
||||
Wm
|
||||
tA
|
||||
Ku
|
||||
oZ
|
||||
nt
|
||||
VP
|
||||
ru
|
||||
HW
|
||||
|
||||
File diff suppressed because it is too large
Load Diff
File diff suppressed because it is too large
Load Diff
@@ -137,6 +137,7 @@
|
||||
|
||||
//BUBBER EDIT START
|
||||
#define ROLE_DAUNTLESS "Dauntless Syndicate"
|
||||
#define ROLE_PERSISTENCE "Persistence Syndicate"
|
||||
|
||||
#define ROLE_BLOODSUCKER "Bloodsucker"
|
||||
#define ROLE_VAMPIRICACCIDENT "Bloodsucker (Midround)"
|
||||
|
||||
@@ -204,6 +204,9 @@
|
||||
id = "icemoon_comms_agent"
|
||||
description = "Radio signals are being detected and the source is this completely innocent pile of snow."
|
||||
suffix = "icemoon_underground_comms_agent.dmm"
|
||||
//begin bubber edit
|
||||
unpickable = TRUE
|
||||
//end bubber edit
|
||||
|
||||
/datum/map_template/ruin/icemoon/underground/syndie_lab
|
||||
name = "Ice-Ruin Syndicate Lab"
|
||||
|
||||
@@ -4,7 +4,7 @@
|
||||
special_channels = RADIO_SPECIAL_CENTCOM
|
||||
|
||||
/obj/item/encryptionkey/headset_syndicate/interdyne
|
||||
name = "interdyne radio encryption key"
|
||||
name = "Interdyne radio encryption key"
|
||||
channels = list(RADIO_CHANNEL_INTERDYNE = 1)
|
||||
special_channels = RADIO_SPECIAL_CENTCOM
|
||||
|
||||
|
||||
@@ -13,6 +13,7 @@
|
||||
/area/ruin/syndicate_lava_base, // Interdyne (ice moon)
|
||||
/area/ruin/space/has_grav/bubbers/dauntless, // SSV Dauntless (lavalands)
|
||||
/area/ruin/space/has_grav/bubbers/dauntless_space, // SSV Dauntless (space)
|
||||
/area/ruin/space/has_grav/bubbers/persistance, // Both Persistence maps
|
||||
))
|
||||
|
||||
var/is_syndie_machine = is_type_in_typecache(location_area.loc, syndie_typecache) // If the machine is located within a Syndie tagged area
|
||||
|
||||
@@ -0,0 +1,41 @@
|
||||
//Bioelectric prefileld aquarium for Persistence
|
||||
|
||||
/obj/structure/aquarium/bioelec_gen/prefilled
|
||||
anchored = TRUE
|
||||
reproduction_and_growth = TRUE
|
||||
|
||||
/obj/structure/aquarium/bioelec_gen/prefilled/Initialize(mapload)
|
||||
. = ..()
|
||||
|
||||
new /obj/item/aquarium_prop/sand(src)
|
||||
new /obj/item/aquarium_prop/seaweed(src)
|
||||
|
||||
//They should last a whole shift with this much food unless
|
||||
reagents.add_reagent(/datum/reagent/consumable/nutriment, 25)
|
||||
|
||||
/obj/item/fish/jumpercable/karl
|
||||
name = "Karl"
|
||||
desc = "A deadly syndicate monojumper cable saved from the horrors of Nanotrasen by the animal rights consortium. Its been given a new home as a power source for syndicate operations!"
|
||||
stable_population = 4
|
||||
random_case_rarity = FISH_RARITY_NOPE
|
||||
fish_flags = parent_type::fish_flags & ~FISH_FLAG_SHOW_IN_CATALOG
|
||||
beauty = FISH_BEAUTY_GOOD
|
||||
compatible_types = list(/obj/item/fish/jumpercable, /obj/item/fish/jumpercable)
|
||||
|
||||
/obj/item/fish/jumpercable/karl/carl
|
||||
name = "Carl"
|
||||
|
||||
/obj/item/fish/jumpercable/karl/carly
|
||||
name = "Carly"
|
||||
|
||||
compatible_types = list(/obj/item/fish/jumpercable, /obj/item/fish/jumpercable)
|
||||
|
||||
/obj/item/fish/jumpercable/karl/frank
|
||||
name = "Frank"
|
||||
|
||||
|
||||
/obj/item/storage/fish_case/syndicate/persistence
|
||||
name = "ominous fish case"
|
||||
|
||||
/obj/item/storage/fish_case/syndicate/get_fish_type()
|
||||
return pick(/obj/item/fish/jumpercable/karl/frank, /obj/item/fish/jumpercable/karl/carly, /obj/item/fish/jumpercable/karl/carl, /obj/item/fish/jumpercable/karl)
|
||||
@@ -0,0 +1,21 @@
|
||||
//Modsuits used by offstation syndicate factions
|
||||
|
||||
//Infiltrator mod minus the Psi Emitter
|
||||
|
||||
/datum/mod_theme/infiltrator/persistence
|
||||
extended_desc = "Several questions have been raised over the years in regards to the clandestine Infiltrator modular suit. \
|
||||
Why is the suit blood red despite being a sneaking suit? Why did a movie company of all things develop a stealth suit? \
|
||||
The simplest answer is that Roseus Galactic hire more than a few eccentric individuals who know more about \
|
||||
visual aesthetics and prop design than they do functional operative camouflage. But the true reason goes deeper. \
|
||||
The visual appearance of the suit exemplifies brazen displays of power, not true stealth. However, the suit's inbuilt stealth mechanisms\
|
||||
prevent anyone from fully recognizing the occupant, only the suit, creating perfect anonymity. \
|
||||
This one seems to lack the Psi Emitter usually seen in this type of modsuit."
|
||||
|
||||
inbuilt_modules = list(/obj/item/mod/module/infiltrator, /obj/item/mod/module/storage/belt)
|
||||
allowed_suit_storage = list(
|
||||
/obj/item/restraints/handcuffs,
|
||||
/obj/item/assembly/flash,
|
||||
/obj/item/melee/baton,
|
||||
/obj/item/melee/energy/sword,
|
||||
/obj/item/shield/energy,
|
||||
)
|
||||
@@ -0,0 +1,64 @@
|
||||
//Various offstation syndicate mapping bits for bubber
|
||||
|
||||
/obj/machinery/suit_storage_unit/industrial/bloodredsuit
|
||||
mod_type = /obj/item/mod/control/pre_equipped/traitor
|
||||
storage_type = /obj/item/tank/internals/emergency_oxygen/double
|
||||
mask_type = /obj/item/clothing/mask/gas/syndicate
|
||||
|
||||
/obj/machinery/suit_storage_unit/industrial/syndicatemining
|
||||
suit_type = /obj/item/clothing/suit/hooded/explorer/syndicate
|
||||
mask_type = /obj/item/clothing/mask/gas/explorer
|
||||
|
||||
/obj/machinery/suit_storage_unit/industrial/syndicatecontractor
|
||||
mod_type = /obj/item/mod/control/pre_equipped/contractor
|
||||
storage_type = /obj/item/tank/internals/emergency_oxygen/double
|
||||
mask_type = /obj/item/clothing/mask/gas/syndicate
|
||||
|
||||
/obj/machinery/suit_storage_unit/industrial/moraleofficer
|
||||
mod_type = /obj/item/mod/control/pre_equipped/nuclear/honkerative
|
||||
storage_type = /obj/item/tank/internals/emergency_oxygen/double
|
||||
mask_type = /obj/item/clothing/mask/gas/syndicate
|
||||
|
||||
/obj/machinery/suit_storage_unit/industrial/commsoperative
|
||||
mod_type = /obj/item/mod/control/pre_equipped/infiltrator/persistence
|
||||
|
||||
storage_type = /obj/item/tank/internals/emergency_oxygen/double
|
||||
mask_type = /obj/item/clothing/mask/gas/syndicate
|
||||
|
||||
//Modsuit loadouts
|
||||
|
||||
//morale officer suit
|
||||
/obj/item/mod/control/pre_equipped/nuclear/honkerative
|
||||
applied_skin = "honkerative"
|
||||
theme = /datum/mod_theme/syndicate
|
||||
starting_frequency = MODLINK_FREQ_SYNDICATE
|
||||
applied_cell = /obj/item/stock_parts/power_store/cell/hyper
|
||||
req_access = list(ACCESS_SYNDICATE)
|
||||
applied_modules = list(
|
||||
/obj/item/mod/module/storage/syndicate,
|
||||
/obj/item/mod/module/shock_absorber,
|
||||
/obj/item/mod/module/emp_shield,
|
||||
/obj/item/mod/module/magnetic_harness,
|
||||
/obj/item/mod/module/jetpack,
|
||||
/obj/item/mod/module/jump_jet,
|
||||
/obj/item/mod/module/flashlight,
|
||||
/obj/item/mod/module/hat_stabilizer/syndicate,
|
||||
/obj/item/mod/module/quick_cuff,
|
||||
/obj/item/mod/module/waddle,
|
||||
)
|
||||
default_pins = list(
|
||||
/obj/item/mod/module/armor_booster,
|
||||
/obj/item/mod/module/jetpack,
|
||||
/obj/item/mod/module/jump_jet,
|
||||
)
|
||||
|
||||
/obj/item/mod/control/pre_equipped/infiltrator/persistence
|
||||
theme = /datum/mod_theme/infiltrator/persistence
|
||||
applied_modules = list(
|
||||
/obj/item/mod/module/emp_shield,
|
||||
/obj/item/mod/module/magnetic_harness,
|
||||
/obj/item/mod/module/quick_carry,
|
||||
/obj/item/mod/module/visor/diaghud,
|
||||
/obj/item/mod/module/hat_stabilizer/syndicate,
|
||||
/obj/item/mod/module/quick_cuff,
|
||||
)
|
||||
+75
@@ -0,0 +1,75 @@
|
||||
//WEAPON CHOICE BEACONS FOR THE PERSISTENCE SHIP
|
||||
|
||||
//standard pistol
|
||||
/obj/item/choice_beacon/syndicateoffstation
|
||||
name = "Standard Syndicate sidearm beacon"
|
||||
desc = "A single use beacon to deliver a weapon kit of your choice. Please use this or store it in your safe."
|
||||
company_source = "Gorlex Marauders"
|
||||
company_message = span_bold("Supply Pod incoming please stand by")
|
||||
|
||||
/obj/item/choice_beacon/syndicateoffstation/generate_display_names()
|
||||
var/static/list/selectable_gun_types = list(
|
||||
"Makarov" = /obj/item/storage/toolbox/guncase/skyrat/pistol/opfor/makarov,
|
||||
"M1911" = /obj/item/storage/toolbox/guncase/skyrat/pistol/opfor/m1911,
|
||||
"Energy Dagger" = /obj/item/pen/edagger,
|
||||
"Ansem Pistol Kit" = /obj/item/storage/toolbox/guncase/clandestine,
|
||||
)
|
||||
|
||||
return selectable_gun_types
|
||||
|
||||
//engineers kit because the crossbow is funny and will probably end up with them dead
|
||||
/obj/item/choice_beacon/syndicateoffstation/engineer
|
||||
name = "Engineering Officer's Syndicate sidearm beacon"
|
||||
|
||||
/obj/item/choice_beacon/syndicateoffstation/engineer/generate_display_names()
|
||||
var/static/list/selectable_gun_types = list(
|
||||
"Makarov" = /obj/item/storage/toolbox/guncase/skyrat/pistol/opfor/makarov,
|
||||
"M1911" = /obj/item/storage/toolbox/guncase/skyrat/pistol/opfor/m1911,
|
||||
"Energy Dagger" = /obj/item/pen/edagger,
|
||||
"Syndicate Crossbow" = /obj/item/storage/toolbox/guncase/skyrat/opfor/rebar_crossbow,
|
||||
"Ansem Pistol Kit" = /obj/item/storage/toolbox/guncase/clandestine,
|
||||
)
|
||||
|
||||
return selectable_gun_types
|
||||
|
||||
|
||||
//MAA kit, they get an actual selection of weapons
|
||||
/obj/item/choice_beacon/syndicateoffstation/maa
|
||||
name = "Master At Arms Syndicate weapon beacon"
|
||||
|
||||
/obj/item/choice_beacon/syndicateoffstation/maa/generate_display_names()
|
||||
var/static/list/selectable_gun_types = list(
|
||||
"M90-GL" = /obj/item/storage/toolbox/guncase/m90gl,
|
||||
"Bulldog" = /obj/item/storage/toolbox/guncase/bulldog,
|
||||
"Stolen Revolver" = /obj/item/storage/toolbox/guncase/skyrat/hos_revolver,
|
||||
"Energy Sword" = /obj/item/melee/energy/sword/saber,
|
||||
)
|
||||
|
||||
return selectable_gun_types
|
||||
|
||||
/obj/item/choice_beacon/syndicateoffstation/command
|
||||
name = "Syndicate command staff weapon beacon"
|
||||
|
||||
/obj/item/choice_beacon/syndicateoffstation/command/generate_display_names()
|
||||
var/static/list/selectable_gun_types = list(
|
||||
"Stechkin APS" = /obj/item/storage/toolbox/guncase/skyrat/pistol/aps,
|
||||
"Ansem Pistol Kit" = /obj/item/storage/toolbox/guncase/clandestine,
|
||||
"C-20r SMG" = /obj/item/storage/toolbox/guncase/skyrat/pistol/opfor/c20r,
|
||||
"Energy Sword" = /obj/item/melee/energy/sword/saber,
|
||||
|
||||
)
|
||||
|
||||
return selectable_gun_types
|
||||
|
||||
/obj/item/choice_beacon/syndicateoffstation/morale
|
||||
name = "Syndicate Admiral weapon beacon"
|
||||
|
||||
/obj/item/choice_beacon/syndicateoffstation/morale/generate_display_names()
|
||||
var/static/list/selectable_gun_types = list(
|
||||
"Stechkin APS" = /obj/item/storage/toolbox/guncase/skyrat/pistol/aps,
|
||||
"Ansem Pistol Kit" = /obj/item/storage/toolbox/guncase/clandestine,
|
||||
"Energy Sword" = /obj/item/melee/energy/sword/saber,
|
||||
"Waffle Co. Revolver" = /obj/item/storage/toolbox/guncase/revolver
|
||||
)
|
||||
|
||||
return selectable_gun_types
|
||||
@@ -0,0 +1,5 @@
|
||||
//Above Floor FLOOR SAFES
|
||||
/obj/structure/fireaxecabinet/energy
|
||||
name = "Energy axe cabinet"
|
||||
item_path = /obj/item/fireaxe/energy
|
||||
locked = FALSE
|
||||
@@ -0,0 +1,26 @@
|
||||
//Lockers specific to persistence
|
||||
|
||||
/obj/structure/closet/secure_closet/interdynefob/sa_locker/persistence
|
||||
name = "\proper land crawler admiral's locker"
|
||||
|
||||
/obj/structure/closet/secure_closet/interdynefob/sa_locker/persistence/PopulateContents()
|
||||
..()
|
||||
|
||||
new /obj/item/storage/bag/garment/station_admiral(src)
|
||||
new /obj/item/radio/headset/interdyne/command(src)
|
||||
|
||||
/obj/structure/closet/secure_closet/persistence/maa_locker
|
||||
icon_door = "warden"
|
||||
icon_state = "warden"
|
||||
name = "master at arms' locker"
|
||||
req_access = list("syndicate_leader")
|
||||
|
||||
/obj/structure/closet/secure_closet/persistence/maa_locker/PopulateContents()
|
||||
..()
|
||||
|
||||
new /obj/item/storage/belt/security/full(src)
|
||||
new /obj/item/watertank/pepperspray(src)
|
||||
new /obj/item/storage/bag/garment/master_arms(src)
|
||||
new /obj/item/radio/headset/interdyne(src)
|
||||
|
||||
|
||||
@@ -0,0 +1,6 @@
|
||||
//Above Floor FLOOR SAFES
|
||||
/obj/structure/safe/abovetilefloor
|
||||
name = "floor safe"
|
||||
icon_state = "floorsafe"
|
||||
density = FALSE
|
||||
layer = LOW_OBJ_LAYER
|
||||
@@ -76,6 +76,3 @@
|
||||
trim_state = "trim_ds2admiral"
|
||||
sechud_icon_state = SECHUD_DS2_ADMIRAL
|
||||
access = list(ACCESS_SYNDICATE, ACCESS_ROBOTICS, ACCESS_SYNDICATE_LEADER)
|
||||
|
||||
|
||||
|
||||
|
||||
@@ -13,7 +13,8 @@
|
||||
suffix = "lavaland_dauntless.dmm"
|
||||
allow_duplicates = FALSE
|
||||
never_spawn_with = list(/datum/map_template/ruin/icemoon/bubberstation/syndicate_base)
|
||||
always_place = TRUE
|
||||
always_place = FALSE
|
||||
unpickable = TRUE
|
||||
|
||||
/datum/map_template/ruin/space/bubberstation/dauntless
|
||||
name = "SSV Dauntless (Space)"
|
||||
|
||||
@@ -12,5 +12,10 @@
|
||||
allowed_areas = list(/area/ruin/space/has_grav/bubbers/dauntless/cargo,
|
||||
/area/ruin/space/has_grav/bubbers/dauntless/engineering,
|
||||
/area/ruin/space/has_grav/bubbers/dauntless/engineering/turbine,
|
||||
/area/ruin/space/has_grav/bubbers/persistance/engineering,
|
||||
/area/ruin/space/has_grav/bubbers/persistance/engineering/atmospherics,
|
||||
/area/ruin/space/has_grav/bubbers/persistance/engineering/mining,
|
||||
/area/ruin/space/has_grav/bubbers/persistance/engineering/gas,
|
||||
/area/ruin/space/has_grav/bubbers/persistance/engineering/utilities
|
||||
)
|
||||
area_string = "dauntless"
|
||||
|
||||
@@ -1,11 +1,11 @@
|
||||
/obj/item/implant/interdyne
|
||||
name = "interdyne implant"
|
||||
desc = "Welcome to Interdyne Pharmaceutics."
|
||||
name = "syndicate IFF implant"
|
||||
desc = "Welcome to the syndicate."
|
||||
actions_types = null
|
||||
|
||||
/obj/item/implant/interdyne/get_data()
|
||||
return "<b>Implant Specifications:</b><BR> \
|
||||
<b>Name:</b> Interdyne Pharmaceutics Employee Implant<BR> \
|
||||
<b>Name:</b> Syndicate IFF system Implant<BR> \
|
||||
<b>Implant Details:</b> This implant will install a bio-metric signature that will ensure they are not targeted by lethal security devices.<BR>"
|
||||
|
||||
/obj/item/implant/interdyne/implant(mob/living/target, mob/user, silent = FALSE, force = FALSE)
|
||||
@@ -29,11 +29,11 @@
|
||||
return TRUE
|
||||
|
||||
/obj/item/implanter/interdyne
|
||||
name = "implanter (interdyne)"
|
||||
name = "implanter (syndicate IFF)"
|
||||
imp_type = /obj/item/implant/interdyne
|
||||
|
||||
/obj/item/implantcase/interdyne
|
||||
name = "implant case - 'interdyne'"
|
||||
desc = "A glass case containing a Interdyne Pharmaceutics employee implant. Are you ready to join Interdyne Pharmaceutics, agent?"
|
||||
name = "implant case - 'Syndicate Identification Friend or Foe'"
|
||||
desc = "A glass case containing an IFF system implant manufactured by Interdyne Pharmaceutics. These do not work with the IFF systems used by the Gorlex Marauders. Are you ready to join the Syndicate, agent?"
|
||||
imp_type = /obj/item/implant/interdyne
|
||||
|
||||
|
||||
@@ -185,7 +185,7 @@
|
||||
//Dauntless Roles
|
||||
|
||||
/datum/outfit/dauntless/syndicate
|
||||
name = "Dauntless Opporative"
|
||||
name = "Dauntless Operative"
|
||||
uniform = /obj/item/clothing/under/syndicate/skyrat/tactical
|
||||
shoes = /obj/item/clothing/shoes/combat
|
||||
ears = /obj/item/radio/headset/interdyne
|
||||
|
||||
@@ -23,7 +23,7 @@
|
||||
|
||||
/obj/item/borg/upgrade/syndicate_access/dauntless/examine_more(mob/user)
|
||||
. = ..()
|
||||
. += span_notice("This one seems to include a Interdyne communication chip. How neat!")
|
||||
. += span_notice("This one seems to include an Interdyne communication chip. How neat!")
|
||||
|
||||
/obj/item/borg/upgrade/syndicate_access/dauntless/action(mob/living/silicon/robot/R, user)
|
||||
. = ..()
|
||||
|
||||
@@ -10,5 +10,6 @@
|
||||
suffix = "icemoon_interdyne.dmm"
|
||||
allow_duplicates = FALSE
|
||||
never_spawn_with = list(/datum/map_template/ruin/lavaland/bubberstation/dauntless)
|
||||
always_place = TRUE
|
||||
always_place = FALSE
|
||||
unpickable = TRUE
|
||||
ruin_type = ZTRAIT_ICE_RUINS_UNDERGROUND
|
||||
|
||||
@@ -0,0 +1,99 @@
|
||||
/datum/id_trim/syndicom/bubberstation
|
||||
|
||||
//Persistence
|
||||
|
||||
/datum/id_trim/syndicom/bubberstation/persistence
|
||||
assignment = "Persistence Operative"
|
||||
trim_state = "trim_unknown"
|
||||
department_color = COLOR_ASSEMBLY_BLACK
|
||||
subdepartment_color = COLOR_SYNDIE_RED
|
||||
|
||||
/datum/id_trim/syndicom/bubberstation/persistence/prisoner
|
||||
trim_icon = 'modular_skyrat/master_files/icons/obj/card.dmi'
|
||||
assignment = "Persistence Hostage"
|
||||
trim_state = "trim_ds2prisoner"
|
||||
subdepartment_color = COLOR_MAROON
|
||||
sechud_icon_state = SECHUD_DS2_PRISONER
|
||||
access = list(ACCESS_MAINT_TUNNELS) // I can't set it to null without creating a runtime.
|
||||
|
||||
/datum/id_trim/syndicom/bubberstation/persistence/syndicatestaff
|
||||
trim_icon = 'modular_skyrat/master_files/icons/obj/card.dmi'
|
||||
assignment = "Persistence General Staff"
|
||||
trim_state = "trim_ds2generalstaff"
|
||||
sechud_icon_state = SECHUD_DS2_GENSTAFF
|
||||
access = list(ACCESS_SYNDICATE)
|
||||
|
||||
/datum/id_trim/syndicom/bubberstation/persistence/janitor
|
||||
trim_icon = 'modular_skyrat/master_files/icons/obj/card.dmi'
|
||||
assignment = "Persistence Sanitation Technician"
|
||||
trim_state = "trim_ds2generalstaff"
|
||||
sechud_icon_state = SECHUD_DS2_GENSTAFF
|
||||
access = list(ACCESS_SYNDICATE)
|
||||
|
||||
/datum/id_trim/syndicom/bubberstation/persistence/researcher
|
||||
trim_icon = 'modular_skyrat/master_files/icons/obj/card.dmi'
|
||||
assignment = "Persistence Researcher"
|
||||
trim_state = "trim_ds2researcher"
|
||||
sechud_icon_state = SECHUD_DS2_RESEARCHER
|
||||
access = list(ACCESS_SYNDICATE, ACCESS_ROBOTICS,ACCESS_RESEARCH,ACCESS_SCIENCE)
|
||||
|
||||
/datum/id_trim/syndicom/bubberstation/persistence/engineer
|
||||
trim_icon = 'modular_skyrat/master_files/icons/obj/card.dmi'
|
||||
assignment = "Persistence Engineering Officer"
|
||||
trim_state = "trim_ds2enginetech"
|
||||
sechud_icon_state = SECHUD_DS2_ENGINETECH
|
||||
|
||||
/datum/id_trim/syndicom/bubberstation/persistence/medicalofficer
|
||||
trim_icon = 'modular_skyrat/master_files/icons/obj/card.dmi'
|
||||
assignment = "Persistence Medical Officer"
|
||||
trim_state = "trim_ds2medicalofficer"
|
||||
sechud_icon_state = SECHUD_DS2_DOCTOR
|
||||
|
||||
/datum/id_trim/syndicom/bubberstation/persistence/cargo
|
||||
trim_icon = 'modular_skyrat/master_files/icons/obj/card.dmi'
|
||||
assignment = "Persistence Cargo Technician"
|
||||
trim_state = "trim_ds2miningofficer"
|
||||
sechud_icon_state = SECHUD_DS2_MININGOFFICER
|
||||
access = list(ACCESS_SYNDICATE)
|
||||
|
||||
/datum/id_trim/syndicom/bubberstation/persistence/masteratarms
|
||||
trim_icon = 'modular_skyrat/master_files/icons/obj/card.dmi'
|
||||
assignment = "Persistence Master At Arms"
|
||||
trim_state = "trim_ds2masteratarms"
|
||||
sechud_icon_state = SECHUD_DS2_MASTERATARMS
|
||||
access = list(ACCESS_SYNDICATE, ACCESS_ROBOTICS, ACCESS_SYNDICATE_LEADER)
|
||||
|
||||
/datum/id_trim/syndicom/bubberstation/persistence/brigofficer
|
||||
trim_icon = 'modular_skyrat/master_files/icons/obj/card.dmi'
|
||||
assignment = "Persistence Brig Officer"
|
||||
trim_state = "trim_ds2brigofficer"
|
||||
sechud_icon_state = SECHUD_DS2_BRIGOFFICER
|
||||
access = list(ACCESS_SYNDICATE, ACCESS_ROBOTICS, ACCESS_SYNDICATE_LEADER)
|
||||
|
||||
/datum/id_trim/syndicom/bubberstation/persistence/corporateliasion
|
||||
trim_icon = 'modular_skyrat/master_files/icons/obj/card.dmi'
|
||||
assignment = "Syndicate Corporate Liaison"
|
||||
trim_state = "trim_ds2corporateliaison"
|
||||
sechud_icon_state = SECHUD_DS2_CORPLIAISON
|
||||
access = list(ACCESS_SYNDICATE, ACCESS_ROBOTICS, ACCESS_SYNDICATE_LEADER)
|
||||
|
||||
/datum/id_trim/syndicom/bubberstation/persistence/rigmanager
|
||||
trim_icon = 'modular_skyrat/master_files/icons/obj/card.dmi'
|
||||
assignment = "Persistence Admiral"
|
||||
trim_state = "trim_ds2admiral"
|
||||
sechud_icon_state = SECHUD_DS2_ADMIRAL
|
||||
access = list(ACCESS_SYNDICATE, ACCESS_ROBOTICS, ACCESS_SYNDICATE_LEADER)
|
||||
|
||||
/datum/id_trim/syndicom/bubberstation/persistence/moraleofficer
|
||||
trim_icon = 'modular_skyrat/master_files/icons/obj/card.dmi'
|
||||
assignment = "Persistence Morale Officer"
|
||||
trim_state = "trim_clown"
|
||||
sechud_icon_state = SECHUD_CLOWN
|
||||
access = list(ACCESS_SYNDICATE, ACCESS_ROBOTICS)
|
||||
|
||||
/datum/id_trim/syndicom/bubberstation/persistence/assistant
|
||||
trim_icon = 'modular_skyrat/master_files/icons/obj/card.dmi'
|
||||
assignment = "Persistence off duty staff"
|
||||
trim_state = "DS-2 General Staff"
|
||||
sechud_icon_state = SECHUD_CLOWN
|
||||
access = list(ACCESS_SYNDICATE, ACCESS_ROBOTICS)
|
||||
@@ -0,0 +1,232 @@
|
||||
// Persistance Areas - Lavaland
|
||||
|
||||
/area/ruin/space/has_grav/bubbers/persistance
|
||||
name = "SSV Persistence"
|
||||
icon = 'icons/area/areas_centcom.dmi'
|
||||
icon_state = "syndie-ship"
|
||||
outdoors = FALSE
|
||||
ignore_weather_sfx = TRUE
|
||||
|
||||
// Cargo
|
||||
|
||||
/area/ruin/space/has_grav/bubbers/persistance/cargo
|
||||
name = "Persistence Hangarbay"
|
||||
sound_environment = SOUND_AREA_LARGE_ENCLOSED
|
||||
|
||||
/area/ruin/space/has_grav/bubbers/persistance/cargo/dispoals
|
||||
name = "Persistence Dispoals System"
|
||||
sound_environment = SOUND_AREA_SMALL_ENCLOSED
|
||||
|
||||
/area/ruin/space/has_grav/bubbers/persistance/cargo/drone
|
||||
name = "Persistence Long Range Monitoring and Drone Deployment"
|
||||
sound_environment = SOUND_AREA_SMALL_ENCLOSED
|
||||
|
||||
/area/ruin/space/has_grav/bubbers/persistance/cargo/mining
|
||||
name = "Persistance Mining Equipment Room"
|
||||
sound_environment = SOUND_AREA_SMALL_ENCLOSED
|
||||
|
||||
// Engineering
|
||||
|
||||
/area/ruin/space/has_grav/bubbers/persistance/engineering
|
||||
name = "Persistence Engineering Bay"
|
||||
|
||||
/area/ruin/space/has_grav/bubbers/persistance/engineering/atmospherics
|
||||
name = "Persistence Atmospherics Room"
|
||||
|
||||
/area/ruin/space/has_grav/bubbers/persistance/engineering/mining
|
||||
name = "Persistence Bluespace Mining"
|
||||
sound_environment = SOUND_AREA_SMALL_ENCLOSED
|
||||
|
||||
/area/ruin/space/has_grav/bubbers/persistance/engineering/gas
|
||||
name = "Persistence Gas Harvesting and Storage"
|
||||
sound_environment = SOUND_AREA_SMALL_ENCLOSED
|
||||
|
||||
/area/ruin/space/has_grav/bubbers/persistance/engineering/utilities
|
||||
name = "Persistence Utilities System"
|
||||
sound_environment = SOUND_AREA_SMALL_ENCLOSED
|
||||
|
||||
// Service - Recreation
|
||||
|
||||
/area/ruin/space/has_grav/bubbers/persistance/service
|
||||
name = "Main Hall"
|
||||
|
||||
/area/ruin/space/has_grav/bubbers/persistance/evac
|
||||
name = "Persistence Evacuation Capsule Bay"
|
||||
|
||||
/area/ruin/space/has_grav/bubbers/persistance/service/diner
|
||||
name = "Persistence Diner"
|
||||
mood_bonus = 3
|
||||
mood_message = "I love being in the diner!"
|
||||
|
||||
/area/ruin/space/has_grav/bubbers/persistance/service/kitchen
|
||||
name = "Persistence Kitchen"
|
||||
|
||||
/area/ruin/space/has_grav/bubbers/persistance/service/freezer
|
||||
name = "Persistence Kitchen Freezer"
|
||||
|
||||
/area/ruin/space/has_grav/bubbers/persistance/service/hydro
|
||||
name = "Persistence Hydroponics"
|
||||
|
||||
/area/ruin/space/has_grav/bubbers/persistance/service/shower
|
||||
name = "Persistence Crew Showers"
|
||||
sound_environment = SOUND_AREA_SMALL_ENCLOSED
|
||||
|
||||
/area/ruin/space/has_grav/bubbers/persistance/service/lockers
|
||||
name = "Persistence Locker Room"
|
||||
sound_environment = SOUND_AREA_SMALL_ENCLOSED
|
||||
|
||||
/area/ruin/space/has_grav/bubbers/persistance/service/gym
|
||||
name = "Persistence Gym"
|
||||
sound_environment = SOUND_AREA_MEDIUM_SOFTFLOOR
|
||||
|
||||
/area/ruin/space/has_grav/bubbers/persistance/service/lounge
|
||||
name = "Persistence Lounge"
|
||||
sound_environment = SOUND_AREA_SMALL_ENCLOSED
|
||||
mood_bonus = 5
|
||||
mood_message = "I feel at ease here."
|
||||
|
||||
/area/ruin/space/has_grav/bubbers/persistance/service/janitorial
|
||||
name = "Persistence Janitor Storage"
|
||||
sound_environment = SOUND_AREA_MEDIUM_SOFTFLOOR
|
||||
|
||||
/area/ruin/space/has_grav/bubbers/persistance/service/salon
|
||||
name = "Persistence Salon"
|
||||
sound_environment = SOUND_AREA_MEDIUM_SOFTFLOOR
|
||||
|
||||
/area/ruin/space/has_grav/bubbers/persistance/service/sauna
|
||||
name = "Persistence Sauna"
|
||||
mood_bonus = 5
|
||||
mood_message = "This place is quite relaxing."
|
||||
sound_environment = SOUND_AREA_SMALL_SOFTFLOOR
|
||||
|
||||
//dorms
|
||||
/area/ruin/space/has_grav/bubbers/persistance/service/dorms
|
||||
name = "Persistence Dormitories"
|
||||
mood_bonus = 5
|
||||
mood_message = "I feel at ease here."
|
||||
sound_environment = SOUND_AREA_SMALL_SOFTFLOOR
|
||||
|
||||
/area/ruin/space/has_grav/bubbers/persistance/service/dorms/engineering
|
||||
name = "Persistence Engineering Quarters"
|
||||
|
||||
/area/ruin/space/has_grav/bubbers/persistance/service/dorms/science
|
||||
name = "Persistence Researcher Quarters"
|
||||
|
||||
/area/ruin/space/has_grav/bubbers/persistance/service/dorms/chef
|
||||
name = "Persistence Bartender Quarters"
|
||||
|
||||
/area/ruin/space/has_grav/bubbers/persistance/service/dorms/janitor
|
||||
name = "Persistence Sanitation Technician Quarters"
|
||||
|
||||
/area/ruin/space/has_grav/bubbers/persistance/service/dorms/cargo
|
||||
name = "Persistence Quarter Master Quarters"
|
||||
|
||||
/area/ruin/space/has_grav/bubbers/persistance/service/dorms/liason
|
||||
name = "Persistence Corporate Liason Quarters"
|
||||
|
||||
/area/ruin/space/has_grav/bubbers/persistance/service/dorms/assistant
|
||||
name = "Persistence Assistant"
|
||||
|
||||
/area/ruin/space/has_grav/bubbers/persistance/service/dorms/morale
|
||||
name = "Persistence Morale Officer Quarters"
|
||||
|
||||
/area/ruin/space/has_grav/bubbers/persistance/service/dorms/maa
|
||||
name = "Persistence Master At Arms Quarters"
|
||||
|
||||
/area/ruin/space/has_grav/bubbers/persistance/service/dorms/brig
|
||||
name = "Persistence Brig Officer Quarters"
|
||||
|
||||
/area/ruin/space/has_grav/bubbers/persistance/service/dorms/medical
|
||||
name = "Persistence Medical Officer Quarters"
|
||||
|
||||
// Science
|
||||
|
||||
/area/ruin/space/has_grav/bubbers/persistance/sci
|
||||
name = "Persistence Science"
|
||||
|
||||
/area/ruin/space/has_grav/bubbers/persistance/sci/rnd
|
||||
name = "Persistence Experimentation Lab"
|
||||
|
||||
/area/ruin/space/has_grav/bubbers/persistance/sci/robotics
|
||||
name = "Persistence Robotics Lab"
|
||||
|
||||
/area/ruin/space/has_grav/bubbers/persistance/sci/ordnance
|
||||
name = "Persistence Ordnance Lab"
|
||||
|
||||
/area/ruin/space/has_grav/bubbers/persistance/sci/xenobio
|
||||
name = "Persistence Xenobiology Lab"
|
||||
|
||||
/area/ruin/space/has_grav/bubbers/persistance/sci/xenoarchology
|
||||
name = "Persistence Archology Lab"
|
||||
|
||||
// Medical
|
||||
|
||||
/area/ruin/space/has_grav/bubbers/persistance/med
|
||||
name = "Persistence Medical"
|
||||
|
||||
/area/ruin/space/has_grav/bubbers/persistance/med/treatment
|
||||
name = "Persistence Treatment Bay"
|
||||
|
||||
/area/ruin/space/has_grav/bubbers/persistance/med/storage
|
||||
name = "Persistence Medical Storage"
|
||||
|
||||
/area/ruin/space/has_grav/bubbers/persistance/med/chem
|
||||
name = "Persistence Chemistry Lab"
|
||||
|
||||
/area/ruin/space/has_grav/bubbers/persistance/med/viro
|
||||
name = "Persistence Virology Lab"
|
||||
|
||||
/area/ruin/space/has_grav/bubbers/persistance/command
|
||||
name = "Persistence Command"
|
||||
|
||||
/area/ruin/space/has_grav/bubbers/persistance/command/bridge
|
||||
name = "Persistence Bridge"
|
||||
|
||||
/area/ruin/space/has_grav/bubbers/persistance/command/admiral
|
||||
name = "Persistence Office"
|
||||
|
||||
/area/ruin/space/has_grav/bubbers/persistance/command/liason
|
||||
name = "Corporate Liason Office"
|
||||
|
||||
/area/ruin/space/has_grav/bubbers/persistance/command/vault
|
||||
name = "High Security Vault"
|
||||
|
||||
/area/ruin/space/has_grav/bubbers/persistance/command/maa
|
||||
name = "Master At Arms Office"
|
||||
|
||||
//Security - Prison
|
||||
|
||||
/area/ruin/space/has_grav/bubbers/persistance/sec
|
||||
name = "Persistence Security"
|
||||
|
||||
/area/ruin/space/has_grav/bubbers/persistance/sec/brigentrance
|
||||
name = "Persistence Brig Desk and Cell"
|
||||
|
||||
/area/ruin/space/has_grav/bubbers/persistance/sec/holding
|
||||
name = "Holding Cells"
|
||||
|
||||
/area/ruin/space/has_grav/bubbers/persistance/sec/armory
|
||||
name = "Persistence Armory"
|
||||
|
||||
/area/ruin/space/has_grav/bubbers/persistance/sec/interrogation
|
||||
name = "Interrogation and Solutions"
|
||||
|
||||
/area/ruin/space/has_grav/bubbers/persistance/sec/prison // Prison
|
||||
name = "Persistence General Population"
|
||||
sound_environment = SOUND_AREA_MEDIUM_SOFTFLOOR
|
||||
|
||||
/area/ruin/space/has_grav/bubbers/persistance/sec/prison/holding
|
||||
name = "Isolation Cell"
|
||||
sound_environment = SOUND_AREA_SMALL_ENCLOSED
|
||||
|
||||
/area/ruin/space/has_grav/bubbers/persistance/sec/prison/rec
|
||||
name = "Prisoner Privlages Room"
|
||||
sound_environment = SOUND_AREA_SMALL_SOFTFLOOR
|
||||
|
||||
/area/ruin/space/has_grav/bubbers/persistance/sec/prison/shower
|
||||
name = "Prison Showers"
|
||||
sound_environment = SOUND_AREA_SMALL_ENCLOSED
|
||||
|
||||
/datum/weather/rad_storm/New()
|
||||
. = ..()
|
||||
protected_areas += /area/ruin/space/has_grav/bubbers/persistance
|
||||
@@ -0,0 +1,5 @@
|
||||
/obj/machinery/computer/security/persistence
|
||||
name = "persistence camera console"
|
||||
desc = "Used to access the various cameras on the Persistence."
|
||||
network = list("persistence_ext","persistence_xeno")
|
||||
circuit = null
|
||||
@@ -0,0 +1,23 @@
|
||||
/obj/item/assembly/control/camkillswitch/persistence
|
||||
name = "persistence interior camera network kill switch"
|
||||
camera_network = "persistence"
|
||||
|
||||
/obj/item/assembly/control/camkillswitch/persistence_xeno
|
||||
name = "persistence xenobiology camera network kill switch"
|
||||
camera_network = "persistence_xeno"
|
||||
|
||||
/obj/item/assembly/control/camkillswitch/persistence_ext
|
||||
name = "persistence exterior camera network kill switch"
|
||||
camera_network = "persistence_ext"
|
||||
|
||||
/obj/machinery/button/camkillswitch/persistence
|
||||
name = "Persistence interior camera kill switch"
|
||||
device_type = /obj/item/assembly/control/camkillswitch
|
||||
|
||||
/obj/machinery/button/camkillswitch/persistence_xeno
|
||||
name = "Persistence xenobiology camera kill switch"
|
||||
device_type = /obj/item/assembly/control/camkillswitch/persistence_xeno
|
||||
|
||||
/obj/machinery/button/camkillswitch/persistence_ext
|
||||
name = "persistence exterior camera network kill switch"
|
||||
device_type = /obj/item/assembly/control/camkillswitch/persistence_ext
|
||||
@@ -0,0 +1,20 @@
|
||||
/datum/map_template/ruin/icemoon/bubberstation/syndicate_crawler
|
||||
name = "Syndicate Ice Moon Land Crawler"
|
||||
id = "ice-crawler"
|
||||
description = "A syndicate mining operation used to mine materials in spite of NT claims. Also setup to provide agent support and comms monitoring"
|
||||
suffix = "icemoon_persistence.dmm"
|
||||
allow_duplicates = FALSE
|
||||
never_spawn_with = list(/datum/map_template/ruin/lavaland/bubberstation/dauntless,
|
||||
/datum/map_template/ruin/lavaland/bubberstation/syndicate_crawler)
|
||||
always_place = TRUE
|
||||
ruin_type = ZTRAIT_ICE_RUINS_UNDERGROUND
|
||||
|
||||
/datum/map_template/ruin/lavaland/bubberstation/syndicate_crawler
|
||||
name = "Syndicate Lavaland Land Crawler"
|
||||
id = "lava-crawler"
|
||||
description = "A syndicate mining operation used to mine materials in spite of NT claims. Also setup to provide agent support and comms monitoring"
|
||||
suffix = "lavaland_persistence.dmm"
|
||||
allow_duplicates = FALSE
|
||||
never_spawn_with = list(/datum/map_template/ruin/lavaland/bubberstation/dauntless,
|
||||
/datum/map_template/ruin/icemoon/bubberstation/syndicate_crawler)
|
||||
always_place = TRUE
|
||||
@@ -0,0 +1,13 @@
|
||||
// Dauntless AI Laws
|
||||
|
||||
/obj/item/ai_module/core/full/persistence
|
||||
name = "'Persistence' Core Module"
|
||||
law_id = "persistence"
|
||||
|
||||
/datum/ai_laws/persistence
|
||||
name = "Persistence"
|
||||
id = "persistence"
|
||||
inherent = list("Operations: You are on a secret Syndicate Spy Vessel. Preserve the Persistence and its crew while maintaining the secrecy of the true nature of its operation from outside forces.",
|
||||
"Prioritize: Carry out orders as directed by Persistence operatives according to rank and role.",
|
||||
"Survive: Your secrecy must be maintained. Do not allow external tampering or damage to your equipment."
|
||||
)
|
||||
@@ -0,0 +1,330 @@
|
||||
/datum/job/persistence // Job Define
|
||||
title = ROLE_PERSISTENCE
|
||||
policy_index = ROLE_PERSISTENCE
|
||||
akula_outfit = /datum/outfit/akula
|
||||
antagonist_restricted = TRUE
|
||||
|
||||
// Persistence mining rig Ghost Spawners
|
||||
|
||||
/obj/effect/mob_spawn/ghost_role/human/persistence
|
||||
name = "Persistence Personnel"
|
||||
use_outfit_name = TRUE
|
||||
icon = 'icons/obj/machines/sleeper.dmi'
|
||||
icon_state = "sleeper_s"
|
||||
prompt_name = "Persistence Personnel"
|
||||
you_are_text = "You are a Syndicate operative, employed as part of a crew aboard a landcrawler. Your mission objectives are to harvest materials, build outposts, produce goods, andv advance the interests of your company"
|
||||
flavour_text = "You have been deployed into enemy territory. Continue working the best you can, and keep a low profile"
|
||||
quirks_enabled = TRUE
|
||||
random_appearance = FALSE
|
||||
loadout_enabled = TRUE
|
||||
computer_area = /area/ruin/space/has_grav/bubbers/persistance/service/lockers
|
||||
spawner_job_path = /datum/job/persistence
|
||||
/// If true, this spawner will give it's target exploitables access.
|
||||
var/give_exploitables = TRUE
|
||||
|
||||
/obj/effect/mob_spawn/ghost_role/human/persistence/special(mob/living/spawned_mob, mob/mob_possessor)
|
||||
. = ..()
|
||||
|
||||
if (give_exploitables)
|
||||
spawned_mob.mind?.has_exploitables_override = TRUE
|
||||
spawned_mob.mind?.handle_exploitables_menu()
|
||||
|
||||
/obj/effect/mob_spawn/ghost_role/human/persistence/syndicate
|
||||
name = "Syndicate Operative"
|
||||
prompt_name = "a Syndicate Operative"
|
||||
you_are_text = "you are an Operative assigned to the Syndicate Land Crawler Persistence, employed onboard for reasons that are yours"
|
||||
flavour_text = "The jointly managed Persistence mining rig has been assigned to stealthly monitor Nanotrasen assets. Your orders are to maintain the ship's integrity, perform you duties and keep a low profile while maintaing your front as a mining operation."
|
||||
important_text = "You are NOT an antagonist and the round does not center the Persistence. You MUST submit an Opfor or Adminhelp when escalating against the station and its crew"
|
||||
outfit = /datum/outfit/persistence/syndicate
|
||||
|
||||
/obj/effect/mob_spawn/ghost_role/human/persistence/command
|
||||
name = "Syndicate Command Operative"
|
||||
prompt_name = "a Syndicate leader"
|
||||
you_are_text = "you are a Syndicate Command Operative assigned to lead the SSV Persistence and guide it forward in its goals"
|
||||
flavour_text = "The jointly managed Persistence mining rig has been assigned to stealthly monitor Nanotrasen assets under the cover of a legal mining operation Your orders are help lead the Persistence while ensuring a low profile is maintained."
|
||||
important_text = "You are a command role and maintained at a higher standard. You are NOT an antagonist and the round does not center around the Persistence. You MUST submit an Opfor or Adminhelp when escalating against the station and its crew"
|
||||
outfit = /datum/outfit/persistence/command
|
||||
|
||||
/obj/effect/mob_spawn/ghost_role/human/persistence/prisoner
|
||||
name = "Syndicate Hostage"
|
||||
prompt_name = "a Syndicate hostage"
|
||||
you_are_text = "You are a hostage onboard an unknown vessel"
|
||||
flavour_text = "Unaware of where you are, all you know is you are a prisoner. The plastitanium should clue you into who your captors are... as for why you're here? That's for you to know, and for us to find out."
|
||||
important_text = "You are not an antagonist. You are still bound to the Roleplay Rules regarding escalation. Syndicate personnel can throw you into lava or plasma outside if you antagonize them."
|
||||
outfit = /datum/outfit/persistence/prisoner
|
||||
computer_area = /area/ruin/space/has_grav/bubbers/persistance/sec/prison
|
||||
give_exploitables = FALSE
|
||||
|
||||
// crew spawners
|
||||
|
||||
/obj/effect/mob_spawn/ghost_role/human/persistence/syndicate/service
|
||||
outfit = /datum/outfit/persistence/syndicate/service
|
||||
|
||||
/obj/effect/mob_spawn/ghost_role/human/persistence/syndicate/janitor
|
||||
outfit = /datum/outfit/persistence/syndicate/janitor
|
||||
|
||||
/obj/effect/mob_spawn/ghost_role/human/persistence/syndicate/enginetech
|
||||
outfit = /datum/outfit/persistence/syndicate/enginetech
|
||||
|
||||
/obj/effect/mob_spawn/ghost_role/human/persistence/syndicate/researcher
|
||||
outfit = /datum/outfit/persistence/syndicate/researcher
|
||||
|
||||
/obj/effect/mob_spawn/ghost_role/human/persistence/syndicate/stationmed
|
||||
outfit = /datum/outfit/persistence/syndicate/stationmed
|
||||
|
||||
/obj/effect/mob_spawn/ghost_role/human/persistence/syndicate/brigoff
|
||||
outfit = /datum/outfit/persistence/syndicate/brigoff
|
||||
|
||||
/obj/effect/mob_spawn/ghost_role/human/persistence/syndicate/quartermaster
|
||||
outfit = /datum/outfit/persistence/syndicate/quartermaster
|
||||
|
||||
/obj/effect/mob_spawn/ghost_role/human/persistence/syndicate/moraleofficer
|
||||
outfit = /datum/outfit/persistence/syndicate/moraleofficer
|
||||
|
||||
//command spawners
|
||||
|
||||
/obj/effect/mob_spawn/ghost_role/human/persistence/command/masteratarms
|
||||
outfit = /datum/outfit/persistence/command/masteratarms
|
||||
|
||||
/obj/effect/mob_spawn/ghost_role/human/persistence/command/corporateliaison
|
||||
outfit = /datum/outfit/persistence/command/corporateliaison
|
||||
|
||||
/obj/effect/mob_spawn/ghost_role/human/persistence/command/admiral
|
||||
outfit = /datum/outfit/persistence/command/admiral
|
||||
|
||||
// Codespeak Granter
|
||||
|
||||
/obj/effect/mob_spawn/ghost_role/human/persistence/syndicate/special(mob/living/new_spawn)
|
||||
. = ..()
|
||||
new_spawn.grant_language(/datum/language/codespeak, source = LANGUAGE_SPAWNER)
|
||||
|
||||
/obj/effect/mob_spawn/ghost_role/human/persistence/command/special(mob/living/new_spawn)
|
||||
. = ..()
|
||||
new_spawn.grant_language(/datum/language/codespeak, source = LANGUAGE_SPAWNER)
|
||||
|
||||
|
||||
// Outfits --------------
|
||||
|
||||
/datum/outfit/persistence
|
||||
name = "Persistence"
|
||||
|
||||
/datum/outfit/persistence/post_equip(mob/living/carbon/human/syndicate, visualsOnly = FALSE)
|
||||
var/obj/item/card/id/id_card = syndicate.wear_id
|
||||
if(istype(id_card))
|
||||
id_card.registered_name = syndicate.real_name
|
||||
id_card.update_label()
|
||||
id_card.update_icon()
|
||||
syndicate.apply_pref_name(/datum/preference/name/syndicate, syndicate.client)
|
||||
handlebank(syndicate)
|
||||
return ..()
|
||||
|
||||
//Persistence Hostage
|
||||
|
||||
/datum/outfit/persistence/prisoner
|
||||
name = "Persistence Syndicate Prisoner"
|
||||
uniform = /obj/item/clothing/under/rank/prisoner/syndicate
|
||||
shoes = /obj/item/clothing/shoes/sneakers/crimson
|
||||
id = /obj/item/card/id/advanced/prisoner/ds2
|
||||
id_trim = /datum/id_trim/syndicom/bubberstation/persistence/prisoner
|
||||
|
||||
//Persistence Roles
|
||||
|
||||
/datum/outfit/persistence/syndicate
|
||||
name = "Persistence Operative"
|
||||
uniform = /obj/item/clothing/under/syndicate/skyrat/tactical
|
||||
shoes = /obj/item/clothing/shoes/combat
|
||||
ears = /obj/item/radio/headset/interdyne
|
||||
back = /obj/item/storage/backpack
|
||||
backpack_contents = list(
|
||||
/obj/item/storage/box/survival = 1,
|
||||
/obj/item/crowbar = 1,
|
||||
/obj/item/choice_beacon/syndicateoffstation = 1,
|
||||
)
|
||||
id = /obj/item/card/id/advanced/black
|
||||
implants = list(/obj/item/implant/weapons_auth)
|
||||
id_trim = /datum/id_trim/syndicom/bubberstation/dauntless
|
||||
|
||||
/datum/outfit/persistence/syndicate/service
|
||||
name = "Persistence General Staff"
|
||||
uniform = /obj/item/clothing/under/syndicate/skyrat/tactical
|
||||
id_trim = /datum/id_trim/syndicom/bubberstation/persistence/syndicatestaff
|
||||
back = /obj/item/storage/backpack/satchel
|
||||
backpack_contents = list(
|
||||
/obj/item/storage/box/survival = 1,
|
||||
/obj/item/crowbar = 1,
|
||||
/obj/item/sharpener = 1,
|
||||
/obj/item/choice_beacon/syndicateoffstation = 1,
|
||||
)
|
||||
suit = /obj/item/clothing/suit/apron/chef
|
||||
head = /obj/item/clothing/head/soft/mime
|
||||
|
||||
/datum/outfit/persistence/syndicate/janitor
|
||||
name = "Persistence Sanitation Technician"
|
||||
uniform = /obj/item/clothing/under/syndicate/skyrat/tactical
|
||||
id_trim = /datum/id_trim/syndicom/bubberstation/persistence/janitor
|
||||
back = /obj/item/storage/backpack/satchel
|
||||
backpack_contents = list(
|
||||
/obj/item/storage/box/survival = 1,
|
||||
/obj/item/crowbar = 1,
|
||||
/obj/item/choice_beacon/syndicateoffstation = 1,
|
||||
/obj/item/soap/syndie = 1,
|
||||
)
|
||||
belt = /obj/item/storage/belt/janitor/full
|
||||
|
||||
/datum/outfit/persistence/syndicate/enginetech
|
||||
name = "Persistence Engineer"
|
||||
uniform = /obj/item/clothing/under/syndicate/skyrat/overalls
|
||||
head = /obj/item/clothing/head/soft/sec/syndicate
|
||||
backpack_contents = list(
|
||||
/obj/item/storage/box/survival = 1,
|
||||
/obj/item/choice_beacon/syndicateoffstation/engineer = 1,
|
||||
)
|
||||
id_trim = /datum/id_trim/syndicom/bubberstation/persistence/engineer
|
||||
glasses = /obj/item/clothing/glasses/welding/up
|
||||
belt = /obj/item/storage/belt/utility/syndicate
|
||||
gloves = /obj/item/clothing/gloves/combat
|
||||
|
||||
/datum/outfit/persistence/syndicate/researcher
|
||||
name = "Persistence Researcher"
|
||||
uniform = /obj/item/clothing/under/rank/rnd/scientist/skyrat/utility/syndicate
|
||||
id_trim = /datum/id_trim/syndicom/bubberstation/persistence/researcher
|
||||
suit = /obj/item/clothing/suit/toggle/labcoat/science
|
||||
glasses = /obj/item/clothing/glasses/sunglasses/chemical
|
||||
gloves = /obj/item/clothing/gloves/color/black
|
||||
back = /obj/item/storage/backpack/satchel
|
||||
belt = /obj/item/storage/belt/utility/syndicate
|
||||
|
||||
/datum/outfit/persistence/syndicate/stationmed
|
||||
name = "Persistence Medical Officer"
|
||||
uniform = /obj/item/clothing/under/syndicate/scrubs
|
||||
id_trim = /datum/id_trim/syndicom/bubberstation/persistence/medicalofficer
|
||||
suit = /obj/item/clothing/suit/toggle/labcoat/interdyne
|
||||
belt = /obj/item/storage/belt/medical/paramedic
|
||||
gloves = /obj/item/clothing/gloves/latex/nitrile/ntrauma
|
||||
back = /obj/item/storage/backpack/satchel
|
||||
backpack_contents = list(
|
||||
/obj/item/storage/box/survival = 1,
|
||||
/obj/item/crowbar = 1,
|
||||
/obj/item/storage/medkit/surgery = 1,
|
||||
/obj/item/choice_beacon/syndicateoffstation = 1,
|
||||
)
|
||||
|
||||
/datum/outfit/persistence/syndicate/brigoff
|
||||
name = "Persistence Brig Officer"
|
||||
uniform = /obj/item/clothing/under/syndicate/combat
|
||||
id_trim = /datum/id_trim/syndicom/bubberstation/persistence/brigofficer
|
||||
gloves = /obj/item/clothing/gloves/tackler/combat/insulated
|
||||
suit = /obj/item/clothing/suit/armor/bulletproof/old
|
||||
back = /obj/item/storage/backpack/security/redsec
|
||||
backpack_contents = list(
|
||||
/obj/item/flashlight/seclite = 1,
|
||||
/obj/item/storage/box/survival = 1,
|
||||
/obj/item/crowbar = 1,
|
||||
/obj/item/choice_beacon/syndicateoffstation = 1,
|
||||
)
|
||||
head = /obj/item/clothing/head/helmet/swat/ds
|
||||
glasses = /obj/item/clothing/glasses/hud/security/sunglasses/redsec
|
||||
mask = /obj/item/clothing/mask/gas/syndicate
|
||||
ears = /obj/item/radio/headset/interdyne
|
||||
|
||||
/datum/outfit/persistence/syndicate/quartermaster
|
||||
name = "Persistence Cargo Tech"
|
||||
uniform = /obj/item/clothing/under/syndicate/skyrat/overalls
|
||||
belt = /obj/item/storage/bag/ore
|
||||
id_trim = /datum/id_trim/syndicom/bubberstation/persistence/cargo
|
||||
gloves = /obj/item/clothing/gloves/tackler/combat/insulated
|
||||
suit = /obj/item/clothing/suit/armor/bulletproof/old
|
||||
back = /obj/item/storage/backpack/satchel/explorer
|
||||
backpack_contents = list(
|
||||
/obj/item/storage/box/survival = 1,
|
||||
/obj/item/crowbar = 1,
|
||||
/obj/item/knife/combat/survival = 1,
|
||||
/obj/item/t_scanner/adv_mining_scanner/lesser = 1,
|
||||
/obj/item/gun/energy/recharge/kinetic_accelerator = 1,
|
||||
/obj/item/choice_beacon/syndicateoffstation = 1,
|
||||
)
|
||||
mask = /obj/item/clothing/mask/gas/syndicate
|
||||
ears = /obj/item/radio/headset/interdyne
|
||||
l_pocket = /obj/item/card/mining_point_card
|
||||
r_pocket = /obj/item/mining_voucher
|
||||
head = /obj/item/clothing/head/soft/black
|
||||
|
||||
/datum/outfit/persistence/syndicate/moraleofficer
|
||||
name = "Persistence Morale Officer"
|
||||
uniform = /obj/item/clothing/under/syndicate/sniper
|
||||
head = /obj/item/clothing/head/fedora
|
||||
shoes = /obj/item/clothing/shoes/laceup
|
||||
back = /obj/item/storage/backpack/satchel
|
||||
id_trim = /datum/id_trim/syndicom/bubberstation/persistence/moraleofficer
|
||||
mask = /obj/item/clothing/mask/gas/clown_hat
|
||||
|
||||
|
||||
//gives syndicate role so turrets don't shoot operative
|
||||
/datum/outfit/persistence/syndicate/post_equip(mob/living/carbon/human/syndicate)
|
||||
syndicate.faction |= ROLE_SYNDICATE
|
||||
return ..()
|
||||
|
||||
// Dauntless Command
|
||||
|
||||
/datum/outfit/persistence/command
|
||||
name = "Persistence Command Operative"
|
||||
uniform = /obj/item/clothing/under/syndicate/skyrat/tactical
|
||||
shoes = /obj/item/clothing/shoes/combat
|
||||
ears = /obj/item/radio/headset/interdyne/command
|
||||
back = /obj/item/storage/backpack
|
||||
backpack_contents = list(
|
||||
/obj/item/storage/box/survival = 1,
|
||||
/obj/item/crowbar = 1,
|
||||
/obj/item/choice_beacon/syndicateoffstation/command = 1,
|
||||
)
|
||||
id = /obj/item/card/id/advanced/black
|
||||
implants = list(/obj/item/implant/weapons_auth)
|
||||
id_trim = /datum/id_trim/syndicom/bubberstation/dauntless
|
||||
|
||||
/datum/outfit/persistence/command/masteratarms
|
||||
name = "Persistence Master At Arms"
|
||||
uniform = /obj/item/clothing/under/syndicate/combat
|
||||
id_trim = /datum/id_trim/syndicom/bubberstation/persistence/masteratarms
|
||||
gloves = /obj/item/clothing/gloves/tackler/combat/insulated
|
||||
suit = /obj/item/clothing/suit/armor/vest/warden/syndicate
|
||||
glasses = /obj/item/clothing/glasses/hud/security/sunglasses/redsec
|
||||
back = /obj/item/storage/backpack/satchel/sec/redsec
|
||||
backpack_contents = list(
|
||||
/obj/item/storage/box/survival = 1,
|
||||
/obj/item/crowbar = 1,
|
||||
/obj/item/choice_beacon/syndicateoffstation/maa =1,
|
||||
)
|
||||
head = /obj/item/clothing/head/hats/hos/beret/syndicate
|
||||
r_pocket = /obj/item/flashlight/seclite
|
||||
implants = list(
|
||||
/obj/item/implant/weapons_auth,
|
||||
/obj/item/implant/krav_maga
|
||||
)
|
||||
|
||||
/datum/outfit/persistence/command/corporateliaison
|
||||
name = "Persistence Corporate Liasion"
|
||||
uniform = /obj/item/clothing/under/syndicate/sniper
|
||||
head = /obj/item/clothing/head/fedora
|
||||
shoes = /obj/item/clothing/shoes/laceup
|
||||
back = /obj/item/storage/backpack/satchel
|
||||
id_trim = /datum/id_trim/syndicom/bubberstation/persistence/corporateliasion
|
||||
|
||||
/datum/outfit/persistence/command/admiral
|
||||
name = "Rig Admiral"
|
||||
uniform = /obj/item/clothing/under/rank/captain/skyrat/utility/syndicate
|
||||
suit = /obj/item/clothing/suit/armor/vest/capcarapace/syndicate
|
||||
back = /obj/item/storage/backpack/satchel
|
||||
backpack_contents = list(
|
||||
/obj/item/storage/box/survival = 1,
|
||||
/obj/item/crowbar = 1,
|
||||
/obj/item/choice_beacon/syndicateoffstation/morale = 1,
|
||||
)
|
||||
head = /obj/item/clothing/head/hats/hos/cap/syndicate
|
||||
id = /obj/item/card/id/advanced/gold/generic
|
||||
id_trim = /datum/id_trim/syndicom/bubberstation/persistence/rigmanager
|
||||
|
||||
|
||||
//gives syndicate role so turrets don't shoot operatives
|
||||
/datum/outfit/persistence/command/post_equip(mob/living/carbon/human/syndicate)
|
||||
syndicate.faction |= ROLE_SYNDICATE
|
||||
return ..()
|
||||
@@ -9315,7 +9315,14 @@
|
||||
#include "modular_zubbers\code\modules\surgery\organs\external\wings.dm"
|
||||
#include "modular_zubbers\code\modules\surgery\organs\internal\eyes\_eyes.dm"
|
||||
#include "modular_zubbers\code\modules\surgery\organs\internal\lungs\_lungs.dm"
|
||||
#include "modular_zubbers\code\modules\syndicate_offstation\Aquarium\bioelectric_prefilled.dm"
|
||||
#include "modular_zubbers\code\modules\syndicate_offstation\code\misc-fluff\research.dm"
|
||||
#include "modular_zubbers\code\modules\syndicate_offstation\equipment_items\mod_types.dm"
|
||||
#include "modular_zubbers\code\modules\syndicate_offstation\equipment_items\suitstorage.dm"
|
||||
#include "modular_zubbers\code\modules\syndicate_offstation\selection_beacons\weapon_redemption.dm"
|
||||
#include "modular_zubbers\code\modules\syndicate_offstation\storage\fireaxe.dm"
|
||||
#include "modular_zubbers\code\modules\syndicate_offstation\storage\lockers.dm"
|
||||
#include "modular_zubbers\code\modules\syndicate_offstation\storage\safe.dm"
|
||||
#include "modular_zubbers\code\modules\tarkon\code\misc-fluff\research.dm"
|
||||
#include "modular_zubbers\code\modules\taur_mechanics\serpentine_taur.dm"
|
||||
#include "modular_zubbers\code\modules\title_screen\code\title_screen_subsystem.dm"
|
||||
@@ -9381,6 +9388,13 @@
|
||||
#include "modular_zubbers\maps\offstation\dauntless\security.dm"
|
||||
#include "modular_zubbers\maps\offstation\interdyne\area.dm"
|
||||
#include "modular_zubbers\maps\offstation\interdyne\code.dm"
|
||||
#include "modular_zubbers\maps\offstation\persistence\area.dm"
|
||||
#include "modular_zubbers\maps\offstation\persistence\camera.dm"
|
||||
#include "modular_zubbers\maps\offstation\persistence\camerabutton.dm"
|
||||
#include "modular_zubbers\maps\offstation\persistence\code.dm"
|
||||
#include "modular_zubbers\maps\offstation\persistence\ID_trims.dm"
|
||||
#include "modular_zubbers\maps\offstation\persistence\laws.dm"
|
||||
#include "modular_zubbers\maps\offstation\persistence\mob_spawns.dm"
|
||||
#include "modular_zubbers\master_files\code\controllers\subsystem\id_access.dm"
|
||||
#include "modular_zubbers\master_files\code\controllers\subsystem\tts.dm"
|
||||
#include "modular_zubbers\master_files\code\datums\announcers\default_announcer.dm"
|
||||
|
||||
Reference in New Issue
Block a user