Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Forecon ERT Adjustments #6739

Merged
merged 2 commits into from
Aug 21, 2024
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
1 change: 1 addition & 0 deletions code/__DEFINES/job.dm
Original file line number Diff line number Diff line change
Expand Up @@ -124,6 +124,7 @@ GLOBAL_LIST_INIT(job_command_roles, JOB_COMMAND_ROLES_LIST)
#define JOB_GENERAL "USCM General"
#define JOB_ACMC "Assistant Commandant of the Marine Corps"
#define JOB_CMC "Commandant of the Marine Corps"
#define JOB_SQUAD_TECH "Reconnaissance Support Technician"

// Used to add a timelock to a job. Will be passed onto derivatives
#define AddTimelock(Path, timelockList) \
Expand Down
2 changes: 1 addition & 1 deletion code/datums/emergency_calls/forecon.dm
Original file line number Diff line number Diff line change
Expand Up @@ -2,7 +2,7 @@
name = "FORECON (Squad)"
arrival_message = "A Force Reconnaissance squad has been dispatched to your ship. Stand by."
objectives = "Handle whatever threat is present. Further orders may be provided."
home_base = /datum/lazy_template/ert/weyland_station
home_base = /datum/lazy_template/ert/uscm_station
probability = 0
mob_min = 3
mob_max = 6
Expand Down
3 changes: 3 additions & 0 deletions code/datums/factions/uscm.dm
Original file line number Diff line number Diff line change
Expand Up @@ -30,6 +30,7 @@
if(JOB_MARINE_RAIDER) marine_rk = "soc"
if(JOB_MARINE_RAIDER_SL) marine_rk = "soctl"
if(JOB_MARINE_RAIDER_CMD) marine_rk = "soccmd"
if(JOB_SQUAD_TECH) marine_rk = "tech"
if(squad.squad_leader == current_human)
switch(squad.squad_type)
if("Squad") marine_rk = "leader_a"
Expand Down Expand Up @@ -87,6 +88,8 @@
if(JOB_GENERAL, JOB_COLONEL, JOB_ACMC, JOB_CMC)
marine_rk = "general"
border_rk = "command"
if(JOB_SQUAD_TECH)
marine_rk = "tech"
if(JOB_INTEL)
marine_rk = "io"
if(JOB_CAS_PILOT)
Expand Down
3 changes: 3 additions & 0 deletions code/game/jobs/job/special/uscm.dm
Original file line number Diff line number Diff line change
Expand Up @@ -14,3 +14,6 @@
title = JOB_RIOT
/datum/job/special/uscm/riot/chief
title = JOB_RIOT_CHIEF

/datum/job/special/uscm/tech
title = JOB_SQUAD_TECH
23 changes: 23 additions & 0 deletions code/game/objects/items/storage/belt.dm
Original file line number Diff line number Diff line change
Expand Up @@ -277,6 +277,29 @@
new /obj/item/storage/pill_bottle/imidazoline(src)
new /obj/item/storage/pill_bottle/alkysine(src)

/obj/item/storage/belt/medical/lifesaver/full/forecon/fill_preset_inventory()
new /obj/item/storage/pill_bottle/bicaridine(src)
new /obj/item/storage/pill_bottle/bicaridine(src)
new /obj/item/storage/pill_bottle/kelotane(src)
new /obj/item/storage/pill_bottle/kelotane(src)
new /obj/item/storage/pill_bottle/tramadol(src)
new /obj/item/storage/pill_bottle/tramadol(src)
new /obj/item/storage/pill_bottle/antitox(src)
new /obj/item/storage/pill_bottle/alkysine(src)
new /obj/item/storage/pill_bottle/imidazoline(src)
new /obj/item/stack/medical/advanced/bruise_pack(src)
new /obj/item/stack/medical/advanced/bruise_pack(src)
new /obj/item/stack/medical/advanced/bruise_pack(src)
new /obj/item/stack/medical/advanced/ointment(src)
new /obj/item/stack/medical/advanced/ointment(src)
new /obj/item/stack/medical/advanced/ointment(src)
new /obj/item/stack/medical/splint(src)
new /obj/item/stack/medical/splint(src)
new /obj/item/stack/medical/splint(src)
new /obj/item/reagent_container/hypospray/autoinjector/dexalinp(src)
new /obj/item/reagent_container/hypospray/autoinjector/oxycodone(src)
new /obj/item/device/healthanalyzer(src)

