From d8e07e71de6baa9567e026bd4796da7b7e80e382 Mon Sep 17 00:00:00 2001 From: YakumoChen Date: Tue, 16 Jan 2024 14:06:02 +0000 Subject: [PATCH] Nerfs most modsuits by giving them all armour boosters (#910) ## About The Pull Request All security-grade modsuits (security, safeguard, magnate, blueshield, ERT, etc) have been outfitted with armour booster modules, built in and non-removable. "But wait, Yakumo, that's a huge buff, isn't it?" haha no In """"compensation"""" for this built-in module, I have halved the armour values on all applicable modsuits, and moved said values to the armour booster modules. Every modsuit has its own specific booster with the moved armour values built in. Also almost all of them don't get the speed boost, because it's just a poor copy of the syndicate one. I made an exception for the HoS MOD however because the secoff modsuits were recently buffed to have almost the same armour (we love power creep) ![image](https://github.com/Bubberstation/Bubberstation/assets/10399117/92718467-562f-4ffb-afae-85d01d5d5761) Contains an early pull of https://github.com/tgstation/tgstation/pull/80680 ## Why It's Good For The Game EVA combat is incredibly goofy right now. Armour on MODsuits was originally stripped out severely because having armour in already awful space combat was a little bit shit, and modsuits aren't supposed to be a be-all-end-all of protective drip. Except the Syndicate who got shafted by having dogshit armour in space, because most of their armour is in the armour booster. Now everyone is on the same playing field again. Want to have actual armour in a MODsuit? You're gonna have to sacrifice your EVA capability to do so. No more free rides, and the syndicate is a respective threat in comparison in the same EVA environment again. ## Changelog :cl: add: Security, HoS, Captain, Blueshield, and Centcom roles have had armour booster modules built into their modsuits. Most do not reduce the slowdown of your suit (except the HoS one) balance: Armour values in said modsuits have been halved across the board, with the lost values moved to the armour boosters. balance: Effectively, armour in EVA combat is severely nerfed for everyone except the syndicate who already had armour boosters. /:cl: --------- Co-authored-by: projectkepler-RU <99981766+projectkepler-ru@users.noreply.github.com> Co-authored-by: The Sharkening <95130227+StrangeWeirdKitten@users.noreply.github.com> --- .../blueshield/code/modsuit/mod_type.dm | 6 +- .../code/datums/armor_overrides.dm | 125 ++++++++++++++++-- modular_zubbers/modules/mod_suits/modules.dm | 57 ++++++++ tgstation.dme | 1 + 4 files changed, 174 insertions(+), 15 deletions(-) create mode 100644 modular_zubbers/modules/mod_suits/modules.dm diff --git a/modular_skyrat/modules/blueshield/code/modsuit/mod_type.dm b/modular_skyrat/modules/blueshield/code/modsuit/mod_type.dm index 885c4be3d53..a18bce3eac0 100644 --- a/modular_skyrat/modules/blueshield/code/modsuit/mod_type.dm +++ b/modular_skyrat/modules/blueshield/code/modsuit/mod_type.dm @@ -3,13 +3,13 @@ icon = 'modular_skyrat/modules/blueshield/icons/praetorian.dmi' icon_state = "praetorian-control" theme = /datum/mod_theme/blueshield - applied_cell = /obj/item/stock_parts/cell/high // Bubberstation Edit - Original: Super Cell + applied_cell = /obj/item/stock_parts/cell/super applied_modules = list( - /obj/item/mod/module/storage, // Bubberstation Edit - Original: Extended storage + /obj/item/mod/module/storage/large_capacity, /obj/item/mod/module/magnetic_harness, /obj/item/mod/module/flashlight, /obj/item/mod/module/jetpack, - // /obj/item/mod/module/projectile_dampener, Bubberstation Removal + /obj/item/mod/module/projectile_dampener, /obj/item/mod/module/quick_carry, ) default_pins = list( diff --git a/modular_zubbers/code/datums/armor_overrides.dm b/modular_zubbers/code/datums/armor_overrides.dm index 81b7316a359..c4ac1da46f7 100644 --- a/modular_zubbers/code/datums/armor_overrides.dm +++ b/modular_zubbers/code/datums/armor_overrides.dm @@ -1,29 +1,130 @@ -// Buffs security modsuit armor +// Buffs security modsuit armor (relative), adds armour boosters to every sec and command and corporate modsuit, halves all default armour values /datum/mod_theme/security armor_type = /datum/armor/mod_theme_security + inbuilt_modules = list(/obj/item/mod/module/armor_booster/nanotrasen/security) /datum/armor/mod_theme_security - melee = 40 - bullet = 30 - laser = 30 - energy = 40 - bomb = 50 + melee = 20 + bullet = 15 + laser = 15 + energy = 20 + bomb = 30 bio = 100 fire = 100 acid = 100 wound = 10 -// Blueshield Armor -/datum/mod_theme/blueshield - armor_type = /datum/armor/mod_theme_blueshield +/obj/item/mod/control/pre_equipped/security/Initialize() + default_pins += /obj/item/mod/module/armor_booster/nanotrasen/security + . = ..() -/datum/armor/mod_theme_blueshield // Not really great for fighting. - melee = 40 +/datum/mod_theme/safeguard //HoS + armor_type = /datum/armor/mod_theme_safeguard + inbuilt_modules = list(/obj/item/mod/module/armor_booster/nanotrasen/security/safeguard) + +/datum/armor/mod_theme_safeguard + melee = 20 + bullet = 15 + laser = 15 + energy = 20 + bomb = 30 + bio = 100 + fire = 100 + acid = 95 + wound = 25 + +/obj/item/mod/control/pre_equipped/safeguard/Initialize() + default_pins += /obj/item/mod/module/armor_booster/nanotrasen/security/safeguard + . = ..() + +/datum/mod_theme/magnate // Captain + armor_type = /datum/armor/mod_theme_magnate + inbuilt_modules = list(/obj/item/mod/module/armor_booster/nanotrasen/magnate) + +/datum/armor/mod_theme_magnate + melee = 20 bullet = 20 laser = 20 - energy = 30 + energy = 20 bomb = 50 bio = 100 fire = 100 acid = 100 wound = 20 + +/obj/item/mod/control/pre_equipped/magnate/Initialize() + default_pins += /obj/item/mod/module/armor_booster/nanotrasen/magnate + . = ..() + +/datum/mod_theme/responsory // ERT + armor_type = /datum/armor/mod_theme_responsory + inbuilt_modules = list(/obj/item/mod/module/armor_booster/nanotrasen/security) + +/datum/armor/mod_theme_responsory + melee = 20 + bullet = 15 + laser = 15 + energy = 20 + bomb = 50 + bio = 100 + fire = 100 + acid = 90 + wound = 15 + +/obj/item/mod/control/pre_equipped/responsory/Initialize() + applied_modules -= list( + /obj/item/mod/module/welding, + /obj/item/mod/module/armor_booster/retractplates, + /obj/item/mod/module/armor_booster, //none of them use these and im not sure if its redundant, better to be safe than not. + ) + default_pins += /obj/item/mod/module/armor_booster/nanotrasen/security + . = ..() + +/datum/mod_theme/corporate // Centcom Commander + armor_type = /datum/armor/mod_theme_corporate + inbuilt_modules = list(/obj/item/mod/module/armor_booster/nanotrasen/corporate) + +/datum/armor/mod_theme_corporate + melee = 25 + bullet = 25 + laser = 25 + energy = 25 + bomb = 50 + bio = 100 + fire = 100 + acid = 100 + wound = 15 + +/obj/item/mod/control/pre_equipped/corporate/Initialize() + default_pins += /obj/item/mod/module/armor_booster/nanotrasen/corporate + . = ..() + +// Blueshield Armor +/datum/mod_theme/blueshield + armor_type = /datum/armor/mod_theme_blueshield + inbuilt_modules = list(/obj/item/mod/module/armor_booster/nanotrasen/blueshield) + +/datum/armor/mod_theme_blueshield // Not really great for fighting. + melee = 20 + bullet = 10 + laser = 10 + energy = 15 + bomb = 50 + bio = 100 + fire = 100 + acid = 100 + wound = 20 + +/obj/item/mod/control/pre_equipped/blueshield/ + applied_cell = /obj/item/stock_parts/cell/high + applied_modules = list( + /obj/item/mod/module/storage, + /obj/item/mod/module/magnetic_harness, + /obj/item/mod/module/flashlight, + /obj/item/mod/module/jetpack, + /obj/item/mod/module/quick_carry, + ) + +/obj/item/mod/control/pre_equipped/blueshield/Initialize() + default_pins += /obj/item/mod/module/armor_booster/nanotrasen/blueshield + . = ..() diff --git a/modular_zubbers/modules/mod_suits/modules.dm b/modular_zubbers/modules/mod_suits/modules.dm new file mode 100644 index 00000000000..0f49176a4d6 --- /dev/null +++ b/modular_zubbers/modules/mod_suits/modules.dm @@ -0,0 +1,57 @@ +/obj/item/mod/module/armor_booster/nanotrasen //An "armour booster" for security grade modsuits, to reduce the effectiveness of armoured combat in EVA. + desc = "A retrofitted series of retractable armor plates, allowing the suit to function as essentially power armor, \ + giving the user incredible protection against conventional firearms, or everyday attacks in close-quarters. \ + However, the additional plating cannot deploy alongside parts of the suit used for vacuum sealing, \ + so this extra armor provides zero ability for extravehicular activity while deployed. \ + This module has been partially reverse engineered from competing combat MOD technology, \ + and does not help reduce the bulkiness of many of the suits it is installed in." + speed_added = 0 //This is to nerf your armour, not buff your modsuit speed + icon = 'icons/obj/clothing/suits/armor.dmi' + icon_state = "heavy" //SWAT suit icon, because I want to change the action buttons and these aren't meant to be obtainable outside the suits + +//every security, command, etc mod theme has its own armour booster now, taking half the armour values of their current modsuit armour +//see modular_zubbers/code/datums/armor_overrides for modsuit changes +/obj/item/mod/module/armor_booster/nanotrasen/security //secoff modsuits, ERT modsuits also + armor_mod = /datum/armor/mod_module_armor_boost_security + +/datum/armor/mod_module_armor_boost_security + melee = 20 + bullet = 15 + laser = 15 + energy = 20 + +/obj/item/mod/module/armor_booster/nanotrasen/security/safeguard //HoS + desc = "A retrofitted series of retractable armor plates, allowing the suit to function as essentially power armor, \ + giving the user incredible protection against conventional firearms, or everyday attacks in close-quarters. \ + However, the additional plating cannot deploy alongside parts of the suit used for vacuum sealing, \ + so this extra armor provides zero ability for extravehicular activity while deployed. \ + This module has been partially reverse engineered from competing combat MOD technology, \ + though Apadyne has partially mitigated some of the excess power towards improved actuators in the suit." + speed_added = 0.25 //better actuators on the HoS model + +/obj/item/mod/module/armor_booster/nanotrasen/magnate //Captain + armor_mod = /datum/armor/mod_module_armor_boost_magnate + +/datum/armor/mod_module_armor_boost_magnate + melee = 20 + bullet = 20 + laser = 20 + energy = 20 + +/obj/item/mod/module/armor_booster/nanotrasen/corporate //CENTCOM + armor_mod = /datum/armor/mod_module_armor_boost_corporate + +/datum/armor/mod_module_armor_boost_corporate + melee = 25 + bullet = 25 + laser = 25 + energy = 25 + +/obj/item/mod/module/armor_booster/nanotrasen/blueshield + armor_mod = /datum/armor/mod_module_armor_boost_blueshield + +/datum/armor/mod_module_armor_boost_blueshield + melee = 20 + bullet = 10 + laser = 10 + energy = 15 diff --git a/tgstation.dme b/tgstation.dme index 420be3ebe17..1b604958420 100644 --- a/tgstation.dme +++ b/tgstation.dme @@ -8377,6 +8377,7 @@ #include "modular_zubbers\modules\jobs\code\trims\jobs.dm" #include "modular_zubbers\modules\loadouts\overrides\loadout_items\loadout_datum.dm" #include "modular_zubbers\modules\mapping\modules\ss13_construct\areas.dm" +#include "modular_zubbers\modules\mod_suits\modules.dm" #include "modular_zubbers\modules\modular_items\code\cake_light.dm" #include "modular_zubbers\modules\modular_items\code\HoS_beacon.dm" #include "modular_zubbers\modules\modular_items\code\idmaco_donator.dm"