Skip to content

Commit

Permalink
Fiorina Riot In Progress: Colonial Marshals & United Americas Police (#…
Browse files Browse the repository at this point in the history
…6022)

<!-- Write **BELOW** The Headers and **ABOVE** The comments else it may
not be viewable. -->

# About the pull request

Howdy, this PR adds in unique Riot Response flavored CMB Deputies and UA
Riot Police to a Survivor Nightmare(thx badatthisgame302) on Fiorina
Science Annex. Because this is a survivor nightmare I kept the loadouts
very sparse, so you will only find a couple mags of ammo per weapon, and
all participants here will likely have to resort to their sidearm. It is
implied that by the time players control these characters, they've been
surviving for hours if not days. Furthermore, because its a riot
response, there are no specialists (engineers, doctors, etc.) to help
the support side of things. After all, it is just a riot call..

PS. If you haven't read the Alien: Isolation comic yet, something
similar is implied there. :)


On the CMB side we have 3 variations and a Synthetic. These
investigative federal agents are nimble on their feet, but inadequately
protected and their weapons are more focused on self defense. They were
sent here as emergency back-up to the understaffed prison, and aren't
prepared for this scenario. They do however still carry some rubber
munitions and crowd control elements.

On the UA side we have 4 variations and a Synthetic. The infamous United
Americas Riot Control Police show with four variations. Donned in
complete riot gear and with uniformity, they would seem like an
unstoppable force to be reckoned with. Unfortunately for them, they're
dealing with Xenomorphs - all of their crowd control devices and
nonlethal munitions may prove to be very ineffective at dealing with
this new threat at hand..

# Explain why it's good for the game

Adding meaningful and fitting equipment really adds to the immersion.
Its not just a setting but it envokes the real feeling of "We came here
to stop a riot, but we found something much more sinister." By giving
players these settings to play with, they'll feel much more at home in
the Aliens universe as opposed to the looming feeling of it being "just
another round, just another role."

I think CM really benefits from spicing up the loop and nightmares are
an excellent example of that. Having lore accurate, flavorful layouts
like this where you have a consistent theme going allows for excellent
immersion. Even if everyone dies, the Marines stumbling upon the corpses
of a horrific incident like this will be a really unique experience, in
my opinion.


# Testing Photographs and Procedure
<!-- Include any screenshots/videos/debugging steps of the modified code
functioning successfully, ideally including edge cases. -->

<!-- !! If you are modifying sprites, you **must** include one or more
in-game screenshots or videos of the new sprites. !! -->

<details>
<summary>Screenshots & Videos</summary>

Basically I created a new file for these fine people and added what I
think is thematically fitting for this scenario. I then tested it, fixed
bugs, and then tested it again. This happened 3 times until I could no
longer find any bugs.


https://cdn.discordapp.com/attachments/1042176396711170119/1222482124771430460/image.png?ex=66166033&is=6603eb33&hm=69719c33b5d811033f62cba605d5ba6e044c4cdd8f7056c50e49e9523e7ce3f8&
</details>


# Changelog

<!-- If your PR modifies aspects of the game that can be concretely
observed by players or admins you should add a changelog. If your change
does NOT meet this description, remove this section. Be sure to properly
label your changes in the changelog. Please note that maintainers freely
reserve the right to remove and add tags should they deem it
appropriate. You can attempt to finagle the system all you want, but
it's best to shoot for clear communication right off the bat. -->
<!-- If you add a name after the ':cl', that name will be used in the
changelog. You must add your CKEY after the CL if your GitHub name
doesn't match. Maintainers freely reserve the right to remove and add
tags should they deem it appropriate. -->

:cl:
add: Adds 3 variations of CMB Marshal and 4 variations of a UA Riot
Police Officer to Fiorina Prison Riot nightmare. These are fine men and
women in uniform prepared to engage what they suspect is a riot(or in
the case of CMB, assisting their underfunded and understaffed
colleagues) however, they find something much more sinister going on..
add: Adds a CMB Investigative Synthetic(r) and a UA Police Synthetic.
add: Allows police baton and telescopic baton to shield clash for
intimidation and riot tactics.
add: Allows M81 launcher to utilize less lethal baton round
qol: removes taser from some security synthetics belts, replaced with a
more synthetic friendly version
/:cl:

