-
Notifications
You must be signed in to change notification settings - Fork 522
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
Solar Devils ERT [PvE Marines] (#6811)
# About the pull request In marking the merger of the PvP and PvE servers under a single banner, this PR sets to celebrate that by the addition of the 'Solar Devils' battalion as a (currently admin only) Emergency Response Team. The Solar Devils are similarly well equipped and trained as they appear in PvE. This PR also adds some content from the PvE server to enhance the appearance of the Solar Devils to better fit their appearance, such as a battalion patch sprite. These squads will spawn with, depending on if they are a half or full squad, 4 Riflemen, 2 Smartgunners, 2 Team Leaders, 1 Platoon Corpsman and 1 Platoon Leader. The Platoon Leader will only spawn with the 'Full Squad' ERT. The squad are all armed with M41A Mk1's. ---- In terms of function. This PR adds two distress calls for admins to use, a Half-Squad and Full Squad deployment of either 5 or 10, respectively, Solar Devil Marines. They spawn with some unique equipment, and they all possess increased skills. # Explain why it's good for the game Show of comradeship, and a small easter egg of the PvE server in PvP. # Testing Photographs and Procedure ![Screenshot 2024-07-28 21 52 07](https://github.com/user-attachments/assets/a28fca30-a2ca-4b13-9528-42586d4a8caf) # Changelog :cl: add: In observance of the merger of the PvP and PvE servers of CM-SS13. The 'Solar Devils', the USCM battalion that appear in the PvE server, have been added as an admin only Emergency Response Team. add: The Solar Devils are highly trained and well equipped by Marine standards, they will also spawn as part of their own squad. imageadd: A 'Solar Devils' uniform patch accessory has been added. /:cl: --------- Co-authored-by: Steelpoint <[email protected]> Co-authored-by: private-tristan <[email protected]>
- Loading branch information
1 parent
2ab6abd
commit 5947249
Showing
12 changed files
with
510 additions
and
0 deletions.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,91 @@ | ||
/datum/emergency_call/solar_devils | ||
name = "USCM Solar Devils (Half Squad)" | ||
arrival_message = "This is the Solar Devils of the USCM 2nd Division, responding to your distress beacon. Don't worry, the grown-ups are here to clean up your mess." | ||
objectives = "Assist local Marine forces in dealing with whatever issue they can't handle. Further orders may be forthcoming." | ||
home_base = /datum/lazy_template/ert/uscm_station | ||
probability = 0 | ||
mob_min = 3 | ||
mob_max = 5 | ||
|
||
max_medics = 1 | ||
max_smartgunners = 1 | ||
|
||
/datum/emergency_call/solar_devils/create_member(datum/mind/new_mind, turf/override_spawn_loc) | ||
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/mob = new(spawn_loc) | ||
new_mind.transfer_to(mob, TRUE) | ||
|
||
if(!leader && HAS_FLAG(mob.client.prefs.toggles_ert, PLAY_LEADER) && check_timelock(mob.client, JOB_SQUAD_LEADER, time_required_for_job)) | ||
leader = mob | ||
arm_equipment(mob, /datum/equipment_preset/uscm/tl_pve, TRUE, TRUE) | ||
to_chat(mob, SPAN_ROLE_HEADER("You are the Solar Devils Team Leader!")) | ||
|
||
else if(medics < max_medics && HAS_FLAG(mob.client.prefs.toggles_ert, PLAY_MEDIC) && check_timelock(mob.client, JOB_SQUAD_MEDIC, time_required_for_job)) | ||
medics++ | ||
arm_equipment(mob, /datum/equipment_preset/uscm/medic_pve, TRUE, TRUE) | ||
to_chat(mob, SPAN_ROLE_HEADER("You are the Solar Devils Platoon Corpsman!")) | ||
|
||
else if(smartgunners < max_smartgunners && HAS_FLAG(mob.client.prefs.toggles_ert, PLAY_SMARTGUNNER) && check_timelock(mob.client, JOB_SQUAD_SMARTGUN)) | ||
smartgunners++ | ||
to_chat(mob, SPAN_ROLE_HEADER("You are the Solar Devils Smartgunner!")) | ||
arm_equipment(mob, /datum/equipment_preset/uscm/sg_pve, TRUE, TRUE) | ||
|
||
else | ||
arm_equipment(mob, /datum/equipment_preset/uscm/rifleman_pve, TRUE, TRUE) | ||
to_chat(mob, SPAN_ROLE_HEADER("You are a Solar Devils Rifleman!")) | ||
|
||
to_chat(mob, SPAN_ROLE_BODY("You are a member of the 3rd Battalion 'Solar Devils', part of the USCM's 2nd Division, 1st Regiment. Unlike most of the USS Almayer's troops, you are well-trained and properly-equipped career marines. Semper Fidelis.")) | ||
addtimer(CALLBACK(GLOBAL_PROC, GLOBAL_PROC_REF(to_chat), mob, SPAN_BOLD("Objectives:</b> [objectives]")), 1 SECONDS) | ||
|
||
/datum/emergency_call/solar_devils_full | ||
name = "USCM Solar Devils (Full Squad)" | ||
arrival_message = "This is the Solar Devils of the USCM 2nd Division, responding to your distress beacon. Don't worry, the grown-ups are here to clean up your mess." | ||
objectives = "Assist local Marine forces in dealing with whatever issue they can't handle. Further orders may be forthcoming." | ||
home_base = /datum/lazy_template/ert/uscm_station | ||
probability = 0 | ||
mob_min = 3 | ||
mob_max = 10 | ||
|
||
max_engineers = 2 | ||
max_medics = 1 | ||
max_smartgunners = 2 | ||
|
||
/datum/emergency_call/solar_devils_full/create_member(datum/mind/new_mind, turf/override_spawn_loc) | ||
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/mob = new(spawn_loc) | ||
new_mind.transfer_to(mob, TRUE) | ||
|
||
if(!leader && HAS_FLAG(mob.client.prefs.toggles_ert, PLAY_LEADER) && check_timelock(mob.client, JOB_SQUAD_LEADER, time_required_for_job)) | ||
leader = mob | ||
arm_equipment(mob, /datum/equipment_preset/uscm/sl_pve, TRUE, TRUE) | ||
to_chat(mob, SPAN_ROLE_HEADER("You are the Solar Devils Platoon Leader!")) | ||
|
||
else if(engineers < max_engineers && HAS_FLAG(mob.client.prefs.toggles_ert, PLAY_ENGINEER) && check_timelock(mob.client, JOB_SQUAD_LEADER, time_required_for_job)) | ||
engineers++ | ||
arm_equipment(mob, /datum/equipment_preset/uscm/tl_pve, TRUE, TRUE) | ||
to_chat(mob, SPAN_ROLE_HEADER("You are a Solar Devils Team Leader!")) | ||
|
||
else if(medics < max_medics && HAS_FLAG(mob.client.prefs.toggles_ert, PLAY_MEDIC) && check_timelock(mob.client, JOB_SQUAD_MEDIC, time_required_for_job)) | ||
medics++ | ||
arm_equipment(mob, /datum/equipment_preset/uscm/medic_pve, TRUE, TRUE) | ||
to_chat(mob, SPAN_ROLE_HEADER("You are the Solar Devils Platoon Corpsman!")) | ||
|
||
else if(smartgunners < max_smartgunners && HAS_FLAG(mob.client.prefs.toggles_ert, PLAY_SMARTGUNNER) && check_timelock(mob.client, JOB_SQUAD_SMARTGUN)) | ||
smartgunners++ | ||
to_chat(mob, SPAN_ROLE_HEADER("You are a Solar Devils Smartgunner!")) | ||
arm_equipment(mob, /datum/equipment_preset/uscm/sg_pve, TRUE, TRUE) | ||
|
||
else | ||
arm_equipment(mob, /datum/equipment_preset/uscm/rifleman_pve, TRUE, TRUE) | ||
to_chat(mob, SPAN_ROLE_HEADER("You are a Solar Devils Rifleman!")) | ||
|
||
to_chat(mob, SPAN_ROLE_BODY("You are a member of the 3rd Battalion 'Solar Devils', part of the USCM's 2nd Division, 1st Regiment. Unlike most of the USS Almayer's troops, you are well-trained and properly-equipped career marines. Semper Fidelis.")) | ||
addtimer(CALLBACK(GLOBAL_PROC, GLOBAL_PROC_REF(to_chat), mob, SPAN_BOLD("Objectives:</b> [objectives]")), 1 SECONDS) |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Oops, something went wrong.