mirror of
https://github.com/ParadiseSS13/Paradise.git
synced 2026-08-22 03:27:05 +01:00
CMO's very own modsuit - 'Salvation' (#31941)
* sprites and theme * searchlight module * suit storages * trader spawner * actual plating item * misc updates * species sprite hell * linter * module description * Now protects contents from radiation * CBRN module * removes extra comment * nerfs default rad protection to 75% * clothing icon changes * linter. * removes searchlight module * komrad request - removes fireproof, keeps high fire resistance * fixes backside sprite
This commit is contained in:
@@ -93,6 +93,10 @@
|
||||
theme = /datum/mod_theme/research
|
||||
materials = list(MAT_METAL = 6000, MAT_GLASS = 1000, MAT_URANIUM = 2000, MAT_PLASMA = 1000)
|
||||
|
||||
/obj/item/mod/construction/plating/salvation
|
||||
theme = /datum/mod_theme/salvation
|
||||
materials = list(MAT_METAL = 6000, MAT_GLASS = 1000, MAT_URANIUM = 2000, MAT_PLASMA = 1000)
|
||||
|
||||
#define START_STEP "start"
|
||||
#define CORE_STEP "core"
|
||||
#define SCREWED_CORE_STEP "screwed_core"
|
||||
|
||||
@@ -558,6 +558,68 @@
|
||||
/obj/item/mod/armor/mod_theme_rescue
|
||||
armor = list(MELEE = 20, BULLET = 20, LASER = 5, ENERGY = 5, BOMB = 10, RAD = 250, FIRE = 150, ACID = 150) //Extra melee / bullet armor for if they get caught in a fight. Of course, no laser armor.
|
||||
|
||||
/datum/mod_theme/salvation
|
||||
name = "'Salvation' hazard"
|
||||
desc = "An experimental medical suit designed for emergency care in conflict zones and extreme environmental hazards."
|
||||
extended_desc = "An experimental upgrade to the Apollo and Valkyrie lines, the D-142E 'Salvation' is a bulky, moderately-armored medical modsuit designed by DeForest Medical Corperation. \
|
||||
Sacrificing the light-weight design of previous iterations for additional protection from both weapons and environmental factors, while boasting a more powerful core and servos to partially offset the excess weight. \
|
||||
The suit's armor has seen even more improvements with a careful mix of composite and standard ballistic armor, along with an advanced CBRN active protection system. \
|
||||
The experimental nature of this suit makes it exclusive to the most practical and wealthy positions outside DeForest testing."
|
||||
default_skin = "salvation"
|
||||
armor_type_1 = /obj/item/mod/armor/mod_theme_salvation
|
||||
resistance_flags = ACID_PROOF
|
||||
flag_2_flags = RAD_PROTECT_CONTENTS_2 // only protects stored items
|
||||
max_heat_protection_temperature = FIRE_SUIT_MAX_TEMP_PROTECT
|
||||
charge_drain = DEFAULT_CHARGE_DRAIN * 2
|
||||
slowdown_active = 0.35
|
||||
inbuilt_modules = list(/obj/item/mod/module/cbrn)
|
||||
allowed_suit_storage = list(
|
||||
/obj/item/healthanalyzer,
|
||||
/obj/item/reagent_containers/dropper,
|
||||
/obj/item/reagent_containers/glass/beaker,
|
||||
/obj/item/reagent_containers/glass/bottle,
|
||||
/obj/item/reagent_containers/hypospray,
|
||||
/obj/item/reagent_containers/syringe,
|
||||
/obj/item/stack/medical,
|
||||
/obj/item/sensor_device,
|
||||
/obj/item/storage/pill_bottle,
|
||||
/obj/item/storage/bag/chemistry,
|
||||
/obj/item/storage/bag/bio,
|
||||
/obj/item/melee/classic_baton/telescopic,
|
||||
/obj/item/gun
|
||||
)
|
||||
skins = list(
|
||||
"salvation" = list(
|
||||
HELMET_FLAGS = list(
|
||||
UNSEALED_LAYER = COLLAR_LAYER,
|
||||
|
||||
SEALED_CLOTHING = THICKMATERIAL | STOPSPRESSUREDMAGE | BLOCK_GAS_SMOKE_EFFECT | BLOCKHAIR,
|
||||
UNSEALED_INVISIBILITY = HIDEFACE,
|
||||
SEALED_INVISIBILITY = HIDEMASK | HIDEEYES | HIDEEARS | HIDEFACE,
|
||||
SEALED_COVER = HEADCOVERSMOUTH | HEADCOVERSEYES,
|
||||
),
|
||||
CHESTPLATE_FLAGS = list(
|
||||
UNSEALED_CLOTHING = THICKMATERIAL,
|
||||
SEALED_CLOTHING = STOPSPRESSUREDMAGE,
|
||||
SEALED_INVISIBILITY = HIDEJUMPSUIT | HIDETAIL,
|
||||
),
|
||||
GAUNTLETS_FLAGS = list(
|
||||
UNSEALED_CLOTHING = THICKMATERIAL,
|
||||
SEALED_CLOTHING = STOPSPRESSUREDMAGE,
|
||||
CAN_OVERSLOT = TRUE,
|
||||
),
|
||||
BOOTS_FLAGS = list(
|
||||
UNSEALED_CLOTHING = THICKMATERIAL,
|
||||
SEALED_CLOTHING = STOPSPRESSUREDMAGE,
|
||||
CAN_OVERSLOT = TRUE,
|
||||
),
|
||||
),
|
||||
)
|
||||
|
||||
/obj/item/mod/armor/mod_theme_salvation
|
||||
armor = list(MELEE = 25, BULLET = 20, LASER = 15, ENERGY = 10, BOMB = 25, RAD = 150, FIRE = 250, ACID = 150) //Extra armor in compensation of being slower then, and an improvement of the valkyrie.
|
||||
|
||||
|
||||
/datum/mod_theme/research
|
||||
name = "'Minerva' research"
|
||||
desc = "A powered EOD suit produced by Aussec Armory. Absolutely unmatched explosive and acid protection, along with heavy conventional armor and high modding potential."
|
||||
|
||||
@@ -181,6 +181,23 @@
|
||||
/obj/item/mod/module/analyzer,
|
||||
)
|
||||
|
||||
/obj/item/mod/control/pre_equipped/salvation
|
||||
icon_state = "salvation-control"
|
||||
theme = /datum/mod_theme/salvation
|
||||
applied_cell = /obj/item/stock_parts/cell/super
|
||||
applied_modules = list(
|
||||
/obj/item/mod/module/storage/large_capacity,
|
||||
/obj/item/mod/module/injector,
|
||||
/obj/item/mod/module/defibrillator,
|
||||
/obj/item/mod/module/monitor,
|
||||
/obj/item/mod/module/analyzer,
|
||||
)
|
||||
default_pins = list(
|
||||
/obj/item/mod/module/defibrillator,
|
||||
/obj/item/mod/module/analyzer,
|
||||
/obj/item/mod/module/cbrn,
|
||||
)
|
||||
|
||||
/obj/item/mod/control/pre_equipped/research
|
||||
icon_state = "research-control"
|
||||
theme = /datum/mod_theme/research
|
||||
|
||||
@@ -151,3 +151,44 @@
|
||||
name = "MOD health analyzer"
|
||||
desc = "A integrated body scanner that allows the user to scan vital signs of a patient."
|
||||
flags = NODROP
|
||||
|
||||
/obj/item/mod/module/cbrn
|
||||
name = "CBRN Protection System"
|
||||
desc = "An active protection system that forms a complete biological shield around the wearer when active, \
|
||||
greatly limiting movement and spiking power usage to completely protect against chemical, biological, radiological, and nuclear hazards."
|
||||
icon_state = "cbrn"
|
||||
module_type = MODULE_TOGGLE
|
||||
cooldown_time = 0.5 SECONDS
|
||||
active_power_cost = DEFAULT_CHARGE_DRAIN * 6 // Eats power for its protection
|
||||
incompatible_modules = list(/obj/item/mod/module/cbrn)
|
||||
removable = FALSE // Exclusive to the CMO suit
|
||||
materials = list(MAT_METAL = 15000, MAT_TITANIUM = 5000, MAT_URANIUM = 5000)
|
||||
/// Speed lowered to the control unit.
|
||||
var/speed_lowered = 0.15
|
||||
/// Original armor of the suit, simpler solution to resolve subtracting infinities
|
||||
var/original_armor = null
|
||||
|
||||
/obj/item/mod/module/cbrn/on_activation()
|
||||
. = ..()
|
||||
if(!.)
|
||||
return
|
||||
playsound(src, 'sound/mecha/mechmove03.ogg', 25, TRUE, SHORT_RANGE_SOUND_EXTRARANGE)
|
||||
to_chat(mod.wearer, SPAN_NOTICE("Environmental protection enabled, biological shield raised, mobility decreased."))
|
||||
var/list/parts = mod.mod_parts + mod
|
||||
for(var/obj/item/part as anything in parts)
|
||||
original_armor = part.armor
|
||||
part.armor = part.armor.modifyRating(0, 0, 0, 0, 10, INFINITY, 0, INFINITY, 0) // due to infinities and non-zeros, attach and detach wont work, there is probably a much better solution
|
||||
part.slowdown += (speed_lowered)
|
||||
|
||||
/obj/item/mod/module/cbrn/on_deactivation(display_message = TRUE, deleting = FALSE)
|
||||
. = ..()
|
||||
if(!.)
|
||||
return
|
||||
if(!deleting)
|
||||
playsound(src, 'sound/mecha/mechmove03.ogg', 25, TRUE, SHORT_RANGE_SOUND_EXTRARANGE)
|
||||
to_chat(mod.wearer, SPAN_NOTICE("Environmental protection disabled, biological shield lowered, mobility increased."))
|
||||
var/list/parts = mod.mod_parts + mod
|
||||
for(var/obj/item/part as anything in parts)
|
||||
part.armor = original_armor
|
||||
part.slowdown -= (speed_lowered)
|
||||
|
||||
|
||||
Reference in New Issue
Block a user