<!-- Both :cl:'s are required for the changelog to work! -->

---------

Co-authored-by: SabreML <[email protected]>
Co-authored-by: Drathek <[email protected]>
  • Loading branch information
3 people authored Apr 18, 2024
1 parent aef4272 commit b6f89f3
Show file tree
Hide file tree
Showing 8 changed files with 308 additions and 8 deletions.
8 changes: 4 additions & 4 deletions code/game/objects/effects/landmarks/survivor_spawner.dm
Original file line number Diff line number Diff line change
Expand Up @@ -201,8 +201,8 @@
//CMB Survivors//

/obj/effect/landmark/survivor_spawner/fiorina_armory_cmb
equipment = /datum/equipment_preset/survivor/colonial_marshal
synth_equipment = /datum/equipment_preset/synth/survivor/cmb_synth
equipment = /datum/equipment_preset/survivor/cmb/standard
synth_equipment = /datum/equipment_preset/synth/survivor/cmb/synth
intro_text = list("<h2>You are a CMB Deputy!</h2>",\
"<span class='notice'>You are aware of the 'alien' threat.</span>",\
"<span class='danger'>Your primary objective is to survive the infestation.</span>")
Expand All @@ -211,8 +211,8 @@
spawn_priority = SPAWN_PRIORITY_VERY_HIGH

/obj/effect/landmark/survivor_spawner/fiorina_armory_riot_control
equipment = /datum/equipment_preset/survivor/colonial_marshal/fiorina
synth_equipment = /datum/equipment_preset/synth/survivor/cmb_synth
equipment = /datum/equipment_preset/survivor/cmb/ua
synth_equipment = /datum/equipment_preset/synth/survivor/cmb/ua_synth
intro_text = list("<h2>You are a United Americas Riot Control Officer!</h2>",\
"<span class='notice'>You are aware of the 'alien' threat.</span>",\
"<span class='danger'>Your primary objective is to survive the infestation.</span>")
Expand Down
7 changes: 7 additions & 0 deletions code/game/objects/items/storage/belt.dm
Original file line number Diff line number Diff line change
Expand Up @@ -406,6 +406,13 @@
new /obj/item/reagent_container/spray/pepper(src)
new /obj/item/device/clue_scanner(src)

/obj/item/storage/belt/security/MP/full/synth/fill_preset_inventory()
new /obj/item/explosive/grenade/flashbang(src)
new /obj/item/device/flash(src)
new /obj/item/weapon/baton(src)
new /obj/item/reagent_container/spray/pepper(src)
new /obj/item/device/clue_scanner(src)
new /obj/item/handcuffs(src)

/obj/item/storage/belt/security/MP/UPP
name = "\improper Type 43 military police rig"
Expand Down
2 changes: 1 addition & 1 deletion code/game/objects/items/weapons/shields.dm
Original file line number Diff line number Diff line change
Expand Up @@ -89,7 +89,7 @@

/obj/item/weapon/shield/riot/attackby(obj/item/W as obj, mob/user as mob)
if(cooldown < world.time - 25)
if(istype(W, /obj/item/weapon/baton) || istype(W, /obj/item/weapon/sword) || istype(W, /obj/item/weapon/baseballbat) || istype(W, /obj/item/weapon/twohanded/fireaxe) || istype(W, /obj/item/weapon/chainofcommand))
if(istype(W, /obj/item/weapon/baton) || istype(W, /obj/item/weapon/sword) || istype(W, /obj/item/weapon/telebaton) || istype(W, /obj/item/weapon/baseballbat) || istype(W, /obj/item/weapon/classic_baton) || istype(W, /obj/item/weapon/twohanded/fireaxe) || istype(W, /obj/item/weapon/chainofcommand))
user.visible_message(SPAN_WARNING("[user] bashes [src] with [W]!"))
playsound(user.loc, 'sound/effects/shieldbash.ogg', 25, 1)
cooldown = world.time
Expand Down
16 changes: 16 additions & 0 deletions code/modules/clothing/suits/marine_armor/ert.dm
Original file line number Diff line number Diff line change
Expand Up @@ -747,6 +747,22 @@
uniform_restricted = list(/obj/item/clothing/under/marine/ua_riot)
flags_atom = NO_SNOW_TYPE

