Skip to content

Commit

Permalink
Added two new beacons, a mug and a suicide pill to the CLs briefcase (#…
Browse files Browse the repository at this point in the history
…5627)

# About the pull request

Added a cyanide pill to the CLs briefcase when the MPs are breaking down
your door and you don't want to rot in jail for growing a xeno hive in
their backyard.

Added a Weyland-Yutani coffee mug to the CLs briefcase for more BRAND
ADVERTISING!

Added two new beacons for the CLs briefcase.

### **First**
Bodyguard Beacon. Send a message to PMC Dispatch and request a single
Corporate Security Officer for any of your emergency needs.

### **Second**
Lawyer Beacon. Got a CO that broke the contract he signed seconds
before? Got a survivor who spoke to the CC and broke his NDA? Corporate
Affairs presents you with a beacon, aiming to solve all your contract
and Corporate needs with a specialised duo of expert Lawyers!


# Explain why it's good for the game

Taking inspiration from this forum post on ideas guys, I found some very
interesting ideas and decided to put the peoples thoughts in a PR.


https://forum.cm-ss13.com/t/cl-briefcase-and-what-items-you-want-to-see/6268

The cyanide pill can be used if in a pickle and the USCM is on your ass
for some ML violation. Or some sort of W-Y suicide pact if you have more
loyalists to your cause.

The coffee mug is a nice souvenir, why not you know. It's there in the
code, make it have some use.

### **The Big Ones**

The two beacons, maybe some people have issues with this one. The
bodyguard and lawyer one BOTH cost 50 points each (the max) as to not be
abused and bought every minute.

Let me begin with saying, these work like the CMB/PMC Beacons the
Marshal/Goon Professor have, meaning they need **ADMIN PERMISSION TO BE
SENT.** If an admin decides to allow either one of these beacons then
the first one has a single Corporate Security Officer, incase the CL is
threatened and the MPs are inactive, or when there's a person breaking
in the CLs office, or any other scenarios which the Executive would need
Company protection. A SINGLE Corporate Goon I feel will not impact the
round as much or cause any extra havoc.

Secondly, the two man Lawyer team which spawn with notepads, pens,
clipboards, tape recorders, the lead lawyer with a secure briefcase and
1000 cash counterfit. They have no guns, no bodyguards, they are
basically a slightly better version of the CL, or slightly worse. And it
can increase the RP? Maybe make the CO return from deployment? Harrass
the Captain long enough so he orders your arrest? Who knows, we'll find
out.


# Changelog
:cl:
add: Added two new beacons for the CL, Lawyer and Bodyguard.
add: Added an Executive Specialist and Executive Supervisor Lawyer
preset.
add: Added a cyanide pill in the CLs briefcase for an easy way out.
add: Added a Wey-Yu Coffee Mug in the CLs briefcase as a souvenir sale.
/:cl:

---------

Co-authored-by: Jeff Watchson <[email protected]>
  • Loading branch information
BadAtThisGame302 and Jeff Watchson authored Feb 15, 2024
1 parent 52e75d4 commit d88e89d
Show file tree
Hide file tree
Showing 5 changed files with 129 additions and 1 deletion.
39 changes: 39 additions & 0 deletions code/datums/emergency_calls/goons.dm
Original file line number Diff line number Diff line change
Expand Up @@ -96,6 +96,45 @@
to_chat(backstory_human, SPAN_BOLD("You heard about the original distress signal ages ago, but you have only just gotten permission from corporate to enter the area."))
to_chat(backstory_human, SPAN_BOLD("Ensure no damage is incurred against Weyland-Yutani. Make sure the researcher is kept safe and follow their instructions."))

/datum/emergency_call/goon/bodyguard
name = "Weyland-Yutani Goon (Executive Bodyguard Detail)"
mob_max = 1
mob_min = 1

/datum/emergency_call/goon/bodyguard/New()
..()
dispatch_message = "[MAIN_SHIP_NAME], this is a Weyland-Yutani Corporate Security Protection Detail shuttle inbound to the Liaison's Beacon."
objectives = "Protect the Corporate Liaison and follow his commands, unless it goes against Company policy. Do not damage Wey-Yu property."

