From 78f90fbd6070265c338d40e0c79f1391dfc230cc Mon Sep 17 00:00:00 2001 From: Byte-Boxer <163357189+zc-byte-boxer@users.noreply.github.com> Date: Tue, 16 Jul 2024 10:42:13 -0700 Subject: [PATCH 01/13] removes cryo spec, buffs foxtrot up to 12, increases foxtrot price, remove repeat foxtrot --- code/datums/emergency_calls/cryo_marines.dm | 9 ++++---- .../cm_tech/techs/marine/tier3/cryo_spec.dm | 23 ------------------- .../cm_tech/techs/marine/tier3/cryorine.dm | 17 ++++---------- colonialmarines.dme | 1 - 4 files changed, 9 insertions(+), 41 deletions(-) delete mode 100644 code/modules/cm_tech/techs/marine/tier3/cryo_spec.dm diff --git a/code/datums/emergency_calls/cryo_marines.dm b/code/datums/emergency_calls/cryo_marines.dm index fb8d4b8a5a69..1dbccccf4b26 100644 --- a/code/datums/emergency_calls/cryo_marines.dm +++ b/code/datums/emergency_calls/cryo_marines.dm @@ -95,9 +95,10 @@ /obj/effect/landmark/ert_spawns/distress_cryo name = "Distress_Cryo" -/datum/emergency_call/cryo_squad/tech +/datum/emergency_call/cryo_squad/tech // Actual techweb cryorines name = "Marine Cryo Reinforcements (Tech)" - mob_max = 5 - max_engineers = 1 - max_medics = 1 + mob_max = 12 + max_engineers = 2 + max_medics = 2 + max_smartgunners = 1 max_heavies = 0 diff --git a/code/modules/cm_tech/techs/marine/tier3/cryo_spec.dm b/code/modules/cm_tech/techs/marine/tier3/cryo_spec.dm deleted file mode 100644 index 06770b1d6afe..000000000000 --- a/code/modules/cm_tech/techs/marine/tier3/cryo_spec.dm +++ /dev/null @@ -1,23 +0,0 @@ -/datum/tech/cryomarine - name = "Wake Up Additional Specialist" - desc = "Wakes up an additional specialist to fight against any threats." - icon_state = "overshield" - - announce_message = "An additional specialist is being taken out of cryo." - - required_points = 8 - - flags = TREE_FLAG_MARINE - tier = /datum/tier/three - -/datum/tech/cryomarine/can_unlock(mob/user) - . = ..() - if(!.) - return - if(!SSticker.mode) - to_chat(user, SPAN_WARNING("You can't do this right now!")) - return - -/datum/tech/cryomarine/on_unlock() - . = ..() - SSticker.mode.get_specific_call(/datum/emergency_call/cryo_spec, TRUE, FALSE) // "Marine Cryo Reinforcement (Spec)" diff --git a/code/modules/cm_tech/techs/marine/tier3/cryorine.dm b/code/modules/cm_tech/techs/marine/tier3/cryorine.dm index 19200698db02..76507697ab39 100644 --- a/code/modules/cm_tech/techs/marine/tier3/cryorine.dm +++ b/code/modules/cm_tech/techs/marine/tier3/cryorine.dm @@ -1,25 +1,16 @@ -/datum/tech/repeatable/cryomarine +/datum/tech/cryomarine name = "Wake Up Additional Troops" desc = "Wakes up additional troops to fight against any threats." icon_state = "cryotroops" - announce_message = "Additional troops are being taken out of cryo." + announce_message = "Contingency squad Foxtrot are being taken out of cryo to assist the operation." - required_points = 6 - increase_per_purchase = 6 + required_points = 10 flags = TREE_FLAG_MARINE tier = /datum/tier/three -/datum/tech/repeatable/cryomarine/can_unlock(mob/M) - . = ..() - if(!.) - return - if(!SSticker.mode) - to_chat(M, SPAN_WARNING("You can't do this right now!")) - return - -/datum/tech/repeatable/cryomarine/on_unlock() +/datum/tech/cryomarine/on_unlock() . = ..() SSticker.mode.get_specific_call(/datum/emergency_call/cryo_squad/tech, TRUE, FALSE) // "Marine Cryo Reinforcements (Tech)" diff --git a/colonialmarines.dme b/colonialmarines.dme index 5193cd3571cb..ff42241029ae 100644 --- a/colonialmarines.dme +++ b/colonialmarines.dme @@ -1704,7 +1704,6 @@ #include "code\modules\cm_tech\techs\marine\tier1\arc.dm" #include "code\modules\cm_tech\techs\marine\tier1\points.dm" #include "code\modules\cm_tech\techs\marine\tier2\orbital_ammo.dm" -#include "code\modules\cm_tech\techs\marine\tier3\cryo_spec.dm" #include "code\modules\cm_tech\techs\marine\tier3\cryorine.dm" #include "code\modules\cm_tech\techs\marine\tier4\nuke.dm" #include "code\modules\cm_tech\trees\marine.dm" From 5027276199c96b3af89af8c4dfdc70a4b20b054d Mon Sep 17 00:00:00 2001 From: Byte-Boxer <163357189+zc-byte-boxer@users.noreply.github.com> Date: Mon, 22 Jul 2024 20:06:21 -0700 Subject: [PATCH 02/13] adds pop scaling to foxtrot --- code/datums/emergency_calls/cryo_marines.dm | 35 +++++++++++++++++---- 1 file changed, 29 insertions(+), 6 deletions(-) diff --git a/code/datums/emergency_calls/cryo_marines.dm b/code/datums/emergency_calls/cryo_marines.dm index 1dbccccf4b26..75f3b585382d 100644 --- a/code/datums/emergency_calls/cryo_marines.dm +++ b/code/datums/emergency_calls/cryo_marines.dm @@ -95,10 +95,33 @@ /obj/effect/landmark/ert_spawns/distress_cryo name = "Distress_Cryo" +/proc/get_marines() + var/pop_scale = 0 + var/count = 0 + + for (var/mob/living/carbon/human/H in GLOB.human_mob_list) + if (H.faction == FACTION_MARINE) + count + + switch(count) + if(95 to 104) + pop_scale += 2 + if(105 to 114) + pop_scale += 4 + if(115 to 120) + pop_scale += 6 + + return count + /datum/emergency_call/cryo_squad/tech // Actual techweb cryorines - name = "Marine Cryo Reinforcements (Tech)" - mob_max = 12 - max_engineers = 2 - max_medics = 2 - max_smartgunners = 1 - max_heavies = 0 + name = "Marine Cryo Reinforcements (Tech)" + mob_max = 6 + max_engineers = 2 + max_medics = 2 + max_smartgunners = 1 + max_heavies = 0 + +/datum/emergency_call/cryo_squad/tech/New() + . = ..() + var/pop_scale = get_marines() + mob_max += pop_scale From 20fb52ad9ab8a0b15d3084f6cd446b6ee0605a16 Mon Sep 17 00:00:00 2001 From: Byte-Boxer <163357189+zc-byte-boxer@users.noreply.github.com> Date: Mon, 22 Jul 2024 21:10:13 -0700 Subject: [PATCH 03/13] checkpoint on adding beacon reinforcements --- .../beacon-reinforcements/freelancers.dm | 63 +++++++++++ .../beacon-reinforcements/rmc.dm | 50 +++++++++ code/datums/emergency_calls/cryo_marines.dm | 12 +-- .../techs/marine/tier3/beacon-reinforcements | 16 +++ code/modules/gear_presets/other.dm | 33 ++++++ code/modules/gear_presets/royal_marines.dm | 102 ++++++++++++++++++ colonialmarines.dme | 1 + 7 files changed, 271 insertions(+), 6 deletions(-) create mode 100644 code/datums/emergency_calls/beacon-reinforcements/freelancers.dm create mode 100644 code/datums/emergency_calls/beacon-reinforcements/rmc.dm create mode 100644 code/modules/cm_tech/techs/marine/tier3/beacon-reinforcements diff --git a/code/datums/emergency_calls/beacon-reinforcements/freelancers.dm b/code/datums/emergency_calls/beacon-reinforcements/freelancers.dm new file mode 100644 index 000000000000..3ffbbb8af84a --- /dev/null +++ b/code/datums/emergency_calls/beacon-reinforcements/freelancers.dm @@ -0,0 +1,63 @@ + + + +//Randomly-equipped mercenaries. May be friendly or hostile to the USCM, hostile to xenos. +/datum/emergency_call/mercs + name = "Freelancers (Squad)" + mob_max = 6 + + +/datum/emergency_call/mercs/New() + . = ..() + hostility = pick(75;FALSE,25;TRUE) + arrival_message = "[MAIN_SHIP_NAME], this is Freelancer shuttle [pick(GLOB.alphabet_lowercase)][pick(GLOB.alphabet_lowercase)]-[rand(1, 99)] responding to your distress call. Prepare for boarding." + if(hostility) + objectives = "Ransack the [MAIN_SHIP_NAME] and kill anyone who gets in your way. Do what your Warlord says. Ensure your survival at all costs." + else + objectives = "Help the crew of the [MAIN_SHIP_NAME] in exchange for payment, and choose your payment well. Do what your Warlord says. Ensure your survival at all costs." + +/datum/emergency_call/mercs/friendly //if admins want to specifically call in friendly ones + name = "Friendly Freelancers (Squad)" + mob_max = 8 + probability = 0 + +/datum/emergency_call/mercs/friendly/New() + . = ..() + hostility = FALSE + arrival_message = "[MAIN_SHIP_NAME], this is Freelancer shuttle [pick(GLOB.alphabet_lowercase)][pick(GLOB.alphabet_lowercase)]-[rand(1, 99)] responding to your call for reinforcements." + objectives = "Help the crew of the [MAIN_SHIP_NAME] in exchange for payment you've received from ARES. Do what your Warlord says. Ensure your survival at all costs." + + +/datum/emergency_call/mercs/print_backstory(mob/living/carbon/human/H) + to_chat(H, SPAN_BOLD("You started off in the Neroid Sector as a colonist seeking work at one of the established colonies.")) + to_chat(H, SPAN_BOLD("The withdrawl of United American forces in the early 2180s, the system fell into disarray.")) + to_chat(H, SPAN_BOLD("Taking up arms as a mercenary, the Freelancers have become a powerful force of order in the system.")) + to_chat(H, SPAN_BOLD("While they are motivated primarily by money, many colonists see the Freelancers as the main forces of order in the Neroid Sector.")) + to_chat(H, SPAN_NOTICE(SPAN_BOLD("To this end, you have been contacted by ARES, the Almayer's ship AI with payment to help with the operation"))) + to_chat(H, SPAN_NOTICE(SPAN_BOLD("Ensure they are not destroyed."))) + +/datum/emergency_call/mercs/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/H = new(spawn_loc) + H.name = H.real_name + M.transfer_to(H, TRUE) + H.job = "Mercenary" + + if(!leader && HAS_FLAG(H.client.prefs.toggles_ert, PLAY_LEADER) && check_timelock(H.client, JOB_SQUAD_LEADER, time_required_for_job)) + leader = H + arm_equipment(H, /datum/equipment_preset/other/freelancer/leader, TRUE, TRUE) + to_chat(H, SPAN_ROLE_HEADER("You are the Freelancer leader!")) + else if(medics < max_medics && HAS_FLAG(H.client.prefs.toggles_ert, PLAY_MEDIC) && check_timelock(H.client, JOB_SQUAD_MEDIC, time_required_for_job)) + medics++ + arm_equipment(H, /datum/equipment_preset/other/freelancer/medic, TRUE, TRUE) + to_chat(H, SPAN_ROLE_HEADER("You are a Freelancer Medic!")) + else + arm_equipment(H, /datum/equipment_preset/other/freelancer/standard, TRUE, TRUE) + to_chat(H, SPAN_ROLE_HEADER("You are a Freelancer Mercenary!")) + print_backstory(H) + + addtimer(CALLBACK(GLOBAL_PROC, GLOBAL_PROC_REF(to_chat), H, SPAN_BOLD("Objectives: [objectives]")), 1 SECONDS) diff --git a/code/datums/emergency_calls/beacon-reinforcements/rmc.dm b/code/datums/emergency_calls/beacon-reinforcements/rmc.dm new file mode 100644 index 000000000000..0d90e712377a --- /dev/null +++ b/code/datums/emergency_calls/beacon-reinforcements/rmc.dm @@ -0,0 +1,50 @@ +/datum/emergency_call/royal_marines/beacon + name = "Royal Marines Commando (Squad) (Friendly)" + mob_max = 6 + home_base = /datum/lazy_template/ert/twe_station + shuttle_id = MOBILE_SHUTTLE_ID_ERT4 + name_of_spawn = /obj/effect/landmark/ert_spawns/distress_twe + item_spawn = /obj/effect/landmark/ert_spawns/distress_twe/item + +/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 call for reinforcements and sending aboard our forces. " + 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/lieuteant/beacon, TRUE, TRUE) + 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/beacon, TRUE, TRUE) + + addtimer(CALLBACK(GLOBAL_PROC, GLOBAL_PROC_REF(to_chat), mob, SPAN_BOLD("Objectives: [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.")) + + +/obj/effect/landmark/ert_spawns/distress_twe + name = "Distress_TWE" + +/obj/effect/landmark/ert_spawns/distress_twe/item + name = "Distress_TWEItem" + diff --git a/code/datums/emergency_calls/cryo_marines.dm b/code/datums/emergency_calls/cryo_marines.dm index 75f3b585382d..f8bb67e783a0 100644 --- a/code/datums/emergency_calls/cryo_marines.dm +++ b/code/datums/emergency_calls/cryo_marines.dm @@ -101,17 +101,17 @@ for (var/mob/living/carbon/human/H in GLOB.human_mob_list) if (H.faction == FACTION_MARINE) - count + count++ switch(count) if(95 to 104) - pop_scale += 2 + pop_scale = 2 if(105 to 114) - pop_scale += 4 - if(115 to 120) - pop_scale += 6 + pop_scale = 4 + if(115 to 350) + pop_scale = 6 - return count + return pop_scale /datum/emergency_call/cryo_squad/tech // Actual techweb cryorines name = "Marine Cryo Reinforcements (Tech)" diff --git a/code/modules/cm_tech/techs/marine/tier3/beacon-reinforcements b/code/modules/cm_tech/techs/marine/tier3/beacon-reinforcements new file mode 100644 index 000000000000..b3c1bbcba313 --- /dev/null +++ b/code/modules/cm_tech/techs/marine/tier3/beacon-reinforcements @@ -0,0 +1,16 @@ + +/datum/tech/beacon + name = "Call For Reinforcements" + desc = "Activate the [MAIN_SHIP_NAME]'s long range transmitters to call for reinforcements." + icon_state = "beacon" + + announce_message = "Contingency squad Foxtrot are being taken out of cryo to assist the operation." + + required_points = 10 + + flags = TREE_FLAG_MARINE + tier = /datum/tier/three + +/datum/tech/beacon/on_unlock() + . = ..() + SSticker.mode.get_specific_call(/datum/emergency_call/cryo_squad/tech, TRUE, FALSE) // "Marine Reinforcements" diff --git a/code/modules/gear_presets/other.dm b/code/modules/gear_presets/other.dm index 9ea05749fe0d..b30ed3db7ef8 100644 --- a/code/modules/gear_presets/other.dm +++ b/code/modules/gear_presets/other.dm @@ -235,6 +235,39 @@ spawn_weapon(/obj/item/weapon/gun/rifle/m41aMK1, /obj/item/ammo_magazine/rifle/m41aMK1, new_human, 0, 9) spawn_merc_weapon(new_human,1,2) +/datum/equipment_preset/other/freelancer/leader/beacon + name = "Freelancer (Beacon Leader)" + paygrade = PAY_SHORT_FL_WL + flags = EQUIPMENT_PRESET_EXTRA + assignment = "Freelancer Warlord" + languages = list(LANGUAGE_ENGLISH, LANGUAGE_RUSSIAN, LANGUAGE_CHINESE, LANGUAGE_JAPANESE) + + skills = /datum/skills/freelancer/SL + +/datum/equipment_preset/other/freelancer/leader/load_gear(mob/living/carbon/human/new_human) + + //No random helmet, so that it's more clear that he's the leader + new_human.equip_to_slot_or_del(new /obj/item/clothing/under/marine/veteran/freelancer, WEAR_BODY) + new_human.equip_to_slot_or_del(new /obj/item/clothing/suit/storage/marine/faction/freelancer, WEAR_JACKET) + new_human.equip_to_slot_or_del(new /obj/item/clothing/head/freelancer/beret, WEAR_HEAD) + new_human.equip_to_slot_or_del(new /obj/item/clothing/shoes/marine/upp/knife, WEAR_FEET) + new_human.equip_to_slot_or_del(new /obj/item/clothing/gloves/marine/veteran, WEAR_HANDS) + if(new_human.disabilities & NEARSIGHTED) + new_human.equip_to_slot_or_del(new /obj/item/clothing/glasses/hud/health/prescription(new_human), WEAR_EYES) + else + new_human.equip_to_slot_or_del(new /obj/item/clothing/glasses/hud/health(new_human), WEAR_EYES) + new_human.equip_to_slot_or_del(new /obj/item/device/radio/headset/distress/dutch, WEAR_L_EAR) + new_human.equip_to_slot_or_del(new /obj/item/storage/belt/marine, WEAR_WAIST) + new_human.equip_to_slot_or_del(new /obj/item/storage/backpack/lightpack, WEAR_BACK) + new_human.equip_to_slot_or_del(new /obj/item/storage/box/attachments(new_human), WEAR_IN_BACK) + new_human.equip_to_slot_or_del(new /obj/item/explosive/grenade/high_explosive/stick, WEAR_IN_BACK) + new_human.equip_to_slot_or_del(new /obj/item/explosive/plastic, WEAR_IN_BACK) + new_human.equip_to_slot_or_del(new /obj/item/device/binoculars/range, WEAR_IN_BACK) + new_human.equip_to_slot_or_del(new /obj/item/storage/pouch/explosive/, WEAR_R_STORE) + new_human.equip_to_slot_or_del(new /obj/item/storage/pouch/firstaid/ert, WEAR_L_STORE) + + spawn_weapon(/obj/item/weapon/gun/rifle/m41aMK1, /obj/item/ammo_magazine/rifle/m41aMK1, new_human, 0, 9) + spawn_merc_weapon(new_human,1,2) //*****************************************************************************************************/ /datum/equipment_preset/other/elite_merc diff --git a/code/modules/gear_presets/royal_marines.dm b/code/modules/gear_presets/royal_marines.dm index aa33eac97733..2d0f6a6dfca9 100644 --- a/code/modules/gear_presets/royal_marines.dm +++ b/code/modules/gear_presets/royal_marines.dm @@ -337,3 +337,105 @@ new_human.equip_to_slot_or_del(new /obj/item/storage/pouch/firstaid/full/alternate, WEAR_L_STORE) new_human.equip_to_slot_or_del(new /obj/item/storage/pouch/firstaid/full, WEAR_R_STORE) +// Below is presets for the beacon reinforcements. // +//*****************************************************************************************************/ + +/datum/equipment_preset/twe/royal_marine/standard/beacon + name = "TWE Royal Marine Commando (Rifleman)" + paygrade = PAY_SHORT_RMC1 + role_comm_title = "RMC" + flags = EQUIPMENT_PRESET_EXTRA + assignment = "Royal Marines Rifleman" + rank = JOB_TWE_RMC_RIFLEMAN + skills = /datum/skills/rmc + +/datum/equipment_preset/twe/royal_marine/standard/load_gear(mob/living/carbon/human/new_human) + new_human.equip_to_slot_or_del(new headset_type, WEAR_L_EAR) + new_human.equip_to_slot_or_del(new /obj/item/clothing/head/helmet/marine/veteran/royal_marine, WEAR_HEAD) + new_human.equip_to_slot_or_del(new /obj/item/clothing/under/marine/veteran/royal_marine, WEAR_BODY) + new_human.equip_to_slot_or_del(new /obj/item/clothing/gloves/marine/veteran/royal_marine, WEAR_HANDS) + new_human.equip_to_slot_or_del(new /obj/item/clothing/shoes/royal_marine/knife, WEAR_FEET) + new_human.equip_to_slot_or_del(new /obj/item/clothing/glasses/hud/health, WEAR_EYES) + new_human.equip_to_slot_or_del(new /obj/item/clothing/accessory/patch/royal_marines, WEAR_ACCESSORY) + + new_human.equip_to_slot_or_del(new /obj/item/clothing/accessory/storage/droppouch, WEAR_ACCESSORY) + new_human.equip_to_slot_or_del(new /obj/item/clothing/mask/gas/pmc/royal_marine, WEAR_IN_ACCESSORY) + new_human.equip_to_slot_or_del(new /obj/item/clothing/head/beret/royal_marine, WEAR_IN_ACCESSORY) + + new_human.equip_to_slot_or_del(new /obj/item/clothing/suit/storage/marine/veteran/royal_marine/light, WEAR_JACKET) + new_human.equip_to_slot_or_del(new /obj/item/device/binoculars/range, WEAR_IN_JACKET) + new_human.equip_to_slot_or_del(new /obj/item/explosive/plastic/breaching_charge, WEAR_IN_JACKET) + new_human.equip_to_slot_or_del(new /obj/item/tool/crowbar/tactical, WEAR_IN_JACKET) + + new_human.equip_to_slot_or_del(new /obj/item/weapon/gun/rifle/rmc_f90, WEAR_J_STORE) + + new_human.equip_to_slot_or_del(new /obj/item/storage/belt/marine/rmc/rmc_f90_ammo, WEAR_WAIST) + + new_human.equip_to_slot_or_del(new /obj/item/storage/backpack/rmc/light, WEAR_BACK) + new_human.equip_to_slot_or_del(new /obj/item/storage/firstaid/regular/response, WEAR_IN_BACK) + new_human.equip_to_slot_or_del(new /obj/item/storage/firstaid/adv, WEAR_IN_BACK) + new_human.equip_to_slot_or_del(new /obj/item/storage/firstaid/surgical, WEAR_IN_BACK) + new_human.equip_to_slot_or_del(new /obj/item/device/defibrillator, 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/storage/box/packet/rmc/incin, WEAR_IN_BACK) + new_human.equip_to_slot_or_del(new /obj/item/storage/box/packet/rmc/he, WEAR_IN_BACK) + + new_human.equip_to_slot_or_del(new /obj/item/storage/pouch/firstaid/full/alternate, WEAR_L_STORE) + new_human.equip_to_slot_or_del(new /obj/item/storage/pouch/firstaid/full, WEAR_R_STORE) + +/datum/equipment_preset/twe/royal_marine/standard/mre_pack + name = "TWE Royal Marine Commando (MRE Rifleman)" + +/datum/equipment_preset/twe/royal_marine/standard/mre_pack/load_gear(mob/living/carbon/human/new_human) + new_human.equip_to_slot_or_del(new /obj/item/storage/backpack/rmc/frame, WEAR_BACK) + new_human.equip_to_slot_or_del(new /obj/item/ammo_box/magazine/misc/mre, WEAR_IN_BACK) + ..() + +/datum/equipment_preset/twe/royal_marine/lieuteant/beacon //they better say it Lef-tenant or they should be banned for LRP. More importantly this guy doesn't spawn in the ERT + name = "TWE Royal Marine Commando (Officer)" + paygrade = PAY_SHORT_RNO1 + role_comm_title = "RMC LT" + flags = EQUIPMENT_PRESET_EXTRA + assignment = "Royal Marines Team Commander" + rank = JOB_TWE_RMC_LIEUTENANT + skills = /datum/skills/rmc/leader + +/datum/equipment_preset/twe/royal_marine/lieuteant/load_gear(mob/living/carbon/human/new_human) + new_human.equip_to_slot_or_del(new headset_type, WEAR_L_EAR) + new_human.equip_to_slot_or_del(new /obj/item/clothing/head/beret/royal_marine/team_leader, WEAR_HEAD) + new_human.equip_to_slot_or_del(new /obj/item/clothing/under/marine/veteran/royal_marine/lt, WEAR_BODY) + new_human.equip_to_slot_or_del(new /obj/item/clothing/gloves/marine/veteran/royal_marine, WEAR_HANDS) + new_human.equip_to_slot_or_del(new /obj/item/clothing/shoes/royal_marine/knife, WEAR_FEET) + new_human.equip_to_slot_or_del(new /obj/item/clothing/glasses/hud/health, WEAR_EYES) + new_human.equip_to_slot_or_del(new /obj/item/clothing/accessory/patch/royal_marines, WEAR_ACCESSORY) + + new_human.equip_to_slot_or_del(new /obj/item/clothing/accessory/storage/droppouch, WEAR_ACCESSORY) + new_human.equip_to_slot_or_del(new /obj/item/clothing/head/helmet/marine/veteran/royal_marine, WEAR_IN_ACCESSORY) + new_human.equip_to_slot_or_del(new /obj/item/clothing/mask/gas/pmc/royal_marine, WEAR_IN_ACCESSORY) + + new_human.equip_to_slot_or_del(new /obj/item/clothing/suit/storage/marine/veteran/royal_marine/light/team_leader, WEAR_JACKET) + new_human.equip_to_slot_or_del(new /obj/item/device/binoculars/range, WEAR_IN_JACKET) + new_human.equip_to_slot_or_del(new /obj/item/explosive/plastic/breaching_charge, WEAR_IN_JACKET) + new_human.equip_to_slot_or_del(new /obj/item/tool/crowbar/tactical, WEAR_IN_JACKET) + new_human.equip_to_slot_or_del(new /obj/item/ammo_magazine/rifle/rmc_f90, WEAR_IN_JACKET) + new_human.equip_to_slot_or_del(new /obj/item/ammo_magazine/rifle/rmc_f90, WEAR_IN_JACKET) + new_human.equip_to_slot_or_del(new /obj/item/ammo_magazine/rifle/rmc_f90, WEAR_IN_JACKET) + new_human.equip_to_slot_or_del(new /obj/item/ammo_magazine/rifle/rmc_f90, WEAR_IN_JACKET) + + new_human.equip_to_slot_or_del(new /obj/item/weapon/gun/rifle/rmc_f90/a_grip, WEAR_J_STORE) + + new_human.equip_to_slot_or_del(new /obj/item/storage/belt/gun/l905/full, WEAR_WAIST) + + new_human.equip_to_slot_or_del(new /obj/item/storage/backpack/rmc/light, WEAR_BACK) + new_human.equip_to_slot_or_del(new /obj/item/storage/firstaid/regular/response, WEAR_IN_BACK) + new_human.equip_to_slot_or_del(new /obj/item/storage/firstaid/adv, WEAR_IN_BACK) + new_human.equip_to_slot_or_del(new /obj/item/storage/firstaid/surgical, WEAR_IN_BACK) + new_human.equip_to_slot_or_del(new /obj/item/device/defibrillator, 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/storage/box/packet/rmc/incin, WEAR_IN_BACK) + new_human.equip_to_slot_or_del(new /obj/item/storage/box/packet/rmc/he, WEAR_IN_BACK) + + new_human.equip_to_slot_or_del(new /obj/item/storage/pouch/firstaid/full/alternate, WEAR_L_STORE) + new_human.equip_to_slot_or_del(new /obj/item/storage/pouch/firstaid/full, WEAR_R_STORE) + +//*****************************************************************************************************/ diff --git a/colonialmarines.dme b/colonialmarines.dme index ff42241029ae..a33853d3aa2a 100644 --- a/colonialmarines.dme +++ b/colonialmarines.dme @@ -542,6 +542,7 @@ #include "code\datums\emergency_calls\xeno_cultists.dm" #include "code\datums\emergency_calls\xenos.dm" #include "code\datums\emergency_calls\zombie.dm" +#include "code\datums\emergency_calls\beacon-reinforcements\freelancers.dm" #include "code\datums\entities\chemical_information.dm" #include "code\datums\entities\clans.dm" #include "code\datums\entities\discord_identifier.dm" From a4dacff0e48267d9f717f0193742eb796fb75497 Mon Sep 17 00:00:00 2001 From: Byte-Boxer <163357189+zc-byte-boxer@users.noreply.github.com> Date: Wed, 24 Jul 2024 21:50:31 -0700 Subject: [PATCH 04/13] draft_beacon_reinforcements --- .../beacon-reinforcements/freelancers.dm | 84 ++++------ .../beacon-reinforcements/rmc.dm | 29 ++-- .../beacon-reinforcements/upp.dm | 70 ++++++++ .../beacon-reinforcements/vaipo.dm | 71 +++++++++ .../techs/marine/tier3/beacon-reinforcements | 16 -- .../techs/marine/tier4/beacon-reinforcements | 25 +++ code/modules/gear_presets/contractor.dm | 128 +++++++++++++++ code/modules/gear_presets/other.dm | 78 +++++++++ code/modules/gear_presets/upp.dm | 149 ++++++++++++++++++ colonialmarines.dme | 5 + 10 files changed, 578 insertions(+), 77 deletions(-) create mode 100644 code/datums/emergency_calls/beacon-reinforcements/upp.dm create mode 100644 code/datums/emergency_calls/beacon-reinforcements/vaipo.dm delete mode 100644 code/modules/cm_tech/techs/marine/tier3/beacon-reinforcements create mode 100644 code/modules/cm_tech/techs/marine/tier4/beacon-reinforcements diff --git a/code/datums/emergency_calls/beacon-reinforcements/freelancers.dm b/code/datums/emergency_calls/beacon-reinforcements/freelancers.dm index 3ffbbb8af84a..26e36fa86519 100644 --- a/code/datums/emergency_calls/beacon-reinforcements/freelancers.dm +++ b/code/datums/emergency_calls/beacon-reinforcements/freelancers.dm @@ -1,63 +1,47 @@ - - - -//Randomly-equipped mercenaries. May be friendly or hostile to the USCM, hostile to xenos. -/datum/emergency_call/mercs - name = "Freelancers (Squad)" - mob_max = 6 - - -/datum/emergency_call/mercs/New() - . = ..() - hostility = pick(75;FALSE,25;TRUE) - arrival_message = "[MAIN_SHIP_NAME], this is Freelancer shuttle [pick(GLOB.alphabet_lowercase)][pick(GLOB.alphabet_lowercase)]-[rand(1, 99)] responding to your distress call. Prepare for boarding." - if(hostility) - objectives = "Ransack the [MAIN_SHIP_NAME] and kill anyone who gets in your way. Do what your Warlord says. Ensure your survival at all costs." - else - objectives = "Help the crew of the [MAIN_SHIP_NAME] in exchange for payment, and choose your payment well. Do what your Warlord says. Ensure your survival at all costs." - -/datum/emergency_call/mercs/friendly //if admins want to specifically call in friendly ones - name = "Friendly Freelancers (Squad)" +/datum/emergency_call/freelancer/beacon + name = "Freelancer Infantry (Squad) (Beacon)" mob_max = 8 - probability = 0 + max_medics = 1 + mob_min = 1 + spawn_max_amount = TRUE -/datum/emergency_call/mercs/friendly/New() +/datum/emergency_call/freelancer/beacon/New() . = ..() - hostility = FALSE - arrival_message = "[MAIN_SHIP_NAME], this is Freelancer shuttle [pick(GLOB.alphabet_lowercase)][pick(GLOB.alphabet_lowercase)]-[rand(1, 99)] responding to your call for reinforcements." - objectives = "Help the crew of the [MAIN_SHIP_NAME] in exchange for payment you've received from ARES. Do what your Warlord says. Ensure your survival at all costs." + arrival_message = "[MAIN_SHIP_NAME], this is the Free Vessel Nellie. We'll take your contract for aid, coming soon." + objectives = "Render assistance towards the USCM. You've already been paid by the ship's automated systems.." +/datum/emergency_call/freelancer/beacon/print_backstory(mob/living/carbon/human/spawning_mob) + to_chat(spawning_mob, SPAN_BOLD("You started off in the Neroid Sector as a colonist seeking work at one of the established colonies.")) + to_chat(spawning_mob, SPAN_BOLD("The withdrawl of United American forces in the early 2180s, the system fell into disarray.")) + to_chat(spawning_mob, SPAN_BOLD("Taking up arms as a mercenary, the Freelancers have become a powerful force of order in the system.")) + to_chat(spawning_mob, SPAN_BOLD("While they are motivated primarily by money, many colonists see the Freelancers as the main forces of order in the Neroid Sector.")) + to_chat(spawning_mob, SPAN_BOLD("Ensure they are not destroyed.")) -/datum/emergency_call/mercs/print_backstory(mob/living/carbon/human/H) - to_chat(H, SPAN_BOLD("You started off in the Neroid Sector as a colonist seeking work at one of the established colonies.")) - to_chat(H, SPAN_BOLD("The withdrawl of United American forces in the early 2180s, the system fell into disarray.")) - to_chat(H, SPAN_BOLD("Taking up arms as a mercenary, the Freelancers have become a powerful force of order in the system.")) - to_chat(H, SPAN_BOLD("While they are motivated primarily by money, many colonists see the Freelancers as the main forces of order in the Neroid Sector.")) - to_chat(H, SPAN_NOTICE(SPAN_BOLD("To this end, you have been contacted by ARES, the Almayer's ship AI with payment to help with the operation"))) - to_chat(H, SPAN_NOTICE(SPAN_BOLD("Ensure they are not destroyed."))) -/datum/emergency_call/mercs/create_member(datum/mind/M, turf/override_spawn_loc) +/datum/emergency_call/freelancer/beacon/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/H = new(spawn_loc) - H.name = H.real_name - M.transfer_to(H, TRUE) - H.job = "Mercenary" + var/mob/living/carbon/human/mob = new(spawn_loc) + spawning_mind.transfer_to(mob, TRUE) - if(!leader && HAS_FLAG(H.client.prefs.toggles_ert, PLAY_LEADER) && check_timelock(H.client, JOB_SQUAD_LEADER, time_required_for_job)) - leader = H - arm_equipment(H, /datum/equipment_preset/other/freelancer/leader, TRUE, TRUE) - to_chat(H, SPAN_ROLE_HEADER("You are the Freelancer leader!")) - else if(medics < max_medics && HAS_FLAG(H.client.prefs.toggles_ert, PLAY_MEDIC) && check_timelock(H.client, JOB_SQUAD_MEDIC, time_required_for_job)) + if(!leader && HAS_FLAG(mob.client.prefs.toggles_ert, PLAY_LEADER) && check_timelock(mob.client, JOB_SQUAD_LEADER, time_required_for_job && (spawning_mind))) + leader = mob + arm_equipment(mob, /datum/equipment_preset/other/freelancer/beacon, TRUE, TRUE) + to_chat(mob, SPAN_ROLE_HEADER("You are an independent warlord, operating outside any nation's jursdiction.")) + else if(medics < max_medics && HAS_FLAG(mob.client.prefs.toggles_ert, PLAY_MEDIC) && check_timelock(mob.client, JOB_SQUAD_MEDIC, time_required_for_job && (spawning_mind))) medics++ - arm_equipment(H, /datum/equipment_preset/other/freelancer/medic, TRUE, TRUE) - to_chat(H, SPAN_ROLE_HEADER("You are a Freelancer Medic!")) - else - arm_equipment(H, /datum/equipment_preset/other/freelancer/standard, TRUE, TRUE) - to_chat(H, SPAN_ROLE_HEADER("You are a Freelancer Mercenary!")) - print_backstory(H) - - addtimer(CALLBACK(GLOBAL_PROC, GLOBAL_PROC_REF(to_chat), H, SPAN_BOLD("Objectives: [objectives]")), 1 SECONDS) + to_chat(mob, SPAN_ROLE_HEADER("You are an independent medic, operating as a mercenary for hire.")) + arm_equipment(mob, /datum/equipment_preset/other/freelancer/medic, TRUE, TRUE) + else if(spawning_mind) + to_chat(mob, SPAN_ROLE_HEADER("You are an independent mercenary, operating as a gun for hire.")) + arm_equipment(mob, /datum/equipment_preset/other/freelancer/beacon, TRUE, TRUE) + + print_backstory(mob) + + sleep(10) + if(!mind) + mob.free_for_ghosts() + to_chat(mob, SPAN_BOLD("Objectives: [objectives]")) diff --git a/code/datums/emergency_calls/beacon-reinforcements/rmc.dm b/code/datums/emergency_calls/beacon-reinforcements/rmc.dm index 0d90e712377a..e12459c0f9d9 100644 --- a/code/datums/emergency_calls/beacon-reinforcements/rmc.dm +++ b/code/datums/emergency_calls/beacon-reinforcements/rmc.dm @@ -1,18 +1,20 @@ /datum/emergency_call/royal_marines/beacon - name = "Royal Marines Commando (Squad) (Friendly)" - mob_max = 6 + name = "Royal Marines Commandos (Beacon)" + mob_max = 8 + mob_min = 1 + spawn_max_amount = TRUE home_base = /datum/lazy_template/ert/twe_station shuttle_id = MOBILE_SHUTTLE_ID_ERT4 - name_of_spawn = /obj/effect/landmark/ert_spawns/distress_twe + name_of_spawn = /obj/effect/landmark/ert_spawns/distress_twe/beacon item_spawn = /obj/effect/landmark/ert_spawns/distress_twe/item -/datum/emergency_call/royal_marines/New() +/datum/emergency_call/royal_marines/beacon/New() ..() - arrival_message = "[MAIN_SHIP_NAME], this is [pick_weight(list("HMS Patna"= 50, "HMS Thunderchild" = 50))]; we are responding to your call for reinforcements and sending aboard our forces. " + arrival_message = "[MAIN_SHIP_NAME], this is the HMS Kurtz of the Three World Empires. We've received your call and are enroute to aid." 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) +/datum/emergency_call/royal_marines/beacon/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)) @@ -21,21 +23,21 @@ 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)) + + if(!leader && HAS_FLAG(mob.client.prefs.toggles_ert, PLAY_LEADER) && check_timelock(mob.client, JOB_SQUAD_LEADER, time_required_for_job && (!mind ))) 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/lieuteant/beacon, TRUE, TRUE) - else + else if(spawning_mind) 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/beacon, TRUE, TRUE) - addtimer(CALLBACK(GLOBAL_PROC, GLOBAL_PROC_REF(to_chat), mob, SPAN_BOLD("Objectives: [objectives]")), 1 SECONDS) -/datum/emergency_call/royal_marines/print_backstory(mob/living/carbon/human/spawning_mob) +/datum/emergency_call/royal_marines/beacon/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 knowledgable 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.")) @@ -48,3 +50,8 @@ /obj/effect/landmark/ert_spawns/distress_twe/item name = "Distress_TWEItem" + + sleep(10) + if(!mind) + mob.free_for_ghosts() + to_chat(mob, SPAN_BOLD("Objectives: [objectives]")) diff --git a/code/datums/emergency_calls/beacon-reinforcements/upp.dm b/code/datums/emergency_calls/beacon-reinforcements/upp.dm new file mode 100644 index 000000000000..474314061764 --- /dev/null +++ b/code/datums/emergency_calls/beacon-reinforcements/upp.dm @@ -0,0 +1,70 @@ +/datum/emergency_call/upp/beacon + name = "UPP Naval Infantry (Squad) (Beacon)" + mob_max = 6 + mob_min = 1 + spawn_max_amount = TRUE + shuttle_id = MOBILE_SHUTTLE_ID_ERT3 + home_base = /datum/lazy_template/ert/upp_station + name_of_spawn = /obj/effect/landmark/ert_spawns/distress_upp + item_spawn = /obj/effect/landmark/ert_spawns/distress_upp/item + max_medics = 1 + max_engineers = 1 + +/datum/emergency_call/upp/beacon/New() + . = ..() + arrival_message = "[MAIN_SHIP_NAME], this is the SVV Haldin of the Union of Progressive Peoples. We hear your call for reinforcements and are sending our forces to assist you." + objectives = "Render assistance towards the UA Forces, do not engage UA forces. Listen to your superior officers." + +/datum/emergency_call/upp/beacon/print_backstory(mob/living/carbon/human/M) + if(ishuman_strict(M)) + to_chat(M, SPAN_BOLD("You grew up in relatively simple family in [pick(75;"Eurasia", 25;"a famished UPP colony")] with few belongings or luxuries.")) + to_chat(M, SPAN_BOLD("The family you grew up with were [pick(50;"getting by", 25;"impoverished", 25;"starving")] and you were one of [pick(10;"two", 20;"three", 20;"four", 30;"five", 20;"six")] children.")) + to_chat(M, SPAN_BOLD("You come from a long line of [pick(40;"crop-harvesters", 20;"soldiers", 20;"factory workers", 5;"scientists", 15;"engineers")], and quickly enlisted to improve your living conditions.")) + to_chat(M, SPAN_BOLD("Following your enlistment to the UPP military at the age of 17, you were assigned to the 17th 'Smoldering Sons' battalion (six hundred strong) under the command of Colonel Ganbaatar.")) + else + to_chat(M, SPAN_BOLD("You were brought online in a UPP engineering facility, knowing only your engineers for the first few weeks for your pseudo-life.")) + to_chat(M, SPAN_BOLD("You were programmed with all of the medical and combat experience a military fighting force support asset required.")) + to_chat(M, SPAN_BOLD("Throughout your career, your engineers, and later, your UPP compatriots, treated you like [pick(75;"a tool, and only that.", 25;"a person, despite your purpose.")]")) + to_chat(M, SPAN_BOLD("Some weeks after your unit integration, you were assigned to the 17th 'Smoldering Sons' battalion (six hundred strong) under the command of Colonel Ganbaatar.")) + to_chat(M, SPAN_BOLD("You were shipped off with the battalion to one of the UPP's most remote territories, a gas giant designated MV-35 in the Anglo-Japanese Arm, in the Neroid Sector.")) + to_chat(M, SPAN_BOLD("For the past 14 months, you and the rest of the Smoldering Sons have been stationed at MV-35's only facility, the helium refinery, Altai Station.")) + to_chat(M, SPAN_BOLD("As MV-35 and Altai Station are the only UPP-held zones in the Neroid Sector for many lightyears, you have spent most of your military career holed up in crammed quarters in near darkness, waiting for supply shipments and transport escort deployments.")) + to_chat(M, SPAN_BOLD("With the recent arrival of the USCM battalion the 'Falling Falcons' and their flagship, the [MAIN_SHIP_NAME], the UPP has felt threatened in the sector.")) + to_chat(M, SPAN_BOLD("Despite this, the leadership of your battalion questions what may have prompted the distress signal from their rivals. Your squad is to find out why and to render aid to the beleaguered UA forces.")) + to_chat(M, SPAN_WARNING(FONT_SIZE_BIG("Glory to Colonel Ganbaatar."))) + to_chat(M, SPAN_WARNING(FONT_SIZE_BIG("Glory to the Smoldering Sons."))) + to_chat(M, SPAN_WARNING(FONT_SIZE_BIG("Glory to the UPP."))) + +///////////////////UPP/////////////////////////// + +/datum/emergency_call/upp/beacon/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(H.client, JOB_SQUAD_LEADER, time_required_for_job&& (spawning_mind))) + leader = mob + arm_equipment(mob, /datum/equipment_preset/upp/leader/beacon, TRUE, TRUE) + to_chat(mob, SPAN_ROLE_HEADER("You are an Officer of the Union of Progressive People, a powerful socialist state that rivals the United Americas!")) + else if(medics < max_medics && HAS_FLAG(mob.client.prefs.toggles_ert, PLAY_MEDIC) && check_timelock(H.client, JOB_SQUAD_MEDIC, time_required_for_job&& (spawning_mind))) + medics++ + to_chat(mob, SPAN_ROLE_HEADER("You are a Medic of the Union of Progressive People, a powerful socialist state that rivals the United Americas!")) + arm_equipment(mob, /datum/equipment_preset/upp/medic/beacon, TRUE, TRUE) + else if(engineers < engineers && HAS_FLAG(mob.client.prefs.toggles_ert, PLAY_ENGINEER) && check_timelock(H.client, JOB_SQUAD_ENGI, time_required_for_job&& (spawning_mind))) + engineers++ + to_chat(mob, SPAN_ROLE_HEADER("You are a Sapper of the Union of Progressive People, a powerful socialist state that rivals the United Americas!")) + arm_equipment(mob, /datum/equipment_preset/upp/sapper/beacon, TRUE, TRUE) + else if(spawning_mind) + to_chat(mob, SPAN_ROLE_HEADER("You are a soldier of the Union of Progressive People, a powerful socialist state that rivals the United Americas!")) + arm_equipment(mob, /datum/equipment_preset/upp/soldier/beacon, TRUE, TRUE) + + print_backstory(mob) + + sleep(10) + if(!spawning_mind) + mob.free_for_ghosts() + to_chat(mob, SPAN_BOLD("Objectives: [objectives]")) diff --git a/code/datums/emergency_calls/beacon-reinforcements/vaipo.dm b/code/datums/emergency_calls/beacon-reinforcements/vaipo.dm new file mode 100644 index 000000000000..1c0af943d77e --- /dev/null +++ b/code/datums/emergency_calls/beacon-reinforcements/vaipo.dm @@ -0,0 +1,71 @@ +/datum/emergency_call/contractors/beacon + name = "Military Contractors (Squad) (Friendly) (Beacon)" + mob_max = 6 + max_engineers = 1 + max_medics = 1 + mob_min = 1 + spawn_max_amount = TRUE + + +/datum/emergency_call/contractors/beacon/New() + ..() + arrival_message = "[MAIN_SHIP_NAME], this is USCSS Verloc with Vanguard's Arrow Incorporated, Primary Operations; we read your signal, leathernecks, and are coming to aid." + objectives = "Ensure the survival of the [MAIN_SHIP_NAME], eliminate any hostiles, and assist the crew in any way possible." + + +/datum/emergency_call/contractors/beacon/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/human = new(spawn_loc) + + if(mind) + mind.transfer_to(human, TRUE) + else + human.create_hud() + + if(!leader && HAS_FLAG(mob.client.prefs.toggles_ert, PLAY_LEADER) && check_timelock(mob.client, JOB_SQUAD_LEADER, time_required_for_job && (!mind ))) + leader = mob + to_chat(mob, SPAN_ROLE_HEADER("You are a Contractor Team Leader of Vanguard's Arrow Incorporated!")) + arm_equipment(mob, /datum/equipment_preset/contractor/duty/leader/beacon, TRUE, TRUE) + else if(medics < max_medics && HAS_FLAG(mob.client.prefs.toggles_ert, PLAY_MEDIC) && check_timelock(mob.client, JOB_SQUAD_MEDIC, time_required_for_job && (!mind ))) + medics++ + to_chat(mob, SPAN_ROLE_HEADER("You are a Contractor Medical Specialist of Vanguard's Arrow Incorporated!")) + arm_equipment(mob, /datum/equipment_preset/contractor/duty/medic/beacon, TRUE, TRUE) + else if(engineers < max_engineers && HAS_FLAG(mob.client.prefs.toggles_ert, PLAY_ENGINEER) && check_timelock(mob.client, JOB_SQUAD_ENGI) && (spawning_mind)) + engineers++ + to_chat(mob, SPAN_ROLE_HEADER("You are a Contractor Engineering Specialist of Vanguard's Arrow Incorporated!")) + arm_equipment(mob, /datum/equipment_preset/contractor/duty/engi/beacon, TRUE, TRUE) + else(spawning_mind) + to_chat(mob, SPAN_ROLE_HEADER("You are a Contractor of Vanguard's Arrow Incorporated!")) + arm_equipment(mob, /datum/equipment_preset/contractor/duty/standard/beacon, TRUE, TRUE) + + +/datum/emergency_call/contractors/beacon/print_backstory(mob/living/carbon/human/M) + if(ishuman_strict(M)) + to_chat(M, SPAN_BOLD("You were born [pick(60;"in the United States", 20;"on Earth", 20;"on a colony")] to a [pick(75;"average", 15;"poor", 10;"well-established")] family.")) + to_chat(M, SPAN_BOLD("Joining the USCM gave you a lot of combat experience and useful skills but changed you.")) + to_chat(M, SPAN_BOLD("After getting out, you couldn't hold a job with the things you saw and did, deciding to put your skills to use you joined a Military Contractor firm.")) + to_chat(M, SPAN_BOLD("You are a skilled mercenary, making better pay than in the Corps.")) + else + to_chat(M, SPAN_BOLD("You were brought online in a civilian factory.")) + to_chat(M, SPAN_BOLD("You were programmed with all of the medical and engineering knowledge a military fighting force support asset required.")) + to_chat(M, SPAN_BOLD("You were soon after bought by Vanguard's Arrow Incorporated(VAI) to act as support personnel.")) + to_chat(M, SPAN_BOLD("Some months after your purchase, you were assigned to the USCSS Inheritor, a VAI transport vessel.")) + to_chat(M, SPAN_BOLD("You are [pick(80;"unaware", 15;"faintly aware", 5;"knowledgeable")] of the xenomorph threat.")) + to_chat(M, SPAN_BOLD("You are employed by Vanguard's Arrow Incorporated(VAI), as a member of VAI Primary Operations(VAIPO)")) + to_chat(M, SPAN_BOLD("You are stationed on-board the USCSS Inheritor, a part of VAIPO Task-Force Charlie.")) + to_chat(M, SPAN_BOLD("Under the directive of the VAI executive board, you have been assist in riot control, military aid, and to assist USCMC forces wherever possible.")) + to_chat(M, SPAN_BOLD("The USCSS Inheritor is staffed with crew of roughly three hundred military contractors, and fifty support personnel.")) + to_chat(M, SPAN_BOLD("Assist the USCMC Force of the [MAIN_SHIP_NAME] however you can.")) + to_chat(M, SPAN_BOLD("As a side-objective, VAI has been hired by an unknown benefactor to engage in corporate espionage and sabotage against Weyland-Yutani, avoid direct conflict; you aren't VAISO; but attempt to recover Wey-Yu secrets and plans if possible.")) + + print_backstory(mob) + + sleep(10) + if(!mind) + human.free_for_ghosts() + to_chat(human, SPAN_BOLD("Objectives: [objectives]")) diff --git a/code/modules/cm_tech/techs/marine/tier3/beacon-reinforcements b/code/modules/cm_tech/techs/marine/tier3/beacon-reinforcements deleted file mode 100644 index b3c1bbcba313..000000000000 --- a/code/modules/cm_tech/techs/marine/tier3/beacon-reinforcements +++ /dev/null @@ -1,16 +0,0 @@ - -/datum/tech/beacon - name = "Call For Reinforcements" - desc = "Activate the [MAIN_SHIP_NAME]'s long range transmitters to call for reinforcements." - icon_state = "beacon" - - announce_message = "Contingency squad Foxtrot are being taken out of cryo to assist the operation." - - required_points = 10 - - flags = TREE_FLAG_MARINE - tier = /datum/tier/three - -/datum/tech/beacon/on_unlock() - . = ..() - SSticker.mode.get_specific_call(/datum/emergency_call/cryo_squad/tech, TRUE, FALSE) // "Marine Reinforcements" diff --git a/code/modules/cm_tech/techs/marine/tier4/beacon-reinforcements b/code/modules/cm_tech/techs/marine/tier4/beacon-reinforcements new file mode 100644 index 000000000000..39f5dc5cdf16 --- /dev/null +++ b/code/modules/cm_tech/techs/marine/tier4/beacon-reinforcements @@ -0,0 +1,25 @@ + +/datum/tech/beacon + name = "Call For Reinforcements" + desc = "Activate the [MAIN_SHIP_NAME]'s long range transmitters to call for reinforcements." + icon_state = "beacon" + + announce_message = "ARES is activating its long range transmitters to call for reinforcements. Standby..." + + required_points = 10 + + flags = TREE_FLAG_MARINE + tier = /datum/tier/four + +/datum/tech/beacon/on_unlock() + . = ..() + var/pick_reinforcements = rand(1,4) + switch(pick_reinforcements) + if(1) + SSticker.mode.get_specific_call(/datum/emergency_call/freelancer/beacon, TRUE, FALSE) + if(2) + SSticker.mode.get_specific_call(/datum/emergency_call/royal_marines/beacon, TRUE, FALSE) + if(3) + SSticker.mode.get_specific_call(/datum/emergency_call/upp/beacon, TRUE, FALSE) + if(4) + SSticker.mode.get_specific_call(/datum/emergency_call/contractors/beacon, TRUE, FALSE) diff --git a/code/modules/gear_presets/contractor.dm b/code/modules/gear_presets/contractor.dm index 3f0cdecb9ac2..b14dbcf17f75 100644 --- a/code/modules/gear_presets/contractor.dm +++ b/code/modules/gear_presets/contractor.dm @@ -155,6 +155,37 @@ new_human.equip_to_slot_or_del(new /obj/item/ammo_magazine/rifle/m41aMK1, WEAR_IN_R_STORE) new_human.equip_to_slot_or_del(new /obj/item/ammo_magazine/rifle/m41aMK1, WEAR_IN_BACK) +/datum/equipment_preset/contractor/duty/standard/beacon/load_gear(mob/living/carbon/human/new_human) + new_human.equip_to_slot_or_del(new headset_type, WEAR_L_EAR) + new_human.equip_to_slot_or_del(new /obj/item/clothing/under/tshirt/gray_blu, WEAR_BODY) + new_human.equip_to_slot_or_del(new /obj/item/clothing/accessory/holobadge/cord, WEAR_ACCESSORY) + new_human.equip_to_slot_or_del(new /obj/item/clothing/suit/storage/marine/light/vest, WEAR_JACKET) + new_human.equip_to_slot_or_del(new /obj/item/device/binoculars/range, WEAR_IN_JACKET) + new_human.equip_to_slot_or_del(new /obj/item/storage/belt/gun/m4a3/m1911/socom, WEAR_WAIST) + new_human.equip_to_slot_or_del(new /obj/item/clothing/gloves/marine/veteran, WEAR_HANDS) + new_human.equip_to_slot_or_del(new /obj/item/clothing/head/helmet/marine, WEAR_HEAD) + new_human.equip_to_slot_or_del(new /obj/item/clothing/shoes/veteran/pmc/knife, WEAR_FEET) + new_human.equip_to_slot_or_del(new /obj/item/clothing/glasses/sunglasses/big, WEAR_EYES) + new_human.equip_to_slot_or_del(new /obj/item/storage/pouch/firstaid/full, WEAR_L_STORE) + new_human.equip_to_slot_or_del(new /obj/item/storage/backpack/lightpack, WEAR_BACK) + new_human.equip_to_slot_or_del(new /obj/item/explosive/plastic/breaching_charge, WEAR_IN_BACK) + new_human.equip_to_slot_or_del(new /obj/item/explosive/grenade/high_explosive, WEAR_IN_BACK) + new_human.equip_to_slot_or_del(new /obj/item/explosive/grenade/high_explosive, WEAR_IN_BACK) + new_human.equip_to_slot_or_del(new /obj/item/storage/firstaid/regular/response, WEAR_IN_BACK) + new_human.equip_to_slot_or_del(new /obj/item/storage/box/packet/smoke, WEAR_IN_BACK) + new_human.equip_to_slot_or_del(new /obj/item/storage/box/MRE,WEAR_IN_BACK) + new_human.equip_to_slot_or_del(new /obj/item/tool/crowbar/tactical, WEAR_IN_BACK) + new_human.equip_to_slot_or_del(new /obj/item/storage/box/attachments(new_human), WEAR_IN_BACK) + new_human.equip_to_slot_or_del(new /obj/item/weapon/gun/rifle/m41a/tactical, WEAR_J_STORE) + new_human.equip_to_slot_or_del(new /obj/item/clothing/accessory/storage/webbing, WEAR_ACCESSORY) + new_human.equip_to_slot_or_del(new /obj/item/ammo_magazine/rifle, WEAR_IN_ACCESSORY) + new_human.equip_to_slot_or_del(new /obj/item/ammo_magazine/rifle, WEAR_IN_ACCESSORY) + new_human.equip_to_slot_or_del(new /obj/item/ammo_magazine/rifle, WEAR_IN_ACCESSORY) + new_human.equip_to_slot_or_del(new /obj/item/storage/pouch/magazine, WEAR_R_STORE) + new_human.equip_to_slot_or_del(new /obj/item/ammo_magazine/rifle, WEAR_IN_R_STORE) + new_human.equip_to_slot_or_del(new /obj/item/ammo_magazine/rifle, WEAR_IN_R_STORE) + new_human.equip_to_slot_or_del(new /obj/item/ammo_magazine/rifle, WEAR_IN_R_STORE) + //*****************************************************************************************************/ @@ -248,6 +279,34 @@ new_human.equip_to_slot_or_del(new /obj/item/storage/box/attachments(new_human), WEAR_IN_BACK) new_human.equip_to_slot_or_del(new /obj/item/explosive/grenade/high_explosive/m15, WEAR_IN_BACK) +/datum/equipment_preset/contractor/duty/engi/beacon/load_gear(mob/living/carbon/human/new_human) + new_human.equip_to_slot_or_del(new /obj/item/clothing/under/tshirt/w_br, WEAR_BODY) + new_human.equip_to_slot_or_del(new /obj/item/clothing/accessory/holobadge/cord, WEAR_ACCESSORY) + new_human.equip_to_slot_or_del(new headset_type, WEAR_L_EAR) + new_human.equip_to_slot_or_del(new /obj/item/clothing/suit/storage/marine/light/vest, WEAR_JACKET) + new_human.equip_to_slot_or_del(new /obj/item/device/binoculars/range/designator, WEAR_IN_JACKET) + new_human.equip_to_slot_or_del(new /obj/item/weapon/gun/rifle/mar40/carbine/tactical, WEAR_J_STORE) + new_human.equip_to_slot_or_del(new /obj/item/clothing/gloves/marine/veteran, WEAR_HANDS) + new_human.equip_to_slot_or_del(new /obj/item/clothing/head/helmet/marine, WEAR_HEAD) + new_human.equip_to_slot_or_del(new /obj/item/clothing/shoes/veteran/pmc/knife, WEAR_FEET) + new_human.equip_to_slot_or_del(new /obj/item/clothing/glasses/sunglasses/big, WEAR_FACE) + new_human.equip_to_slot_or_del(new /obj/item/clothing/glasses/welding/superior, WEAR_EYES) + //storage items + new_human.equip_to_slot_or_del(new /obj/item/storage/belt/utility/full, WEAR_WAIST) + new_human.equip_to_slot_or_del(new /obj/item/storage/pouch/firstaid/full, WEAR_L_STORE) + new_human.equip_to_slot_or_del(new /obj/item/storage/pouch/magazine, WEAR_R_STORE) + new_human.equip_to_slot_or_del(new /obj/item/ammo_magazine/rifle/mar40, WEAR_IN_R_STORE) + new_human.equip_to_slot_or_del(new /obj/item/ammo_magazine/rifle/mar40, WEAR_IN_R_STORE) + new_human.equip_to_slot_or_del(new /obj/item/ammo_magazine/rifle/mar40, WEAR_IN_R_STORE) + //backpack and stuff in it + new_human.equip_to_slot_or_del(new /obj/item/storage/backpack/marine/engineerpack, WEAR_BACK) + new_human.equip_to_slot_or_del(new /obj/item/stack/sheet/metal/large_stack, WEAR_IN_BACK) + new_human.equip_to_slot_or_del(new /obj/item/stack/sheet/plasteel/large_stack, WEAR_IN_BACK) + new_human.equip_to_slot_or_del(new /obj/item/defenses/handheld/sentry/mini, WEAR_IN_BACK) + new_human.equip_to_slot_or_del(new /obj/item/storage/firstaid/regular/response, WEAR_IN_BACK) + new_human.equip_to_slot_or_del(new /obj/item/storage/box/attachments(new_human), WEAR_IN_BACK) + new_human.equip_to_slot_or_del(new /obj/item/explosive/grenade/high_explosive, WEAR_IN_BACK) + //*****************************************************************************************************/ /datum/equipment_preset/contractor/duty/medic @@ -294,6 +353,38 @@ new_human.equip_to_slot_or_del(new /obj/item/ammo_magazine/rifle/mar40/extended, WEAR_IN_BACK) new_human.equip_to_slot_or_del(new /obj/item/ammo_magazine/rifle/mar40, WEAR_IN_BACK) + +/datum/equipment_preset/contractor/duty/medic/beacon/load_gear(mob/living/carbon/human/new_human) + //clothing + new_human.equip_to_slot_or_del(new /obj/item/clothing/under/tshirt/w_br, WEAR_BODY) + new_human.equip_to_slot_or_del(new headset_type, WEAR_L_EAR) + new_human.equip_to_slot_or_del(new /obj/item/clothing/suit/storage/marine/light/vest, WEAR_JACKET) + new_human.equip_to_slot_or_del(new /obj/item/clothing/accessory/storage/surg_vest/equipped, WEAR_ACCESSORY) + new_human.equip_to_slot_or_del(new /obj/item/clothing/accessory/holobadge/cord, WEAR_ACCESSORY) + new_human.equip_to_slot_or_del(new /obj/item/device/binoculars/range, WEAR_IN_JACKET) + new_human.equip_to_slot_or_del(new /obj/item/clothing/gloves/marine/veteran, WEAR_HANDS) + new_human.equip_to_slot_or_del(new /obj/item/clothing/head/helmet/marine, WEAR_HEAD) + new_human.equip_to_slot_or_del(new /obj/item/clothing/shoes/veteran/pmc/knife, WEAR_FEET) + new_human.equip_to_slot_or_del(new /obj/item/clothing/glasses/hud/health, WEAR_EYES) + new_human.equip_to_slot_or_del(new /obj/item/clothing/glasses/sunglasses/big, WEAR_FACE) + new_human.equip_to_slot_or_del(new /obj/item/weapon/gun/rifle/mar40/carbine/tactical, WEAR_J_STORE) + //storage items + new_human.equip_to_slot_or_del(new /obj/item/storage/pouch/magazine, WEAR_L_STORE) + new_human.equip_to_slot_or_del(new /obj/item/storage/pouch/medkit/full_advanced, WEAR_R_STORE) + new_human.equip_to_slot_or_del(new /obj/item/ammo_magazine/rifle/mar40, WEAR_IN_L_STORE) + new_human.equip_to_slot_or_del(new /obj/item/ammo_magazine/rifle/mar40, WEAR_IN_L_STORE) + new_human.equip_to_slot_or_del(new /obj/item/ammo_magazine/rifle/mar40, WEAR_IN_L_STORE) + new_human.equip_to_slot_or_del(new /obj/item/storage/belt/medical/lifesaver/full/dutch, WEAR_WAIST) + //backpack and stuff in it + new_human.equip_to_slot_or_del(new /obj/item/storage/backpack/lightpack, WEAR_BACK) + new_human.equip_to_slot_or_del(new /obj/item/device/defibrillator, WEAR_IN_BACK) + new_human.equip_to_slot_or_del(new /obj/item/storage/firstaid/adv, WEAR_IN_BACK) + new_human.equip_to_slot_or_del(new /obj/item/roller, WEAR_IN_BACK) + new_human.equip_to_slot_or_del(new /obj/item/roller/surgical, WEAR_IN_BACK) + new_human.equip_to_slot_or_del(new /obj/item/device/healthanalyzer, WEAR_IN_BACK) + new_human.equip_to_slot_or_del(new /obj/item/storage/box/packet/smoke, WEAR_IN_BACK) + new_human.equip_to_slot_or_del(new /obj/item/ammo_magazine/rifle/mar40, WEAR_IN_BACK) + new_human.equip_to_slot_or_del(new /obj/item/ammo_magazine/rifle/mar40, WEAR_IN_BACK) //*****************************************************************************************************/ /datum/equipment_preset/contractor/duty/leader @@ -345,6 +436,43 @@ new_human.equip_to_slot_or_del(new /obj/item/tool/crowbar/tactical, WEAR_IN_BACK) new_human.equip_to_slot_or_del(new /obj/item/storage/box/attachments, WEAR_IN_BACK) +/datum/equipment_preset/contractor/duty/leader/beacon/load_gear(mob/living/carbon/human/new_human) + //clothes + new_human.equip_to_slot_or_del(new headset_type, WEAR_L_EAR) + new_human.equip_to_slot_or_del(new /obj/item/clothing/under/tshirt/r_bla, WEAR_BODY) + new_human.equip_to_slot_or_del(new /obj/item/clothing/accessory/storage/black_vest, WEAR_ACCESSORY) + new_human.equip_to_slot_or_del(new /obj/item/explosive/grenade/high_explosive, WEAR_IN_ACCESSORY) + new_human.equip_to_slot_or_del(new /obj/item/explosive/grenade/high_explosive, WEAR_IN_ACCESSORY) + new_human.equip_to_slot_or_del(new /obj/item/explosive/grenade/high_explosive, WEAR_IN_ACCESSORY) + new_human.equip_to_slot_or_del(new /obj/item/explosive/grenade/high_explosive, WEAR_IN_ACCESSORY) + new_human.equip_to_slot_or_del(new /obj/item/explosive/grenade/high_explosive, WEAR_IN_ACCESSORY) + new_human.equip_to_slot_or_del(new /obj/item/clothing/accessory/holobadge/cord, WEAR_ACCESSORY) + new_human.equip_to_slot_or_del(new /obj/item/clothing/suit/storage/marine/light/vest, WEAR_JACKET) + new_human.equip_to_slot_or_del(new /obj/item/device/binoculars/range/designator, WEAR_IN_JACKET) + new_human.equip_to_slot_or_del(new /obj/item/weapon/gun/rifle/m41aMK1/tactical, WEAR_J_STORE) + new_human.equip_to_slot_or_del(new /obj/item/storage/belt/gun/m4a3/m1911/socom, WEAR_WAIST) + new_human.equip_to_slot_or_del(new /obj/item/clothing/gloves/marine/veteran, WEAR_HANDS) + new_human.equip_to_slot_or_del(new /obj/item/clothing/head/helmet/marine, WEAR_HEAD) + new_human.equip_to_slot_or_del(new /obj/item/clothing/shoes/veteran/pmc/knife, WEAR_FEET) + new_human.equip_to_slot_or_del(new /obj/item/clothing/glasses/hud/sensor, WEAR_EYES) + new_human.equip_to_slot_or_del(new /obj/item/clothing/glasses/sunglasses/big, WEAR_FACE) + new_human.equip_to_slot_or_del(new /obj/item/storage/pouch/autoinjector/full, WEAR_L_STORE) + new_human.equip_to_slot_or_del(new /obj/item/storage/pouch/magazine, WEAR_R_STORE) + new_human.equip_to_slot_or_del(new /obj/item/ammo_magazine/rifle/m41aMK1, WEAR_IN_R_STORE) + new_human.equip_to_slot_or_del(new /obj/item/ammo_magazine/rifle/m41aMK1, WEAR_IN_R_STORE) + new_human.equip_to_slot_or_del(new /obj/item/ammo_magazine/rifle/m41aMK1, WEAR_IN_R_STORE) + //backpack and stuff in it + new_human.equip_to_slot_or_del(new /obj/item/storage/backpack/lightpack, WEAR_BACK) + new_human.equip_to_slot_or_del(new /obj/item/explosive/plastic/breaching_charge, WEAR_IN_BACK) + new_human.equip_to_slot_or_del(new /obj/item/explosive/plastic/breaching_charge, WEAR_IN_BACK) + new_human.equip_to_slot_or_del(new /obj/item/explosive/grenade/high_explosive, WEAR_IN_BACK) + new_human.equip_to_slot_or_del(new /obj/item/explosive/grenade/high_explosive, WEAR_IN_BACK) + new_human.equip_to_slot_or_del(new /obj/item/storage/firstaid/regular/response, WEAR_IN_BACK) + new_human.equip_to_slot_or_del(new /obj/item/storage/box/packet/smoke, WEAR_IN_BACK) + new_human.equip_to_slot_or_del(new /obj/item/device/motiondetector/m717/hacked/contractor, WEAR_IN_BACK) + new_human.equip_to_slot_or_del(new /obj/item/tool/crowbar/tactical, WEAR_IN_BACK) + new_human.equip_to_slot_or_del(new /obj/item/storage/box/attachments, WEAR_IN_BACK) + //*****************************************************************************************************/ /datum/equipment_preset/contractor/duty/synth name = "Military Contractor (Synthetic)" diff --git a/code/modules/gear_presets/other.dm b/code/modules/gear_presets/other.dm index b30ed3db7ef8..1d91231e821f 100644 --- a/code/modules/gear_presets/other.dm +++ b/code/modules/gear_presets/other.dm @@ -65,6 +65,7 @@ skills = /datum/skills/freelancer + /datum/equipment_preset/other/freelancer/standard/load_gear(mob/living/carbon/human/new_human) //generic clothing new_human.equip_to_slot_or_del(new /obj/item/clothing/under/marine/veteran/freelancer, WEAR_BODY) @@ -128,6 +129,80 @@ new_human.equip_to_slot_or_del(new /obj/item/tool/crowbar, WEAR_IN_BACK) new_human.equip_to_slot_or_del(new /obj/item/storage/firstaid/regular/response, WEAR_IN_BACK) +/datum/equipment_preset/other/freelancer/beacon + name = "Freelancer (Standard)" + paygrade = PAY_SHORT_FL_S + flags = EQUIPMENT_PRESET_EXTRA + + skills = /datum/skills/freelancer + +/datum/equipment_preset/other/freelancer/beacon/load_gear(mob/living/carbon/human/new_human) + //generic clothing + new_human.equip_to_slot_or_del(new /obj/item/clothing/under/marine/veteran/freelancer, WEAR_BODY) + new_human.equip_to_slot_or_del(new /obj/item/clothing/suit/storage/marine/faction/freelancer, WEAR_JACKET) + new_human.equip_to_slot_or_del(new /obj/item/clothing/shoes/marine/upp/knife, WEAR_FEET) + new_human.equip_to_slot_or_del(new /obj/item/clothing/gloves/marine/veteran/pmc, WEAR_HANDS) + spawn_merc_helmet(new_human) + //storage and specific stuff, they all get an ERT medpouch. + new_human.equip_to_slot_or_del(new /obj/item/device/radio/headset/distress/dutch, WEAR_L_EAR) + new_human.equip_to_slot_or_del(new /obj/item/storage/backpack/lightpack, WEAR_BACK) + new_human.equip_to_slot_or_del(new /obj/item/storage/pouch/firstaid/ert, WEAR_L_STORE) + new_human.equip_to_slot_or_del(new /obj/item/storage/box/attachments(new_human), WEAR_IN_BACK) + + load_freelancer_soldier(new_human) + +/datum/equipment_preset/other/freelancer/beacon/proc/load_freelancer_soldier(mob/living/carbon/human/new_human) + var/percentage = rand(1, 100) + switch(percentage) + //most freelancers are rifleman, most others are breachers, some have HPRs. + if(1 to 66) + load_freelancer_rifleman(new_human) + if(67 to 85) + load_freelancer_shotgunner(new_human) + else + load_freelancer_machinegunner(new_human) + +/datum/equipment_preset/other/freelancer/beacon/proc/load_freelancer_machinegunner(mob/living/carbon/human/new_human) + new_human.equip_to_slot_or_del(new /obj/item/storage/belt/gun/m4a3, WEAR_WAIST) + new_human.equip_to_slot_or_del(new /obj/item/tool/crowbar, WEAR_IN_BACK) + spawn_merc_weapon(new_human,1,6) + spawn_weapon(/obj/item/weapon/gun/rifle/lmg, /obj/item/ammo_magazine/rifle/lmg, new_human, 0, 5) //HPR mini-spec + new_human.equip_to_slot_or_del(new /obj/item/ammo_magazine/rifle/lmg/holo_target, WEAR_IN_BACK) + new_human.equip_to_slot_or_del(new /obj/item/ammo_magazine/rifle/lmg/holo_target, WEAR_IN_BACK) + new_human.equip_to_slot_or_del(new /obj/item/storage/pouch/explosive/C4, WEAR_R_STORE) + +/datum/equipment_preset/other/freelancer/beacon/proc/load_freelancer_shotgunner(mob/living/carbon/human/new_human) + //storage items + new_human.equip_to_slot_or_del(new /obj/item/storage/belt/shotgun, WEAR_WAIST) + new_human.equip_to_slot_or_del(new /obj/item/storage/pouch/explosive/C4, WEAR_R_STORE) + new_human.equip_to_slot_or_del(new /obj/item/tool/crowbar, WEAR_IN_BACK) + spawn_weapon(/obj/item/weapon/gun/shotgun/type23, pick(GLOB.shotgun_handfuls_8g), new_human, 0, 14) //shotgunner mini-spec + new_human.equip_to_slot_or_del(new /obj/item/explosive/grenade/high_explosive/stick, WEAR_IN_BACK) + new_human.equip_to_slot_or_del(new /obj/item/explosive/grenade/high_explosive/stick, WEAR_IN_BACK) + new_human.equip_to_slot_or_del(new /obj/item/explosive/grenade/high_explosive/stick, WEAR_IN_BACK) + new_human.equip_to_slot_or_del(new /obj/item/explosive/grenade/high_explosive/stick, WEAR_IN_BACK) + new_human.equip_to_slot_or_del(new /obj/item/explosive/grenade/custom/ied_incendiary, WEAR_IN_BACK) + new_human.equip_to_slot_or_del(new /obj/item/explosive/grenade/custom/ied_incendiary, WEAR_IN_BACK) + new_human.equip_to_slot_or_del(new /obj/item/storage/firstaid/regular/response, WEAR_IN_BACK) + new_human.equip_to_slot_or_del(new /obj/item/explosive/grenade/smokebomb, WEAR_IN_BACK) + + +/datum/equipment_preset/other/freelancer/beacon/proc/load_freelancer_rifleman(mob/living/carbon/human/new_human) + //storage items + new_human.equip_to_slot_or_del(new /obj/item/storage/belt/marine, WEAR_WAIST) + new_human.equip_to_slot_or_del(new /obj/item/storage/pouch/explosive, WEAR_R_STORE) + spawn_merc_weapon(new_human) + //Stored stuff + new_human.equip_to_slot_or_del(new /obj/item/storage/firstaid/regular/response, WEAR_IN_BACK) + new_human.equip_to_slot_or_del(new /obj/item/explosive/grenade/high_explosive/stick, WEAR_IN_BACK) + new_human.equip_to_slot_or_del(new /obj/item/explosive/grenade/high_explosive/stick, WEAR_IN_BACK) + new_human.equip_to_slot_or_del(new /obj/item/tool/crowbar, WEAR_IN_BACK) + new_human.equip_to_slot_or_del(new /obj/item/storage/firstaid/regular/response, WEAR_IN_BACK) + new_human.equip_to_slot_or_del(new /obj/item/explosive/plastic, WEAR_IN_R_STORE) + new_human.equip_to_slot_or_del(new /obj/item/explosive/plastic, WEAR_IN_R_STORE) + new_human.equip_to_slot_or_del(new /obj/item/explosive/plastic, WEAR_IN_R_STORE) + + //*****************************************************************************************************/ /datum/equipment_preset/other/freelancer/medic @@ -264,6 +339,9 @@ new_human.equip_to_slot_or_del(new /obj/item/explosive/plastic, WEAR_IN_BACK) new_human.equip_to_slot_or_del(new /obj/item/device/binoculars/range, WEAR_IN_BACK) new_human.equip_to_slot_or_del(new /obj/item/storage/pouch/explosive/, WEAR_R_STORE) + new_human.equip_to_slot_or_del(new /obj/item/explosive/plastic, WEAR_IN_R_STORE) + new_human.equip_to_slot_or_del(new /obj/item/explosive/plastic, WEAR_IN_R_STORE) + new_human.equip_to_slot_or_del(new /obj/item/explosive/plastic, WEAR_IN_R_STORE) new_human.equip_to_slot_or_del(new /obj/item/storage/pouch/firstaid/ert, WEAR_L_STORE) spawn_weapon(/obj/item/weapon/gun/rifle/m41aMK1, /obj/item/ammo_magazine/rifle/m41aMK1, new_human, 0, 9) diff --git a/code/modules/gear_presets/upp.dm b/code/modules/gear_presets/upp.dm index 417a893ffdee..a8afabc5c8b4 100644 --- a/code/modules/gear_presets/upp.dm +++ b/code/modules/gear_presets/upp.dm @@ -149,6 +149,39 @@ new_human.equip_to_slot_or_del(new /obj/item/storage/pouch/shotgun/heavybuck, WEAR_R_STORE) new_human.equip_to_slot_or_del(new /obj/item/storage/pouch/firstaid/ert, WEAR_L_STORE) +/datum/equipment_preset/upp/soldier/beacon/load_gear(mob/living/carbon/human/new_human) + //face + new_human.equip_to_slot_or_del(new /obj/item/device/radio/headset/distress/UPP, WEAR_L_EAR) + //head + new_human.equip_to_slot_or_del(new /obj/item/clothing/head/helmet/marine/veteran/UPP, WEAR_HEAD) + //body + var/obj/item/clothing/under/marine/veteran/UPP/UPP = new() + new_human.equip_to_slot_or_del(UPP, WEAR_BODY) + new_human.equip_to_slot_or_del(new /obj/item/clothing/accessory/patch/upp, WEAR_ACCESSORY) + new_human.equip_to_slot_or_del(new /obj/item/clothing/accessory/patch/upp/naval, WEAR_ACCESSORY) + new_human.equip_to_slot_or_del(new /obj/item/clothing/suit/storage/marine/faction/UPP, WEAR_JACKET) + new_human.equip_to_slot_or_del(new /obj/item/device/binoculars, WEAR_IN_JACKET) + new_human.equip_to_slot_or_del(new /obj/item/clothing/shoes/marine/upp/knife, WEAR_FEET) + new_human.equip_to_slot_or_del(new /obj/item/clothing/gloves/marine/veteran/upp, WEAR_HANDS) + //back + new_human.equip_to_slot_or_del(new /obj/item/storage/backpack/lightpack/upp, WEAR_BACK) + new_human.equip_to_slot_or_del(new /obj/item/reagent_container/food/snacks/upp, WEAR_IN_BACK) //.75 + new_human.equip_to_slot_or_del(new /obj/item/reagent_container/food/snacks/upp, WEAR_IN_BACK) //1.5 + new_human.equip_to_slot_or_del(new /obj/item/tool/extinguisher/mini, WEAR_IN_BACK) //2.25 + new_human.equip_to_slot_or_del(new /obj/item/storage/box/m94, WEAR_IN_BACK) //3.25 + new_human.equip_to_slot_or_del(new /obj/item/storage/box/m94, WEAR_IN_BACK) //4.25 + //body + new_human.equip_to_slot_or_del(new /obj/item/weapon/gun/rifle/type71/rifleman, WEAR_J_STORE) + //waist + new_human.equip_to_slot_or_del(new /obj/item/storage/belt/marine/upp/full, WEAR_WAIST) + //rpocket + new_human.equip_to_slot_or_del(new /obj/item/storage/pouch/explosive, WEAR_R_STORE) + new_human.equip_to_slot_or_del(new /obj/item/explosive/grenade/high_explosive/upp, WEAR_IN_R_STORE) + new_human.equip_to_slot_or_del(new /obj/item/explosive/grenade/high_explosive/upp, WEAR_IN_R_STORE) + new_human.equip_to_slot_or_del(new /obj/item/explosive/grenade/high_explosive/upp, WEAR_IN_R_STORE) + //lpocket + new_human.equip_to_slot_or_del(new /obj/item/storage/pouch/firstaid/ert, WEAR_L_STORE) + /datum/equipment_preset/upp/soldier/get_antag_clothing_equipment() return list( list("STANDARD EQUIPMENT (TAKE ALL)", 0, null, null, null), @@ -280,6 +313,44 @@ if(SSmapping.configs[GROUND_MAP].environment_traits[MAP_COLD]) new_human.equip_to_slot_or_del(new /obj/item/clothing/mask/rebreather/scarf/tacticalmask/green, WEAR_FACE) +/datum/equipment_preset/upp/medic/beacon/load_gear(mob/living/carbon/human/new_human) + //back + new_human.equip_to_slot_or_del(new /obj/item/storage/backpack/lightpack/upp, WEAR_BACK) + new_human.equip_to_slot_or_del(new /obj/item/device/defibrillator, WEAR_IN_BACK) //1 + new_human.equip_to_slot_or_del(new /obj/item/storage/firstaid/adv, WEAR_IN_BACK) //2 + new_human.equip_to_slot_or_del(new /obj/item/roller, WEAR_IN_BACK) //2.33 + new_human.equip_to_slot_or_del(new /obj/item/reagent_container/food/snacks/upp, WEAR_IN_BACK) //3 + new_human.equip_to_slot_or_del(new /obj/item/reagent_container/food/snacks/upp, WEAR_IN_BACK) //3.33 + //face + new_human.equip_to_slot_or_del(new /obj/item/device/radio/headset/distress/UPP/medic, WEAR_L_EAR) + if(new_human.disabilities & NEARSIGHTED) + new_human.equip_to_slot_or_del(new /obj/item/clothing/glasses/hud/health/prescription(new_human), WEAR_EYES) + else + new_human.equip_to_slot_or_del(new /obj/item/clothing/glasses/hud/health(new_human), WEAR_EYES) + //head + new_human.equip_to_slot_or_del(new /obj/item/clothing/head/uppcap, WEAR_HEAD) + //body + new_human.equip_to_slot_or_del(new /obj/item/clothing/under/marine/veteran/UPP/medic, WEAR_BODY) + new_human.equip_to_slot_or_del(new /obj/item/clothing/accessory/patch/upp, WEAR_ACCESSORY) + new_human.equip_to_slot_or_del(new /obj/item/clothing/accessory/patch/upp/naval, WEAR_ACCESSORY) + new_human.equip_to_slot_or_del(new /obj/item/clothing/suit/storage/marine/faction/UPP/support, WEAR_JACKET) //medic should move fast + new_human.equip_to_slot_or_del(new /obj/item/weapon/gun/smg/bizon/upp, WEAR_J_STORE) + //waist + new_human.equip_to_slot_or_del(new /obj/item/storage/belt/medical/lifesaver/upp/full, WEAR_WAIST) + //limbs + new_human.equip_to_slot_or_del(new /obj/item/clothing/shoes/marine/upp/knife, WEAR_FEET) + new_human.equip_to_slot_or_del(new /obj/item/clothing/gloves/marine/veteran/upp, WEAR_HANDS) + //póckets + var/obj/item/storage/pouch/magazine/large/ppouch = new() + new_human.equip_to_slot_or_del(ppouch, WEAR_R_STORE) + for(var/i = 1 to ppouch.storage_slots) + new_human.equip_to_slot_or_del(new /obj/item/ammo_magazine/smg/bizon, WEAR_IN_R_STORE) + new_human.equip_to_slot_or_del(new /obj/item/storage/pouch/medical, WEAR_L_STORE) + new_human.equip_to_slot_or_del(new /obj/item/tool/surgery/surgical_line, WEAR_IN_L_STORE) + new_human.equip_to_slot_or_del(new /obj/item/tool/surgery/synthgraft, WEAR_IN_L_STORE) + new_human.equip_to_slot_or_del(new /obj/item/device/healthanalyzer, WEAR_IN_L_STORE) + new_human.equip_to_slot_or_del(new /obj/item/reagent_container/hypospray/tricordrazine, WEAR_IN_L_STORE) + /datum/equipment_preset/upp/medic/get_antag_clothing_equipment() return list( list("STANDARD EQUIPMENT (TAKE ALL)", 0, null, null, null), @@ -445,6 +516,35 @@ new_human.equip_to_slot_or_del(new /obj/item/storage/pouch/firstaid/ert(new_human), WEAR_L_STORE) new_human.equip_to_slot_or_del(new /obj/item/storage/pouch/construction/full(new_human), WEAR_R_STORE) +/datum/equipment_preset/upp/sapper/beacon/load_gear(mob/living/carbon/human/new_human) + new_human.equip_to_slot_or_del(new /obj/item/storage/backpack/marine/engineerpack/upp, WEAR_BACK) + new_human.equip_to_slot_or_del(new /obj/item/reagent_container/food/snacks/upp, WEAR_IN_BACK) //.33 + new_human.equip_to_slot_or_del(new /obj/item/reagent_container/food/snacks/upp, WEAR_IN_BACK) //.66 + new_human.equip_to_slot_or_del(new /obj/item/defenses/handheld/sentry/upp/light, WEAR_IN_BACK) //2.66 + //face + new_human.equip_to_slot_or_del(new /obj/item/device/radio/headset/distress/UPP/cct, WEAR_L_EAR) + 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/clothing/mask/gas, WEAR_FACE) + //head + var/headgear = prob(70) ? /obj/item/clothing/head/helmet/marine/veteran/UPP/engi : /obj/item/clothing/head/uppcap/ushanka + new_human.equip_to_slot_or_del(new headgear, WEAR_HEAD) + //body + var/obj/item/clothing/under/marine/veteran/UPP/engi/UPP = new() + new_human.equip_to_slot_or_del(UPP, WEAR_BODY) + new_human.equip_to_slot_or_del(new /obj/item/clothing/accessory/patch/upp, WEAR_ACCESSORY) + new_human.equip_to_slot_or_del(new /obj/item/clothing/accessory/patch/upp/naval, WEAR_ACCESSORY) + new_human.equip_to_slot_or_del(new /obj/item/clothing/suit/storage/marine/faction/UPP, WEAR_JACKET) + new_human.equip_to_slot_or_del(new /obj/item/device/binoculars, WEAR_IN_JACKET) + new_human.equip_to_slot_or_del(new /obj/item/weapon/gun/rifle/type71/sapper, WEAR_J_STORE) + //waist + new_human.equip_to_slot_or_del(new /obj/item/storage/belt/utility/full(new_human), WEAR_WAIST) + //limb + new_human.equip_to_slot_or_del(new /obj/item/clothing/gloves/marine/veteran/insulated(new_human), WEAR_HANDS) + new_human.equip_to_slot_or_del(new /obj/item/clothing/shoes/marine/upp/knife, WEAR_FEET) + //pockets + new_human.equip_to_slot_or_del(new /obj/item/storage/pouch/firstaid/ert(new_human), WEAR_L_STORE) + new_human.equip_to_slot_or_del(new /obj/item/storage/pouch/construction/full(new_human), WEAR_R_STORE) + /datum/equipment_preset/upp/sapper/get_antag_clothing_equipment() return list( list("STANDARD EQUIPMENT (TAKE ALL)", 0, null, null, null), @@ -848,9 +948,58 @@ new_human.equip_to_slot_or_del(new /obj/item/tool/extinguisher, WEAR_IN_R_STORE) new_human.equip_to_slot_or_del(new /obj/item/storage/pouch/firstaid/ert, WEAR_L_STORE) + if(SSmapping.configs[GROUND_MAP].environment_traits[MAP_COLD]) new_human.equip_to_slot_or_del(new /obj/item/clothing/mask/rebreather/scarf/tacticalmask/green, WEAR_FACE) +/datum/equipment_preset/upp/leader + name = "UPP Squad Leader" + flags = EQUIPMENT_PRESET_EXTRA + + skills = /datum/skills/upp/SL + assignment = JOB_UPP_LEADER + rank = JOB_UPP_LEADER + role_comm_title = "SL" + paygrade = PAY_SHORT_UE6 + +/datum/equipment_preset/upp/leader/beacon/load_gear(mob/living/carbon/human/new_human) + //back + new_human.equip_to_slot_or_del(new /obj/item/storage/backpack/lightpack/upp, WEAR_BACK) + new_human.equip_to_slot_or_del(new /obj/item/tool/extinguisher/mini, WEAR_IN_BACK) //0.66 + new_human.equip_to_slot_or_del(new /obj/item/explosive/grenade/phosphorus/upp, WEAR_IN_BACK) //1.33 + new_human.equip_to_slot_or_del(new /obj/item/explosive/grenade/phosphorus/upp, WEAR_IN_BACK) //2 + new_human.equip_to_slot_or_del(new /obj/item/explosive/grenade/phosphorus/upp, WEAR_IN_BACK) //2.66 + new_human.equip_to_slot_or_del(new /obj/item/reagent_container/food/snacks/upp, WEAR_IN_BACK) //3.33 + new_human.equip_to_slot_or_del(new /obj/item/reagent_container/food/snacks/upp, WEAR_IN_BACK) //4 + new_human.equip_to_slot_or_del(new /obj/item/ammo_magazine/rifle/type71, WEAR_IN_BACK) //5 + //face + new_human.equip_to_slot_or_del(new /obj/item/device/radio/headset/distress/UPP/command, WEAR_L_EAR) + //head + new_human.equip_to_slot_or_del(new /obj/item/clothing/head/uppcap/beret, WEAR_HEAD) + //body + var/obj/item/clothing/under/marine/veteran/UPP/UPP = new() + var/obj/item/clothing/accessory/storage/webbing/W = new() + UPP.attach_accessory(new_human, W) + new_human.equip_to_slot_or_del(UPP, WEAR_BODY) + new_human.equip_to_slot_or_del(new /obj/item/clothing/accessory/patch/upp, WEAR_ACCESSORY) + new_human.equip_to_slot_or_del(new /obj/item/clothing/accessory/patch/upp/naval, WEAR_ACCESSORY) + new_human.equip_to_slot_or_del(new /obj/item/ammo_magazine/rifle/type71, WEAR_IN_ACCESSORY) + new_human.equip_to_slot_or_del(new /obj/item/ammo_magazine/rifle/type71, WEAR_IN_ACCESSORY) + new_human.equip_to_slot_or_del(new /obj/item/ammo_magazine/rifle/type71, WEAR_IN_ACCESSORY) + new_human.equip_to_slot_or_del(new /obj/item/clothing/suit/storage/marine/faction/UPP/heavy, WEAR_JACKET) + new_human.equip_to_slot_or_del(new /obj/item/device/binoculars/range, WEAR_IN_JACKET) + new_human.equip_to_slot_or_del(new /obj/item/weapon/gun/rifle/type71/flamer, WEAR_J_STORE) + //waist + new_human.equip_to_slot_or_del(new /obj/item/storage/belt/gun/type47/t73, WEAR_WAIST) + //limbs + new_human.equip_to_slot_or_del(new /obj/item/clothing/shoes/marine/upp/knife, WEAR_FEET) + new_human.equip_to_slot_or_del(new /obj/item/clothing/gloves/marine/veteran/upp, WEAR_HANDS) + //pockets + new_human.equip_to_slot_or_del(new /obj/item/storage/pouch/flamertank, WEAR_R_STORE) + new_human.equip_to_slot_or_del(new /obj/item/tool/extinguisher, WEAR_IN_R_STORE) + new_human.equip_to_slot_or_del(new /obj/item/tool/extinguisher, WEAR_IN_R_STORE) + new_human.equip_to_slot_or_del(new /obj/item/storage/pouch/firstaid/ert, WEAR_L_STORE) + /datum/equipment_preset/upp/leader/get_antag_clothing_equipment() return list( list("STANDARD EQUIPMENT (TAKE ALL)", 0, null, null, null), diff --git a/colonialmarines.dme b/colonialmarines.dme index a33853d3aa2a..7cfd715526a2 100644 --- a/colonialmarines.dme +++ b/colonialmarines.dme @@ -506,6 +506,10 @@ #include "code\datums\elements\traitbound\crawler.dm" #include "code\datums\elements\traitbound\gun_silenced.dm" #include "code\datums\elements\traitbound\leadership.dm" +#include "code\datums\emergency_calls\beacon-reinforcements\freelancers.dm" +#include "code\datums\emergency_calls\beacon-reinforcements\rmc.dm" +#include "code\datums\emergency_calls\beacon-reinforcements\upp.dm" +#include "code\datums\emergency_calls\beacon-reinforcements\vaipo.dm" #include "code\datums\emergency_calls\big_game_hunter.dm" #include "code\datums\emergency_calls\cbrn.dm" #include "code\datums\emergency_calls\clf.dm" @@ -1707,6 +1711,7 @@ #include "code\modules\cm_tech\techs\marine\tier2\orbital_ammo.dm" #include "code\modules\cm_tech\techs\marine\tier3\cryorine.dm" #include "code\modules\cm_tech\techs\marine\tier4\nuke.dm" +#include "code\modules\cm_tech\techs\marine\tier4\beacon-reinforcements" #include "code\modules\cm_tech\trees\marine.dm" #include "code\modules\customitems\item_spawning.dm" #include "code\modules\decorators\admin_runtime_decorator.dm" From a7187a4b4ad098e9fb3979c338ac581cf5591a0f Mon Sep 17 00:00:00 2001 From: Byte-Boxer <163357189+zc-byte-boxer@users.noreply.github.com> Date: Thu, 1 Aug 2024 12:29:01 -0700 Subject: [PATCH 05/13] updating beacon reinforcements PR --- .../beacon-reinforcements/freelancers.dm | 73 +++++++----- .../beacon-reinforcements/rmc.dm | 82 ++++++------- .../beacon-reinforcements/upp.dm | 112 ++++++++++-------- .../beacon-reinforcements/vaipo.dm | 103 ++++++++-------- ...einforcements => beacon_reinforcements.dm} | 10 +- code/modules/gear_presets/royal_marines.dm | 2 +- code/modules/gear_presets/upp.dm | 9 -- colonialmarines.dme | 3 +- 8 files changed, 205 insertions(+), 189 deletions(-) rename code/modules/cm_tech/techs/marine/tier4/{beacon-reinforcements => beacon_reinforcements.dm} (62%) diff --git a/code/datums/emergency_calls/beacon-reinforcements/freelancers.dm b/code/datums/emergency_calls/beacon-reinforcements/freelancers.dm index 26e36fa86519..60c5b7b9b18d 100644 --- a/code/datums/emergency_calls/beacon-reinforcements/freelancers.dm +++ b/code/datums/emergency_calls/beacon-reinforcements/freelancers.dm @@ -1,47 +1,58 @@ + + /datum/emergency_call/freelancer/beacon - name = "Freelancer Infantry (Squad) (Beacon)" - mob_max = 8 - max_medics = 1 + name = "Freelancer (Beacon Reinforcements)" + mob_max = 7 mob_min = 1 + max_engineers = 1 + max_medics = 1 spawn_max_amount = TRUE /datum/emergency_call/freelancer/beacon/New() - . = ..() - arrival_message = "[MAIN_SHIP_NAME], this is the Free Vessel Nellie. We'll take your contract for aid, coming soon." - objectives = "Render assistance towards the USCM. You've already been paid by the ship's automated systems.." + ..() + objectives = "Assist the USCM forces" + arrival_message = "[MAIN_SHIP_NAME], this is the Free Vessel Nellie. We've accepted your contract for aid and are coming aboard. Jolly ho!" + +/datum/emergency_call/freelancer/beacon/create_member(datum/mind/mind, turf/override_spawn_loc) + set waitfor = 0 + if(SSmapping.configs[GROUND_MAP].map_name == MAP_WHISKEY_OUTPOST) + name_of_spawn = /obj/effect/landmark/ert_spawns/distress_wo + var/turf/spawn_loc = override_spawn_loc ? override_spawn_loc : get_spawn_point() -/datum/emergency_call/freelancer/beacon/print_backstory(mob/living/carbon/human/spawning_mob) - to_chat(spawning_mob, SPAN_BOLD("You started off in the Neroid Sector as a colonist seeking work at one of the established colonies.")) - to_chat(spawning_mob, SPAN_BOLD("The withdrawl of United American forces in the early 2180s, the system fell into disarray.")) - to_chat(spawning_mob, SPAN_BOLD("Taking up arms as a mercenary, the Freelancers have become a powerful force of order in the system.")) - to_chat(spawning_mob, SPAN_BOLD("While they are motivated primarily by money, many colonists see the Freelancers as the main forces of order in the Neroid Sector.")) - to_chat(spawning_mob, SPAN_BOLD("Ensure they are not destroyed.")) + if(!istype(spawn_loc)) return //Didn't find a useable spawn point. + var/mob/living/carbon/human/human = new(spawn_loc) -/datum/emergency_call/freelancer/beacon/create_member(datum/mind/spawning_mind, turf/override_spawn_loc) - var/turf/spawn_loc = override_spawn_loc ? override_spawn_loc : get_spawn_point() + if(mind) + mind.transfer_to(human, TRUE) + else + human.create_hud() - if(!istype(spawn_loc)) - return //Didn't find a useable spawn point. + if(mob_max > length(members)) + announce_dchat("Some Freelancers were not taken, use the Join As Freed Mob verb to take one of them.") - 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 && (spawning_mind))) - leader = mob - arm_equipment(mob, /datum/equipment_preset/other/freelancer/beacon, TRUE, TRUE) - to_chat(mob, SPAN_ROLE_HEADER("You are an independent warlord, operating outside any nation's jursdiction.")) - else if(medics < max_medics && HAS_FLAG(mob.client.prefs.toggles_ert, PLAY_MEDIC) && check_timelock(mob.client, JOB_SQUAD_MEDIC, time_required_for_job && (spawning_mind))) + if(!leader && (!mind || (HAS_FLAG(human.client.prefs.toggles_ert, PLAY_LEADER) && check_timelock(human.client, JOB_SQUAD_LEADER, time_required_for_job)))) + leader = human + arm_equipment(human, /datum/equipment_preset/other/freelancer/leader/beacon, mind == null, TRUE) + to_chat(human, SPAN_ROLE_HEADER("You are a Warlord over your own mercenary band.")) + else if (medics < max_medics && (!mind || (HAS_FLAG(human.client.prefs.toggles_ert, PLAY_MEDIC) && check_timelock(human.client, JOB_SQUAD_MEDIC, time_required_for_job)))) medics++ - to_chat(mob, SPAN_ROLE_HEADER("You are an independent medic, operating as a mercenary for hire.")) - arm_equipment(mob, /datum/equipment_preset/other/freelancer/medic, TRUE, TRUE) - else if(spawning_mind) - to_chat(mob, SPAN_ROLE_HEADER("You are an independent mercenary, operating as a gun for hire.")) - arm_equipment(mob, /datum/equipment_preset/other/freelancer/beacon, TRUE, TRUE) + arm_equipment(human, /datum/equipment_preset/other/freelancer/medic, mind == null, TRUE) + to_chat(human, SPAN_ROLE_HEADER("You are a Medic within a mercenary band.")) + else + arm_equipment(human, /datum/equipment_preset/other/freelancer/beacon, mind == null, TRUE) + to_chat(human, SPAN_ROLE_HEADER("You are a Riflemen within a mercenary faction")) - print_backstory(mob) + print_backstory(human) sleep(10) if(!mind) - mob.free_for_ghosts() - to_chat(mob, SPAN_BOLD("Objectives: [objectives]")) + human.free_for_ghosts() + to_chat(human, SPAN_BOLD("Objectives: [objectives]")) + +/datum/emergency_call/freelancer/beacon/print_backstory(mob/living/carbon/human/human) + to_chat(human, SPAN_BOLD("You started off in the Neroid Sector as a colonist seeking work at one of the established colonies.")) + to_chat(human, SPAN_BOLD("The withdrawl of United American forces in the early 2180s, the system fell into disarray.")) + to_chat(human, SPAN_BOLD("Taking up arms as a mercenary, the Freelancers have become a powerful force of order in the system.")) + to_chat(human, SPAN_BOLD("While they are motivated primarily by money, many colonists see the Freelancers as the main forces of order in the Neroid Sector.")) diff --git a/code/datums/emergency_calls/beacon-reinforcements/rmc.dm b/code/datums/emergency_calls/beacon-reinforcements/rmc.dm index e12459c0f9d9..56ad28319b7f 100644 --- a/code/datums/emergency_calls/beacon-reinforcements/rmc.dm +++ b/code/datums/emergency_calls/beacon-reinforcements/rmc.dm @@ -1,57 +1,57 @@ -/datum/emergency_call/royal_marines/beacon - name = "Royal Marines Commandos (Beacon)" - mob_max = 8 + + +/datum/emergency_call/rmc/beacon + name = "RMC (Beacon Reinforcements)" + mob_max = 7 mob_min = 1 + max_engineers = 1 + max_medics = 1 spawn_max_amount = TRUE - home_base = /datum/lazy_template/ert/twe_station - shuttle_id = MOBILE_SHUTTLE_ID_ERT4 - name_of_spawn = /obj/effect/landmark/ert_spawns/distress_twe/beacon - item_spawn = /obj/effect/landmark/ert_spawns/distress_twe/item -/datum/emergency_call/royal_marines/beacon/New() +/datum/emergency_call/rmc/beacon/New() ..() - arrival_message = "[MAIN_SHIP_NAME], this is the HMS Kurtz of the Three World Empires. We've received your call and are enroute to aid." - objectives = "Ensure the survival of the [MAIN_SHIP_NAME], eliminate any hostiles, and assist the crew in any way possible." + objectives = "Assist the USCM forces" + arrival_message = "[MAIN_SHIP_NAME], this is the HMS Thames of the Three World Empires. We've received your call and are enroute to aid per the C2 Collaborative Defense Agreement." - -/datum/emergency_call/royal_marines/beacon/create_member(datum/mind/spawning_mind, turf/override_spawn_loc) +/datum/emergency_call/rmc/beacon/create_member(datum/mind/mind, turf/override_spawn_loc) + set waitfor = 0 + if(SSmapping.configs[GROUND_MAP].map_name == MAP_WHISKEY_OUTPOST) + name_of_spawn = /obj/effect/landmark/ert_spawns/distress_wo 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 && (!mind ))) - 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/lieuteant/beacon, TRUE, TRUE) - else if(spawning_mind) - 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/beacon, TRUE, TRUE) - + if(!istype(spawn_loc)) return //Didn't find a useable spawn point. + var/mob/living/carbon/human/human = new(spawn_loc) -/datum/emergency_call/royal_marines/beacon/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 knowledgable 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.")) + if(mind) + mind.transfer_to(human, TRUE) + else + human.create_hud() + if(mob_max > length(members)) + announce_dchat("Some Commandos were not taken, use the Join As Freed Mob verb to take one of them.") -/obj/effect/landmark/ert_spawns/distress_twe - name = "Distress_TWE" -/obj/effect/landmark/ert_spawns/distress_twe/item - name = "Distress_TWEItem" + if(!leader && (!mind || (HAS_FLAG(human.client.prefs.toggles_ert, PLAY_LEADER) && check_timelock(human.client, JOB_SQUAD_LEADER, time_required_for_job)))) + leader = human + arm_equipment(human, /datum/equipment_preset/twe/royal_marine/lieuteant/beacon, mind == null, TRUE) + to_chat(human, SPAN_ROLE_HEADER("You are a Officer in the RMC")) + else + arm_equipment(human, /datum/equipment_preset/twe/royal_marine/standard/beacon, mind == null, TRUE) + to_chat(human, SPAN_ROLE_HEADER("You are a Rifleman in the RMC")) + print_backstory(human) sleep(10) if(!mind) - mob.free_for_ghosts() - to_chat(mob, SPAN_BOLD("Objectives: [objectives]")) + human.free_for_ghosts() + to_chat(human, SPAN_BOLD("Objectives: [objectives]")) + +/datum/emergency_call/rmc/beacon/print_backstory(mob/living/carbon/human/human) + to_chat(human, 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(human, SPAN_BOLD("Joining the Royal Marines gave you a lot of combat experience and useful skills.")) + to_chat(human, SPAN_BOLD("You are [pick_weight(list("unaware" = 75, "faintly aware" = 15, "knoledgeable" = 10))] of the xenomorph threat.")) + to_chat(human, SPAN_BOLD("You are a citizen of the three world empire and joined the Royal Marines Commando")) + to_chat(human, SPAN_BOLD("You are apart of a jointed UA/TWE taskforce onboard the HMS Patna and Thunderchild.")) + to_chat(human, SPAN_BOLD("Under the directive of the RMC high command, you have been assisting USCM forces with maintaining peace in the area.")) + to_chat(human, SPAN_BOLD("Assist the USCMC Force of the [MAIN_SHIP_NAME] however you can.")) diff --git a/code/datums/emergency_calls/beacon-reinforcements/upp.dm b/code/datums/emergency_calls/beacon-reinforcements/upp.dm index 474314061764..73bf66788317 100644 --- a/code/datums/emergency_calls/beacon-reinforcements/upp.dm +++ b/code/datums/emergency_calls/beacon-reinforcements/upp.dm @@ -1,70 +1,78 @@ + + /datum/emergency_call/upp/beacon - name = "UPP Naval Infantry (Squad) (Beacon)" - mob_max = 6 + name = "UPP (Beacon Reinforcements)" + mob_max = 5 mob_min = 1 - spawn_max_amount = TRUE - shuttle_id = MOBILE_SHUTTLE_ID_ERT3 + max_engineers = 1 + max_medics = 1 home_base = /datum/lazy_template/ert/upp_station name_of_spawn = /obj/effect/landmark/ert_spawns/distress_upp item_spawn = /obj/effect/landmark/ert_spawns/distress_upp/item - max_medics = 1 - max_engineers = 1 + spawn_max_amount = TRUE /datum/emergency_call/upp/beacon/New() - . = ..() - arrival_message = "[MAIN_SHIP_NAME], this is the SVV Haldin of the Union of Progressive Peoples. We hear your call for reinforcements and are sending our forces to assist you." - objectives = "Render assistance towards the UA Forces, do not engage UA forces. Listen to your superior officers." + ..() + objectives = "Assist the USCM forces" + arrival_message = "[MAIN_SHIP_NAME], this is the SSV Haldin of the Union of Progressive Peoples. We hear your call for reinforcements and are sending our forces to assist you under International Law as outlined by the Treaty of Canton." -/datum/emergency_call/upp/beacon/print_backstory(mob/living/carbon/human/M) - if(ishuman_strict(M)) - to_chat(M, SPAN_BOLD("You grew up in relatively simple family in [pick(75;"Eurasia", 25;"a famished UPP colony")] with few belongings or luxuries.")) - to_chat(M, SPAN_BOLD("The family you grew up with were [pick(50;"getting by", 25;"impoverished", 25;"starving")] and you were one of [pick(10;"two", 20;"three", 20;"four", 30;"five", 20;"six")] children.")) - to_chat(M, SPAN_BOLD("You come from a long line of [pick(40;"crop-harvesters", 20;"soldiers", 20;"factory workers", 5;"scientists", 15;"engineers")], and quickly enlisted to improve your living conditions.")) - to_chat(M, SPAN_BOLD("Following your enlistment to the UPP military at the age of 17, you were assigned to the 17th 'Smoldering Sons' battalion (six hundred strong) under the command of Colonel Ganbaatar.")) - else - to_chat(M, SPAN_BOLD("You were brought online in a UPP engineering facility, knowing only your engineers for the first few weeks for your pseudo-life.")) - to_chat(M, SPAN_BOLD("You were programmed with all of the medical and combat experience a military fighting force support asset required.")) - to_chat(M, SPAN_BOLD("Throughout your career, your engineers, and later, your UPP compatriots, treated you like [pick(75;"a tool, and only that.", 25;"a person, despite your purpose.")]")) - to_chat(M, SPAN_BOLD("Some weeks after your unit integration, you were assigned to the 17th 'Smoldering Sons' battalion (six hundred strong) under the command of Colonel Ganbaatar.")) - to_chat(M, SPAN_BOLD("You were shipped off with the battalion to one of the UPP's most remote territories, a gas giant designated MV-35 in the Anglo-Japanese Arm, in the Neroid Sector.")) - to_chat(M, SPAN_BOLD("For the past 14 months, you and the rest of the Smoldering Sons have been stationed at MV-35's only facility, the helium refinery, Altai Station.")) - to_chat(M, SPAN_BOLD("As MV-35 and Altai Station are the only UPP-held zones in the Neroid Sector for many lightyears, you have spent most of your military career holed up in crammed quarters in near darkness, waiting for supply shipments and transport escort deployments.")) - to_chat(M, SPAN_BOLD("With the recent arrival of the USCM battalion the 'Falling Falcons' and their flagship, the [MAIN_SHIP_NAME], the UPP has felt threatened in the sector.")) - to_chat(M, SPAN_BOLD("Despite this, the leadership of your battalion questions what may have prompted the distress signal from their rivals. Your squad is to find out why and to render aid to the beleaguered UA forces.")) - to_chat(M, SPAN_WARNING(FONT_SIZE_BIG("Glory to Colonel Ganbaatar."))) - to_chat(M, SPAN_WARNING(FONT_SIZE_BIG("Glory to the Smoldering Sons."))) - to_chat(M, SPAN_WARNING(FONT_SIZE_BIG("Glory to the UPP."))) +/datum/emergency_call/upp/beacon/create_member(datum/mind/mind, turf/override_spawn_loc) + set waitfor = 0 + if(SSmapping.configs[GROUND_MAP].map_name == MAP_WHISKEY_OUTPOST) + name_of_spawn = /obj/effect/landmark/ert_spawns/distress_wo + var/turf/spawn_loc = override_spawn_loc ? override_spawn_loc : get_spawn_point() -///////////////////UPP/////////////////////////// + if(!istype(spawn_loc)) return //Didn't find a useable spawn point. -/datum/emergency_call/upp/beacon/create_member(datum/mind/M, turf/override_spawn_loc) - var/turf/spawn_loc = override_spawn_loc ? override_spawn_loc : get_spawn_point() + var/mob/living/carbon/human/human = new(spawn_loc) + + if(mind) + mind.transfer_to(human, TRUE) + else + human.create_hud() + + if(mob_max > length(members)) + announce_dchat("Some UPP were not taken, use the Join As Freed Mob verb to take one of them.") - 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(H.client, JOB_SQUAD_LEADER, time_required_for_job&& (spawning_mind))) - leader = mob - arm_equipment(mob, /datum/equipment_preset/upp/leader/beacon, TRUE, TRUE) - to_chat(mob, SPAN_ROLE_HEADER("You are an Officer of the Union of Progressive People, a powerful socialist state that rivals the United Americas!")) - else if(medics < max_medics && HAS_FLAG(mob.client.prefs.toggles_ert, PLAY_MEDIC) && check_timelock(H.client, JOB_SQUAD_MEDIC, time_required_for_job&& (spawning_mind))) + if(!leader && (!mind || (HAS_FLAG(human.client.prefs.toggles_ert, PLAY_LEADER) && check_timelock(human.client, JOB_SQUAD_LEADER, time_required_for_job)))) + leader = human + arm_equipment(human, /datum/equipment_preset/upp/leader/beacon, mind == null, TRUE) + to_chat(human, SPAN_ROLE_HEADER("You are a Squad Leader in the UPP")) + else if (medics < max_medics && (!mind || (HAS_FLAG(human.client.prefs.toggles_ert, PLAY_MEDIC) && check_timelock(human.client, JOB_SQUAD_MEDIC, time_required_for_job)))) medics++ - to_chat(mob, SPAN_ROLE_HEADER("You are a Medic of the Union of Progressive People, a powerful socialist state that rivals the United Americas!")) - arm_equipment(mob, /datum/equipment_preset/upp/medic/beacon, TRUE, TRUE) - else if(engineers < engineers && HAS_FLAG(mob.client.prefs.toggles_ert, PLAY_ENGINEER) && check_timelock(H.client, JOB_SQUAD_ENGI, time_required_for_job&& (spawning_mind))) + arm_equipment(human, /datum/equipment_preset/upp/medic/beacon, mind == null, TRUE) + to_chat(human, SPAN_ROLE_HEADER("You are a Medic in the UPP")) + else if (engineers < max_engineers && (!mind || (HAS_FLAG(human.client.prefs.toggles_ert, PLAY_ENGINEER) && check_timelock(human.client, JOB_SQUAD_ENGI, time_required_for_job)))) engineers++ - to_chat(mob, SPAN_ROLE_HEADER("You are a Sapper of the Union of Progressive People, a powerful socialist state that rivals the United Americas!")) - arm_equipment(mob, /datum/equipment_preset/upp/sapper/beacon, TRUE, TRUE) - else if(spawning_mind) - to_chat(mob, SPAN_ROLE_HEADER("You are a soldier of the Union of Progressive People, a powerful socialist state that rivals the United Americas!")) - arm_equipment(mob, /datum/equipment_preset/upp/soldier/beacon, TRUE, TRUE) + arm_equipment(human, /datum/equipment_preset/upp/sapper/beacon, mind == null, TRUE) + to_chat(human, SPAN_ROLE_HEADER("You are a Sapper in the UPP")) + else + arm_equipment(human, /datum/equipment_preset/upp/soldier/beacon, mind == null, TRUE) + to_chat(human, SPAN_ROLE_HEADER("You are a Soldier in the UPP")) - print_backstory(mob) + print_backstory(human) sleep(10) - if(!spawning_mind) - mob.free_for_ghosts() - to_chat(mob, SPAN_BOLD("Objectives: [objectives]")) + if(!mind) + human.free_for_ghosts() + to_chat(human, SPAN_BOLD("Objectives: [objectives]")) + + +/datum/emergency_call/upp/beacon/print_backstory(mob/living/carbon/human/human) + if(ishuman_strict(human)) + to_chat(human, SPAN_BOLD("You grew up in relatively simple family in [pick(75;"Eurasia", 25;"a famished UPP colony")] with few belongings or luxuries.")) + to_chat(human, SPAN_BOLD("The family you grew up with were [pick(50;"getting by", 25;"impoverished", 25;"starving")] and you were one of [pick(10;"two", 20;"three", 20;"four", 30;"five", 20;"six")] children.")) + to_chat(human, SPAN_BOLD("You come from a long line of [pick(40;"crop-harvesters", 20;"soldiers", 20;"factory workers", 5;"scientists", 15;"engineers")], and quickly enlisted to improve your living conditions.")) + to_chat(human, SPAN_BOLD("Following your enlistment to the UPP military at the age of 17, you were assigned to the 17th 'Smoldering Sons' battalion (six hundred strong) under the command of Colonel Ganbaatar.")) + else + to_chat(human, SPAN_BOLD("You were brought online in a UPP engineering facility, knowing only your engineers for the first few weeks for your pseudo-life.")) + to_chat(human, SPAN_BOLD("You were programmed with all of the medical and combat experience a military fighting force support asset required.")) + to_chat(human, SPAN_BOLD("Throughout your career, your engineers, and later, your UPP compatriots, treated you like [pick(75;"a tool, and only that.", 25;"a person, despite your purpose.")]")) + to_chat(human, SPAN_BOLD("Some weeks after your unit integration, you were assigned to the 17th 'Smoldering Sons' battalion (six hundred strong) under the command of Colonel Ganbaatar.")) + to_chat(human, SPAN_BOLD("You were shipped off with the battalion to one of the UPP's most remote territories, a gas giant designated MV-35 in the Anglo-Japanese Arm, in the Neroid Sector.")) + to_chat(human, SPAN_BOLD("For the past 14 months, you and the rest of the Smoldering Sons have been stationed at MV-35's only facility, the helium refinery, Altai Station.")) + to_chat(human, SPAN_BOLD("As MV-35 and Altai Station are the only UPP-held zones in the Neroid Sector for many lightyears, you have spent most of your military career holed up in crammed quarters in near darkness, waiting for supply shipments and transport escort deployments.")) + to_chat(human, SPAN_BOLD("With the recent arrival of the USCM battalion the 'Falling Falcons' and their flagship, the [MAIN_SHIP_NAME], the UPP has felt threatened in the sector.")) + to_chat(human, SPAN_BOLD("Despite your mistrust, you've received an open transmission about a Xenomorph outbreak and are coming to assist the USCM.")) diff --git a/code/datums/emergency_calls/beacon-reinforcements/vaipo.dm b/code/datums/emergency_calls/beacon-reinforcements/vaipo.dm index 1c0af943d77e..3251d6a3be28 100644 --- a/code/datums/emergency_calls/beacon-reinforcements/vaipo.dm +++ b/code/datums/emergency_calls/beacon-reinforcements/vaipo.dm @@ -1,24 +1,25 @@ -/datum/emergency_call/contractors/beacon - name = "Military Contractors (Squad) (Friendly) (Beacon)" - mob_max = 6 - max_engineers = 1 - max_medics = 1 + + +/datum/emergency_call/vaipo/beacon + name = "VAIPO (Beacon Reinforcements)" + mob_max = 5 mob_min = 1 + max_engineers = 1 + max_medics = 1 spawn_max_amount = TRUE - -/datum/emergency_call/contractors/beacon/New() +/datum/emergency_call/vaipo/beacon/New() ..() - arrival_message = "[MAIN_SHIP_NAME], this is USCSS Verloc with Vanguard's Arrow Incorporated, Primary Operations; we read your signal, leathernecks, and are coming to aid." - objectives = "Ensure the survival of the [MAIN_SHIP_NAME], eliminate any hostiles, and assist the crew in any way possible." - + objectives = "Assist the USCM forces" + arrival_message = "[MAIN_SHIP_NAME], this is USCSS Verloc with Vanguard's Arrow Incorporated, Primary Operations; we read your signal, leathernecks, and are coming to aid in accordance with the Military Aid Act of 2177." -/datum/emergency_call/contractors/beacon/create_member(datum/mind/M, turf/override_spawn_loc) +/datum/emergency_call/vaipo/beacon/create_member(datum/mind/mind, turf/override_spawn_loc) + set waitfor = 0 + if(SSmapping.configs[GROUND_MAP].map_name == MAP_WHISKEY_OUTPOST) + name_of_spawn = /obj/effect/landmark/ert_spawns/distress_wo 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. - + if(!istype(spawn_loc)) return //Didn't find a useable spawn point. var/mob/living/carbon/human/human = new(spawn_loc) @@ -27,45 +28,51 @@ else human.create_hud() - if(!leader && HAS_FLAG(mob.client.prefs.toggles_ert, PLAY_LEADER) && check_timelock(mob.client, JOB_SQUAD_LEADER, time_required_for_job && (!mind ))) - leader = mob - to_chat(mob, SPAN_ROLE_HEADER("You are a Contractor Team Leader of Vanguard's Arrow Incorporated!")) - arm_equipment(mob, /datum/equipment_preset/contractor/duty/leader/beacon, TRUE, TRUE) - else if(medics < max_medics && HAS_FLAG(mob.client.prefs.toggles_ert, PLAY_MEDIC) && check_timelock(mob.client, JOB_SQUAD_MEDIC, time_required_for_job && (!mind ))) + if(mob_max > length(members)) + announce_dchat("Some VAIPO were not taken, use the Join As Freed Mob verb to take one of them.") + + + + if(!leader && (!mind || (HAS_FLAG(human.client.prefs.toggles_ert, PLAY_LEADER) && check_timelock(human.client, JOB_SQUAD_LEADER, time_required_for_job)))) + leader = human + arm_equipment(human, /datum/equipment_preset/contractor/duty/leader/beacon, mind == null, TRUE) + to_chat(human, SPAN_ROLE_HEADER("You are a Squad Leader in VAIPO")) + else if (medics < max_medics && (!mind || (HAS_FLAG(human.client.prefs.toggles_ert, PLAY_MEDIC) && check_timelock(human.client, JOB_SQUAD_MEDIC, time_required_for_job)))) medics++ - to_chat(mob, SPAN_ROLE_HEADER("You are a Contractor Medical Specialist of Vanguard's Arrow Incorporated!")) - arm_equipment(mob, /datum/equipment_preset/contractor/duty/medic/beacon, TRUE, TRUE) - else if(engineers < max_engineers && HAS_FLAG(mob.client.prefs.toggles_ert, PLAY_ENGINEER) && check_timelock(mob.client, JOB_SQUAD_ENGI) && (spawning_mind)) + arm_equipment(human, /datum/equipment_preset/contractor/duty/medic/beacon, mind == null, TRUE) + to_chat(human, SPAN_ROLE_HEADER("You are a Combat Medic in VAIPO")) + else if (engineers < max_engineers && (!mind || (HAS_FLAG(human.client.prefs.toggles_ert, PLAY_ENGINEER) && check_timelock(human.client, JOB_SQUAD_ENGI, time_required_for_job)))) engineers++ - to_chat(mob, SPAN_ROLE_HEADER("You are a Contractor Engineering Specialist of Vanguard's Arrow Incorporated!")) - arm_equipment(mob, /datum/equipment_preset/contractor/duty/engi/beacon, TRUE, TRUE) - else(spawning_mind) - to_chat(mob, SPAN_ROLE_HEADER("You are a Contractor of Vanguard's Arrow Incorporated!")) - arm_equipment(mob, /datum/equipment_preset/contractor/duty/standard/beacon, TRUE, TRUE) - - -/datum/emergency_call/contractors/beacon/print_backstory(mob/living/carbon/human/M) - if(ishuman_strict(M)) - to_chat(M, SPAN_BOLD("You were born [pick(60;"in the United States", 20;"on Earth", 20;"on a colony")] to a [pick(75;"average", 15;"poor", 10;"well-established")] family.")) - to_chat(M, SPAN_BOLD("Joining the USCM gave you a lot of combat experience and useful skills but changed you.")) - to_chat(M, SPAN_BOLD("After getting out, you couldn't hold a job with the things you saw and did, deciding to put your skills to use you joined a Military Contractor firm.")) - to_chat(M, SPAN_BOLD("You are a skilled mercenary, making better pay than in the Corps.")) + arm_equipment(human, /datum/equipment_preset/contractor/duty/engi/beacon, mind == null, TRUE) + to_chat(human, SPAN_ROLE_HEADER("You are an Engineer in VAIPO")) else - to_chat(M, SPAN_BOLD("You were brought online in a civilian factory.")) - to_chat(M, SPAN_BOLD("You were programmed with all of the medical and engineering knowledge a military fighting force support asset required.")) - to_chat(M, SPAN_BOLD("You were soon after bought by Vanguard's Arrow Incorporated(VAI) to act as support personnel.")) - to_chat(M, SPAN_BOLD("Some months after your purchase, you were assigned to the USCSS Inheritor, a VAI transport vessel.")) - to_chat(M, SPAN_BOLD("You are [pick(80;"unaware", 15;"faintly aware", 5;"knowledgeable")] of the xenomorph threat.")) - to_chat(M, SPAN_BOLD("You are employed by Vanguard's Arrow Incorporated(VAI), as a member of VAI Primary Operations(VAIPO)")) - to_chat(M, SPAN_BOLD("You are stationed on-board the USCSS Inheritor, a part of VAIPO Task-Force Charlie.")) - to_chat(M, SPAN_BOLD("Under the directive of the VAI executive board, you have been assist in riot control, military aid, and to assist USCMC forces wherever possible.")) - to_chat(M, SPAN_BOLD("The USCSS Inheritor is staffed with crew of roughly three hundred military contractors, and fifty support personnel.")) - to_chat(M, SPAN_BOLD("Assist the USCMC Force of the [MAIN_SHIP_NAME] however you can.")) - to_chat(M, SPAN_BOLD("As a side-objective, VAI has been hired by an unknown benefactor to engage in corporate espionage and sabotage against Weyland-Yutani, avoid direct conflict; you aren't VAISO; but attempt to recover Wey-Yu secrets and plans if possible.")) - - print_backstory(mob) + arm_equipment(human, /datum/equipment_preset/contractor/duty/standard/beacon, mind == null, TRUE) + + print_backstory(human) sleep(10) if(!mind) human.free_for_ghosts() to_chat(human, SPAN_BOLD("Objectives: [objectives]")) + + + +/datum/emergency_call/vaipo/beacon/print_backstory(mob/living/carbon/human/human) + if(ishuman_strict(human)) + to_chat(human, SPAN_BOLD("You were born [pick(60;"in the United States", 20;"on Earth", 20;"on a colony")] to a [pick(75;"average", 15;"poor", 10;"well-established")] family.")) + to_chat(human, SPAN_BOLD("Joining the USCM gave you a lot of combat experience and useful skills but changed you.")) + to_chat(human, SPAN_BOLD("After getting out, you couldn't hold a job with the things you saw and did, deciding to put your skills to use you joined a Military Contractor firm.")) + to_chat(human, SPAN_BOLD("You are a skilled mercenary, making better pay than in the Corps.")) + else + to_chat(human, SPAN_BOLD("You were brought online in a civilian factory.")) + to_chat(human, SPAN_BOLD("You were programmed with all of the medical and engineering knowledge a military fighting force support asset required.")) + to_chat(human, SPAN_BOLD("You were soon after bought by Vanguard's Arrow Incorporated(VAI) to act as support personnel.")) + to_chat(human, SPAN_BOLD("Some months after your purchase, you were assigned to the USCSS Inheritor, a VAI transport vessel.")) + to_chat(human, SPAN_BOLD("You are [pick(80;"unaware", 15;"faintly aware", 5;"knowledgeable")] of the xenomorph threat.")) + to_chat(human, SPAN_BOLD("You are employed by Vanguard's Arrow Incorporated(VAI), as a member of VAI Primary Operations(VAIPO)")) + to_chat(human, SPAN_BOLD("You are stationed on-board the USCSS Inheritor, a part of VAIPO Task-Force Charlie.")) + to_chat(human, SPAN_BOLD("Under the directive of the VAI executive board, you have been assist in riot control, military aid, and to assist USCMC forces wherever possible.")) + to_chat(human, SPAN_BOLD("The USCSS Inheritor is staffed with crew of roughly three hundred military contractors, and fifty support personnel.")) + to_chat(human, SPAN_BOLD("Assist the USCMC Force of the [MAIN_SHIP_NAME] however you can.")) + to_chat(human, SPAN_BOLD("As a side-objective, VAI has been hired by an unknown benefactor to engage in corporate espionage and sabotage against Weyland-Yutani, avoid direct conflict; you aren't VAISO; but attempt to recover Wey-Yu secrets and plans if possible.")) + to_chat(human, SPAN_BOLD("Your Task Force has been on patrol within the Neroid sector, and recieved a call for reinforcements from the USS Almayer.")) diff --git a/code/modules/cm_tech/techs/marine/tier4/beacon-reinforcements b/code/modules/cm_tech/techs/marine/tier4/beacon_reinforcements.dm similarity index 62% rename from code/modules/cm_tech/techs/marine/tier4/beacon-reinforcements rename to code/modules/cm_tech/techs/marine/tier4/beacon_reinforcements.dm index 39f5dc5cdf16..2d2bbc82c34f 100644 --- a/code/modules/cm_tech/techs/marine/tier4/beacon-reinforcements +++ b/code/modules/cm_tech/techs/marine/tier4/beacon_reinforcements.dm @@ -1,7 +1,7 @@ /datum/tech/beacon name = "Call For Reinforcements" - desc = "Activate the [MAIN_SHIP_NAME]'s long range transmitters to call for reinforcements." + desc = "Activate the long range transmitters to call for reinforcements." icon_state = "beacon" announce_message = "ARES is activating its long range transmitters to call for reinforcements. Standby..." @@ -16,10 +16,10 @@ var/pick_reinforcements = rand(1,4) switch(pick_reinforcements) if(1) - SSticker.mode.get_specific_call(/datum/emergency_call/freelancer/beacon, TRUE, FALSE) + SSticker.mode.get_specific_call(/datum/emergency_call/freelancer/beacon, TRUE, TRUE) if(2) - SSticker.mode.get_specific_call(/datum/emergency_call/royal_marines/beacon, TRUE, FALSE) + SSticker.mode.get_specific_call(/datum/emergency_call/rmc/beacon, TRUE, TRUE) if(3) - SSticker.mode.get_specific_call(/datum/emergency_call/upp/beacon, TRUE, FALSE) + SSticker.mode.get_specific_call(/datum/emergency_call/upp/beacon, TRUE, TRUE) if(4) - SSticker.mode.get_specific_call(/datum/emergency_call/contractors/beacon, TRUE, FALSE) + SSticker.mode.get_specific_call(/datum/emergency_call/vaipo/beacon, TRUE, TRUE) diff --git a/code/modules/gear_presets/royal_marines.dm b/code/modules/gear_presets/royal_marines.dm index 2d0f6a6dfca9..9b6f9baea9e9 100644 --- a/code/modules/gear_presets/royal_marines.dm +++ b/code/modules/gear_presets/royal_marines.dm @@ -378,7 +378,7 @@ new_human.equip_to_slot_or_del(new /obj/item/device/defibrillator, 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/storage/box/packet/rmc/incin, WEAR_IN_BACK) - new_human.equip_to_slot_or_del(new /obj/item/storage/box/packet/rmc/he, WEAR_IN_BACK) + new_human.equip_to_slot_or_del(new /obj/item/storage/box/packet/incendiary, WEAR_IN_BACK) new_human.equip_to_slot_or_del(new /obj/item/storage/pouch/firstaid/full/alternate, WEAR_L_STORE) new_human.equip_to_slot_or_del(new /obj/item/storage/pouch/firstaid/full, WEAR_R_STORE) diff --git a/code/modules/gear_presets/upp.dm b/code/modules/gear_presets/upp.dm index a8afabc5c8b4..0fd1bd758537 100644 --- a/code/modules/gear_presets/upp.dm +++ b/code/modules/gear_presets/upp.dm @@ -952,15 +952,6 @@ if(SSmapping.configs[GROUND_MAP].environment_traits[MAP_COLD]) new_human.equip_to_slot_or_del(new /obj/item/clothing/mask/rebreather/scarf/tacticalmask/green, WEAR_FACE) -/datum/equipment_preset/upp/leader - name = "UPP Squad Leader" - flags = EQUIPMENT_PRESET_EXTRA - - skills = /datum/skills/upp/SL - assignment = JOB_UPP_LEADER - rank = JOB_UPP_LEADER - role_comm_title = "SL" - paygrade = PAY_SHORT_UE6 /datum/equipment_preset/upp/leader/beacon/load_gear(mob/living/carbon/human/new_human) //back diff --git a/colonialmarines.dme b/colonialmarines.dme index 7cfd715526a2..cd2fbb87a12a 100644 --- a/colonialmarines.dme +++ b/colonialmarines.dme @@ -546,7 +546,6 @@ #include "code\datums\emergency_calls\xeno_cultists.dm" #include "code\datums\emergency_calls\xenos.dm" #include "code\datums\emergency_calls\zombie.dm" -#include "code\datums\emergency_calls\beacon-reinforcements\freelancers.dm" #include "code\datums\entities\chemical_information.dm" #include "code\datums\entities\clans.dm" #include "code\datums\entities\discord_identifier.dm" @@ -1711,7 +1710,7 @@ #include "code\modules\cm_tech\techs\marine\tier2\orbital_ammo.dm" #include "code\modules\cm_tech\techs\marine\tier3\cryorine.dm" #include "code\modules\cm_tech\techs\marine\tier4\nuke.dm" -#include "code\modules\cm_tech\techs\marine\tier4\beacon-reinforcements" +#include "code\modules\cm_tech\techs\marine\tier4\beacon_reinforcements.dm" #include "code\modules\cm_tech\trees\marine.dm" #include "code\modules\customitems\item_spawning.dm" #include "code\modules\decorators\admin_runtime_decorator.dm" From e18c54e535e60c4b62d5ccc733674e5a20fd613c Mon Sep 17 00:00:00 2001 From: Byte-Boxer <163357189+zc-byte-boxer@users.noreply.github.com> Date: Thu, 1 Aug 2024 12:33:31 -0700 Subject: [PATCH 06/13] changing proc path --- code/datums/emergency_calls/cryo_marines.dm | 18 +++++++++--------- 1 file changed, 9 insertions(+), 9 deletions(-) diff --git a/code/datums/emergency_calls/cryo_marines.dm b/code/datums/emergency_calls/cryo_marines.dm index f8bb67e783a0..662041181d34 100644 --- a/code/datums/emergency_calls/cryo_marines.dm +++ b/code/datums/emergency_calls/cryo_marines.dm @@ -92,10 +92,18 @@ probability = 0 max_engineers = 8 +/datum/emergency_call/cryo_squad/tech // Actual techweb cryorines + name = "Marine Cryo Reinforcements (Tech)" + mob_max = 6 + max_engineers = 2 + max_medics = 2 + max_smartgunners = 1 + max_heavies = 0 + /obj/effect/landmark/ert_spawns/distress_cryo name = "Distress_Cryo" -/proc/get_marines() +/datum/emergency_call/cryo_squad/tech/proc/get_marines() var/pop_scale = 0 var/count = 0 @@ -113,14 +121,6 @@ return pop_scale -/datum/emergency_call/cryo_squad/tech // Actual techweb cryorines - name = "Marine Cryo Reinforcements (Tech)" - mob_max = 6 - max_engineers = 2 - max_medics = 2 - max_smartgunners = 1 - max_heavies = 0 - /datum/emergency_call/cryo_squad/tech/New() . = ..() var/pop_scale = get_marines() From e1d13afab3edbe14bc5c250c0cac8952469c5115 Mon Sep 17 00:00:00 2001 From: Byte-Boxer <163357189+zc-byte-boxer@users.noreply.github.com> Date: Thu, 1 Aug 2024 12:55:01 -0700 Subject: [PATCH 07/13] linters/makes loadouts work hopefully --- .../beacon-reinforcements/vaipo.dm | 1 + code/datums/emergency_calls/cryo_marines.dm | 32 +- code/modules/gear_presets/contractor.dm | 46 +++ code/modules/gear_presets/other.dm | 2 +- code/modules/gear_presets/royal_marines.dm | 16 +- code/modules/gear_presets/upp.dm | 307 ++++++++++-------- 6 files changed, 242 insertions(+), 162 deletions(-) diff --git a/code/datums/emergency_calls/beacon-reinforcements/vaipo.dm b/code/datums/emergency_calls/beacon-reinforcements/vaipo.dm index 3251d6a3be28..18d38d3ed785 100644 --- a/code/datums/emergency_calls/beacon-reinforcements/vaipo.dm +++ b/code/datums/emergency_calls/beacon-reinforcements/vaipo.dm @@ -47,6 +47,7 @@ to_chat(human, SPAN_ROLE_HEADER("You are an Engineer in VAIPO")) else arm_equipment(human, /datum/equipment_preset/contractor/duty/standard/beacon, mind == null, TRUE) + to_chat(human, SPAN_ROLE_HEADER("You are a Riflemen in VAIPO")) print_backstory(human) diff --git a/code/datums/emergency_calls/cryo_marines.dm b/code/datums/emergency_calls/cryo_marines.dm index 662041181d34..331f7c90f271 100644 --- a/code/datums/emergency_calls/cryo_marines.dm +++ b/code/datums/emergency_calls/cryo_marines.dm @@ -104,22 +104,22 @@ name = "Distress_Cryo" /datum/emergency_call/cryo_squad/tech/proc/get_marines() - var/pop_scale = 0 - var/count = 0 - - for (var/mob/living/carbon/human/H in GLOB.human_mob_list) - if (H.faction == FACTION_MARINE) - count++ - - switch(count) - if(95 to 104) - pop_scale = 2 - if(105 to 114) - pop_scale = 4 - if(115 to 350) - pop_scale = 6 - - return pop_scale + var/pop_scale = 0 + var/count = 0 + + for (var/mob/living/carbon/human/H in GLOB.human_mob_list) + if (H.faction == FACTION_MARINE) + count++ + + switch(count) + if(95 to 104) + pop_scale = 2 + if(105 to 114) + pop_scale = 4 + if(115 to 350) + pop_scale = 6 + + return pop_scale /datum/emergency_call/cryo_squad/tech/New() . = ..() diff --git a/code/modules/gear_presets/contractor.dm b/code/modules/gear_presets/contractor.dm index b14dbcf17f75..d4f4f152eb55 100644 --- a/code/modules/gear_presets/contractor.dm +++ b/code/modules/gear_presets/contractor.dm @@ -155,6 +155,18 @@ new_human.equip_to_slot_or_del(new /obj/item/ammo_magazine/rifle/m41aMK1, WEAR_IN_R_STORE) new_human.equip_to_slot_or_del(new /obj/item/ammo_magazine/rifle/m41aMK1, WEAR_IN_BACK) + +/datum/equipment_preset/contractor/duty/standard/beacon + name = "Military Contractor (Standard)" + paygrade = PAY_SHORT_VAI_S + role_comm_title = "Merc" + flags = EQUIPMENT_PRESET_EXTRA + assignment = "VAIPO Mercenary" + rank = JOB_CONTRACTOR_ST + skills = /datum/skills/contractor + faction = FACTION_CONTRACTOR + + /datum/equipment_preset/contractor/duty/standard/beacon/load_gear(mob/living/carbon/human/new_human) new_human.equip_to_slot_or_del(new headset_type, WEAR_L_EAR) new_human.equip_to_slot_or_del(new /obj/item/clothing/under/tshirt/gray_blu, WEAR_BODY) @@ -279,6 +291,19 @@ new_human.equip_to_slot_or_del(new /obj/item/storage/box/attachments(new_human), WEAR_IN_BACK) new_human.equip_to_slot_or_del(new /obj/item/explosive/grenade/high_explosive/m15, WEAR_IN_BACK) + +/datum/equipment_preset/contractor/duty/engi/beacon + name = "Military Contractor (Engineer)" + paygrade = PAY_SHORT_VAI_E + + role_comm_title = "Eng" + flags = EQUIPMENT_PRESET_EXTRA + + assignment = "VAIPO Engineering Specialist" + rank = JOB_CONTRACTOR_ENGI + skills = /datum/skills/contractor/engi + faction = FACTION_CONTRACTOR + /datum/equipment_preset/contractor/duty/engi/beacon/load_gear(mob/living/carbon/human/new_human) new_human.equip_to_slot_or_del(new /obj/item/clothing/under/tshirt/w_br, WEAR_BODY) new_human.equip_to_slot_or_del(new /obj/item/clothing/accessory/holobadge/cord, WEAR_ACCESSORY) @@ -353,6 +378,16 @@ new_human.equip_to_slot_or_del(new /obj/item/ammo_magazine/rifle/mar40/extended, WEAR_IN_BACK) new_human.equip_to_slot_or_del(new /obj/item/ammo_magazine/rifle/mar40, WEAR_IN_BACK) +/datum/equipment_preset/contractor/duty/medic/beacon + name = "Military Contractor (Medic)" + paygrade = PAY_SHORT_VAI_M + role_comm_title = "Med" + flags = EQUIPMENT_PRESET_EXTRA + + assignment = "VAIMS Medical Specialist" + rank = JOB_CONTRACTOR_MEDIC + skills = /datum/skills/contractor/medic + faction = FACTION_CONTRACTOR /datum/equipment_preset/contractor/duty/medic/beacon/load_gear(mob/living/carbon/human/new_human) //clothing @@ -436,6 +471,17 @@ new_human.equip_to_slot_or_del(new /obj/item/tool/crowbar/tactical, WEAR_IN_BACK) new_human.equip_to_slot_or_del(new /obj/item/storage/box/attachments, WEAR_IN_BACK) +/datum/equipment_preset/contractor/duty/leader/beacon + name = "Military Contractor (Leader)" + paygrade = PAY_SHORT_VAI_L + role_comm_title = "TL" + flags = EQUIPMENT_PRESET_EXTRA + + assignment = "VAIPO Team Leader" + rank = JOB_CONTRACTOR_TL + skills = /datum/skills/contractor/leader + faction = FACTION_CONTRACTOR + /datum/equipment_preset/contractor/duty/leader/beacon/load_gear(mob/living/carbon/human/new_human) //clothes new_human.equip_to_slot_or_del(new headset_type, WEAR_L_EAR) diff --git a/code/modules/gear_presets/other.dm b/code/modules/gear_presets/other.dm index 1d91231e821f..b1e08e11879d 100644 --- a/code/modules/gear_presets/other.dm +++ b/code/modules/gear_presets/other.dm @@ -319,7 +319,7 @@ skills = /datum/skills/freelancer/SL -/datum/equipment_preset/other/freelancer/leader/load_gear(mob/living/carbon/human/new_human) +/datum/equipment_preset/other/freelancer/leader/beacon/load_gear(mob/living/carbon/human/new_human) //No random helmet, so that it's more clear that he's the leader new_human.equip_to_slot_or_del(new /obj/item/clothing/under/marine/veteran/freelancer, WEAR_BODY) diff --git a/code/modules/gear_presets/royal_marines.dm b/code/modules/gear_presets/royal_marines.dm index 9b6f9baea9e9..ce96a2b6e596 100644 --- a/code/modules/gear_presets/royal_marines.dm +++ b/code/modules/gear_presets/royal_marines.dm @@ -339,7 +339,6 @@ // Below is presets for the beacon reinforcements. // //*****************************************************************************************************/ - /datum/equipment_preset/twe/royal_marine/standard/beacon name = "TWE Royal Marine Commando (Rifleman)" paygrade = PAY_SHORT_RMC1 @@ -349,7 +348,7 @@ rank = JOB_TWE_RMC_RIFLEMAN skills = /datum/skills/rmc -/datum/equipment_preset/twe/royal_marine/standard/load_gear(mob/living/carbon/human/new_human) +/datum/equipment_preset/twe/royal_marine/standard/bedacon/load_gear(mob/living/carbon/human/new_human) new_human.equip_to_slot_or_del(new headset_type, WEAR_L_EAR) new_human.equip_to_slot_or_del(new /obj/item/clothing/head/helmet/marine/veteran/royal_marine, WEAR_HEAD) new_human.equip_to_slot_or_del(new /obj/item/clothing/under/marine/veteran/royal_marine, WEAR_BODY) @@ -377,13 +376,13 @@ new_human.equip_to_slot_or_del(new /obj/item/storage/firstaid/surgical, WEAR_IN_BACK) new_human.equip_to_slot_or_del(new /obj/item/device/defibrillator, 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/storage/box/packet/rmc/incin, WEAR_IN_BACK) + new_human.equip_to_slot_or_del(new /obj/item/storage/box/packet/high_explosive, WEAR_IN_BACK) new_human.equip_to_slot_or_del(new /obj/item/storage/box/packet/incendiary, WEAR_IN_BACK) new_human.equip_to_slot_or_del(new /obj/item/storage/pouch/firstaid/full/alternate, WEAR_L_STORE) new_human.equip_to_slot_or_del(new /obj/item/storage/pouch/firstaid/full, WEAR_R_STORE) -/datum/equipment_preset/twe/royal_marine/standard/mre_pack +/datum/equipment_preset/twe/royal_marine/standard/beacon/mre_pack name = "TWE Royal Marine Commando (MRE Rifleman)" /datum/equipment_preset/twe/royal_marine/standard/mre_pack/load_gear(mob/living/carbon/human/new_human) @@ -391,7 +390,7 @@ new_human.equip_to_slot_or_del(new /obj/item/ammo_box/magazine/misc/mre, WEAR_IN_BACK) ..() -/datum/equipment_preset/twe/royal_marine/lieuteant/beacon //they better say it Lef-tenant or they should be banned for LRP. More importantly this guy doesn't spawn in the ERT +/datum/equipment_preset/twe/royal_marine/lieuteant/beacon//they better say it Lef-tenant or they should be banned for LRP. More importantly this guy doesn't spawn in the ERT name = "TWE Royal Marine Commando (Officer)" paygrade = PAY_SHORT_RNO1 role_comm_title = "RMC LT" @@ -400,7 +399,8 @@ rank = JOB_TWE_RMC_LIEUTENANT skills = /datum/skills/rmc/leader -/datum/equipment_preset/twe/royal_marine/lieuteant/load_gear(mob/living/carbon/human/new_human) + +/datum/equipment_preset/twe/royal_marine/lieuteant/beacon/load_gear(mob/living/carbon/human/new_human) new_human.equip_to_slot_or_del(new headset_type, WEAR_L_EAR) new_human.equip_to_slot_or_del(new /obj/item/clothing/head/beret/royal_marine/team_leader, WEAR_HEAD) new_human.equip_to_slot_or_del(new /obj/item/clothing/under/marine/veteran/royal_marine/lt, WEAR_BODY) @@ -432,8 +432,8 @@ new_human.equip_to_slot_or_del(new /obj/item/storage/firstaid/surgical, WEAR_IN_BACK) new_human.equip_to_slot_or_del(new /obj/item/device/defibrillator, 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/storage/box/packet/rmc/incin, WEAR_IN_BACK) - new_human.equip_to_slot_or_del(new /obj/item/storage/box/packet/rmc/he, WEAR_IN_BACK) + new_human.equip_to_slot_or_del(new /obj/item/storage/box/packet/high_explosive, WEAR_IN_BACK) + new_human.equip_to_slot_or_del(new /obj/item/storage/box/packet/incendiary, WEAR_IN_BACK) new_human.equip_to_slot_or_del(new /obj/item/storage/pouch/firstaid/full/alternate, WEAR_L_STORE) new_human.equip_to_slot_or_del(new /obj/item/storage/pouch/firstaid/full, WEAR_R_STORE) diff --git a/code/modules/gear_presets/upp.dm b/code/modules/gear_presets/upp.dm index 0fd1bd758537..9a34d370ba95 100644 --- a/code/modules/gear_presets/upp.dm +++ b/code/modules/gear_presets/upp.dm @@ -149,39 +149,6 @@ new_human.equip_to_slot_or_del(new /obj/item/storage/pouch/shotgun/heavybuck, WEAR_R_STORE) new_human.equip_to_slot_or_del(new /obj/item/storage/pouch/firstaid/ert, WEAR_L_STORE) -/datum/equipment_preset/upp/soldier/beacon/load_gear(mob/living/carbon/human/new_human) - //face - new_human.equip_to_slot_or_del(new /obj/item/device/radio/headset/distress/UPP, WEAR_L_EAR) - //head - new_human.equip_to_slot_or_del(new /obj/item/clothing/head/helmet/marine/veteran/UPP, WEAR_HEAD) - //body - var/obj/item/clothing/under/marine/veteran/UPP/UPP = new() - new_human.equip_to_slot_or_del(UPP, WEAR_BODY) - new_human.equip_to_slot_or_del(new /obj/item/clothing/accessory/patch/upp, WEAR_ACCESSORY) - new_human.equip_to_slot_or_del(new /obj/item/clothing/accessory/patch/upp/naval, WEAR_ACCESSORY) - new_human.equip_to_slot_or_del(new /obj/item/clothing/suit/storage/marine/faction/UPP, WEAR_JACKET) - new_human.equip_to_slot_or_del(new /obj/item/device/binoculars, WEAR_IN_JACKET) - new_human.equip_to_slot_or_del(new /obj/item/clothing/shoes/marine/upp/knife, WEAR_FEET) - new_human.equip_to_slot_or_del(new /obj/item/clothing/gloves/marine/veteran/upp, WEAR_HANDS) - //back - new_human.equip_to_slot_or_del(new /obj/item/storage/backpack/lightpack/upp, WEAR_BACK) - new_human.equip_to_slot_or_del(new /obj/item/reagent_container/food/snacks/upp, WEAR_IN_BACK) //.75 - new_human.equip_to_slot_or_del(new /obj/item/reagent_container/food/snacks/upp, WEAR_IN_BACK) //1.5 - new_human.equip_to_slot_or_del(new /obj/item/tool/extinguisher/mini, WEAR_IN_BACK) //2.25 - new_human.equip_to_slot_or_del(new /obj/item/storage/box/m94, WEAR_IN_BACK) //3.25 - new_human.equip_to_slot_or_del(new /obj/item/storage/box/m94, WEAR_IN_BACK) //4.25 - //body - new_human.equip_to_slot_or_del(new /obj/item/weapon/gun/rifle/type71/rifleman, WEAR_J_STORE) - //waist - new_human.equip_to_slot_or_del(new /obj/item/storage/belt/marine/upp/full, WEAR_WAIST) - //rpocket - new_human.equip_to_slot_or_del(new /obj/item/storage/pouch/explosive, WEAR_R_STORE) - new_human.equip_to_slot_or_del(new /obj/item/explosive/grenade/high_explosive/upp, WEAR_IN_R_STORE) - new_human.equip_to_slot_or_del(new /obj/item/explosive/grenade/high_explosive/upp, WEAR_IN_R_STORE) - new_human.equip_to_slot_or_del(new /obj/item/explosive/grenade/high_explosive/upp, WEAR_IN_R_STORE) - //lpocket - new_human.equip_to_slot_or_del(new /obj/item/storage/pouch/firstaid/ert, WEAR_L_STORE) - /datum/equipment_preset/upp/soldier/get_antag_clothing_equipment() return list( list("STANDARD EQUIPMENT (TAKE ALL)", 0, null, null, null), @@ -260,6 +227,48 @@ list("Drop Pouch", 10, /obj/item/clothing/accessory/storage/droppouch, null, VENDOR_ITEM_REGULAR), ) +/datum/equipment_preset/upp/soldier/beacon + name = "UPP Soldier" + flags = EQUIPMENT_PRESET_EXTRA + + skills = /datum/skills/upp + assignment = JOB_UPP + rank = JOB_UPP + role_comm_title = "Sol" + paygrade = PAY_SHORT_UE2 + +/datum/equipment_preset/upp/soldier/beacon/load_gear(mob/living/carbon/human/new_human) + //face + new_human.equip_to_slot_or_del(new /obj/item/device/radio/headset/distress/UPP, WEAR_L_EAR) + //head + new_human.equip_to_slot_or_del(new /obj/item/clothing/head/helmet/marine/veteran/UPP, WEAR_HEAD) + //body + var/obj/item/clothing/under/marine/veteran/UPP/UPP = new() + new_human.equip_to_slot_or_del(UPP, WEAR_BODY) + new_human.equip_to_slot_or_del(new /obj/item/clothing/accessory/patch/upp, WEAR_ACCESSORY) + new_human.equip_to_slot_or_del(new /obj/item/clothing/accessory/patch/upp/naval, WEAR_ACCESSORY) + new_human.equip_to_slot_or_del(new /obj/item/clothing/suit/storage/marine/faction/UPP, WEAR_JACKET) + new_human.equip_to_slot_or_del(new /obj/item/device/binoculars, WEAR_IN_JACKET) + new_human.equip_to_slot_or_del(new /obj/item/clothing/shoes/marine/upp/knife, WEAR_FEET) + new_human.equip_to_slot_or_del(new /obj/item/clothing/gloves/marine/veteran/upp, WEAR_HANDS) + //back + new_human.equip_to_slot_or_del(new /obj/item/storage/backpack/lightpack/upp, WEAR_BACK) + new_human.equip_to_slot_or_del(new /obj/item/reagent_container/food/snacks/upp, WEAR_IN_BACK) //.75 + new_human.equip_to_slot_or_del(new /obj/item/reagent_container/food/snacks/upp, WEAR_IN_BACK) //1.5 + new_human.equip_to_slot_or_del(new /obj/item/tool/extinguisher/mini, WEAR_IN_BACK) //2.25 + new_human.equip_to_slot_or_del(new /obj/item/storage/box/m94, WEAR_IN_BACK) //3.25 + new_human.equip_to_slot_or_del(new /obj/item/storage/box/m94, WEAR_IN_BACK) //4.25 + //body + new_human.equip_to_slot_or_del(new /obj/item/weapon/gun/rifle/type71/rifleman, WEAR_J_STORE) + //waist + new_human.equip_to_slot_or_del(new /obj/item/storage/belt/marine/upp/full, WEAR_WAIST) + //rpocket + new_human.equip_to_slot_or_del(new /obj/item/storage/pouch/explosive, WEAR_R_STORE) + new_human.equip_to_slot_or_del(new /obj/item/explosive/grenade/high_explosive/upp, WEAR_IN_R_STORE) + new_human.equip_to_slot_or_del(new /obj/item/explosive/grenade/high_explosive/upp, WEAR_IN_R_STORE) + new_human.equip_to_slot_or_del(new /obj/item/explosive/grenade/high_explosive/upp, WEAR_IN_R_STORE) + //lpocket + new_human.equip_to_slot_or_del(new /obj/item/storage/pouch/firstaid/ert, WEAR_L_STORE) //*****************************************************************************************************/ /datum/equipment_preset/upp/medic @@ -313,43 +322,6 @@ if(SSmapping.configs[GROUND_MAP].environment_traits[MAP_COLD]) new_human.equip_to_slot_or_del(new /obj/item/clothing/mask/rebreather/scarf/tacticalmask/green, WEAR_FACE) -/datum/equipment_preset/upp/medic/beacon/load_gear(mob/living/carbon/human/new_human) - //back - new_human.equip_to_slot_or_del(new /obj/item/storage/backpack/lightpack/upp, WEAR_BACK) - new_human.equip_to_slot_or_del(new /obj/item/device/defibrillator, WEAR_IN_BACK) //1 - new_human.equip_to_slot_or_del(new /obj/item/storage/firstaid/adv, WEAR_IN_BACK) //2 - new_human.equip_to_slot_or_del(new /obj/item/roller, WEAR_IN_BACK) //2.33 - new_human.equip_to_slot_or_del(new /obj/item/reagent_container/food/snacks/upp, WEAR_IN_BACK) //3 - new_human.equip_to_slot_or_del(new /obj/item/reagent_container/food/snacks/upp, WEAR_IN_BACK) //3.33 - //face - new_human.equip_to_slot_or_del(new /obj/item/device/radio/headset/distress/UPP/medic, WEAR_L_EAR) - if(new_human.disabilities & NEARSIGHTED) - new_human.equip_to_slot_or_del(new /obj/item/clothing/glasses/hud/health/prescription(new_human), WEAR_EYES) - else - new_human.equip_to_slot_or_del(new /obj/item/clothing/glasses/hud/health(new_human), WEAR_EYES) - //head - new_human.equip_to_slot_or_del(new /obj/item/clothing/head/uppcap, WEAR_HEAD) - //body - new_human.equip_to_slot_or_del(new /obj/item/clothing/under/marine/veteran/UPP/medic, WEAR_BODY) - new_human.equip_to_slot_or_del(new /obj/item/clothing/accessory/patch/upp, WEAR_ACCESSORY) - new_human.equip_to_slot_or_del(new /obj/item/clothing/accessory/patch/upp/naval, WEAR_ACCESSORY) - new_human.equip_to_slot_or_del(new /obj/item/clothing/suit/storage/marine/faction/UPP/support, WEAR_JACKET) //medic should move fast - new_human.equip_to_slot_or_del(new /obj/item/weapon/gun/smg/bizon/upp, WEAR_J_STORE) - //waist - new_human.equip_to_slot_or_del(new /obj/item/storage/belt/medical/lifesaver/upp/full, WEAR_WAIST) - //limbs - new_human.equip_to_slot_or_del(new /obj/item/clothing/shoes/marine/upp/knife, WEAR_FEET) - new_human.equip_to_slot_or_del(new /obj/item/clothing/gloves/marine/veteran/upp, WEAR_HANDS) - //póckets - var/obj/item/storage/pouch/magazine/large/ppouch = new() - new_human.equip_to_slot_or_del(ppouch, WEAR_R_STORE) - for(var/i = 1 to ppouch.storage_slots) - new_human.equip_to_slot_or_del(new /obj/item/ammo_magazine/smg/bizon, WEAR_IN_R_STORE) - new_human.equip_to_slot_or_del(new /obj/item/storage/pouch/medical, WEAR_L_STORE) - new_human.equip_to_slot_or_del(new /obj/item/tool/surgery/surgical_line, WEAR_IN_L_STORE) - new_human.equip_to_slot_or_del(new /obj/item/tool/surgery/synthgraft, WEAR_IN_L_STORE) - new_human.equip_to_slot_or_del(new /obj/item/device/healthanalyzer, WEAR_IN_L_STORE) - new_human.equip_to_slot_or_del(new /obj/item/reagent_container/hypospray/tricordrazine, WEAR_IN_L_STORE) /datum/equipment_preset/upp/medic/get_antag_clothing_equipment() return list( @@ -469,6 +441,46 @@ list("Drop Pouch", 10, /obj/item/clothing/accessory/storage/droppouch, null, VENDOR_ITEM_REGULAR), ) +/datum/equipment_preset/upp/medic/beacon + +/datum/equipment_preset/upp/medic/beacon/load_gear(mob/living/carbon/human/new_human) + //back + new_human.equip_to_slot_or_del(new /obj/item/storage/backpack/lightpack/upp, WEAR_BACK) + new_human.equip_to_slot_or_del(new /obj/item/device/defibrillator, WEAR_IN_BACK) //1 + new_human.equip_to_slot_or_del(new /obj/item/storage/firstaid/adv, WEAR_IN_BACK) //2 + new_human.equip_to_slot_or_del(new /obj/item/roller, WEAR_IN_BACK) //2.33 + new_human.equip_to_slot_or_del(new /obj/item/reagent_container/food/snacks/upp, WEAR_IN_BACK) //3 + new_human.equip_to_slot_or_del(new /obj/item/reagent_container/food/snacks/upp, WEAR_IN_BACK) //3.33 + //face + new_human.equip_to_slot_or_del(new /obj/item/device/radio/headset/distress/UPP/medic, WEAR_L_EAR) + if(new_human.disabilities & NEARSIGHTED) + new_human.equip_to_slot_or_del(new /obj/item/clothing/glasses/hud/health/prescription(new_human), WEAR_EYES) + else + new_human.equip_to_slot_or_del(new /obj/item/clothing/glasses/hud/health(new_human), WEAR_EYES) + //head + new_human.equip_to_slot_or_del(new /obj/item/clothing/head/uppcap, WEAR_HEAD) + //body + new_human.equip_to_slot_or_del(new /obj/item/clothing/under/marine/veteran/UPP/medic, WEAR_BODY) + new_human.equip_to_slot_or_del(new /obj/item/clothing/accessory/patch/upp, WEAR_ACCESSORY) + new_human.equip_to_slot_or_del(new /obj/item/clothing/accessory/patch/upp/naval, WEAR_ACCESSORY) + new_human.equip_to_slot_or_del(new /obj/item/clothing/suit/storage/marine/faction/UPP/support, WEAR_JACKET) //medic should move fast + new_human.equip_to_slot_or_del(new /obj/item/weapon/gun/smg/bizon/upp, WEAR_J_STORE) + //waist + new_human.equip_to_slot_or_del(new /obj/item/storage/belt/medical/lifesaver/upp/full, WEAR_WAIST) + //limbs + new_human.equip_to_slot_or_del(new /obj/item/clothing/shoes/marine/upp/knife, WEAR_FEET) + new_human.equip_to_slot_or_del(new /obj/item/clothing/gloves/marine/veteran/upp, WEAR_HANDS) + //póckets + var/obj/item/storage/pouch/magazine/large/ppouch = new() + new_human.equip_to_slot_or_del(ppouch, WEAR_R_STORE) + for(var/i = 1 to ppouch.storage_slots) + new_human.equip_to_slot_or_del(new /obj/item/ammo_magazine/smg/bizon, WEAR_IN_R_STORE) + new_human.equip_to_slot_or_del(new /obj/item/storage/pouch/medical, WEAR_L_STORE) + new_human.equip_to_slot_or_del(new /obj/item/tool/surgery/surgical_line, WEAR_IN_L_STORE) + new_human.equip_to_slot_or_del(new /obj/item/tool/surgery/synthgraft, WEAR_IN_L_STORE) + new_human.equip_to_slot_or_del(new /obj/item/device/healthanalyzer, WEAR_IN_L_STORE) + new_human.equip_to_slot_or_del(new /obj/item/reagent_container/hypospray/tricordrazine, WEAR_IN_L_STORE) + //*****************************************************************************************************/ /datum/equipment_preset/upp/sapper @@ -516,35 +528,6 @@ new_human.equip_to_slot_or_del(new /obj/item/storage/pouch/firstaid/ert(new_human), WEAR_L_STORE) new_human.equip_to_slot_or_del(new /obj/item/storage/pouch/construction/full(new_human), WEAR_R_STORE) -/datum/equipment_preset/upp/sapper/beacon/load_gear(mob/living/carbon/human/new_human) - new_human.equip_to_slot_or_del(new /obj/item/storage/backpack/marine/engineerpack/upp, WEAR_BACK) - new_human.equip_to_slot_or_del(new /obj/item/reagent_container/food/snacks/upp, WEAR_IN_BACK) //.33 - new_human.equip_to_slot_or_del(new /obj/item/reagent_container/food/snacks/upp, WEAR_IN_BACK) //.66 - new_human.equip_to_slot_or_del(new /obj/item/defenses/handheld/sentry/upp/light, WEAR_IN_BACK) //2.66 - //face - new_human.equip_to_slot_or_del(new /obj/item/device/radio/headset/distress/UPP/cct, WEAR_L_EAR) - 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/clothing/mask/gas, WEAR_FACE) - //head - var/headgear = prob(70) ? /obj/item/clothing/head/helmet/marine/veteran/UPP/engi : /obj/item/clothing/head/uppcap/ushanka - new_human.equip_to_slot_or_del(new headgear, WEAR_HEAD) - //body - var/obj/item/clothing/under/marine/veteran/UPP/engi/UPP = new() - new_human.equip_to_slot_or_del(UPP, WEAR_BODY) - new_human.equip_to_slot_or_del(new /obj/item/clothing/accessory/patch/upp, WEAR_ACCESSORY) - new_human.equip_to_slot_or_del(new /obj/item/clothing/accessory/patch/upp/naval, WEAR_ACCESSORY) - new_human.equip_to_slot_or_del(new /obj/item/clothing/suit/storage/marine/faction/UPP, WEAR_JACKET) - new_human.equip_to_slot_or_del(new /obj/item/device/binoculars, WEAR_IN_JACKET) - new_human.equip_to_slot_or_del(new /obj/item/weapon/gun/rifle/type71/sapper, WEAR_J_STORE) - //waist - new_human.equip_to_slot_or_del(new /obj/item/storage/belt/utility/full(new_human), WEAR_WAIST) - //limb - new_human.equip_to_slot_or_del(new /obj/item/clothing/gloves/marine/veteran/insulated(new_human), WEAR_HANDS) - new_human.equip_to_slot_or_del(new /obj/item/clothing/shoes/marine/upp/knife, WEAR_FEET) - //pockets - new_human.equip_to_slot_or_del(new /obj/item/storage/pouch/firstaid/ert(new_human), WEAR_L_STORE) - new_human.equip_to_slot_or_del(new /obj/item/storage/pouch/construction/full(new_human), WEAR_R_STORE) - /datum/equipment_preset/upp/sapper/get_antag_clothing_equipment() return list( list("STANDARD EQUIPMENT (TAKE ALL)", 0, null, null, null), @@ -634,6 +617,45 @@ list("Drop Pouch", 10, /obj/item/clothing/accessory/storage/droppouch, null, VENDOR_ITEM_REGULAR), ) +/datum/equipment_preset/upp/sapper/beacon + name = "UPP Sapper" + flags = EQUIPMENT_PRESET_EXTRA + + skills = /datum/skills/upp/combat_engineer + assignment = JOB_UPP_ENGI + rank = JOB_UPP_ENGI + role_comm_title = "Sap" + paygrade = PAY_SHORT_UE3 + +/datum/equipment_preset/upp/sapper/beacon/load_gear(mob/living/carbon/human/new_human) + new_human.equip_to_slot_or_del(new /obj/item/storage/backpack/marine/engineerpack/upp, WEAR_BACK) + new_human.equip_to_slot_or_del(new /obj/item/reagent_container/food/snacks/upp, WEAR_IN_BACK) //.33 + new_human.equip_to_slot_or_del(new /obj/item/reagent_container/food/snacks/upp, WEAR_IN_BACK) //.66 + new_human.equip_to_slot_or_del(new /obj/item/defenses/handheld/sentry/upp/light, WEAR_IN_BACK) //2.66 + //face + new_human.equip_to_slot_or_del(new /obj/item/device/radio/headset/distress/UPP/cct, WEAR_L_EAR) + 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/clothing/mask/gas, WEAR_FACE) + //head + var/headgear = prob(70) ? /obj/item/clothing/head/helmet/marine/veteran/UPP/engi : /obj/item/clothing/head/uppcap/ushanka + new_human.equip_to_slot_or_del(new headgear, WEAR_HEAD) + //body + var/obj/item/clothing/under/marine/veteran/UPP/engi/UPP = new() + new_human.equip_to_slot_or_del(UPP, WEAR_BODY) + new_human.equip_to_slot_or_del(new /obj/item/clothing/accessory/patch/upp, WEAR_ACCESSORY) + new_human.equip_to_slot_or_del(new /obj/item/clothing/accessory/patch/upp/naval, WEAR_ACCESSORY) + new_human.equip_to_slot_or_del(new /obj/item/clothing/suit/storage/marine/faction/UPP, WEAR_JACKET) + new_human.equip_to_slot_or_del(new /obj/item/device/binoculars, WEAR_IN_JACKET) + new_human.equip_to_slot_or_del(new /obj/item/weapon/gun/rifle/type71/sapper, WEAR_J_STORE) + //waist + new_human.equip_to_slot_or_del(new /obj/item/storage/belt/utility/full(new_human), WEAR_WAIST) + //limb + new_human.equip_to_slot_or_del(new /obj/item/clothing/gloves/marine/veteran/insulated(new_human), WEAR_HANDS) + new_human.equip_to_slot_or_del(new /obj/item/clothing/shoes/marine/upp/knife, WEAR_FEET) + //pockets + new_human.equip_to_slot_or_del(new /obj/item/storage/pouch/firstaid/ert(new_human), WEAR_L_STORE) + new_human.equip_to_slot_or_del(new /obj/item/storage/pouch/construction/full(new_human), WEAR_R_STORE) + //*****************************************************************************************************/ /datum/equipment_preset/upp/specialist @@ -953,44 +975,6 @@ new_human.equip_to_slot_or_del(new /obj/item/clothing/mask/rebreather/scarf/tacticalmask/green, WEAR_FACE) -/datum/equipment_preset/upp/leader/beacon/load_gear(mob/living/carbon/human/new_human) - //back - new_human.equip_to_slot_or_del(new /obj/item/storage/backpack/lightpack/upp, WEAR_BACK) - new_human.equip_to_slot_or_del(new /obj/item/tool/extinguisher/mini, WEAR_IN_BACK) //0.66 - new_human.equip_to_slot_or_del(new /obj/item/explosive/grenade/phosphorus/upp, WEAR_IN_BACK) //1.33 - new_human.equip_to_slot_or_del(new /obj/item/explosive/grenade/phosphorus/upp, WEAR_IN_BACK) //2 - new_human.equip_to_slot_or_del(new /obj/item/explosive/grenade/phosphorus/upp, WEAR_IN_BACK) //2.66 - new_human.equip_to_slot_or_del(new /obj/item/reagent_container/food/snacks/upp, WEAR_IN_BACK) //3.33 - new_human.equip_to_slot_or_del(new /obj/item/reagent_container/food/snacks/upp, WEAR_IN_BACK) //4 - new_human.equip_to_slot_or_del(new /obj/item/ammo_magazine/rifle/type71, WEAR_IN_BACK) //5 - //face - new_human.equip_to_slot_or_del(new /obj/item/device/radio/headset/distress/UPP/command, WEAR_L_EAR) - //head - new_human.equip_to_slot_or_del(new /obj/item/clothing/head/uppcap/beret, WEAR_HEAD) - //body - var/obj/item/clothing/under/marine/veteran/UPP/UPP = new() - var/obj/item/clothing/accessory/storage/webbing/W = new() - UPP.attach_accessory(new_human, W) - new_human.equip_to_slot_or_del(UPP, WEAR_BODY) - new_human.equip_to_slot_or_del(new /obj/item/clothing/accessory/patch/upp, WEAR_ACCESSORY) - new_human.equip_to_slot_or_del(new /obj/item/clothing/accessory/patch/upp/naval, WEAR_ACCESSORY) - new_human.equip_to_slot_or_del(new /obj/item/ammo_magazine/rifle/type71, WEAR_IN_ACCESSORY) - new_human.equip_to_slot_or_del(new /obj/item/ammo_magazine/rifle/type71, WEAR_IN_ACCESSORY) - new_human.equip_to_slot_or_del(new /obj/item/ammo_magazine/rifle/type71, WEAR_IN_ACCESSORY) - new_human.equip_to_slot_or_del(new /obj/item/clothing/suit/storage/marine/faction/UPP/heavy, WEAR_JACKET) - new_human.equip_to_slot_or_del(new /obj/item/device/binoculars/range, WEAR_IN_JACKET) - new_human.equip_to_slot_or_del(new /obj/item/weapon/gun/rifle/type71/flamer, WEAR_J_STORE) - //waist - new_human.equip_to_slot_or_del(new /obj/item/storage/belt/gun/type47/t73, WEAR_WAIST) - //limbs - new_human.equip_to_slot_or_del(new /obj/item/clothing/shoes/marine/upp/knife, WEAR_FEET) - new_human.equip_to_slot_or_del(new /obj/item/clothing/gloves/marine/veteran/upp, WEAR_HANDS) - //pockets - new_human.equip_to_slot_or_del(new /obj/item/storage/pouch/flamertank, WEAR_R_STORE) - new_human.equip_to_slot_or_del(new /obj/item/tool/extinguisher, WEAR_IN_R_STORE) - new_human.equip_to_slot_or_del(new /obj/item/tool/extinguisher, WEAR_IN_R_STORE) - new_human.equip_to_slot_or_del(new /obj/item/storage/pouch/firstaid/ert, WEAR_L_STORE) - /datum/equipment_preset/upp/leader/get_antag_clothing_equipment() return list( list("STANDARD EQUIPMENT (TAKE ALL)", 0, null, null, null), @@ -1100,6 +1084,55 @@ list("Drop Pouch", 10, /obj/item/clothing/accessory/storage/droppouch, null, VENDOR_ITEM_REGULAR), ) + +/datum/equipment_preset/upp/leader/beacon + name = "UPP Squad Leader" + flags = EQUIPMENT_PRESET_EXTRA + + skills = /datum/skills/upp/SL + assignment = JOB_UPP_LEADER + rank = JOB_UPP_LEADER + role_comm_title = "SL" + paygrade = PAY_SHORT_UE6 + +/datum/equipment_preset/upp/leader/beacon/load_gear(mob/living/carbon/human/new_human) + //back + new_human.equip_to_slot_or_del(new /obj/item/storage/backpack/lightpack/upp, WEAR_BACK) + new_human.equip_to_slot_or_del(new /obj/item/tool/extinguisher/mini, WEAR_IN_BACK) //0.66 + new_human.equip_to_slot_or_del(new /obj/item/explosive/grenade/phosphorus/upp, WEAR_IN_BACK) //1.33 + new_human.equip_to_slot_or_del(new /obj/item/explosive/grenade/phosphorus/upp, WEAR_IN_BACK) //2 + new_human.equip_to_slot_or_del(new /obj/item/explosive/grenade/phosphorus/upp, WEAR_IN_BACK) //2.66 + new_human.equip_to_slot_or_del(new /obj/item/reagent_container/food/snacks/upp, WEAR_IN_BACK) //3.33 + new_human.equip_to_slot_or_del(new /obj/item/reagent_container/food/snacks/upp, WEAR_IN_BACK) //4 + new_human.equip_to_slot_or_del(new /obj/item/ammo_magazine/rifle/type71, WEAR_IN_BACK) //5 + //face + new_human.equip_to_slot_or_del(new /obj/item/device/radio/headset/distress/UPP/command, WEAR_L_EAR) + //head + new_human.equip_to_slot_or_del(new /obj/item/clothing/head/uppcap/beret, WEAR_HEAD) + //body + var/obj/item/clothing/under/marine/veteran/UPP/UPP = new() + var/obj/item/clothing/accessory/storage/webbing/W = new() + UPP.attach_accessory(new_human, W) + new_human.equip_to_slot_or_del(UPP, WEAR_BODY) + new_human.equip_to_slot_or_del(new /obj/item/clothing/accessory/patch/upp, WEAR_ACCESSORY) + new_human.equip_to_slot_or_del(new /obj/item/clothing/accessory/patch/upp/naval, WEAR_ACCESSORY) + new_human.equip_to_slot_or_del(new /obj/item/ammo_magazine/rifle/type71, WEAR_IN_ACCESSORY) + new_human.equip_to_slot_or_del(new /obj/item/ammo_magazine/rifle/type71, WEAR_IN_ACCESSORY) + new_human.equip_to_slot_or_del(new /obj/item/ammo_magazine/rifle/type71, WEAR_IN_ACCESSORY) + new_human.equip_to_slot_or_del(new /obj/item/clothing/suit/storage/marine/faction/UPP/heavy, WEAR_JACKET) + new_human.equip_to_slot_or_del(new /obj/item/device/binoculars/range, WEAR_IN_JACKET) + new_human.equip_to_slot_or_del(new /obj/item/weapon/gun/rifle/type71/flamer, WEAR_J_STORE) + //waist + new_human.equip_to_slot_or_del(new /obj/item/storage/belt/gun/type47/t73, WEAR_WAIST) + //limbs + new_human.equip_to_slot_or_del(new /obj/item/clothing/shoes/marine/upp/knife, WEAR_FEET) + new_human.equip_to_slot_or_del(new /obj/item/clothing/gloves/marine/veteran/upp, WEAR_HANDS) + //pockets + new_human.equip_to_slot_or_del(new /obj/item/storage/pouch/flamertank, WEAR_R_STORE) + new_human.equip_to_slot_or_del(new /obj/item/tool/extinguisher, WEAR_IN_R_STORE) + new_human.equip_to_slot_or_del(new /obj/item/tool/extinguisher, WEAR_IN_R_STORE) + new_human.equip_to_slot_or_del(new /obj/item/storage/pouch/firstaid/ert, WEAR_L_STORE) + //*****************************************************************************************************/ /datum/equipment_preset/upp/military_police From 8cd7cf05377bee4c500369aed27f49e5823c5de3 Mon Sep 17 00:00:00 2001 From: Byte-Boxer <163357189+zc-byte-boxer@users.noreply.github.com> Date: Thu, 1 Aug 2024 13:05:07 -0700 Subject: [PATCH 08/13] hopefully fixing it for real this time --- code/datums/emergency_calls/cryo_marines.dm | 12 +++---- code/modules/gear_presets/contractor.dm | 37 --------------------- code/modules/gear_presets/other.dm | 12 ------- code/modules/gear_presets/royal_marines.dm | 14 -------- code/modules/gear_presets/upp.dm | 24 ------------- 5 files changed, 6 insertions(+), 93 deletions(-) diff --git a/code/datums/emergency_calls/cryo_marines.dm b/code/datums/emergency_calls/cryo_marines.dm index 331f7c90f271..8125f389b5a0 100644 --- a/code/datums/emergency_calls/cryo_marines.dm +++ b/code/datums/emergency_calls/cryo_marines.dm @@ -93,12 +93,12 @@ max_engineers = 8 /datum/emergency_call/cryo_squad/tech // Actual techweb cryorines - name = "Marine Cryo Reinforcements (Tech)" - mob_max = 6 - max_engineers = 2 - max_medics = 2 - max_smartgunners = 1 - max_heavies = 0 + name = "Marine Cryo Reinforcements (Tech)" + mob_max = 6 + max_engineers = 2 + max_medics = 2 + max_smartgunners = 1 + max_heavies = 0 /obj/effect/landmark/ert_spawns/distress_cryo name = "Distress_Cryo" diff --git a/code/modules/gear_presets/contractor.dm b/code/modules/gear_presets/contractor.dm index d4f4f152eb55..4c7e39dec406 100644 --- a/code/modules/gear_presets/contractor.dm +++ b/code/modules/gear_presets/contractor.dm @@ -157,15 +157,6 @@ /datum/equipment_preset/contractor/duty/standard/beacon - name = "Military Contractor (Standard)" - paygrade = PAY_SHORT_VAI_S - role_comm_title = "Merc" - flags = EQUIPMENT_PRESET_EXTRA - assignment = "VAIPO Mercenary" - rank = JOB_CONTRACTOR_ST - skills = /datum/skills/contractor - faction = FACTION_CONTRACTOR - /datum/equipment_preset/contractor/duty/standard/beacon/load_gear(mob/living/carbon/human/new_human) new_human.equip_to_slot_or_del(new headset_type, WEAR_L_EAR) @@ -293,16 +284,6 @@ /datum/equipment_preset/contractor/duty/engi/beacon - name = "Military Contractor (Engineer)" - paygrade = PAY_SHORT_VAI_E - - role_comm_title = "Eng" - flags = EQUIPMENT_PRESET_EXTRA - - assignment = "VAIPO Engineering Specialist" - rank = JOB_CONTRACTOR_ENGI - skills = /datum/skills/contractor/engi - faction = FACTION_CONTRACTOR /datum/equipment_preset/contractor/duty/engi/beacon/load_gear(mob/living/carbon/human/new_human) new_human.equip_to_slot_or_del(new /obj/item/clothing/under/tshirt/w_br, WEAR_BODY) @@ -379,15 +360,6 @@ new_human.equip_to_slot_or_del(new /obj/item/ammo_magazine/rifle/mar40, WEAR_IN_BACK) /datum/equipment_preset/contractor/duty/medic/beacon - name = "Military Contractor (Medic)" - paygrade = PAY_SHORT_VAI_M - role_comm_title = "Med" - flags = EQUIPMENT_PRESET_EXTRA - - assignment = "VAIMS Medical Specialist" - rank = JOB_CONTRACTOR_MEDIC - skills = /datum/skills/contractor/medic - faction = FACTION_CONTRACTOR /datum/equipment_preset/contractor/duty/medic/beacon/load_gear(mob/living/carbon/human/new_human) //clothing @@ -472,15 +444,6 @@ new_human.equip_to_slot_or_del(new /obj/item/storage/box/attachments, WEAR_IN_BACK) /datum/equipment_preset/contractor/duty/leader/beacon - name = "Military Contractor (Leader)" - paygrade = PAY_SHORT_VAI_L - role_comm_title = "TL" - flags = EQUIPMENT_PRESET_EXTRA - - assignment = "VAIPO Team Leader" - rank = JOB_CONTRACTOR_TL - skills = /datum/skills/contractor/leader - faction = FACTION_CONTRACTOR /datum/equipment_preset/contractor/duty/leader/beacon/load_gear(mob/living/carbon/human/new_human) //clothes diff --git a/code/modules/gear_presets/other.dm b/code/modules/gear_presets/other.dm index b1e08e11879d..d528d1524432 100644 --- a/code/modules/gear_presets/other.dm +++ b/code/modules/gear_presets/other.dm @@ -130,11 +130,6 @@ new_human.equip_to_slot_or_del(new /obj/item/storage/firstaid/regular/response, WEAR_IN_BACK) /datum/equipment_preset/other/freelancer/beacon - name = "Freelancer (Standard)" - paygrade = PAY_SHORT_FL_S - flags = EQUIPMENT_PRESET_EXTRA - - skills = /datum/skills/freelancer /datum/equipment_preset/other/freelancer/beacon/load_gear(mob/living/carbon/human/new_human) //generic clothing @@ -311,13 +306,6 @@ spawn_merc_weapon(new_human,1,2) /datum/equipment_preset/other/freelancer/leader/beacon - name = "Freelancer (Beacon Leader)" - paygrade = PAY_SHORT_FL_WL - flags = EQUIPMENT_PRESET_EXTRA - assignment = "Freelancer Warlord" - languages = list(LANGUAGE_ENGLISH, LANGUAGE_RUSSIAN, LANGUAGE_CHINESE, LANGUAGE_JAPANESE) - - skills = /datum/skills/freelancer/SL /datum/equipment_preset/other/freelancer/leader/beacon/load_gear(mob/living/carbon/human/new_human) diff --git a/code/modules/gear_presets/royal_marines.dm b/code/modules/gear_presets/royal_marines.dm index ce96a2b6e596..12b671cfdce3 100644 --- a/code/modules/gear_presets/royal_marines.dm +++ b/code/modules/gear_presets/royal_marines.dm @@ -340,13 +340,6 @@ // Below is presets for the beacon reinforcements. // //*****************************************************************************************************/ /datum/equipment_preset/twe/royal_marine/standard/beacon - name = "TWE Royal Marine Commando (Rifleman)" - paygrade = PAY_SHORT_RMC1 - role_comm_title = "RMC" - flags = EQUIPMENT_PRESET_EXTRA - assignment = "Royal Marines Rifleman" - rank = JOB_TWE_RMC_RIFLEMAN - skills = /datum/skills/rmc /datum/equipment_preset/twe/royal_marine/standard/bedacon/load_gear(mob/living/carbon/human/new_human) new_human.equip_to_slot_or_del(new headset_type, WEAR_L_EAR) @@ -391,13 +384,6 @@ ..() /datum/equipment_preset/twe/royal_marine/lieuteant/beacon//they better say it Lef-tenant or they should be banned for LRP. More importantly this guy doesn't spawn in the ERT - name = "TWE Royal Marine Commando (Officer)" - paygrade = PAY_SHORT_RNO1 - role_comm_title = "RMC LT" - flags = EQUIPMENT_PRESET_EXTRA - assignment = "Royal Marines Team Commander" - rank = JOB_TWE_RMC_LIEUTENANT - skills = /datum/skills/rmc/leader /datum/equipment_preset/twe/royal_marine/lieuteant/beacon/load_gear(mob/living/carbon/human/new_human) diff --git a/code/modules/gear_presets/upp.dm b/code/modules/gear_presets/upp.dm index 9a34d370ba95..f8addde3cc92 100644 --- a/code/modules/gear_presets/upp.dm +++ b/code/modules/gear_presets/upp.dm @@ -228,14 +228,6 @@ ) /datum/equipment_preset/upp/soldier/beacon - name = "UPP Soldier" - flags = EQUIPMENT_PRESET_EXTRA - - skills = /datum/skills/upp - assignment = JOB_UPP - rank = JOB_UPP - role_comm_title = "Sol" - paygrade = PAY_SHORT_UE2 /datum/equipment_preset/upp/soldier/beacon/load_gear(mob/living/carbon/human/new_human) //face @@ -618,14 +610,6 @@ ) /datum/equipment_preset/upp/sapper/beacon - name = "UPP Sapper" - flags = EQUIPMENT_PRESET_EXTRA - - skills = /datum/skills/upp/combat_engineer - assignment = JOB_UPP_ENGI - rank = JOB_UPP_ENGI - role_comm_title = "Sap" - paygrade = PAY_SHORT_UE3 /datum/equipment_preset/upp/sapper/beacon/load_gear(mob/living/carbon/human/new_human) new_human.equip_to_slot_or_del(new /obj/item/storage/backpack/marine/engineerpack/upp, WEAR_BACK) @@ -1086,14 +1070,6 @@ /datum/equipment_preset/upp/leader/beacon - name = "UPP Squad Leader" - flags = EQUIPMENT_PRESET_EXTRA - - skills = /datum/skills/upp/SL - assignment = JOB_UPP_LEADER - rank = JOB_UPP_LEADER - role_comm_title = "SL" - paygrade = PAY_SHORT_UE6 /datum/equipment_preset/upp/leader/beacon/load_gear(mob/living/carbon/human/new_human) //back From 5e96ae8fb1419649475685208d30073e5deea462 Mon Sep 17 00:00:00 2001 From: Byte-Boxer <163357189+zc-byte-boxer@users.noreply.github.com> Date: Thu, 1 Aug 2024 19:52:03 -0700 Subject: [PATCH 09/13] maybe fixing linters --- colonialmarines.dme | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/colonialmarines.dme b/colonialmarines.dme index cd2fbb87a12a..f593d9a5724f 100644 --- a/colonialmarines.dme +++ b/colonialmarines.dme @@ -506,11 +506,11 @@ #include "code\datums\elements\traitbound\crawler.dm" #include "code\datums\elements\traitbound\gun_silenced.dm" #include "code\datums\elements\traitbound\leadership.dm" +#include "code\datums\emergency_calls\big_game_hunter.dm" #include "code\datums\emergency_calls\beacon-reinforcements\freelancers.dm" #include "code\datums\emergency_calls\beacon-reinforcements\rmc.dm" #include "code\datums\emergency_calls\beacon-reinforcements\upp.dm" #include "code\datums\emergency_calls\beacon-reinforcements\vaipo.dm" -#include "code\datums\emergency_calls\big_game_hunter.dm" #include "code\datums\emergency_calls\cbrn.dm" #include "code\datums\emergency_calls\clf.dm" #include "code\datums\emergency_calls\cmb.dm" From 22b555cf46a8e2663c449c007e93dfe1152ddbfd Mon Sep 17 00:00:00 2001 From: Byte-Boxer <163357189+zc-byte-boxer@users.noreply.github.com> Date: Thu, 1 Aug 2024 19:54:31 -0700 Subject: [PATCH 10/13] maybe real now --- colonialmarines.dme | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/colonialmarines.dme b/colonialmarines.dme index f593d9a5724f..826864387c27 100644 --- a/colonialmarines.dme +++ b/colonialmarines.dme @@ -507,10 +507,6 @@ #include "code\datums\elements\traitbound\gun_silenced.dm" #include "code\datums\elements\traitbound\leadership.dm" #include "code\datums\emergency_calls\big_game_hunter.dm" -#include "code\datums\emergency_calls\beacon-reinforcements\freelancers.dm" -#include "code\datums\emergency_calls\beacon-reinforcements\rmc.dm" -#include "code\datums\emergency_calls\beacon-reinforcements\upp.dm" -#include "code\datums\emergency_calls\beacon-reinforcements\vaipo.dm" #include "code\datums\emergency_calls\cbrn.dm" #include "code\datums\emergency_calls\clf.dm" #include "code\datums\emergency_calls\cmb.dm" @@ -546,6 +542,10 @@ #include "code\datums\emergency_calls\xeno_cultists.dm" #include "code\datums\emergency_calls\xenos.dm" #include "code\datums\emergency_calls\zombie.dm" +#include "code\datums\emergency_calls\beacon-reinforcements\freelancers.dm" +#include "code\datums\emergency_calls\beacon-reinforcements\rmc.dm" +#include "code\datums\emergency_calls\beacon-reinforcements\upp.dm" +#include "code\datums\emergency_calls\beacon-reinforcements\vaipo.dm" #include "code\datums\entities\chemical_information.dm" #include "code\datums\entities\clans.dm" #include "code\datums\entities\discord_identifier.dm" From 1863e771b2734568ece3d47f96977b968e92cfbb Mon Sep 17 00:00:00 2001 From: Byte-Boxer <163357189+zc-byte-boxer@users.noreply.github.com> Date: Thu, 1 Aug 2024 19:58:06 -0700 Subject: [PATCH 11/13] aw nuke --- colonialmarines.dme | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/colonialmarines.dme b/colonialmarines.dme index 826864387c27..85b259da31be 100644 --- a/colonialmarines.dme +++ b/colonialmarines.dme @@ -1709,8 +1709,8 @@ #include "code\modules\cm_tech\techs\marine\tier1\points.dm" #include "code\modules\cm_tech\techs\marine\tier2\orbital_ammo.dm" #include "code\modules\cm_tech\techs\marine\tier3\cryorine.dm" -#include "code\modules\cm_tech\techs\marine\tier4\nuke.dm" #include "code\modules\cm_tech\techs\marine\tier4\beacon_reinforcements.dm" +#include "code\modules\cm_tech\techs\marine\tier4\nuke.dm" #include "code\modules\cm_tech\trees\marine.dm" #include "code\modules\customitems\item_spawning.dm" #include "code\modules\decorators\admin_runtime_decorator.dm" From b6aaa311912bd4822568717873b948e4d1c5861d Mon Sep 17 00:00:00 2001 From: Byte-Boxer <163357189+zc-byte-boxer@users.noreply.github.com> Date: Thu, 1 Aug 2024 20:14:22 -0700 Subject: [PATCH 12/13] runtime fixing for beacon hopefully --- .../beacon-reinforcements/freelancers.dm | 2 +- .../emergency_calls/beacon-reinforcements/rmc.dm | 4 ++-- .../emergency_calls/beacon-reinforcements/upp.dm | 8 ++++---- .../beacon-reinforcements/vaipo.dm | 8 ++++---- code/modules/gear_presets/contractor.dm | 16 ++++++++-------- code/modules/gear_presets/other.dm | 8 ++++---- code/modules/gear_presets/royal_marines.dm | 8 ++++---- code/modules/gear_presets/upp.dm | 16 ++++++++-------- 8 files changed, 35 insertions(+), 35 deletions(-) diff --git a/code/datums/emergency_calls/beacon-reinforcements/freelancers.dm b/code/datums/emergency_calls/beacon-reinforcements/freelancers.dm index 60c5b7b9b18d..62a1e37f8230 100644 --- a/code/datums/emergency_calls/beacon-reinforcements/freelancers.dm +++ b/code/datums/emergency_calls/beacon-reinforcements/freelancers.dm @@ -34,7 +34,7 @@ if(!leader && (!mind || (HAS_FLAG(human.client.prefs.toggles_ert, PLAY_LEADER) && check_timelock(human.client, JOB_SQUAD_LEADER, time_required_for_job)))) leader = human - arm_equipment(human, /datum/equipment_preset/other/freelancer/leader/beacon, mind == null, TRUE) + arm_equipment(human, /datum/equipment_preset/other/freelancer/beacon/leader, mind == null, TRUE) to_chat(human, SPAN_ROLE_HEADER("You are a Warlord over your own mercenary band.")) else if (medics < max_medics && (!mind || (HAS_FLAG(human.client.prefs.toggles_ert, PLAY_MEDIC) && check_timelock(human.client, JOB_SQUAD_MEDIC, time_required_for_job)))) medics++ diff --git a/code/datums/emergency_calls/beacon-reinforcements/rmc.dm b/code/datums/emergency_calls/beacon-reinforcements/rmc.dm index 56ad28319b7f..5c2e6c1e2db7 100644 --- a/code/datums/emergency_calls/beacon-reinforcements/rmc.dm +++ b/code/datums/emergency_calls/beacon-reinforcements/rmc.dm @@ -34,10 +34,10 @@ if(!leader && (!mind || (HAS_FLAG(human.client.prefs.toggles_ert, PLAY_LEADER) && check_timelock(human.client, JOB_SQUAD_LEADER, time_required_for_job)))) leader = human - arm_equipment(human, /datum/equipment_preset/twe/royal_marine/lieuteant/beacon, mind == null, TRUE) + arm_equipment(human, /datum/equipment_preset/twe/royal_marine/beacon/leader, mind == null, TRUE) to_chat(human, SPAN_ROLE_HEADER("You are a Officer in the RMC")) else - arm_equipment(human, /datum/equipment_preset/twe/royal_marine/standard/beacon, mind == null, TRUE) + arm_equipment(human, /datum/equipment_preset/twe/royal_marine/beacon/standard, mind == null, TRUE) to_chat(human, SPAN_ROLE_HEADER("You are a Rifleman in the RMC")) print_backstory(human) diff --git a/code/datums/emergency_calls/beacon-reinforcements/upp.dm b/code/datums/emergency_calls/beacon-reinforcements/upp.dm index 73bf66788317..681c70abc436 100644 --- a/code/datums/emergency_calls/beacon-reinforcements/upp.dm +++ b/code/datums/emergency_calls/beacon-reinforcements/upp.dm @@ -38,18 +38,18 @@ if(!leader && (!mind || (HAS_FLAG(human.client.prefs.toggles_ert, PLAY_LEADER) && check_timelock(human.client, JOB_SQUAD_LEADER, time_required_for_job)))) leader = human - arm_equipment(human, /datum/equipment_preset/upp/leader/beacon, mind == null, TRUE) + arm_equipment(human, /datum/equipment_preset/upp/beacon/leader, mind == null, TRUE) to_chat(human, SPAN_ROLE_HEADER("You are a Squad Leader in the UPP")) else if (medics < max_medics && (!mind || (HAS_FLAG(human.client.prefs.toggles_ert, PLAY_MEDIC) && check_timelock(human.client, JOB_SQUAD_MEDIC, time_required_for_job)))) medics++ - arm_equipment(human, /datum/equipment_preset/upp/medic/beacon, mind == null, TRUE) + arm_equipment(human, /datum/equipment_preset/upp/beacon/medic, mind == null, TRUE) to_chat(human, SPAN_ROLE_HEADER("You are a Medic in the UPP")) else if (engineers < max_engineers && (!mind || (HAS_FLAG(human.client.prefs.toggles_ert, PLAY_ENGINEER) && check_timelock(human.client, JOB_SQUAD_ENGI, time_required_for_job)))) engineers++ - arm_equipment(human, /datum/equipment_preset/upp/sapper/beacon, mind == null, TRUE) + arm_equipment(human, /datum/equipment_preset/upp/beacon/sapper, mind == null, TRUE) to_chat(human, SPAN_ROLE_HEADER("You are a Sapper in the UPP")) else - arm_equipment(human, /datum/equipment_preset/upp/soldier/beacon, mind == null, TRUE) + arm_equipment(human, /datum/equipment_preset/upp/beacon/soldier, mind == null, TRUE) to_chat(human, SPAN_ROLE_HEADER("You are a Soldier in the UPP")) print_backstory(human) diff --git a/code/datums/emergency_calls/beacon-reinforcements/vaipo.dm b/code/datums/emergency_calls/beacon-reinforcements/vaipo.dm index 18d38d3ed785..1dd43031610b 100644 --- a/code/datums/emergency_calls/beacon-reinforcements/vaipo.dm +++ b/code/datums/emergency_calls/beacon-reinforcements/vaipo.dm @@ -35,18 +35,18 @@ if(!leader && (!mind || (HAS_FLAG(human.client.prefs.toggles_ert, PLAY_LEADER) && check_timelock(human.client, JOB_SQUAD_LEADER, time_required_for_job)))) leader = human - arm_equipment(human, /datum/equipment_preset/contractor/duty/leader/beacon, mind == null, TRUE) + arm_equipment(human, /datum/equipment_preset/contractor/duty/beacon/leader, mind == null, TRUE) to_chat(human, SPAN_ROLE_HEADER("You are a Squad Leader in VAIPO")) else if (medics < max_medics && (!mind || (HAS_FLAG(human.client.prefs.toggles_ert, PLAY_MEDIC) && check_timelock(human.client, JOB_SQUAD_MEDIC, time_required_for_job)))) medics++ - arm_equipment(human, /datum/equipment_preset/contractor/duty/medic/beacon, mind == null, TRUE) + arm_equipment(human, /datum/equipment_preset/contractor/duty/beacon/medic, mind == null, TRUE) to_chat(human, SPAN_ROLE_HEADER("You are a Combat Medic in VAIPO")) else if (engineers < max_engineers && (!mind || (HAS_FLAG(human.client.prefs.toggles_ert, PLAY_ENGINEER) && check_timelock(human.client, JOB_SQUAD_ENGI, time_required_for_job)))) engineers++ - arm_equipment(human, /datum/equipment_preset/contractor/duty/engi/beacon, mind == null, TRUE) + arm_equipment(human, /datum/equipment_preset/contractor/duty/beacon/engi, mind == null, TRUE) to_chat(human, SPAN_ROLE_HEADER("You are an Engineer in VAIPO")) else - arm_equipment(human, /datum/equipment_preset/contractor/duty/standard/beacon, mind == null, TRUE) + arm_equipment(human, /datum/equipment_preset/contractor/duty/beacon/standard, mind == null, TRUE) to_chat(human, SPAN_ROLE_HEADER("You are a Riflemen in VAIPO")) print_backstory(human) diff --git a/code/modules/gear_presets/contractor.dm b/code/modules/gear_presets/contractor.dm index 4c7e39dec406..95677d7d79eb 100644 --- a/code/modules/gear_presets/contractor.dm +++ b/code/modules/gear_presets/contractor.dm @@ -156,9 +156,9 @@ new_human.equip_to_slot_or_del(new /obj/item/ammo_magazine/rifle/m41aMK1, WEAR_IN_BACK) -/datum/equipment_preset/contractor/duty/standard/beacon +/datum/equipment_preset/contractor/duty/beacon/standard -/datum/equipment_preset/contractor/duty/standard/beacon/load_gear(mob/living/carbon/human/new_human) +/datum/equipment_preset/contractor/duty/beacon/standard/load_gear(mob/living/carbon/human/new_human) new_human.equip_to_slot_or_del(new headset_type, WEAR_L_EAR) new_human.equip_to_slot_or_del(new /obj/item/clothing/under/tshirt/gray_blu, WEAR_BODY) new_human.equip_to_slot_or_del(new /obj/item/clothing/accessory/holobadge/cord, WEAR_ACCESSORY) @@ -283,9 +283,9 @@ new_human.equip_to_slot_or_del(new /obj/item/explosive/grenade/high_explosive/m15, WEAR_IN_BACK) -/datum/equipment_preset/contractor/duty/engi/beacon +/datum/equipment_preset/contractor/duty/beacon/engi -/datum/equipment_preset/contractor/duty/engi/beacon/load_gear(mob/living/carbon/human/new_human) +/datum/equipment_preset/contractor/duty/beacon/engi/load_gear(mob/living/carbon/human/new_human) new_human.equip_to_slot_or_del(new /obj/item/clothing/under/tshirt/w_br, WEAR_BODY) new_human.equip_to_slot_or_del(new /obj/item/clothing/accessory/holobadge/cord, WEAR_ACCESSORY) new_human.equip_to_slot_or_del(new headset_type, WEAR_L_EAR) @@ -359,9 +359,9 @@ new_human.equip_to_slot_or_del(new /obj/item/ammo_magazine/rifle/mar40/extended, WEAR_IN_BACK) new_human.equip_to_slot_or_del(new /obj/item/ammo_magazine/rifle/mar40, WEAR_IN_BACK) -/datum/equipment_preset/contractor/duty/medic/beacon +/datum/equipment_preset/contractor/duty/beacon/medic -/datum/equipment_preset/contractor/duty/medic/beacon/load_gear(mob/living/carbon/human/new_human) +/datum/equipment_preset/contractor/duty/beacon/medic/load_gear(mob/living/carbon/human/new_human) //clothing new_human.equip_to_slot_or_del(new /obj/item/clothing/under/tshirt/w_br, WEAR_BODY) new_human.equip_to_slot_or_del(new headset_type, WEAR_L_EAR) @@ -443,9 +443,9 @@ new_human.equip_to_slot_or_del(new /obj/item/tool/crowbar/tactical, WEAR_IN_BACK) new_human.equip_to_slot_or_del(new /obj/item/storage/box/attachments, WEAR_IN_BACK) -/datum/equipment_preset/contractor/duty/leader/beacon +/datum/equipment_preset/contractor/duty/beacon/leader -/datum/equipment_preset/contractor/duty/leader/beacon/load_gear(mob/living/carbon/human/new_human) +/datum/equipment_preset/contractor/duty/beacon/leader/load_gear(mob/living/carbon/human/new_human) //clothes new_human.equip_to_slot_or_del(new headset_type, WEAR_L_EAR) new_human.equip_to_slot_or_del(new /obj/item/clothing/under/tshirt/r_bla, WEAR_BODY) diff --git a/code/modules/gear_presets/other.dm b/code/modules/gear_presets/other.dm index d528d1524432..7e886af0dc84 100644 --- a/code/modules/gear_presets/other.dm +++ b/code/modules/gear_presets/other.dm @@ -129,9 +129,9 @@ new_human.equip_to_slot_or_del(new /obj/item/tool/crowbar, WEAR_IN_BACK) new_human.equip_to_slot_or_del(new /obj/item/storage/firstaid/regular/response, WEAR_IN_BACK) -/datum/equipment_preset/other/freelancer/beacon +/datum/equipment_preset/other/freelancer/beacon/standard -/datum/equipment_preset/other/freelancer/beacon/load_gear(mob/living/carbon/human/new_human) +/datum/equipment_preset/other/freelancer/beacon/standard/load_gear(mob/living/carbon/human/new_human) //generic clothing new_human.equip_to_slot_or_del(new /obj/item/clothing/under/marine/veteran/freelancer, WEAR_BODY) new_human.equip_to_slot_or_del(new /obj/item/clothing/suit/storage/marine/faction/freelancer, WEAR_JACKET) @@ -305,9 +305,9 @@ spawn_weapon(/obj/item/weapon/gun/rifle/m41aMK1, /obj/item/ammo_magazine/rifle/m41aMK1, new_human, 0, 9) spawn_merc_weapon(new_human,1,2) -/datum/equipment_preset/other/freelancer/leader/beacon +/datum/equipment_preset/other/freelancer/beacon/leader -/datum/equipment_preset/other/freelancer/leader/beacon/load_gear(mob/living/carbon/human/new_human) +/datum/equipment_preset/other/freelancer/beacon/leader/load_gear(mob/living/carbon/human/new_human) //No random helmet, so that it's more clear that he's the leader new_human.equip_to_slot_or_del(new /obj/item/clothing/under/marine/veteran/freelancer, WEAR_BODY) diff --git a/code/modules/gear_presets/royal_marines.dm b/code/modules/gear_presets/royal_marines.dm index 12b671cfdce3..95d07f11b172 100644 --- a/code/modules/gear_presets/royal_marines.dm +++ b/code/modules/gear_presets/royal_marines.dm @@ -339,7 +339,7 @@ // Below is presets for the beacon reinforcements. // //*****************************************************************************************************/ -/datum/equipment_preset/twe/royal_marine/standard/beacon +/datum/equipment_preset/twe/royal_marine/beacon/standard /datum/equipment_preset/twe/royal_marine/standard/bedacon/load_gear(mob/living/carbon/human/new_human) new_human.equip_to_slot_or_del(new headset_type, WEAR_L_EAR) @@ -375,7 +375,7 @@ new_human.equip_to_slot_or_del(new /obj/item/storage/pouch/firstaid/full/alternate, WEAR_L_STORE) new_human.equip_to_slot_or_del(new /obj/item/storage/pouch/firstaid/full, WEAR_R_STORE) -/datum/equipment_preset/twe/royal_marine/standard/beacon/mre_pack +/datum/equipment_preset/twe/royal_marine/beacon/standard/mre_pack name = "TWE Royal Marine Commando (MRE Rifleman)" /datum/equipment_preset/twe/royal_marine/standard/mre_pack/load_gear(mob/living/carbon/human/new_human) @@ -383,10 +383,10 @@ new_human.equip_to_slot_or_del(new /obj/item/ammo_box/magazine/misc/mre, WEAR_IN_BACK) ..() -/datum/equipment_preset/twe/royal_marine/lieuteant/beacon//they better say it Lef-tenant or they should be banned for LRP. More importantly this guy doesn't spawn in the ERT +/datum/equipment_preset/twe/royal_marine/beacon/leader//they better say it Lef-tenant or they should be banned for LRP. More importantly this guy doesn't spawn in the ERT -/datum/equipment_preset/twe/royal_marine/lieuteant/beacon/load_gear(mob/living/carbon/human/new_human) +/datum/equipment_preset/twe/royal_marine/beacon/leader/load_gear(mob/living/carbon/human/new_human) new_human.equip_to_slot_or_del(new headset_type, WEAR_L_EAR) new_human.equip_to_slot_or_del(new /obj/item/clothing/head/beret/royal_marine/team_leader, WEAR_HEAD) new_human.equip_to_slot_or_del(new /obj/item/clothing/under/marine/veteran/royal_marine/lt, WEAR_BODY) diff --git a/code/modules/gear_presets/upp.dm b/code/modules/gear_presets/upp.dm index f8addde3cc92..3089899ad9c2 100644 --- a/code/modules/gear_presets/upp.dm +++ b/code/modules/gear_presets/upp.dm @@ -227,9 +227,9 @@ list("Drop Pouch", 10, /obj/item/clothing/accessory/storage/droppouch, null, VENDOR_ITEM_REGULAR), ) -/datum/equipment_preset/upp/soldier/beacon +/datum/equipment_preset/upp/beacon/soldier -/datum/equipment_preset/upp/soldier/beacon/load_gear(mob/living/carbon/human/new_human) +/datum/equipment_preset/upp/beacon/soldier/load_gear(mob/living/carbon/human/new_human) //face new_human.equip_to_slot_or_del(new /obj/item/device/radio/headset/distress/UPP, WEAR_L_EAR) //head @@ -433,9 +433,9 @@ list("Drop Pouch", 10, /obj/item/clothing/accessory/storage/droppouch, null, VENDOR_ITEM_REGULAR), ) -/datum/equipment_preset/upp/medic/beacon +/datum/equipment_preset/upp/beacon/medic -/datum/equipment_preset/upp/medic/beacon/load_gear(mob/living/carbon/human/new_human) +/datum/equipment_preset/upp/beacon/medic/load_gear(mob/living/carbon/human/new_human) //back new_human.equip_to_slot_or_del(new /obj/item/storage/backpack/lightpack/upp, WEAR_BACK) new_human.equip_to_slot_or_del(new /obj/item/device/defibrillator, WEAR_IN_BACK) //1 @@ -609,9 +609,9 @@ list("Drop Pouch", 10, /obj/item/clothing/accessory/storage/droppouch, null, VENDOR_ITEM_REGULAR), ) -/datum/equipment_preset/upp/sapper/beacon +/datum/equipment_preset/upp/beacon/sapper -/datum/equipment_preset/upp/sapper/beacon/load_gear(mob/living/carbon/human/new_human) +/datum/equipment_preset/upp/beacon/sapper/load_gear(mob/living/carbon/human/new_human) new_human.equip_to_slot_or_del(new /obj/item/storage/backpack/marine/engineerpack/upp, WEAR_BACK) new_human.equip_to_slot_or_del(new /obj/item/reagent_container/food/snacks/upp, WEAR_IN_BACK) //.33 new_human.equip_to_slot_or_del(new /obj/item/reagent_container/food/snacks/upp, WEAR_IN_BACK) //.66 @@ -1069,9 +1069,9 @@ ) -/datum/equipment_preset/upp/leader/beacon +/datum/equipment_preset/upp/beacon/leader -/datum/equipment_preset/upp/leader/beacon/load_gear(mob/living/carbon/human/new_human) +/datum/equipment_preset/upp/beacon/leader/load_gear(mob/living/carbon/human/new_human) //back new_human.equip_to_slot_or_del(new /obj/item/storage/backpack/lightpack/upp, WEAR_BACK) new_human.equip_to_slot_or_del(new /obj/item/tool/extinguisher/mini, WEAR_IN_BACK) //0.66 From 68c945d0b73c6f87b543cefe0547ebf842c32d85 Mon Sep 17 00:00:00 2001 From: Byte-Boxer <163357189+zc-byte-boxer@users.noreply.github.com> Date: Thu, 1 Aug 2024 20:19:00 -0700 Subject: [PATCH 13/13] fixes last runtime --- code/modules/gear_presets/royal_marines.dm | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/code/modules/gear_presets/royal_marines.dm b/code/modules/gear_presets/royal_marines.dm index 95d07f11b172..22d868163dda 100644 --- a/code/modules/gear_presets/royal_marines.dm +++ b/code/modules/gear_presets/royal_marines.dm @@ -341,7 +341,7 @@ //*****************************************************************************************************/ /datum/equipment_preset/twe/royal_marine/beacon/standard -/datum/equipment_preset/twe/royal_marine/standard/bedacon/load_gear(mob/living/carbon/human/new_human) +/datum/equipment_preset/twe/royal_marine/beacon/standard/load_gear(mob/living/carbon/human/new_human) new_human.equip_to_slot_or_del(new headset_type, WEAR_L_EAR) new_human.equip_to_slot_or_del(new /obj/item/clothing/head/helmet/marine/veteran/royal_marine, WEAR_HEAD) new_human.equip_to_slot_or_del(new /obj/item/clothing/under/marine/veteran/royal_marine, WEAR_BODY)