Skip to content

Commit

Permalink
Merge remote-tracking branch 'upstream/master' into Whiskey-Outpost-Mod
Browse files Browse the repository at this point in the history
  • Loading branch information
FslashN committed Mar 28, 2024
2 parents c19527d + 7b01a56 commit a904032
Show file tree
Hide file tree
Showing 44 changed files with 622 additions and 360 deletions.
2 changes: 1 addition & 1 deletion code/datums/skills/uscm.dm
Original file line number Diff line number Diff line change
Expand Up @@ -425,7 +425,7 @@ COMMAND STAFF
SKILL_OVERWATCH = SKILL_OVERWATCH_TRAINED,
SKILL_MEDICAL = SKILL_MEDICAL_MEDIC,
SKILL_POLICE = SKILL_POLICE_FLASH,
SKILL_VEHICLE = SKILL_VEHICLE_SMALL,
SKILL_VEHICLE = SKILL_VEHICLE_LARGE,
SKILL_JTAC = SKILL_JTAC_EXPERT,
SKILL_INTEL = SKILL_INTEL_TRAINED,
SKILL_SURGERY = SKILL_SURGERY_NOVICE,
Expand Down
2 changes: 1 addition & 1 deletion code/game/jobs/job/command/cic/staffofficer.dm
Original file line number Diff line number Diff line change
Expand Up @@ -11,7 +11,7 @@
flags_startup_parameters = ROLE_ADD_TO_DEFAULT
gear_preset = /datum/equipment_preset/uscm_ship/so
gear_preset_secondary = /datum/equipment_preset/uscm_ship/so/lesser_rank
entry_message_body = "<a href='"+WIKI_PLACEHOLDER+"'>Your job is to monitor the Marines, man the CIC, and listen to your superior officers.</a> You are in charge of logistics and the overwatch system. You are also in line to take command after other eligible superior commissioned officers."
entry_message_body = "<a href='"+WIKI_PLACEHOLDER+"'>Your job is to conduct the briefing for the platoon, monitor the operation, and listen to your superior officers.</a> You are in charge of the platoon for the current operation and supported by your Company Command.<br>They will give your orders VIA the telephone in your office once they are ready.<br><b>You remember that you've stored your personal gear are located in your personal quarters.</b><br>Your job involves heavy roleplay and requires you to behave like an officer and to stay in character at all times."

job_options = list(FIRST_LT_VARIANT = "1stLt", SECOND_LT_VARIANT = "2ndLt")

Expand Down
2 changes: 1 addition & 1 deletion code/game/jobs/job/marine/marine.dm
Original file line number Diff line number Diff line change
@@ -1,5 +1,5 @@
/datum/job/marine
supervisors = "the acting squad leader"
supervisors = "the acting platoon leader"
selection_class = "job_marine"
total_positions = 8
spawn_positions = 8
Expand Down
2 changes: 1 addition & 1 deletion code/game/jobs/job/marine/squad/leader.dm
Original file line number Diff line number Diff line change
Expand Up @@ -11,7 +11,7 @@
flags_startup_parameters = ROLE_ADD_TO_DEFAULT|ROLE_ADD_TO_SQUAD
gear_preset = /datum/equipment_preset/uscm/leader
gear_preset_secondary = /datum/equipment_preset/uscm/leader/lesser_rank
entry_message_body = "<a href='"+WIKI_PLACEHOLDER+"'>You are responsible for the men and women of your squad.</a> Make sure they are on task, working together, and communicating. You are also in charge of communicating with command and letting them know about the situation first hand. Keep out of harm's way."
entry_message_body = "<a href='"+WIKI_PLACEHOLDER+"'>You are responsible for the men and women of your entire platoon.</a> Make sure they are on task, working together, and communicating. You are also in charge of communicating with command and letting them know about the situation first hand. Keep out of harm's way.<br><b>You remember that you've stored your personal gear and uniform are located in the dorm or locker rooms.</b>"

job_options = list(GYSGT_VARIANT = "GYSGT", SSGT_VARIANT = "SSGT")