/obj/item/storage/belt/medical/lifesaver/upp
name = "\improper Type 41 pattern lifesaver bag"
desc = "The Type 41 load rig is the standard load-bearing equipment of the UPP military. This configuration mounts a duffel bag filled with a range of injectors and light medical supplies, and is common among medics."
Expand Down
117 changes: 81 additions & 36 deletions code/modules/gear_presets/uscm_forecon.dm
Original file line number Diff line number Diff line change
Expand Up @@ -20,31 +20,6 @@
dress_over = list(/obj/item/clothing/suit/storage/jacket/marine/dress/blues/nco)
dress_hat = list(/obj/item/clothing/head/marine/dress_cover)

/datum/equipment_preset/uscm/forecon/load_gear(mob/living/carbon/human/new_human)
var/obj/item/clothing/under/marine/reconnaissance/uniform = new()
var/obj/item/clothing/accessory/storage/droppouch/pouch = new()
var/obj/item/clothing/accessory/ranks/marine/e5/pin = new()
var/obj/item/clothing/accessory/patch/patch_uscm = new()
var/obj/item/clothing/accessory/patch/forecon/patch_forecon = new()
uniform.attach_accessory(new_human,pouch)
uniform.attach_accessory(new_human,patch_uscm)
uniform.attach_accessory(new_human,pin)
uniform.attach_accessory(new_human,patch_forecon)
new_human.equip_to_slot_or_del(uniform, WEAR_BODY)
new_human.equip_to_slot_or_del(new /obj/item/clothing/suit/storage/marine/light/recon(new_human), WEAR_JACKET)
new_human.equip_to_slot_or_del(new /obj/item/storage/backpack/marine/satchel(new_human), WEAR_BACK)
new_human.equip_to_slot_or_del(new /obj/item/storage/pouch/firstaid/full(new_human), WEAR_R_STORE)
new_human.equip_to_slot_or_del(new /obj/item/storage/pouch/firstaid/full/alternate(new_human), WEAR_L_STORE)
new_human.equip_to_slot_or_del(new /obj/item/reagent_container/food/drinks/flask/marine(new_human), WEAR_IN_ACCESSORY)
new_human.equip_to_slot_or_del(new /obj/item/facepaint/sniper(new_human), WEAR_IN_ACCESSORY)
new_human.equip_to_slot_or_del(new /obj/item/storage/box/MRE(new_human), WEAR_IN_ACCESSORY)
new_human.equip_to_slot_or_del(new /obj/item/clothing/gloves/marine(new_human), WEAR_HANDS)
new_human.equip_to_slot_or_del(new /obj/item/tool/crowbar/tactical(new_human), WEAR_IN_JACKET)
new_human.equip_to_slot_or_del(new /obj/item/device/binoculars/range/designator(new_human), WEAR_IN_JACKET)
new_human.equip_to_slot_or_del(new /obj/item/clothing/shoes/marine/knife(new_human), WEAR_FEET)
new_human.equip_to_slot_or_del(new /obj/item/device/radio/headset/distress/forecon(new_human), WEAR_L_EAR)
GLOB.character_traits[/datum/character_trait/skills/spotter].apply_trait(new_human)

/datum/equipment_preset/uscm/forecon/proc/add_forecon_weapon(mob/living/carbon/human/new_human)
var/random_gun = rand(1,3)
switch(random_gun)
Expand Down Expand Up @@ -75,6 +50,16 @@
if (9)
new_human.equip_to_slot_or_del(new /obj/item/clothing/head/helmet/marine(new_human), WEAR_HEAD)

/datum/equipment_preset/uscm/forecon/proc/spawn_random_tech_headgear(mob/living/carbon/human/new_human)
var/i = rand(1,4)
switch(i)
if (1 , 2)
new_human.equip_to_slot_or_del(new /obj/item/clothing/head/helmet/marine/tech(new_human), WEAR_HEAD)
new_human.equip_to_slot_or_del(new /obj/item/clothing/glasses/hud/health(new_human), WEAR_EYES)
if (3 , 4)
new_human.equip_to_slot_or_del(new /obj/item/clothing/head/helmet/marine/medic/white(new_human), WEAR_HEAD)
new_human.equip_to_slot_or_del(new /obj/item/clothing/glasses/welding(new_human), WEAR_EYES)

/datum/equipment_preset/uscm/forecon/proc/add_forecon_weapon_pistol(mob/living/carbon/human/new_human)
var/random_pistol = rand(1,5)
switch(random_pistol)
Expand Down Expand Up @@ -106,34 +91,78 @@
minimap_icon = ""
skills = /datum/skills/military/survivor/forecon_standard

