From 021e56f8ffa7f5dd19d9a6a1229f3ea17415875c Mon Sep 17 00:00:00 2001 From: Zonespace <41448081+Zonespace27@users.noreply.github.com> Date: Mon, 21 Nov 2022 22:58:08 -0800 Subject: [PATCH] Adds the ability for ERTs to use a custom shuttle (#71348) ## About The Pull Request ERTs can now have a custom shuttle template defined on their type, which, should the "use custom shuttle" toggle be enabled while creating the ERT, will spawn them in deep space on the given shuttle instead of at Centcom. Applies the new system to the bounty hunter ERT ## Why It's Good For The Game Not all ERTs are NT enough to start at Centcom all the time, and it gives more control over ERTs ## Changelog :cl: admin: ERTs can now have a custom shuttle that they can spawn on, on a toggle while creating said ERT. /:cl: --- _maps/shuttles/ert_bounty.dmm | 486 +++++++++++++++++++++++++ code/datums/ert.dm | 5 + code/datums/shuttles.dm | 9 + code/game/objects/effects/landmarks.dm | 8 + code/modules/admin/verbs/ert.dm | 76 +++- icons/effects/landmarks_static.dmi | Bin 20455 -> 21358 bytes 6 files changed, 569 insertions(+), 15 deletions(-) create mode 100644 _maps/shuttles/ert_bounty.dmm diff --git a/_maps/shuttles/ert_bounty.dmm b/_maps/shuttles/ert_bounty.dmm new file mode 100644 index 00000000000..92b3628f97f --- /dev/null +++ b/_maps/shuttles/ert_bounty.dmm @@ -0,0 +1,486 @@ +//MAP CONVERTED BY dmm2tgm.py THIS HEADER COMMENT PREVENTS RECONVERSION, DO NOT REMOVE +"a" = ( +/turf/template_noop, +/area/template_noop) +"d" = ( +/obj/structure/sign/warning/vacuum/external, +/turf/closed/wall/mineral/plastitanium, +/area/shuttle/hunter) +"f" = ( +/obj/structure/table, +/turf/open/floor/pod/light, +/area/shuttle/hunter) +"h" = ( +/obj/effect/spawner/structure/window/reinforced/plasma/plastitanium, +/turf/open/floor/plating, +/area/shuttle/hunter) +"j" = ( +/obj/structure/curtain/bounty, +/turf/open/floor/pod/dark, +/area/shuttle/hunter) +"l" = ( +/obj/machinery/power/shuttle_engine/propulsion{ + dir = 8 + }, +/turf/open/floor/plating/airless, +/area/shuttle/hunter) +"n" = ( +/turf/closed/wall/mineral/plastitanium, +/area/shuttle/hunter) +"p" = ( +/obj/effect/turf_decal/stripes/line{ + dir = 1 + }, +/turf/open/floor/plating, +/area/shuttle/hunter) +"r" = ( +/obj/structure/chair/office{ + dir = 8 + }, +/obj/effect/landmark/ert_shuttle_spawn, +/turf/open/floor/pod/dark, +/area/shuttle/hunter) +"s" = ( +/obj/machinery/computer/shuttle/hunter{ + dir = 8 + }, +/turf/open/floor/pod/dark, +/area/shuttle/hunter) +"t" = ( +/obj/machinery/suit_storage_unit/standard_unit{ + storage_type = /obj/item/tank/internals/oxygen/yellow + }, +/turf/open/floor/pod/light, +/area/shuttle/hunter) +"u" = ( +/obj/structure/chair/comfy/shuttle{ + dir = 4 + }, +/turf/open/floor/pod/dark, +/area/shuttle/hunter) +"v" = ( +/obj/machinery/power/shuttle_engine/heater{ + dir = 8 + }, +/obj/structure/window/reinforced{ + dir = 4 + }, +/turf/open/floor/plating/airless, +/area/shuttle/hunter) +"w" = ( +/obj/effect/mapping_helpers/airlock/cyclelink_helper{ + dir = 1 + }, +/obj/machinery/door/airlock/external/ruin, +/turf/open/floor/plating, +/area/shuttle/hunter) +"x" = ( +/obj/structure/chair/office{ + dir = 4 + }, +/obj/effect/landmark/ert_shuttle_spawn, +/turf/open/floor/pod/light, +/area/shuttle/hunter) +"y" = ( +/obj/structure/chair/office{ + dir = 4 + }, +/obj/effect/landmark/ert_shuttle_spawn, +/turf/open/floor/pod/dark, +/area/shuttle/hunter) +"z" = ( +/obj/structure/sign/poster/contraband/bountyhunters, +/turf/closed/wall/mineral/plastitanium, +/area/shuttle/hunter) +"A" = ( +/obj/effect/turf_decal/stripes/line{ + dir = 9 + }, +/turf/open/floor/pod/dark, +/area/shuttle/hunter) +"C" = ( +/obj/effect/turf_decal/stripes/line{ + dir = 8 + }, +/turf/open/floor/pod/dark, +/area/shuttle/hunter) +"D" = ( +/obj/machinery/power/smes, +/turf/open/floor/pod/dark, +/area/shuttle/hunter) +"E" = ( +/obj/structure/table, +/obj/item/phone, +/turf/open/floor/pod/dark, +/area/shuttle/hunter) +"F" = ( +/obj/effect/mapping_helpers/airlock/cyclelink_helper, +/obj/machinery/door/airlock/external/ruin, +/obj/structure/fans/tiny, +/turf/open/floor/plating, +/area/shuttle/hunter) +"G" = ( +/turf/open/floor/plating, +/area/shuttle/hunter) +"H" = ( +/obj/machinery/computer/camera_advanced/shuttle_docker/syndicate/hunter{ + dir = 8 + }, +/turf/open/floor/pod/dark, +/area/shuttle/hunter) +"I" = ( +/obj/structure/chair/comfy/shuttle{ + dir = 4 + }, +/obj/effect/landmark/ert_shuttle_brief_spawn, +/turf/open/floor/pod/dark, +/area/shuttle/hunter) +"K" = ( +/obj/structure/chair/office{ + dir = 8 + }, +/obj/effect/landmark/ert_shuttle_spawn, +/turf/open/floor/pod/light, +/area/shuttle/hunter) +"L" = ( +/obj/effect/landmark/ert_shuttle_spawn, +/turf/open/floor/pod/dark, +/area/shuttle/hunter) +"O" = ( +/turf/open/floor/pod/dark, +/area/shuttle/hunter) +"P" = ( +/obj/structure/table, +/turf/open/floor/pod/dark, +/area/shuttle/hunter) +"Q" = ( +/obj/effect/mapping_helpers/airlock/cyclelink_helper, +/obj/machinery/door/airlock/external/ruin, +/turf/open/floor/plating, +/area/shuttle/hunter) +"R" = ( +/obj/structure/table, +/obj/item/binoculars, +/turf/open/floor/pod/dark, +/area/shuttle/hunter) +"S" = ( +/turf/open/floor/pod/light, +/area/shuttle/hunter) +"T" = ( +/obj/effect/turf_decal/stripes/line, +/turf/open/floor/plating, +/area/shuttle/hunter) +"U" = ( +/obj/effect/mapping_helpers/airlock/cyclelink_helper{ + dir = 1 + }, +/obj/machinery/door/airlock/external/ruin, +/obj/docking_port/stationary{ + dwidth = 11; + height = 16; + name = "Deep Space"; + shuttle_id = "pirate_home"; + width = 17 + }, +/obj/docking_port/mobile{ + dheight = 3; + dwidth = 3; + height = 13; + movement_force = list("KNOCKDOWN" = 0, "THROW" = 0); + name = "hunter shuttle"; + rechargeTime = 1800; + shuttle_id = "huntership"; + width = 15 + }, +/obj/structure/fans/tiny, +/turf/open/floor/plating, +/area/shuttle/hunter) +"V" = ( +/obj/machinery/computer/camera_advanced{ + dir = 8 + }, +/turf/open/floor/pod/light, +/area/shuttle/hunter) +"W" = ( +/obj/structure/table, +/obj/item/storage/toolbox/mechanical, +/turf/open/floor/pod/light, +/area/shuttle/hunter) +"X" = ( +/obj/structure/rack, +/obj/item/grenade/c4{ + pixel_x = -1; + pixel_y = 1 + }, +/obj/item/grenade/c4{ + pixel_x = -6; + pixel_y = 7 + }, +/obj/item/grenade/c4{ + pixel_x = 7; + pixel_y = -5 + }, +/turf/open/floor/pod/dark, +/area/shuttle/hunter) +"Z" = ( +/obj/effect/turf_decal/stripes/line{ + dir = 10 + }, +/turf/open/floor/pod/dark, +/area/shuttle/hunter) + +(1,1,1) = {" +a +a +a +n +a +a +a +a +a +n +a +a +a +"} +(2,1,1) = {" +a +a +a +n +a +a +a +a +a +n +a +a +a +"} +(3,1,1) = {" +n +a +a +n +a +l +a +l +a +n +a +a +n +"} +(4,1,1) = {" +n +a +l +n +n +v +h +v +n +n +l +a +n +"} +(5,1,1) = {" +n +n +v +n +n +O +X +D +n +n +v +n +n +"} +(6,1,1) = {" +n +n +d +n +n +O +O +O +n +n +d +n +n +"} +(7,1,1) = {" +F +p +G +T +w +A +C +Z +Q +p +G +T +U +"} +(8,1,1) = {" +n +n +h +n +n +j +j +j +n +n +h +n +n +"} +(9,1,1) = {" +a +n +h +n +x +y +L +O +t +n +h +n +a +"} +(10,1,1) = {" +a +a +h +z +f +E +P +O +t +n +h +a +a +"} +(11,1,1) = {" +a +a +a +n +W +P +R +O +t +n +a +a +a +"} +(12,1,1) = {" +a +a +a +n +K +r +L +O +t +n +a +a +a +"} +(13,1,1) = {" +a +a +a +h +n +j +j +j +n +h +a +a +a +"} +(14,1,1) = {" +a +a +a +h +S +O +O +O +S +h +a +a +a +"} +(15,1,1) = {" +a +a +a +h +S +u +I +u +S +h +a +a +a +"} +(16,1,1) = {" +a +a +a +n +h +s +V +H +h +n +a +a +a +"} +(17,1,1) = {" +a +a +a +a +h +h +h +h +h +a +a +a +a +"} diff --git a/code/datums/ert.dm b/code/datums/ert.dm index 81953a8e83f..f823873bff1 100644 --- a/code/datums/ert.dm +++ b/code/datums/ert.dm @@ -16,6 +16,10 @@ var/spawn_admin = FALSE /// If TRUE, we try and pick one of the most experienced players who volunteered to fill the leader slot var/leader_experience = TRUE + /// A custom map template to spawn the ERT at. If this is null or use_custom_shuttle is FALSE, the ERT will spawn at Centcom. + var/datum/map_template/ert_template + /// If we should actually _use_ the ert_template custom shuttle + var/use_custom_shuttle = TRUE /datum/ert/New() if (!polldesc) @@ -111,3 +115,4 @@ mission = "Assist the station in catching perps, dead or alive." polldesc = "a Centcom-hired bounty hunting gang" random_names = FALSE + ert_template = /datum/map_template/shuttle/ert/bounty diff --git a/code/datums/shuttles.dm b/code/datums/shuttles.dm index bb9506754cd..bda592dea3a 100644 --- a/code/datums/shuttles.dm +++ b/code/datums/shuttles.dm @@ -165,6 +165,10 @@ port_id = "snowdin" who_can_purchase = null +/datum/map_template/shuttle/ert + port_id = "ert" + who_can_purchase = null + // Shuttles start here: /datum/map_template/shuttle/emergency/backup @@ -756,4 +760,9 @@ suffix = "excavation" name = "Snowdin Excavation Elevator" +// Custom ERT shuttles +/datum/map_template/shuttle/ert/bounty + suffix = "bounty" + name = "Bounty Hunter ERT Shuttle" + #undef EMAG_LOCKED_SHUTTLE_COST diff --git a/code/game/objects/effects/landmarks.dm b/code/game/objects/effects/landmarks.dm index e37d14d29a3..7fff1267cfe 100644 --- a/code/game/objects/effects/landmarks.dm +++ b/code/game/objects/effects/landmarks.dm @@ -356,6 +356,14 @@ INITIALIZE_IMMEDIATE(/obj/effect/landmark/start/new_player) GLOB.emergencyresponseteamspawn += loc return INITIALIZE_HINT_QDEL +/obj/effect/landmark/ert_shuttle_spawn + name = "ertshuttlespawn" + icon_state = "ert_spawn" + +/obj/effect/landmark/ert_shuttle_brief_spawn + name = "ertshuttlebriefspawn" + icon_state = "ert_brief_spawn" + //ninja energy nets teleport victims here /obj/effect/landmark/holding_facility name = "Holding Facility" diff --git a/code/modules/admin/verbs/ert.dm b/code/modules/admin/verbs/ert.dm index 983bca1b26d..f87eec87675 100644 --- a/code/modules/admin/verbs/ert.dm +++ b/code/modules/admin/verbs/ert.dm @@ -21,6 +21,7 @@ .["mainsettings"]["leader_experience"]["value"] = newtemplate.leader_experience ? "Yes" : "No" .["mainsettings"]["random_names"]["value"] = newtemplate.random_names ? "Yes" : "No" .["mainsettings"]["spawn_admin"]["value"] = newtemplate.spawn_admin ? "Yes" : "No" + .["mainsettings"]["use_custom_shuttle"]["value"] = newtemplate.use_custom_shuttle ? "Yes" : "No" /datum/admins/proc/equipAntagOnDummy(mob/living/carbon/human/dummy/mannequin, datum/antagonist/antag) @@ -87,11 +88,12 @@ "open_armory" = list("desc" = "Open armory doors", "type" = "boolean", "value" = "[(ertemplate.opendoors ? "Yes" : "No")]"), "leader_experience" = list("desc" = "Pick an experienced leader", "type" = "boolean", "value" = "[(ertemplate.leader_experience ? "Yes" : "No")]"), "random_names" = list("desc" = "Randomize names", "type" = "boolean", "value" = "[(ertemplate.random_names ? "Yes" : "No")]"), - "spawn_admin" = list("desc" = "Spawn yourself as briefing officer", "type" = "boolean", "value" = "[(ertemplate.spawn_admin ? "Yes" : "No")]") + "spawn_admin" = list("desc" = "Spawn yourself as briefing officer", "type" = "boolean", "value" = "[(ertemplate.spawn_admin ? "Yes" : "No")]"), + "use_custom_shuttle" = list("desc" = "Use the ERT's custom shuttle (if it has one)", "type" = "boolean", "value" = "[(ertemplate.use_custom_shuttle ? "Yes" : "No")]"), ) ) - var/list/prefreturn = presentpreflikepicker(usr,"Customize ERT", "Customize ERT", Button1="Ok", width = 600, StealFocus = 1,Timeout = 0, settings=settings) + var/list/prefreturn = presentpreflikepicker(usr, "Customize ERT", "Customize ERT", Button1="Ok", width = 600, StealFocus = 1,Timeout = 0, settings=settings) if (isnull(prefreturn)) return FALSE @@ -109,36 +111,75 @@ ertemplate.teamsize = prefs["teamsize"]["value"] ertemplate.mission = prefs["mission"]["value"] ertemplate.polldesc = prefs["polldesc"]["value"] - ertemplate.enforce_human = prefs["enforce_human"]["value"] == "Yes" // these next 5 are effectively toggles + ertemplate.enforce_human = prefs["enforce_human"]["value"] == "Yes" // these next 6 are effectively toggles ertemplate.opendoors = prefs["open_armory"]["value"] == "Yes" ertemplate.leader_experience = prefs["leader_experience"]["value"] == "Yes" ertemplate.random_names = prefs["random_names"]["value"] == "Yes" ertemplate.spawn_admin = prefs["spawn_admin"]["value"] == "Yes" + ertemplate.use_custom_shuttle = prefs["use_custom_shuttle"]["value"] == "Yes" var/list/spawnpoints = GLOB.emergencyresponseteamspawn var/index = 0 + var/list/mob/dead/observer/candidates = poll_ghost_candidates("Do you wish to be considered for [ertemplate.polldesc]?", "deathsquad") + var/teamSpawned = FALSE + + // This list will take priority over spawnpoints if not empty + var/list/spawn_turfs = list() + + // Takes precedence over spawnpoints[1] if not null + var/turf/brief_spawn + + if(!length(candidates)) + return FALSE + + if(ertemplate.use_custom_shuttle && ertemplate.ert_template) + to_chat(usr, span_boldnotice("Attempting to spawn ERT custom shuttle, this may take a few seconds...")) + var/datum/map_template/shuttle/ship = new ertemplate.ert_template + var/x = rand(TRANSITIONEDGE, world.maxx - TRANSITIONEDGE - ship.width) + var/y = rand(TRANSITIONEDGE, world.maxy - TRANSITIONEDGE - ship.height) + var/z = SSmapping.empty_space.z_value + var/turf/located_turf = locate(x, y, z) + if(!located_turf) + CRASH("ERT shuttle found no place to load in") + + if(!ship.load(located_turf)) + CRASH("Loading ERT shuttle failed!") + + var/list/shuttle_turfs = ship.get_affected_turfs(located_turf) + + for(var/turf/affected_turf as anything in shuttle_turfs) + for(var/obj/effect/landmark/ert_shuttle_spawn/spawner in affected_turf) + spawn_turfs += get_turf(spawner) + + if(!brief_spawn) + brief_spawn = locate(/obj/effect/landmark/ert_shuttle_brief_spawn) in affected_turf + + if(!length(spawn_turfs)) + stack_trace("ERT shuttle loaded but found no spawnpoints, placing the ERT at wherever inside the shuttle instead.") + + for(var/turf/open/floor/open_turf in shuttle_turfs) + if(!is_safe_turf(open_turf)) + continue + spawn_turfs += open_turf + + if(ertemplate.spawn_admin) if(isobserver(usr)) - var/mob/living/carbon/human/admin_officer = new (spawnpoints[1]) + var/mob/living/carbon/human/admin_officer = new (brief_spawn || spawnpoints[1]) var/chosen_outfit = usr.client?.prefs?.read_preference(/datum/preference/choiced/brief_outfit) usr.client.prefs.safe_transfer_prefs_to(admin_officer, is_antag = TRUE) admin_officer.equipOutfit(chosen_outfit) admin_officer.key = usr.key + else to_chat(usr, span_warning("Could not spawn you in as briefing officer as you are not a ghost!")) - var/list/mob/dead/observer/candidates = poll_ghost_candidates("Do you wish to be considered for [ertemplate.polldesc]?", "deathsquad") - var/teamSpawned = FALSE - - if(candidates.len == 0) - return FALSE - //Pick the (un)lucky players - var/numagents = min(ertemplate.teamsize,candidates.len) + var/numagents = min(ertemplate.teamsize, length(candidates)) //Create team - var/datum/team/ert/ert_team = new ertemplate.team () + var/datum/team/ert/ert_team = new ertemplate.team() if(ertemplate.rename_team) ert_team.name = ertemplate.rename_team @@ -167,9 +208,14 @@ earmarked_leader = pick(candidates) while(numagents && candidates.len) - var/spawnloc = spawnpoints[index+1] - //loop through spawnpoints one at a time - index = (index + 1) % spawnpoints.len + var/turf/spawnloc + if(length(spawn_turfs)) + spawnloc = pick(spawn_turfs) + else + spawnloc = spawnpoints[index+1] + //loop through spawnpoints one at a time + index = (index + 1) % spawnpoints.len + var/mob/dead/observer/chosen_candidate = earmarked_leader || pick(candidates) // this way we make sure that our leader gets chosen candidates -= chosen_candidate if(!chosen_candidate?.key) diff --git a/icons/effects/landmarks_static.dmi b/icons/effects/landmarks_static.dmi index d6a26b050d59afefbf78017d4378b9deb0147215..5537b58448f0968f227bbcd29fc5fb86097ada5e 100644 GIT binary patch literal 21358 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�cc`Iw3zb4`Ys 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 literal 20455 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