Expand Down
2 changes: 1 addition & 1 deletion code/game/jobs/job/marine/squad/medic.dm
Original file line number Diff line number Diff line change
Expand Up @@ -11,7 +11,7 @@
flags_startup_parameters = ROLE_ADD_TO_DEFAULT|ROLE_ADD_TO_SQUAD
gear_preset = /datum/equipment_preset/uscm/medic
gear_preset_secondary = /datum/equipment_preset/uscm/medic/lesser_rank
entry_message_body = "<a href='"+WIKI_PLACEHOLDER+"'>You tend the wounds of your squad mates</a> and make sure they are healthy and active. You may not be a fully-fledged doctor, but you stand between life and death when it matters."
entry_message_body = "<a href='"+WIKI_PLACEHOLDER+"'>You tend the wounds of your squad mates</a> and make sure they are healthy and active. You may not be a fully-fledged doctor, but you stand between life and death when it matters.<br><b>You remember that you've stored your personal gear and uniform are located in your medical office.</b>"

job_options = list(CPL_VARIANT = "CPL", LCPL_VARIANT = "LCPL")

Expand Down
2 changes: 1 addition & 1 deletion code/game/jobs/job/marine/squad/smartgunner.dm
Original file line number Diff line number Diff line change
Expand Up @@ -12,7 +12,7 @@
flags_startup_parameters = ROLE_ADD_TO_DEFAULT|ROLE_ADD_TO_SQUAD
gear_preset = /datum/equipment_preset/uscm/sg
gear_preset_secondary = /datum/equipment_preset/uscm/sg/lesser_rank
entry_message_body = "<a href='"+WIKI_PLACEHOLDER+"'>You are the smartgunner.</a> Your task is to provide heavy weapons support."
entry_message_body = "<a href='"+WIKI_PLACEHOLDER+"'>You are a specialized automatic rifleman.</a> Your task is to provide heavy weapons support for your squad.<br><b>You remember that you've stored your personal gear and uniform are located in the dorm or locker rooms.</b>"

job_options = list(CPL_VARIANT = "CPL", LCPL_VARIANT = "LCPL")

Expand Down
2 changes: 1 addition & 1 deletion code/game/jobs/job/marine/squad/standard.dm
Original file line number Diff line number Diff line change
Expand Up @@ -14,7 +14,7 @@
job_options = list(PFC_VARIANT = "PFC", PVT_VARIANT = "PVT")

/datum/job/marine/standard/on_config_load()
entry_message_body = "You are a rank-and-file <a href='[CONFIG_GET(string/wikiarticleurl)]/[URL_WIKI_MARINE_QUICKSTART]'>Marine of the USCM</a>, and that is your strength. What you lack alone, you gain standing shoulder to shoulder with the men and women of the corps. Ooh-rah!"
entry_message_body = "You are a rank-and-file <a href='[CONFIG_GET(string/wikiarticleurl)]/[URL_WIKI_MARINE_QUICKSTART]'>Soldier of your standing army</a>, and that is your strength. What you lack alone, you gain standing shoulder to shoulder with the men and women of the platoon. Ooh-rah!<br><b>You remember that you've stored your personal gear and uniform are located in the dorm or locker rooms.</b>"
return ..()

/datum/job/marine/standard/set_spawn_positions(count)
Expand Down
2 changes: 1 addition & 1 deletion code/game/jobs/job/marine/squad/tl.dm
Original file line number Diff line number Diff line change
Expand Up @@ -9,7 +9,7 @@
allow_additional = 1
flags_startup_parameters = ROLE_ADD_TO_DEFAULT|ROLE_ADD_TO_SQUAD
gear_preset = /datum/equipment_preset/uscm/tl
entry_message_body = "You are the <a href='"+WIKI_PLACEHOLDER+"'>Team Leader.</a>Your task is to assist the squad leader in leading the squad as well as utilize ordnance such as orbital bombardments, CAS, and mortar as well as coordinating resupply with Requisitions and CIC. If the squad leader dies, you are expected to lead in their place."
entry_message_body = "You are the <a href='"+WIKI_PLACEHOLDER+"'>Squad Leader.</a> Your task is leading the designated squad and utilize available ordnance. If the platoon leader dies, you are expected to lead in their place.<br><b>You remember that you've stored your personal gear and uniform are located in the dorm or locker rooms.</b>"

job_options = list(SGT_VARIANT = "SGT")

Expand Down
28 changes: 26 additions & 2 deletions code/game/objects/items/weapons/blades.dm
Original file line number Diff line number Diff line change
Expand Up @@ -273,8 +273,6 @@
if(loc != user) //Only do unique stuff if you are holding it
return ..()