/datum/equipment_preset/uscm/forecon/standard/load_gear(mob/living/carbon/human/new_human)
var/obj/item/clothing/under/marine/reconnaissance/uniform = new()
var/obj/item/clothing/accessory/storage/droppouch/pouch = new()
var/obj/item/clothing/accessory/ranks/marine/e5/pin = new()
var/obj/item/clothing/accessory/patch/patch_uscm = new()
var/obj/item/clothing/accessory/patch/forecon/patch_forecon = new()
uniform.attach_accessory(new_human,pouch)
uniform.attach_accessory(new_human,patch_uscm)
uniform.attach_accessory(new_human,pin)
uniform.attach_accessory(new_human,patch_forecon)
new_human.equip_to_slot_or_del(uniform, WEAR_BODY)
new_human.equip_to_slot_or_del(new /obj/item/clothing/suit/storage/marine/light/recon(new_human), WEAR_JACKET)
new_human.equip_to_slot_or_del(new /obj/item/storage/backpack/marine/satchel(new_human), WEAR_BACK)
new_human.equip_to_slot_or_del(new /obj/item/storage/pouch/firstaid/full(new_human), WEAR_R_STORE)
new_human.equip_to_slot_or_del(new /obj/item/reagent_container/food/drinks/flask/marine(new_human), WEAR_IN_ACCESSORY)
new_human.equip_to_slot_or_del(new /obj/item/facepaint/sniper(new_human), WEAR_IN_ACCESSORY)
new_human.equip_to_slot_or_del(new /obj/item/storage/box/MRE(new_human), WEAR_IN_ACCESSORY)
new_human.equip_to_slot_or_del(new /obj/item/clothing/gloves/marine(new_human), WEAR_HANDS)
new_human.equip_to_slot_or_del(new /obj/item/tool/crowbar/tactical(new_human), WEAR_IN_JACKET)
new_human.equip_to_slot_or_del(new /obj/item/device/binoculars/range/designator(new_human), WEAR_IN_JACKET)
new_human.equip_to_slot_or_del(new /obj/item/clothing/shoes/marine/knife(new_human), WEAR_FEET)
new_human.equip_to_slot_or_del(new /obj/item/device/radio/headset/distress/forecon(new_human), WEAR_L_EAR)
GLOB.character_traits[/datum/character_trait/skills/spotter].apply_trait(new_human)

/datum/equipment_preset/uscm/forecon/standard/load_gear(mob/living/carbon/human/new_human)
..()
new_human.equip_to_slot_or_del(new /obj/item/storage/pouch/firstaid/full/alternate(new_human), WEAR_L_STORE)
spawn_random_headgear(new_human)
add_forecon_weapon_pistol(new_human)
add_forecon_weapon(new_human)

/datum/equipment_preset/uscm/forecon/tech
name = "USCM Reconnaissance Support Technician"
assignment = JOB_FORECON_SUPPORT
rank = JOB_SQUAD_MEDIC
rank = JOB_SQUAD_TECH
role_comm_title = "SuppTech"
minimap_icon = "engi"
skills = /datum/skills/military/survivor/forecon_techician