/obj/item/clothing/suit/storage/marine/veteran/ua_riot/synth
name = "\improper UA-M1S Synthetic body armor"
desc = "Based on the M-3 pattern employed by the USCM, the UA-M1 body armor is employed by UA security, riot control and union-busting teams. The UA-1MS modification is Synthetic programming compliant, sacrificing protection for speed and carrying capacity."
armor_melee = CLOTHING_ARMOR_NONE
armor_bullet = CLOTHING_ARMOR_NONE
armor_laser = CLOTHING_ARMOR_NONE
armor_energy = CLOTHING_ARMOR_NONE
armor_bomb = CLOTHING_ARMOR_NONE
armor_bio = CLOTHING_ARMOR_NONE
armor_rad = CLOTHING_ARMOR_NONE
armor_internaldamage = CLOTHING_ARMOR_NONE
slowdown = SLOWDOWN_ARMOR_SUPER_LIGHT
storage_slots = 3
flags_atom = NO_SNOW_TYPE|NO_NAME_OVERRIDE
flags_marine_armor = ARMOR_SQUAD_OVERLAY|ARMOR_LAMP_OVERLAY|SYNTH_ALLOWED

//================//=ROYAL MARINES=\\====================================\\
//=======================================================================\\
Expand Down

Large diffs are not rendered by default.

4 changes: 2 additions & 2 deletions code/modules/gear_presets/synths.dm
Original file line number Diff line number Diff line change
Expand Up @@ -418,7 +418,7 @@
WEAR_IN_BACK = /obj/item/device/taperecorder,
WEAR_JACKET = /obj/item/clothing/suit/storage/det_suit/black,
WEAR_IN_JACKET = /obj/item/weapon/telebaton,
WEAR_WAIST = /obj/item/storage/belt/security/MP/full,
WEAR_WAIST = /obj/item/storage/belt/security/MP/full/synth,
WEAR_HANDS = /obj/item/clothing/gloves/black,
WEAR_R_HAND = /obj/item/device/camera,
WEAR_FEET = /obj/item/clothing/shoes/marine/knife,
Expand Down Expand Up @@ -464,8 +464,8 @@
WEAR_IN_BACK = /obj/item/handcuffs/zip,
WEAR_IN_BACK = /obj/item/handcuffs/zip,
WEAR_JACKET = /obj/item/clothing/suit/storage/webbing,
WEAR_WAIST = /obj/item/storage/belt/security/MP/full/synth,
WEAR_IN_JACKET = /obj/item/weapon/telebaton,
WEAR_WAIST = /obj/item/storage/belt/security/MP/full,
WEAR_HANDS = /obj/item/clothing/gloves/black,
WEAR_R_STORE = /obj/item/storage/pouch/tools/full,
WEAR_FEET = /obj/item/clothing/shoes/marine/knife,
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -317,7 +317,7 @@
/obj/item/weapon/gun/launcher/grenade/m81/riot
name = "\improper M81 riot grenade launcher"
desc = "A lightweight, single-shot low-angle grenade launcher to launch tear gas grenades. Used by the Colonial Marines Military Police during riots."
valid_munitions = list(/obj/item/explosive/grenade/custom/teargas)
valid_munitions = list(/obj/item/explosive/grenade/custom/teargas, /obj/item/explosive/grenade/slug/baton)
preload = /obj/item/explosive/grenade/custom/teargas

//-------------------------------------------------------
Expand Down
1 change: 1 addition & 0 deletions colonialmarines.dme
Original file line number Diff line number Diff line change
Expand Up @@ -1782,6 +1782,7 @@
#include "code\modules\gear_presets\survivors\survivors.dm"
#include "code\modules\gear_presets\survivors\corsat\preset_corsat.dm"
#include "code\modules\gear_presets\survivors\fiorina_sciannex\preset_fiorina_sciannex.dm"
#include "code\modules\gear_presets\survivors\fiorina_sciannex\riot_in_progress_insert_fiorina_nightmare.dm"
#include "code\modules\gear_presets\survivors\kutjevo\preset_kutjevo.dm"
#include "code\modules\gear_presets\survivors\lv_522\forcon_survivors.dm"
#include "code\modules\gear_presets\survivors\lv_624\clfship_insert_lv624.dm"
Expand Down

0 comments on commit b6f89f3

Please sign in to comment.