From 83333adb7ab9dbed07ffbddcd3c3e24628802488 Mon Sep 17 00:00:00 2001 From: Steelpoint Date: Sun, 11 Aug 2024 02:00:11 +0800 Subject: [PATCH 1/5] InitalCommit --- code/game/machinery/vending/cm_vending.dm | 9 +++++++-- 1 file changed, 7 insertions(+), 2 deletions(-) diff --git a/code/game/machinery/vending/cm_vending.dm b/code/game/machinery/vending/cm_vending.dm index 2d15d4c37da8..57180545c35b 100644 --- a/code/game/machinery/vending/cm_vending.dm +++ b/code/game/machinery/vending/cm_vending.dm @@ -581,8 +581,13 @@ GLOBAL_LIST_EMPTY(vending_products) var/specialist_assignment switch(p_name) if("Scout Set") - user.skills.set_skill(SKILL_SPEC_WEAPONS, SKILL_SPEC_SCOUT) - specialist_assignment = "Scout" + if(MODE_HAS_FLAG(MODE_FACTION_CLASH)) + to_chat(user, SPAN_WARNING("No scout on HvH.")) + vend_fail() + return FALSE + else + user.skills.set_skill(SKILL_SPEC_WEAPONS, SKILL_SPEC_SCOUT) + specialist_assignment = "Scout" if("Sniper Set") user.skills.set_skill(SKILL_SPEC_WEAPONS, SKILL_SPEC_SNIPER) specialist_assignment = "Sniper" From d5cbd9cbe2ed2bf4082e9abe292b7e20ee06062b Mon Sep 17 00:00:00 2001 From: Steelpoint Date: Sun, 11 Aug 2024 13:02:01 +0800 Subject: [PATCH 2/5] ReworkSpec --- code/_globalvars/global_lists.dm | 3 +- code/game/machinery/vending/cm_vending.dm | 60 +++++++++++++++---- .../squad_prep/squad_specialist.dm | 1 + .../suits/marine_armor/_marine_armor.dm | 4 +- 4 files changed, 52 insertions(+), 16 deletions(-) diff --git a/code/_globalvars/global_lists.dm b/code/_globalvars/global_lists.dm index d2165fecc9b1..345c89ffb897 100644 --- a/code/_globalvars/global_lists.dm +++ b/code/_globalvars/global_lists.dm @@ -552,7 +552,8 @@ GLOBAL_LIST_INIT(available_specialist_sets, list( "Anti-materiel Sniper Set", "Demolitionist Set", "Heavy Grenadier Set", - "Pyro Set" + "Pyro Set", + "Heavy Armor Set (HvH Only)" )) //Similar thing, but used in /obj/item/spec_kit diff --git a/code/game/machinery/vending/cm_vending.dm b/code/game/machinery/vending/cm_vending.dm index 57180545c35b..9cd84254f3a1 100644 --- a/code/game/machinery/vending/cm_vending.dm +++ b/code/game/machinery/vending/cm_vending.dm @@ -582,29 +582,63 @@ GLOBAL_LIST_EMPTY(vending_products) switch(p_name) if("Scout Set") if(MODE_HAS_FLAG(MODE_FACTION_CLASH)) - to_chat(user, SPAN_WARNING("No scout on HvH.")) + to_chat(user, SPAN_WARNING("You must pick Heavy Armor Specialist in HvH.")) vend_fail() return FALSE else user.skills.set_skill(SKILL_SPEC_WEAPONS, SKILL_SPEC_SCOUT) specialist_assignment = "Scout" if("Sniper Set") - user.skills.set_skill(SKILL_SPEC_WEAPONS, SKILL_SPEC_SNIPER) - specialist_assignment = "Sniper" - GLOB.available_specialist_sets -= "Anti-materiel Sniper Set" + if(MODE_HAS_FLAG(MODE_FACTION_CLASH)) + to_chat(user, SPAN_WARNING("You must pick Heavy Armor Specialist in HvH.")) + vend_fail() + return FALSE + else + user.skills.set_skill(SKILL_SPEC_WEAPONS, SKILL_SPEC_SNIPER) + specialist_assignment = "Sniper" + GLOB.available_specialist_sets -= "Anti-materiel Sniper Set" if("Anti-materiel Sniper Set") - user.skills.set_skill(SKILL_SPEC_WEAPONS, SKILL_SPEC_SNIPER) - specialist_assignment = "Heavy Sniper" - GLOB.available_specialist_sets -= "Sniper Set" + if(MODE_HAS_FLAG(MODE_FACTION_CLASH)) + to_chat(user, SPAN_WARNING("You must pick Heavy Armor Specialist in HvH.")) + vend_fail() + return FALSE + else + user.skills.set_skill(SKILL_SPEC_WEAPONS, SKILL_SPEC_SNIPER) + specialist_assignment = "Heavy Sniper" + GLOB.available_specialist_sets -= "Sniper Set" if("Demolitionist Set") - user.skills.set_skill(SKILL_SPEC_WEAPONS, SKILL_SPEC_ROCKET) - specialist_assignment = "Demo" + if(MODE_HAS_FLAG(MODE_FACTION_CLASH)) + to_chat(user, SPAN_WARNING("You must pick Heavy Armor Specialist in HvH.")) + vend_fail() + return FALSE + else + user.skills.set_skill(SKILL_SPEC_WEAPONS, SKILL_SPEC_ROCKET) + specialist_assignment = "Demo" if("Heavy Grenadier Set") - user.skills.set_skill(SKILL_SPEC_WEAPONS, SKILL_SPEC_GRENADIER) - specialist_assignment = "Grenadier" + if(MODE_HAS_FLAG(MODE_FACTION_CLASH)) + to_chat(user, SPAN_WARNING("You must pick Heavy Armor Specialist in HvH.")) + vend_fail() + return FALSE + else + user.skills.set_skill(SKILL_SPEC_WEAPONS, SKILL_SPEC_GRENADIER) + specialist_assignment = "Grenadier" if("Pyro Set") - user.skills.set_skill(SKILL_SPEC_WEAPONS, SKILL_SPEC_PYRO) - specialist_assignment = "Pyro" + if(MODE_HAS_FLAG(MODE_FACTION_CLASH)) + to_chat(user, SPAN_WARNING("You must pick Heavy Armor Specialist in HvH.")) + vend_fail() + return FALSE + else + user.skills.set_skill(SKILL_SPEC_WEAPONS, SKILL_SPEC_PYRO) + specialist_assignment = "Pyro" + if("Heavy Armor Set (HvH Only)") + if(MODE_HAS_FLAG(MODE_INFESTATION)) + to_chat(user, SPAN_WARNING("This is a HvH only kit. Pick another one.")) + vend_fail() + return FALSE + else + user.skills.set_skill(SKILL_SPEC_WEAPONS, SKILL_SPEC_KITTED) + specialist_assignment = "Specialist" + GLOB.available_specialist_sets += "Heavy Armor Set (HvH Only)" else to_chat(user, SPAN_WARNING("Something bad occurred with [src], tell a Dev.")) vend_fail() diff --git a/code/game/machinery/vending/vendor_types/squad_prep/squad_specialist.dm b/code/game/machinery/vending/vendor_types/squad_prep/squad_specialist.dm index a21207a6645c..051c74bfe28e 100644 --- a/code/game/machinery/vending/vendor_types/squad_prep/squad_specialist.dm +++ b/code/game/machinery/vending/vendor_types/squad_prep/squad_specialist.dm @@ -8,6 +8,7 @@ GLOBAL_LIST_INIT(cm_vending_gear_spec, list( list("Scout Set", 0, /obj/item/storage/box/spec/scout, MARINE_CAN_BUY_ESSENTIALS, VENDOR_ITEM_REGULAR), list("Sniper Set", 0, /obj/item/storage/box/spec/sniper, MARINE_CAN_BUY_ESSENTIALS, VENDOR_ITEM_RECOMMENDED), list("Anti-materiel Sniper Set", 0, /obj/item/storage/box/spec/sniper/anti_materiel, MARINE_CAN_BUY_ESSENTIALS, VENDOR_ITEM_RECOMMENDED), + list("Heavy Armor Set (HvH Only)", 0, /obj/item/storage/box/spec/B18, MARINE_CAN_BUY_ESSENTIALS, VENDOR_ITEM_RECOMMENDED), list("EXTRA SCOUT AMMUNITION", 0, null, null, null), list("A19 High Velocity Impact Magazine (10x24mm)", 40, /obj/item/ammo_magazine/rifle/m4ra/custom/impact, null, VENDOR_ITEM_REGULAR), diff --git a/code/modules/clothing/suits/marine_armor/_marine_armor.dm b/code/modules/clothing/suits/marine_armor/_marine_armor.dm index 3d89ecb7cabb..ce28676a2901 100644 --- a/code/modules/clothing/suits/marine_armor/_marine_armor.dm +++ b/code/modules/clothing/suits/marine_armor/_marine_armor.dm @@ -586,11 +586,11 @@ desc = "A heavy, rugged set of armor plates for when you really, really need to not die horribly. Slows you down though.\nComes with two tricord injectors in each arm guard." icon_state = "xarmor" armor_melee = CLOTHING_ARMOR_HIGH - armor_bullet = CLOTHING_ARMOR_HIGH + armor_bullet = CLOTHING_ARMOR_HIGHPLUS armor_bomb = CLOTHING_ARMOR_VERYHIGH armor_bio = CLOTHING_ARMOR_MEDIUMLOW armor_rad = CLOTHING_ARMOR_MEDIUMHIGH - armor_internaldamage = CLOTHING_ARMOR_MEDIUMHIGH + armor_internaldamage = CLOTHING_ARMOR_HIGHPLUS armor_energy = CLOTHING_ARMOR_MEDIUM storage_slots = 2 flags_inventory = BLOCKSHARPOBJ|BLOCK_KNOCKDOWN From 72c2ad4f9651f88e69defb29c0796226f27af820 Mon Sep 17 00:00:00 2001 From: Steelpoint Date: Sun, 11 Aug 2024 13:04:43 +0800 Subject: [PATCH 3/5] Glove --- code/modules/clothing/head/helmet.dm | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/code/modules/clothing/head/helmet.dm b/code/modules/clothing/head/helmet.dm index 845ce2a6eb6e..144dc9760690 100644 --- a/code/modules/clothing/head/helmet.dm +++ b/code/modules/clothing/head/helmet.dm @@ -850,11 +850,11 @@ GLOBAL_LIST_INIT(allowed_helmet_items, list( icon_state = "grenadier_helmet" item_state = "grenadier_helmet" armor_melee = CLOTHING_ARMOR_HIGH - armor_bullet = CLOTHING_ARMOR_HIGH - armor_bomb = CLOTHING_ARMOR_ULTRAHIGH + armor_bullet = CLOTHING_ARMOR_HIGHPLUS + armor_bomb = CLOTHING_ARMOR_HIGH armor_bio = CLOTHING_ARMOR_HIGH armor_rad = CLOTHING_ARMOR_HIGH - armor_internaldamage = CLOTHING_ARMOR_HIGH + armor_internaldamage = CLOTHING_ARMOR_HIGHPLUS unacidable = TRUE anti_hug = 6 force = 20 From 4c515a925ca6d3c5456d5608aaa017a66db9c4d7 Mon Sep 17 00:00:00 2001 From: Steelpoint <6595389+Steelpoint@users.noreply.github.com> Date: Tue, 13 Aug 2024 20:50:19 +0800 Subject: [PATCH 4/5] Update helmet.dm --- code/modules/clothing/head/helmet.dm | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/code/modules/clothing/head/helmet.dm b/code/modules/clothing/head/helmet.dm index 144dc9760690..845ce2a6eb6e 100644 --- a/code/modules/clothing/head/helmet.dm +++ b/code/modules/clothing/head/helmet.dm @@ -850,11 +850,11 @@ GLOBAL_LIST_INIT(allowed_helmet_items, list( icon_state = "grenadier_helmet" item_state = "grenadier_helmet" armor_melee = CLOTHING_ARMOR_HIGH - armor_bullet = CLOTHING_ARMOR_HIGHPLUS - armor_bomb = CLOTHING_ARMOR_HIGH + armor_bullet = CLOTHING_ARMOR_HIGH + armor_bomb = CLOTHING_ARMOR_ULTRAHIGH armor_bio = CLOTHING_ARMOR_HIGH armor_rad = CLOTHING_ARMOR_HIGH - armor_internaldamage = CLOTHING_ARMOR_HIGHPLUS + armor_internaldamage = CLOTHING_ARMOR_HIGH unacidable = TRUE anti_hug = 6 force = 20 From 65d7949d6005d56e03783aaf01645b05b6f319ca Mon Sep 17 00:00:00 2001 From: Steelpoint <6595389+Steelpoint@users.noreply.github.com> Date: Tue, 13 Aug 2024 20:50:56 +0800 Subject: [PATCH 5/5] Update _marine_armor.dm --- code/modules/clothing/suits/marine_armor/_marine_armor.dm | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/code/modules/clothing/suits/marine_armor/_marine_armor.dm b/code/modules/clothing/suits/marine_armor/_marine_armor.dm index ce28676a2901..3d89ecb7cabb 100644 --- a/code/modules/clothing/suits/marine_armor/_marine_armor.dm +++ b/code/modules/clothing/suits/marine_armor/_marine_armor.dm @@ -586,11 +586,11 @@ desc = "A heavy, rugged set of armor plates for when you really, really need to not die horribly. Slows you down though.\nComes with two tricord injectors in each arm guard." icon_state = "xarmor" armor_melee = CLOTHING_ARMOR_HIGH - armor_bullet = CLOTHING_ARMOR_HIGHPLUS + armor_bullet = CLOTHING_ARMOR_HIGH armor_bomb = CLOTHING_ARMOR_VERYHIGH armor_bio = CLOTHING_ARMOR_MEDIUMLOW armor_rad = CLOTHING_ARMOR_MEDIUMHIGH - armor_internaldamage = CLOTHING_ARMOR_HIGHPLUS + armor_internaldamage = CLOTHING_ARMOR_MEDIUMHIGH armor_energy = CLOTHING_ARMOR_MEDIUM storage_slots = 2 flags_inventory = BLOCKSHARPOBJ|BLOCK_KNOCKDOWN