if(!do_after(user, interaction_time, INTERRUPT_INCAPACITATED, BUSY_ICON_HOSTILE))
return
playsound(user, 'sound/weapons/flipblade.ogg', 15, 1)
change_razor_state(!razor_opened)
to_chat(user, SPAN_NOTICE("You [razor_opened ? "reveal" : "hide"] [src]'s blade."))
Expand Down Expand Up @@ -375,3 +373,29 @@
human_user.apply_damage(rand(1,5), BRUTE, "head", src)
human_user.update_hair()

/obj/item/weapon/straight_razor/attack(mob/target, mob/user)
if((!ishuman(target)) || (user.a_intent == INTENT_HARM) || !razor_opened)
return ..()
var/mob/living/carbon/human/poor_bastard = target

var/timer = 10 SECONDS
var/message = "\The [user] begins to shave \the [poor_bastard]!"
if(skillcheck(user, SKILL_LEADERSHIP, SKILL_LEAD_EXPERT))
timer = 5 SECONDS
message = "\The [user] begins to <b>expertly</b> shave \the [poor_bastard]!"

user.visible_message(SPAN_WARNING(message))
if(!do_after(user, timer, INTERRUPT_ALL, BUSY_ICON_HOSTILE))
return

switch(user.zone_selected)
if("mouth")
poor_bastard.f_style = "Shaved"
user.visible_message(SPAN_WARNING("\The [user] shaves off \the [poor_bastard]'s facial hair!"))
if("head")
poor_bastard.h_style = pick("Skinhead", "Bald")
user.visible_message(SPAN_WARNING("\The [user] shaves off \the [poor_bastard]'s hair!"))

poor_bastard.apply_damage(rand(1,5), BRUTE, "head", src)
poor_bastard.update_hair()
return TRUE
21 changes: 21 additions & 0 deletions code/game/objects/structures/gun_rack.dm
Original file line number Diff line number Diff line change
Expand Up @@ -87,3 +87,24 @@
max_stored = 6
initial_stored = 6
allowed_type = /obj/item/weapon/gun/rifle/type71

/obj/structure/gun_rack/apc
name = "APC ammo compartment"
icon_state = "frontal"
desc = "Uhoh. You shouldn't be seeing this."

/obj/structure/gun_rack/apc/frontal
name = "frontal cannon ammo storage compartment"
icon_state = "frontal"
desc = "A small compartment that stores ammunition for the APC's 'Bleihagel RE-RE700 Frontal Cannon'."
max_stored = 2
initial_stored = 0
allowed_type = /obj/item/ammo_magazine/hardpoint/m56_cupola/frontal_cannon

/obj/structure/gun_rack/apc/boyars
name = "dual cannon ammo storage compartment"
icon_state = "boyars"
desc = "A small compartment that stores ammunition for the APC's 'PARS-159 Boyars Dualcannon'."
max_stored = 2
initial_stored = 0
allowed_type = /obj/item/ammo_magazine/hardpoint/boyars_dualcannon
17 changes: 17 additions & 0 deletions code/game/objects/structures/tables_racks.dm
Original file line number Diff line number Diff line change
Expand Up @@ -622,6 +622,23 @@
icon_state = "clothtable"
table_prefix = "cloth"

/obj/structure/surface/table/reinforced/toc
name = "operations table"
desc = "A square metal surface resting on its fat metal bottom. You can't flip something that doesn't have legs."
icon_state = "tocWtable"
table_prefix = "toc"

/obj/structure/surface/table/reinforced/toc/update_icon()
return

/obj/structure/surface/table/reinforced/toc/west
desc = "A square metal surface resting on its fat metal bottom. You can't flip something that doesn't have legs."
icon_state = "tocWtable"

/obj/structure/surface/table/reinforced/toc/east
desc = "A square metal surface resting on its fat metal bottom. You can't flip something that doesn't have legs."
icon_state = "tocEtable"

/*
* Racks
*/
Expand Down
5 changes: 5 additions & 0 deletions code/modules/almayer/machinery.dm
Original file line number Diff line number Diff line change
Expand Up @@ -113,6 +113,11 @@
minimap_type = MINIMAP_FLAG_PMC
faction = FACTION_PMC

/obj/structure/machinery/prop/almayer/CICmap/toc
name = "tactical map screen"
desc = "A screen on the TOC computer displaying the tactical map."
icon_state = "toc_map"

//Nonpower using props

/obj/structure/prop/almayer
Expand Down
76 changes: 66 additions & 10 deletions code/modules/client/preferences_gear.dm
Original file line number Diff line number Diff line change
Expand Up @@ -114,9 +114,25 @@ var/global/list/gear_datums_by_name = list()
display_name = "Face wrap, tan"
path = /obj/item/clothing/mask/rebreather/scarf/tacticalmask/tan