/datum/emergency_call/goon/bodyguard/create_member(datum/mind/M, 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)
M.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 a Weyland-Yutani Corporate Security Lead!"))
arm_equipment(mob, /datum/equipment_preset/goon/lead, TRUE, TRUE)
else
to_chat(mob, SPAN_ROLE_HEADER("You are a Weyland-Yutani Corporate Security Officer!"))
arm_equipment(mob, /datum/equipment_preset/goon/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/goon/bodyguard/print_backstory(mob/living/carbon/human/M)
to_chat(M, SPAN_BOLD("You were born [pick(75;"in Europe", 15;"in Asia", 10;"on Mars")] to a poor family."))
to_chat(M, SPAN_BOLD("Joining the ranks of Weyland-Yutani was all you could do to keep yourself and your loved ones fed."))
to_chat(M, SPAN_BOLD("You have no idea what a xenomorph is."))
to_chat(M, SPAN_BOLD("You are a simple security officer employed by Weyland-Yutani to guard their Executives from all Divisions alike."))
to_chat(M, SPAN_BOLD("You were sent to act as the Executives bodyguard on the [MAIN_SHIP_NAME], you have gotten permission from corporate to enter the area."))
to_chat(M, SPAN_BOLD("Ensure no damage is incurred against Weyland-Yutani. Make sure the CL is safe."))

/datum/emergency_call/goon/platoon
name = "Weyland-Yutani Corporate Security (Platoon)"
mob_min = 8
Expand Down
36 changes: 36 additions & 0 deletions code/datums/emergency_calls/inspection.dm
Original file line number Diff line number Diff line change
Expand Up @@ -164,6 +164,42 @@
new /obj/item/storage/box/handcuffs(drop_spawn)
new /obj/item/storage/box/handcuffs(drop_spawn)

/datum/emergency_call/inspection_wy/lawyer
name = "Lawyers - Corporate"
mob_max = 2
mob_min = 1
name_of_spawn = /obj/effect/landmark/ert_spawns/distress_pmc
item_spawn = /obj/effect/landmark/ert_spawns/distress_pmc/item
probability = 0

/datum/emergency_call/inspection_wy/lawyer/New()
..()
objectives = "Make sure the crew of the [MAIN_SHIP_NAME] is aware of your presence. Investigate who the Corporate Liaison reported for breaking their contract and any review other Company assets and make sure they remain loyal to the Company. Make a detailed report back to Corporate."

/datum/emergency_call/inspection_wy/lawyer/create_member(datum/mind/M, turf/override_spawn_loc)
var/turf/T = override_spawn_loc ? override_spawn_loc : get_spawn_point()

if(!istype(T))
return FALSE

var/mob/living/carbon/human/H = new(T)
M.transfer_to(H, TRUE)

if(!leader && HAS_FLAG(H.client.prefs.toggles_ert, PLAY_LEADER) && check_timelock(H.client, list(JOB_SQUAD_LEADER), time_required_for_job))
leader = H
arm_equipment(H, /datum/equipment_preset/wy/exec_supervisor/lawyer, TRUE, TRUE)
to_chat(H, SPAN_ROLE_HEADER("You are a Weyland-Yutani Lead Corporate Attorney!"))
to_chat(H, SPAN_ROLE_BODY("While officially the Corporate Affairs Division does mundane paperwork for Weyland-Yutani, in practice you serve as both official and unofficial investigators into conduct of Company and non-Company personnel. You are being dispatched to the [MAIN_SHIP_NAME] to make sure that the USCM abides by it's signed contracts provided by the local Liaison and that they have not forgotten the real hand that feeds them."))
to_chat(H, SPAN_ROLE_BODY("Remember the USCM personnel on the ship may not appreciate your presence there. Should the Liaison be in jail, you are to act as legal counsel in any way. Your basic duty is to make a detailed report of anything involving the Liaison, any other WY personnel and of course any contract violations on board the ship."))
to_chat(H, SPAN_WARNING("You are to avoid open conflict with the Marines. Retreat and make a report if they are outright hostile. Ahelp if you have any more questions or wish to release this character for other players."))
else
arm_equipment(H, /datum/equipment_preset/wy/exec_spec/lawyer, TRUE, TRUE)
to_chat(H, SPAN_ROLE_HEADER("You are a Weyland-Yutani Corporate Attorney!"))
to_chat(H, SPAN_ROLE_BODY("While officially the Corporate Affairs Division does mundane paperwork for Weyland-Yutani, in practice you serve as both official and unofficial investigators into conduct of Company and non-Company personnel. The Lead Attorney is in charge, your duty is to provide counsel and any other form of assistance you can render to make sure your mission is a success."))
to_chat(H, SPAN_ROLE_BODY("Remember that the USCM, or at least some parts of it, may be hostile towards your presence on the ship. You and the Lead Attorney are to avoid open conflict with the Marines. Your main priority is making sure that you both survive to write the report the Company is due."))
to_chat(H, SPAN_WARNING("You are to avoid open conflict with the Marines. Retreat and make a report if they are outright hostile. Ahelp if you have any more questions or wish to release this character for other players."))
addtimer(CALLBACK(GLOBAL_PROC, GLOBAL_PROC_REF(to_chat), H, SPAN_BOLD("Objectives: [objectives]")), 1 SECONDS)


// Colonial Marshals - UA Law Enforcement / Investigative Federal Agents which usually watch over Colonies. Also a good option for prisoner transfers, investigating corporate corruption, survivor rescues, or illict trade practices(black market).
/datum/emergency_call/inspection_cmb
Expand Down
4 changes: 4 additions & 0 deletions code/game/objects/items/devices/portable_vendor.dm
Original file line number Diff line number Diff line change
Expand Up @@ -267,8 +267,11 @@
req_role = JOB_CORPORATE_LIAISON
listed_products = list(
list("INCENTIVES", 0, null, null, null),
list("Corporate Security Bodyguard", 50, /obj/item/handheld_distress_beacon/bodyguard, "white", "A beacon which sends the Corporate Security Division an encoded message informing them of your request for a Corporate Security Bodyguard."),
list("Corporate Lawyer Team", 50, /obj/item/handheld_distress_beacon/lawyer, "white", "A beacon which sends the Corporate Affairs Division an encoded message informing them of your request for a Corporate Lawyer, required when a contract signee breaks one of their clauses."),
list("Neurostimulator Implant", 30, /obj/item/implanter/neurostim, "white", "Implant which regulates nociception and sensory function. Benefits include pain reduction, improved balance, and improved resistance to overstimulation and disorientation. To encourage compliance, negative stimulus is applied if the implant hears a (non-radio) spoken codephrase. Implant will be degraded by the body's immune system over time, and thus malfunction with gradually increasing frequency. Personal use not recommended."),
list("Ultrazine Injector", 25, /obj/item/reagent_container/hypospray/autoinjector/ultrazine/liaison, "white", "Highly-addictive stimulant. Enhances short-term physical performance, particularly running speed. Effects last approximately 10 minutes per injection. More than two injections at a time will result in overdose. Withdrawal causes extreme discomfort and hallucinations. Long-term use results in halluciations and organ failure. Conditional distribution secures subject compliance. Not for personal use."),
list("Cyanide Pill", 20, /obj/item/reagent_container/pill/cyanide, "white", "A cyanide pill, also known as a suicide pill. For the easy way out."),
list("Ceramic Plate", 10, /obj/item/trash/ceramic_plate, "white", "A ceramic plate, useful in a variety of situations."),
list("Cash", 5, /obj/item/spacecash/c1000/counterfeit, "white", "$1000 USD, unmarked bills"),
list("WY Encryption Key", 5, /obj/item/device/encryptionkey/WY, "white", "WY private comms encryption key, for conducting private business."),
Expand All @@ -282,6 +285,7 @@
list("Sake", 5, /obj/item/reagent_container/food/drinks/bottle/sake, "white", "Weyland-Yutani Sake, for a proper business dinner."),
list("Beer", 5, /obj/item/reagent_container/food/drinks/cans/aspen, "white", "Weyland-Yutani Aspen Beer, for a more casual night."),
list("Drinking Glass", 1, /obj/item/reagent_container/food/drinks/drinkingglass, "white", "A Drinking Glass, because you have class."),
list("Weyland-Yutani Coffee Mug", 1, /obj/item/reagent_container/food/drinks/coffeecup/wy, "white", "A Weyland-Yutani coffee mug, for any Marines who want a Company souvenir."),

list("STATIONARY", 0, null, null, null),
list("WY pen, black", 1, /obj/item/tool/pen/clicky, "white", "A WY pen, for writing formally on the go."),
Expand Down
20 changes: 20 additions & 0 deletions code/game/objects/items/handheld_distress_beacon.dm
Original file line number Diff line number Diff line change
Expand Up @@ -64,3 +64,23 @@
recipient = "Anchorpoint Station"
ert_full_name = list("CMB - Patrol Team - Marshals in Distress (Friendly)", "CMB - Anchorpoint Station Colonial Marine QRF (Friendly)")
ert_short_name = list("SEND CMB", "SEND QRF")

// Corporate Lawyer beacon available for 50 points at the CLs briefcase
/obj/item/handheld_distress_beacon/lawyer
name = "\improper Corporate Affairs Division handheld beacon"
desc = "An encoded beacon. This one is branded with the Weyland-Yutani slogan, 'Building Better Worlds since 2099'. Etched in stencil on the side is 'FOR CONTRACT BREAKERS ONLY'. This one is branded with the Corporate Affairs Division symbol and provided to most Executives situated in UA or TWE space."

beacon_type = "Lawyer beacon"
recipient = "the Corporate Affairs Division"
ert_full_name = list("Lawyers - Corporate")
ert_short_name = list("SEND LAWYERS")

// Corporate Security Bodyguard beacon available for 50 points at the CLs briefcase
/obj/item/handheld_distress_beacon/bodyguard
name = "\improper Corporate Security Division handheld beacon"
desc = "An standard Corporate Security beacon. This one is branded with the Weyland-Yutani slogan, 'Building Better Worlds since 2099'. This one is branded with the Corporate Security Division symbol and provided to Executives stationed in very dangerous sites across the entire Galaxy."

beacon_type = "Bodyguard beacon"
recipient = "the Corporate Security Division"
ert_full_name = list("Weyland-Yutani Goon (Executive Bodyguard Detail)")
ert_short_name = list("SEND BODYGUARD")
31 changes: 30 additions & 1 deletion code/modules/gear_presets/wy.dm
Original file line number Diff line number Diff line change
Expand Up @@ -20,7 +20,7 @@
/datum/equipment_preset/wy/load_gear(mob/living/carbon/human/new_human)
new_human.equip_to_slot_or_del(new headset_type(new_human), WEAR_L_EAR)
new_human.equip_to_slot_or_del(new /obj/item/clothing/under/liaison_suit/ivy(new_human), WEAR_BODY)
new_human.equip_to_slot_or_del(new /obj/item/clothing/shoes/centcom(new_human), WEAR_FEET)
new_human.equip_to_slot_or_del(new /obj/item/clothing/shoes/laceup(new_human), WEAR_FEET)
new_human.equip_to_slot_or_del(new /obj/item/storage/backpack/satchel(new_human), WEAR_BACK)
. = ..()

Expand Down Expand Up @@ -63,13 +63,42 @@
rank = JOB_EXECUTIVE_SPECIALIST
paygrade = PAY_SHORT_WYC5

/datum/equipment_preset/wy/exec_spec/lawyer
name = "Corporate - E - Lawyer"

/datum/equipment_preset/wy/exec_spec/lawyer/load_gear(mob/living/carbon/human/new_human)
new_human.equip_to_slot_or_del(new /obj/item/device/radio/headset/distress/WY(new_human), WEAR_L_EAR)
new_human.equip_to_slot_or_del(new /obj/item/clothing/under/liaison_suit/blue(new_human), WEAR_BODY)
new_human.equip_to_slot_or_del(new /obj/item/clothing/suit/storage/jacket/marine/corporate/blue(new_human), WEAR_JACKET)
new_human.equip_to_slot_or_del(new /obj/item/tool/pen/clicky(new_human), WEAR_IN_BACK)
new_human.equip_to_slot_or_del(new /obj/item/clipboard(new_human), WEAR_IN_BACK)
new_human.equip_to_slot_or_del(new /obj/item/notepad/blue(new_human), WEAR_R_STORE)
new_human.equip_to_slot_or_del(new /obj/item/device/taperecorder(new_human), WEAR_L_STORE)

..()

/datum/equipment_preset/wy/exec_supervisor
name = "Corporate - F - Executive Supervisor"
flags = EQUIPMENT_PRESET_EXTRA
assignment = JOB_EXECUTIVE_SUPERVISOR
rank = JOB_EXECUTIVE_SUPERVISOR
paygrade = PAY_SHORT_WYC6

/datum/equipment_preset/wy/exec_supervisor/lawyer
name = "Corporate - F - Lawyer"

/datum/equipment_preset/wy/exec_supervisor/lawyer/load_gear(mob/living/carbon/human/new_human)
new_human.equip_to_slot_or_del(new /obj/item/device/radio/headset/distress/WY(new_human), WEAR_L_EAR)
new_human.equip_to_slot_or_del(new /obj/item/storage/secure/briefcase(new_human), WEAR_R_HAND)
new_human.equip_to_slot_or_del(new /obj/item/clothing/under/liaison_suit/black(new_human), WEAR_BODY)
new_human.equip_to_slot_or_del(new /obj/item/clothing/suit/storage/jacket/marine/corporate/black(new_human), WEAR_JACKET)
new_human.equip_to_slot_or_del(new /obj/item/tool/pen/clicky(new_human), WEAR_IN_BACK)
new_human.equip_to_slot_or_del(new /obj/item/clipboard(new_human), WEAR_IN_BACK)
new_human.equip_to_slot_or_del(new /obj/item/spacecash/c1000/counterfeit(new_human), WEAR_IN_BACK)
new_human.equip_to_slot_or_del(new /obj/item/notepad/black(new_human), WEAR_R_STORE)
new_human.equip_to_slot_or_del(new /obj/item/device/taperecorder(new_human), WEAR_L_STORE)
..()

/datum/equipment_preset/wy/manager
skills = /datum/skills/civilian/manager
idtype = /obj/item/card/id/silver/clearance_badge/manager
Expand Down

0 comments on commit d88e89d

Please sign in to comment.