/datum/equipment_preset/uscm/forecon/tech/load_gear(mob/living/carbon/human/new_human)
new_human.equip_to_slot_or_del(new /obj/item/storage/backpack/marine/satchel/big(new_human), WEAR_BACK)
var/obj/item/clothing/under/marine/reconnaissance/uniform = new()
var/obj/item/clothing/accessory/storage/droppouch/pouch = new()
var/obj/item/clothing/accessory/ranks/marine/e5/pin = new()
var/obj/item/clothing/accessory/patch/patch_uscm = new()
var/obj/item/clothing/accessory/patch/forecon/patch_forecon = new()
uniform.attach_accessory(new_human,pouch)
uniform.attach_accessory(new_human,patch_uscm)
uniform.attach_accessory(new_human,pin)
uniform.attach_accessory(new_human,patch_forecon)
new_human.equip_to_slot_or_del(uniform, WEAR_BODY)
new_human.equip_to_slot_or_del(new /obj/item/clothing/gloves/marine/insulated(new_human), WEAR_HANDS)
new_human.equip_to_slot_or_del(new /obj/item/storage/belt/utility/full(new_human), WEAR_WAIST)
new_human.equip_to_slot_or_del(new /obj/item/clothing/glasses/welding(new_human), WEAR_EYES)
..()
new_human.equip_to_slot_or_del(new /obj/item/storage/belt/utility/full(new_human), WEAR_WAIST)
new_human.equip_to_slot_or_del(new /obj/item/storage/backpack/marine/satchel/big(new_human), WEAR_BACK)
new_human.equip_to_slot_or_del(new /obj/item/storage/pouch/tools/tactical/full(new_human), WEAR_L_STORE)
new_human.equip_to_slot_or_del(new /obj/item/storage/belt/medical/lifesaver/full/forecon(new_human), WEAR_WAIST)
new_human.equip_to_slot_or_del(new /obj/item/storage/firstaid/adv(new_human), WEAR_IN_BACK)
new_human.equip_to_slot_or_del(new /obj/item/storage/firstaid/surgical(new_human), WEAR_IN_BACK)
new_human.equip_to_slot_or_del(new /obj/item/device/defibrillator/compact(new_human), WEAR_IN_BACK)
new_human.equip_to_slot_or_del(new /obj/item/device/healthanalyzer(new_human), WEAR_IN_BACK)
new_human.equip_to_slot_or_del(new /obj/item/tool/surgery/synthgraft, WEAR_IN_BACK)
new_human.equip_to_slot_or_del(new /obj/item/tool/weldingtool , WEAR_IN_BACK)
new_human.equip_to_slot_or_del(new /obj/item/clothing/suit/storage/marine/light/recon(new_human), WEAR_JACKET)
new_human.equip_to_slot_or_del(new /obj/item/storage/pouch/firstaid/full(new_human), WEAR_R_STORE)
new_human.equip_to_slot_or_del(new /obj/item/reagent_container/food/drinks/flask/marine(new_human), WEAR_IN_ACCESSORY)
new_human.equip_to_slot_or_del(new /obj/item/facepaint/sniper(new_human), WEAR_IN_ACCESSORY)
new_human.equip_to_slot_or_del(new /obj/item/storage/box/MRE(new_human), WEAR_IN_ACCESSORY)
new_human.equip_to_slot_or_del(new /obj/item/tool/crowbar/tactical(new_human), WEAR_IN_JACKET)
new_human.equip_to_slot_or_del(new /obj/item/device/binoculars/range/designator(new_human), WEAR_IN_JACKET)
new_human.equip_to_slot_or_del(new /obj/item/clothing/shoes/marine/knife(new_human), WEAR_FEET)
new_human.equip_to_slot_or_del(new /obj/item/device/radio/headset/distress/forecon(new_human), WEAR_L_EAR)
GLOB.character_traits[/datum/character_trait/skills/spotter].apply_trait(new_human)

add_forecon_weapon(new_human)
spawn_random_headgear(new_human)
spawn_random_tech_headgear(new_human)

/datum/equipment_preset/uscm/forecon/marksman
name = "USCM Reconnaissance Designated Marksman"
Expand All @@ -154,19 +183,18 @@
uniform.attach_accessory(new_human,pin)
uniform.attach_accessory(new_human,patch_forecon)
new_human.equip_to_slot_or_del(uniform, WEAR_BODY)
new_human.equip_to_slot_or_del(new /obj/item/storage/pouch/firstaid/full/alternate(new_human), WEAR_L_STORE)
new_human.equip_to_slot_or_del(new /obj/item/clothing/suit/storage/marine/M3S, WEAR_JACKET)
new_human.equip_to_slot_or_del(new /obj/item/device/binoculars/range/designator(new_human), WEAR_IN_JACKET)
new_human.equip_to_slot_or_del(new /obj/item/explosive/plastic(new_human), WEAR_IN_JACKET)
new_human.equip_to_slot_or_del(new /obj/item/explosive/plastic(new_human), WEAR_IN_JACKET)
new_human.equip_to_slot_or_del(new /obj/item/tool/crowbar/tactical(new_human), WEAR_IN_JACKET)
new_human.equip_to_slot_or_del(new /obj/item/storage/backpack/marine/satchel/scout_cloak(new_human), WEAR_BACK)
new_human.equip_to_slot_or_del(new /obj/item/storage/pouch/firstaid/full(new_human), WEAR_R_STORE)
new_human.equip_to_slot_or_del(new /obj/item/storage/pouch/firstaid/full/alternate(new_human), WEAR_L_STORE)
new_human.equip_to_slot_or_del(new /obj/item/reagent_container/food/drinks/flask/marine(new_human), WEAR_IN_ACCESSORY)
new_human.equip_to_slot_or_del(new /obj/item/facepaint/sniper(new_human), WEAR_IN_ACCESSORY)
new_human.equip_to_slot_or_del(new /obj/item/storage/box/MRE(new_human), WEAR_IN_ACCESSORY)
new_human.equip_to_slot_or_del(new /obj/item/clothing/gloves/marine(new_human), WEAR_HANDS)
new_human.equip_to_slot_or_del(new /obj/item/tool/crowbar/tactical(new_human), WEAR_IN_JACKET)
new_human.equip_to_slot_or_del(new /obj/item/device/binoculars/range/designator(new_human), WEAR_IN_JACKET)
new_human.equip_to_slot_or_del(new /obj/item/clothing/shoes/marine/knife(new_human), WEAR_FEET)
new_human.equip_to_slot_or_del(new /obj/item/device/radio/headset/distress/forecon(new_human), WEAR_L_EAR)
new_human.equip_to_slot_or_del(new /obj/item/weapon/gun/rifle/m4ra_custom/tactical(new_human), WEAR_L_HAND)
Expand Down Expand Up @@ -199,6 +227,7 @@
uniform.attach_accessory(new_human,pin)
uniform.attach_accessory(new_human,patch_forecon)
new_human.equip_to_slot_or_del(uniform, WEAR_BODY)
new_human.equip_to_slot_or_del(new /obj/item/storage/pouch/firstaid/full/alternate(new_human), WEAR_L_STORE)
new_human.equip_to_slot_or_del(new /obj/item/clothing/suit/storage/marine/smartgunner(new_human), WEAR_JACKET)
new_human.equip_to_slot_or_del(new /obj/item/storage/pouch/firstaid/full(new_human), WEAR_R_STORE)
new_human.equip_to_slot_or_del(new /obj/item/storage/pouch/firstaid/full/alternate(new_human), WEAR_L_STORE)
Expand Down Expand Up @@ -243,13 +272,29 @@
uniform.attach_accessory(new_human,patch_uscm)
uniform.attach_accessory(new_human,pin)
uniform.attach_accessory(new_human,patch_forecon)

