Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Cryo spec one time tech purchase #4354

Merged
merged 2 commits into from
Sep 11, 2023
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
43 changes: 43 additions & 0 deletions code/datums/emergency_calls/cryo_spec.dm
Original file line number Diff line number Diff line change
@@ -0,0 +1,43 @@
/datum/emergency_call/cryo_spec
name = "Marine Cryo Reinforcement (Spec)"
mob_max = 1
mob_min = 1
probability = 0
objectives = "Assist the USCM forces"
name_of_spawn = /obj/effect/landmark/ert_spawns/distress_cryo
shuttle_id = ""
spawn_max_amount = TRUE

/datum/emergency_call/cryo_spec/create_member(datum/mind/mind, turf/override_spawn_loc)
set waitfor = FALSE
if(SSmapping.configs[GROUND_MAP].map_name == MAP_WHISKEY_OUTPOST)
name_of_spawn = /obj/effect/landmark/ert_spawns/distress_wo
var/turf/spawn_loc = override_spawn_loc ? override_spawn_loc : get_spawn_point()

if(!istype(spawn_loc))
return //Didn't find a useable spawn point.

var/mob/living/carbon/human/human = new(spawn_loc)

if(mind)
mind.transfer_to(human, TRUE)
else
human.create_hud()

if(!mind)
for(var/obj/structure/machinery/cryopod/pod in view(7,human))
if(pod && !pod.occupant)
pod.go_in_cryopod(human, silent = TRUE)
break

sleep(5)
morrowwolf marked this conversation as resolved.
Show resolved Hide resolved
human.client?.prefs.copy_all_to(human, JOB_SQUAD_SPECIALIST, TRUE, TRUE)
arm_equipment(human, /datum/equipment_preset/uscm/spec/cryo, mind == null, TRUE)
morrowwolf marked this conversation as resolved.
Show resolved Hide resolved
to_chat(human, SPAN_ROLE_HEADER("You are a Weapons Specialist in the USCM"))
to_chat(human, SPAN_ROLE_BODY("Your squad is here to assist in the defence of the [SSmapping.configs[GROUND_MAP].map_name]. Listen to the chain of command."))
to_chat(human, SPAN_BOLDWARNING("If you wish to cryo or ghost upon spawning in, you must ahelp and inform staff so you can be replaced."))

sleep(10)
if(!mind)
human.free_for_ghosts()
to_chat(human, SPAN_BOLD("Objectives: [objectives]"))
24 changes: 24 additions & 0 deletions code/modules/cm_tech/techs/marine/tier3/cryo_spec.dm
Original file line number Diff line number Diff line change
@@ -0,0 +1,24 @@
/datum/tech/cryomarine
name = "Wake Up Additional Specialist"
desc = "Wakes up an additional specialist to fight against any threats."
icon_state = "overshield"

announce_name = "ALMAYER SPECIAL ASSETS AUTHORIZED"
announce_message = "An additional specialist is being taken out of cryo."

required_points = 8

flags = TREE_FLAG_MARINE
tier = /datum/tier/three

/datum/tech/cryomarine/can_unlock(mob/user)
. = ..()
if(!.)
return
if(!SSticker.mode)
to_chat(user, SPAN_WARNING("You can't do this right now!"))
return

/datum/tech/cryomarine/on_unlock()
. = ..()
SSticker.mode.get_specific_call("Marine Cryo Reinforcement (Spec)", FALSE, FALSE, announce_dispatch_message = FALSE)
2 changes: 2 additions & 0 deletions colonialmarines.dme
Original file line number Diff line number Diff line change
Expand Up @@ -463,6 +463,7 @@ s// DM Environment file for colonialmarines.dme.
#include "code\datums\emergency_calls\contractor.dm"
#include "code\datums\emergency_calls\cryo_marines.dm"
#include "code\datums\emergency_calls\cryo_marines_heavy.dm"
#include "code\datums\emergency_calls\cryo_spec.dm"
#include "code\datums\emergency_calls\custom.dm"
#include "code\datums\emergency_calls\deathsquad.dm"
#include "code\datums\emergency_calls\deus_vult.dm"
Expand Down Expand Up @@ -1583,6 +1584,7 @@ s// DM Environment file for colonialmarines.dme.
#include "code\modules\cm_tech\techs\abstract\transitory.dm"
#include "code\modules\cm_tech\techs\marine\tier1\points.dm"
#include "code\modules\cm_tech\techs\marine\tier2\orbital_ammo.dm"
#include "code\modules\cm_tech\techs\marine\tier3\cryo_spec.dm"
#include "code\modules\cm_tech\techs\marine\tier3\cryorine.dm"
#include "code\modules\cm_tech\techs\marine\tier4\nuke.dm"
#include "code\modules\cm_tech\trees\marine.dm"
Expand Down