Skip to content

Commit

Permalink
Cryo spec one time tech purchase (#4354)
Browse files Browse the repository at this point in the history
# About the pull request

This PR puts cryo specialist in its own tech.

It can be purchased once for eight points for a single specialist. Point
cost may be changed.

# Explain why it's good for the game

Moving this to its own category gives commanders a choice between a few
men and a specialist while also stopping tons of spec stacking.

# Testing Photographs and Procedure
<details>
<summary>Screenshots & Videos</summary>

Put screenshots and videos here with an empty line between the
screenshots and the `<details>` tags.

</details>


# Changelog

:cl: Morrow
add: Added cryo specialist tech that can be purchased once for eight
points
/:cl:
  • Loading branch information
morrowwolf committed Sep 11, 2023
1 parent 1614ab2 commit 40207ea
Show file tree
Hide file tree
Showing 3 changed files with 69 additions and 0 deletions.
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)
human.client?.prefs.copy_all_to(human, JOB_SQUAD_SPECIALIST, TRUE, TRUE)
arm_equipment(human, /datum/equipment_preset/uscm/spec/cryo, mind == null, TRUE)
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 @@ -1585,6 +1586,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

0 comments on commit 40207ea

Please sign in to comment.