new_human.equip_to_slot_or_del(uniform, WEAR_BODY)
new_human.equip_to_slot_or_del(new /obj/item/storage/pouch/firstaid/full/alternate(new_human), WEAR_L_STORE)
new_human.equip_to_slot_or_del(new /obj/item/weapon/gun/rifle/m41aMK1/tactical(new_human), WEAR_R_HAND)
new_human.equip_to_slot_or_del(new /obj/item/storage/backpack/marine/satchel(new_human), WEAR_BACK)
new_human.equip_to_slot_or_del(new /obj/item/ammo_magazine/rifle/m41aMK1(new_human), WEAR_IN_BACK)
new_human.equip_to_slot_or_del(new /obj/item/ammo_magazine/rifle/m41aMK1(new_human), WEAR_IN_BACK)
new_human.equip_to_slot_or_del(new /obj/item/ammo_magazine/rifle/m41aMK1/ap(new_human), WEAR_IN_BACK)
new_human.equip_to_slot_or_del(new /obj/item/ammo_magazine/rifle/m41aMK1/ap(new_human), WEAR_IN_BACK)
new_human.equip_to_slot_or_del(new /obj/item/clothing/suit/storage/marine/light/recon(new_human), WEAR_JACKET)
new_human.equip_to_slot_or_del(new /obj/item/storage/pouch/firstaid/full(new_human), WEAR_R_STORE)
new_human.equip_to_slot_or_del(new /obj/item/reagent_container/food/drinks/flask/marine(new_human), WEAR_IN_ACCESSORY)
new_human.equip_to_slot_or_del(new /obj/item/facepaint/sniper(new_human), WEAR_IN_ACCESSORY)
new_human.equip_to_slot_or_del(new /obj/item/storage/box/MRE(new_human), WEAR_IN_ACCESSORY)
new_human.equip_to_slot_or_del(new /obj/item/clothing/gloves/marine(new_human), WEAR_HANDS)
new_human.equip_to_slot_or_del(new /obj/item/tool/crowbar/tactical(new_human), WEAR_IN_JACKET)
new_human.equip_to_slot_or_del(new /obj/item/device/binoculars/range/designator(new_human), WEAR_IN_JACKET)
new_human.equip_to_slot_or_del(new /obj/item/clothing/shoes/marine/knife(new_human), WEAR_FEET)
new_human.equip_to_slot_or_del(new /obj/item/device/radio/headset/distress/forecon(new_human), WEAR_L_EAR)
GLOB.character_traits[/datum/character_trait/skills/spotter].apply_trait(new_human)



..()
add_forecon_weapon_pistol(new_human)
spawn_random_headgear(new_human)
Binary file modified icons/mob/hud/marine_hud.dmi
Binary file not shown.
Loading