Merge pull request #10474 from datlo/syndicateremap2

Adds Syndi Officer admin job and remaps SST/SIT starting areas 2
This commit is contained in:
variableundefined
2018-12-24 09:17:15 +08:00
committed by GitHub
32 changed files with 1523 additions and 1993 deletions
+7 -6
View File
@@ -1452,7 +1452,7 @@
"aBV" = (/turf/simulated/floor/wood{broken = 1; icon_state = "wood-broken"},/area/maintenance/abandonedbar)
"aBW" = (/obj/structure/sink/kitchen{pixel_y = 25},/obj/machinery/light_construct/small{dir = 4},/turf/simulated/floor/wood{broken = 1; icon_state = "wood-broken"},/area/maintenance/abandonedbar)
"aBX" = (/obj/item/trash/liquidfood,/turf/simulated/floor/wood,/area/maintenance/abandonedbar)
"aBY" = (/obj/machinery/door/airlock/external{id_tag = "s_docking_airlock"; name = "Shuttle Airlock"; req_access_txt = "150"},/obj/machinery/door/poddoor{density = 0; icon_state = "open"; id_tag = "syndicate_elite"; name = "Side Hull Door"; opacity = 0},/turf/simulated/shuttle/floor{icon_state = "floor4"},/area/shuttle/syndicate_elite)
"aBY" = (/obj/machinery/door/airlock/external{id_tag = "s_docking_airlock"; name = "Shuttle Airlock"; req_access_txt = "150"},/obj/machinery/door/poddoor{density = 0; icon_state = "open"; id_tag = "syndicate_elite"; name = "Side Hull Door"; opacity = 0; req_access_txt = "150"},/obj/docking_port/mobile{dir = 4; dwidth = 7; height = 5; id = "sst"; name = "SST shuttle"; roundstart_move = "sst_away"; width = 11},/obj/docking_port/stationary{dir = 4; dwidth = 7; height = 5; id = "sst_home"; name = "Near Cyberiad Arrivals"; width = 11},/turf/simulated/shuttle/floor{icon_state = "floor4"},/area/shuttle/syndicate_elite)
"aBZ" = (/obj/effect/landmark/damageturf,/turf/simulated/floor/plasteel/airless,/area/space)
"aCa" = (/obj/structure/chair{dir = 4},/obj/machinery/light{icon_state = "tube1"; dir = 8},/turf/simulated/floor/carpet,/area/crew_quarters/courtroom)
"aCb" = (/obj/machinery/light{icon_state = "tube1"; dir = 4},/obj/structure/chair/comfy/black{dir = 8},/obj/machinery/camera{c_tag = "Courtroom Judge Committee"; dir = 8; network = list("SS13")},/turf/simulated/floor/plasteel{dir = 2; icon_state = "carpet"},/area/crew_quarters/courtroom)
@@ -1503,7 +1503,7 @@
"aCU" = (/obj/item/stack/sheet/mineral/plasma{amount = 10},/obj/item/stack/rods{amount = 50},/obj/structure/rack,/obj/item/stack/cable_coil{pixel_x = -3; pixel_y = 3},/obj/item/stack/cable_coil{amount = 5},/obj/effect/decal/cleanable/dirt,/turf/simulated/floor/plasteel,/area/maintenance/electrical)
"aCV" = (/obj/structure/table/wood,/obj/item/trash/plate,/turf/simulated/floor/wood,/area/maintenance/abandonedbar)
"aCW" = (/obj/structure/table/wood,/obj/item/reagent_containers/food/drinks/bottle/patron,/obj/item/storage/fancy/cigarettes/cigpack_shadyjims,/turf/simulated/floor/plating,/area/maintenance/abandonedbar)
"aCX" = (/obj/machinery/door/airlock/external{id_tag = "s_docking_airlock"; name = "Shuttle Airlock"; req_access_txt = "150"},/obj/machinery/door/poddoor{density = 0; icon_state = "open"; id_tag = "syndicate_elite"; name = "Side Hull Door"; opacity = 0; req_access_txt = "150"},/obj/docking_port/mobile{dir = 8; dwidth = 3; height = 5; id = "sst"; name = "SST shuttle"; roundstart_move = "sst_away"; width = 11},/obj/docking_port/stationary{dir = 8; dwidth = 3; height = 5; id = "sst_home"; name = "northwest of station"; width = 11},/turf/simulated/shuttle/floor{icon_state = "floor4"},/area/shuttle/syndicate_elite)
"aCX" = (/obj/structure/chair,/turf/simulated/shuttle/floor{icon_state = "floor4"},/area/shuttle/syndicate_elite)
"aCY" = (/obj/machinery/light/spot{tag = "icon-tube1 (WEST)"; icon_state = "tube1"; dir = 8},/obj/structure/chair{dir = 4},/turf/simulated/shuttle/floor{icon_state = "floor4"},/area/shuttle/syndicate_sit)
"aCZ" = (/obj/machinery/door/airlock/external{id_tag = "s_docking_airlock"; name = "Shuttle Airlock"; req_access_txt = "150"},/obj/machinery/door/poddoor{density = 0; icon_state = "open"; id_tag = "syndicate_sit_1"; name = "Side Hull Door"; opacity = 0; req_access_txt = "150"},/obj/docking_port/mobile{dir = 8; dwidth = 3; height = 5; id = "sit"; name = "SIT shuttle"; roundstart_move = "sit_away"; width = 11},/obj/docking_port/stationary{dir = 8; dwidth = 3; height = 5; id = "sit_arrivals"; name = "Cyberiad Arrivals"; width = 11},/turf/simulated/shuttle/floor{icon_state = "floor4"},/area/shuttle/syndicate_sit)
"aDa" = (/obj/machinery/door/airlock/external{frequency = 1379; icon_state = "door_locked"; id_tag = "solar_tool_outer"; locked = 1; name = "Engineering External Access"; req_access = null; req_access_txt = "10;13"},/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"; tag = ""},/turf/simulated/floor/plating,/area/maintenance/auxsolarport)
@@ -1559,7 +1559,7 @@
"aDY" = (/obj/item/stack/tile/plasteel,/turf/simulated/floor/plating,/area/maintenance/abandonedbar)
"aDZ" = (/obj/effect/decal/cleanable/dirt,/turf/simulated/floor/plasteel,/area/maintenance/electrical)
"aEa" = (/obj/structure/table/wood,/obj/item/trash/can,/turf/simulated/floor/wood{broken = 1; icon_state = "wood-broken"},/area/maintenance/abandonedbar)
"aEb" = (/obj/machinery/computer/pod{id_tags = list("syndicate_elite"); name = "Hull Door Control"; req_access_txt = "150"},/turf/simulated/shuttle/floor{icon_state = "floor4"},/area/shuttle/syndicate_elite)
"aEb" = (/obj/machinery/door_control{id = "syndicate_elite"; name = "Blast Doors"; pixel_x = 3; pixel_y = -28; range = 20; req_access_txt = "150"},/turf/simulated/shuttle/floor{icon_state = "floor4"},/area/shuttle/syndicate_elite)
"aEc" = (/obj/machinery/vending/boozeomat,/turf/simulated/floor/plating,/area/maintenance/abandonedbar)
"aEd" = (/obj/effect/spawner/window/reinforced,/obj/machinery/atmospherics/pipe/simple/hidden{dir = 10; initialize_directions = 10},/turf/simulated/floor/plating,/area/maintenance/auxsolarport)
"aEe" = (/obj/machinery/computer/shuttle/sst,/turf/simulated/shuttle/floor{icon_state = "floor4"},/area/shuttle/syndicate_elite)
@@ -8550,6 +8550,7 @@
"div" = (/obj/machinery/atmospherics/unary/vent_scrubber{dir = 8; on = 1; scrub_N2O = 1; scrub_Toxins = 1},/obj/item/toy/xmas_cracker,/obj/item/reagent_containers/food/snacks/candy/candycane,/obj/item/clothing/suit/hooded/wintercoat/engineering/atmos,/obj/item/clothing/shoes/winterboots,/turf/simulated/floor/plating/snow,/area/engine/break_room)
"diw" = (/obj/machinery/atmospherics/pipe/simple/hidden/supply{level = 1},/obj/structure/disposalpipe/segment{dir = 4},/obj/effect/decal/snow/clean/edge{dir = 1},/turf/simulated/floor/plasteel,/area/engine/break_room)
"dix" = (/obj/structure/disposalpipe/segment{dir = 4},/obj/effect/decal/snow/clean/edge{dir = 1},/turf/simulated/floor/plasteel,/area/engine/break_room)
"diy" = (/obj/structure/chair,/turf/simulated/shuttle/floor{icon_state = "floor4"},/area/shuttle/syndicate_sit)
"diz" = (/obj/structure/disposalpipe/segment{dir = 4},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 5},/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 5; level = 1},/turf/simulated/floor/plating,/area/maintenance/asmaint2)
"diA" = (/obj/structure/disposalpipe/segment{dir = 4},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 4; level = 1},/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 4; level = 1},/turf/simulated/floor/plating,/area/maintenance/asmaint2)
"diB" = (/obj/structure/chair,/obj/structure/disposalpipe/segment{dir = 4},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 4; level = 1},/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 4; level = 1},/turf/simulated/floor/plating,/area/maintenance/asmaint2)
@@ -9032,9 +9033,9 @@ aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaxiazeazgazhaxiaaaaxkazfazjaziaxkalwaabarXarXarXarXarXaaaasbaaaarXarXarXarXarXaabalwaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaauvaxoawzaxmatIatMatNazVauyawBaudaudaudaznazXazWazsazrawKazYazZawWaAcaAaawWaAdaAraxLaABaAtaATaxLaAqaBIaxpaAuaAvaxpaAwavnaxvaAyaACaAAaAEaADaAHasPawlaAIaAKaAJawlavqavqaIjaIqaydavqavqaxhaxhaxhdmoaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaqZazUaqZaqZaqZaqZaqZaqZaqZaqZaqZaqZaqZaqZaqZaqZaqZaaaaaaamWaaaaAfaAfaAgaAgaAgaAgaAgaAgaAfaAfaabaabaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaxiaAhazgazhaxiaaaaxkaAiaykaykaxkalwaaaarLarMarMarMarMarNasbarUasLasLasLasLasMaaaalwaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaatIaymawzawzayhauyayoaAMauCaAmaAnaAlaAnaApaApaANaApaAoaElaAOaAPawKaxSaARawKaBKaDhaAUaAVaxLaAXaAWaHraBaawHaBiayeawHaBraBpaBsaBsaBsaBsaBsawVaBuaBtawlaBvaBRaBvawlaBwavqavqavqavqavqaIsatGaupawkauqauqausaaaaaaaaaaaaaaaaaaaaaaabaabaabaqZawPawQaabaaaaabaabaabaaaaaaaaaaaaaaaaaaaaaaaaaaaaabaaaamWaAfaAfaBdaBcaBeaBgaBhaBfaBjaBeaAfaAfaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaxiaAhazgazhaxiaaaaxkaBkaykaBlaxkaabaBmatFatFatFatFatFaaaasbaaaatFatFatFatFatFaabalwaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaatIazkazkazkatIatMaBAaBzaBBaAmaCaaAnaAnaBCaApaBDaBqaBoaElaBEaBFauZavcaBGauZaAdaxLaxLaBbaAZaBHaxLaxLazxavlaBLavmavlaBNaBMaBPaBOaBSaBQaBsaCcaCfaCeaZIaCgavqaSPavqavqavqavqavqavqavqavqavsavqavtavpavuavwaaaaaaaaaaaaaaaaaaaaaaabaaaaabaabawRaabaabaaaaaaaaaaabaabaaaaaaaaaaaaaaaaaaaaaaaaaAfaAfaAfaAfaBUaBgaBVaBgaBVaBXaBgaBgaBgaBWaAfaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaxiazgazgazgaBYaaaaxkaBkaykaBlaxkalwaaaaaaaabaaaaabaaaaaaaxqaaaaaaaabaaaaabaaaaaaalwaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaAeaAkaAkaAkaAjaaaaaaaaaaaaaBnaAnaAnaAnaCiaCkaCjaCdaCbaElavPaCmaClavTaCnaCoavdaxLaEBaBJaEBaCpaEBaxLaAzazAaCrawdaCsateaCtaBsaCvaCxaCwaBsaCzaCBaCAaCCaZIaZIaCgavqavqaChawlbWpaIYbWpbWpatGavqaxNauqauqawmaaaaaaaaaaaaaaaaaaaaaaaaaabaabaabayEaabaabaaaaaaaabaaaaabaabaaaaaaaaaaaaaaaaaaaaaaAfaCNaCOaCPaCMaCRaCQaCSaBgaBgazSaCVaBgaCWaAfaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaxiaCTazgazgaCXaaaaxkaCYaykaykaCZalwalwalwaabaabaabaabaDbaDaaDbaabaabaabaabalwalwalwaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaBnaDdaDcaCEaCDaCGaCFaCHaDiaElauYaCIawWaCKaCJawWaDeaDfaEBaCqaFFaDgaEBaDkaDjaxpaDlaDmaxpaDoaDnaBsaDpaDraDqaBsaDsaDNaDNaDNaDNaDPaDPaDPaDPaDPaDPcXKcXHaJccYNatGatGatGatGaaaaaaaaaabpaabaabaabaaaaabaaaaabaabaDSaDKaDSaabaabaaaaabaaaaaaaabaabaaaaaaaaaaaaaaaaaaaAfaDUaDTaDWaDVaDYaDXaBgaBgaBgaAbaEaaBgaEcaAfaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaxiaEbazgaEeaxiaaaaxkaEfaykaykaxkaabaaaaabaaaaaaaabaaaaDbaEgaEdaaaaaaaabaaaaaaaabaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaEiaEiaEiaEiaEiaEiaEiaAmaElaElaElaDtaElaElaElaDuaAmaAxaAxaAxaAxaAxaAxaEBaEBaDvaCqaFFaDgaDvaDvaDvaEpaEpaEpaEpaDxaDwaBsaDyaDAaDzaBsaDsaDNaELaEMaEKaDPaENaDBaEOaEQaDPaJlcXHcXHcXHaJnaJmaJobWvaaaaaaaaaaabaabaaaaabaabaabaabaabaaaaDSaERaDSaaaaabaaaaabaaaaaaaaaaabaabaaaaaaaaaaaaaaaaAfaETaESaCPaEUaEWaEVaEXaBgaEZaALaFbaFaaAfaFdaabaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaxiaCTazgazgaxiaaaaxkaBkaykaBlaxkalwaaaaaaaabaaaaabaaaaaaaxqaaaaaaaabaaaaabaaaaaaalwaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaAeaAkaAkaAkaAjaaaaaaaaaaaaaBnaAnaAnaAnaCiaCkaCjaCdaCbaElavPaCmaClavTaCnaCoavdaxLaEBaBJaEBaCpaEBaxLaAzazAaCrawdaCsateaCtaBsaCvaCxaCwaBsaCzaCBaCAaCCaZIaZIaCgavqavqaChawlbWpaIYbWpbWpatGavqaxNauqauqawmaaaaaaaaaaaaaaaaaaaaaaaaaabaabaabayEaabaabaaaaaaaabaaaaabaabaaaaaaaaaaaaaaaaaaaaaaAfaCNaCOaCPaCMaCRaCQaCSaBgaBgazSaCVaBgaCWaAfaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaBYazgazgaCXaxiaaaaxkaCYaykaykaCZalwalwalwaabaabaabaabaDbaDaaDbaabaabaabaabalwalwalwaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaBnaDdaDcaCEaCDaCGaCFaCHaDiaElauYaCIawWaCKaCJawWaDeaDfaEBaCqaFFaDgaEBaDkaDjaxpaDlaDmaxpaDoaDnaBsaDpaDraDqaBsaDsaDNaDNaDNaDNaDPaDPaDPaDPaDPaDPcXKcXHaJccYNatGatGatGatGaaaaaaaaaabpaabaabaabaaaaabaaaaabaabaDSaDKaDSaabaabaaaaabaaaaaaaabaabaaaaaaaaaaaaaaaaaaaAfaDUaDTaDWaDVaDYaDXaBgaBgaBgaAbaEaaBgaEcaAfaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaxiaEbazgaEeaxiaaaaxkaEfaykdiyaxkaabaaaaabaaaaaaaabaaaaDbaEgaEdaaaaaaaabaaaaaaaabaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaEiaEiaEiaEiaEiaEiaEiaAmaElaElaElaDtaElaElaElaDuaAmaAxaAxaAxaAxaAxaAxaEBaEBaDvaCqaFFaDgaDvaDvaDvaEpaEpaEpaEpaDxaDwaBsaDyaDAaDzaBsaDsaDNaELaEMaEKaDPaENaDBaEOaEQaDPaJlcXHcXHcXHaJnaJmaJobWvaaaaaaaaaaabaabaaaaabaabaabaabaabaaaaDSaERaDSaaaaabaaaaabaaaaaaaaaaabaabaaaaaaaaaaaaaaaaAfaETaESaCPaEUaEWaEVaEXaBgaEZaALaFbaFaaAfaFdaabaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaFeaFfaFcaFfaFgaaaaFiaFhaykaFkaFiaabaaaaabaaaaaaaabaDbaDbaFjaFmaDbaaaaabaaaaaaaabaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaEiaFlaFoaDCaDDaFvaFwaFsaDFaDEaDDaDGaFvaFvaDIaDHaFBaFAaFyaFyaFyaFyaFyaFyaFyaDJaDLaGraDMaEjaDOavqavqavqavqavqaBsaDQaEkaEhaEnaEmaBsaEoaDNaFTaFUaFPaDPaFVaEqaFWaFYaDPaJEaJpaJFcXHcXHcXHcXHbWraaaaaaaabaabaaaaaaaaaaaaaaaaabaabaDSaDSaFZaDSaDSaabaaaaabaaaaaaaaaaaaaabaabaaaaaaaaaaaaaAfaGbaGaaCPaAfaCPaCPaGdaGcaAfaAfaAfaAfaAfaAfaaaaabaaaaaaaaaaaaaaaabpaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabpaaaaaaaaaaFeaGfaFgaaaaaaaGgaFiaGeaFiaGhaabaaaaabaaaaaaaabaGjaGiaGlaGkaGjaGnaGnaaaaaaaabaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaGoaGmaEraGpaEtaEsaEuaEsaEvaEsaExaEwaGraGraEzaEyaGraGraGraGraGraGraGraGraGraECaEEaEDaEGaEFaEHaAQaASaEIaASaAQaBsaEJaFnaEPaFnaFnaBsaDsaDNaFpaGNaFqaDPaFraGRaGQaEQaDPaJGcXHaKycXHcXHbYecWGbWraaaaabaabaaaaaaaaaaaaaaaaaaaaaaabaGTaGUaGSaGWaGTaabaaaaabaaaaaaaabaaaaaaaabaabaaaaaaaGXaAfaCPaAfaCPaGYaAYaHbaMzaGYaGYaGYaIEaGYajcaMraaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabaaaaaaaaaaaaaaaaaaaaaaGnaGnaGnaGnaGnaGnaGnaGnaabaabaGjaHcaHaaGZaGjaHdaGnaaaaaaaabaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaGoaHearTaHfaFuaFtaFxaHnaFzaHnaFCaHqaHnaHnaFEaFDaHnaHnaHnaHnaHnaHnaHnaFHaFJaFIaFKaHvaHxaEjaFMaAQaFNaASaFOaAQaBsaBsaBsaBsaBsaBsaBsaFQaDNaHCaFUaFRaDPaFSaHGaFWaHHaDPbZQbYeaKBcXHcXHcXHcXIbWraabaabaaaaaaaaaaaaaaaaaaaaaaaaaabaGTaHKaHIaHJaGTaabaaaaabaaaaaaaabaaaaaaaGXaHNaGXaHNaGXaHbaGYaGYaGYaGYaGYaGYaGYaGYaGYaHOaGXaGYaJOaMraaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
File diff suppressed because it is too large Load Diff
+1
View File
@@ -41,6 +41,7 @@ var/list/blobstart = list()
var/list/ninjastart = list()
var/list/carplist = list() //list of all carp-spawn landmarks
var/list/avatarspawn = list()
var/list/syndicateofficer = list()
//away missions
var/list/awaydestinations = list() //a list of landmarks that the warpgate can take you to
+10 -9
View File
@@ -112,7 +112,7 @@
else
destturf = get_turf(destination)
if(!is_teleport_allowed(destturf.z))
if(!is_teleport_allowed(destturf.z) && !ignore_area_flag)
return 0
// Only check the destination zlevel for is_teleport_allowed. Checking origin as well breaks ERT teleporters.
@@ -173,13 +173,14 @@
/datum/teleport/instant/science/setPrecision(aprecision)
..()
if(istype(teleatom, /obj/item/storage/backpack/holding))
precision = rand(1,100)
if(!is_admin_level(destination.z))
if(istype(teleatom, /obj/item/storage/backpack/holding))
precision = rand(1, 100)
var/list/bagholding = teleatom.search_contents_for(/obj/item/storage/backpack/holding)
if(bagholding.len)
precision = max(rand(1,100)*bagholding.len,100)
if(istype(teleatom, /mob/living))
var/mob/living/MM = teleatom
to_chat(MM, "<span class='warning'>The bluespace interface on your bag of holding interferes with the teleport!</span>")
var/list/bagholding = teleatom.search_contents_for(/obj/item/storage/backpack/holding)
if(bagholding.len)
precision = max(rand(1, 100)*bagholding.len, 100)
if(istype(teleatom, /mob/living))
var/mob/living/MM = teleatom
to_chat(MM, "<span class='warning'>The bluespace interface on your bag of holding interferes with the teleport!</span>")
return 1
+1 -36
View File
@@ -63,7 +63,7 @@
var/obj/item/radio/R = H.l_ear
if(istype(R))
R.set_frequency(SYND_FREQ)
H.faction += "syndicate"
/datum/outfit/admin/syndicate_infiltrator
name = "Syndicate Infiltrator"
@@ -120,41 +120,6 @@
return H.equip_syndicate_commando()
/datum/outfit/admin/syndicate/officer
name = "Syndicate Officer"
head = /obj/item/clothing/head/beret
mask = /obj/item/clothing/mask/cigarette/cigar/havana
belt = /obj/item/gun/projectile/automatic/pistol/deagle/camo
l_ear = /obj/item/radio/headset/syndicate/alt
l_pocket = /obj/item/pinpointer/advpinpointer
r_pocket = null // stop them getting a radio uplink, they get an implant instead
backpack_contents = list(
/obj/item/storage/box/engineer = 1,
/obj/item/flashlight = 1,
/obj/item/reagent_containers/food/pill/initropidril = 1,
/obj/item/reagent_containers/food/snacks/syndidonkpocket = 1,
/obj/item/ammo_box/magazine/m50 = 2,
/obj/item/clothing/shoes/magboots/syndie/advance = 1,
/obj/item/lighter/zippo/gonzofist = 1
)
implants = list(
/obj/item/implant/dust
)
id_icon = "commander"
id_access = "Syndicate Operative Leader"
/datum/outfit/admin/syndicate/officer/post_equip(mob/living/carbon/human/H, visualsOnly = FALSE)
. = ..()
if(visualsOnly)
return
var/obj/item/implant/uplink/U = new /obj/item/implant/uplink(H)
U.implant(H)
U.hidden_uplink.uses = 500
/datum/outfit/admin/syndicate/spy
name = "Syndicate Spy"
uniform = /obj/item/clothing/under/suit_jacket/really_black
+1 -1
View File
@@ -530,7 +530,7 @@ var/list/ghostteleportlocs = list()
//SYNDICATES
/area/syndicate_mothership
name = "\improper Syndicate Mothership"
name = "\improper Syndicate Forward Base"
icon_state = "syndie-ship"
requires_power = 0
+1 -1
View File
@@ -11,7 +11,7 @@ var/list/possible_changeling_IDs = list("Alpha","Beta","Gamma","Delta","Epsilon"
name = "changeling"
config_tag = "changeling"
restricted_jobs = list("AI", "Cyborg")
protected_jobs = list("Security Officer", "Warden", "Detective", "Head of Security", "Captain", "Blueshield", "Nanotrasen Representative", "Security Pod Pilot", "Magistrate", "Brig Physician", "Internal Affairs Agent", "Nanotrasen Navy Officer", "Special Operations Officer")
protected_jobs = list("Security Officer", "Warden", "Detective", "Head of Security", "Captain", "Blueshield", "Nanotrasen Representative", "Security Pod Pilot", "Magistrate", "Brig Physician", "Internal Affairs Agent", "Nanotrasen Navy Officer", "Special Operations Officer", "Syndicate Officer")
protected_species = list("Machine")
required_players = 15
required_enemies = 1
+1 -1
View File
@@ -39,7 +39,7 @@ var/global/list/all_cults = list()
/datum/game_mode/cult
name = "cult"
config_tag = "cult"
restricted_jobs = list("Chaplain","AI", "Cyborg", "Internal Affairs Agent", "Security Officer", "Warden", "Detective", "Security Pod Pilot", "Head of Security", "Captain", "Head of Personnel", "Blueshield", "Nanotrasen Representative", "Magistrate", "Brig Physician", "Nanotrasen Navy Officer", "Special Operations Officer")
restricted_jobs = list("Chaplain","AI", "Cyborg", "Internal Affairs Agent", "Security Officer", "Warden", "Detective", "Security Pod Pilot", "Head of Security", "Captain", "Head of Personnel", "Blueshield", "Nanotrasen Representative", "Magistrate", "Brig Physician", "Nanotrasen Navy Officer", "Special Operations Officer", "Syndicate Officer")
protected_jobs = list()
required_players = 30
required_enemies = 3
+1 -1
View File
@@ -73,7 +73,7 @@ Made by Xhuis
required_enemies = 2
recommended_enemies = 2
restricted_jobs = list("AI", "Cyborg")
protected_jobs = list("Security Officer", "Warden", "Detective", "Head of Security", "Captain", "Blueshield", "Nanotrasen Representative", "Security Pod Pilot", "Magistrate", "Brig Physician", "Internal Affairs Agent", "Nanotrasen Navy Officer", "Special Operations Officer")
protected_jobs = list("Security Officer", "Warden", "Detective", "Head of Security", "Captain", "Blueshield", "Nanotrasen Representative", "Security Pod Pilot", "Magistrate", "Brig Physician", "Internal Affairs Agent", "Nanotrasen Navy Officer", "Special Operations Officer", "Syndicate Officer")
/datum/game_mode/shadowling/announce()
to_chat(world, "<b>The current game mode is - Shadowling!</b>")
+1 -1
View File
@@ -11,7 +11,7 @@
name = "traitor"
config_tag = "traitor"
restricted_jobs = list("Cyborg")//They are part of the AI if he is traitor so are they, they use to get double chances
protected_jobs = list("Security Officer", "Warden", "Detective", "Head of Security", "Captain", "Blueshield", "Nanotrasen Representative", "Security Pod Pilot", "Magistrate", "Internal Affairs Agent", "Brig Physician", "Nanotrasen Navy Officer", "Special Operations Officer")
protected_jobs = list("Security Officer", "Warden", "Detective", "Head of Security", "Captain", "Blueshield", "Nanotrasen Representative", "Security Pod Pilot", "Magistrate", "Internal Affairs Agent", "Brig Physician", "Nanotrasen Navy Officer", "Special Operations Officer", "Syndicate Officer")
required_players = 0
required_enemies = 1
recommended_enemies = 4
+1 -1
View File
@@ -9,7 +9,7 @@
name = "vampire"
config_tag = "vampire"
restricted_jobs = list("AI", "Cyborg")
protected_jobs = list("Security Officer", "Warden", "Detective", "Head of Security", "Captain", "Blueshield", "Nanotrasen Representative", "Security Pod Pilot", "Magistrate", "Chaplain", "Brig Physician", "Internal Affairs Agent", "Nanotrasen Navy Officer", "Special Operations Officer")
protected_jobs = list("Security Officer", "Warden", "Detective", "Head of Security", "Captain", "Blueshield", "Nanotrasen Representative", "Security Pod Pilot", "Magistrate", "Chaplain", "Brig Physician", "Internal Affairs Agent", "Nanotrasen Navy Officer", "Special Operations Officer", "Syndicate Officer")
protected_species = list("Machine")
required_players = 15
required_enemies = 1
+6 -1
View File
@@ -96,6 +96,7 @@
/var/const/access_syndicate = 150//General Syndicate Access
/var/const/access_syndicate_leader = 151//Nuke Op Leader Access
/var/const/access_vox = 152//Vox Access
/var/const/access_syndicate_command = 153//Admin syndi officer
//Trade Stations
var/const/access_trade_sol = 160
@@ -234,6 +235,8 @@ var/const/access_trade_sol = 160
return list(access_vox)
if("Syndicate Commando")
return list(access_syndicate, access_syndicate_leader)
if("Syndicate Officer")
return list(access_syndicate, access_syndicate_leader, access_syndicate_command)
/proc/get_all_accesses()
return list(access_security, access_sec_doors, access_brig, access_armory, access_forensics_lockers, access_court,
@@ -253,7 +256,7 @@ var/const/access_trade_sol = 160
return list(access_cent_general, access_cent_living, access_cent_medical, access_cent_security, access_cent_storage, access_cent_shuttles, access_cent_telecomms, access_cent_teleporter, access_cent_specops, access_cent_specops_commander, access_cent_blackops, access_cent_thunder, access_cent_bridge, access_cent_commander)
/proc/get_all_syndicate_access()
return list(access_syndicate, access_syndicate_leader, access_vox)
return list(access_syndicate, access_syndicate_leader, access_vox, access_syndicate_command)
/proc/get_all_misc_access()
return list(access_salvage_captain, access_trade_sol, access_crate_cash, access_away01)
@@ -496,6 +499,8 @@ var/const/access_trade_sol = 160
return "Syndicate Operative Leader"
if(access_vox)
return "Vox"
if(access_syndicate_command)
return "Syndicate Command"
/proc/get_all_jobs()
var/list/all_jobs = list()
+1
View File
@@ -56,6 +56,7 @@
var/admin_only = 0
var/spawn_ert = 0
var/syndicate_command = 0
var/outfit = null
+58
View File
@@ -0,0 +1,58 @@
/datum/job/syndicateofficer
title = "Syndicate Officer"
flag = SYNDICATE
department_flag = SYNDICATE
total_positions = 5
spawn_positions = 5
supervisors = "the admins"
selection_color = "#ff0000"
access = list()
minimal_access = list()
admin_only = 1
syndicate_command = 1
outfit = /datum/outfit/job/syndicateofficer
/datum/job/syndicateofficer/get_access()
return get_syndicate_access(title)
/datum/outfit/job/syndicateofficer
name = "Syndicate Officer"
jobtype = /datum/job/syndicateofficer
uniform = /obj/item/clothing/under/syndicate
back = /obj/item/storage/backpack
head = /obj/item/clothing/head/beret
gloves = /obj/item/clothing/gloves/combat
shoes = /obj/item/clothing/shoes/combat
mask = /obj/item/clothing/mask/cigarette/cigar/havana
belt = /obj/item/gun/projectile/automatic/pistol/deagle/camo
l_ear = /obj/item/radio/headset/syndicate/alt/syndteam
pda = /obj/item/pinpointer/advpinpointer
id = /obj/item/card/id/syndicate/command
box = /obj/item/storage/box/engineer
backpack_contents = list(
/obj/item/flashlight = 1,
/obj/item/reagent_containers/food/pill/initropidril = 1,
/obj/item/reagent_containers/food/snacks/syndidonkpocket = 1,
/obj/item/ammo_box/magazine/m50 = 2,
/obj/item/clothing/shoes/magboots/syndie/advance = 1,
/obj/item/lighter/zippo/gonzofist = 1,
/obj/item/storage/box/matches = 1
)
implants = list(
/obj/item/implant/dust
)
/datum/outfit/job/syndicateofficer/post_equip(mob/living/carbon/human/H, visualsOnly = FALSE)
. = ..()
if(visualsOnly)
return
var/obj/item/implant/uplink/U = new /obj/item/implant/uplink(H)
U.implant(H)
U.hidden_uplink.uses = 500
H.faction += "syndicate"
var/datum/atom_hud/antag/opshud = huds[ANTAG_HUD_OPS]
opshud.join_hud(H.mind.current)
set_antag_hud(H.mind.current, "hudoperative")
H.regenerate_icons()
+1
View File
@@ -12,6 +12,7 @@ var/const/ATMOSTECH =(1<<7)
var/const/AI =(1<<8)
var/const/CYBORG =(1<<9)
var/const/CENTCOM =(1<<10)
var/const/SYNDICATE =(1<<11)
var/const/MEDSCI =(1<<1)
+9
View File
@@ -12,6 +12,7 @@
var/area_bypass = FALSE
var/obj/item/radio/beacon/Beacon
var/enabled = TRUE
var/cc_beacon = FALSE //can be teleported to even if on zlevel2
/obj/machinery/bluespace_beacon/New()
..()
@@ -24,6 +25,7 @@
Beacon.loc = T
Beacon.syndicate = syndicate
Beacon.area_bypass = area_bypass
Beacon.cc_beacon = cc_beacon
hide(T.intact)
/obj/machinery/bluespace_beacon/proc/destroy_beacon()
@@ -78,3 +80,10 @@
if(mycomputer)
mycomputer.mybeacon = null
return ..()
/obj/machinery/bluespace_beacon/syndicate/infiltrator //beacon guaranteed offline at roundstart for infiltrator base
cc_beacon = TRUE
/obj/machinery/bluespace_beacon/syndicate/infiltrator/New()
..()
enabled = FALSE
+19 -1
View File
@@ -366,7 +366,6 @@
. = ..()
spawn(10)
findbeacon()
choosetarget()
update_portal()
/obj/machinery/computer/syndicate_depot/teleporter/Destroy()
@@ -406,6 +405,25 @@
else
return FALSE
/obj/machinery/computer/syndicate_depot/teleporter/targeted/choosetarget()
var/list/L = list()
var/list/areaindex = list()
for(var/obj/item/radio/beacon/R in GLOB.beacons)
var/turf/T = get_turf(R)
if(!T)
continue
if(!is_teleport_allowed(T.z))
continue
var/tmpname = T.loc.name
if(areaindex[tmpname])
tmpname = "[tmpname] ([++areaindex[tmpname]])"
else
areaindex[tmpname] = 1
L[tmpname] = R
var/desc = input("Please select a location to lock in.", "Syndicate Teleporter") in L
return(L[desc])
/obj/machinery/computer/syndicate_depot/teleporter/proc/update_portal()
if(portal_enabled && !myportal)
var/turf/tele_target = choosetarget()
@@ -333,6 +333,17 @@
name = "syndicate hatch"
req_access_txt = "150"
/obj/machinery/door/airlock/hatch/syndicate/command
name = "Command Center"
req_access_txt = "153"
explosion_block = 2
normal_integrity = 1000
security_level = 6
/obj/machinery/door/airlock/hatch/syndicate/command/emag_act(mob/user)
to_chat(user, "<span class='notice'>The electronic systems in this door are far too advanced for your primitive hacking peripherals.</span>")
return
/obj/machinery/door/airlock/hatch/syndicate/vault
name = "syndicate vault hatch"
req_access_txt = "151"
+9
View File
@@ -19,6 +19,15 @@
density = FALSE
opacity = 0
/obj/machinery/door/poddoor/impassable
name = "reinforced blast door"
desc = "A heavy duty blast door that opens mechanically. Looks even tougher than usual."
resistance_flags = INDESTRUCTIBLE
/obj/machinery/door/poddoor/impassable/emag_act(mob/user)
to_chat(user, "<span class='notice'>The electronic systems in this door are far too advanced for your primitive hacking peripherals.</span>")
return
/obj/machinery/door/poddoor/Bumped(atom/AM)
if(density)
return
+6 -2
View File
@@ -12,6 +12,7 @@
var/turf/target //Used for one-time-use teleport cards (such as clown planet coordinates.)
//Setting this to 1 will set src.locked to null after a player enters the portal and will not allow hand-teles to open portals to that location.
var/area_bypass = FALSE
var/cc_beacon = FALSE
/obj/machinery/computer/teleporter/New()
src.id = "[rand(1000, 9999)]"
@@ -182,7 +183,7 @@
var/turf/T = get_turf(R)
if(!T)
continue
if(!is_teleport_allowed(T.z))
if(!is_teleport_allowed(T.z) && !R.cc_beacon)
continue
if(R.syndicate == 1 && emagged == 0)
continue
@@ -217,6 +218,7 @@
var/obj/item/radio/beacon/B = target
if(B.area_bypass)
area_bypass = TRUE
cc_beacon = B.cc_beacon
else
var/list/L = list()
var/list/areaindex = list()
@@ -366,7 +368,9 @@
visible_message("<span class='alert'>Cannot authenticate locked on coordinates. Please reinstate coordinate matrix.</span>")
return
if(istype(M, /atom/movable))
if(!calibrated && prob(25 - ((accurate) * 10))) //oh dear a problem
if(!calibrated && com.cc_beacon)
visible_message("<span class='alert'>Cannot lock on target. Please calibrate the teleporter before attempting long range teleportation.</span>")
else if(!calibrated && prob(25 - ((accurate) * 10)) && !com.cc_beacon) //oh dear a problem
. = do_teleport(M, locate(rand((2*TRANSITIONEDGE), world.maxx - (2*TRANSITIONEDGE)), rand((2*TRANSITIONEDGE), world.maxy - (2*TRANSITIONEDGE)), 3), 2, bypass_area_flag = com.area_bypass)
else
. = do_teleport(M, com.target, bypass_area_flag = com.area_bypass)
+10
View File
@@ -51,6 +51,16 @@
RefreshParts()
update_recharge_turf()
/obj/machinery/mech_bay_recharge_port/upgraded/unsimulated/process()
if(!recharging_mecha)
recharging_mecha = locate(/obj/mecha) in recharging_turf
if(recharging_mecha && recharging_mecha.cell)
if(recharging_mecha.cell.charge < recharging_mecha.cell.maxcharge)
var/delta = min(max_charge, recharging_mecha.cell.maxcharge - recharging_mecha.cell.charge)
recharging_mecha.give_power(delta)
if(recharging_mecha.loc != recharging_turf)
recharging_mecha = null
/obj/machinery/mech_bay_recharge_port/RefreshParts()
var/MC
for(var/obj/item/stock_parts/capacitor/C in component_parts)
+4
View File
@@ -88,6 +88,10 @@
emergencyresponseteamspawn += loc
qdel(src)
if("Syndicate Officer")
syndicateofficer += loc
qdel(src)
GLOB.landmarks_list += src
return 1
+1
View File
@@ -66,4 +66,5 @@
desc = "A portal capable of bypassing bluespace interference."
icon_state = "portal1"
failchance = 0
precision = 0
ignore_tele_proof_area_setting = TRUE
@@ -8,6 +8,7 @@
var/emagged = 0
var/syndicate = 0
var/area_bypass = FALSE
var/cc_beacon = FALSE //set if allowed to teleport to even if on zlevel2
/obj/item/radio/beacon/New()
..()
@@ -319,6 +319,10 @@
name = "agent card"
initial_access = list(access_maint_tunnels, access_vox, access_external_airlocks)
/obj/item/card/id/syndicate/command
initial_access = list(access_maint_tunnels, access_syndicate, access_syndicate_leader, access_syndicate_command, access_external_airlocks)
icon_state = "commander"
/obj/item/card/id/syndicate/afterattack(var/obj/item/O as obj, mob/user as mob, proximity)
if(!proximity)
return
@@ -45,4 +45,18 @@
new /obj/item/storage/backpack/mime(src)
new /obj/item/toy/crayon/mime(src)
new /obj/item/reagent_containers/food/drinks/bottle/bottleofnothing(src)
new /obj/item/cane(src)
new /obj/item/cane(src)
/obj/structure/closet/secure_closet/syndicate_officer
name = "officer's locker"
req_access = list(access_syndicate_command)
/obj/structure/closet/secure_closet/syndicate_officer/New()
..()
new /obj/item/storage/box/syndie_kit/elite_hardsuit(src)
new /obj/item/gun/projectile/automatic/sniper_rifle/syndicate(src)
new /obj/item/ammo_box/magazine/sniper_rounds/penetrator(src)
new /obj/item/ammo_box/magazine/sniper_rounds/penetrator(src)
new /obj/item/ammo_box/magazine/sniper_rounds/penetrator(src)
new /obj/item/clothing/glasses/thermal(src)
new /obj/item/megaphone(src)
@@ -123,6 +123,13 @@ var/global/list/captain_display_cases = list()
req_access = list(access_captain)
start_showpiece_type = /obj/item/gun/energy/laser/captain
/obj/structure/displaycase/stechkin
name = "officer's display case"
desc = "A display case containing a humble stechkin pistol. Never forget your roots."
locked = 1
req_access = list(access_syndicate_command)
start_showpiece_type = /obj/item/gun/projectile/automatic/pistol
/obj/structure/displaycase/Destroy()
dump()
QDEL_NULL(circuit)
@@ -35,9 +35,6 @@ var/global/sent_syndicate_infiltration_team = 0
var/tctext = input(src, "How much TC do you want to give each team member? Suggested: 20-30. They cannot trade TC.") as num
var/tcamount = text2num(tctext)
tcamount = between(0, tcamount, 1000)
var/spawn_sit_mgmt = 0
if(alert("Spawn a syndicate mob for you, so you can brief them before they go?",,"Yes","No")=="Yes")
spawn_sit_mgmt = 1
if(sent_syndicate_infiltration_team == 1)
if(alert("A Syndicate Infiltration Team has already been sent. Sure you want to send another?",,"Yes","No")=="No")
return
@@ -85,7 +82,7 @@ var/global/sent_syndicate_infiltration_team = 0
var/mob/living/carbon/human/new_syndicate_infiltrator = create_syndicate_infiltrator(L, syndicate_leader_selected, tcamount, 0)
if(infiltrators.len)
var/mob/theguy = pick(infiltrators)
if(!spawn_sit_mgmt || theguy.key != key)
if(theguy.key != key)
new_syndicate_infiltrator.key = theguy.key
new_syndicate_infiltrator.internal = new_syndicate_infiltrator.s_store
new_syndicate_infiltrator.update_action_buttons_icon()
@@ -99,7 +96,7 @@ var/global/sent_syndicate_infiltration_team = 0
new_syndicate_infiltrator.loc = warpto.loc
sit_spawns_leader -= warpto
team_leader = new_syndicate_infiltrator
to_chat(new_syndicate_infiltrator, "<span class='danger'>As team leader, it is up to you to organize your team! Give the job to someone else if you can't handle it. Only your ID opens the exit door.</span>")
to_chat(new_syndicate_infiltrator, "<span class='danger'>As team leader, it is up to you to organize your team! Give the job to someone else if you can't handle it.</span>")
else
to_chat(new_syndicate_infiltrator, "<span class='danger'>Your team leader is: [team_leader]. They are in charge!</span>")
teamsize--
@@ -114,23 +111,6 @@ var/global/sent_syndicate_infiltration_team = 0
num_spawned++
if(!teamsize)
break
if(spawn_sit_mgmt)
for(var/obj/effect/landmark/L in sit_spawns_mgmt)
var/mob/living/carbon/human/syndimgmtmob = create_syndicate_infiltrator(L, 1, 100, 1)
syndimgmtmob.key = key
syndimgmtmob.internal = syndimgmtmob.s_store
syndimgmtmob.update_action_buttons_icon()
syndimgmtmob.faction += "syndicate"
syndimgmtmob.equip_to_slot_or_del(new /obj/item/clothing/glasses/thermal(src), slot_glasses)
syndimgmtmob.equip_to_slot_or_del(new /obj/item/clothing/suit/space/hardsuit/syndi/elite, slot_wear_suit)
syndimgmtmob.equip_to_slot_or_del(new /obj/item/clothing/head/helmet/space/hardsuit/syndi/elite, slot_head)
syndimgmtmob.equip_to_slot_or_del(new /obj/item/clothing/mask/gas/syndicate, slot_wear_mask)
var/datum/atom_hud/antag/opshud = huds[ANTAG_HUD_OPS]
opshud.join_hud(syndimgmtmob.mind.current)
set_antag_hud(syndimgmtmob.mind.current, "hudoperative")
syndimgmtmob.mind.special_role = "Syndicate Management Consultant"
syndimgmtmob.regenerate_icons()
to_chat(syndimgmtmob, "<span class='userdanger'>You have spawned as Syndicate Management. You should brief them on their mission before they go.</span>")
message_admins("[key_name_admin(src)] has spawned a Syndicate Infiltration Team.", 1)
log_admin("[key_name(src)] used Spawn Syndicate Infiltration Team.")
feedback_add_details("admin_verb","SPAWNSIT") //If you are copy-pasting this, ensure the 2nd parameter is unique to the new proc!
@@ -148,6 +148,9 @@
if("Mime")
suit=/obj/item/clothing/suit/space/eva/plasmaman/mime
helm=/obj/item/clothing/head/helmet/space/eva/plasmaman/mime
if("Syndicate Officer")
suit=/obj/item/clothing/suit/space/eva/plasmaman/nuclear
helm=/obj/item/clothing/head/helmet/space/eva/plasmaman/nuclear
if((H.mind.special_role == SPECIAL_ROLE_WIZARD) || (H.mind.special_role == SPECIAL_ROLE_WIZARD_APPRENTICE))
H.equip_to_slot(new /obj/item/clothing/suit/space/eva/plasmaman/wizard(H), slot_wear_suit)
@@ -295,6 +295,13 @@
else
return 0
/mob/new_player/proc/IsSyndicateCommand(rank)
var/datum/job/job = job_master.GetJob(rank)
if(job.syndicate_command)
return 1
else
return 0
/mob/new_player/proc/AttemptLateSpawn(rank,var/spawning_at)
if(src != usr)
return 0
@@ -336,6 +343,8 @@
if(IsAdminJob(rank))
if(IsERTSpawnJob(rank))
character.loc = pick(ertdirector)
else if(IsSyndicateCommand(rank))
character.loc = pick(syndicateofficer)
else
character.loc = pick(aroomwarp)
join_message = "has arrived"
+4
View File
@@ -861,6 +861,8 @@
/obj/machinery/computer/shuttle/sst
name = "Syndicate Strike Time Shuttle Console"
desc = "Used to call and send the SST shuttle."
icon_keyboard = "syndie_key"
icon_screen = "syndishuttle"
req_access = list(access_syndicate)
shuttleId = "sst"
possible_destinations = "sst_home;sst_away"
@@ -868,6 +870,8 @@
/obj/machinery/computer/shuttle/sit
name = "Syndicate Infiltration Team Shuttle Console"
desc = "Used to call and send the SIT shuttle."
icon_keyboard = "syndie_key"
icon_screen = "syndishuttle"
req_access = list(access_syndicate)
shuttleId = "sit"
possible_destinations = "sit_arrivals;sit_engshuttle;sit_away"
+1
View File
@@ -562,6 +562,7 @@
#include "code\game\jobs\job\supervisor.dm"
#include "code\game\jobs\job\support.dm"
#include "code\game\jobs\job\support_chaplain.dm"
#include "code\game\jobs\job\syndicate.dm"
#include "code\game\jobs\job_objectives\science.dm"
#include "code\game\machinery\adv_med.dm"
#include "code\game\machinery\ai_slipper.dm"