/datum/gear/mask/face_wrap_squad
display_name = "Face wrap, squad specific"
path =/obj/item/clothing/mask/rebreather/scarf/tacticalmask/squad
/datum/gear/mask/face_wrap_intel
display_name = "Face wrap, black"
path = /obj/item/clothing/mask/rebreather/scarf/tacticalmask/intel

/datum/gear/mask/face_wrap_bravo
display_name = "Face wrap, yellow"
path = /obj/item/clothing/mask/rebreather/scarf/tacticalmask/bravo

/datum/gear/mask/face_wrap_charlie
display_name = "Face wrap, purple"
path = /obj/item/clothing/mask/rebreather/scarf/tacticalmask/charlie

/datum/gear/mask/face_wrap_delta
display_name = "Face wrap, blue"
path = /obj/item/clothing/mask/rebreather/scarf/tacticalmask/delta

/datum/gear/mask/face_wrap_echo
display_name = "Face wrap, cyan green"
path = /obj/item/clothing/mask/rebreather/scarf/tacticalmask/echo

/datum/gear/mask/gas
display_name = "Gas mask"
Expand Down Expand Up @@ -207,10 +223,6 @@ var/global/list/gear_datums_by_name = list()
display_name = "USCM beanie, tan"
path = /obj/item/clothing/head/beanie/tan

/datum/gear/headwear/uscm/beret_squad
display_name = "USCM beret, squad specific"
path = /obj/item/clothing/head/beret/cm/squadberet

/datum/gear/headwear/uscm/beret_green
display_name = "USCM beret, green"
path = /obj/item/clothing/head/beret/cm
Expand All @@ -227,6 +239,34 @@ var/global/list/gear_datums_by_name = list()
display_name = "USCM beret, white"
path = /obj/item/clothing/head/beret/cm/white

/datum/gear/headwear/uscm/beret_alpha
display_name = "USCM beret, red flash"
path = /obj/item/clothing/head/beret/cm/alpha

/datum/gear/headwear/uscm/beret_bravo
display_name = "USCM beret, yellow flash"
path = /obj/item/clothing/head/beret/cm/bravo

/datum/gear/headwear/uscm/beret_charlie
display_name = "USCM beret, purple flash"
path = /obj/item/clothing/head/beret/cm/charlie

/datum/gear/headwear/uscm/beret_delta
display_name = "USCM beret, blue flash"
path = /obj/item/clothing/head/beret/cm/delta

/datum/gear/headwear/uscm/beret_echo
display_name = "USCM beret, green flash"
path = /obj/item/clothing/head/beret/cm/echo

/datum/gear/headwear/uscm/beret_foxtrot
display_name = "USCM beret, brown flash"
path = /obj/item/clothing/head/beret/cm/foxtrot

/datum/gear/headwear/uscm/beret_intel
display_name = "USCM beret, black flash"
path = /obj/item/clothing/head/beret/cm/intel

/datum/gear/headwear/uscm/boonie_olive
display_name = "USCM boonie hat, olive"
path = /obj/item/clothing/head/cmcap/boonie
Expand Down Expand Up @@ -259,9 +299,25 @@ var/global/list/gear_datums_by_name = list()
display_name = "USCM headband, tan"
path = /obj/item/clothing/head/headband/tan

/datum/gear/headwear/uscm/headband_squad
display_name = "USCM headband, squad specific"
path = /obj/item/clothing/head/headband/squad
/datum/gear/headwear/uscm/headband_intel
display_name = "USCM headband, black"
path = /obj/item/clothing/head/headband/intel

/datum/gear/headwear/uscm/headband_bravo
display_name = "USCM headband, orange"
path = /obj/item/clothing/head/headband/bravo

/datum/gear/headwear/uscm/headband_charlie
display_name = "USCM headband, purple"
path = /obj/item/clothing/head/headband/charlie

/datum/gear/headwear/uscm/headband_delta
display_name = "USCM headband, blue"
path = /obj/item/clothing/head/headband/delta

/datum/gear/headwear/uscm/headband_echo
display_name = "USCM headband, cyan green"
path = /obj/item/clothing/head/headband/echo

/datum/gear/headwear/uscm/headset
display_name = "USCM headset"
Expand Down
Loading

0 comments on commit a904032

Please sign in to comment.