forked from cmss13-devs/cmss13
-
Notifications
You must be signed in to change notification settings - Fork 0
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
Royal Marines Commando (cmss13-devs#4098)
# About the pull request This PR adds the Royal Marines Commando under the TWE as a faction and as an ERT, this PR is part 1 and more is planned to be added the reason why it isn't being added in this PR is that it isn't fully complete and these sprites have been waiting a very long time Royal Marines Roles Smartgunner: Special smart-gun sprite, gameplaywise only difference is its use of holo targetting rounds on top of its regular ammo, making it a menace in a group Breacher: The breacher combines his high armor with a ballistic shield and a rifle built to be used in one hand. This guy is hard to bring down Marksman: The marksman rifle is limited to 20 rounds from 30 but has increased damage and a mini scope with no slowdown Rifleman: The grunts of the three world empire are highly maneuverable their rifle while slower firing and only containing 30 rounds has no movement slowdown Teamleader/Officer: the leaders are basically the same as the rifleman but with better skills and a VP78 The Royal Marines are equipped for every possibility in the field, they are all trained medics and carry the equipment to boot. Aside from the breacher, they are all quick on their feet, and their weapons while across the board slower than their marine equivalents pack the punch needed to get the job done. Fluff, the royal marines in this area are based out of the HMS Patna working alongside the HMS Thunderchild to assist the United Americas in protecting the outer colonies from increasing CLF activity # Explain why it's good for the game Gives the TWE some representation, adds some cool new faction stuff, an ERT, and equipment # 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: Triiodine, Frans, Warfan, SpartanBobby, Twomper, Roboticpotato, Tophat Penguin,forest2001 add: Added Royal Marines commando ERT and faction add: Updates Riot shield sprite, adds metal shield as well (sprites from trio) add: TWE ERT station add: F903 Rifle, Royal marines commando armour sets, new smartgun with holotargetting rounds for royal marines commando add: Calico shotgun, pistol and SMG sprites to the codebase made by Triodine add: royal marines commando HEDP and HIDP grenades /:cl: --------- Co-authored-by: Morrow <[email protected]> Co-authored-by: harryob <[email protected]>
- Loading branch information
1 parent
1eda56b
commit a1079f4
Showing
71 changed files
with
8,498 additions
and
1,779 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
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,75 @@ | ||
/datum/emergency_call/royal_marines | ||
name = "Royal Marines Commando (Squad) (Friendly)" | ||
mob_max = 7 | ||
probability = 0 | ||
name_of_spawn = /obj/effect/landmark/ert_spawns/distress_twe | ||
item_spawn = /obj/effect/landmark/ert_spawns/distress_twe/item | ||
max_engineers = 0 | ||
max_medics = 0 | ||
max_heavies = 3 | ||
|
||
/datum/emergency_call/royal_marines/New() | ||
..() | ||
arrival_message = "[MAIN_SHIP_NAME], this is [pick_weight(list("HMS Patna"= 50, "HMS Thunderchild" = 50))]; we are responding to your distress call and boarding in accordance with the Military Aid Act of 2177, Authentication code Lima-18153. " | ||
objectives = "Ensure the survival of the [MAIN_SHIP_NAME], eliminate any hostiles, and assist the crew in any way possible." | ||
|
||
|
||
/datum/emergency_call/royal_marines/create_member(datum/mind/spawning_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) | ||
spawning_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 | ||
to_chat(mob, SPAN_ROLE_HEADER("You are an Officer in the Royal Marines Commando. Born in the Three World Empire.")) | ||
arm_equipment(mob, /datum/equipment_preset/twe/royal_marine/team_leader, TRUE, TRUE) | ||
else if(heavies < max_heavies && HAS_FLAG(mob.client.prefs.toggles_ert, PLAY_HEAVY) && check_timelock(mob.client, JOB_SQUAD_SPECIALIST)) | ||
var/specialist_kit = pick("Sniper", "Smartgun", "Breach") | ||
switch(specialist_kit) | ||
if("Sniper") | ||
to_chat(mob, SPAN_ROLE_HEADER("You are a skilled marksman in the Royal Marines Commando. Born in the Three World Empire.")) | ||
arm_equipment(mob, /datum/equipment_preset/twe/royal_marine/spec/marksman, TRUE, TRUE) | ||
if("Smartgun") | ||
to_chat(mob, SPAN_ROLE_HEADER("You are a Smartgunner in the Royal Marines Commando. Born in the Three World Empire.")) | ||
arm_equipment(mob, /datum/equipment_preset/twe/royal_marine/spec/machinegun, TRUE, TRUE) | ||
if("Breach") | ||
to_chat(mob, SPAN_ROLE_HEADER("You are a CQB Specialist in the Royal Marines Commando. Born in the Three World Empire.")) | ||
arm_equipment(mob, /datum/equipment_preset/twe/royal_marine/spec/breacher, TRUE, TRUE) | ||
heavies++ | ||
else | ||
to_chat(mob, SPAN_ROLE_HEADER("You are a member of the Royal Marines Commando. Born in the three world empire.")) | ||
arm_equipment(mob, /datum/equipment_preset/twe/royal_marine/standard, TRUE, TRUE) | ||
|
||
print_backstory(mob) | ||
|
||
addtimer(CALLBACK(GLOBAL_PROC, GLOBAL_PROC_REF(to_chat), mob, SPAN_BOLD("Objectives:</b> [objectives]")), 1 SECONDS) | ||
|
||
|
||
/datum/emergency_call/royal_marines/print_backstory(mob/living/carbon/human/spawning_mob) | ||
to_chat(spawning_mob, SPAN_BOLD("You were born in the Three World Empire to a [pick_weight(list("average" = 75, "poor" = 15, "well-established" = 10))] family.")) | ||
to_chat(spawning_mob, SPAN_BOLD("Joining the Royal Marines gave you a lot of combat experience and useful skills.")) | ||
to_chat(spawning_mob, SPAN_BOLD("You are [pick_weight(list("unaware" = 75, "faintly aware" = 15, "knoledgeable" = 10))] of the xenomorph threat.")) | ||
to_chat(spawning_mob, SPAN_BOLD("You are a citizen of the three world empire and joined the Royal Marines Commando")) | ||
to_chat(spawning_mob, SPAN_BOLD("You are apart of a jointed UA/TWE taskforce onboard the HMS Patna and Thunderchild.")) | ||
to_chat(spawning_mob, SPAN_BOLD("Under the directive of the RMC high command, you have been assisting USCM forces with maintaining peace in the area.")) | ||
to_chat(spawning_mob, SPAN_BOLD("Assist the USCMC Force of the [MAIN_SHIP_NAME] however you can.")) | ||
|
||
/datum/emergency_call/royal_marines/platoon | ||
name = "Royal Marines Commando (Platoon) (Friendly)" | ||
mob_min = 7 | ||
mob_max = 28 | ||
probability = 0 | ||
max_medics = 0 | ||
max_heavies = 6 | ||
max_engineers = 0 | ||
|
||
/obj/effect/landmark/ert_spawns/distress_twe | ||
name = "Distress_TWE" | ||
|
||
/obj/effect/landmark/ert_spawns/distress_twe/item | ||
name = "Distress_TWEItem" | ||
|
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,94 @@ | ||
/datum/faction/royal_marines_commando | ||
name = "Royal Marines Commando" | ||
faction_tag = FACTION_TWE | ||
|
||
/datum/faction/royal_marines_commando/modify_hud_holder(image/holder, mob/living/carbon/human/H) | ||
var/hud_icon_state | ||
var/obj/item/card/id/dogtag/ID = H.get_idcard() | ||
var/_role | ||
if(H.mind) | ||
_role = H.job | ||
else if(ID) | ||
_role = ID.rank | ||
switch(_role) | ||
if(JOB_TWE_RMC_LIEUTENANT) | ||
hud_icon_state = "lieutenant" | ||
if(JOB_TWE_RMC_TEAMLEADER) | ||
hud_icon_state = "teamleader" | ||
if(JOB_TWE_RMC_MARKSMAN) | ||
hud_icon_state = "marksman" | ||
if(JOB_TWE_RMC_RIFLEMAN) | ||
hud_icon_state = "rifleman" | ||
if(JOB_TWE_RMC_SMARTGUNNER) | ||
hud_icon_state = "smartgunner" | ||
if(JOB_TWE_RMC_BREACHER) | ||
hud_icon_state = "breacher" | ||
if(hud_icon_state) | ||
holder.overlays += image('icons/mob/hud/marine_hud.dmi', H, "rmc_[hud_icon_state]") | ||
|
||
/datum/faction/royal_marines_commando/get_antag_guns_snowflake_equipment() | ||
return list( | ||
list("PRIMARY FIREARMS", 0, null, null, null), | ||
list("F903A1 Rifle", 20, /obj/item/weapon/gun/rifle/rmc_f90, null, VENDOR_ITEM_REGULAR), | ||
list("F903A2 Rifle", 30, /obj/item/weapon/gun/rifle/rmc_f90/a_grip, null, VENDOR_ITEM_REGULAR), | ||
list("F903A1 Marksman Rifle", 30, /obj/item/weapon/gun/rifle/rmc_f90/scope, null, VENDOR_ITEM_REGULAR), | ||
list("F903A1/B 'Breacher' Rifle", 30, /obj/item/weapon/gun/rifle/rmc_f90/shotgun, null, VENDOR_ITEM_REGULAR), | ||
|
||
list("PRIMARY AMMUNITION", 0, null, null, null), | ||
list("F903 Magazine (10x24mm)", 5, /obj/item/ammo_magazine/rifle/rmc_f90, null, VENDOR_ITEM_REGULAR), | ||
list("F903A1 Marksman Magazine (10x24mm)", 15, /obj/item/ammo_magazine/rifle/rmc_f90/marksman, null, VENDOR_ITEM_REGULAR), | ||
|
||
list("SIDEARMS", 0, null, null, null), | ||
list("VP78 Pistol", 20, /obj/item/weapon/gun/pistol/vp78, null, VENDOR_ITEM_REGULAR), | ||
list("88 Mod 4 Combat Pistol", 15, /obj/item/weapon/gun/pistol/mod88, null, VENDOR_ITEM_REGULAR), | ||
|
||
list("SIDEARM AMMUNITION", 0, null, null, null), | ||
list("VP78 magazine (9mm)", 5, /obj/item/ammo_magazine/pistol/vp78, null, VENDOR_ITEM_REGULAR), | ||
list("88M4 AP Magazine (9mm)", 5, /obj/item/ammo_magazine/pistol/mod88, null, VENDOR_ITEM_REGULAR), | ||
|
||
list("ATTACHMENTS", 0, null, null, null), | ||
list("Angled Grip", 15, /obj/item/attachable/angledgrip, null, VENDOR_ITEM_REGULAR), | ||
list("Burst Fire Assembly", 15, /obj/item/attachable/burstfire_assembly, null, VENDOR_ITEM_REGULAR), | ||
list("Extended Barrel", 15, /obj/item/attachable/extended_barrel, null, VENDOR_ITEM_REGULAR), | ||
list("Laser Sight", 15, /obj/item/attachable/lasersight, null, VENDOR_ITEM_REGULAR), | ||
list("Rail Flashlight", 5, /obj/item/attachable/flashlight, null, VENDOR_ITEM_REGULAR), | ||
list("Red-Dot Sight", 15, /obj/item/attachable/reddot, null, VENDOR_ITEM_REGULAR), | ||
list("Reflex Sight", 15, /obj/item/attachable/reflex, null, VENDOR_ITEM_REGULAR), | ||
list("Suppressor", 15, /obj/item/attachable/suppressor, null, VENDOR_ITEM_REGULAR), | ||
list("Vertical Grip", 15, /obj/item/attachable/verticalgrip, null, VENDOR_ITEM_REGULAR), | ||
|
||
list("UTILITIES", 0, null, null, null), | ||
list("M94 Marking Flare Pack", 3, /obj/item/storage/box/m94, null, VENDOR_ITEM_RECOMMENDED), | ||
list("Smoke Grenade", 7, /obj/item/explosive/grenade/smokebomb, null, VENDOR_ITEM_REGULAR), | ||
list("R2175/B HIDP grenade packet", 7, /obj/item/storage/box/packet/rmc/incin, null, VENDOR_ITEM_REGULAR), | ||
list("R2175/A HEDP grenade packet", 7, /obj/item/storage/box/packet/rmc/he, null, VENDOR_ITEM_REGULAR), | ||
list("L5 bayonet", 3, /obj/item/attachable/bayonet/rmc, null, VENDOR_ITEM_REGULAR), | ||
) | ||
|
||
/datum/faction/royal_marines_commando/get_antag_guns_sorted_equipment() | ||
return list( | ||
list("PRIMARY FIREARMS", -1, null, null), | ||
list("F903A1 Rifle", 20, /obj/item/weapon/gun/rifle/rmc_f90, null, VENDOR_ITEM_REGULAR), | ||
list("F903A2 Rifle", 30, /obj/item/weapon/gun/rifle/rmc_f90/a_grip, null, VENDOR_ITEM_REGULAR), | ||
list("F903A1 Marksman Rifle", 30, /obj/item/weapon/gun/rifle/rmc_f90/scope, null, VENDOR_ITEM_REGULAR), | ||
list("F903A1/B 'Breacher' Rifle", 30, /obj/item/weapon/gun/rifle/rmc_f90/shotgun, null, VENDOR_ITEM_REGULAR), | ||
|
||
list("PRIMARY AMMUNITION", -1, null, null), | ||
list("F903 Magazine (10x24mm)", 5, /obj/item/ammo_magazine/rifle/rmc_f90, null, VENDOR_ITEM_REGULAR), | ||
list("F903A1 Marksman Magazine (10x24mm)", 15, /obj/item/ammo_magazine/rifle/rmc_f90/marksman, null, VENDOR_ITEM_REGULAR), | ||
|
||
list("SIDEARMS", -1, null, null), | ||
list("VP78 Pistol", 20, /obj/item/weapon/gun/pistol/vp78, null, VENDOR_ITEM_REGULAR), | ||
list("88 Mod 4 Combat Pistol", 15, /obj/item/weapon/gun/pistol/mod88, null, VENDOR_ITEM_REGULAR), | ||
|
||
list("SIDEARM AMMUNITION", -1, null, null), | ||
list("VP78 magazine (9mm)", 5, /obj/item/ammo_magazine/pistol/vp78, null, VENDOR_ITEM_REGULAR), | ||
list("88M4 AP Magazine (9mm)", 5, /obj/item/ammo_magazine/pistol/mod88, null, VENDOR_ITEM_REGULAR), | ||
|
||
list("UTILITIES", -1, null, null), | ||
list("M94 Marking Flare Pack", 3, /obj/item/storage/box/m94, null, VENDOR_ITEM_RECOMMENDED), | ||
list("Smoke Grenade", 7, /obj/item/explosive/grenade/smokebomb, null, VENDOR_ITEM_REGULAR), | ||
list("R2175/B HIDP grenade packet", 7, /obj/item/storage/box/packet/rmc/incin, null, VENDOR_ITEM_REGULAR), | ||
list("R2175/A HEDP grenade packet", 7, /obj/item/storage/box/packet/rmc/he, null, VENDOR_ITEM_REGULAR), | ||
list("L5 bayonet", 3, /obj/item/attachable/bayonet/rmc, null, VENDOR_ITEM_REGULAR), | ||
) |
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.