From 266e5892f0faaea51eed1e40dd7525a0e8ec0a5a Mon Sep 17 00:00:00 2001 From: zeroisthebiggay <43571008+zeroisthebiggay@users.noreply.github.com> Date: Tue, 21 Feb 2023 05:21:09 -0500 Subject: [PATCH 01/20] Update assistant.dm --- code/modules/jobs/job_types/assistant.dm | 1 - 1 file changed, 1 deletion(-) diff --git a/code/modules/jobs/job_types/assistant.dm b/code/modules/jobs/job_types/assistant.dm index 7ce29db178..6ec7d2c438 100644 --- a/code/modules/jobs/job_types/assistant.dm +++ b/code/modules/jobs/job_types/assistant.dm @@ -22,7 +22,6 @@ Assistant threat = 0.2 family_heirlooms = list( - /obj/item/storage/toolbox/mechanical/old/heirloom, /obj/item/clothing/gloves/cut/family ) From 66aa1cb05c6f709c834589d87c7d3abb128374b7 Mon Sep 17 00:00:00 2001 From: KrissKr0ss <123323882+KrissKr0ss@users.noreply.github.com> Date: Mon, 1 May 2023 00:16:20 -0500 Subject: [PATCH 02/20] Revert "Merge pull request #15929 from JerryWester/revert-15894-modsuits" This reverts commit 48e713ff33200b293d19d85b245856792478f192, reversing changes made to efb2d19cb913c4150e65404953897eb6393cbae6. --- code/__DEFINES/achievements.dm | 1 + code/__DEFINES/dcs/signals.dm | 2 + .../signals_atom/signals_atom_movable.dm | 3 + code/__DEFINES/dcs/signals/signals_medical.dm | 14 + code/__DEFINES/dcs/signals/signals_mod.dm | 35 + code/__DEFINES/dcs/signals/signals_reagent.dm | 2 + code/__DEFINES/mod.dm | 40 + code/__DEFINES/traits.dm | 16 +- code/_globalvars/lists/maintenance_loot.dm | 2 + code/_onclick/hud/radial.dm | 2 + code/datums/achievements/misc_achievements.dm | 6 + .../crafting/recipes/recipes_misc.dm | 13 + code/datums/wires/mod.dm | 57 ++ code/game/machinery/rechargestation.dm | 6 +- code/game/machinery/suit_storage_unit.dm | 104 ++- code/game/objects/items.dm | 8 +- code/game/objects/items/defib.dm | 6 + code/game/objects/items/tanks/jetpack.dm | 33 +- .../closets/secure/engineering.dm | 2 + .../crates_lockers/closets/secure/medical.dm | 2 + .../closets/secure/scientist.dm | 2 +- .../crates_lockers/closets/secure/security.dm | 2 + code/modules/cargo/packs/science.dm | 11 + code/modules/mob/inventory.dm | 1 + code/modules/mob/living/carbon/carbon.dm | 17 +- .../mob/living/carbon/carbon_movement.dm | 12 +- .../mob/living/carbon/human/inventory.dm | 16 +- code/modules/mob/living/silicon/ai/ai.dm | 30 +- code/modules/mob/living/silicon/pai/pai.dm | 7 + code/modules/mob/mob.dm | 2 +- code/modules/mob/mob_helpers.dm | 2 +- code/modules/mod/mod_actions.dm | 94 ++ code/modules/mod/mod_activation.dm | 246 +++++ code/modules/mod/mod_ai.dm | 198 ++++ code/modules/mod/mod_clothes.dm | 138 +++ code/modules/mod/mod_construction.dm | 291 ++++++ code/modules/mod/mod_control.dm | 588 ++++++++++++ code/modules/mod/mod_theme.dm | 854 ++++++++++++++++++ code/modules/mod/mod_types.dm | 273 ++++++ code/modules/mod/mod_ui.dm | 86 ++ code/modules/mod/modules/_module.dm | 357 ++++++++ code/modules/mod/modules/modules.dm | 96 ++ .../mod/modules/modules_engineering.dm | 215 +++++ code/modules/mod/modules/modules_general.dm | 402 +++++++++ code/modules/mod/modules/modules_maint.dm | 157 ++++ code/modules/mod/modules/modules_medical.dm | 189 ++++ code/modules/mod/modules/modules_science.dm | 135 +++ code/modules/mod/modules/modules_security.dm | 207 +++++ code/modules/mod/modules/modules_service.dm | 66 ++ code/modules/mod/modules/modules_supply.dm | 229 +++++ code/modules/mod/modules/modules_visor.dm | 91 ++ code/modules/projectiles/projectile.dm | 4 +- code/modules/reagents/chemistry/holder.dm | 1 + code/modules/research/designs/mod_designs.dm | 372 ++++++++ code/modules/research/machinery/protolathe.dm | 3 +- code/modules/research/machinery/techfab.dm | 3 +- .../research/techweb/nodes/mod_nodes.dm | 124 +++ code/modules/surgery/surgery.dm | 9 + code/modules/vehicles/mecha/_mecha.dm | 6 +- .../modules/vehicles/mecha/mech_fabricator.dm | 2 + code/modules/vehicles/mecha/mecha_wreckage.dm | 2 +- icons/mob/actions/actions_mod.dmi | Bin 0 -> 3408 bytes icons/mob/clothing/modsuit/mod_clothing.dmi | Bin 0 -> 133028 bytes .../clothing/modsuit/mod_clothing_anthro.dmi | Bin 0 -> 117855 bytes icons/mob/clothing/modsuit/mod_modules.dmi | Bin 0 -> 14775 bytes icons/obj/clothing/modsuit/mod_clothing.dmi | Bin 0 -> 77817 bytes .../obj/clothing/modsuit/mod_construction.dmi | Bin 0 -> 5671 bytes icons/obj/clothing/modsuit/mod_modules.dmi | Bin 0 -> 52753 bytes icons/obj/defibrillators.dmi | Bin 6737 -> 7419 bytes sound/items/modsuit/atrocinator_step.ogg | Bin 0 -> 4934 bytes sound/items/modsuit/ballin.ogg | 0 sound/items/modsuit/ballout.ogg | Bin 0 -> 9842 bytes sound/items/modsuit/flamethrower.ogg | Bin 0 -> 49116 bytes sound/items/modsuit/inflate_bloon.ogg | Bin 0 -> 16773 bytes sound/items/modsuit/loader_charge.ogg | Bin 0 -> 21120 bytes sound/items/modsuit/loader_launch.ogg | Bin 0 -> 17220 bytes sound/items/modsuit/magnetic_harness.ogg | Bin 0 -> 6981 bytes sound/items/modsuit/rewinder.ogg | Bin 0 -> 30358 bytes sound/items/modsuit/springlock.ogg | Bin 0 -> 11936 bytes sound/items/modsuit/tem_shot.ogg | Bin 0 -> 12742 bytes sound/items/modsuit/time_anchor_set.ogg | Bin 0 -> 13411 bytes sound/mecha/hydraulic.ogg | Bin 0 -> 27124 bytes sound/weapons/revolverempty.ogg | Bin 0 -> 9578 bytes tgstation.dme | 28 + tgui/packages/tgui/interfaces/MODpaint.js | 151 ++++ tgui/packages/tgui/interfaces/MODsuit.js | 766 ++++++++++++++++ .../tgui/interfaces/SuitStorageUnit.js | 10 + 87 files changed, 6809 insertions(+), 40 deletions(-) create mode 100644 code/__DEFINES/dcs/signals/signals_atom/signals_atom_movable.dm create mode 100644 code/__DEFINES/dcs/signals/signals_medical.dm create mode 100644 code/__DEFINES/dcs/signals/signals_mod.dm create mode 100644 code/__DEFINES/dcs/signals/signals_reagent.dm create mode 100644 code/__DEFINES/mod.dm create mode 100644 code/datums/wires/mod.dm create mode 100644 code/modules/mod/mod_actions.dm create mode 100644 code/modules/mod/mod_activation.dm create mode 100644 code/modules/mod/mod_ai.dm create mode 100644 code/modules/mod/mod_clothes.dm create mode 100644 code/modules/mod/mod_construction.dm create mode 100644 code/modules/mod/mod_control.dm create mode 100644 code/modules/mod/mod_theme.dm create mode 100644 code/modules/mod/mod_types.dm create mode 100644 code/modules/mod/mod_ui.dm create mode 100644 code/modules/mod/modules/_module.dm create mode 100644 code/modules/mod/modules/modules.dm create mode 100644 code/modules/mod/modules/modules_engineering.dm create mode 100644 code/modules/mod/modules/modules_general.dm create mode 100644 code/modules/mod/modules/modules_maint.dm create mode 100644 code/modules/mod/modules/modules_medical.dm create mode 100644 code/modules/mod/modules/modules_science.dm create mode 100644 code/modules/mod/modules/modules_security.dm create mode 100644 code/modules/mod/modules/modules_service.dm create mode 100644 code/modules/mod/modules/modules_supply.dm create mode 100644 code/modules/mod/modules/modules_visor.dm create mode 100644 code/modules/research/designs/mod_designs.dm create mode 100644 code/modules/research/techweb/nodes/mod_nodes.dm create mode 100644 icons/mob/actions/actions_mod.dmi create mode 100644 icons/mob/clothing/modsuit/mod_clothing.dmi create mode 100644 icons/mob/clothing/modsuit/mod_clothing_anthro.dmi create mode 100644 icons/mob/clothing/modsuit/mod_modules.dmi create mode 100644 icons/obj/clothing/modsuit/mod_clothing.dmi create mode 100644 icons/obj/clothing/modsuit/mod_construction.dmi create mode 100644 icons/obj/clothing/modsuit/mod_modules.dmi create mode 100644 sound/items/modsuit/atrocinator_step.ogg create mode 100644 sound/items/modsuit/ballin.ogg create mode 100644 sound/items/modsuit/ballout.ogg create mode 100644 sound/items/modsuit/flamethrower.ogg create mode 100644 sound/items/modsuit/inflate_bloon.ogg create mode 100644 sound/items/modsuit/loader_charge.ogg create mode 100644 sound/items/modsuit/loader_launch.ogg create mode 100644 sound/items/modsuit/magnetic_harness.ogg create mode 100644 sound/items/modsuit/rewinder.ogg create mode 100644 sound/items/modsuit/springlock.ogg create mode 100644 sound/items/modsuit/tem_shot.ogg create mode 100644 sound/items/modsuit/time_anchor_set.ogg create mode 100644 sound/mecha/hydraulic.ogg create mode 100644 sound/weapons/revolverempty.ogg create mode 100644 tgui/packages/tgui/interfaces/MODpaint.js create mode 100644 tgui/packages/tgui/interfaces/MODsuit.js diff --git a/code/__DEFINES/achievements.dm b/code/__DEFINES/achievements.dm index 20c68c015b..0cbba32b96 100644 --- a/code/__DEFINES/achievements.dm +++ b/code/__DEFINES/achievements.dm @@ -35,6 +35,7 @@ #define MEDAL_HOT_DAMN "Hot Damn!" #define MEDAL_CAYENNE_DISK "Very Important Piscis" #define MEDAL_TRAM_SURFER "Tram Surfer" +#define MEDAL_SPRINGLOCK "The Man Inside the Modsuit" //Skill medal hub IDs #define MEDAL_LEGENDARY_MINER "Legendary Miner" diff --git a/code/__DEFINES/dcs/signals.dm b/code/__DEFINES/dcs/signals.dm index 2b9fa902e9..cd2c735e09 100644 --- a/code/__DEFINES/dcs/signals.dm +++ b/code/__DEFINES/dcs/signals.dm @@ -474,6 +474,8 @@ #define COMSIG_ITEM_AFTERATTACK "item_afterattack" //from base of obj/item/afterattack(): (atom/target, mob/user, params) #define COMSIG_ITEM_ALT_AFTERATTACK "item_alt_afterattack" //from base of obj/item/altafterattack(): (atom/target, mob/user, proximity, params) #define COMSIG_ITEM_EQUIPPED "item_equip" //from base of obj/item/equipped(): (/mob/equipper, slot) +/// A mob has just unequipped an item. +#define COMSIG_MOB_UNEQUIPPED_ITEM "mob_unequipped_item" // Do not grant actions on equip. #define COMPONENT_NO_GRANT_ACTIONS 1 #define COMSIG_ITEM_DROPPED "item_drop" //from base of obj/item/dropped(): (mob/user) diff --git a/code/__DEFINES/dcs/signals/signals_atom/signals_atom_movable.dm b/code/__DEFINES/dcs/signals/signals_atom/signals_atom_movable.dm new file mode 100644 index 0000000000..be1e9b31c8 --- /dev/null +++ b/code/__DEFINES/dcs/signals/signals_atom/signals_atom_movable.dm @@ -0,0 +1,3 @@ +/// from base of atom/movable/Process_Spacemove(): (movement_dir) +#define COMSIG_MOVABLE_SPACEMOVE "spacemove" + #define COMSIG_MOVABLE_STOP_SPACEMOVE (1<<0) diff --git a/code/__DEFINES/dcs/signals/signals_medical.dm b/code/__DEFINES/dcs/signals/signals_medical.dm new file mode 100644 index 0000000000..801eb6b41b --- /dev/null +++ b/code/__DEFINES/dcs/signals/signals_medical.dm @@ -0,0 +1,14 @@ +/// From /datum/surgery/New(): (datum/surgery/surgery, surgery_location (body zone), obj/item/bodypart/targeted_limb) +#define COMSIG_MOB_SURGERY_STARTED "mob_surgery_started" + +/// From /datum/surgery_step/success(): (datum/surgery_step/step, mob/living/target, target_zone, obj/item/tool, datum/surgery/surgery, default_display_results) +#define COMSIG_MOB_SURGERY_STEP_SUCCESS "mob_surgery_step_success" + +/// From /obj/item/shockpaddles/proc/do_success(): (obj/item/shockpaddles/source) +#define COMSIG_DEFIBRILLATOR_SUCCESS "defib_success" + #define COMPONENT_DEFIB_STOP (1<<0) + +/// From /datum/surgery/can_start(): (mob/source, datum/surgery/surgery, mob/living/patient) +#define COMSIG_SURGERY_STARTING "surgery_starting" + #define COMPONENT_CANCEL_SURGERY (1<<0) + #define COMPONENT_FORCE_SURGERY (1<<1) diff --git a/code/__DEFINES/dcs/signals/signals_mod.dm b/code/__DEFINES/dcs/signals/signals_mod.dm new file mode 100644 index 0000000000..2533b69852 --- /dev/null +++ b/code/__DEFINES/dcs/signals/signals_mod.dm @@ -0,0 +1,35 @@ +//MODsuit signals +/// Called when a module is selected to be the active one from on_select(obj/item/mod/module/module) +#define COMSIG_MOD_MODULE_SELECTED "mod_module_selected" +/// Called when a MOD deploys one or more of its parts. +#define COMSIG_MOD_DEPLOYED "mod_deployed" +/// Called when a MOD retracts one or more of its parts. +#define COMSIG_MOD_RETRACTED "mod_retracted" +/// Called when a MOD is finished toggling itself. +#define COMSIG_MOD_TOGGLED "mod_toggled" +/// Called when a MOD activation is called from toggle_activate(mob/user) +#define COMSIG_MOD_ACTIVATE "mod_activate" + /// Cancels the suit's activation + #define MOD_CANCEL_ACTIVATE (1 << 0) +/// Called when a MOD finishes having a module removed from it. +#define COMSIG_MOD_MODULE_REMOVED "mod_module_removed" +/// Called when a MOD finishes having a module added to it. +#define COMSIG_MOD_MODULE_ADDED "mod_module_added" +/// Called when a MOD is having modules removed from crowbar_act(mob/user, obj/crowbar) +#define COMSIG_MOD_MODULE_REMOVAL "mod_module_removal" + /// Cancels the removal of modules + #define MOD_CANCEL_REMOVAL (1 << 0) +/// Called when a module attempts to activate, however it does. At the end of checks so you can add some yourself, or work on trigger behavior (mob/user) +#define COMSIG_MODULE_TRIGGERED "mod_module_triggered" + /// Cancels activation, with no message. Include feedback on your cancel. + #define MOD_ABORT_USE (1<<0) +/// Called when a module activates, after all checks have passed and cooldown started. +#define COMSIG_MODULE_ACTIVATED "mod_module_activated" +/// Called when a module deactivates, after all checks have passed. +#define COMSIG_MODULE_DEACTIVATED "mod_module_deactivated" +/// Called when a module is used, after all checks have passed and cooldown started. +#define COMSIG_MODULE_USED "mod_module_used" +/// Called when the MODsuit wearer is set. +#define COMSIG_MOD_WEARER_SET "mod_wearer_set" +/// Called when the MODsuit wearer is unset. +#define COMSIG_MOD_WEARER_UNSET "mod_wearer_unset" diff --git a/code/__DEFINES/dcs/signals/signals_reagent.dm b/code/__DEFINES/dcs/signals/signals_reagent.dm new file mode 100644 index 0000000000..848458f91c --- /dev/null +++ b/code/__DEFINES/dcs/signals/signals_reagent.dm @@ -0,0 +1,2 @@ +///Sent by /datum/reagents/proc/reaction, used for /obj/item/mod/module/springlock +#define COMSIG_ATOM_EXPOSE_REAGENTS "atom_expose_reagents" diff --git a/code/__DEFINES/mod.dm b/code/__DEFINES/mod.dm new file mode 100644 index 0000000000..0e380f9e95 --- /dev/null +++ b/code/__DEFINES/mod.dm @@ -0,0 +1,40 @@ +/// Default value for the max_complexity var on MODsuits +#define DEFAULT_MAX_COMPLEXITY 15 + +/// Default cell drain per process on MODsuits +#define DEFAULT_CHARGE_DRAIN 5 + +/// Default time for a part to seal +#define MOD_ACTIVATION_STEP_TIME (2 SECONDS) + +/// Passive module, just acts when put in naturally. +#define MODULE_PASSIVE 0 +/// Usable module, does something when you press a button. +#define MODULE_USABLE 1 +/// Toggle module, you turn it on/off and it does stuff. +#define MODULE_TOGGLE 2 +/// Actively usable module, you may only have one selected at a time. +#define MODULE_ACTIVE 3 + +//Defines used by the theme for clothing flags and similar +#define CONTROL_LAYER "control_layer" +#define HELMET_FLAGS "helmet_flags" +#define CHESTPLATE_FLAGS "chestplate_flags" +#define GAUNTLETS_FLAGS "gauntlets_flags" +#define BOOTS_FLAGS "boots_flags" + +#define UNSEALED_LAYER "unsealed_layer" +#define UNSEALED_CLOTHING "unsealed_clothing" +#define SEALED_CLOTHING "sealed_clothing" +#define UNSEALED_INVISIBILITY "unsealed_invisibility" +#define SEALED_INVISIBILITY "sealed_invisibility" +#define UNSEALED_COVER "unsealed_cover" +#define SEALED_COVER "sealed_cover" +#define CAN_OVERSLOT "can_overslot" + +//Defines used to override MOD clothing's icon and worn icon files in the skin. +#define MOD_ICON_OVERRIDE "mod_icon_override" +#define MOD_WORN_ICON_OVERRIDE "mod_worn_icon_override" + +/// Global list of all /datum/mod_theme +GLOBAL_LIST_INIT(mod_themes, setup_mod_themes()) diff --git a/code/__DEFINES/traits.dm b/code/__DEFINES/traits.dm index 920a93a906..dbacbcbda5 100644 --- a/code/__DEFINES/traits.dm +++ b/code/__DEFINES/traits.dm @@ -158,6 +158,18 @@ #define TRAIT_CALCIUM_HEALER "calcium_healer" #define TRAIT_MAGIC_CHOKE "magic_choke" #define TRAIT_CAPTAIN_METABOLISM "captain-metabolism" +/// Like antimagic, but doesn't block the user from casting +#define TRAIT_ANTIMAGIC_NO_SELFBLOCK "anti_magic_no_selfblock" +/// Gives us turf, mob and object vision through walls +#define TRAIT_XRAY_VISION "xray_vision" +/// Gives us mob vision through walls and slight night vision +#define TRAIT_THERMAL_VISION "thermal_vision" +/// Gives us turf vision through walls and slight night vision +#define TRAIT_MESON_VISION "meson_vision" +/// Gives us Night vision +#define TRAIT_TRUE_NIGHT_VISION "true_night_vision" +/// Lets us scan reagents +#define TRAIT_REAGENT_SCANNER "reagent_scanner" #define TRAIT_ABDUCTOR_TRAINING "abductor-training" #define TRAIT_ABDUCTOR_SCIENTIST_TRAINING "abductor-scientist-training" #define TRAIT_SURGEON "surgeon" @@ -213,8 +225,6 @@ #define TRAIT_AUTO_CATCH_ITEM "auto_catch_item" #define TRAIT_CLOWN_MENTALITY "clown_mentality" // The future is now, clownman. #define TRAIT_FREESPRINT "free_sprinting" -#define TRAIT_XRAY_VISION "xray_vision" -#define TRAIT_THERMAL_VISION "thermal_vision" #define TRAIT_NO_TELEPORT "no-teleport" //you just can't #define TRAIT_NO_INTERNALS "no-internals" #define TRAIT_TOXIC_ALCOHOL "alcohol_intolerance" @@ -387,3 +397,5 @@ #define STATION_TRAIT_FILLED_MAINT "station_trait_filled_maint" #define STATION_TRAIT_EMPTY_MAINT "station_trait_empty_maint" #define STATION_TRAIT_PDA_GLITCHED "station_trait_pda_glitched" +/// Trait applied by MODsuits. +#define MOD_TRAIT "mod" diff --git a/code/_globalvars/lists/maintenance_loot.dm b/code/_globalvars/lists/maintenance_loot.dm index cec25c0047..d02ebb659e 100644 --- a/code/_globalvars/lists/maintenance_loot.dm +++ b/code/_globalvars/lists/maintenance_loot.dm @@ -53,6 +53,8 @@ GLOBAL_LIST_INIT(maintenance_loot, list( /obj/item/airlock_painter/decal/tile = 1, /obj/item/stack/cable_coil/random = 4, /obj/item/stack/cable_coil/random/five = 6, + /obj/item/mod/construction/broken_core = 5, + /obj/item/mod/module/springlock = 1, /obj/item/stack/medical/suture = 1, /obj/item/stack/rods/ten = 9, /obj/item/stack/rods/twentyfive = 1, diff --git a/code/_onclick/hud/radial.dm b/code/_onclick/hud/radial.dm index 935379b721..b438afaec8 100644 --- a/code/_onclick/hud/radial.dm +++ b/code/_onclick/hud/radial.dm @@ -91,6 +91,8 @@ GLOBAL_LIST_EMPTY(radial_menus) else py_shift = 32 restrict_to_dir(NORTH) //I was going to parse screen loc here but that's more effort than it's worth. + else if(hudfix_method && AM.loc) + anchor = get_atom_on_turf(anchor) //Sets defaults //These assume 45 deg min_angle diff --git a/code/datums/achievements/misc_achievements.dm b/code/datums/achievements/misc_achievements.dm index 5ad337445b..ace74c13a8 100644 --- a/code/datums/achievements/misc_achievements.dm +++ b/code/datums/achievements/misc_achievements.dm @@ -171,3 +171,9 @@ desc = "Lights out, guerilla radio!" database_id = MEDAL_TRAM_SURFER icon = "tram_surfer" + +/datum/award/achievement/misc/springlock + name = "The Man Inside the MODsuit" + desc = "Ignore the warning label on a springlock MODsuit." + database_id = MEDAL_SPRINGLOCK + icon = "springlock" diff --git a/code/datums/components/crafting/recipes/recipes_misc.dm b/code/datums/components/crafting/recipes/recipes_misc.dm index ad37f770ed..fd72964505 100644 --- a/code/datums/components/crafting/recipes/recipes_misc.dm +++ b/code/datums/components/crafting/recipes/recipes_misc.dm @@ -554,6 +554,19 @@ subcategory = CAT_MISCELLANEOUS category = CAT_MISCELLANEOUS +/datum/crafting_recipe/mod_core + name = "MOD core" + result = /obj/item/mod/construction/core + tools = list(TOOL_SCREWDRIVER) + time = 10 SECONDS + reqs = list(/obj/item/stack/cable_coil = 5, + /obj/item/stack/rods = 2, + /obj/item/stack/sheet/glass = 1, + /obj/item/organ/heart = 1 + ) + subcategory = CAT_MISCELLANEOUS + category = CAT_MISCELLANEOUS + ////////////// //Banners///// ////////////// diff --git a/code/datums/wires/mod.dm b/code/datums/wires/mod.dm new file mode 100644 index 0000000000..b5805557ea --- /dev/null +++ b/code/datums/wires/mod.dm @@ -0,0 +1,57 @@ +/datum/wires/mod + holder_type = /obj/item/mod/control + proper_name = "MOD control unit" + +/datum/wires/mod/New(atom/holder) + wires = list(WIRE_HACK, WIRE_DISABLE, WIRE_SHOCK, WIRE_INTERFACE) + add_duds(2) + ..() + +/datum/wires/mod/interactable(mob/user) + if(!..()) + return FALSE + var/obj/item/mod/control/mod = holder + return mod.open + +/datum/wires/mod/get_status() + var/obj/item/mod/control/mod = holder + var/list/status = list() + status += "The orange light is [mod.seconds_electrified ? "on" : "off"]." + status += "The red light is [mod.malfunctioning ? "off" : "blinking"]." + status += "The green light is [mod.locked ? "on" : "off"]." + status += "The yellow light is [mod.interface_break ? "off" : "on"]." + return status + +/datum/wires/mod/on_pulse(wire) + var/obj/item/mod/control/mod = holder + switch(wire) + if(WIRE_HACK) + mod.locked = !mod.locked + if(WIRE_DISABLE) + mod.malfunctioning = TRUE + if(WIRE_SHOCK) + mod.seconds_electrified = MACHINE_DEFAULT_ELECTRIFY_TIME + if(WIRE_INTERFACE) + mod.interface_break = !mod.interface_break + +/datum/wires/mod/on_cut(wire, mend) + var/obj/item/mod/control/mod = holder + switch(wire) + if(WIRE_HACK) + if(!mend) + mod.req_access = list() + if(WIRE_DISABLE) + mod.malfunctioning = !mend + if(WIRE_SHOCK) + if(mend) + mod.seconds_electrified = MACHINE_NOT_ELECTRIFIED + else + mod.seconds_electrified = MACHINE_ELECTRIFIED_PERMANENT + if(WIRE_INTERFACE) + mod.interface_break = !mend + +/datum/wires/mod/ui_act(action, params) + var/obj/item/mod/control/mod = holder + if(!issilicon(usr) && mod.seconds_electrified && mod.shock(usr)) + return FALSE + return ..() diff --git a/code/game/machinery/rechargestation.dm b/code/game/machinery/rechargestation.dm index 11ae19f7fa..1bd795e4f1 100644 --- a/code/game/machinery/rechargestation.dm +++ b/code/game/machinery/rechargestation.dm @@ -1,6 +1,6 @@ /obj/machinery/recharge_station - name = "cyborg recharging station" - desc = "This device recharges cyborgs and resupplies them with materials." + name = "recharging station" + desc = "This device recharges energy dependent lifeforms, like cyborgs, ethereals and MODsuit users." icon = 'icons/obj/objects.dmi' icon_state = "borgcharger0" density = FALSE @@ -10,7 +10,7 @@ req_access = list(ACCESS_ROBOTICS) state_open = TRUE circuit = /obj/item/circuitboard/machine/cyborgrecharger - occupant_typecache = list(/mob/living/silicon/robot) + occupant_typecache = list(/mob/living/silicon/robot, /mob/living/carbon/human) var/recharge_speed var/repairs diff --git a/code/game/machinery/suit_storage_unit.dm b/code/game/machinery/suit_storage_unit.dm index 74a05a1e7b..ca57e8457a 100644 --- a/code/game/machinery/suit_storage_unit.dm +++ b/code/game/machinery/suit_storage_unit.dm @@ -10,11 +10,15 @@ var/obj/item/clothing/suit/space/suit = null var/obj/item/clothing/head/helmet/space/helmet = null var/obj/item/clothing/mask/mask = null + var/obj/item/mod/control/mod = null var/obj/item/storage = null var/suit_type = null var/helmet_type = null var/mask_type = null + /// What type of MOD the unit starts with when spawned. + var/mod_type = null + /// What type of additional item the unit starts with when spawned. var/storage_type = null state_open = FALSE @@ -27,6 +31,8 @@ var/uv_cycles = 6 var/message_cooldown var/breakout_time = 300 + /// How fast it charges cells in a suit + var/charge_rate = 250 /obj/machinery/suit_storage_unit/standard_unit suit_type = /obj/item/clothing/suit/space/eva @@ -38,21 +44,50 @@ mask_type = /obj/item/clothing/mask/gas/sechailer storage_type = /obj/item/tank/jetpack/oxygen/captain +/obj/machinery/suit_storage_unit/captainmod + mask_type = /obj/item/clothing/mask/gas/sechailer + storage_type = /obj/item/tank/jetpack/oxygen/captain + mod_type = /obj/item/mod/control/pre_equipped/magnate + /obj/machinery/suit_storage_unit/engine suit_type = /obj/item/clothing/suit/space/hardsuit/engine mask_type = /obj/item/clothing/mask/breath storage_type= /obj/item/clothing/shoes/magboots +/obj/machinery/suit_storage_unit/enginemod + mask_type = /obj/item/clothing/mask/breath + mod_type = /obj/item/mod/control/pre_equipped/engineering + +/obj/machinery/suit_storage_unit/atmos + suit_type = /obj/item/clothing/suit/space/hardsuit/engine/atmos + mask_type = /obj/item/clothing/mask/breath + storage_type = /obj/item/watertank/atmos + +/obj/machinery/suit_storage_unit/atmosmod + mask_type = /obj/item/clothing/mask/breath + storage_type = /obj/item/watertank/atmos + mod_type = /obj/item/mod/control/pre_equipped/atmospheric + /obj/machinery/suit_storage_unit/ce suit_type = /obj/item/clothing/suit/space/hardsuit/engine/elite mask_type = /obj/item/clothing/mask/breath storage_type= /obj/item/clothing/shoes/magboots/advance +/obj/machinery/suit_storage_unit/cemod + mask_type = /obj/item/clothing/mask/breath + storage_type = /obj/item/clothing/shoes/magboots/advance + mod_type = /obj/item/mod/control/pre_equipped/advanced + /obj/machinery/suit_storage_unit/security suit_type = /obj/item/clothing/suit/space/hardsuit/security mask_type = /obj/item/clothing/mask/gas/sechailer storage_type = /obj/item/tank/jetpack/oxygen/security +/obj/machinery/suit_storage_unit/securitymod + mask_type = /obj/item/clothing/mask/gas/sechailer + mod_type = /obj/item/mod/control/pre_equipped/security + + /obj/machinery/suit_storage_unit/hos suit_type = /obj/item/clothing/suit/space/hardsuit/security/hos mask_type = /obj/item/clothing/mask/gas/sechailer @@ -63,6 +98,11 @@ mask_type = /obj/item/clothing/mask/gas storage_type = /obj/item/watertank/atmos +/obj/machinery/suit_storage_unit/hosmod + mask_type = /obj/item/clothing/mask/gas/sechailer + storage_type = /obj/item/tank/internals/oxygen + mod_type = /obj/item/mod/control/pre_equipped/safeguard + /obj/machinery/suit_storage_unit/mining suit_type = /obj/item/clothing/suit/hooded/explorer/standard mask_type = /obj/item/clothing/mask/gas/explorer @@ -71,6 +111,16 @@ suit_type = /obj/item/clothing/suit/space/hardsuit/mining mask_type = /obj/item/clothing/mask/breath +/obj/machinery/suit_storage_unit/mining/evahos + suit_type = null + mask_type = /obj/item/clothing/mask/breath + mod_type = /obj/item/mod/control/pre_equipped/mining + +/obj/machinery/suit_storage_unit/medicalmod + mask_type = /obj/item/clothing/mask/breath/medical + storage_type = /obj/item/tank/internals/oxygen + mod_type = /obj/item/mod/control/pre_equipped/medical + /obj/machinery/suit_storage_unit/cmo suit_type = /obj/item/clothing/suit/space/hardsuit/medical mask_type = /obj/item/clothing/mask/breath @@ -81,15 +131,29 @@ helmet_type = /obj/item/clothing/head/helmet/space/eva/paramedic mask_type = /obj/item/clothing/mask/breath +/obj/machinery/suit_storage_unit/cmomod + mask_type = /obj/item/clothing/mask/breath/medical + storage_type = /obj/item/tank/internals/oxygen + mod_type = /obj/item/mod/control/pre_equipped/rescue + /obj/machinery/suit_storage_unit/rd suit_type = /obj/item/clothing/suit/space/hardsuit/rd mask_type = /obj/item/clothing/mask/breath +/obj/machinery/suit_storage_unit/rdmod + mask_type = /obj/item/clothing/mask/breath + mod_type = /obj/item/mod/control/pre_equipped/research + /obj/machinery/suit_storage_unit/syndicate suit_type = /obj/item/clothing/suit/space/hardsuit/syndi mask_type = /obj/item/clothing/mask/gas/syndicate storage_type = /obj/item/tank/jetpack/oxygen/harness +/obj/machinery/suit_storage_unit/syndicatemod + mask_type = /obj/item/clothing/mask/gas/syndicate + storage_type = /obj/item/tank/jetpack/oxygen/harness + mod_type = /obj/item/mod/control/pre_equipped/nuclear + /obj/machinery/suit_storage_unit/ert/command suit_type = /obj/item/clothing/suit/space/hardsuit/ert mask_type = /obj/item/clothing/mask/breath @@ -129,6 +193,8 @@ helmet = new helmet_type(src) if(mask_type) mask = new mask_type(src) + if(mod_type) + mod = new mod_type(src) if(storage_type) storage = new storage_type(src) update_icon() @@ -137,6 +203,7 @@ QDEL_NULL(suit) QDEL_NULL(helmet) QDEL_NULL(mask) + QDEL_NULL(mod) QDEL_NULL(storage) return ..() @@ -154,7 +221,7 @@ . += "broken" else . += "open" - if(suit) + if(suit || mod) . += "suit" if(helmet) . += "helm" @@ -175,6 +242,7 @@ helmet = null suit = null mask = null + mod = null storage = null occupant = null @@ -241,6 +309,8 @@ qdel(suit) // Delete everything but the occupant. mask = null qdel(mask) + mod = null + qdel(mod) storage = null qdel(storage) // The wires get damaged too. @@ -262,6 +332,9 @@ if(mask) things_to_clear += mask things_to_clear += mask.GetAllContents() + if(mod) + things_to_clear += mod + things_to_clear += mod.GetAllContents() if(storage) things_to_clear += storage things_to_clear += storage.GetAllContents() @@ -279,6 +352,20 @@ if(occupant) dump_contents() +/obj/machinery/suit_storage_unit/process(delta_time) + var/obj/item/stock_parts/cell/cell + if(mod) + if(!istype(mod)) + return + if(!mod.cell) + return + cell = mod.cell + else + return + + use_power(charge_rate * delta_time) + cell.give(charge_rate * delta_time) + /obj/machinery/suit_storage_unit/proc/shock(mob/user, prb) if(!prob(prb)) var/datum/effect_system/spark_spread/s = new /datum/effect_system/spark_spread @@ -353,6 +440,13 @@ if(!user.transferItemToLoc(I, src)) return mask = I + else if(istype(I, /obj/item/mod/control)) + if(mod) + to_chat(user, span_warning("The unit already contains a MOD!")) + return + if(!user.transferItemToLoc(I, src)) + return + mod = I else if(storage) to_chat(user, "The auxiliary storage compartment is full!") @@ -405,6 +499,10 @@ data["mask"] = mask.name else data["mask"] = null + if(mod) + data["mod"] = mod.name + else + data["mod"] = null if(storage) data["storage"] = storage.name else @@ -435,7 +533,7 @@ if("uv") if(occupant && safeties) return - else if(!helmet && !mask && !suit && !storage && !occupant) + else if(!helmet && !mask && !mod && !suit && !storage && !occupant) return else if(occupant) @@ -447,7 +545,7 @@ if(!state_open) return - var/static/list/valid_items = list("helmet", "suit", "mask", "storage") + var/static/list/valid_items = list("helmet", "suit", "mask", "mod", "storage") var/item_name = params["item"] if(item_name in valid_items) var/obj/item/I = vars[item_name] diff --git a/code/game/objects/items.dm b/code/game/objects/items.dm index 0dcc23f3aa..7a953089a5 100644 --- a/code/game/objects/items.dm +++ b/code/game/objects/items.dm @@ -399,7 +399,7 @@ GLOBAL_VAR_INIT(embedpocalypse, FALSE) // if true, all items will be able to emb if(throwing) throwing.finalize(FALSE) if(loc == user) - if(!allow_attack_hand_drop(user) || !user.temporarilyRemoveItemFromInventory(src)) + if(!allow_attack_hand_drop(user) || !user.temporarilyRemoveItemFromInventory(I = src)) return . = FALSE @@ -428,7 +428,7 @@ GLOBAL_VAR_INIT(embedpocalypse, FALSE) // if true, all items will be able to emb if(throwing) throwing.finalize(FALSE) if(loc == user) - if(!user.temporarilyRemoveItemFromInventory(src)) + if(!allow_attack_hand_drop(user) || !user.temporarilyRemoveItemFromInventory(src)) return pickup(user) @@ -1271,3 +1271,7 @@ GLOBAL_VAR_INIT(embedpocalypse, FALSE) // if true, all items will be able to emb /obj/item/proc/update_action_buttons(status_only = FALSE, force = FALSE) for(var/datum/action/current_action as anything in actions) current_action.UpdateButtonIcon(status_only, force) + +/// Special stuff you want to do when an outfit equips this item. +/obj/item/proc/on_outfit_equip(mob/living/carbon/human/outfit_wearer, visuals_only, item_slot) + return diff --git a/code/game/objects/items/defib.dm b/code/game/objects/items/defib.dm index f680d0034b..aea961860d 100644 --- a/code/game/objects/items/defib.dm +++ b/code/game/objects/items/defib.dm @@ -461,6 +461,8 @@ cooldown = TRUE busy = FALSE update_icon() + if(SEND_SIGNAL(src, COMSIG_DEFIBRILLATOR_SUCCESS) & COMPONENT_DEFIB_STOP) + return if(req_defib) defib.cooldowncheck(user) else @@ -514,6 +516,8 @@ cooldown = TRUE busy = FALSE update_icon() + if(SEND_SIGNAL(src, COMSIG_DEFIBRILLATOR_SUCCESS) & COMPONENT_DEFIB_STOP) + return if(!req_defib) recharge(60) if(req_defib && (defib.cooldowncheck(user))) @@ -632,6 +636,8 @@ defib.deductcharge(revivecost) cooldown = 1 update_icon() + if(SEND_SIGNAL(src, COMSIG_DEFIBRILLATOR_SUCCESS) & COMPONENT_DEFIB_STOP) + return if(req_defib) defib.cooldowncheck(user) else diff --git a/code/game/objects/items/tanks/jetpack.dm b/code/game/objects/items/tanks/jetpack.dm index dfd53b3a0d..642dc79076 100644 --- a/code/game/objects/items/tanks/jetpack.dm +++ b/code/game/objects/items/tanks/jetpack.dm @@ -23,6 +23,21 @@ QDEL_NULL(ion_trail) return ..() +/obj/item/tank/jetpack/item_action_slot_check(slot) + if(slot == ITEM_SLOT_BACK) + return TRUE + +/obj/item/tank/jetpack/equipped(mob/user, slot, initial) + . = ..() + if(on && slot != ITEM_SLOT_BACK) + turn_off(user) + +/obj/item/tank/jetpack/dropped(mob/user, silent) + . = ..() + if(on) + turn_off(user) + + /obj/item/tank/jetpack/populate_gas() if(gas_type) air_contents.set_moles(gas_type, ((6 * ONE_ATMOSPHERE) * volume / (R_IDEAL_GAS_EQUATION * T20C))) @@ -57,6 +72,7 @@ icon_state = "[initial(icon_state)]-on" ion_trail.start() RegisterSignal(user, COMSIG_MOVABLE_MOVED, .proc/move_react) + RegisterSignal(user, COMSIG_MOVABLE_SPACEMOVE, .proc/spacemove_react) if(full_speed) user.add_movespeed_modifier(/datum/movespeed_modifier/jetpack/fullspeed) else @@ -94,6 +110,13 @@ else ..() +/obj/item/tank/jetpack/proc/spacemove_react(mob/user, movement_dir) + SIGNAL_HANDLER + + if(on && (movement_dir || stabilizers)) + return COMSIG_MOVABLE_STOP_SPACEMOVE + + /obj/item/tank/jetpack/improvised name = "improvised jetpack" desc = "A jetpack made from two air tanks, a fire extinguisher and some atmospherics equipment. It doesn't look like it can hold much." @@ -239,9 +262,13 @@ return /mob/living/carbon/get_jetpack() - var/obj/item/tank/jetpack/J = back - if(istype(J)) - return J + var/obj/item/I = back + if(istype(I, /obj/item/tank/jetpack)) + return I + else if(istype(I, /obj/item/mod/control)) + var/obj/item/mod/control/C = I + for(var/obj/item/mod/module/jetpack/J in C.modules) + return J /mob/living/carbon/human/get_jetpack() var/obj/item/tank/jetpack/J = ..() diff --git a/code/game/objects/structures/crates_lockers/closets/secure/engineering.dm b/code/game/objects/structures/crates_lockers/closets/secure/engineering.dm index 4b405ae64a..289599efb9 100644 --- a/code/game/objects/structures/crates_lockers/closets/secure/engineering.dm +++ b/code/game/objects/structures/crates_lockers/closets/secure/engineering.dm @@ -32,6 +32,8 @@ new /obj/item/clothing/head/beret/ce/white(src) new /obj/item/storage/bag/construction(src) new /obj/item/storage/bag/material(src) + new /obj/item/mod/construction/armor/advanced(src) + new /obj/item/mod/module/rad_protection(src) /obj/structure/closet/secure_closet/engineering_electrical name = "electrical supplies locker" diff --git a/code/game/objects/structures/crates_lockers/closets/secure/medical.dm b/code/game/objects/structures/crates_lockers/closets/secure/medical.dm index babb047c8d..234750ea43 100644 --- a/code/game/objects/structures/crates_lockers/closets/secure/medical.dm +++ b/code/game/objects/structures/crates_lockers/closets/secure/medical.dm @@ -64,6 +64,8 @@ new /obj/item/clothing/glasses/hud/health(src) new /obj/item/pinpointer/crew(src) new /obj/item/sensor_device(src) + new /obj/item/mod/construction/armor/rescue(src) + new /obj/item/mod/module/health_analyzer(src) return /obj/structure/closet/secure_closet/CMO diff --git a/code/game/objects/structures/crates_lockers/closets/secure/scientist.dm b/code/game/objects/structures/crates_lockers/closets/secure/scientist.dm index 135e0685c1..a7b0153ef0 100644 --- a/code/game/objects/structures/crates_lockers/closets/secure/scientist.dm +++ b/code/game/objects/structures/crates_lockers/closets/secure/scientist.dm @@ -31,4 +31,4 @@ new /obj/item/circuitboard/machine/techfab/department/science(src) new /obj/item/storage/photo_album/RD(src) new /obj/item/clothing/suit/hooded/wintercoat/rd(src) - + new /obj/item/mod/construction/armor/research(src) diff --git a/code/game/objects/structures/crates_lockers/closets/secure/security.dm b/code/game/objects/structures/crates_lockers/closets/secure/security.dm index d96ad3b0d6..4a19dcdb8f 100644 --- a/code/game/objects/structures/crates_lockers/closets/secure/security.dm +++ b/code/game/objects/structures/crates_lockers/closets/secure/security.dm @@ -17,6 +17,8 @@ new /obj/item/gun/energy/e_gun(src) new /obj/item/door_remote/captain(src) new /obj/item/storage/photo_album/Captain(src) + new /obj/item/mod/construction/armor/magnate(src) + new /obj/item/mod/module/holster(src) /obj/structure/closet/secure_closet/hop name = "\proper head of personnel's locker" diff --git a/code/modules/cargo/packs/science.dm b/code/modules/cargo/packs/science.dm index 125bfe2034..96d9a97b5f 100644 --- a/code/modules/cargo/packs/science.dm +++ b/code/modules/cargo/packs/science.dm @@ -238,3 +238,14 @@ contains = list(/obj/item/raw_anomaly_core/pyro) crate_name = "raw pyro anomaly" crate_type = /obj/structure/closet/crate/secure/science + +/datum/supply_pack/science/mod_core + name = "MOD core Crate" + desc = "Three cores, perfect for any MODsuit construction! Naturally harvested™, of course." + cost = CARGO_CRATE_VALUE * 3 + access = ACCESS_ROBOTICS + contains = list(/obj/item/mod/construction/core, + /obj/item/mod/construction/core, + /obj/item/mod/construction/core) + crate_name = "MOD core crate" + crate_type = /obj/structure/closet/crate/secure/science diff --git a/code/modules/mob/inventory.dm b/code/modules/mob/inventory.dm index 203c578c2c..51659a2904 100644 --- a/code/modules/mob/inventory.dm +++ b/code/modules/mob/inventory.dm @@ -337,6 +337,7 @@ on_item_dropped(I) if(I.dropped(src) == ITEM_RELOCATED_BY_DROPPED) return FALSE + SEND_SIGNAL(src, COMSIG_MOB_UNEQUIPPED_ITEM, I, force, newloc, no_move, invdrop, silent) return TRUE //This is a SAFE proc. Use this instead of equip_to_slot()! diff --git a/code/modules/mob/living/carbon/carbon.dm b/code/modules/mob/living/carbon/carbon.dm index bf68b6767d..fdf51262ac 100644 --- a/code/modules/mob/living/carbon/carbon.dm +++ b/code/modules/mob/living/carbon/carbon.dm @@ -28,8 +28,8 @@ if(prob(40)) if(prob(25)) audible_message("You hear something rumbling inside [src]'s stomach...", \ - "You hear something rumbling.", 4,\ - "Something is rumbling inside your stomach!") + "You hear something rumbling.", 4,\ + "Something is rumbling inside your stomach!") var/obj/item/I = user.get_active_held_item() if(I && I.force) var/d = rand(round(I.force / 4), I.force) @@ -625,12 +625,21 @@ if(M.name == XRAY) sight |= (SEE_TURFS|SEE_MOBS|SEE_OBJS) see_in_dark = max(see_in_dark, 8) + + if(HAS_TRAIT(src, TRAIT_TRUE_NIGHT_VISION)) + lighting_alpha = min(lighting_alpha, LIGHTING_PLANE_ALPHA_MOSTLY_INVISIBLE) + see_in_dark = max(see_in_dark, 8) + + if(HAS_TRAIT(src, TRAIT_MESON_VISION)) + sight |= SEE_TURFS + lighting_alpha = min(lighting_alpha, LIGHTING_PLANE_ALPHA_MOSTLY_VISIBLE) + if(HAS_TRAIT(src, TRAIT_THERMAL_VISION)) - sight |= (SEE_MOBS) + sight |= SEE_MOBS lighting_alpha = min(lighting_alpha, LIGHTING_PLANE_ALPHA_MOSTLY_VISIBLE) if(HAS_TRAIT(src, TRAIT_XRAY_VISION)) - sight |= (SEE_TURFS|SEE_MOBS|SEE_OBJS) + sight |= SEE_TURFS|SEE_MOBS|SEE_OBJS see_in_dark = max(see_in_dark, 8) if(see_override) diff --git a/code/modules/mob/living/carbon/carbon_movement.dm b/code/modules/mob/living/carbon/carbon_movement.dm index ffb8523a9e..e70b1bcc92 100644 --- a/code/modules/mob/living/carbon/carbon_movement.dm +++ b/code/modules/mob/living/carbon/carbon_movement.dm @@ -16,9 +16,15 @@ if(istype(T) && movement_dir && T.allow_thrust(0.01)) return 1 - var/obj/item/tank/jetpack/J = get_jetpack() - if(istype(J) && (movement_dir || J.stabilizers) && J.allow_thrust(0.01, src)) - return 1 + var/obj/item/I = get_jetpack() + if(istype(I, /obj/item/tank/jetpack)) + var/obj/item/tank/jetpack/J = I + if((movement_dir || J.stabilizers) && J.allow_thrust(0.01, src)) + return 1 + else if(istype(I, /obj/item/mod/module/jetpack)) + var/obj/item/mod/module/jetpack/J = I + if((movement_dir || J.stabilizers) && J.allow_thrust()) + return 1 /mob/living/carbon/Moved() . = ..() diff --git a/code/modules/mob/living/carbon/human/inventory.dm b/code/modules/mob/living/carbon/human/inventory.dm index d8f87cf273..2dce987449 100644 --- a/code/modules/mob/living/carbon/human/inventory.dm +++ b/code/modules/mob/living/carbon/human/inventory.dm @@ -308,7 +308,14 @@ if(equip_to_slot_if_possible(thing, ITEM_SLOT_BACK)) update_inv_hands() return - if(!SEND_SIGNAL(equipped_back, COMSIG_CONTAINS_STORAGE)) // not a storage item + var/datum/component/storage/storage = equipped_back.GetComponent(/datum/component/storage) + if(istype(equipped_back, /obj/item/mod/control)) + var/obj/item/mod/control/C = equipped_back + for(var/obj/item/mod/module/storage/S in C.modules) + if(S.stored) + equipped_back = S.stored + storage = S.stored.GetComponent(/datum/component/storage) + if(!storage) if(!thing) equipped_back.attack_hand(src) else @@ -318,10 +325,11 @@ if(!SEND_SIGNAL(equipped_back, COMSIG_TRY_STORAGE_INSERT, thing, src)) to_chat(src, "You can't fit anything in!") return - if(!equipped_back.contents.len) // nothing to take out - to_chat(src, "There's nothing in your backpack to take out!") + var/atom/real_location = storage.real_location() + if(!real_location.contents.len) // nothing to take out + to_chat(src, "There's nothing in your [equipped_back.name] to take out!") return - var/obj/item/stored = equipped_back.contents[equipped_back.contents.len] + var/obj/item/stored = real_location.contents[real_location.contents.len] if(!stored || stored.on_found(src)) return stored.attack_hand(src) // take out thing from backpack diff --git a/code/modules/mob/living/silicon/ai/ai.dm b/code/modules/mob/living/silicon/ai/ai.dm index 2e9030765a..08098b818f 100644 --- a/code/modules/mob/living/silicon/ai/ai.dm +++ b/code/modules/mob/living/silicon/ai/ai.dm @@ -38,8 +38,8 @@ var/can_be_carded = TRUE var/alarms = list("Motion"=list(), "Fire"=list(), "Atmosphere"=list(), "Power"=list(), "Camera"=list(), "Burglar"=list()) var/viewalerts = 0 - var/icon/holo_icon//Female is assigned when AI is created. - var/obj/vehicle/sealed/mecha/controlled_mech //For controlled_mech a mech, to determine whether to relaymove or use the AI eye. + var/icon/holo_icon //Female is assigned when AI is created. + var/obj/controlled_equipment //A piece of equipment, to determine whether to relaymove or use the AI eye. var/radio_enabled = TRUE //Determins if a carded AI can speak with its built in radio or not. radiomod = ";" //AIs will, by default, state their laws on the internal radio. var/obj/item/pda/ai/aiPDA @@ -99,6 +99,13 @@ var/display_icon_override var/emote_display = "Neutral" //text string of the current emote we set for the status displays, to prevent logins resetting it. + var/datum/robot_control/robot_control + /// Station alert datum for showing alerts UI + var/datum/station_alert/alert_control + ///remember AI's last location + var/atom/lastloc + interaction_range = INFINITY + /mob/living/silicon/ai/Initialize(mapload, datum/ai_laws/L, mob/target_ai) . = ..() if(!target_ai) //If there is no player/brain inside. @@ -173,10 +180,21 @@ GLOB.ai_list -= src GLOB.shuttle_caller_list -= src SSshuttle.autoEvac() - qdel(eyeobj) // No AI, no Eye + QDEL_NULL(eyeobj) // No AI, no Eye + QDEL_NULL(spark_system) + QDEL_NULL(malf_picker) + QDEL_NULL(doomsday_device) + // TODO: Why these no work? + // QDEL_NULL(robot_control) + QDEL_NULL(aiMulti) + // QDEL_NULL(alert_control) malfhack = null - - . = ..() + current = null + Bot = null + controlled_equipment = null + linked_core = null + apc_override = null + return ..() /mob/living/silicon/ai/IgniteMob() fire_stacks = 0 @@ -410,7 +428,7 @@ if (href_list["ai_take_control"]) //Mech domination var/obj/vehicle/sealed/mecha/M = locate(href_list["ai_take_control"]) - if(controlled_mech) + if(controlled_equipment) to_chat(src, "You are already loaded into an onboard computer!") return if(!GLOB.cameranet.checkCameraVis(M)) diff --git a/code/modules/mob/living/silicon/pai/pai.dm b/code/modules/mob/living/silicon/pai/pai.dm index 6c799607be..435d1853f6 100644 --- a/code/modules/mob/living/silicon/pai/pai.dm +++ b/code/modules/mob/living/silicon/pai/pai.dm @@ -199,6 +199,13 @@ /mob/living/silicon/pai/restrained(ignore_grab) . = FALSE +/mob/living/silicon/pai/can_interact_with(atom/target) + if(istype(target, /obj/item/mod/control)) // A poor workaround for enabling MODsuit control + var/obj/item/mod/control/C = target + if(C.ai == src) + return TRUE + return ..() + // See software.dm for Topic() /mob/living/silicon/pai/canUseTopic(atom/movable/M, be_close=FALSE, no_dextery=FALSE, no_tk=FALSE) diff --git a/code/modules/mob/mob.dm b/code/modules/mob/mob.dm index 507a94b613..baa4d87075 100644 --- a/code/modules/mob/mob.dm +++ b/code/modules/mob/mob.dm @@ -722,7 +722,7 @@ GLOBAL_VAR_INIT(exploit_warn_spam_prevention, 0) return pick(protection_sources) else return src - if((magic && HAS_TRAIT(src, TRAIT_ANTIMAGIC)) || (holy && HAS_TRAIT(src, TRAIT_HOLY))) + if((magic && HAS_TRAIT(src, TRAIT_ANTIMAGIC)) || (!self && magic && HAS_TRAIT(src, TRAIT_ANTIMAGIC_NO_SELFBLOCK)) || (holy && HAS_TRAIT(src, TRAIT_HOLY))) return src //You can buckle on mobs if you're next to them since most are dense diff --git a/code/modules/mob/mob_helpers.dm b/code/modules/mob/mob_helpers.dm index 90a7aae95e..cdad94cf3f 100644 --- a/code/modules/mob/mob_helpers.dm +++ b/code/modules/mob/mob_helpers.dm @@ -585,7 +585,7 @@ It's fairly easy to fix if dealing with single letters but not so much with comp //Can the mob see reagents inside of containers? /mob/proc/can_see_reagents() - return stat == DEAD || silicon_privileges //Dead guys and silicons can always see reagents + return stat == DEAD || silicon_privileges || HAS_TRAIT(src, TRAIT_REAGENT_SCANNER) //Dead guys and silicons can always see reagents /mob/proc/is_blind() SHOULD_BE_PURE(TRUE) diff --git a/code/modules/mod/mod_actions.dm b/code/modules/mod/mod_actions.dm new file mode 100644 index 0000000000..ee28771ef1 --- /dev/null +++ b/code/modules/mod/mod_actions.dm @@ -0,0 +1,94 @@ +/datum/action/item_action/mod + background_icon_state = "bg_tech_blue" + icon_icon = 'icons/mob/actions/actions_mod.dmi' + check_flags = AB_CHECK_CONSCIOUS + var/obj/item/mod/control/mod + /// Whether this action is intended for the AI. Stuff breaks a lot if this is done differently. + var/ai_action = FALSE + +/datum/action/item_action/mod/New(Target) + ..() + if(!istype(Target, /obj/item/mod/control)) + qdel(src) + return + if(ai_action) + background_icon_state = "bg_tech" + +/datum/action/item_action/mod/Grant(mob/user) + mod = target + if(ai_action && user != mod.ai) + return + else if(!ai_action && user == mod.ai) + return + return ..() + +/datum/action/item_action/mod/Remove(mob/user) + if(ai_action && mod && user != mod.ai) + return + else if(!ai_action && mod && user == mod.ai) + return + return ..() + +/datum/action/item_action/mod/Trigger(trigger_flags) + if(!IsAvailable()) + return FALSE + if(mod.malfunctioning && prob(75)) + mod.balloon_alert(usr, "button malfunctions!") + return FALSE + return TRUE + +/datum/action/item_action/mod/deploy + name = "Deploy MODsuit" + desc = "Deploy/Conceal a part of the MODsuit." + button_icon_state = "deploy" + +/datum/action/item_action/mod/deploy/Trigger() + if(!IsAvailable()) + return FALSE + mod.choose_deploy(usr) + return TRUE + +/datum/action/item_action/mod/deploy/ai + ai_action = TRUE + +/datum/action/item_action/mod/activate + name = "Activate MODsuit" + desc = "Activate/Deactivate the MODsuit." + button_icon_state = "activate" + +/datum/action/item_action/mod/activate/Trigger() + if(!IsAvailable()) + return FALSE + mod.toggle_activate(usr) + return TRUE + +/datum/action/item_action/mod/activate/ai + ai_action = TRUE + +/datum/action/item_action/mod/module + name = "Toggle Module" + desc = "Toggle a MODsuit module." + button_icon_state = "module" + +/datum/action/item_action/mod/module/Trigger() + if(!IsAvailable()) + return FALSE + mod.quick_module(usr) + return TRUE + +/datum/action/item_action/mod/module/ai + ai_action = TRUE + +/datum/action/item_action/mod/panel + name = "MODsuit Panel" + desc = "Open the MODsuit's panel." + button_icon_state = "panel" + +/datum/action/item_action/mod/panel/Trigger() + if(!IsAvailable()) + return FALSE + mod.ui_interact(usr) + return TRUE + +/datum/action/item_action/mod/panel/ai + ai_action = TRUE diff --git a/code/modules/mod/mod_activation.dm b/code/modules/mod/mod_activation.dm new file mode 100644 index 0000000000..660f0311d1 --- /dev/null +++ b/code/modules/mod/mod_activation.dm @@ -0,0 +1,246 @@ +/// Creates a radial menu from which the user chooses parts of the suit to deploy/retract. Repeats until all parts are extended or retracted. +/obj/item/mod/control/proc/choose_deploy(mob/user) + if(!length(mod_parts)) + return + var/list/display_names = list() + var/list/items = list() + for(var/obj/item/piece as anything in mod_parts) + display_names[piece.name] = REF(piece) + var/image/piece_image = image(icon = piece.icon, icon_state = piece.icon_state) + items += list(piece.name = piece_image) + var/pick = show_radial_menu(user, src, items, custom_check = FALSE, require_near = TRUE, tooltips = TRUE) + if(!pick) + return + var/part_reference = display_names[pick] + var/obj/item/part = locate(part_reference) in mod_parts + if(!istype(part) || user.incapacitated()) + return + if(active || activating) + balloon_alert(user, "deactivate the suit first!") + playsound(src, 'sound/machines/scanbuzz.ogg', 25, TRUE, SILENCED_SOUND_EXTRARANGE) + return + var/parts_to_check = mod_parts - part + if(part.loc == src) + deploy(user, part) + for(var/obj/item/piece as anything in parts_to_check) + if(piece.loc != src) + continue + choose_deploy(user) + break + else + conceal(user, part) + for(var/obj/item/piece as anything in parts_to_check) + if(piece.loc == src) + continue + choose_deploy(user) + break + +/// Deploys a part of the suit onto the user. +/obj/item/mod/control/proc/deploy(mob/user, part) + var/obj/item/piece = part + if(piece == gauntlets && wearer.gloves) + gauntlets.overslot = wearer.gloves + wearer.transferItemToLoc(gauntlets.overslot, gauntlets, force = TRUE) + if(piece == boots && wearer.shoes) + boots.overslot = wearer.shoes + wearer.transferItemToLoc(boots.overslot, boots, force = TRUE) + if(wearer.equip_to_slot_if_possible(piece, piece.slot_flags, qdel_on_fail = FALSE, disable_warning = TRUE)) + ADD_TRAIT(piece, TRAIT_NODROP, MOD_TRAIT) + if(!user) + return TRUE + wearer.visible_message(span_notice("[wearer]'s [piece] deploy[piece.p_s()] with a mechanical hiss."), + span_notice("[piece] deploy[piece.p_s()] with a mechanical hiss."), + span_hear("You hear a mechanical hiss.")) + playsound(src, 'sound/mecha/mechmove03.ogg', 25, TRUE, SHORT_RANGE_SOUND_EXTRARANGE) + return TRUE + else if(piece.loc != src) + if(!user) + return FALSE + balloon_alert(user, "[piece] already deployed!") + playsound(src, 'sound/machines/scanbuzz.ogg', 25, TRUE, SILENCED_SOUND_EXTRARANGE) + else + if(!user) + return FALSE + balloon_alert(user, "bodypart clothed!") + playsound(src, 'sound/machines/scanbuzz.ogg', 25, TRUE, SILENCED_SOUND_EXTRARANGE) + return FALSE + +/// Retract a part of the suit from the user +/obj/item/mod/control/proc/conceal(mob/user, part) + var/obj/item/piece = part + REMOVE_TRAIT(piece, TRAIT_NODROP, MOD_TRAIT) + if(wearer) + wearer.transferItemToLoc(piece, src, force = TRUE) + if(piece == gauntlets) + gauntlets.show_overslot() + if(piece == boots) + boots.show_overslot() + if(!user) + return + wearer.visible_message(span_notice("[wearer]'s [piece] retract[piece.p_s()] back into [src] with a mechanical hiss."), + span_notice("[piece] retract[piece.p_s()] back into [src] with a mechanical hiss."), + span_hear("You hear a mechanical hiss.")) + playsound(src, 'sound/mecha/mechmove03.ogg', 25, TRUE, SHORT_RANGE_SOUND_EXTRARANGE) + +/// Starts the activation sequence, where parts of the suit activate one by one until the whole suit is on +/obj/item/mod/control/proc/toggle_activate(mob/user, force_deactivate = FALSE) + if(!wearer) + if(!force_deactivate) + balloon_alert(user, "put suit on back!") + playsound(src, 'sound/machines/scanbuzz.ogg', 25, TRUE, SILENCED_SOUND_EXTRARANGE) + return FALSE + if(!force_deactivate && (SEND_SIGNAL(src, COMSIG_MOD_ACTIVATE, user) & MOD_CANCEL_ACTIVATE)) + playsound(src, 'sound/machines/scanbuzz.ogg', 25, TRUE, SILENCED_SOUND_EXTRARANGE) + return FALSE + for(var/obj/item/part as anything in mod_parts) + if(!force_deactivate && part.loc == src) + balloon_alert(user, "deploy all parts first!") + playsound(src, 'sound/machines/scanbuzz.ogg', 25, TRUE, SILENCED_SOUND_EXTRARANGE) + return FALSE + if(locked && !active && !allowed(user) && !force_deactivate) + balloon_alert(user, "access insufficient!") + playsound(src, 'sound/machines/scanbuzz.ogg', 25, TRUE, SILENCED_SOUND_EXTRARANGE) + return FALSE + if(!cell?.charge && !force_deactivate) + balloon_alert(user, "suit not powered!") + playsound(src, 'sound/machines/scanbuzz.ogg', 25, TRUE, SILENCED_SOUND_EXTRARANGE) + return FALSE + if(open && !force_deactivate) + balloon_alert(user, "close the suit panel!") + playsound(src, 'sound/machines/scanbuzz.ogg', 25, TRUE, SILENCED_SOUND_EXTRARANGE) + return FALSE + if(activating) + if(!force_deactivate) + balloon_alert(user, "suit already [active ? "shutting down" : "starting up"]!") + playsound(src, 'sound/machines/scanbuzz.ogg', 25, TRUE, SILENCED_SOUND_EXTRARANGE) + return FALSE + for(var/obj/item/mod/module/module as anything in modules) + if(!module.active || module.allowed_inactive) + continue + module.on_deactivation() + activating = TRUE + to_chat(wearer, span_notice("MODsuit [active ? "shutting down" : "starting up"].")) + if(ai) + to_chat(ai, span_notice("MODsuit [active ? "shutting down" : "starting up"].")) + + if(force_deactivate) + seal_part(boots, seal = FALSE) + seal_part(gauntlets, seal = FALSE) + seal_part(chestplate,seal = FALSE) + seal_part(helmet, seal = FALSE) + finish_activation(on = FALSE) + activating = FALSE + to_chat(wearer, span_notice("Systems shut down. Parts unsealed. Goodbye, [wearer].")) + if(ai) + to_chat(ai, span_notice("SYSTEMS DEACTIVATED. GOODBYE: \"[ai]\"")) + playsound(src, 'sound/machines/synth_no.ogg', 50, TRUE, SHORT_RANGE_SOUND_EXTRARANGE, frequency = 6000) + return TRUE + + if(do_after(wearer, activation_step_time, target = wearer, required_mobility_flags = NONE)) + to_chat(wearer, span_notice("[boots] [active ? "relax their grip on your legs" : "seal around your feet"].")) + playsound(src, 'sound/mecha/mechmove03.ogg', 25, TRUE, SHORT_RANGE_SOUND_EXTRARANGE) + seal_part(boots, seal = !active) + else + return toggle_activate_fail() + if(do_after(wearer, activation_step_time, target = wearer, required_mobility_flags = NONE)) + to_chat(wearer, span_notice("[gauntlets] [active ? "become loose around your fingers" : "tighten around your fingers and wrists"].")) + playsound(src, 'sound/mecha/mechmove03.ogg', 25, TRUE, SHORT_RANGE_SOUND_EXTRARANGE) + seal_part(gauntlets, seal = !active) + else + return toggle_activate_fail() + if(do_after(wearer, activation_step_time, target = wearer, required_mobility_flags = NONE)) + to_chat(wearer, span_notice("[chestplate] [active ? "releases your chest" : "cinches tightly against your chest"].")) + playsound(src, 'sound/mecha/mechmove03.ogg', 25, TRUE, SHORT_RANGE_SOUND_EXTRARANGE) + seal_part(chestplate,seal = !active) + else + return toggle_activate_fail() + if(do_after(wearer, activation_step_time, target = wearer, required_mobility_flags = NONE)) + to_chat(wearer, span_notice("[helmet] hisses [active ? "open" : "closed"].")) + playsound(src, 'sound/mecha/mechmove03.ogg', 25, TRUE, SHORT_RANGE_SOUND_EXTRARANGE) + seal_part(helmet, seal = !active) + else + return toggle_activate_fail() + if(do_after(wearer, activation_step_time, target = wearer, required_mobility_flags = NONE)) + to_chat(wearer, span_notice("Systems [active ? "shut down. Parts unsealed. Goodbye" : "started up. Parts sealed. Welcome"], [wearer].")) + if(ai) + to_chat(ai, span_notice("SYSTEMS [active ? "DEACTIVATED. GOODBYE" : "ACTIVATED. WELCOME"]: \"[ai]\"")) + finish_activation(on = !active) + if(active) + playsound(src, 'sound/machines/synth_yes.ogg', 50, TRUE, SHORT_RANGE_SOUND_EXTRARANGE, frequency = 6000) + SEND_SOUND(wearer, sound('sound/mecha/nominal.ogg',volume=50)) + else + playsound(src, 'sound/machines/synth_no.ogg', 50, TRUE, SHORT_RANGE_SOUND_EXTRARANGE, frequency = 6000) + else + return toggle_activate_fail() + activating = FALSE + return TRUE + +/obj/item/mod/control/proc/toggle_activate_fail() + seal_part(boots, seal = active) + seal_part(gauntlets, seal = active) + seal_part(chestplate,seal = active) + seal_part(helmet, seal = active) + to_chat(wearer, span_warning("[active ? "Shut down" : "Start up"] cancelled.")) + finish_activation(on = active) + activating = FALSE + return FALSE + +///Seals or unseals the given part +/obj/item/mod/control/proc/seal_part(obj/item/clothing/part, seal) + if(seal) + part.clothing_flags |= part.visor_flags + part.flags_inv |= part.visor_flags_inv + part.flags_cover |= part.visor_flags_cover + part.heat_protection = initial(part.heat_protection) + part.cold_protection = initial(part.cold_protection) + else + part.flags_cover &= ~part.visor_flags_cover + part.flags_inv &= ~part.visor_flags_inv + part.clothing_flags &= ~part.visor_flags + part.heat_protection = NONE + part.cold_protection = NONE + part.icon_state = "[skin]-[initial(part.icon_state)][seal ? "-sealed" : ""]" + part.item_state = "[skin]-[initial(part.item_state)][seal ? "-sealed" : ""]" + if(part == boots) + wearer.update_inv_shoes() + if(part == gauntlets) + wearer.update_inv_gloves() + if(part == chestplate) + wearer.update_inv_wear_suit() + wearer.update_inv_w_uniform() + if(part == helmet) + if(seal) + helmet.alternate_worn_layer = null + else + helmet.alternate_worn_layer = helmet.alternate_layer + wearer.update_inv_head() + wearer.update_inv_wear_mask() + wearer.update_hair() + +/// Finishes the suit's activation, starts processing +/obj/item/mod/control/proc/finish_activation(on) + icon_state = "[skin]-control[on ? "-sealed" : ""]" + slowdown = on ? slowdown_active : slowdown_inactive + if(on) + for(var/obj/item/mod/module/module as anything in modules) + module.on_suit_activation() + START_PROCESSING(SSobj, src) + else + for(var/obj/item/mod/module/module as anything in modules) + module.on_suit_deactivation() + STOP_PROCESSING(SSobj, src) + wearer.update_equipment_speed_mods() + active = on + wearer.update_inv_back() + +/// Quickly deploys all the suit parts and if successful, seals them and turns on the suit. Intended mostly for outfits. +/obj/item/mod/control/proc/quick_activation() + var/seal = TRUE + for(var/obj/item/part in mod_parts) + if(!deploy(null, part)) + seal = FALSE + if(!seal) + return + for(var/obj/item/part in mod_parts) + seal_part(part, seal = TRUE) + finish_activation(on = TRUE) diff --git a/code/modules/mod/mod_ai.dm b/code/modules/mod/mod_ai.dm new file mode 100644 index 0000000000..8bc431146b --- /dev/null +++ b/code/modules/mod/mod_ai.dm @@ -0,0 +1,198 @@ +/obj/item/mod/control/transfer_ai(interaction, mob/user, mob/living/silicon/ai/intAI, obj/item/aicard/card) + . = ..() + if(!.) + return + if(!open) //mod must be open + balloon_alert(user, "suit must be open to transfer!") + return + switch(interaction) + if(AI_TRANS_TO_CARD) + if(!ai) + balloon_alert(user, "no AI in suit!") + return + if(!isAI(ai)) + balloon_alert(user, "onboard AI cannot fit in this card!") + return + balloon_alert(user, "transferring to card...") + if(!do_after(user, 5 SECONDS, target = src)) + balloon_alert(user, "interrupted!") + return + if(!ai) + return + intAI = ai + intAI.ai_restore_power()//So the AI initially has power. + intAI.control_disabled = TRUE + intAI.radio_enabled = FALSE + intAI.disconnect_shell() + intAI.forceMove(card) + card.AI = intAI + for(var/datum/action/action as anything in actions) + action.Remove(intAI) + intAI.controlled_equipment = null + intAI.remote_control = null + balloon_alert(intAI, "transferred to a card") + balloon_alert(user, "AI transferred to card") + ai = null + + if(AI_TRANS_FROM_CARD) //Using an AI card to upload to the suit. + intAI = card.AI + if(!intAI) + balloon_alert(user, "no AI in card!") + return + if(ai) + balloon_alert(user, "already has AI!") + return + if(intAI.deployed_shell) //Recall AI if shelled so it can be checked for a client + intAI.disconnect_shell() + if(intAI.stat || !intAI.client) + balloon_alert(user, "AI unresponsive!") + return + balloon_alert(user, "transferring to suit...") + if(!do_after(user, 5 SECONDS, target = src)) + balloon_alert(user, "interrupted!") + return + if(ai) + return + balloon_alert(user, "AI transferred to suit") + ai_enter_mod(intAI) + card.AI = null + +/obj/item/mod/control/proc/ai_enter_mod(mob/living/silicon/ai/new_ai) + new_ai.control_disabled = FALSE + new_ai.radio_enabled = TRUE + new_ai.ai_restore_power() + new_ai.cancel_camera() + new_ai.controlled_equipment = src + new_ai.remote_control = src + new_ai.forceMove(src) + ai = new_ai + balloon_alert(new_ai, "transferred to a suit") + for(var/datum/action/action as anything in actions) + action.Grant(ai) + +/** + * Simple proc to insert the pAI into the MODsuit. + * + * user - The person trying to put the pAI into the MODsuit. + * card - The pAI card we're slotting in the MODsuit. + */ + +/obj/item/mod/control/proc/insert_pai(mob/user, obj/item/paicard/card) + if(ai) + balloon_alert(user, "AI already installed!") + return + if(!card.pai || !card.pai.mind) + balloon_alert(user, "pAI unresponsive!") + return + balloon_alert(user, "transferring to suit...") + if(!do_after(user, 5 SECONDS, target = src)) + balloon_alert(user, "interrupted!") + return FALSE + if(!user.transferItemToLoc(card, src)) + return + + card.pai.canholo = FALSE + ai = card.pai + balloon_alert(user, "pAI transferred to suit") + balloon_alert(ai, "transferred to a suit") + ai.remote_control = src + for(var/datum/action/action as anything in actions) + action.Grant(ai) + return TRUE + +/** + * Simple proc to extract the pAI from the MODsuit. It's the proc to call if you want to take it out, + * remove_pai() is there so atom_destruction() doesn't have any risk of sleeping. + * + * user - The person trying to take out the pAI from the MODsuit. + * forced - Whether or not we skip the checks and just eject the pAI. Defaults to FALSE. + * feedback - Whether to give feedback via balloon alerts or not. Defaults to TRUE. + */ +/obj/item/mod/control/proc/extract_pai(mob/user, forced = FALSE, feedback = TRUE) + if(!ai) + if(user && feedback) + balloon_alert(user, "no pAI to remove!") + return + if(!ispAI(ai)) + if(user && feedback) + balloon_alert(user, "onboard AI cannot fit in this card!") + return + if(!forced) + if(!open) + if(user && feedback) + balloon_alert(user, "open the suit panel!") + return FALSE + if(!do_after(user, 5 SECONDS, target = src)) + if(user && feedback) + balloon_alert(user, "interrupted!") + return FALSE + + remove_pai(feedback) + + if(feedback && user) + balloon_alert(user, "pAI removed from the suit") + +/** + * Simple proc that handles the safe removal of the pAI from a MOD control unit. + * + * Arguments: + * * feedback - Whether or not we want to give balloon alert feedback to the ai. Defaults to FALSE. + */ +/obj/item/mod/control/proc/remove_pai(feedback = FALSE) + if(!ispAI(ai)) + return + var/mob/living/silicon/pai/pai = ai + var/turf/drop_off = get_turf(src) + if(drop_off) // In case there's no drop_off, the pAI will simply get deleted. + pai.card.forceMove(drop_off) + + for(var/datum/action/action as anything in actions) + if(action.owner == pai) + action.Remove(pai) + + if(feedback) + balloon_alert(pai, "removed from a suit") + pai.remote_control = null + pai.canholo = TRUE + pai = null + +#define MOVE_DELAY 2 +#define WEARER_DELAY 1 +#define LONE_DELAY 5 +#define CELL_PER_STEP (DEFAULT_CHARGE_DRAIN * 2.5) +#define AI_FALL_TIME (1 SECONDS) + +/obj/item/mod/control/relaymove(mob/user, direction) + if((!active && wearer) || !cell || cell.charge < CELL_PER_STEP || user != ai || !COOLDOWN_FINISHED(src, cooldown_mod_move) || (wearer?.pulledby?.grab_state > GRAB_PASSIVE)) + return FALSE + var/timemodifier = MOVE_DELAY * (ISDIAGONALDIR(direction) ? SQRT_2 : 1) * (wearer ? WEARER_DELAY : LONE_DELAY) + if(wearer && !wearer.Process_Spacemove(direction)) + return FALSE + else if(!wearer && (!has_gravity() || !isturf(loc))) + return FALSE + COOLDOWN_START(src, cooldown_mod_move, movedelay * timemodifier + slowdown) + cell.charge = max(0, cell.charge - CELL_PER_STEP) + playsound(src, 'sound/mecha/mechmove01.ogg', 25, TRUE) + if(ismovable(wearer?.loc)) + return wearer.loc.relaymove(wearer, direction) + else if(wearer) + ADD_TRAIT(wearer, TRAIT_MOBILITY_NOREST, MOD_TRAIT) + addtimer(CALLBACK(src, .proc/ai_fall), AI_FALL_TIME, TIMER_UNIQUE | TIMER_OVERRIDE) + var/atom/movable/mover = wearer || src + return step(mover, direction) + +#undef MOVE_DELAY +#undef WEARER_DELAY +#undef LONE_DELAY +#undef CELL_PER_STEP +#undef AI_FALL_TIME + +/obj/item/mod/control/proc/ai_fall() + if(!wearer) + return + REMOVE_TRAIT(wearer, TRAIT_MOBILITY_NOREST, MOD_TRAIT) + +/obj/item/mod/control/ui_state(mob/user) + if(user == ai) + return GLOB.contained_state + return ..() diff --git a/code/modules/mod/mod_clothes.dm b/code/modules/mod/mod_clothes.dm new file mode 100644 index 0000000000..1c50b1926a --- /dev/null +++ b/code/modules/mod/mod_clothes.dm @@ -0,0 +1,138 @@ +/obj/item/clothing/head/helmet/space/mod + name = "MOD helmet" + desc = "A helmet for a MODsuit." + icon = 'icons/obj/clothing/modsuit/mod_clothing.dmi' + mob_overlay_icon = 'icons/mob/clothing/modsuit/mod_clothing.dmi' + anthro_mob_worn_overlay = 'icons/mob/clothing/modsuit/mod_clothing_anthro.dmi' + icon_state = "helmet" + item_state = "helmet" + armor = list(MELEE = 0, BULLET = 0, LASER = 0, ENERGY = 0, BOMB = 0, BIO = 100, FIRE = 25, ACID = 25, WOUND = 10) + body_parts_covered = HEAD + heat_protection = HEAD + cold_protection = HEAD + max_heat_protection_temperature = SPACE_SUIT_MAX_TEMP_PROTECT + min_cold_protection_temperature = SPACE_SUIT_MIN_TEMP_PROTECT + clothing_flags = THICKMATERIAL + resistance_flags = NONE + flash_protect = 0 + clothing_flags = NONE + flags_inv = HIDEFACIALHAIR + flags_cover = NONE + visor_flags = THICKMATERIAL|STOPSPRESSUREDAMAGE + visor_flags_inv = HIDEMASK|HIDEEARS|HIDEEYES|HIDEFACE|HIDEHAIR|HIDESNOUT + visor_flags_cover = HEADCOVERSMOUTH|HEADCOVERSEYES + var/alternate_layer = NECK_LAYER + var/obj/item/mod/control/mod + mutantrace_variation = STYLE_MUZZLE + +/obj/item/clothing/head/helmet/space/mod/Destroy() + if(!QDELETED(mod)) + mod.helmet = null + mod.mod_parts -= src + QDEL_NULL(mod) + return ..() + +/obj/item/clothing/suit/armor/mod + name = "MOD chestplate" + desc = "A chestplate for a MODsuit." + icon = 'icons/obj/clothing/modsuit/mod_clothing.dmi' + mob_overlay_icon = 'icons/mob/clothing/modsuit/mod_clothing.dmi' + anthro_mob_worn_overlay = 'icons/mob/clothing/modsuit/mod_clothing_anthro.dmi' + icon_state = "chestplate" + item_state = "chestplate" + blood_overlay_type = "armor" + armor = list(MELEE = 0, BULLET = 0, LASER = 0, ENERGY = 0, BOMB = 0, BIO = 100, FIRE = 25, ACID = 25, WOUND = 10) + body_parts_covered = CHEST|GROIN + heat_protection = CHEST|GROIN + cold_protection = CHEST|GROIN + max_heat_protection_temperature = SPACE_SUIT_MAX_TEMP_PROTECT + min_cold_protection_temperature = SPACE_SUIT_MIN_TEMP_PROTECT + clothing_flags = THICKMATERIAL + flags_inv = HIDETAUR + visor_flags = STOPSPRESSUREDAMAGE + visor_flags_inv = HIDEJUMPSUIT + allowed = list(/obj/item/flashlight, /obj/item/tank/internals) + resistance_flags = NONE + var/obj/item/mod/control/mod + mutantrace_variation = STYLE_DIGITIGRADE + +/obj/item/clothing/suit/armor/mod/Destroy() + if(!QDELETED(mod)) + mod.chestplate = null + mod.mod_parts -= src + QDEL_NULL(mod) + return ..() + +/obj/item/clothing/gloves/mod + name = "MOD gauntlets" + desc = "A pair of gauntlets for a MODsuit." + icon = 'icons/obj/clothing/modsuit/mod_clothing.dmi' + mob_overlay_icon = 'icons/mob/clothing/modsuit/mod_clothing.dmi' + icon_state = "gauntlets" + item_state = "gauntlets" + armor = list(MELEE = 0, BULLET = 0, LASER = 0, ENERGY = 0, BOMB = 0, BIO = 100, FIRE = 25, ACID = 25, WOUND = 10) + body_parts_covered = HANDS|ARMS + heat_protection = HANDS|ARMS + cold_protection = HANDS|ARMS + max_heat_protection_temperature = SPACE_SUIT_MAX_TEMP_PROTECT + min_cold_protection_temperature = SPACE_SUIT_MIN_TEMP_PROTECT + clothing_flags = THICKMATERIAL + resistance_flags = NONE + var/obj/item/mod/control/mod + var/obj/item/clothing/overslot + mutantrace_variation = STYLE_NO_ANTHRO_ICON + +/obj/item/clothing/gloves/mod/Destroy() + if(!QDELETED(mod)) + mod.gauntlets = null + mod.mod_parts -= src + QDEL_NULL(mod) + return ..() + +/// Replaces these gloves on the wearer with the overslot ones + +/obj/item/clothing/gloves/mod/proc/show_overslot() + if(!overslot) + return + if(!mod.wearer.equip_to_slot_if_possible(overslot, overslot.slot_flags, qdel_on_fail = FALSE, disable_warning = TRUE)) + mod.wearer.dropItemToGround(overslot, force = TRUE) + overslot = null + +/obj/item/clothing/shoes/mod + name = "MOD boots" + desc = "A pair of boots for a MODsuit." + icon = 'icons/obj/clothing/modsuit/mod_clothing.dmi' + mob_overlay_icon = 'icons/mob/clothing/modsuit/mod_clothing.dmi' + anthro_mob_worn_overlay = 'icons/mob/clothing/modsuit/mod_clothing_anthro.dmi' + icon_state = "boots" + item_state = "boots" + armor = list(MELEE = 0, BULLET = 0, LASER = 0, ENERGY = 0, BOMB = 0, BIO = 100, FIRE = 25, ACID = 25, WOUND = 10) + body_parts_covered = FEET|LEGS + heat_protection = FEET|LEGS + cold_protection = FEET|LEGS + max_heat_protection_temperature = SPACE_SUIT_MAX_TEMP_PROTECT + min_cold_protection_temperature = SPACE_SUIT_MIN_TEMP_PROTECT + clothing_flags = THICKMATERIAL + resistance_flags = NONE + item_flags = NONE + var/obj/item/mod/control/mod + var/obj/item/clothing/overslot + mutantrace_variation = STYLE_DIGITIGRADE + +/obj/item/clothing/shoes/mod/Destroy() + if(!QDELETED(mod)) + mod.boots = null + mod.mod_parts -= src + QDEL_NULL(mod) + return ..() + +/// Replaces these shoes on the wearer with the overslot ones +/obj/item/clothing/shoes/mod/proc/show_overslot() + if(!overslot) + return + if(!mod.wearer.equip_to_slot_if_possible(overslot, overslot.slot_flags, qdel_on_fail = FALSE, disable_warning = TRUE)) + mod.wearer.dropItemToGround(overslot, force = TRUE) + overslot = null + +/obj/item/clothing/shoes/mod/negates_gravity() + return clothing_flags & NOSLIP diff --git a/code/modules/mod/mod_construction.dm b/code/modules/mod/mod_construction.dm new file mode 100644 index 0000000000..3fc8464b6b --- /dev/null +++ b/code/modules/mod/mod_construction.dm @@ -0,0 +1,291 @@ +/obj/item/mod/construction + desc = "A part used in MOD construction." + icon = 'icons/obj/clothing/modsuit/mod_construction.dmi' + item_state = "rack_parts" + +/obj/item/mod/construction/helmet + name = "MOD helmet" + icon_state = "helmet" + +/obj/item/mod/construction/chestplate + name = "MOD chestplate" + icon_state = "chestplate" + +/obj/item/mod/construction/gauntlets + name = "MOD gauntlets" + icon_state = "gauntlets" + +/obj/item/mod/construction/boots + name = "MOD boots" + icon_state = "boots" + +/obj/item/mod/construction/core + name = "MOD core" + icon_state = "mod-core-standard" + desc = "Growing in the most lush, fertile areas of the planet Sprout, there is a crystal known as the Heartbloom. \ + These rare, organic piezoelectric crystals are of incredible cultural significance to the artist castes of the Ethereals, \ + owing to their appearance; which is exactly similar to that of an Ethereal's heart. \n\ + Which one you have in your suit is unclear, but either way, \ + it's been repurposed to be an internal power source for a Modular Outerwear Device." + +/obj/item/mod/construction/broken_core + name = "broken MOD core" + icon_state = "mod-core" + desc = "An internal power source for a Modular Outerwear Device. You don't seem to be able to source any power from this one, though." + +/obj/item/mod/construction/broken_core/examine(mob/user) + . = ..() + . += span_notice("You could repair it with a screwdriver...") + +/obj/item/mod/construction/broken_core/screwdriver_act(mob/living/user, obj/item/tool) + . = ..() + if(!tool.use_tool(src, user, 5 SECONDS, volume = 30)) + return + new /obj/item/mod/construction/core(drop_location()) + qdel(src) + +/obj/item/mod/construction/armor + name = "MOD armor plates" + desc = "Armor plates used to finish a MOD." + icon_state = "standard-plating" + var/datum/mod_theme/theme = /datum/mod_theme + +/obj/item/mod/construction/armor/Initialize(mapload) + . = ..() + var/datum/mod_theme/used_theme = GLOB.mod_themes[theme] + name = "MOD [used_theme.name] armor plates" + desc = "[desc] [used_theme.desc]" + icon_state = "[used_theme.default_skin]-plating" + +/obj/item/mod/construction/armor/engineering + theme = /datum/mod_theme/engineering + +/obj/item/mod/construction/armor/atmospheric + theme = /datum/mod_theme/atmospheric + +/obj/item/mod/construction/armor/advanced + theme = /datum/mod_theme/advanced + +/obj/item/mod/construction/armor/mining + theme = /datum/mod_theme/mining + +/obj/item/mod/construction/armor/medical + theme = /datum/mod_theme/medical + +/obj/item/mod/construction/armor/rescue + theme = /datum/mod_theme/rescue + +/obj/item/mod/construction/armor/security + theme = /datum/mod_theme/security + +/obj/item/mod/construction/armor/research + theme = /datum/mod_theme/research + +/obj/item/mod/construction/armor/cosmohonk + theme = /datum/mod_theme/cosmohonk + +/obj/item/mod/construction/armor/magnate + theme = /datum/mod_theme/magnate + +/obj/item/mod/paint + name = "MOD paint kit" + desc = "This kit will repaint your MODsuit to something unique." + icon = 'icons/obj/clothing/modsuit/mod_construction.dmi' + icon_state = "paintkit" + +#define START_STEP "start" +#define CORE_STEP "core" +#define SCREWED_CORE_STEP "screwed_core" +#define HELMET_STEP "helmet" +#define CHESTPLATE_STEP "chestplate" +#define GAUNTLETS_STEP "gauntlets" +#define BOOTS_STEP "boots" +#define WRENCHED_ASSEMBLY_STEP "wrenched_assembly" +#define SCREWED_ASSEMBLY_STEP "screwed_assembly" + +/obj/item/mod/construction/shell + name = "MOD shell" + icon_state = "mod-construction_start" + desc = "A MOD shell." + var/obj/item/core + var/obj/item/helmet + var/obj/item/chestplate + var/obj/item/gauntlets + var/obj/item/boots + var/step = START_STEP + +/obj/item/mod/construction/shell/examine(mob/user) + . = ..() + var/display_text + switch(step) + if(START_STEP) + display_text = "It looks like it's missing a MOD core..." + if(CORE_STEP) + display_text = "The core seems loose..." + if(SCREWED_CORE_STEP) + display_text = "It looks like it's missing a helmet..." + if(HELMET_STEP) + display_text = "It looks like it's missing a chestplate..." + if(CHESTPLATE_STEP) + display_text = "It looks like it's missing gauntlets..." + if(GAUNTLETS_STEP) + display_text = "It looks like it's missing boots..." + if(BOOTS_STEP) + display_text = "The assembly seems unsecured..." + if(WRENCHED_ASSEMBLY_STEP) + display_text = "The assembly seems loose..." + if(SCREWED_ASSEMBLY_STEP) + display_text = "All it's missing is external armor..." + . += span_notice(display_text) + +/obj/item/mod/construction/shell/attackby(obj/item/part, mob/user, params) + . = ..() + switch(step) + if(START_STEP) + if(!istype(part, /obj/item/mod/construction/core)) + return + if(!user.transferItemToLoc(part, src)) + balloon_alert(user, "core stuck to your hand!") + return + playsound(src, 'sound/machines/click.ogg', 30, TRUE) + balloon_alert(user, "core inserted") + core = part + step = CORE_STEP + if(CORE_STEP) + if(part.tool_behaviour == TOOL_SCREWDRIVER) //Construct + if(part.use_tool(src, user, 0, volume=30)) + balloon_alert(user, "core screwed") + step = SCREWED_CORE_STEP + else if(part.tool_behaviour == TOOL_CROWBAR) //Deconstruct + if(part.use_tool(src, user, 0, volume=30)) + core.forceMove(drop_location()) + balloon_alert(user, "core taken out") + step = START_STEP + if(SCREWED_CORE_STEP) + if(istype(part, /obj/item/mod/construction/helmet)) //Construct + if(!user.transferItemToLoc(part, src)) + balloon_alert(user, "helmet stuck to your hand!") + return + playsound(src, 'sound/machines/click.ogg', 30, TRUE) + balloon_alert(user, "helmet added") + helmet = part + step = HELMET_STEP + else if(part.tool_behaviour == TOOL_SCREWDRIVER) //Deconstruct + if(part.use_tool(src, user, 0, volume=30)) + balloon_alert(user, "core unscrewed") + step = CORE_STEP + if(HELMET_STEP) + if(istype(part, /obj/item/mod/construction/chestplate)) //Construct + if(!user.transferItemToLoc(part, src)) + balloon_alert(user, "chestplate stuck to your hand!") + return + playsound(src, 'sound/machines/click.ogg', 30, TRUE) + balloon_alert(user, "chestplate added") + chestplate = part + step = CHESTPLATE_STEP + else if(part.tool_behaviour == TOOL_CROWBAR) //Deconstruct + if(part.use_tool(src, user, 0, volume=30)) + helmet.forceMove(drop_location()) + balloon_alert(user, "helmet removed") + helmet = null + step = SCREWED_CORE_STEP + if(CHESTPLATE_STEP) + if(istype(part, /obj/item/mod/construction/gauntlets)) //Construct + if(!user.transferItemToLoc(part, src)) + balloon_alert(user, "gauntlets stuck to your hand!") + return + playsound(src, 'sound/machines/click.ogg', 30, TRUE) + balloon_alert(user, "gauntlets added") + gauntlets = part + step = GAUNTLETS_STEP + else if(part.tool_behaviour == TOOL_CROWBAR) //Deconstruct + if(part.use_tool(src, user, 0, volume=30)) + chestplate.forceMove(drop_location()) + balloon_alert(user, "chestplate removed") + chestplate = null + step = HELMET_STEP + if(GAUNTLETS_STEP) + if(istype(part, /obj/item/mod/construction/boots)) //Construct + if(!user.transferItemToLoc(part, src)) + balloon_alert(user, "boots added") + return + playsound(src, 'sound/machines/click.ogg', 30, TRUE) + balloon_alert(user, "You fit [part] onto [src].") + boots = part + step = BOOTS_STEP + else if(part.tool_behaviour == TOOL_CROWBAR) //Deconstruct + if(part.use_tool(src, user, 0, volume=30)) + gauntlets.forceMove(drop_location()) + balloon_alert(user, "gauntlets removed") + gauntlets = null + step = CHESTPLATE_STEP + if(BOOTS_STEP) + if(part.tool_behaviour == TOOL_WRENCH) //Construct + if(part.use_tool(src, user, 0, volume=30)) + balloon_alert(user, "assembly secured") + step = WRENCHED_ASSEMBLY_STEP + else if(part.tool_behaviour == TOOL_CROWBAR) //Deconstruct + if(part.use_tool(src, user, 0, volume=30)) + boots.forceMove(drop_location()) + balloon_alert(user, "boots removed") + boots = null + step = GAUNTLETS_STEP + if(WRENCHED_ASSEMBLY_STEP) + if(part.tool_behaviour == TOOL_SCREWDRIVER) //Construct + if(part.use_tool(src, user, 0, volume=30)) + balloon_alert(user, "assembly screwed") + step = SCREWED_ASSEMBLY_STEP + else if(part.tool_behaviour == TOOL_WRENCH) //Deconstruct + if(part.use_tool(src, user, 0, volume=30)) + balloon_alert(user, "assembly unsecured") + step = BOOTS_STEP + if(SCREWED_ASSEMBLY_STEP) + if(istype(part, /obj/item/mod/construction/armor)) //Construct + var/obj/item/mod/construction/armor/external_armor = part + if(!user.transferItemToLoc(part, src)) + return + playsound(src, 'sound/machines/click.ogg', 30, TRUE) + balloon_alert(user, "suit finished") + var/obj/item/modsuit = new /obj/item/mod/control(drop_location(), external_armor.theme) + qdel(src) + user.put_in_hands(modsuit) + else if(part.tool_behaviour == TOOL_SCREWDRIVER) //Construct + if(part.use_tool(src, user, 0, volume=30)) + balloon_alert(user, "assembly unscrewed") + step = SCREWED_ASSEMBLY_STEP + update_icon_state() + +/obj/item/mod/construction/shell/update_icon_state() + . = ..() + icon_state = "mod-construction_[step]" + +/obj/item/mod/construction/shell/Destroy() + QDEL_NULL(core) + QDEL_NULL(helmet) + QDEL_NULL(chestplate) + QDEL_NULL(gauntlets) + QDEL_NULL(boots) + return ..() + +/obj/item/mod/construction/shell/handle_atom_del(atom/deleted_atom) + if(deleted_atom == core) + core = null + if(deleted_atom == helmet) + helmet = null + if(deleted_atom == chestplate) + chestplate = null + if(deleted_atom == gauntlets) + gauntlets = null + if(deleted_atom == boots) + boots = null + return ..() + +#undef START_STEP +#undef CORE_STEP +#undef SCREWED_CORE_STEP +#undef HELMET_STEP +#undef CHESTPLATE_STEP +#undef GAUNTLETS_STEP +#undef BOOTS_STEP +#undef WRENCHED_ASSEMBLY_STEP +#undef SCREWED_ASSEMBLY_STEP diff --git a/code/modules/mod/mod_control.dm b/code/modules/mod/mod_control.dm new file mode 100644 index 0000000000..d30b8a235e --- /dev/null +++ b/code/modules/mod/mod_control.dm @@ -0,0 +1,588 @@ +/// MODsuits, trade-off between armor and utility +/obj/item/mod + name = "Base MOD" + desc = "You should not see this, yell at a coder!" + icon = 'icons/obj/clothing/modsuit/mod_clothing.dmi' + mob_overlay_icon = 'icons/mob/clothing/modsuit/mod_clothing.dmi' + icon_state = "standard-control" + item_state = "standard-control" + mutantrace_variation = STYLE_NO_ANTHRO_ICON + +/obj/item/mod/control + name = "MOD control unit" + desc = "The control unit of a Modular Outerwear Device, a powered, back-mounted suit that protects against various environments." + icon_state = "control" + item_state = "control" + w_class = WEIGHT_CLASS_BULKY + slot_flags = ITEM_SLOT_BACK + strip_delay = 10 SECONDS + slowdown = 2 + armor = list(MELEE = 0, BULLET = 0, LASER = 0, ENERGY = 0, BOMB = 0, BIO = 100, FIRE = 25, ACID = 25, WOUND = 10, RAD = 0) + actions_types = list( + /datum/action/item_action/mod/deploy, + /datum/action/item_action/mod/activate, + /datum/action/item_action/mod/module, + /datum/action/item_action/mod/panel, + /datum/action/item_action/mod/deploy/ai, + /datum/action/item_action/mod/activate/ai, + /datum/action/item_action/mod/module/ai, + /datum/action/item_action/mod/panel/ai, + ) + resistance_flags = NONE + max_heat_protection_temperature = SPACE_SUIT_MAX_TEMP_PROTECT + min_cold_protection_temperature = SPACE_SUIT_MIN_TEMP_PROTECT + permeability_coefficient = 0.01 + siemens_coefficient = 0.5 + alternate_worn_layer = BODY_FRONT_LAYER + /// The MOD's theme, decides on some stuff like armor and statistics. + var/datum/mod_theme/theme = /datum/mod_theme + /// Looks of the MOD. + var/skin = "standard" + /// Theme of the MOD TGUI + var/ui_theme = "ntos" + /// If the suit is deployed and turned on. + var/active = FALSE + /// If the suit wire/module hatch is open. + var/open = FALSE + /// If the suit is ID locked. + var/locked = FALSE + /// If the suit is malfunctioning. + var/malfunctioning = FALSE + /// If the suit is currently activating/deactivating. + var/activating = FALSE + /// How long the MOD is electrified for. + var/seconds_electrified = MACHINE_NOT_ELECTRIFIED + /// If the suit interface is broken. + var/interface_break = FALSE + /// How much module complexity can this MOD carry. + var/complexity_max = DEFAULT_MAX_COMPLEXITY + /// How much module complexity this MOD is carrying. + var/complexity = 0 + /// Power usage of the MOD. + var/cell_drain = DEFAULT_CHARGE_DRAIN + /// Slowdown of the MOD when not active. + var/slowdown_inactive = 2 + /// Slowdown of the MOD when active. + var/slowdown_active = 1 + /// How long this MOD takes each part to seal. + var/activation_step_time = MOD_ACTIVATION_STEP_TIME + /// MOD cell. + var/obj/item/stock_parts/cell/cell + /// MOD helmet. + var/obj/item/clothing/head/helmet/space/mod/helmet + /// MOD chestplate. + var/obj/item/clothing/suit/armor/mod/chestplate + /// MOD gauntlets. + var/obj/item/clothing/gloves/mod/gauntlets + /// MOD boots. + var/obj/item/clothing/shoes/mod/boots + /// List of parts (helmet, chestplate, gauntlets, boots). + var/list/mod_parts = list() + /// Modules the MOD should spawn with. + var/list/initial_modules = list() + /// Modules the MOD currently possesses. + var/list/modules = list() + /// Currently used module. + var/obj/item/mod/module/selected_module + /// AI/pAI mob inhabiting the MOD. + var/mob/living/silicon/ai + /// Delay between moves as AI. + var/movedelay = 0 + /// Cooldown for AI moves. + COOLDOWN_DECLARE(cooldown_mod_move) + /// Person wearing the MODsuit. + var/mob/living/carbon/human/wearer + +/obj/item/mod/control/Initialize(mapload, new_theme, new_skin) + . = ..() + if(new_theme) + theme = new_theme + theme = GLOB.mod_themes[theme] + slowdown_inactive = theme.slowdown_inactive + slowdown_active = theme.slowdown_active + slowdown = slowdown_inactive + complexity_max = theme.complexity_max + skin = new_skin || theme.default_skin + ui_theme = theme.ui_theme + cell_drain = theme.cell_drain + initial_modules += theme.inbuilt_modules + wires = new /datum/wires/mod(src) + if(length(req_access)) + locked = TRUE + if(ispath(cell)) + cell = new cell(src) + helmet = new /obj/item/clothing/head/helmet/space/mod(src) + helmet.mod = src + mod_parts += helmet + chestplate = new /obj/item/clothing/suit/armor/mod(src) + chestplate.mod = src + mod_parts += chestplate + gauntlets = new /obj/item/clothing/gloves/mod(src) + gauntlets.mod = src + mod_parts += gauntlets + boots = new /obj/item/clothing/shoes/mod(src) + boots.mod = src + mod_parts += boots + var/list/all_parts = mod_parts.Copy() + src + for(var/obj/item/piece as anything in all_parts) + piece.name = "[theme.name] [piece.name]" + piece.desc = "[piece.desc] [theme.desc]" + piece.armor = getArmor(arglist(theme.armor)) + piece.resistance_flags = theme.resistance_flags + piece.heat_protection = NONE + piece.cold_protection = NONE + piece.max_heat_protection_temperature = theme.max_heat_protection_temperature + piece.min_cold_protection_temperature = theme.min_cold_protection_temperature + piece.permeability_coefficient = theme.permeability_coefficient + piece.siemens_coefficient = theme.siemens_coefficient + piece.icon_state = "[skin]-[initial(piece.icon_state)]" + piece.item_state = "[skin]-[initial(piece.item_state)]" + update_flags() + for(var/obj/item/mod/module/module as anything in initial_modules) + module = new module(src) + install(module) + RegisterSignal(src, COMSIG_ATOM_EXITED, .proc/on_exit) + movedelay = CONFIG_GET(number/movedelay/run_delay) + +/obj/item/mod/control/Destroy() + if(active) + STOP_PROCESSING(SSobj, src) + var/atom/deleting_atom + if(!QDELETED(helmet)) + deleting_atom = helmet + helmet.mod = null + helmet = null + mod_parts -= deleting_atom + qdel(deleting_atom) + if(!QDELETED(chestplate)) + deleting_atom = chestplate + chestplate.mod = null + chestplate = null + mod_parts -= deleting_atom + qdel(deleting_atom) + if(!QDELETED(gauntlets)) + deleting_atom = gauntlets + gauntlets.mod = null + gauntlets = null + mod_parts -= deleting_atom + qdel(deleting_atom) + if(!QDELETED(boots)) + deleting_atom = boots + boots.mod = null + boots = null + mod_parts -= deleting_atom + qdel(deleting_atom) + for(var/obj/item/mod/module/module as anything in modules) + module.mod = null + modules -= module + QDEL_NULL(ai) + QDEL_NULL(wires) + QDEL_NULL(cell) + return ..() + +/obj/item/mod/control/process(delta_time) + if(seconds_electrified > MACHINE_NOT_ELECTRIFIED) + seconds_electrified-- + if((!cell || !cell.charge) && active && !activating) + power_off() + return PROCESS_KILL + var/malfunctioning_charge_drain = 0 + if(malfunctioning) + malfunctioning_charge_drain = rand(1,20) + cell.charge = max(0, cell.charge - (cell_drain + malfunctioning_charge_drain)*delta_time) + update_cell_alert() + for(var/obj/item/mod/module/module as anything in modules) + if(malfunctioning && module.active && DT_PROB(5, delta_time)) + module.on_deactivation() + module.on_process(delta_time) + +/obj/item/mod/control/equipped(mob/user, slot) + ..() + if(slot == ITEM_SLOT_BACK) + set_wearer(user) + else if(wearer) + unset_wearer() + +/obj/item/mod/control/dropped(mob/user) + . = ..() + if(wearer) + unset_wearer() + +/obj/item/mod/control/item_action_slot_check(slot) + if(slot == ITEM_SLOT_BACK) + return TRUE + +/obj/item/mod/control/allow_attack_hand_drop(mob/user) + var/mob/living/carbon/carbon_user = user + if(!istype(carbon_user) || src != carbon_user.back) + return ..() + for(var/obj/item/part in mod_parts) + if(part.loc != src) + balloon_alert(carbon_user, "retract parts first!") + playsound(src, 'sound/machines/scanbuzz.ogg', 25, FALSE, SILENCED_SOUND_EXTRARANGE) + return FALSE + return ..() + +/obj/item/mod/control/MouseDrop(atom/over_object) + if(src != wearer?.back || !istype(over_object, /atom/movable/screen/inventory/hand)) + return ..() + for(var/obj/item/part in mod_parts) + if(part.loc != src) + balloon_alert(wearer, "retract parts first!") + playsound(src, 'sound/machines/scanbuzz.ogg', 25, FALSE, SILENCED_SOUND_EXTRARANGE) + return + if(!wearer.incapacitated()) + var/atom/movable/screen/inventory/hand/ui_hand = over_object + if(wearer.putItemFromInventoryInHandIfPossible(src, ui_hand.held_index)) + add_fingerprint(usr) + return ..() + +/obj/item/mod/control/attack_hand(mob/user) + if(seconds_electrified && cell?.charge) + if(shock(user)) + return + if(open && loc == user) + if(!cell) + balloon_alert(user, "no cell!") + return + balloon_alert(user, "removing cell...") + if(!do_after(user, 1.5 SECONDS, target = src)) + balloon_alert(user, "interrupted!") + return + balloon_alert(user, "cell removed") + playsound(src, 'sound/machines/click.ogg', 50, TRUE, SILENCED_SOUND_EXTRARANGE) + if(!user.put_in_hands(cell)) + cell.forceMove(drop_location()) + update_cell_alert() + return + return ..() + +/obj/item/mod/control/AltClick(mob/user) + if(seconds_electrified && cell?.charge) + if(shock(user)) + return + if(!open) + for(var/obj/item/mod/module/storage/S in modules) + if(S.stored) + playsound(user, "rustle", 50, 1, -5) + SEND_SIGNAL(S.stored, COMSIG_TRY_STORAGE_SHOW, wearer, TRUE) + return + . = ..() + +/obj/item/mod/control/screwdriver_act(mob/living/user, obj/item/screwdriver) + . = ..() + if(.) + return TRUE + if(active || activating) + balloon_alert(user, "deactivate suit first!") + playsound(src, 'sound/machines/scanbuzz.ogg', 25, TRUE, SILENCED_SOUND_EXTRARANGE) + return FALSE + balloon_alert(user, "[open ? "closing" : "opening"] panel...") + screwdriver.play_tool_sound(src, 100) + if(screwdriver.use_tool(src, user, 1 SECONDS)) + if(active || activating) + balloon_alert(user, "deactivate suit first!") + screwdriver.play_tool_sound(src, 100) + balloon_alert(user, "panel [open ? "closed" : "opened"]") + open = !open + else + balloon_alert(user, "interrupted!") + return TRUE + +/obj/item/mod/control/crowbar_act(mob/living/user, obj/item/crowbar) + . = ..() + if(!open) + balloon_alert(user, "open the panel first!") + playsound(src, 'sound/machines/scanbuzz.ogg', 25, TRUE, SILENCED_SOUND_EXTRARANGE) + return FALSE + if(!allowed(user)) + balloon_alert(user, "insufficient access!") + playsound(src, 'sound/machines/scanbuzz.ogg', 25, TRUE, SILENCED_SOUND_EXTRARANGE) + return + if(length(modules)) + var/list/removable_modules = list() + for(var/obj/item/mod/module/module as anything in modules) + if(!module.removable) + continue + removable_modules += module + var/obj/item/mod/module/module_to_remove = tgui_input_list(user, "Which module to remove?", "Module Removal", removable_modules) + if(!module_to_remove?.mod) + return FALSE + uninstall(module_to_remove) + module_to_remove.forceMove(drop_location()) + crowbar.play_tool_sound(src, 100) + return TRUE + balloon_alert(user, "no modules!") + playsound(src, 'sound/machines/scanbuzz.ogg', 25, TRUE, SILENCED_SOUND_EXTRARANGE) + return FALSE + +/obj/item/mod/control/attackby(obj/item/attacking_item, mob/living/user, params) + if(istype(attacking_item, /obj/item/paicard)) + if(!open) //mod must be open + balloon_alert(user, "suit must be open to transfer!") + return FALSE + insert_pai(user, attacking_item) + return TRUE + if(istype(attacking_item, /obj/item/mod/module)) + if(!open) + balloon_alert(user, "open the panel first!") + playsound(src, 'sound/machines/scanbuzz.ogg', 25, TRUE, SILENCED_SOUND_EXTRARANGE) + return FALSE + install(attacking_item, user) + return TRUE + else if(istype(attacking_item, /obj/item/stock_parts/cell)) + if(!open) + balloon_alert(user, "open the panel first!") + playsound(src, 'sound/machines/scanbuzz.ogg', 25, TRUE, SILENCED_SOUND_EXTRARANGE) + return FALSE + if(cell) + balloon_alert(user, "cell already installed!") + playsound(src, 'sound/machines/scanbuzz.ogg', 25, TRUE, SILENCED_SOUND_EXTRARANGE) + return FALSE + attacking_item.forceMove(src) + cell = attacking_item + balloon_alert(user, "cell installed") + playsound(src, 'sound/machines/click.ogg', 50, TRUE, SILENCED_SOUND_EXTRARANGE) + update_cell_alert() + return TRUE + else if(is_wire_tool(attacking_item) && open) + wires.interact(user) + return TRUE + else if(istype(attacking_item, /obj/item/mod/paint)) + if(active || activating) + balloon_alert(user, "suit is active!") + else if(paint(user, attacking_item)) + balloon_alert(user, "suit painted") + else + balloon_alert(user, "not painted!") + return TRUE + else if(open && attacking_item.GetID()) + update_access(user, attacking_item) + return TRUE + return ..() + +/obj/item/mod/control/get_cell() + if(open) + return cell + +/obj/item/mod/control/emag_act(mob/user) + locked = !locked + balloon_alert(user, "[locked ? "locked" : "unlocked"]") + +/obj/item/mod/control/emp_act(severity) + . = ..() + to_chat(wearer, span_notice("[severity > 1 ? "Light" : "Strong"] electromagnetic pulse detected!")) + if(!active || !wearer || . & EMP_PROTECT_CONTENTS) + return + selected_module = null + wearer.apply_damage(10 / severity, BURN, spread_damage=TRUE) + to_chat(wearer, span_danger("You feel [src] heat up from the EMP, burning you slightly.")) + if (wearer.stat < UNCONSCIOUS && prob(10)) + wearer.emote("scream") + +/obj/item/mod/control/on_outfit_equip(mob/living/carbon/human/outfit_wearer, visuals_only, item_slot) + if(visuals_only) + set_wearer(outfit_wearer) //we need to set wearer manually since it doesnt call equipped + quick_activation() + +/obj/item/mod/control/doStrip(mob/stripper, mob/owner) + if(active && !toggle_activate(stripper, force_deactivate = TRUE)) + return + for(var/obj/item/part in mod_parts) + conceal(null, part) + return ..() + +/obj/item/mod/control/worn_overlays(isinhands = FALSE, icon_file) + . = ..() + if(!active) + return + for(var/obj/item/mod/module/module as anything in modules) + var/list/module_icons = module.generate_worn_overlay() + if(!length(module_icons)) + continue + . += module_icons + +/obj/item/mod/control/proc/set_wearer(mob/user) + wearer = user + RegisterSignal(wearer, COMSIG_ATOM_EXITED, .proc/on_exit) + RegisterSignal(wearer, COMSIG_PROCESS_BORGCHARGER_OCCUPANT, .proc/on_borg_charge) + update_cell_alert() + for(var/obj/item/mod/module/module as anything in modules) + module.on_equip() + +/obj/item/mod/control/proc/unset_wearer() + for(var/obj/item/mod/module/module as anything in modules) + module.on_unequip() + UnregisterSignal(wearer, list(COMSIG_ATOM_EXITED, COMSIG_PROCESS_BORGCHARGER_OCCUPANT)) + wearer.clear_alert("mod_charge") + wearer = null + +/obj/item/mod/control/proc/update_flags() + var/list/used_skin = theme.skins[skin] + for(var/obj/item/clothing/part as anything in mod_parts) + var/used_category + if(part == helmet) + used_category = HELMET_FLAGS + helmet.alternate_worn_layer = used_skin["HELMET_LAYER"] + helmet.alternate_layer = used_skin["HELMET_LAYER"] + if(part == chestplate) + used_category = CHESTPLATE_FLAGS + if(part == gauntlets) + used_category = GAUNTLETS_FLAGS + if(part == boots) + used_category = BOOTS_FLAGS + var/list/category = used_skin[used_category] + part.clothing_flags = category[UNSEALED_CLOTHING] || NONE + part.visor_flags = category[SEALED_CLOTHING] || NONE + part.flags_inv = category[UNSEALED_INVISIBILITY] || NONE + part.visor_flags_inv = category[SEALED_INVISIBILITY] || NONE + part.flags_cover = category[UNSEALED_COVER] || NONE + part.visor_flags_cover = category[SEALED_COVER] || NONE + +/obj/item/mod/control/proc/quick_module(mob/user) + if(!length(modules)) + return + var/list/display_names = list() + var/list/items = list() + for(var/obj/item/mod/module/module as anything in modules) + if(module.module_type == MODULE_PASSIVE) + continue + display_names[module.name] = REF(module) + var/image/module_image = image(icon = module.icon, icon_state = module.icon_state) + items += list(module.name = module_image) + if(!length(items)) + return + var/pick = show_radial_menu(user, src, items, custom_check = FALSE, require_near = TRUE) + if(!pick) + return + var/module_reference = display_names[pick] + var/obj/item/mod/module/selected_module = locate(module_reference) in modules + if(!istype(selected_module) || user.incapacitated()) + return + selected_module.on_select() + +/obj/item/mod/control/proc/paint(mob/user, obj/item/paint) + if(length(theme.skins) <= 1) + return FALSE + var/list/skins = list() + for(var/mod_skin in theme.skins) + skins[mod_skin] = image(icon = icon, icon_state = "[mod_skin]-control") + var/pick = show_radial_menu(user, src, skins, custom_check = FALSE, require_near = TRUE) + if(!pick || !user.is_holding(paint)) + return FALSE + skin = pick + var/list/skin_updating = mod_parts.Copy() + src + for(var/obj/item/piece as anything in skin_updating) + piece.icon_state = "[skin]-[initial(piece.icon_state)]" + update_flags() + wearer?.regenerate_icons() + return TRUE + +/obj/item/mod/control/proc/shock(mob/living/user) + if(!istype(user) || cell?.charge < 1) + return FALSE + do_sparks(5, TRUE, src) + var/check_range = TRUE + return electrocute_mob(user, cell, src, 0.7, check_range) + +/obj/item/mod/control/proc/install(module, mob/user) + var/obj/item/mod/module/new_module = module + for(var/obj/item/mod/module/old_module as anything in modules) + if(is_type_in_list(new_module, old_module.incompatible_modules) || is_type_in_list(old_module, new_module.incompatible_modules)) + if(user) + balloon_alert(user, "[new_module] incompatible with [old_module]!") + playsound(src, 'sound/machines/scanbuzz.ogg', 25, TRUE, SILENCED_SOUND_EXTRARANGE) + return + if(is_type_in_list(module, theme.module_blacklist)) + if(user) + balloon_alert(user, "[src] doesn't accept [new_module]!") + playsound(src, 'sound/machines/scanbuzz.ogg', 25, TRUE, SILENCED_SOUND_EXTRARANGE) + return + var/complexity_with_module = complexity + complexity_with_module += new_module.complexity + if(complexity_with_module > complexity_max) + if(user) + balloon_alert(user, "[new_module] would make [src] too complex!") + playsound(src, 'sound/machines/scanbuzz.ogg', 25, TRUE, SILENCED_SOUND_EXTRARANGE) + return + new_module.forceMove(src) + modules += new_module + complexity += new_module.complexity + new_module.mod = src + new_module.on_install() + if(wearer) + new_module.on_equip() + if(user) + balloon_alert(user, "[new_module] added") + playsound(src, 'sound/machines/click.ogg', 50, TRUE, SILENCED_SOUND_EXTRARANGE) + +/obj/item/mod/control/proc/uninstall(module) + var/obj/item/mod/module/old_module = module + modules -= old_module + complexity -= old_module.complexity + if(active) + old_module.on_suit_deactivation() + if(old_module.active) + old_module.on_deactivation() + if(wearer) + old_module.on_unequip() + old_module.on_uninstall() + old_module.mod = null + +/obj/item/mod/control/proc/update_access(mob/user, obj/item/card/id/card) + if(!allowed(user)) + balloon_alert(user, "insufficient access!") + playsound(src, 'sound/machines/scanbuzz.ogg', 25, TRUE, SILENCED_SOUND_EXTRARANGE) + return + req_access = card.access.Copy() + balloon_alert(user, "access updated") + +/obj/item/mod/control/proc/update_cell_alert() + if(!wearer) + return + if(!cell) + wearer.throw_alert("mod_charge", /atom/movable/screen/alert/nocell) + return + var/remaining_cell = cell.charge/cell.maxcharge + switch(remaining_cell) + if(0.75 to INFINITY) + wearer.clear_alert("mod_charge") + if(0.5 to 0.75) + wearer.throw_alert("mod_charge", /atom/movable/screen/alert/lowcell, 1) + if(0.25 to 0.5) + wearer.throw_alert("mod_charge", /atom/movable/screen/alert/lowcell, 2) + if(0.01 to 0.25) + wearer.throw_alert("mod_charge", /atom/movable/screen/alert/lowcell, 3) + else + wearer.throw_alert("mod_charge", /atom/movable/screen/alert/emptycell) + +/obj/item/mod/control/proc/power_off() + balloon_alert(wearer, "no power!") + toggle_activate(wearer, force_deactivate = TRUE) + +/obj/item/mod/control/proc/on_exit(datum/source, atom/movable/part, direction) + SIGNAL_HANDLER + + if(part.loc == src) + return + if(part == cell) + cell = null + update_cell_alert() + return + if(part.loc == wearer) + return + if(modules.Find(part)) + uninstall(part) + return + if(mod_parts.Find(part)) + conceal(wearer, part) + if(active) + INVOKE_ASYNC(src, .proc/toggle_activate, wearer, TRUE) + return + +/obj/item/mod/control/proc/on_borg_charge(datum/source, amount) + SIGNAL_HANDLER + + if(!cell) + return + cell.give(amount) diff --git a/code/modules/mod/mod_theme.dm b/code/modules/mod/mod_theme.dm new file mode 100644 index 0000000000..135cef31b7 --- /dev/null +++ b/code/modules/mod/mod_theme.dm @@ -0,0 +1,854 @@ +/// Global proc that sets up all MOD themes as singletons in a list and returns it. +/proc/setup_mod_themes() + . = list() + for(var/path in typesof(/datum/mod_theme)) + var/datum/mod_theme/new_theme = new path() + .[path] = new_theme + +/// MODsuit theme, instanced once and then used by MODsuits to grab various statistics. +/datum/mod_theme + /// Theme name for the MOD. + var/name = "standard" + /// Description added to the MOD. + var/desc = "A civilian class suit by Nakamura Engineering, doesn't offer much other than slightly quicker movement." + /// Default skin of the MOD. + var/default_skin = "standard" + /// Armor shared across the MOD pieces. + var/armor = list(MELEE = 0, BULLET = 0, LASER = 0, ENERGY = 0, BOMB = 0, BIO = 100, FIRE = 25, ACID = 25, WOUND = 10, RAD = 0) + /// Resistance flags shared across the MOD pieces. + var/resistance_flags = NONE + /// Max heat protection shared across the MOD pieces. + var/max_heat_protection_temperature = SPACE_SUIT_MAX_TEMP_PROTECT + /// Max cold protection shared across the MOD pieces. + var/min_cold_protection_temperature = SPACE_SUIT_MIN_TEMP_PROTECT + /// Permeability shared across the MOD pieces. + var/permeability_coefficient = 0.01 + /// Siemens shared across the MOD pieces. + var/siemens_coefficient = 0.5 + /// How much modules can the MOD carry without malfunctioning. + var/complexity_max = DEFAULT_MAX_COMPLEXITY + /// How much battery power the MOD uses by just being on + var/cell_drain = DEFAULT_CHARGE_DRAIN + /// Slowdown of the MOD when not active. + var/slowdown_inactive = 1.25 + /// Slowdown of the MOD when active. + var/slowdown_active = 0.75 + /// Theme used by the MOD TGUI. + var/ui_theme = "ntos" + /// List of inbuilt modules. These are different from the pre-equipped suits, you should mainly use these for unremovable modules with 0 complexity. + var/list/inbuilt_modules = list() + /// Modules blacklisted from the MOD. + var/list/module_blacklist = list() + /// List of skins with their appropriate clothing flags. + var/list/skins = list( + "standard" = list( + HELMET_LAYER = NECK_LAYER, + HELMET_FLAGS = list( + UNSEALED_CLOTHING = NONE, + SEALED_CLOTHING = THICKMATERIAL|STOPSPRESSUREDAMAGE, + UNSEALED_INVISIBILITY = HIDEFACIALHAIR, + SEALED_INVISIBILITY = HIDEMASK|HIDEEARS|HIDEEYES|HIDEFACE|HIDEHAIR|HIDESNOUT, + SEALED_COVER = HEADCOVERSMOUTH|HEADCOVERSEYES, + ), + CHESTPLATE_FLAGS = list( + UNSEALED_CLOTHING = THICKMATERIAL, + SEALED_CLOTHING = STOPSPRESSUREDAMAGE, + SEALED_INVISIBILITY = HIDEJUMPSUIT, + ), + GAUNTLETS_FLAGS = list( + UNSEALED_CLOTHING = THICKMATERIAL, + SEALED_CLOTHING = STOPSPRESSUREDAMAGE, + ), + BOOTS_FLAGS = list( + UNSEALED_CLOTHING = THICKMATERIAL, + SEALED_CLOTHING = STOPSPRESSUREDAMAGE, + ), + ), + "civilian" = list( + HELMET_LAYER = null, + HELMET_FLAGS = list( + UNSEALED_CLOTHING = THICKMATERIAL, + SEALED_CLOTHING = STOPSPRESSUREDAMAGE, + UNSEALED_INVISIBILITY = HIDEFACIALHAIR|HIDEMASK|HIDEEARS|HIDEEYES|HIDEFACE|HIDEHAIR|HIDESNOUT, + UNSEALED_COVER = HEADCOVERSMOUTH|HEADCOVERSEYES, + ), + CHESTPLATE_FLAGS = list( + UNSEALED_CLOTHING = THICKMATERIAL, + SEALED_CLOTHING = STOPSPRESSUREDAMAGE, + SEALED_INVISIBILITY = HIDEJUMPSUIT, + ), + GAUNTLETS_FLAGS = list( + UNSEALED_CLOTHING = THICKMATERIAL, + SEALED_CLOTHING = STOPSPRESSUREDAMAGE, + ), + BOOTS_FLAGS = list( + UNSEALED_CLOTHING = THICKMATERIAL, + SEALED_CLOTHING = STOPSPRESSUREDAMAGE, + ), + ), + ) + +/datum/mod_theme/engineering + name = "engineering" + desc = "An engineer-fit suit with heat and shock resistance. Nakamura Engineering's classic." + default_skin = "engineering" + armor = list(MELEE = 0, BULLET = 0, LASER = 0, ENERGY = 0, BOMB = 10, BIO = 100, FIRE = 100, ACID = 25, WOUND = 10, RAD = 20) + resistance_flags = FIRE_PROOF + max_heat_protection_temperature = FIRE_SUIT_MAX_TEMP_PROTECT + siemens_coefficient = 0 + slowdown_inactive = 1.5 + slowdown_active = 1 + skins = list( + "engineering" = list( + HELMET_LAYER = NECK_LAYER, + HELMET_FLAGS = list( + UNSEALED_CLOTHING = NONE, + SEALED_CLOTHING = THICKMATERIAL|STOPSPRESSUREDAMAGE, + UNSEALED_INVISIBILITY = HIDEFACIALHAIR, + SEALED_INVISIBILITY = HIDEMASK|HIDEEARS|HIDEEYES|HIDEFACE|HIDEHAIR|HIDESNOUT, + SEALED_COVER = HEADCOVERSMOUTH|HEADCOVERSEYES, + ), + CHESTPLATE_FLAGS = list( + UNSEALED_CLOTHING = THICKMATERIAL, + SEALED_CLOTHING = STOPSPRESSUREDAMAGE, + SEALED_INVISIBILITY = HIDEJUMPSUIT, + ), + GAUNTLETS_FLAGS = list( + UNSEALED_CLOTHING = THICKMATERIAL, + SEALED_CLOTHING = STOPSPRESSUREDAMAGE, + ), + BOOTS_FLAGS = list( + UNSEALED_CLOTHING = THICKMATERIAL, + SEALED_CLOTHING = STOPSPRESSUREDAMAGE, + ), + ), + ) + +/datum/mod_theme/atmospheric + name = "atmospheric" + desc = "An atmospheric-resistant suit by Nakamura Engineering, offering extreme heat resistance compared to the engineer suit." + default_skin = "atmospheric" + armor = list(MELEE = 0, BULLET = 0, LASER = 0, ENERGY = 0, BOMB = 10, BIO = 100, FIRE = 100, ACID = 75, WOUND = 10, RAD = 0) + resistance_flags = FIRE_PROOF + max_heat_protection_temperature = FIRE_IMMUNITY_MAX_TEMP_PROTECT + slowdown_inactive = 1.5 + slowdown_active = 1 + skins = list( + "atmospheric" = list( + HELMET_LAYER = NECK_LAYER, + HELMET_FLAGS = list( + UNSEALED_CLOTHING = NONE, + SEALED_CLOTHING = THICKMATERIAL|STOPSPRESSUREDAMAGE, + UNSEALED_INVISIBILITY = HIDEFACIALHAIR|HIDESNOUT, + SEALED_INVISIBILITY = HIDEMASK|HIDEEARS|HIDEEYES|HIDEFACE|HIDEHAIR, + UNSEALED_COVER = HEADCOVERSMOUTH, + SEALED_COVER = HEADCOVERSEYES, + ), + CHESTPLATE_FLAGS = list( + UNSEALED_CLOTHING = THICKMATERIAL, + SEALED_CLOTHING = STOPSPRESSUREDAMAGE, + SEALED_INVISIBILITY = HIDEJUMPSUIT, + ), + GAUNTLETS_FLAGS = list( + UNSEALED_CLOTHING = THICKMATERIAL, + SEALED_CLOTHING = STOPSPRESSUREDAMAGE, + ), + BOOTS_FLAGS = list( + UNSEALED_CLOTHING = THICKMATERIAL, + SEALED_CLOTHING = STOPSPRESSUREDAMAGE, + ), + ), + ) + +/datum/mod_theme/advanced + name = "advanced" + desc = "An advanced version of Nakamura Engineering's classic suit, shining with a white, acid and fire resistant polish." + default_skin = "advanced" + armor = list(MELEE = 0, BULLET = 0, LASER = 0, ENERGY = 0, BOMB = 50, BIO = 100, FIRE = 100, ACID = 90, WOUND = 10, RAD = 35) + resistance_flags = FIRE_PROOF + max_heat_protection_temperature = FIRE_IMMUNITY_MAX_TEMP_PROTECT + siemens_coefficient = 0 + slowdown_inactive = 1 + slowdown_active = 0.5 + inbuilt_modules = list(/obj/item/mod/module/magboot/advanced) + skins = list( + "advanced" = list( + HELMET_LAYER = NECK_LAYER, + HELMET_FLAGS = list( + UNSEALED_CLOTHING = NONE, + SEALED_CLOTHING = THICKMATERIAL|STOPSPRESSUREDAMAGE, + UNSEALED_INVISIBILITY = HIDEFACIALHAIR, + SEALED_INVISIBILITY = HIDEMASK|HIDEEARS|HIDEEYES|HIDEFACE|HIDEHAIR|HIDESNOUT, + SEALED_COVER = HEADCOVERSMOUTH|HEADCOVERSEYES, + ), + CHESTPLATE_FLAGS = list( + UNSEALED_CLOTHING = THICKMATERIAL, + SEALED_CLOTHING = STOPSPRESSUREDAMAGE, + SEALED_INVISIBILITY = HIDEJUMPSUIT, + ), + GAUNTLETS_FLAGS = list( + UNSEALED_CLOTHING = THICKMATERIAL, + SEALED_CLOTHING = STOPSPRESSUREDAMAGE, + ), + BOOTS_FLAGS = list( + UNSEALED_CLOTHING = THICKMATERIAL, + SEALED_CLOTHING = STOPSPRESSUREDAMAGE, + ), + ), + ) + +/datum/mod_theme/mining + name = "mining" + desc = "A high-power Nanotrasen mining suit, supporting more complexity at a bigger drain." + default_skin = "mining" + armor = list(MELEE = 0, BULLET = 0, LASER = 0, ENERGY = 0, BOMB = 50, BIO = 100, FIRE = 100, ACID = 75, WOUND = 15, RAD = 0) + resistance_flags = FIRE_PROOF + max_heat_protection_temperature = FIRE_SUIT_MAX_TEMP_PROTECT + cell_drain = DEFAULT_CHARGE_DRAIN * 2 + complexity_max = DEFAULT_MAX_COMPLEXITY + 5 + skins = list( + "mining" = list( + HELMET_LAYER = null, + HELMET_FLAGS = list( + UNSEALED_CLOTHING = THICKMATERIAL, + SEALED_CLOTHING = STOPSPRESSUREDAMAGE, + UNSEALED_INVISIBILITY = HIDEFACIALHAIR|HIDEEARS|HIDEHAIR|HIDESNOUT, + SEALED_INVISIBILITY = HIDEMASK|HIDEEYES|HIDEFACE, + SEALED_COVER = HEADCOVERSMOUTH|HEADCOVERSEYES, + ), + CHESTPLATE_FLAGS = list( + UNSEALED_CLOTHING = THICKMATERIAL, + SEALED_CLOTHING = STOPSPRESSUREDAMAGE, + SEALED_INVISIBILITY = HIDEJUMPSUIT, + ), + GAUNTLETS_FLAGS = list( + UNSEALED_CLOTHING = THICKMATERIAL, + SEALED_CLOTHING = STOPSPRESSUREDAMAGE, + ), + BOOTS_FLAGS = list( + UNSEALED_CLOTHING = THICKMATERIAL, + SEALED_CLOTHING = STOPSPRESSUREDAMAGE, + ), + ), + ) + +/datum/mod_theme/medical + name = "medical" + desc = "A lightweight suit by DeForest Medical Corporation, allows for easier movement." + default_skin = "medical" + armor = list(MELEE = 0, BULLET = 0, LASER = 0, ENERGY = 0, BOMB = 10, BIO = 100, FIRE = 60, ACID = 75, WOUND = 10, RAD = 0) + cell_drain = DEFAULT_CHARGE_DRAIN * 1.5 + slowdown_inactive = 1 + slowdown_active = 0.5 + skins = list( + "medical" = list( + HELMET_LAYER = NECK_LAYER, + HELMET_FLAGS = list( + UNSEALED_CLOTHING = NONE, + SEALED_CLOTHING = THICKMATERIAL|STOPSPRESSUREDAMAGE, + UNSEALED_INVISIBILITY = HIDEFACIALHAIR, + SEALED_INVISIBILITY = HIDEMASK|HIDEEARS|HIDEEYES|HIDEFACE|HIDEHAIR|HIDESNOUT, + SEALED_COVER = HEADCOVERSMOUTH|HEADCOVERSEYES, + ), + CHESTPLATE_FLAGS = list( + UNSEALED_CLOTHING = THICKMATERIAL, + SEALED_CLOTHING = STOPSPRESSUREDAMAGE, + SEALED_INVISIBILITY = HIDEJUMPSUIT, + ), + GAUNTLETS_FLAGS = list( + UNSEALED_CLOTHING = THICKMATERIAL, + SEALED_CLOTHING = STOPSPRESSUREDAMAGE, + ), + BOOTS_FLAGS = list( + UNSEALED_CLOTHING = THICKMATERIAL, + SEALED_CLOTHING = STOPSPRESSUREDAMAGE, + ), + ), + "corpsman" = list( + HELMET_LAYER = NECK_LAYER, + HELMET_FLAGS = list( + UNSEALED_CLOTHING = NONE, + SEALED_CLOTHING = THICKMATERIAL|STOPSPRESSUREDAMAGE, + UNSEALED_INVISIBILITY = HIDEFACIALHAIR, + SEALED_INVISIBILITY = HIDEMASK|HIDEEARS|HIDEEYES|HIDEFACE|HIDEHAIR|HIDESNOUT, + SEALED_COVER = HEADCOVERSMOUTH|HEADCOVERSEYES, + ), + CHESTPLATE_FLAGS = list( + UNSEALED_CLOTHING = THICKMATERIAL, + SEALED_CLOTHING = STOPSPRESSUREDAMAGE, + SEALED_INVISIBILITY = HIDEJUMPSUIT, + ), + GAUNTLETS_FLAGS = list( + UNSEALED_CLOTHING = THICKMATERIAL, + SEALED_CLOTHING = STOPSPRESSUREDAMAGE, + ), + BOOTS_FLAGS = list( + UNSEALED_CLOTHING = THICKMATERIAL, + SEALED_CLOTHING = STOPSPRESSUREDAMAGE, + ), + ), + ) + +/datum/mod_theme/rescue + name = "rescue" + desc = "An advanced version of DeForest Medical Corporation's medical suit, designed for quick rescue of bodies from the most dangerous environments." + default_skin = "rescue" + armor = list(MELEE = 0, BULLET = 0, LASER = 0, ENERGY = 0, BOMB = 10, BIO = 100, FIRE = 100, ACID = 100, WOUND = 10, RAD = 0) + resistance_flags = FIRE_PROOF|ACID_PROOF + max_heat_protection_temperature = FIRE_SUIT_MAX_TEMP_PROTECT + cell_drain = DEFAULT_CHARGE_DRAIN * 1.5 + slowdown_inactive = 0.75 + slowdown_active = 0.25 + inbuilt_modules = list(/obj/item/mod/module/quick_carry/advanced) + skins = list( + "rescue" = list( + HELMET_LAYER = NECK_LAYER, + HELMET_FLAGS = list( + UNSEALED_CLOTHING = NONE, + SEALED_CLOTHING = THICKMATERIAL|STOPSPRESSUREDAMAGE, + UNSEALED_INVISIBILITY = HIDEFACIALHAIR, + SEALED_INVISIBILITY = HIDEMASK|HIDEEARS|HIDEEYES|HIDEFACE|HIDEHAIR|HIDESNOUT, + SEALED_COVER = HEADCOVERSMOUTH|HEADCOVERSEYES, + ), + CHESTPLATE_FLAGS = list( + UNSEALED_CLOTHING = THICKMATERIAL, + SEALED_CLOTHING = STOPSPRESSUREDAMAGE, + SEALED_INVISIBILITY = HIDEJUMPSUIT, + ), + GAUNTLETS_FLAGS = list( + UNSEALED_CLOTHING = THICKMATERIAL, + SEALED_CLOTHING = STOPSPRESSUREDAMAGE, + ), + BOOTS_FLAGS = list( + UNSEALED_CLOTHING = THICKMATERIAL, + SEALED_CLOTHING = STOPSPRESSUREDAMAGE, + ), + ), + ) + +/datum/mod_theme/research + name = "research" + desc = "A private military EOD suit by Aussec Armory, intended for explosive research. Bulky, but expansive." + default_skin = "research" + armor = list(MELEE = 0, BULLET = 0, LASER = 0, ENERGY = 0, BOMB = 100, BIO = 100, FIRE = 100, ACID = 100, WOUND = 15, RAD = 0) + resistance_flags = FIRE_PROOF|ACID_PROOF + max_heat_protection_temperature = FIRE_SUIT_MAX_TEMP_PROTECT + complexity_max = DEFAULT_MAX_COMPLEXITY + 5 + slowdown_inactive = 2 + slowdown_active = 1.5 + inbuilt_modules = list(/obj/item/mod/module/reagent_scanner/advanced) + skins = list( + "research" = list( + HELMET_LAYER = null, + HELMET_FLAGS = list( + UNSEALED_CLOTHING = THICKMATERIAL, + SEALED_CLOTHING = STOPSPRESSUREDAMAGE, + UNSEALED_INVISIBILITY = HIDEFACIALHAIR|HIDEMASK|HIDEEARS|HIDEEYES|HIDEFACE|HIDEHAIR|HIDESNOUT, + UNSEALED_COVER = HEADCOVERSMOUTH|HEADCOVERSEYES, + ), + CHESTPLATE_FLAGS = list( + UNSEALED_CLOTHING = THICKMATERIAL, + SEALED_CLOTHING = STOPSPRESSUREDAMAGE, + SEALED_INVISIBILITY = HIDEJUMPSUIT, + ), + GAUNTLETS_FLAGS = list( + UNSEALED_CLOTHING = THICKMATERIAL, + SEALED_CLOTHING = STOPSPRESSUREDAMAGE, + ), + BOOTS_FLAGS = list( + UNSEALED_CLOTHING = THICKMATERIAL, + SEALED_CLOTHING = STOPSPRESSUREDAMAGE, + ), + ), + ) + +/datum/mod_theme/security + name = "security" + desc = "An Apadyne Technologies security suit, offering shock protection and quicker speed, at the cost of carrying capacity." + default_skin = "security" + armor = list(MELEE = 0, BULLET = 0, LASER = 0, ENERGY = 0, BOMB = 10, BIO = 100, FIRE = 75, ACID = 75, WOUND = 20, RAD = 0) + siemens_coefficient = 0 + complexity_max = DEFAULT_MAX_COMPLEXITY - 5 + slowdown_inactive = 1 + slowdown_active = 0.5 + skins = list( + "security" = list( + HELMET_LAYER = null, + HELMET_FLAGS = list( + UNSEALED_CLOTHING = THICKMATERIAL, + SEALED_CLOTHING = STOPSPRESSUREDAMAGE, + UNSEALED_INVISIBILITY = HIDEFACIALHAIR|HIDEEARS|HIDEHAIR|HIDESNOUT, + SEALED_INVISIBILITY = HIDEMASK|HIDEEYES|HIDEFACE, + UNSEALED_COVER = HEADCOVERSMOUTH, + SEALED_COVER = HEADCOVERSEYES, + ), + CHESTPLATE_FLAGS = list( + UNSEALED_CLOTHING = THICKMATERIAL, + SEALED_CLOTHING = STOPSPRESSUREDAMAGE, + SEALED_INVISIBILITY = HIDEJUMPSUIT, + ), + GAUNTLETS_FLAGS = list( + UNSEALED_CLOTHING = THICKMATERIAL, + SEALED_CLOTHING = STOPSPRESSUREDAMAGE, + ), + BOOTS_FLAGS = list( + UNSEALED_CLOTHING = THICKMATERIAL, + SEALED_CLOTHING = STOPSPRESSUREDAMAGE, + ), + ), + ) + +/datum/mod_theme/safeguard + name = "safeguard" + desc = "An Apadyne Technologies advanced security suit, offering greater speed and fire protection than the standard security model." + default_skin = "safeguard" + armor = list(MELEE = 0, BULLET = 0, LASER = 0, ENERGY = 0, BOMB = 25, BIO = 100, FIRE = 100, ACID = 95, WOUND = 25, RAD = 0) + resistance_flags = FIRE_PROOF + max_heat_protection_temperature = FIRE_SUIT_MAX_TEMP_PROTECT + siemens_coefficient = 0 + complexity_max = DEFAULT_MAX_COMPLEXITY - 5 + slowdown_inactive = 0.75 + slowdown_active = 0.25 + skins = list( + "safeguard" = list( + HELMET_LAYER = null, + HELMET_FLAGS = list( + UNSEALED_CLOTHING = THICKMATERIAL, + SEALED_CLOTHING = STOPSPRESSUREDAMAGE, + UNSEALED_INVISIBILITY = HIDEFACIALHAIR|HIDEMASK|HIDEEARS|HIDEEYES|HIDEFACE|HIDEHAIR|HIDESNOUT, + UNSEALED_COVER = HEADCOVERSMOUTH|HEADCOVERSEYES, + ), + CHESTPLATE_FLAGS = list( + UNSEALED_CLOTHING = THICKMATERIAL, + SEALED_CLOTHING = STOPSPRESSUREDAMAGE, + SEALED_INVISIBILITY = HIDEJUMPSUIT, + ), + GAUNTLETS_FLAGS = list( + UNSEALED_CLOTHING = THICKMATERIAL, + SEALED_CLOTHING = STOPSPRESSUREDAMAGE, + ), + BOOTS_FLAGS = list( + UNSEALED_CLOTHING = THICKMATERIAL, + SEALED_CLOTHING = STOPSPRESSUREDAMAGE, + ), + ), + ) + +/datum/mod_theme/magnate + name = "magnate" + desc = "A fancy, very protective suit for Nanotrasen's captains. Shock, fire and acid-proof while also having a large capacity and high speed." + default_skin = "magnate" + armor = list(MELEE = 0, BULLET = 0, LASER = 0, ENERGY = 0, BOMB = 50, BIO = 100, FIRE = 100, ACID = 100, WOUND = 20, RAD = 0) + resistance_flags = FIRE_PROOF|ACID_PROOF + max_heat_protection_temperature = FIRE_IMMUNITY_MAX_TEMP_PROTECT + siemens_coefficient = 0 + complexity_max = DEFAULT_MAX_COMPLEXITY + 5 + slowdown_inactive = 0.75 + slowdown_active = 0.25 + skins = list( + "magnate" = list( + HELMET_LAYER = NECK_LAYER, + HELMET_FLAGS = list( + UNSEALED_CLOTHING = NONE, + SEALED_CLOTHING = THICKMATERIAL|STOPSPRESSUREDAMAGE, + UNSEALED_INVISIBILITY = HIDEFACIALHAIR, + SEALED_INVISIBILITY = HIDEMASK|HIDEEARS|HIDEEYES|HIDEFACE|HIDEHAIR|HIDESNOUT, + SEALED_COVER = HEADCOVERSMOUTH|HEADCOVERSEYES, + ), + CHESTPLATE_FLAGS = list( + UNSEALED_CLOTHING = THICKMATERIAL, + SEALED_CLOTHING = STOPSPRESSUREDAMAGE, + SEALED_INVISIBILITY = HIDEJUMPSUIT, + ), + GAUNTLETS_FLAGS = list( + UNSEALED_CLOTHING = THICKMATERIAL, + SEALED_CLOTHING = STOPSPRESSUREDAMAGE, + ), + BOOTS_FLAGS = list( + UNSEALED_CLOTHING = THICKMATERIAL, + SEALED_CLOTHING = STOPSPRESSUREDAMAGE, + ), + ), + ) + +/datum/mod_theme/cosmohonk + name = "cosmohonk" + desc = "A suit by Honk Ltd. Protects against low humor environments. Most of the tech went to lower the power cost." + default_skin = "cosmohonk" + armor = list(MELEE = 0, BULLET = 0, LASER = 0, ENERGY = 0, BOMB = 10, BIO = 100, FIRE = 60, ACID = 30, WOUND = 5, RAD = 0) + cell_drain = DEFAULT_CHARGE_DRAIN * 0.25 + slowdown_inactive = 1.75 + slowdown_active = 1.25 + skins = list( + "cosmohonk" = list( + HELMET_LAYER = NECK_LAYER, + HELMET_FLAGS = list( + UNSEALED_CLOTHING = THICKMATERIAL, + SEALED_CLOTHING = STOPSPRESSUREDAMAGE, + UNSEALED_INVISIBILITY = HIDEEARS|HIDEHAIR, + SEALED_INVISIBILITY = HIDEFACIALHAIR|HIDEMASK|HIDEEYES|HIDEFACE|HIDESNOUT, + SEALED_COVER = HEADCOVERSMOUTH|HEADCOVERSEYES, + ), + CHESTPLATE_FLAGS = list( + UNSEALED_CLOTHING = THICKMATERIAL, + SEALED_CLOTHING = STOPSPRESSUREDAMAGE, + SEALED_INVISIBILITY = HIDEJUMPSUIT, + ), + GAUNTLETS_FLAGS = list( + UNSEALED_CLOTHING = THICKMATERIAL, + SEALED_CLOTHING = STOPSPRESSUREDAMAGE, + ), + BOOTS_FLAGS = list( + UNSEALED_CLOTHING = THICKMATERIAL, + SEALED_CLOTHING = STOPSPRESSUREDAMAGE, + ), + ), + ) + +/datum/mod_theme/syndicate + name = "syndicate" + desc = "A suit designed by Gorlex Marauders, offering armor ruled illegal in most of Spinward Stellar." + default_skin = "syndicate" + armor = list(MELEE = 0, BULLET = 0, LASER = 0, ENERGY = 0, BOMB = 35, BIO = 100, FIRE = 50, ACID = 90, WOUND = 25, RAD = 0) + max_heat_protection_temperature = FIRE_SUIT_MAX_TEMP_PROTECT + siemens_coefficient = 0 + slowdown_inactive = 1 + slowdown_active = 0.5 + ui_theme = "syndicate" + inbuilt_modules = list() + skins = list( + "syndicate" = list( + HELMET_LAYER = NECK_LAYER, + HELMET_FLAGS = list( + UNSEALED_CLOTHING = NONE, + SEALED_CLOTHING = THICKMATERIAL|STOPSPRESSUREDAMAGE, + UNSEALED_INVISIBILITY = HIDEFACIALHAIR, + SEALED_INVISIBILITY = HIDEMASK|HIDEEARS|HIDEEYES|HIDEFACE|HIDEHAIR|HIDESNOUT, + SEALED_COVER = HEADCOVERSMOUTH|HEADCOVERSEYES, + ), + CHESTPLATE_FLAGS = list( + UNSEALED_CLOTHING = THICKMATERIAL, + SEALED_CLOTHING = STOPSPRESSUREDAMAGE, + SEALED_INVISIBILITY = HIDEJUMPSUIT, + ), + GAUNTLETS_FLAGS = list( + UNSEALED_CLOTHING = THICKMATERIAL, + SEALED_CLOTHING = STOPSPRESSUREDAMAGE, + ), + BOOTS_FLAGS = list( + UNSEALED_CLOTHING = THICKMATERIAL, + SEALED_CLOTHING = STOPSPRESSUREDAMAGE, + ), + ), + ) + +/datum/mod_theme/elite + name = "elite" + desc = "An elite suit upgraded by Cybersun Industries, offering upgraded armor values." + default_skin = "elite" + armor = list(MELEE = 0, BULLET = 0, LASER = 0, ENERGY = 0, BOMB = 55, BIO = 100, FIRE = 100, ACID = 100, WOUND = 25, RAD = 0) + resistance_flags = FIRE_PROOF|ACID_PROOF + max_heat_protection_temperature = FIRE_IMMUNITY_MAX_TEMP_PROTECT + siemens_coefficient = 0 + slowdown_inactive = 0.75 + slowdown_active = 0.25 + ui_theme = "syndicate" + inbuilt_modules = list() + skins = list( + "elite" = list( + HELMET_LAYER = null, + HELMET_FLAGS = list( + UNSEALED_CLOTHING = NONE, + SEALED_CLOTHING = THICKMATERIAL|STOPSPRESSUREDAMAGE, + UNSEALED_INVISIBILITY = HIDEFACIALHAIR, + SEALED_INVISIBILITY = HIDEMASK|HIDEEARS|HIDEEYES|HIDEFACE|HIDEHAIR|HIDESNOUT, + SEALED_COVER = HEADCOVERSMOUTH|HEADCOVERSEYES, + ), + CHESTPLATE_FLAGS = list( + UNSEALED_CLOTHING = THICKMATERIAL, + SEALED_CLOTHING = STOPSPRESSUREDAMAGE, + SEALED_INVISIBILITY = HIDEJUMPSUIT, + ), + GAUNTLETS_FLAGS = list( + UNSEALED_CLOTHING = THICKMATERIAL, + SEALED_CLOTHING = STOPSPRESSUREDAMAGE, + ), + BOOTS_FLAGS = list( + UNSEALED_CLOTHING = THICKMATERIAL, + SEALED_CLOTHING = STOPSPRESSUREDAMAGE, + ), + ), + ) + +/datum/mod_theme/enchanted + name = "enchanted" + desc = "The Wizard Federation's relatively low-tech MODsuit. Is very protective, though." + default_skin = "enchanted" + armor = list(MELEE = 40, BULLET = 40, LASER = 40, ENERGY = 50, BOMB = 35, BIO = 100, FIRE = 100, ACID = 100, WOUND = 30, RAD = 0) + resistance_flags = FIRE_PROOF|ACID_PROOF + max_heat_protection_temperature = FIRE_IMMUNITY_MAX_TEMP_PROTECT + siemens_coefficient = 0 + complexity_max = DEFAULT_MAX_COMPLEXITY - 5 + slowdown_inactive = 0.75 + slowdown_active = 0.25 + ui_theme = "wizard" + inbuilt_modules = list(/obj/item/mod/module/anti_magic/wizard) + skins = list( + "enchanted" = list( + HELMET_LAYER = null, + HELMET_FLAGS = list( + UNSEALED_CLOTHING = THICKMATERIAL, + SEALED_CLOTHING = STOPSPRESSUREDAMAGE, + UNSEALED_INVISIBILITY = HIDEFACIALHAIR|HIDEMASK|HIDEEARS|HIDEEYES|HIDEFACE|HIDEHAIR|HIDESNOUT, + UNSEALED_COVER = HEADCOVERSMOUTH|HEADCOVERSEYES, + ), + CHESTPLATE_FLAGS = list( + UNSEALED_CLOTHING = THICKMATERIAL, + SEALED_CLOTHING = STOPSPRESSUREDAMAGE, + SEALED_INVISIBILITY = HIDEJUMPSUIT, + ), + GAUNTLETS_FLAGS = list( + UNSEALED_CLOTHING = THICKMATERIAL, + SEALED_CLOTHING = STOPSPRESSUREDAMAGE, + ), + BOOTS_FLAGS = list( + UNSEALED_CLOTHING = THICKMATERIAL, + SEALED_CLOTHING = STOPSPRESSUREDAMAGE, + ), + ), + ) + +/datum/mod_theme/prototype + name = "prototype" + desc = "A prototype modular suit powered by locomotives. While it is comfortable and has a big capacity, it remains very bulky and power-inefficient." + default_skin = "prototype" + armor = list(MELEE = 0, BULLET = 0, LASER = 0, ENERGY = 0, BOMB = 50, BIO = 100, FIRE = 100, ACID = 75, WOUND = 5, RAD = 0) + resistance_flags = FIRE_PROOF + complexity_max = DEFAULT_MAX_COMPLEXITY + 10 + slowdown_inactive = 2.5 + slowdown_active = 2 + ui_theme = "hackerman" + inbuilt_modules = list(/obj/item/mod/module/kinesis) + skins = list( + "prototype" = list( + HELMET_LAYER = null, + HELMET_FLAGS = list( + UNSEALED_CLOTHING = THICKMATERIAL, + SEALED_CLOTHING = STOPSPRESSUREDAMAGE, + UNSEALED_INVISIBILITY = HIDEFACIALHAIR|HIDEMASK|HIDEEARS|HIDEEYES|HIDEFACE|HIDEHAIR|HIDESNOUT, + UNSEALED_COVER = HEADCOVERSMOUTH|HEADCOVERSEYES, + ), + CHESTPLATE_FLAGS = list( + UNSEALED_CLOTHING = THICKMATERIAL, + SEALED_CLOTHING = STOPSPRESSUREDAMAGE, + SEALED_INVISIBILITY = HIDEJUMPSUIT, + ), + GAUNTLETS_FLAGS = list( + UNSEALED_CLOTHING = THICKMATERIAL, + SEALED_CLOTHING = STOPSPRESSUREDAMAGE, + ), + BOOTS_FLAGS = list( + UNSEALED_CLOTHING = THICKMATERIAL, + SEALED_CLOTHING = STOPSPRESSUREDAMAGE, + ), + ), + ) + +/datum/mod_theme/responsory + name = "responsory" + desc = "A high-speed rescue suit by Nanotrasen, intended for its' emergency response teams." + default_skin = "responsory" + armor = list(MELEE = 35, BULLET = 30, LASER = 30, ENERGY = 40, BOMB = 50, BIO = 100, FIRE = 100, ACID = 90, WOUND = 15, RAD = 0) + resistance_flags = FIRE_PROOF + max_heat_protection_temperature = FIRE_IMMUNITY_MAX_TEMP_PROTECT + siemens_coefficient = 0 + slowdown_inactive = 0.5 + slowdown_active = 0 + skins = list( + "responsory" = list( + HELMET_LAYER = NECK_LAYER, + HELMET_FLAGS = list( + UNSEALED_CLOTHING = NONE, + SEALED_CLOTHING = THICKMATERIAL|STOPSPRESSUREDAMAGE, + UNSEALED_INVISIBILITY = HIDEFACIALHAIR, + SEALED_INVISIBILITY = HIDEMASK|HIDEEARS|HIDEEYES|HIDEFACE|HIDEHAIR|HIDESNOUT, + SEALED_COVER = HEADCOVERSMOUTH|HEADCOVERSEYES, + ), + CHESTPLATE_FLAGS = list( + UNSEALED_CLOTHING = THICKMATERIAL, + SEALED_CLOTHING = STOPSPRESSUREDAMAGE, + SEALED_INVISIBILITY = HIDEJUMPSUIT, + ), + GAUNTLETS_FLAGS = list( + UNSEALED_CLOTHING = THICKMATERIAL, + SEALED_CLOTHING = STOPSPRESSUREDAMAGE, + ), + BOOTS_FLAGS = list( + UNSEALED_CLOTHING = THICKMATERIAL, + SEALED_CLOTHING = STOPSPRESSUREDAMAGE, + ), + ), + "inquisitory" = list( + HELMET_LAYER = null, + HELMET_FLAGS = list( + UNSEALED_CLOTHING = THICKMATERIAL, + SEALED_CLOTHING = STOPSPRESSUREDAMAGE, + UNSEALED_INVISIBILITY = HIDEFACIALHAIR|HIDEMASK|HIDEEARS|HIDEEYES|HIDEFACE|HIDEHAIR|HIDESNOUT, + UNSEALED_COVER = HEADCOVERSMOUTH|HEADCOVERSEYES, + ), + CHESTPLATE_FLAGS = list( + UNSEALED_CLOTHING = THICKMATERIAL, + SEALED_CLOTHING = STOPSPRESSUREDAMAGE, + SEALED_INVISIBILITY = HIDEJUMPSUIT, + ), + GAUNTLETS_FLAGS = list( + UNSEALED_CLOTHING = THICKMATERIAL, + SEALED_CLOTHING = STOPSPRESSUREDAMAGE, + ), + BOOTS_FLAGS = list( + UNSEALED_CLOTHING = THICKMATERIAL, + SEALED_CLOTHING = STOPSPRESSUREDAMAGE, + ), + ), + ) + +/datum/mod_theme/apocryphal + name = "apocryphal" + desc = "A high-tech, only technically legal, armored suit created by a collaboration effort between Nanotrasen and Apadyne Technologies." + default_skin = "apocryphal" + armor = list(MELEE = 80, BULLET = 80, LASER = 50, ENERGY = 60, BOMB = 100, BIO = 100, FIRE = 100, ACID = 100, WOUND = 25, RAD = 0) + resistance_flags = FIRE_PROOF|ACID_PROOF + max_heat_protection_temperature = FIRE_IMMUNITY_MAX_TEMP_PROTECT + siemens_coefficient = 0 + complexity_max = DEFAULT_MAX_COMPLEXITY + 10 + skins = list( + "apocryphal" = list( + HELMET_LAYER = null, + HELMET_FLAGS = list( + UNSEALED_CLOTHING = THICKMATERIAL, + SEALED_CLOTHING = STOPSPRESSUREDAMAGE, + UNSEALED_INVISIBILITY = HIDEEARS|HIDEHAIR, + SEALED_INVISIBILITY = HIDEFACIALHAIR|HIDEMASK|HIDEEYES|HIDEFACE|HIDESNOUT, + SEALED_COVER = HEADCOVERSMOUTH|HEADCOVERSEYES, + ), + CHESTPLATE_FLAGS = list( + UNSEALED_CLOTHING = THICKMATERIAL, + SEALED_CLOTHING = STOPSPRESSUREDAMAGE, + SEALED_INVISIBILITY = HIDEJUMPSUIT, + ), + GAUNTLETS_FLAGS = list( + UNSEALED_CLOTHING = THICKMATERIAL, + SEALED_CLOTHING = STOPSPRESSUREDAMAGE, + ), + BOOTS_FLAGS = list( + UNSEALED_CLOTHING = THICKMATERIAL, + SEALED_CLOTHING = STOPSPRESSUREDAMAGE, + ), + ), + ) + +/datum/mod_theme/corporate + name = "corporate" + desc = "A fancy, high-tech suit for Nanotrasen's high ranking officers." + default_skin = "corporate" + armor = list(MELEE = 35, BULLET = 40, LASER = 40, ENERGY = 50, BOMB = 50, BIO = 100, FIRE = 100, ACID = 100, WOUND = 15, RAD = 0) + resistance_flags = FIRE_PROOF|ACID_PROOF + max_heat_protection_temperature = FIRE_IMMUNITY_MAX_TEMP_PROTECT + siemens_coefficient = 0 + slowdown_inactive = 0.5 + slowdown_active = 0 + skins = list( + "corporate" = list( + HELMET_LAYER = null, + HELMET_FLAGS = list( + UNSEALED_CLOTHING = THICKMATERIAL, + SEALED_CLOTHING = STOPSPRESSUREDAMAGE, + UNSEALED_INVISIBILITY = HIDEFACIALHAIR|HIDEEARS|HIDEHAIR|HIDESNOUT, + SEALED_INVISIBILITY = HIDEMASK|HIDEEYES|HIDEFACE, + SEALED_COVER = HEADCOVERSMOUTH|HEADCOVERSEYES, + ), + CHESTPLATE_FLAGS = list( + UNSEALED_CLOTHING = THICKMATERIAL, + SEALED_CLOTHING = STOPSPRESSUREDAMAGE, + SEALED_INVISIBILITY = HIDEJUMPSUIT, + ), + GAUNTLETS_FLAGS = list( + UNSEALED_CLOTHING = THICKMATERIAL, + SEALED_CLOTHING = STOPSPRESSUREDAMAGE, + ), + BOOTS_FLAGS = list( + UNSEALED_CLOTHING = THICKMATERIAL, + SEALED_CLOTHING = STOPSPRESSUREDAMAGE, + ), + ), + ) + +/datum/mod_theme/debug + name = "debug" + desc = "Strangely nostalgic." + default_skin = "debug" + armor = list(MELEE = 50, BULLET = 50, LASER = 50, ENERGY = 50, BOMB = 100, BIO = 100, FIRE = 100, ACID = 100, WOUND = 0, RAD = 25) + resistance_flags = FIRE_PROOF|ACID_PROOF + max_heat_protection_temperature = FIRE_SUIT_MAX_TEMP_PROTECT + complexity_max = 50 + slowdown_inactive = 0.5 + slowdown_active = 0 + skins = list( + "debug" = list( + HELMET_LAYER = null, + HELMET_FLAGS = list( + UNSEALED_CLOTHING = THICKMATERIAL, + SEALED_CLOTHING = STOPSPRESSUREDAMAGE, + UNSEALED_INVISIBILITY = HIDEFACIALHAIR|HIDEEARS|HIDEHAIR|HIDESNOUT, + SEALED_INVISIBILITY = HIDEMASK|HIDEEARS|HIDEEYES|HIDEFACE, + UNSEALED_COVER = HEADCOVERSMOUTH, + SEALED_COVER = HEADCOVERSEYES, + ), + CHESTPLATE_FLAGS = list( + UNSEALED_CLOTHING = THICKMATERIAL, + SEALED_CLOTHING = STOPSPRESSUREDAMAGE, + SEALED_INVISIBILITY = HIDEJUMPSUIT, + ), + GAUNTLETS_FLAGS = list( + UNSEALED_CLOTHING = THICKMATERIAL, + SEALED_CLOTHING = STOPSPRESSUREDAMAGE, + ), + BOOTS_FLAGS = list( + UNSEALED_CLOTHING = THICKMATERIAL, + SEALED_CLOTHING = STOPSPRESSUREDAMAGE, + ), + ), + ) + +/datum/mod_theme/administrative + name = "administrative" + desc = "A suit made of adminium. Who comes up with these stupid mineral names?" + default_skin = "debug" + armor = list(MELEE = 100, BULLET = 100, LASER = 100, ENERGY = 100, BOMB = 100, BIO = 100, FIRE = 100, ACID = 100, WOUND = 100, RAD = 35) + resistance_flags = INDESTRUCTIBLE|LAVA_PROOF|FIRE_PROOF|UNACIDABLE|ACID_PROOF + max_heat_protection_temperature = FIRE_IMMUNITY_MAX_TEMP_PROTECT + complexity_max = 1000 + cell_drain = DEFAULT_CHARGE_DRAIN * 0 + slowdown_inactive = 0 + slowdown_active = 0 + skins = list( + "debug" = list( + HELMET_LAYER = null, + HELMET_FLAGS = list( + UNSEALED_CLOTHING = THICKMATERIAL|STOPSPRESSUREDAMAGE, + UNSEALED_INVISIBILITY = HIDEFACIALHAIR|HIDEEARS|HIDEHAIR|HIDESNOUT, + SEALED_INVISIBILITY = HIDEMASK|HIDEEARS|HIDEEYES|HIDEFACE, + UNSEALED_COVER = HEADCOVERSMOUTH|HEADCOVERSEYES, + ), + CHESTPLATE_FLAGS = list( + UNSEALED_CLOTHING = THICKMATERIAL|STOPSPRESSUREDAMAGE, + SEALED_INVISIBILITY = HIDEJUMPSUIT, + ), + GAUNTLETS_FLAGS = list( + UNSEALED_CLOTHING = THICKMATERIAL|STOPSPRESSUREDAMAGE, + ), + BOOTS_FLAGS = list( + UNSEALED_CLOTHING = THICKMATERIAL|STOPSPRESSUREDAMAGE, + ), + ), + ) diff --git a/code/modules/mod/mod_types.dm b/code/modules/mod/mod_types.dm new file mode 100644 index 0000000000..565dcdc2f8 --- /dev/null +++ b/code/modules/mod/mod_types.dm @@ -0,0 +1,273 @@ +/obj/item/mod/control/pre_equipped + cell = /obj/item/stock_parts/cell/high + var/applied_skin + +/obj/item/mod/control/pre_equipped/Initialize(mapload, new_theme, new_skin) + new_skin = applied_skin + return ..() + +/obj/item/mod/control/pre_equipped/standard + initial_modules = list( + /obj/item/mod/module/storage, + /obj/item/mod/module/welding, + /obj/item/mod/module/flashlight, + ) + +/obj/item/mod/control/pre_equipped/engineering + theme = /datum/mod_theme/engineering + initial_modules = list( + /obj/item/mod/module/storage, + /obj/item/mod/module/welding, + /obj/item/mod/module/rad_protection, + /obj/item/mod/module/flashlight, + /obj/item/mod/module/magboot, + ) + +/obj/item/mod/control/pre_equipped/atmospheric + theme = /datum/mod_theme/atmospheric + initial_modules = list( + /obj/item/mod/module/storage, + /obj/item/mod/module/welding, + /obj/item/mod/module/rad_protection, + /obj/item/mod/module/flashlight, + /obj/item/mod/module/t_ray, + ) + +/obj/item/mod/control/pre_equipped/advanced + theme = /datum/mod_theme/advanced + cell = /obj/item/stock_parts/cell/super + initial_modules = list( + /obj/item/mod/module/storage, + /obj/item/mod/module/welding, + /obj/item/mod/module/rad_protection, + /obj/item/mod/module/flashlight, + /obj/item/mod/module/jetpack, + ) + +/obj/item/mod/control/pre_equipped/mining + theme = /datum/mod_theme/mining + cell = /obj/item/stock_parts/cell/high/plus + initial_modules = list( + /obj/item/mod/module/storage, + /obj/item/mod/module/welding, + /obj/item/mod/module/orebag, + /obj/item/mod/module/flashlight, + /obj/item/mod/module/magboot, + /obj/item/mod/module/drill, + ) + +/obj/item/mod/control/pre_equipped/medical + theme = /datum/mod_theme/medical + initial_modules = list( + /obj/item/mod/module/storage, + /obj/item/mod/module/flashlight, + /obj/item/mod/module/health_analyzer, + /obj/item/mod/module/quick_carry, + ) + +/obj/item/mod/control/pre_equipped/rescue + theme = /datum/mod_theme/rescue + cell = /obj/item/stock_parts/cell/super + initial_modules = list( + /obj/item/mod/module/storage, + /obj/item/mod/module/flashlight, + /obj/item/mod/module/health_analyzer, + ) + +/obj/item/mod/control/pre_equipped/research + theme = /datum/mod_theme/research + cell = /obj/item/stock_parts/cell/super + initial_modules = list( + /obj/item/mod/module/storage, + /obj/item/mod/module/welding, + /obj/item/mod/module/flashlight, + /obj/item/mod/module/t_ray, + ) + +/obj/item/mod/control/pre_equipped/security + theme = /datum/mod_theme/security + initial_modules = list( + /obj/item/mod/module/storage, + /obj/item/mod/module/welding, + /obj/item/mod/module/flashlight, + /obj/item/mod/module/holster, + ) + +/obj/item/mod/control/pre_equipped/safeguard + theme = /datum/mod_theme/safeguard + cell = /obj/item/stock_parts/cell/super + initial_modules = list( + /obj/item/mod/module/storage, + /obj/item/mod/module/welding, + /obj/item/mod/module/flashlight, + /obj/item/mod/module/jetpack, + /obj/item/mod/module/holster, + ) + +/obj/item/mod/control/pre_equipped/magnate + theme = /datum/mod_theme/magnate + cell = /obj/item/stock_parts/cell/hyper + initial_modules = list( + /obj/item/mod/module/storage, + /obj/item/mod/module/welding, + /obj/item/mod/module/holster, + /obj/item/mod/module/jetpack/advanced, + ) + +/obj/item/mod/control/pre_equipped/traitor + theme = /datum/mod_theme/syndicate + cell = /obj/item/stock_parts/cell/super + initial_modules = list( + /obj/item/mod/module/storage, + /obj/item/mod/module/welding, + /obj/item/mod/module/flashlight, + /obj/item/mod/module/dna_lock, + /obj/item/mod/module/jetpack, + ) + +/obj/item/mod/control/pre_equipped/nuclear + theme = /datum/mod_theme/syndicate + cell = /obj/item/stock_parts/cell/hyper + initial_modules = list( + /obj/item/mod/module/storage, + /obj/item/mod/module/welding, + /obj/item/mod/module/visor/thermal, + /obj/item/mod/module/flashlight, + /obj/item/mod/module/jetpack/advanced, + /obj/item/mod/module/holster, + ) + +/obj/item/mod/control/pre_equipped/elite + theme = /datum/mod_theme/elite + cell = /obj/item/stock_parts/cell/bluespace + initial_modules = list( + /obj/item/mod/module/storage, + /obj/item/mod/module/welding, + /obj/item/mod/module/emp_shield, + /obj/item/mod/module/visor/thermal, + /obj/item/mod/module/jetpack/advanced, + /obj/item/mod/module/flashlight, + /obj/item/mod/module/holster, + ) + +/obj/item/mod/control/pre_equipped/prototype + theme = /datum/mod_theme/prototype + cell = /obj/item/stock_parts/cell/high/plus + initial_modules = list( + /obj/item/mod/module/storage, + /obj/item/mod/module/welding, + /obj/item/mod/module/rad_protection, + /obj/item/mod/module/flashlight, + /obj/item/mod/module/tether, + ) + +/obj/item/mod/control/pre_equipped/responsory + theme = /datum/mod_theme/responsory + cell = /obj/item/stock_parts/cell/hyper + initial_modules = list( + /obj/item/mod/module/storage, + /obj/item/mod/module/welding, + /obj/item/mod/module/emp_shield, + /obj/item/mod/module/flashlight, + /obj/item/mod/module/holster, + ) + var/insignia_type = /obj/item/mod/module/insignia + +/obj/item/mod/control/pre_equipped/responsory/Initialize(mapload, new_theme, new_skin) + initial_modules.Insert(1, insignia_type) + return ..() + +/obj/item/mod/control/pre_equipped/responsory/commander + insignia_type = /obj/item/mod/module/insignia/commander + +/obj/item/mod/control/pre_equipped/responsory/security + insignia_type = /obj/item/mod/module/insignia/security + +/obj/item/mod/control/pre_equipped/responsory/engineer + insignia_type = /obj/item/mod/module/insignia/engineer + +/obj/item/mod/control/pre_equipped/responsory/medic + insignia_type = /obj/item/mod/module/insignia/medic + +/obj/item/mod/control/pre_equipped/responsory/janitor + insignia_type = /obj/item/mod/module/insignia/janitor + +/obj/item/mod/control/pre_equipped/responsory/clown + insignia_type = /obj/item/mod/module/insignia/clown + +/obj/item/mod/control/pre_equipped/responsory/chaplain + insignia_type = /obj/item/mod/module/insignia/chaplain + +/obj/item/mod/control/pre_equipped/responsory/inquisitory + initial_modules = list( + /obj/item/mod/module/storage, + /obj/item/mod/module/anti_magic, + /obj/item/mod/module/welding, + /obj/item/mod/module/emp_shield, + /obj/item/mod/module/flashlight, + /obj/item/mod/module/holster, + ) + applied_skin = "inquisitory" + +/obj/item/mod/control/pre_equipped/responsory/inquisitory/commander + insignia_type = /obj/item/mod/module/insignia/commander + +/obj/item/mod/control/pre_equipped/responsory/inquisitory/security + insignia_type = /obj/item/mod/module/insignia/security + +/obj/item/mod/control/pre_equipped/responsory/inquisitory/medic + insignia_type = /obj/item/mod/module/insignia/medic + +/obj/item/mod/control/pre_equipped/responsory/inquisitory/chaplain + insignia_type = /obj/item/mod/module/insignia/chaplain + +/obj/item/mod/control/pre_equipped/apocryphal + theme = /datum/mod_theme/apocryphal + cell = /obj/item/stock_parts/cell/bluespace + initial_modules = list( + /obj/item/mod/module/storage, + /obj/item/mod/module/welding, + /obj/item/mod/module/emp_shield, + /obj/item/mod/module/holster, + /obj/item/mod/module/jetpack, + ) + +/obj/item/mod/control/pre_equipped/corporate + theme = /datum/mod_theme/corporate + cell = /obj/item/stock_parts/cell/bluespace + initial_modules = list( + /obj/item/mod/module/storage, + /obj/item/mod/module/holster, + ) + +/obj/item/mod/control/pre_equipped/debug + theme = /datum/mod_theme/debug + cell = /obj/item/stock_parts/cell/bluespace + initial_modules = list( + /obj/item/mod/module/storage, + /obj/item/mod/module/welding, + /obj/item/mod/module/flashlight, + /obj/item/mod/module/bikehorn, + /obj/item/mod/module/rad_protection, + /obj/item/mod/module/tether, + ) //one of every type of module, for testing if they all work correctly + +/obj/item/mod/control/pre_equipped/administrative + theme = /datum/mod_theme/administrative + cell = /obj/item/stock_parts/cell/infinite/abductor + initial_modules = list( + /obj/item/mod/module/storage, + /obj/item/mod/module/welding, + /obj/item/mod/module/quick_carry/advanced, + /obj/item/mod/module/magboot/advanced, + /obj/item/mod/module/jetpack/advanced, + ) + +//these exist for the prefs menu +/obj/item/mod/control/pre_equipped/syndicate_empty + theme = /datum/mod_theme/syndicate + +/obj/item/mod/control/pre_equipped/syndicate_empty/elite + theme = /datum/mod_theme/elite + +INITIALIZE_IMMEDIATE(/obj/item/mod/control/pre_equipped/syndicate_empty) diff --git a/code/modules/mod/mod_ui.dm b/code/modules/mod/mod_ui.dm new file mode 100644 index 0000000000..f119a895b3 --- /dev/null +++ b/code/modules/mod/mod_ui.dm @@ -0,0 +1,86 @@ +/obj/item/mod/control/ui_interact(mob/user, datum/tgui/ui) + ui = SStgui.try_update_ui(user, src, ui) + if(!ui) + ui = new(user, src, "MODsuit", name) + ui.open() + +/obj/item/mod/control/ui_data(mob/user) + var/data = list() + data["interface_break"] = interface_break + data["malfunctioning"] = malfunctioning + data["open"] = open + data["active"] = active + data["locked"] = locked + data["complexity"] = complexity + data["selected_module"] = selected_module?.name + data["wearer_name"] = wearer ? (wearer.get_authentification_name("Unknown") || "Unknown") : "No Occupant" + data["wearer_job"] = wearer ? wearer.get_assignment("Unknown", "Unknown", FALSE) : "No Job" + data["AI"] = ai?.name + data["is_pAI"] = ai ? ispAI(ai) : FALSE + data["is_user_AI"] = ai ? user == ai : FALSE + data["cell"] = cell?.name + data["charge"] = cell ? round(cell.percent(), 1) : 0 + data["modules"] = list() + for(var/obj/item/mod/module/module as anything in modules) + var/list/module_data = list( + name = module.name, + description = module.desc, + module_type = module.module_type, + active = module.active, + idle_power = module.idle_power_cost, + active_power = module.active_power_cost, + use_power = module.use_power_cost, + complexity = module.complexity, + cooldown_time = module.cooldown_time, + cooldown = round(COOLDOWN_TIMELEFT(module, cooldown_timer), 1 SECONDS), + id = module.tgui_id, + ref = REF(module), + configuration_data = module.get_configuration() + ) + module_data += module.add_ui_data() + data["modules"] += list(module_data) + return data + +/obj/item/mod/control/ui_static_data(mob/user) + var/data = list() + data["ui_theme"] = ui_theme + data["control"] = name + data["complexity_max"] = complexity_max + data["helmet"] = helmet?.name + data["chestplate"] = chestplate?.name + data["gauntlets"] = gauntlets?.name + data["boots"] = boots?.name + return data + +/obj/item/mod/control/ui_act(action, params) + . = ..() + if(.) + return + if((!allowed(usr) || !ispAI(usr)) && locked) + balloon_alert(usr, "insufficient access!") + playsound(src, 'sound/machines/scanbuzz.ogg', 25, TRUE, SILENCED_SOUND_EXTRARANGE) + return + if(malfunctioning && prob(75)) + balloon_alert(usr, "button malfunctions!") + return + switch(action) + if("lock") + locked = !locked + balloon_alert(usr, "[locked ? "locked" : "unlocked"]!") + if("activate") + toggle_activate(usr) + if("select") + var/obj/item/mod/module/module = locate(params["ref"]) in modules + if(!module) + return + module.on_select() + if("configure") + var/obj/item/mod/module/module = locate(params["ref"]) in modules + if(!module) + return + module.configure_edit(params["key"], params["value"]) + if("remove_pai") + if(ishuman(usr)) // Only the MODsuit's wearer should be removing the pAI. + var/mob/user = usr + extract_pai(user) + return TRUE diff --git a/code/modules/mod/modules/_module.dm b/code/modules/mod/modules/_module.dm new file mode 100644 index 0000000000..2d008cad1c --- /dev/null +++ b/code/modules/mod/modules/_module.dm @@ -0,0 +1,357 @@ +/obj/item/mod/module + name = "MOD module" + icon = 'icons/obj/clothing/modsuit/mod_modules.dmi' + icon_state = "module" + /// If it can be removed + var/removable = TRUE + /// If it's passive, togglable, usable or active + var/module_type = MODULE_PASSIVE + /// Is the module active + var/active = FALSE + /// How much space it takes up in the MOD + var/complexity = 0 + /// Power use when idle + var/idle_power_cost = DEFAULT_CHARGE_DRAIN * 0 + /// Power use when active + var/active_power_cost = DEFAULT_CHARGE_DRAIN * 0 + /// Power use when used, we call it manually + var/use_power_cost = DEFAULT_CHARGE_DRAIN * 0 + /// ID used by their TGUI + var/tgui_id + /// Linked MODsuit + var/obj/item/mod/control/mod + /// If we're an active module, what item are we? + var/obj/item/device + /// Overlay given to the user when the module is inactive + var/overlay_state_inactive + /// Overlay given to the user when the module is active + var/overlay_state_active + /// Overlay given to the user when the module is used, lasts until cooldown finishes + var/overlay_state_use + /// Icon file for the overlay. + var/overlay_icon_file = 'icons/mob/clothing/modsuit/mod_modules.dmi' + /// Does the overlay use the control unit's colors? + var/use_mod_colors = FALSE + /// What modules are we incompatible with? + var/list/incompatible_modules = list() + /// Cooldown after use + var/cooldown_time = 0 + /// The mouse button needed to use this module + var/used_signal + /// If we're allowed to use this module while phased out. + var/allowed_in_phaseout = FALSE + /// If we're allowed to use this module while the suit is disabled. + var/allowed_inactive = FALSE + /// Timer for the cooldown + COOLDOWN_DECLARE(cooldown_timer) + +/obj/item/mod/module/Initialize(mapload) + . = ..() + if(module_type != MODULE_ACTIVE) + return + if(ispath(device)) + device = new device(src) + ADD_TRAIT(device, TRAIT_NODROP, MOD_TRAIT) + RegisterSignal(device, COMSIG_PARENT_PREQDELETED, .proc/on_device_deletion) + RegisterSignal(src, COMSIG_ATOM_EXITED, .proc/on_exit) + +/obj/item/mod/module/Destroy() + mod?.uninstall(src) + if(device) + UnregisterSignal(device, COMSIG_PARENT_PREQDELETED) + QDEL_NULL(device) + return ..() + +/obj/item/mod/module/examine(mob/user) + . = ..() + if(user.hud_list[DIAG_HUD] && user.client.images & user.hud_list[DIAG_HUD]) + . += span_notice("Complexity level: [complexity]") + +/// Called from MODsuit's install() proc, so when the module is installed. +/obj/item/mod/module/proc/on_install() + return + +/// Called from MODsuit's uninstall() proc, so when the module is uninstalled. +/obj/item/mod/module/proc/on_uninstall() + return + +/// Called when the MODsuit is activated +/obj/item/mod/module/proc/on_suit_activation() + return + +/// Called when the MODsuit is deactivated +/obj/item/mod/module/proc/on_suit_deactivation() + return + +/// Called when the MODsuit is equipped +/obj/item/mod/module/proc/on_equip() + return + +/// Called when the MODsuit is unequipped +/obj/item/mod/module/proc/on_unequip() + return + +/// Called when the module is selected from the TGUI +/obj/item/mod/module/proc/on_select() + if(((!mod.active || mod.activating) && !allowed_inactive) || module_type == MODULE_PASSIVE) + if(mod.wearer) + balloon_alert(mod.wearer, "not active!") + return + if(module_type != MODULE_USABLE) + if(active) + on_deactivation() + else + on_activation() + else + on_use() + SEND_SIGNAL(mod, COMSIG_MOD_MODULE_SELECTED, src) + +/// Called when the module is activated +/obj/item/mod/module/proc/on_activation() + if(!COOLDOWN_FINISHED(src, cooldown_timer)) + balloon_alert(mod.wearer, "on cooldown!") + return FALSE + if(!mod.active || mod.activating || !mod.cell?.charge) + balloon_alert(mod.wearer, "unpowered!") + return FALSE + if(!allowed_in_phaseout && istype(mod.wearer.loc, /obj/effect/dummy/phased_mob)) + //specifically a to_chat because the user is phased out. + to_chat(mod.wearer, span_warning("You cannot activate this right now.")) + return FALSE + if(module_type == MODULE_ACTIVE) + if(mod.selected_module && !mod.selected_module.on_deactivation()) + return + mod.selected_module = src + if(device) + if(mod.wearer.put_in_hands(device)) + balloon_alert(mod.wearer, "[device] extended") + RegisterSignal(mod.wearer, COMSIG_ATOM_EXITED, .proc/on_exit) + else + balloon_alert(mod.wearer, "can't extend [device]!") + return + else + update_signal() + balloon_alert(mod.wearer, "[src] activated, alt-click to use") + active = TRUE + mod.wearer.update_inv_back() + return TRUE + +/// Called when the module is deactivated +/obj/item/mod/module/proc/on_deactivation() + active = FALSE + if(module_type == MODULE_ACTIVE) + mod.selected_module = null + if(device) + mod.wearer.transferItemToLoc(device, src, TRUE) + balloon_alert(mod.wearer, "[device] retracted") + UnregisterSignal(mod.wearer, COMSIG_ATOM_EXITED) + else + balloon_alert(mod.wearer, "[src] deactivated") + UnregisterSignal(mod.wearer, used_signal) + used_signal = null + mod.wearer.update_inv_back() + return TRUE + +/// Called when the module is used +/obj/item/mod/module/proc/on_use() + if(!COOLDOWN_FINISHED(src, cooldown_timer)) + return FALSE + if(!check_power(use_power_cost)) + return FALSE + if(!allowed_in_phaseout && istype(mod.wearer.loc, /obj/effect/dummy/phased_mob)) + //specifically a to_chat because the user is phased out. + to_chat(mod.wearer, span_warning("You cannot activate this right now.")) + return FALSE + COOLDOWN_START(src, cooldown_timer, cooldown_time) + addtimer(CALLBACK(mod.wearer, /mob.proc/update_inv_back), cooldown_time) + mod.wearer.update_inv_back() + return TRUE + +/// Called when an activated module without a device is used +/obj/item/mod/module/proc/on_select_use(atom/target) + if(mod.wearer.incapacitated(ignore_grab = TRUE)) + return FALSE + mod.wearer.face_atom(target) + if(!on_use()) + return FALSE + return TRUE + +/// Called when an activated module without a device is active and the user alt/middle-clicks +/obj/item/mod/module/proc/on_special_click(mob/source, atom/target) + SIGNAL_HANDLER + on_select_use(target) + return COMSIG_MOB_CANCEL_CLICKON + +/// Called on the MODsuit's process +/obj/item/mod/module/proc/on_process(delta_time) + if(active) + if(!drain_power(active_power_cost * delta_time)) + on_deactivation() + return FALSE + on_active_process(delta_time) + else + drain_power(idle_power_cost * delta_time) + return TRUE + +/// Called on the MODsuit's process if it is an active module +/obj/item/mod/module/proc/on_active_process(delta_time) + return + +/// Drains power from the suit cell +/obj/item/mod/module/proc/drain_power(amount) + if(!check_power(amount)) + return FALSE + mod.cell.charge = max(0, mod.cell.charge - amount) + return TRUE + +/obj/item/mod/module/proc/check_power(amount) + if(!mod.cell || (mod.cell.charge < amount)) + return FALSE + return TRUE + +/// Adds additional things to the MODsuit ui_data() +/obj/item/mod/module/proc/add_ui_data() + return list() + +/// Creates a list of configuring options for this module +/obj/item/mod/module/proc/get_configuration() + return list() + +/// Generates an element of the get_configuration list with a display name, type and value +/obj/item/mod/module/proc/add_ui_configuration(display_name, type, value, list/values) + return list("display_name" = display_name, "type" = type, "value" = value, "values" = values) + +/// Receives configure edits from the TGUI and edits the vars +/obj/item/mod/module/proc/configure_edit(key, value) + return + +/// Called when the device moves to a different place on active modules +/obj/item/mod/module/proc/on_exit(datum/source, atom/movable/part, direction) + SIGNAL_HANDLER + + if(!active) + return + if(part.loc == src) + return + if(part.loc == mod.wearer) + return + if(part == device) + on_deactivation() + +/// Called when the device gets deleted on active modules +/obj/item/mod/module/proc/on_device_deletion(datum/source) + SIGNAL_HANDLER + + if(source == device) + device = null + qdel(src) + +/// Generates an icon to be used for the suit's worn overlays +/obj/item/mod/module/proc/generate_worn_overlay() + . = list() + if(!mod.active) + return + var/used_overlay + if(overlay_state_use && !COOLDOWN_FINISHED(src, cooldown_timer)) + used_overlay = overlay_state_use + else if(overlay_state_active && active) + used_overlay = overlay_state_active + else if(overlay_state_inactive) + used_overlay = overlay_state_inactive + else + return + var/mutable_appearance/module_icon = mutable_appearance(overlay_icon_file, used_overlay) + if(!use_mod_colors) + module_icon.appearance_flags |= RESET_COLOR + . += module_icon + +/// Updates the signal used by active modules to be activated +/obj/item/mod/module/proc/update_signal() + mod.selected_module.used_signal = COMSIG_MOB_ALTCLICKON + RegisterSignal(mod.wearer, mod.selected_module.used_signal, /obj/item/mod/module.proc/on_special_click) + +/obj/item/mod/module/anomaly_locked + name = "MOD anomaly locked module" + desc = "A form of a module, locked behind an anomalous core to function." + incompatible_modules = list(/obj/item/mod/module/anomaly_locked) + /// The core item the module runs off. + var/obj/item/assembly/signaler/anomaly/core + /// Accepted types of anomaly cores. + var/list/accepted_anomalies = list(/obj/item/assembly/signaler/anomaly) + /// If this one starts with a core in. + var/prebuilt = FALSE + +/obj/item/mod/module/anomaly_locked/Initialize(mapload) + . = ..() + if(!prebuilt || !length(accepted_anomalies)) + return + var/core_path = pick(accepted_anomalies) + core = new core_path(src) + update_icon_state() + +/obj/item/mod/module/anomaly_locked/Destroy() + QDEL_NULL(core) + return ..() + +/obj/item/mod/module/anomaly_locked/examine(mob/user) + . = ..() + if(!length(accepted_anomalies)) + return + if(core) + . += span_notice("There is a [core.name] installed in it. You could remove it with a screwdriver...") + else + var/list/core_list = list() + for(var/path in accepted_anomalies) + var/atom/core_path = path + core_list += initial(core_path.name) + . += span_notice("You need to insert \a [english_list(core_list, and_text = " or ")] for this module to function.") + +/obj/item/mod/module/anomaly_locked/on_select() + if(!core) + balloon_alert(mod.wearer, "no core!") + return + return ..() + +/obj/item/mod/module/anomaly_locked/on_process(delta_time) + . = ..() + if(!core) + return FALSE + +/obj/item/mod/module/anomaly_locked/on_active_process(delta_time) + if(!core) + return FALSE + return TRUE + +/obj/item/mod/module/anomaly_locked/attackby(obj/item/item, mob/living/user, params) + if(item.type in accepted_anomalies) + if(core) + balloon_alert(user, "core already in!") + return + if(!user.transferItemToLoc(item, src)) + return + core = item + balloon_alert(user, "core installed") + playsound(src, 'sound/machines/click.ogg', 30, TRUE) + update_icon_state() + else + return ..() + +/obj/item/mod/module/anomaly_locked/screwdriver_act(mob/living/user, obj/item/tool) + . = ..() + if(!core) + balloon_alert(user, "no core!") + return + balloon_alert(user, "removing core...") + if(!do_after(user, 3 SECONDS, target = src)) + balloon_alert(user, "interrupted!") + return + balloon_alert(user, "core removed") + core.forceMove(drop_location()) + if(Adjacent(user) && !issilicon(user)) + user.put_in_hands(core) + core = null + update_icon_state() + +/obj/item/mod/module/anomaly_locked/update_icon_state() + icon_state = initial(icon_state) + (core ? "-core" : "") + return ..() diff --git a/code/modules/mod/modules/modules.dm b/code/modules/mod/modules/modules.dm new file mode 100644 index 0000000000..0e0da3572b --- /dev/null +++ b/code/modules/mod/modules/modules.dm @@ -0,0 +1,96 @@ +/obj/item/mod/module/anti_magic/on_suit_activation() + ADD_TRAIT(mod.wearer, TRAIT_ANTIMAGIC, MOD_TRAIT) + ADD_TRAIT(mod.wearer, TRAIT_HOLY, MOD_TRAIT) + +/obj/item/mod/module/anti_magic/on_suit_deactivation() + REMOVE_TRAIT(mod.wearer, TRAIT_ANTIMAGIC, MOD_TRAIT) + REMOVE_TRAIT(mod.wearer, TRAIT_HOLY, MOD_TRAIT) + +/obj/item/mod/module/anti_magic/wizard + name = "MOD magic neutralizer module" + desc = "The caster wielding this spell gains an invisible barrier around them, channeling arcane power through \ + specialized runes engraved onto the surface of the suit to generate anti-magic field. \ + The field will neutralize all magic that comes into contact with the user. \ + It will not protect the caster from social ridicule." + icon_state = "magic_neutralizer" + +/obj/item/mod/module/anti_magic/wizard/on_suit_activation() + ADD_TRAIT(mod.wearer, TRAIT_ANTIMAGIC_NO_SELFBLOCK, MOD_TRAIT) + +/obj/item/mod/module/anti_magic/wizard/on_suit_deactivation() + REMOVE_TRAIT(mod.wearer, TRAIT_ANTIMAGIC_NO_SELFBLOCK, MOD_TRAIT) + +/obj/item/mod/module/kinesis //TODO POST-MERGE MAKE NOT SUCK ASS, MAKE BALLER AS FUCK + name = "MOD kinesis module" + desc = "A modular plug-in to the forearm, this module was presumed lost for many years, \ + despite the suits it used to be mounted on still seeing some circulation. \ + This piece of technology allows the user to generate precise anti-gravity fields, \ + letting them move objects as small as a titanium rod to as large as industrial machinery. \ + Oddly enough, it doesn't seem to work on living creatures." + icon_state = "kinesis" +// module_type = MODULE_ACTIVE + module_type = MODULE_TOGGLE +// complexity = 3 + complexity = 0 + active_power_cost = DEFAULT_CHARGE_DRAIN*0.75 +// use_power_cost = DEFAULT_CHARGE_DRAIN*3 + removable = FALSE + incompatible_modules = list(/obj/item/mod/module/kinesis) + cooldown_time = 0.5 SECONDS + var/has_tk = FALSE + +/obj/item/mod/module/kinesis/on_activation() + . = ..() + if(!.) + return + if(mod.wearer.dna.check_mutation(TK)) + has_tk = TRUE + else + mod.wearer.dna.add_mutation(TK) + +/obj/item/mod/module/kinesis/on_deactivation() + . = ..() + if(!.) + return + if(has_tk) + has_tk = FALSE + return + mod.wearer.dna.remove_mutation(TK) + +/obj/item/mod/module/insignia + name = "MOD insignia module" + desc = "Despite the existence of IFF systems, radio communique, and modern methods of deductive reasoning involving \ + the wearer's own eyes, colorful paint jobs remain a popular way for different factions in the galaxy to display who \ + they are. This system utilizes a series of tiny moving paint sprayers to both apply and remove different \ + color patterns to and from the suit." + icon_state = "insignia" + removable = FALSE + incompatible_modules = list(/obj/item/mod/module/insignia) + overlay_state_inactive = "insignia" + +/obj/item/mod/module/insignia/generate_worn_overlay() + overlay_state_inactive = "[initial(overlay_state_inactive)]-[mod.skin]" + . = ..() + for(var/mutable_appearance/appearance as anything in .) + appearance.color = color + +/obj/item/mod/module/insignia/commander + color = "#4980a5" + +/obj/item/mod/module/insignia/security + color = "#b30d1e" + +/obj/item/mod/module/insignia/engineer + color = "#e9c80e" + +/obj/item/mod/module/insignia/medic + color = "#ebebf5" + +/obj/item/mod/module/insignia/janitor + color = "#7925c7" + +/obj/item/mod/module/insignia/clown + color = "#ff1fc7" + +/obj/item/mod/module/insignia/chaplain + color = "#f0a00c" diff --git a/code/modules/mod/modules/modules_engineering.dm b/code/modules/mod/modules/modules_engineering.dm new file mode 100644 index 0000000000..cc0a6812f1 --- /dev/null +++ b/code/modules/mod/modules/modules_engineering.dm @@ -0,0 +1,215 @@ +//Engineering modules for MODsuits + +///Welding Protection - Makes the helmet protect from flashes and welding. +/obj/item/mod/module/welding + name = "MOD welding protection module" + desc = "A module installed into the visor of the suit, this projects a \ + polarized, holographic overlay in front of the user's eyes. It's rated high enough for \ + immunity against extremities such as spot and arc welding, solar eclipses, and handheld flashlights." + icon_state = "welding" + complexity = 1 + incompatible_modules = list(/obj/item/mod/module/welding) + overlay_state_inactive = "module_welding" + +/obj/item/mod/module/welding/on_suit_activation() + mod.helmet.flash_protect = 2 + +/obj/item/mod/module/welding/on_suit_deactivation(deleting = FALSE) + if(deleting) + return + mod.helmet.flash_protect = initial(mod.helmet.flash_protect) + +///T-Ray Scan - Scans the terrain for undertile objects. +/obj/item/mod/module/t_ray + name = "MOD t-ray scan module" + desc = "A module installed into the visor of the suit, allowing the user to use a pulse of terahertz radiation \ + to essentially echolocate things beneath the floor, mostly cables and pipes. \ + A staple of atmospherics work, and counter-smuggling work." + icon_state = "tray" + module_type = MODULE_TOGGLE + complexity = 1 + active_power_cost = DEFAULT_CHARGE_DRAIN * 0.5 + incompatible_modules = list(/obj/item/mod/module/t_ray) + cooldown_time = 0.5 SECONDS + /// T-ray scan range. + var/range = 4 + +/obj/item/mod/module/t_ray/on_active_process(delta_time) + t_ray_scan(mod.wearer, 0.8 SECONDS, range) + +///Magnetic Stability - Gives the user a slowdown but makes them negate gravity and be immune to slips. +/obj/item/mod/module/magboot + name = "MOD magnetic stability module" + desc = "These are powerful electromagnets fitted into the suit's boots, allowing users both \ + excellent traction no matter the condition indoors, and to essentially hitch a ride on the exterior of a hull. \ + However, these basic models do not feature computerized systems to automatically toggle them on and off, \ + so numerous users report a certain stickiness to their steps." + icon_state = "magnet" + module_type = MODULE_TOGGLE + complexity = 2 + active_power_cost = DEFAULT_CHARGE_DRAIN * 0.5 + incompatible_modules = list(/obj/item/mod/module/magboot) + cooldown_time = 0.5 SECONDS + /// Slowdown added onto the suit. + var/slowdown_active = 2 + +/obj/item/mod/module/magboot/on_activation() + . = ..() + if(!.) + return + mod.boots.clothing_flags |= NOSLIP + ADD_TRAIT(mod.wearer, TRAIT_NOSLIPWATER, MOD_TRAIT) + mod.slowdown += slowdown_active + mod.wearer.update_gravity(mod.wearer.has_gravity()) + mod.wearer.update_equipment_speed_mods() + +/obj/item/mod/module/magboot/on_deactivation(display_message = TRUE, deleting = FALSE) + . = ..() + if(!.) + return + mod.boots.clothing_flags &= ~NOSLIP + REMOVE_TRAIT(mod.wearer, TRAIT_NOSLIPWATER, MOD_TRAIT) + mod.slowdown -= slowdown_active + mod.wearer.update_gravity(mod.wearer.has_gravity()) + mod.wearer.update_equipment_speed_mods() + +/obj/item/mod/module/magboot/advanced + name = "MOD advanced magnetic stability module" + removable = FALSE + complexity = 0 + slowdown_active = 0 + +///Emergency Tether - Shoots a grappling hook projectile in 0g that throws the user towards it. +/obj/item/mod/module/tether + name = "MOD emergency tether module" + desc = "A custom-built grappling-hook powered by a winch capable of hauling the user. \ + While some older models of cargo-oriented grapples have capacities of a few tons, \ + these are only capable of working in zero-gravity environments, a blessing to some Engineers." + icon_state = "tether" + module_type = MODULE_ACTIVE + complexity = 3 + use_power_cost = DEFAULT_CHARGE_DRAIN + incompatible_modules = list(/obj/item/mod/module/tether) + cooldown_time = 1.5 SECONDS + +/obj/item/mod/module/tether/on_use() + if(mod.wearer.has_gravity(get_turf(src))) + balloon_alert(mod.wearer, "too much gravity!") + playsound(src, "gun_dry_fire", 25, TRUE) + return FALSE + return ..() + +/obj/item/mod/module/tether/on_select_use(atom/target) + . = ..() + if(!.) + return + var/obj/item/projectile/tether = new /obj/item/projectile/tether(mod.wearer.loc) + tether.preparePixelProjectile(target, mod.wearer) + tether.firer = mod.wearer + playsound(src, 'sound/weapons/batonextend.ogg', 25, TRUE) + INVOKE_ASYNC(tether, /obj/item/projectile.proc/fire) + drain_power(use_power_cost) + +/obj/item/projectile/tether + name = "tether" + icon_state = "tether_projectile" + icon = 'icons/obj/clothing/modsuit/mod_modules.dmi' + damage = 0 + nodamage = TRUE + range = 10 + hitsound = 'sound/weapons/batonextend.ogg' + hitsound_wall = 'sound/weapons/batonextend.ogg' + suppressed = SUPPRESSED_VERY + hit_threshhold = LATTICE_LAYER + /// Reference to the beam following the projectile. + var/line + +/obj/item/projectile/tether/fire(setAngle) + if(firer) + line = firer.Beam(src, "line", 'icons/obj/clothing/modsuit/mod_modules.dmi') + ..() + +/obj/item/projectile/tether/on_hit(atom/target) + . = ..() + if(firer) + firer.throw_at(target, 10, 1, firer, FALSE, FALSE, null, MOVE_FORCE_NORMAL, TRUE) + +/obj/item/projectile/tether/Destroy() + QDEL_NULL(line) + return ..() + +///Radiation Protection - Protects the user from radiation, gives them a geiger counter and rad info in the panel. +/obj/item/mod/module/rad_protection + name = "MOD radiation protection module" + desc = "A module utilizing polymers and reflective shielding to protect the user against ionizing radiation." + icon_state = "radshield" + complexity = 2 + idle_power_cost = DEFAULT_CHARGE_DRAIN * 0.3 + incompatible_modules = list(/obj/item/mod/module/rad_protection) + +/obj/item/mod/module/rad_protection/on_suit_activation() + mod.armor = mod.armor.modifyRating(rad = 65) + mod.rad_flags = RAD_PROTECT_CONTENTS|RAD_NO_CONTAMINATE + for(var/obj/item/part in mod.mod_parts) + part.armor = mod.armor + part.rad_flags = mod.rad_flags + +/obj/item/mod/module/rad_protection/on_suit_deactivation(deleting = FALSE) + mod.armor = mod.armor.modifyRating(rad = -65) + mod.rad_flags = NONE + for(var/obj/item/part in mod.mod_parts) + part.armor = mod.armor + part.rad_flags = mod.rad_flags + +///Constructor - Lets you build quicker and create RCD holograms. +/obj/item/mod/module/constructor + name = "MOD constructor module" + desc = "This module entirely occupies the wearer's forearm, notably causing conflict with \ + advanced arm servos meant to carry crewmembers. However, it contains the \ + latest engineering schematics combined with inbuilt memory to help the user build walls." + icon_state = "constructor" + module_type = MODULE_USABLE + complexity = 2 + idle_power_cost = DEFAULT_CHARGE_DRAIN * 0.2 + use_power_cost = DEFAULT_CHARGE_DRAIN * 2 + incompatible_modules = list(/obj/item/mod/module/constructor, /obj/item/mod/module/quick_carry) + cooldown_time = 11 SECONDS + +/obj/item/mod/module/constructor/on_suit_activation() + ADD_TRAIT(mod.wearer, TRAIT_QUICK_BUILD, MOD_TRAIT) + +/obj/item/mod/module/constructor/on_suit_deactivation(deleting = FALSE) + REMOVE_TRAIT(mod.wearer, TRAIT_QUICK_BUILD, MOD_TRAIT) + +///Mister - Sprays water over an area. +/obj/item/mod/module/mister + name = "MOD water mister module" + desc = "A module containing a mister, able to spray it over areas." + icon_state = "mister" + module_type = MODULE_ACTIVE + complexity = 2 + active_power_cost = DEFAULT_CHARGE_DRAIN * 0.3 + device = /obj/item/reagent_containers/spray/mister + incompatible_modules = list(/obj/item/mod/module/mister) + cooldown_time = 0.5 SECONDS + /// Volume of our reagent holder. + var/volume = 500 + +/obj/item/mod/module/mister/Initialize(mapload) + create_reagents(volume, OPENCONTAINER) + return ..() + +///Resin Mister - Sprays resin over an area. +/obj/item/mod/module/mister/atmos + name = "MOD resin mister module" + desc = "An atmospheric resin mister, able to fix up areas quickly." + device = /obj/item/extinguisher/mini/nozzle/mod + volume = 250 + +/obj/item/mod/module/mister/atmos/Initialize(mapload) + . = ..() + reagents.add_reagent(/datum/reagent/water, volume) + +/obj/item/extinguisher/mini/nozzle/mod + name = "MOD atmospheric mister" + desc = "An atmospheric resin mister with three modes, mounted as a module." diff --git a/code/modules/mod/modules/modules_general.dm b/code/modules/mod/modules/modules_general.dm new file mode 100644 index 0000000000..f2713d4c9c --- /dev/null +++ b/code/modules/mod/modules/modules_general.dm @@ -0,0 +1,402 @@ +//General modules for MODsuits + +///Storage - Adds a storage component to the suit. +/obj/item/mod/module/storage + name = "MOD storage containment module" + desc = "What amounts to a series of integrated storage compartments and specialized pockets installed across \ + the surface of the suit, useful for storing various bits, and or bobs." + icon_state = "storage" + complexity = 3 + incompatible_modules = list(/obj/item/mod/module/storage) + module_type = MODULE_USABLE + cooldown_time = 0.5 SECONDS + allowed_inactive = TRUE + /// Bag we have stored. + var/obj/item/storage/backpack/stored + +/obj/item/mod/module/storage/attackby(obj/item/I, mob/user, params) + if(!istype(I, /obj/item/storage/backpack)) + return ..() + var/obj/item/storage/backpack/B = I + if(stored) + balloon_alert(user, "backpack already installed!") + return + if(!user.transferItemToLoc(B, src)) + return + stored = B + balloon_alert(user, "backpack installed") + playsound(src, 'sound/machines/click.ogg', 30, TRUE) + +/obj/item/mod/module/storage/screwdriver_act(mob/living/user, obj/item/tool) + . = ..() + if(!stored) + balloon_alert(user, "no backpack!") + return + balloon_alert(user, "removing backpack...") + if(!do_after(user, 3 SECONDS, target = src)) + balloon_alert(user, "interrupted!") + return + balloon_alert(user, "backpack removed") + stored.forceMove(drop_location()) + if(Adjacent(user) && !issilicon(user)) + user.put_in_hands(stored) + stored = null + +/obj/item/mod/module/storage/on_use() + . = ..() + if(!.) + return + if(!stored) + var/obj/item/storage/backpack/holding = mod.wearer.get_active_held_item() + if(!holding) + balloon_alert(mod.wearer, "no backpack installed!") + return + if(!istype(holding)) + balloon_alert(mod.wearer, "it doesn't fit!") + return + if(mod.wearer.transferItemToLoc(holding, src, force = FALSE, silent = TRUE)) + stored = holding + balloon_alert(mod.wearer, "backpack stored") + playsound(src, 'sound/weapons/revolverempty.ogg', 100, TRUE) + else if(mod.wearer.put_in_active_hand(stored, forced = FALSE, ignore_animation = TRUE)) + balloon_alert(mod.wearer, "backpack retrieved") + playsound(src, 'sound/weapons/revolverempty.ogg', 100, TRUE) + else + balloon_alert(mod.wearer, "backpack storage full!") + +/obj/item/mod/module/storage/Exited(atom/movable/gone, direction) + . = ..() + if(gone == stored) + stored = null + +/obj/item/mod/module/storage/Destroy() + QDEL_NULL(stored) + return ..() + +///Ion Jetpack - Lets the user fly freely through space using battery charge. +/obj/item/mod/module/jetpack + name = "MOD ion jetpack module" + desc = "A series of electric thrusters installed across the suit, this is a module highly anticipated by trainee Engineers. \ + Rather than using gasses for combustion thrust, these jets are capable of accelerating ions using \ + charge from the suit's charge. Some say this isn't Nakamura Engineering's first foray into jet-enabled suits." + icon_state = "jetpack" + module_type = MODULE_TOGGLE + complexity = 3 + active_power_cost = DEFAULT_CHARGE_DRAIN * 0.5 + use_power_cost = DEFAULT_CHARGE_DRAIN + incompatible_modules = list(/obj/item/mod/module/jetpack) + cooldown_time = 0.5 SECONDS + overlay_state_inactive = "module_jetpack" + overlay_state_active = "module_jetpack_on" + /// Do we stop the wearer from gliding in space. + var/stabilizers = FALSE + /// Do we give the wearer a speed buff. + var/full_speed = FALSE + var/datum/effect_system/trail_follow/ion/ion_trail + +/obj/item/mod/module/jetpack/Initialize(mapload) + . = ..() + ion_trail = new + ion_trail.set_up(src) + +/obj/item/mod/module/jetpack/Destroy() + QDEL_NULL(ion_trail) + return ..() + +/obj/item/mod/module/jetpack/on_activation() + . = ..() + if(!.) + return + ion_trail.start() + RegisterSignal(mod.wearer, COMSIG_MOVABLE_MOVED, .proc/move_react) + RegisterSignal(mod.wearer, COMSIG_MOVABLE_SPACEMOVE, .proc/spacemove_react, override = TRUE) + if(full_speed) + mod.wearer.add_movespeed_modifier(/datum/movespeed_modifier/jetpack/fullspeed) + else + mod.wearer.add_movespeed_modifier(/datum/movespeed_modifier/jetpack) + +/obj/item/mod/module/jetpack/on_deactivation(display_message = TRUE, deleting = FALSE) + . = ..() + stabilizers = FALSE + ion_trail.stop() + UnregisterSignal(mod.wearer, COMSIG_MOVABLE_MOVED) + mod.wearer.remove_movespeed_modifier(/datum/movespeed_modifier/jetpack/fullspeed) + mod.wearer.remove_movespeed_modifier(/datum/movespeed_modifier/jetpack) + +/obj/item/mod/module/jetpack/get_configuration() + . = ..() + .["stabilizers"] = add_ui_configuration("Stabilizers", "bool", stabilizers) + +/obj/item/mod/module/jetpack/configure_edit(key, value) + switch(key) + if("stabilizers") + stabilizers = text2num(value) + +/obj/item/mod/module/jetpack/proc/move_react(mob/user) + allow_thrust() + +/obj/item/mod/module/jetpack/proc/allow_thrust(use_fuel = TRUE) + if(!active) + return FALSE + if(!use_fuel) + return check_power(use_power_cost) + if(!drain_power(use_power_cost)) + return FALSE + return TRUE + +/obj/item/mod/module/jetpack/proc/spacemove_react(mob/user, movement_dir) + SIGNAL_HANDLER + + if(active && (movement_dir || stabilizers)) + return COMSIG_MOVABLE_STOP_SPACEMOVE + +/obj/item/mod/module/jetpack/advanced + name = "MOD advanced ion jetpack module" + desc = "An improvement on the previous model of electric thrusters. This one achieves higher speeds through \ + mounting of more jets and a red paint applied on it." + icon_state = "jetpack_advanced" + overlay_state_inactive = "module_jetpackadv" + overlay_state_active = "module_jetpackadv_on" + full_speed = TRUE + +///Eating Apparatus - Lets the user eat/drink with the suit on. +/obj/item/mod/module/mouthhole + name = "MOD eating apparatus module" + desc = "A favorite by Miners, this modification to the helmet utilizes a nanotechnology barrier infront of the mouth \ + to allow eating and drinking while retaining protection and atmosphere. However, it won't free you from masks, \ + lets pepper spray pass through and it will do nothing to improve the taste of a goliath steak." + icon_state = "apparatus" + complexity = 1 + incompatible_modules = list(/obj/item/mod/module/mouthhole) + overlay_state_inactive = "module_apparatus" + /// Former flags of the helmet. + var/former_flags = NONE + /// Former visor flags of the helmet. + var/former_visor_flags = NONE + +/obj/item/mod/module/mouthhole/on_install() + former_flags = mod.helmet.flags_cover + former_visor_flags = mod.helmet.visor_flags_cover + mod.helmet.flags_cover &= ~HEADCOVERSMOUTH + mod.helmet.visor_flags_cover &= ~HEADCOVERSMOUTH + +/obj/item/mod/module/mouthhole/on_uninstall(deleting = FALSE) + if(deleting) + return + mod.helmet.flags_cover |= former_flags + mod.helmet.visor_flags_cover |= former_visor_flags + +///EMP Shield - Protects the suit from EMPs. +/obj/item/mod/module/emp_shield + name = "MOD EMP shield module" + desc = "A field inhibitor installed into the suit, protecting it against feedback such as \ + electromagnetic pulses that would otherwise damage the electronic systems of the suit or it's modules. \ + However, it will take from the suit's power to do so." + icon_state = "empshield" + complexity = 1 + idle_power_cost = DEFAULT_CHARGE_DRAIN * 0.3 + incompatible_modules = list(/obj/item/mod/module/emp_shield) + +/obj/item/mod/module/emp_shield/on_install() + mod.AddElement(/datum/element/empprotection, EMP_PROTECT_SELF|EMP_PROTECT_WIRES|EMP_PROTECT_CONTENTS) + +/obj/item/mod/module/emp_shield/on_uninstall(deleting = FALSE) + mod.RemoveElement(/datum/element/empprotection, EMP_PROTECT_SELF|EMP_PROTECT_WIRES|EMP_PROTECT_CONTENTS) + +/obj/item/mod/module/emp_shield/advanced + name = "MOD advanced EMP shield module" + desc = "An advanced field inhibitor installed into the suit, protecting it against feedback such as \ + electromagnetic pulses that would otherwise damage the electronic systems of the suit or electronic devices on the wearer, \ + including augmentations. However, it will take from the suit's power to do so." + complexity = 2 + +/obj/item/mod/module/emp_shield/advanced/on_suit_activation() + mod.wearer.AddElement(/datum/element/empprotection, EMP_PROTECT_SELF|EMP_PROTECT_CONTENTS) + +/obj/item/mod/module/emp_shield/advanced/on_suit_deactivation(deleting) + mod.wearer.RemoveElement(/datum/element/empprotection, EMP_PROTECT_SELF|EMP_PROTECT_CONTENTS) + +///Flashlight - Gives the suit a customizable flashlight. +/obj/item/mod/module/flashlight + name = "MOD flashlight module" + desc = "A simple pair of configurable flashlights installed on the left and right sides of the helmet, \ + useful for providing light in a variety of ranges and colors. \ + Some survivalists prefer the color green for their illumination, for reasons unknown." + icon_state = "flashlight" + module_type = MODULE_TOGGLE + complexity = 1 + active_power_cost = DEFAULT_CHARGE_DRAIN * 0.3 + incompatible_modules = list(/obj/item/mod/module/flashlight) + cooldown_time = 0.5 SECONDS + overlay_state_inactive = "module_light" + light_color = COLOR_WHITE + light_range = 4 + light_power = 1 + /// Charge drain per range amount. + var/base_power = DEFAULT_CHARGE_DRAIN * 0.1 + /// Minimum range we can set. + var/min_range = 2 + /// Maximum range we can set. + var/max_range = 5 + +/obj/item/mod/module/flashlight/on_activation() + . = ..() + if(!.) + return + mod.set_light(light_range, light_power, light_color) + active_power_cost = base_power * light_range + +/obj/item/mod/module/flashlight/on_deactivation(display_message = TRUE, deleting = FALSE) + . = ..() + if(!.) + return + mod.set_light(0, 0) + +/obj/item/mod/module/flashlight/on_process(delta_time) + active_power_cost = base_power * light_range + return ..() + +/obj/item/mod/module/flashlight/generate_worn_overlay() + . = ..() + if(!active) + return + var/mutable_appearance/light_icon = mutable_appearance(overlay_icon_file, "module_light_on") + light_icon.appearance_flags = RESET_COLOR + light_icon.color = light_color + . += light_icon + +/obj/item/mod/module/flashlight/get_configuration() + . = ..() + .["light_color"] = add_ui_configuration("Light Color", "color", light_color) + .["light_range"] = add_ui_configuration("Light Range", "number", light_range) + +/obj/item/mod/module/flashlight/configure_edit(key, value) + switch(key) + if("light_color") + value = input(usr, "Pick new light color", "Flashlight Color") as color|null + if(!value) + return + var/list/hsl = rgb2hsl(hex2num(copytext(value,2,4)),hex2num(copytext(value,4,6)),hex2num(copytext(value,6,8))) + if(hsl[3] < 0.5) + balloon_alert(mod.wearer, "too dark!") + return + mod.set_light_color(value) + mod.wearer.regenerate_icons() + light_color = value + if("light_range") + mod.set_light_range(clamp(value, min_range, max_range)) + light_range = clamp(value, min_range, max_range) + +///Dispenser - Dispenses an item after a time passes. +/obj/item/mod/module/dispenser + name = "MOD burger dispenser module" + desc = "A rare piece of technology reverse-engineered from a prototype found in a Donk Corporation vessel. \ + This can draw incredible amounts of power from the suit's charge to create edible organic matter in the \ + palm of the wearer's glove; however, research seemed to have entirely stopped at burgers. \ + Notably, all attempts to get it to dispense Earl Grey tea have failed." + icon_state = "dispenser" + module_type = MODULE_USABLE + complexity = 3 + use_power_cost = DEFAULT_CHARGE_DRAIN * 2 + incompatible_modules = list(/obj/item/mod/module/dispenser) + cooldown_time = 5 SECONDS + /// Path we dispense. + var/dispense_type = /obj/item/reagent_containers/food/snacks/burger/plain + /// Time it takes for us to dispense. + var/dispense_time = 0 SECONDS + +/obj/item/mod/module/dispenser/on_use() + . = ..() + if(!.) + return + if(dispense_time && !do_after(mod.wearer, dispense_time, target = mod)) + balloon_alert(mod.wearer, "interrupted!") + return FALSE + var/obj/item/dispensed = new dispense_type(mod.wearer.loc) + mod.wearer.put_in_hands(dispensed) + balloon_alert(mod.wearer, "[dispensed] dispensed") + playsound(src, 'sound/machines/click.ogg', 100, TRUE) + drain_power(use_power_cost) + return dispensed + +///Longfall + +///Thermal Regulator - Naw. + +///DNA Lock - Prevents people without the set DNA from activating the suit. +/obj/item/mod/module/dna_lock + name = "MOD DNA lock module" + desc = "A module which engages with the various locks and seals tied to the suit's systems, \ + enabling it to only be worn by someone corresponding with the user's exact DNA profile; \ + however, this incredibly sensitive module is shorted out by EMPs. Luckily, cloning has been outlawed." + icon_state = "dnalock" + module_type = MODULE_USABLE + complexity = 2 + use_power_cost = DEFAULT_CHARGE_DRAIN * 3 + incompatible_modules = list(/obj/item/mod/module/dna_lock) + cooldown_time = 0.5 SECONDS + /// The DNA we lock with. + var/dna = null + +/obj/item/mod/module/dna_lock/on_install() + RegisterSignal(mod, COMSIG_MOD_ACTIVATE, .proc/on_mod_activation) + RegisterSignal(mod, COMSIG_MOD_MODULE_REMOVAL, .proc/on_mod_removal) + RegisterSignal(mod, COMSIG_ATOM_EMP_ACT, .proc/on_emp) + RegisterSignal(mod, COMSIG_ATOM_EMAG_ACT, .proc/on_emag) + +/obj/item/mod/module/dna_lock/on_uninstall(deleting = FALSE) + UnregisterSignal(mod, COMSIG_MOD_ACTIVATE) + UnregisterSignal(mod, COMSIG_MOD_MODULE_REMOVAL) + UnregisterSignal(mod, COMSIG_ATOM_EMP_ACT) + UnregisterSignal(mod, COMSIG_ATOM_EMAG_ACT) + +/obj/item/mod/module/dna_lock/on_use() + . = ..() + if(!.) + return + dna = mod.wearer.dna.unique_enzymes + balloon_alert(mod.wearer, "dna updated") + drain_power(use_power_cost) + +/obj/item/mod/module/dna_lock/emp_act(severity) + . = ..() + if(. & EMP_PROTECT_SELF) + return + on_emp(src, severity) + +/obj/item/mod/module/dna_lock/emag_act(mob/user, obj/item/card/emag/emag_card) + . = ..() + on_emag(src, user, emag_card) + +/obj/item/mod/module/dna_lock/proc/dna_check(mob/user) + if(!iscarbon(user)) + return FALSE + var/mob/living/carbon/carbon_user = user + if(!dna || (carbon_user.has_dna() && carbon_user.dna.unique_enzymes == dna)) + return TRUE + balloon_alert(user, "dna locked!") + return FALSE + +/obj/item/mod/module/dna_lock/proc/on_emp(datum/source, severity) + SIGNAL_HANDLER + + dna = null + +/obj/item/mod/module/dna_lock/proc/on_emag(datum/source, mob/user, obj/item/card/emag/emag_card) + SIGNAL_HANDLER + + dna = null + +/obj/item/mod/module/dna_lock/proc/on_mod_activation(datum/source, mob/user) + SIGNAL_HANDLER + + if(!dna_check(user)) + return MOD_CANCEL_ACTIVATE + +/obj/item/mod/module/dna_lock/proc/on_mod_removal(datum/source, mob/user) + SIGNAL_HANDLER + + if(!dna_check(user)) + return MOD_CANCEL_REMOVAL + +///Sign Language Translator - I want, but no diff --git a/code/modules/mod/modules/modules_maint.dm b/code/modules/mod/modules/modules_maint.dm new file mode 100644 index 0000000000..f73969d625 --- /dev/null +++ b/code/modules/mod/modules/modules_maint.dm @@ -0,0 +1,157 @@ +//Maint modules for MODsuits + +///Springlock Mechanism - allows your modsuit to activate faster, but reagents are very dangerous. +/obj/item/mod/module/springlock + name = "MOD springlock module" + desc = "A module that spans the entire size of the MOD unit, sitting under the outer shell. \ + This mechanical exoskeleton pushes out of the way when the user enters and it helps in booting \ + up, but was taken out of modern suits because of the springlock's tendency to \"snap\" back \ + into place when exposed to humidity. You know what it's like to have an entire exoskeleton enter you?" + icon_state = "springlock" + complexity = 3 // it is inside every part of your suit, so + incompatible_modules = list(/obj/item/mod/module/springlock) + +/obj/item/mod/module/springlock/on_install() + mod.activation_step_time *= 0.5 + +/obj/item/mod/module/springlock/on_uninstall(deleting = FALSE) + mod.activation_step_time *= 2 + +/obj/item/mod/module/springlock/on_suit_activation() + RegisterSignal(mod.wearer, COMSIG_ATOM_EXPOSE_REAGENTS, .proc/on_wearer_exposed) + +/obj/item/mod/module/springlock/on_suit_deactivation(deleting = FALSE) + UnregisterSignal(mod.wearer, COMSIG_ATOM_EXPOSE_REAGENTS) + +///Signal fired when wearer is exposed to reagents +/obj/item/mod/module/springlock/proc/on_wearer_exposed(atom/source, list/reagents, datum/reagents/source_reagents, methods, volume_modifier, show_message, from_gas) + SIGNAL_HANDLER + + if(!reagents.len) + return + if(!(methods & (VAPOR|PATCH|TOUCH))) + return //remove non-touch reagent exposure + to_chat(mod.wearer, span_danger("[src] makes an ominous click sound...")) + playsound(src, 'sound/items/modsuit/springlock.ogg', 75, TRUE) + addtimer(CALLBACK(src, .proc/snap_shut), rand(3 SECONDS, 5 SECONDS)) + RegisterSignal(mod, COMSIG_MOD_ACTIVATE, .proc/on_activate_spring_block) + +///Signal fired when wearer attempts to activate/deactivate suits +/obj/item/mod/module/springlock/proc/on_activate_spring_block(datum/source, user) + SIGNAL_HANDLER + + balloon_alert(user, "springlocks aren't responding...?") + return MOD_CANCEL_ACTIVATE + +///Delayed death proc of the suit after the wearer is exposed to reagents +/obj/item/mod/module/springlock/proc/snap_shut() + UnregisterSignal(mod, COMSIG_MOD_ACTIVATE) + if(!mod.wearer) //while there is a guaranteed user when on_wearer_exposed() fires, that isn't the same case for this proc + return + mod.wearer.visible_message("[src] inside [mod.wearer]'s [mod.name] snaps shut, mutilating the user inside!", span_userdanger("*SNAP*")) + mod.wearer.emote("scream") + playsound(mod.wearer, 'sound/effects/snap.ogg', 75, TRUE, frequency = 0.5) + playsound(mod.wearer, 'sound/effects/splat.ogg', 50, TRUE, frequency = 0.5) + mod.wearer.client?.give_award(/datum/award/achievement/misc/springlock, mod.wearer) + mod.wearer.apply_damage(500, BRUTE, forced = TRUE, spread_damage = TRUE, sharpness = SHARP_POINTY) //boggers, bogchamp, etc + if(!HAS_TRAIT(mod.wearer, TRAIT_NODEATH)) + mod.wearer.death() //just in case, for some reason, they're still alive + flash_color(mod.wearer, flash_color = "#FF0000", flash_time = 10 SECONDS) + +///Rave Visor - Pointless + +///Tanner - Maybe another time + +///Balloon Blower - Blows a balloon. +/obj/item/mod/module/balloon + name = "MOD balloon blower module" + desc = "A strange module invented years ago by some ingenious mimes. It blows balloons." + icon_state = "bloon" + module_type = MODULE_USABLE + complexity = 1 + use_power_cost = DEFAULT_CHARGE_DRAIN * 0.5 + incompatible_modules = list(/obj/item/mod/module/balloon) + cooldown_time = 15 SECONDS + +/obj/item/mod/module/balloon/on_use() + . = ..() + if(!.) + return + if(!do_after(mod.wearer, 10 SECONDS, target = mod)) + return FALSE + mod.wearer.adjustOxyLoss(20) + playsound(src, 'sound/items/modsuit/inflate_bloon.ogg', 50, TRUE) + var/obj/item/toy/balloon/balloon = new(get_turf(src)) + mod.wearer.put_in_hands(balloon) + drain_power(use_power_cost) + +///Paper Dispenser - Dispenses (sometimes burning) paper sheets. +/obj/item/mod/module/paper_dispenser + name = "MOD paper dispenser module" + desc = "A simple module designed by the bureaucrats of Torch Bay. \ + It dispenses 'warm, clean, and crisp sheets of paper' onto a nearby table. Usually." + icon_state = "paper_maker" + module_type = MODULE_USABLE + complexity = 1 + use_power_cost = DEFAULT_CHARGE_DRAIN * 0.5 + incompatible_modules = list(/obj/item/mod/module/paper_dispenser) + cooldown_time = 5 SECONDS + /// The total number of sheets created by this MOD. The more sheets, them more likely they set on fire. + var/num_sheets_dispensed = 0 + +/obj/item/mod/module/paper_dispenser/on_use() + . = ..() + if(!.) + return + if(!do_after(mod.wearer, 1 SECONDS, target = mod)) + return FALSE + + var/obj/item/paper/crisp_paper = new(get_turf(src)) + crisp_paper.desc = "It's crisp and warm to the touch. Must be fresh." + + var/obj/structure/table/nearby_table = locate() in range(1, mod.wearer) + playsound(get_turf(src), 'sound/machines/click.ogg', 50, TRUE) + balloon_alert(mod.wearer, "dispensed paper[nearby_table ? " onto table":""]") + + mod.wearer.put_in_hands(crisp_paper) + if(nearby_table) + mod.wearer.transferItemToLoc(crisp_paper, nearby_table.drop_location(), silent = FALSE) + + // Up to a 30% chance to set the sheet on fire, +2% per sheet made + if(prob(min(num_sheets_dispensed * 2, 30))) + if(crisp_paper in mod.wearer.held_items) + mod.wearer.dropItemToGround(crisp_paper, force = TRUE) + crisp_paper.balloon_alert(mod.wearer, "PC LOAD LETTER!") + crisp_paper.visible_message(span_warning("[crisp_paper] bursts into flames, it's too crisp!")) + crisp_paper.fire_act(1000, 100) + + drain_power(use_power_cost) + num_sheets_dispensed++ + + +///Stamper - Extends a stamp that can switch between accept/deny modes. +/obj/item/mod/module/stamp + name = "MOD stamper module" + desc = "A module installed into the wrist of the suit, this functions as a high-power stamp, \ + able to switch between accept and deny modes." + icon_state = "stamp" + module_type = MODULE_ACTIVE + complexity = 1 + active_power_cost = DEFAULT_CHARGE_DRAIN * 0.3 + device = /obj/item/stamp/mod + incompatible_modules = list(/obj/item/mod/module/stamp) + cooldown_time = 0.5 SECONDS + +/obj/item/stamp/mod + name = "MOD electronic stamp" + desc = "A high-power stamp, able to switch between accept and deny mode when used." + +/obj/item/stamp/mod/attack_self(mob/user, modifiers) + . = ..() + if(icon_state == "stamp-ok") + icon_state = "stamp-deny" + else + icon_state = "stamp-ok" + balloon_alert(user, "switched mode") + +///Atrocinator - Perhaps another time diff --git a/code/modules/mod/modules/modules_medical.dm b/code/modules/mod/modules/modules_medical.dm new file mode 100644 index 0000000000..c7e1510152 --- /dev/null +++ b/code/modules/mod/modules/modules_medical.dm @@ -0,0 +1,189 @@ +//Medical modules for MODsuits + +#define HEALTH_SCAN "Health" +#define WOUND_SCAN "Wound" +#define CHEM_SCAN "Chemical" + +///Health Analyzer - Gives the user a ranged health analyzer and their health status in the panel. +/obj/item/mod/module/health_analyzer + name = "MOD health analyzer module" + desc = "A module installed into the glove of the suit. This is a high-tech biological scanning suite, \ + allowing the user indepth information on the vitals and injuries of others even at a distance, \ + all with the flick of the wrist. Data is displayed in a convenient package on HUD in the helmet, \ + but it's up to you to do something with it." + icon_state = "health" + module_type = MODULE_ACTIVE + complexity = 2 + use_power_cost = DEFAULT_CHARGE_DRAIN + incompatible_modules = list(/obj/item/mod/module/health_analyzer) + cooldown_time = 0.5 SECONDS + tgui_id = "health_analyzer" + /// Scanning mode, changes how we scan something. + var/mode = HEALTH_SCAN + /// List of all scanning modes. + var/static/list/modes = list(HEALTH_SCAN, WOUND_SCAN, CHEM_SCAN) + +/obj/item/mod/module/health_analyzer/add_ui_data() + . = ..() + .["userhealth"] = mod.wearer?.health || 0 + .["usermaxhealth"] = mod.wearer?.getMaxHealth() || 0 + .["userbrute"] = mod.wearer?.getBruteLoss() || 0 + .["userburn"] = mod.wearer?.getFireLoss() || 0 + .["usertoxin"] = mod.wearer?.getToxLoss() || 0 + .["useroxy"] = mod.wearer?.getOxyLoss() || 0 + +/obj/item/mod/module/health_analyzer/on_select_use(atom/target) + . = ..() + if(!.) + return + if(!isliving(target) || !mod.wearer.can_read(src)) + return + switch(mode) + if(HEALTH_SCAN) + healthscan(mod.wearer, target) + if(WOUND_SCAN) + woundscan(mod.wearer, target) + if(CHEM_SCAN) + chemscan(mod.wearer, target) + drain_power(use_power_cost) + +/obj/item/mod/module/health_analyzer/get_configuration() + . = ..() + .["mode"] = add_ui_configuration("Scan Mode", "list", mode, modes) + +/obj/item/mod/module/health_analyzer/configure_edit(key, value) + switch(key) + if("mode") + mode = value + +#undef HEALTH_SCAN +#undef WOUND_SCAN +#undef CHEM_SCAN + +///Quick Carry - Lets the user carry bodies quicker. +/obj/item/mod/module/quick_carry + name = "MOD quick carry module" + desc = "A suite of advanced servos, redirecting power from the suit's arms to help carry the wounded; \ + or simply for fun. However, Nanotrasen has locked the module's ability to assist in hand-to-hand combat." + icon_state = "carry" + complexity = 1 + idle_power_cost = DEFAULT_CHARGE_DRAIN * 0.3 + incompatible_modules = list(/obj/item/mod/module/quick_carry, /obj/item/mod/module/constructor) + +/obj/item/mod/module/quick_carry/on_suit_activation() + ADD_TRAIT(mod.wearer, TRAIT_QUICKER_CARRY, MOD_TRAIT) + +/obj/item/mod/module/quick_carry/on_suit_deactivation(deleting = FALSE) + REMOVE_TRAIT(mod.wearer, TRAIT_QUICKER_CARRY, MOD_TRAIT) + +/obj/item/mod/module/quick_carry/advanced + name = "MOD advanced quick carry module" + removable = FALSE + complexity = 0 + +///Injector - No piercing syringes, replace another time + +///Organ Thrower + +///Patrient Transport + +///Defibrillator - Gives the suit an extendable pair of shock paddles. +/obj/item/mod/module/defibrillator + name = "MOD defibrillator module" + desc = "A module built into the gauntlets of the suit; commonly known as the 'Healing Hands' by medical professionals. \ + The user places their palms above the patient. Onboard computers in the suit calculate the necessary voltage, \ + and a modded targeting computer determines the best position for the user to push. \ + Twenty five pounds of force are applied to the patient's skin. Shocks travel from the suit's gloves \ + and counter-shock the heart, and the wearer returns to Medical a hero. Don't you even think about using it as a weapon; \ + regulations on manufacture and software locks expressly forbid it." + icon_state = "defibrillator" + module_type = MODULE_ACTIVE + complexity = 2 + use_power_cost = DEFAULT_CHARGE_DRAIN * 25 + device = /obj/item/shockpaddles/mod + overlay_state_inactive = "module_defibrillator" + overlay_state_active = "module_defibrillator_active" + incompatible_modules = list(/obj/item/mod/module/defibrillator) + cooldown_time = 0.5 SECONDS + var/defib_cooldown = 5 SECONDS + +/obj/item/mod/module/defibrillator/Initialize(mapload) + . = ..() + RegisterSignal(device, COMSIG_DEFIBRILLATOR_SUCCESS, .proc/on_defib_success) + +/obj/item/mod/module/defibrillator/Destroy() + UnregisterSignal(device, COMSIG_DEFIBRILLATOR_SUCCESS) + . = ..() + +/obj/item/mod/module/defibrillator/proc/on_defib_success(obj/item/shockpaddles/source) + drain_power(use_power_cost) + source.recharge(defib_cooldown) + return COMPONENT_DEFIB_STOP + +/obj/item/shockpaddles/mod + name = "MOD defibrillator gauntlets" + req_defib = FALSE + icon_state = "defibgauntlets0" + item_state = "defibgauntlets0" + base_icon_state = "defibgauntlets" + +/obj/item/mod/module/defibrillator/combat + name = "MOD combat defibrillator module" + desc = "A module built into the gauntlets of the suit; commonly known as the 'Healing Hands' by medical professionals. \ + The user places their palms above the patient. Onboard computers in the suit calculate the necessary voltage, \ + and a modded targeting computer determines the best position for the user to push. \ + Twenty five pounds of force are applied to the patient's skin. Shocks travel from the suit's gloves \ + and counter-shock the heart, and the wearer returns to Medical a hero. \ + Interdyne Pharmaceutics marketed the domestic version of the Healing Hands as foolproof and unusable as a weapon. \ + But when it came time to provide their operatives with usable medical equipment, they didn't hesitate to remove \ + those in-built safeties. Operatives in the field can benefit from what they dub as 'Stun Gloves', able to apply shocks \ + straight to a victims heart to disable them, or maybe even outright stop their heart with enough power." + complexity = 1 + module_type = MODULE_ACTIVE + overlay_state_inactive = "module_defibrillator_combat" + overlay_state_active = "module_defibrillator_combat_active" + device = /obj/item/shockpaddles/syndicate/mod + defib_cooldown = 2.5 SECONDS + +/obj/item/shockpaddles/syndicate/mod + name = "MOD combat defibrillator gauntlets" + req_defib = FALSE + icon_state = "syndiegauntlets0" + item_state = "syndiegauntlets0" + base_icon_state = "syndiegauntlets" + +///Thread Ripper + +///Surgical Processor - Lets you do advanced surgeries portably. +/obj/item/mod/module/surgical_processor + name = "MOD surgical processor module" + desc = "A module using an onboard surgical computer which can be connected to other computers to download and \ + perform advanced surgeries on the go." + icon_state = "surgical_processor" + module_type = MODULE_ACTIVE + complexity = 2 + active_power_cost = DEFAULT_CHARGE_DRAIN + device = /obj/item/surgical_processor/mod + incompatible_modules = list(/obj/item/mod/module/surgical_processor) + cooldown_time = 0.5 SECONDS + +/obj/item/surgical_processor/mod + name = "MOD surgical processor" + +/obj/item/mod/module/surgical_processor/preloaded + desc = "A module using an onboard surgical computer which can be connected to other computers to download and \ + perform advanced surgeries on the go. This one came pre-loaded with some advanced surgeries." + device = /obj/item/surgical_processor/mod/preloaded + +/obj/item/surgical_processor/mod/preloaded + advanced_surgeries = list( + /datum/surgery/advanced/pacify, + /datum/surgery/healing/combo/upgraded/femto, + /datum/surgery/advanced/brainwashing, + /datum/surgery/advanced/bioware/nerve_splicing, + /datum/surgery/advanced/bioware/nerve_grounding, + /datum/surgery/advanced/bioware/vein_threading, + /datum/surgery/advanced/bioware/muscled_veins, + /datum/surgery/advanced/bioware/ligament_hook, + /datum/surgery/advanced/bioware/ligament_reinforcement + ) diff --git a/code/modules/mod/modules/modules_science.dm b/code/modules/mod/modules/modules_science.dm new file mode 100644 index 0000000000..7208210b76 --- /dev/null +++ b/code/modules/mod/modules/modules_science.dm @@ -0,0 +1,135 @@ +//Science modules for MODsuits + +///Reagent Scanner - Lets the user scan reagents. +/obj/item/mod/module/reagent_scanner + name = "MOD reagent scanner module" + desc = "A module based off research-oriented Nanotrasen HUDs, this is capable of scanning the contents of \ + containers and projecting the information in an easy-to-read format on the wearer's display. \ + It cannot detect flavors, so that's up to you." + icon_state = "scanner" + module_type = MODULE_TOGGLE + complexity = 1 + active_power_cost = DEFAULT_CHARGE_DRAIN * 0.2 + incompatible_modules = list(/obj/item/mod/module/reagent_scanner) + cooldown_time = 0.5 SECONDS + +/obj/item/mod/module/reagent_scanner/on_activation() + . = ..() + if(!.) + return + ADD_TRAIT(mod.wearer, TRAIT_REAGENT_SCANNER, MOD_TRAIT) + +/obj/item/mod/module/reagent_scanner/on_deactivation(display_message = TRUE, deleting = FALSE) + . = ..() + if(!.) + return + REMOVE_TRAIT(mod.wearer, TRAIT_REAGENT_SCANNER, MOD_TRAIT) + +/obj/item/mod/module/reagent_scanner/advanced + name = "MOD advanced reagent scanner module" + complexity = 0 + removable = FALSE + var/explosion_detection_dist = 21 + var/had_research_scanner = FALSE + +/obj/item/mod/module/reagent_scanner/advanced/on_activation() + . = ..() + if(!.) + return + had_research_scanner = mod.wearer.research_scanner + mod.wearer.research_scanner = TRUE + RegisterSignal(SSdcs, COMSIG_GLOB_EXPLOSION, .proc/sense_explosion) + +/obj/item/mod/module/reagent_scanner/advanced/on_deactivation(display_message = TRUE, deleting = FALSE) + . = ..() + if(!.) + return + mod.wearer.research_scanner = had_research_scanner + had_research_scanner = FALSE + UnregisterSignal(SSdcs, COMSIG_GLOB_EXPLOSION) + +/obj/item/mod/module/reagent_scanner/advanced/proc/sense_explosion(datum/source, turf/epicenter, + devastation_range, heavy_impact_range, light_impact_range, took, orig_dev_range, orig_heavy_range, orig_light_range) + SIGNAL_HANDLER + var/turf/wearer_turf = get_turf(mod.wearer) + if(wearer_turf.z == epicenter.z) + return + if(get_dist(epicenter, wearer_turf) > explosion_detection_dist) + return + to_chat(mod.wearer, span_notice("Explosion detected! Epicenter: [devastation_range], Outer: [heavy_impact_range], Shock: [light_impact_range]")) + +///Anti-Gravity - Makes the user weightless. +/obj/item/mod/module/anomaly_locked/antigrav + name = "MOD anti-gravity module" + desc = "A module that uses a gravitational core to make the user completely weightless." + icon_state = "antigrav" + module_type = MODULE_TOGGLE + complexity = 3 + active_power_cost = DEFAULT_CHARGE_DRAIN * 0.7 + incompatible_modules = list(/obj/item/mod/module/anomaly_locked) + cooldown_time = 0.5 SECONDS + accepted_anomalies = list(/obj/item/assembly/signaler/anomaly/grav) + +/obj/item/mod/module/anomaly_locked/antigrav/on_activation() + . = ..() + if(!.) + return + if(mod.wearer.has_gravity()) + new /obj/effect/temp_visual/mook_dust(get_turf(src)) + mod.wearer.AddElement(/datum/element/forced_gravity, 0) + mod.wearer.update_gravity(mod.wearer.has_gravity()) + playsound(src, 'sound/effects/gravhit.ogg', 50) + +/obj/item/mod/module/anomaly_locked/antigrav/on_deactivation(display_message = TRUE, deleting = FALSE) + . = ..() + if(!.) + return + mod.wearer.RemoveElement(/datum/element/forced_gravity, 0) + mod.wearer.update_gravity(mod.wearer.has_gravity()) + if(deleting) + return + if(mod.wearer.has_gravity()) + new /obj/effect/temp_visual/mook_dust(get_turf(src)) + playsound(src, 'sound/effects/gravhit.ogg', 50) + +/obj/item/mod/module/anomaly_locked/antigrav/prebuilt + prebuilt = TRUE + +///Teleporter - Lets the user teleport to a nearby location. +/obj/item/mod/module/anomaly_locked/teleporter + name = "MOD teleporter module" + desc = "A module that uses a bluespace core to let the user transport their particles elsewhere." + icon_state = "teleporter" + module_type = MODULE_ACTIVE + complexity = 3 + use_power_cost = DEFAULT_CHARGE_DRAIN * 5 + cooldown_time = 5 SECONDS + accepted_anomalies = list(/obj/item/assembly/signaler/anomaly/bluespace) + /// Time it takes to teleport + var/teleport_time = 3 SECONDS + +/obj/item/mod/module/anomaly_locked/teleporter/on_select_use(atom/target) + . = ..() + if(!.) + return + var/turf/open/target_turf = get_turf(target) + if(!istype(target_turf) || is_blocked_turf(target_turf) || !(target_turf in view(mod.wearer))) + balloon_alert(mod.wearer, "invalid target!") + return + balloon_alert(mod.wearer, "teleporting...") + var/matrix/pre_matrix = matrix() + pre_matrix.Scale(4, 0.25) + var/matrix/post_matrix = matrix() + post_matrix.Scale(0.25, 4) + animate(mod.wearer, teleport_time, color = COLOR_CYAN, transform = pre_matrix.Multiply(mod.wearer.transform), easing = SINE_EASING|EASE_OUT) + if(!do_after(mod.wearer, teleport_time, target = mod)) + balloon_alert(mod.wearer, "interrupted!") + animate(mod.wearer, teleport_time*0.1, color = null, transform = post_matrix.Multiply(mod.wearer.transform), easing = SINE_EASING|EASE_IN) + return + animate(mod.wearer, teleport_time*0.1, color = null, transform = post_matrix.Multiply(mod.wearer.transform), easing = SINE_EASING|EASE_IN) + if(!do_teleport(mod.wearer, target_turf, asoundin = 'sound/effects/phasein.ogg')) + return + drain_power(use_power_cost) + +/obj/item/mod/module/anomaly_locked/teleporter/prebuilt + prebuilt = TRUE diff --git a/code/modules/mod/modules/modules_security.dm b/code/modules/mod/modules/modules_security.dm new file mode 100644 index 0000000000..098abf8015 --- /dev/null +++ b/code/modules/mod/modules/modules_security.dm @@ -0,0 +1,207 @@ +//Security modules for MODsuits + +///Cloaking - Lowers the user's visibility, can be interrupted by being touched or attacked. +/obj/item/mod/module/stealth + name = "MOD prototype cloaking module" + desc = "A complete retrofitting of the suit, this is a form of visual concealment tech employing esoteric technology \ + to bend light around the user, as well as mimetic materials to make the surface of the suit match the \ + surroundings based off sensor data. For some reason, this tech is rarely seen." + icon_state = "cloak" + module_type = MODULE_TOGGLE + complexity = 4 + active_power_cost = DEFAULT_CHARGE_DRAIN * 2 + use_power_cost = DEFAULT_CHARGE_DRAIN * 10 + incompatible_modules = list(/obj/item/mod/module/stealth) + cooldown_time = 5 SECONDS + /// Whether or not the cloak turns off on bumping. + var/bumpoff = TRUE + /// The alpha applied when the cloak is on. + var/stealth_alpha = 50 + +/obj/item/mod/module/stealth/on_activation() + . = ..() + if(!.) + return + if(bumpoff) + RegisterSignal(mod.wearer, COMSIG_LIVING_MOB_BUMP, .proc/unstealth) + RegisterSignal(mod.wearer, COMSIG_HUMAN_MELEE_UNARMED_ATTACK, .proc/on_unarmed_attack) + RegisterSignal(mod.wearer, COMSIG_ATOM_BULLET_ACT, .proc/on_bullet_act) + RegisterSignal(mod.wearer, list(COMSIG_MOB_ITEM_ATTACK, COMSIG_PARENT_ATTACKBY, COMSIG_ATOM_ATTACK_HAND, COMSIG_ATOM_HULK_ATTACK, COMSIG_ATOM_ATTACK_PAW), .proc/unstealth) + animate(mod.wearer, alpha = stealth_alpha, time = 1.5 SECONDS) + drain_power(use_power_cost) + +/obj/item/mod/module/stealth/on_deactivation(display_message = TRUE, deleting = FALSE) + . = ..() + if(!.) + return + if(bumpoff) + UnregisterSignal(mod.wearer, COMSIG_LIVING_MOB_BUMP) + UnregisterSignal(mod.wearer, list(COMSIG_HUMAN_MELEE_UNARMED_ATTACK, COMSIG_MOB_ITEM_ATTACK, COMSIG_PARENT_ATTACKBY, COMSIG_ATOM_ATTACK_HAND, COMSIG_ATOM_BULLET_ACT, COMSIG_ATOM_HULK_ATTACK, COMSIG_ATOM_ATTACK_PAW)) + animate(mod.wearer, alpha = 255, time = 1.5 SECONDS) + +/obj/item/mod/module/stealth/proc/unstealth(datum/source) + SIGNAL_HANDLER + + to_chat(mod.wearer, span_warning("[src] gets discharged from contact!")) + do_sparks(2, TRUE, src) + drain_power(use_power_cost) + on_deactivation(display_message = TRUE, deleting = FALSE) + +/obj/item/mod/module/stealth/proc/on_unarmed_attack(datum/source, atom/target) + SIGNAL_HANDLER + + if(!isliving(target)) + return + unstealth(source) + +/obj/item/mod/module/stealth/proc/on_bullet_act(datum/source, obj/item/projectile/projectile) + SIGNAL_HANDLER + + if(projectile.nodamage) + return + unstealth(source) + +///Magnetic Harness - Automatically puts guns in your suit storage when you drop them. +/obj/item/mod/module/magnetic_harness + name = "MOD magnetic harness module" + desc = "Based off old TerraGov harness kits, this magnetic harness automatically attaches dropped guns back to the wearer." + icon_state = "mag_harness" + complexity = 2 + use_power_cost = DEFAULT_CHARGE_DRAIN + incompatible_modules = list(/obj/item/mod/module/magnetic_harness) + /// Time before we activate the magnet. + var/magnet_delay = 0.8 SECONDS + /// The typecache of all guns we allow. + var/static/list/guns_typecache + /// The guns already allowed by the modsuit chestplate. + var/list/already_allowed_guns = list() + +/obj/item/mod/module/magnetic_harness/Initialize(mapload) + . = ..() + if(!guns_typecache) + guns_typecache = typecacheof(list(/obj/item/gun/ballistic, /obj/item/gun/energy, /obj/item/gun/grenadelauncher, /obj/item/gun/chem, /obj/item/gun/syringe)) + +/obj/item/mod/module/magnetic_harness/on_install() + already_allowed_guns = guns_typecache & mod.chestplate.allowed + mod.chestplate.allowed |= guns_typecache + +/obj/item/mod/module/magnetic_harness/on_uninstall(deleting = FALSE) + if(deleting) + return + mod.chestplate.allowed -= (guns_typecache - already_allowed_guns) + +/obj/item/mod/module/magnetic_harness/on_suit_activation() + RegisterSignal(mod.wearer, COMSIG_MOB_UNEQUIPPED_ITEM, .proc/check_dropped_item) + +/obj/item/mod/module/magnetic_harness/on_suit_deactivation(deleting = FALSE) + UnregisterSignal(mod.wearer, COMSIG_MOB_UNEQUIPPED_ITEM) + +/obj/item/mod/module/magnetic_harness/proc/check_dropped_item(datum/source, obj/item/dropped_item, force, new_location) + SIGNAL_HANDLER + + if(!is_type_in_typecache(dropped_item, guns_typecache)) + return + if(new_location != get_turf(src)) + return + addtimer(CALLBACK(src, .proc/pick_up_item, dropped_item), magnet_delay) + +/obj/item/mod/module/magnetic_harness/proc/pick_up_item(obj/item/item) + if(!isturf(item.loc) || !item.Adjacent(mod.wearer)) + return + if(!mod.wearer.equip_to_slot_if_possible(item, ITEM_SLOT_SUITSTORE, qdel_on_fail = FALSE, disable_warning = TRUE)) + return + playsound(src, 'sound/items/modsuit/magnetic_harness.ogg', 50, TRUE) + balloon_alert(mod.wearer, "[item] reattached") + drain_power(use_power_cost) + +///Pepper Shoulders + +///Holster - Instantly holsters any not huge gun. +/obj/item/mod/module/holster + name = "MOD holster module" + desc = "Based off typical storage compartments, this system allows the suit to holster a \ + standard firearm across its surface and allow for extremely quick retrieval. \ + While some users prefer the chest, others the forearm for quick deployment, \ + some law enforcement prefer the holster to extend from the thigh." + icon_state = "holster" + module_type = MODULE_USABLE + complexity = 2 + incompatible_modules = list(/obj/item/mod/module/holster) + cooldown_time = 0.5 SECONDS + allowed_inactive = TRUE + /// Gun we have holstered. + var/obj/item/gun/holstered + +/obj/item/mod/module/holster/on_use() + . = ..() + if(!.) + return + if(!holstered) + var/obj/item/gun/holding = mod.wearer.get_active_held_item() + if(!holding) + balloon_alert(mod.wearer, "nothing to holster!") + return + if(!istype(holding) || holding.w_class > WEIGHT_CLASS_BULKY) + balloon_alert(mod.wearer, "it doesn't fit!") + return + if(mod.wearer.transferItemToLoc(holding, src, force = FALSE, silent = TRUE)) + holstered = holding + balloon_alert(mod.wearer, "weapon holstered") + playsound(src, 'sound/weapons/revolverempty.ogg', 100, TRUE) + else if(mod.wearer.put_in_active_hand(holstered, forced = FALSE, ignore_animation = TRUE)) + balloon_alert(mod.wearer, "weapon drawn") + playsound(src, 'sound/weapons/revolverempty.ogg', 100, TRUE) + else + balloon_alert(mod.wearer, "holster full!") + +/obj/item/mod/module/holster/on_uninstall(deleting = FALSE) + if(holstered) + holstered.forceMove(drop_location()) + +/obj/item/mod/module/holster/Exited(atom/movable/gone, direction) + . = ..() + if(gone == holstered) + holstered = null + +/obj/item/mod/module/holster/Destroy() + QDEL_NULL(holstered) + return ..() + +///Megaphone - Lets you speak loud. +/obj/item/mod/module/megaphone + name = "MOD megaphone module" + desc = "A microchip megaphone linked to a MODsuit, for very important purposes, like: loudness." + icon_state = "megaphone" + module_type = MODULE_TOGGLE + complexity = 1 + use_power_cost = DEFAULT_CHARGE_DRAIN * 0.5 + incompatible_modules = list(/obj/item/mod/module/megaphone) + cooldown_time = 0.5 SECONDS + /// List of spans we add to the speaker. + var/list/voicespan = list(SPAN_COMMAND) + +/obj/item/mod/module/megaphone/on_activation() + . = ..() + if(!.) + return + RegisterSignal(mod.wearer, COMSIG_MOB_SAY, .proc/handle_speech) + +/obj/item/mod/module/megaphone/on_deactivation(display_message = TRUE, deleting = FALSE) + . = ..() + if(!.) + return + UnregisterSignal(mod.wearer, COMSIG_MOB_SAY) + +/obj/item/mod/module/megaphone/proc/handle_speech(datum/source, list/speech_args) + SIGNAL_HANDLER + + speech_args[SPEECH_SPANS] |= voicespan + drain_power(use_power_cost) + +///Criminal Capture + +///Mirage grenade dispenser + +///Projectile Dampener + +///Active Sonar diff --git a/code/modules/mod/modules/modules_service.dm b/code/modules/mod/modules/modules_service.dm new file mode 100644 index 0000000000..85ebfea132 --- /dev/null +++ b/code/modules/mod/modules/modules_service.dm @@ -0,0 +1,66 @@ +//Service modules for MODsuits + +///Bike Horn - Plays a bike horn sound. +/obj/item/mod/module/bikehorn + name = "MOD bike horn module" + desc = "A shoulder-mounted piece of heavy sonic artillery, this module uses the finest femto-manipulator technology to \ + precisely deliver an almost lethal squeeze to... a bike horn, producing a significantly memorable sound." + icon_state = "bikehorn" + module_type = MODULE_USABLE + complexity = 1 + use_power_cost = DEFAULT_CHARGE_DRAIN + incompatible_modules = list(/obj/item/mod/module/bikehorn) + cooldown_time = 1 SECONDS + +/obj/item/mod/module/bikehorn/on_use() + . = ..() + if(!.) + return + playsound(src, 'sound/items/bikehorn.ogg', 100, FALSE) + drain_power(use_power_cost) + +///Microwave Beam - Microwaves items instantly. +/obj/item/mod/module/microwave_beam + name = "MOD microwave beam module" + desc = "An oddly domestic device, this module is installed into the user's palm, \ + hooking up with culinary scanners located in the helmet to blast food with precise microwave radiation, \ + allowing them to cook food from a distance, with the greatest of ease. Not recommended for use against grapes." + icon_state = "microwave_beam" + module_type = MODULE_ACTIVE + complexity = 2 + use_power_cost = DEFAULT_CHARGE_DRAIN * 5 + incompatible_modules = list(/obj/item/mod/module/microwave_beam) + cooldown_time = 10 SECONDS + var/obj/machinery/microwave/microwave + +/obj/item/mod/module/microwave_beam/Initialize(mapload) + microwave = new() + . = ..() + +/obj/item/mod/module/microwave_beam/Destroy() + QDEL_NULL(microwave) + . = ..() + +/obj/item/mod/module/microwave_beam/on_select_use(atom/target) + . = ..() + if(!.) + return + if(!isitem(target)) + return + if(!isturf(target.loc)) + balloon_alert(mod.wearer, "must be on the floor!") + return + var/obj/item/microwave_target = target + var/turf/microwave_target_loc = target.loc + var/datum/effect_system/spark_spread/spark_effect = new() + spark_effect.set_up(2, 1, mod.wearer) + spark_effect.start() + mod.wearer.Beam(target,icon_state="lightning[rand(1,12)]", time = 5) + if(microwave_target.microwave_act(microwave)) + playsound(src, 'sound/machines/microwave/microwave-end.ogg', 50, FALSE) + else + balloon_alert(mod.wearer, "can't be microwaved!") + var/datum/effect_system/spark_spread/spark_effect_two = new() + spark_effect_two.set_up(2, 1, microwave_target_loc) + spark_effect_two.start() + drain_power(use_power_cost) diff --git a/code/modules/mod/modules/modules_supply.dm b/code/modules/mod/modules/modules_supply.dm new file mode 100644 index 0000000000..e3c70fa570 --- /dev/null +++ b/code/modules/mod/modules/modules_supply.dm @@ -0,0 +1,229 @@ +//Supply modules for MODsuits + +///Internal GPS - Extends a GPS you can use. +/obj/item/mod/module/gps + name = "MOD internal GPS module" + desc = "This module uses common Nanotrasen technology to calculate the user's position anywhere in space, \ + down to the exact coordinates. This information is fed to a central database viewable from the device itself, \ + though using it to help people is up to you." + icon_state = "gps" + module_type = MODULE_USABLE + complexity = 1 + use_power_cost = DEFAULT_CHARGE_DRAIN * 0.2 + incompatible_modules = list(/obj/item/mod/module/gps) + cooldown_time = 0.5 SECONDS + allowed_inactive = TRUE + +/obj/item/mod/module/gps/Initialize(mapload) + . = ..() + AddComponent(/datum/component/gps/item, "MOD0", state = GLOB.deep_inventory_state, overlay_state = FALSE) + +/obj/item/mod/module/gps/on_use() + . = ..() + if(!.) + return + attack_self(mod.wearer) + +///Hydraulic Clamp - Lets you pick up and drop crates. +/obj/item/mod/module/clamp + name = "MOD hydraulic clamp module" + desc = "A series of actuators installed into both arms of the suit, boasting a lifting capacity of almost a ton. \ + However, this design has been locked by Nanotrasen to be primarily utilized for lifting various crates. \ + A lot of people would say that loading cargo is a dull job, but you could not disagree more." + icon_state = "clamp" + module_type = MODULE_ACTIVE + complexity = 3 + use_power_cost = DEFAULT_CHARGE_DRAIN + incompatible_modules = list(/obj/item/mod/module/clamp) + cooldown_time = 0.5 SECONDS + overlay_state_inactive = "module_clamp" + overlay_state_active = "module_clamp_on" + /// Time it takes to load a crate. + var/load_time = 3 SECONDS + /// The max amount of crates you can carry. + var/max_crates = 3 + /// The crates stored in the module. + var/list/stored_crates = list() + +/obj/item/mod/module/clamp/on_select_use(atom/target) + . = ..() + if(!.) + return + if(!mod.wearer.Adjacent(target)) + return + if(istype(target, /obj/structure/closet) || istype(target, /obj/structure/bigDelivery)) + var/atom/movable/picked_crate = target + if(!check_crate_pickup(picked_crate)) + return + playsound(src, 'sound/mecha/hydraulic.ogg', 25, TRUE) + if(!do_after(mod.wearer, load_time, target = target)) + balloon_alert(mod.wearer, "interrupted!") + return + if(!check_crate_pickup(picked_crate)) + return + stored_crates += picked_crate + picked_crate.forceMove(src) + balloon_alert(mod.wearer, "picked up [picked_crate]") + drain_power(use_power_cost) + else if(length(stored_crates)) + var/turf/target_turf = get_turf(target) + if(is_blocked_turf(target_turf)) + return + playsound(src, 'sound/mecha/hydraulic.ogg', 25, TRUE) + if(!do_after(mod.wearer, load_time, target = target)) + balloon_alert(mod.wearer, "interrupted!") + return + if(is_blocked_turf(target_turf)) + return + var/atom/movable/dropped_crate = pop(stored_crates) + dropped_crate.forceMove(target_turf) + balloon_alert(mod.wearer, "dropped [dropped_crate]") + drain_power(use_power_cost) + else + balloon_alert(mod.wearer, "invalid target!") + +/obj/item/mod/module/clamp/on_suit_deactivation(deleting = FALSE) + if(deleting) + return + for(var/atom/movable/crate as anything in stored_crates) + crate.forceMove(drop_location()) + stored_crates -= crate + +/obj/item/mod/module/clamp/proc/check_crate_pickup(atom/movable/target) + if(length(stored_crates) >= max_crates) + balloon_alert(mod.wearer, "too many crates!") + return FALSE + for(var/mob/living/mob in target.GetAllContents()) + if(mob.mob_size < MOB_SIZE_HUMAN) + continue + balloon_alert(mod.wearer, "crate too heavy!") + return FALSE + return TRUE + +/obj/item/mod/module/clamp/loader + name = "MOD loader hydraulic clamp module" + icon_state = "clamp_loader" + complexity = 0 + removable = FALSE + overlay_state_inactive = null + overlay_state_active = "module_clamp_loader" + load_time = 1 SECONDS + max_crates = 5 + use_mod_colors = TRUE + +///Drill - Lets you dig through rock and basalt. +/obj/item/mod/module/drill // TODO: Would be cooler with a built-in drill, but meh + name = "MOD pickaxe/drill storage module" + desc = "Provides a convenient storage compartment for pickaxes and drills." + icon_state = "drill" + complexity = 2 + incompatible_modules = list(/obj/item/mod/module/drill) + cooldown_time = 0.5 SECONDS + allowed_inactive = TRUE + module_type = MODULE_USABLE + /// Pickaxe we have stored. + var/obj/item/pickaxe/stored + +/obj/item/mod/module/drill/on_use() + . = ..() + if(!.) + return + if(!stored) + var/obj/item/pickaxe/holding = mod.wearer.get_active_held_item() + if(!holding) + balloon_alert(mod.wearer, "nothing to store!") + return + if(!istype(holding)) + balloon_alert(mod.wearer, "it doesn't fit!") + return + if(mod.wearer.transferItemToLoc(holding, src, force = FALSE, silent = TRUE)) + stored = holding + balloon_alert(mod.wearer, "mining instrument stored") + playsound(src, 'sound/weapons/revolverempty.ogg', 100, TRUE) + else if(mod.wearer.put_in_active_hand(stored, forced = FALSE, ignore_animation = TRUE)) + balloon_alert(mod.wearer, "mining instrument retrieved") + playsound(src, 'sound/weapons/revolverempty.ogg', 100, TRUE) + else + balloon_alert(mod.wearer, "mining instrument storage full!") + +/obj/item/mod/module/drill/on_uninstall(deleting = FALSE) + if(stored) + stored.forceMove(drop_location()) + +/obj/item/mod/module/drill/Exited(atom/movable/gone, direction) + . = ..() + if(gone == stored) + stored = null + +/obj/item/mod/module/drill/Destroy() + QDEL_NULL(stored) + return ..() + +/obj/item/mod/module/orebag // TODO + name = "MOD mining satchel storage module" + desc = "Provides a convenient storage department for a mining satchel." + icon_state = "ore" + module_type = MODULE_USABLE + complexity = 1 + use_power_cost = DEFAULT_CHARGE_DRAIN * 0.2 + incompatible_modules = list(/obj/item/mod/module/orebag) + cooldown_time = 0.5 SECONDS + allowed_inactive = TRUE + /// Pickaxe we have stored. + var/obj/item/storage/bag/ore/stored + +/obj/item/mod/module/orebag/on_use() + . = ..() + if(!.) + return + if(!stored) + var/obj/item/storage/bag/ore/holding = mod.wearer.get_active_held_item() + if(!holding) + balloon_alert(mod.wearer, "nothing to store!") + return + if(!istype(holding)) + balloon_alert(mod.wearer, "it doesn't fit!") + return + if(mod.wearer.transferItemToLoc(holding, src, force = FALSE, silent = TRUE)) + stored = holding + balloon_alert(mod.wearer, "mining satchel stored") + playsound(src, 'sound/weapons/revolverempty.ogg', 100, TRUE) + RegisterSignal(mod.wearer, COMSIG_MOVABLE_MOVED, .proc/Pickup_ores) + else if(mod.wearer.put_in_active_hand(stored, forced = FALSE, ignore_animation = TRUE)) + UnregisterSignal(mod.wearer, COMSIG_MOVABLE_MOVED) + balloon_alert(mod.wearer, "mining satchel retrieved") + playsound(src, 'sound/weapons/revolverempty.ogg', 100, TRUE) + else + balloon_alert(mod.wearer, "mining satchel storage full!") + +/obj/item/mod/module/orebag/on_uninstall(deleting = FALSE) + if(stored) + UnregisterSignal(mod.wearer, COMSIG_MOVABLE_MOVED) + stored.forceMove(drop_location()) + +/obj/item/mod/module/orebag/on_equip() + if(stored) + RegisterSignal(mod.wearer, COMSIG_MOVABLE_MOVED, .proc/Pickup_ores) + +/obj/item/mod/module/orebag/on_unequip() + if(stored) + UnregisterSignal(mod.wearer, COMSIG_MOVABLE_MOVED) + +/obj/item/mod/module/orebag/Exited(atom/movable/gone, direction) + . = ..() + if(gone == stored) + UnregisterSignal(mod.wearer, COMSIG_MOVABLE_MOVED) + stored = null + +/obj/item/mod/module/orebag/Destroy() + if(stored) + UnregisterSignal(mod.wearer, COMSIG_MOVABLE_MOVED) + QDEL_NULL(stored) + return ..() + +/obj/item/mod/module/orebag/proc/Pickup_ores() + if(stored) + stored.Pickup_ores(mod.wearer) + +// Ash accretion looks cool, but can't be arsed to implement +// Same with sphere transformation diff --git a/code/modules/mod/modules/modules_visor.dm b/code/modules/mod/modules/modules_visor.dm new file mode 100644 index 0000000000..0e44900a46 --- /dev/null +++ b/code/modules/mod/modules/modules_visor.dm @@ -0,0 +1,91 @@ +//Visor modules for MODsuits + +///Base Visor - Adds a specific HUD and traits to you. +/obj/item/mod/module/visor + name = "MOD visor module" + desc = "A heads-up display installed into the visor of the suit. They say these also let you see behind you." + module_type = MODULE_TOGGLE + complexity = 2 + active_power_cost = DEFAULT_CHARGE_DRAIN * 0.3 + incompatible_modules = list(/obj/item/mod/module/visor) + cooldown_time = 0.5 SECONDS + /// The HUD type given by the visor. + var/hud_type + /// The traits given by the visor. + var/list/visor_traits = list() + +/obj/item/mod/module/visor/on_activation() + . = ..() + if(!.) + return + if(hud_type) + var/datum/atom_hud/hud = GLOB.huds[hud_type] + hud.add_hud_to(mod.wearer) + for(var/trait in visor_traits) + ADD_TRAIT(mod.wearer, trait, MOD_TRAIT) + mod.wearer.update_sight() + +/obj/item/mod/module/visor/on_deactivation(display_message = TRUE, deleting = FALSE) + . = ..() + if(!.) + return + if(hud_type) + var/datum/atom_hud/hud = GLOB.huds[hud_type] + hud.remove_hud_from(mod.wearer) + for(var/trait in visor_traits) + REMOVE_TRAIT(mod.wearer, trait, MOD_TRAIT) + mod.wearer.update_sight() + +//Medical Visor - Gives you a medical HUD. +/obj/item/mod/module/visor/medhud + name = "MOD medical visor module" + desc = "A heads-up display installed into the visor of the suit. This cross-references suit sensor data with a modern \ + biological scanning suite, allowing the user to visualize the current health of organic lifeforms, as well as \ + access data such as patient files in a convenient readout. They say these also let you see behind you." + icon_state = "medhud_visor" + hud_type = DATA_HUD_MEDICAL_ADVANCED + +//Diagnostic Visor - Gives you a diagnostic HUD. +/obj/item/mod/module/visor/diaghud + name = "MOD diagnostic visor module" + desc = "A heads-up display installed into the visor of the suit. This uses a series of advanced sensors to access data \ + from advanced machinery, exosuits, and other devices, allowing the user to visualize current power levels \ + and integrity of such. They say these also let you see behind you." + icon_state = "diaghud_visor" + hud_type = DATA_HUD_DIAGNOSTIC_ADVANCED + +//Security Visor - Gives you a security HUD. +/obj/item/mod/module/visor/sechud + name = "MOD security visor module" + desc = "A heads-up display installed into the visor of the suit. This module is a heavily-retrofitted targeting system, \ + plugged into various criminal databases to be able to view arrest records, command simple security-oriented robots, \ + and generally know who to shoot. They say these also let you see behind you." + icon_state = "sechud_visor" + hud_type = DATA_HUD_SECURITY_ADVANCED + +//Meson Visor - Gives you meson vision. +/obj/item/mod/module/visor/meson + name = "MOD meson visor module" + desc = "A heads-up display installed into the visor of the suit. This module is based off well-loved meson scanner \ + technology, used by construction workers and miners across the galaxy to see basic structural and terrain layouts \ + through walls, regardless of lighting conditions. They say these also let you see behind you." + icon_state = "meson_visor" + visor_traits = list(TRAIT_MESON_VISION) + +//Thermal Visor - Gives you thermal vision. +/obj/item/mod/module/visor/thermal + name = "MOD thermal visor module" + desc = "A heads-up display installed into the visor of the suit. This uses a small IR scanner to detect and identify \ + the thermal radiation output of objects near the user. While it can detect the heat output of even something as \ + small as a rodent, it still produces irritating red overlay. They say these also let you see behind you." + icon_state = "thermal_visor" + visor_traits = list(TRAIT_THERMAL_VISION) + +//Night Visor - Gives you night vision. +/obj/item/mod/module/visor/night + name = "MOD night visor module" + desc = "A heads-up display installed into the visor of the suit. Typical for both civilian and military applications, \ + this allows the user to perceive their surroundings while in complete darkness, enhancing the view by tenfold; \ + yet brightening everything into a spooky green glow. They say these also let you see behind you." + icon_state = "night_visor" + visor_traits = list(TRAIT_TRUE_NIGHT_VISION) diff --git a/code/modules/projectiles/projectile.dm b/code/modules/projectiles/projectile.dm index 6c6733627f..0aee51bb84 100644 --- a/code/modules/projectiles/projectile.dm +++ b/code/modules/projectiles/projectile.dm @@ -69,6 +69,8 @@ var/projectile_piercing = NONE /// number of times we've pierced something. Incremented BEFORE bullet_act and on_hit proc! var/pierces = 0 + /// If objects are below this layer, we pass through them + var/hit_threshhold = PROJECTILE_HIT_THRESHHOLD_LAYER /// "leftover" pixels for Range() calculation as pixel_move() was moved to simulated semi-pixel movement and Range() is in tiles. var/pixels_range_leftover = 0 /// "leftover" tick pixels and stuff yeah, so we don't round off things and introducing tracing inaccuracy. @@ -519,7 +521,7 @@ if(!isliving(target)) if(isturf(target)) // non dense turfs return FALSE - if(target.layer < PROJECTILE_HIT_THRESHHOLD_LAYER) + if(target.layer < hit_threshhold) return FALSE else if(!direct_target) // non dense objects do not get hit unless specifically clicked return FALSE diff --git a/code/modules/reagents/chemistry/holder.dm b/code/modules/reagents/chemistry/holder.dm index d233866f80..77d713047a 100644 --- a/code/modules/reagents/chemistry/holder.dm +++ b/code/modules/reagents/chemistry/holder.dm @@ -890,6 +890,7 @@ R.reaction_turf(A, R.volume * volume_modifier, show_message, from_gas) if("OBJ") R.reaction_obj(A, R.volume * volume_modifier, show_message) + SEND_SIGNAL(A, COMSIG_ATOM_EXPOSE_REAGENTS, cached_reagents, src, method, volume_modifier, show_message, from_gas) /datum/reagents/proc/holder_full() if(total_volume >= maximum_volume) diff --git a/code/modules/research/designs/mod_designs.dm b/code/modules/research/designs/mod_designs.dm new file mode 100644 index 0000000000..8ceadeb8fb --- /dev/null +++ b/code/modules/research/designs/mod_designs.dm @@ -0,0 +1,372 @@ +//MODsuit construction + +/datum/design/mod_shell + name = "MOD Shell" + desc = "A 'Nakamura Engineering' designed shell for a Modular Suit." + id = "mod_shell" + build_type = MECHFAB + materials = list(/datum/material/iron = 10000, /datum/material/plasma = 5000) + construction_time = 25 SECONDS + build_path = /obj/item/mod/construction/shell + category = list("MODsuit Chassis") + +/datum/design/mod_helmet + name = "MOD Helmet" + desc = "A 'Nakamura Engineering' designed helmet for a Modular Suit." + id = "mod_helmet" + build_type = MECHFAB + materials = list(/datum/material/iron = 5000) + construction_time = 10 SECONDS + build_path = /obj/item/mod/construction/helmet + category = list("MODsuit Chassis") + +/datum/design/mod_chestplate + name = "MOD Chestplate" + desc = "A 'Nakamura Engineering' designed chestplate for a Modular Suit." + id = "mod_chestplate" + build_type = MECHFAB + materials = list(/datum/material/iron = 5000) + construction_time = 10 SECONDS + build_path = /obj/item/mod/construction/chestplate + category = list("MODsuit Chassis") + +/datum/design/mod_gauntlets + name = "MOD Gauntlets" + desc = "'Nakamura Engineering' designed gauntlets for a Modular Suit." + id = "mod_gauntlets" + build_type = MECHFAB + materials = list(/datum/material/iron = 5000) + construction_time = 10 SECONDS + build_path = /obj/item/mod/construction/gauntlets + category = list("MODsuit Chassis") + +/datum/design/mod_boots + name = "MOD Boots" + desc = "'Nakamura Engineering' designed boots for a Modular Suit." + id = "mod_boots" + build_type = MECHFAB + materials = list(/datum/material/iron = 5000) + construction_time = 10 SECONDS + build_path = /obj/item/mod/construction/boots + category = list("MODsuit Chassis") + +/datum/design/mod_plating + name = "MOD External Plating" + desc = "External plating for a MODsuit." + id = "mod_plating_standard" + build_type = PROTOLATHE | MECHFAB + materials = list(/datum/material/iron = 6000, /datum/material/glass = 3000, /datum/material/plasma = 1000) + construction_time = 15 SECONDS + build_path = /obj/item/mod/construction/armor + category = list("MODsuit Chassis", "MODsuit Designs") + departmental_flags = DEPARTMENTAL_FLAG_ALL + research_icon = 'icons/obj/clothing/modsuit/mod_construction.dmi' + research_icon_state = "standard-plating" + +/datum/design/mod_plating/New() + . = ..() + var/obj/item/mod/construction/armor/armor_type = build_path + var/datum/mod_theme/theme = GLOB.mod_themes[initial(armor_type.theme)] + desc = "External plating for a MODsuit. [theme.desc]" + +/datum/design/mod_plating/engineering + name = "MOD Engineering Plating" + id = "mod_plating_engineering" + build_path = /obj/item/mod/construction/armor/engineering + materials = list(/datum/material/iron = 6000, /datum/material/gold = 2000, /datum/material/glass = 1000, /datum/material/plasma = 1000) + departmental_flags = DEPARTMENTAL_FLAG_ENGINEERING + research_icon_state = "engineering-plating" + +/datum/design/mod_plating/atmospheric + name = "MOD Atmospheric Plating" + id = "mod_plating_atmospheric" + build_path = /obj/item/mod/construction/armor/atmospheric + materials = list(/datum/material/iron = 6000, /datum/material/titanium = 2000, /datum/material/glass = 1000, /datum/material/plasma = 1000) + departmental_flags = DEPARTMENTAL_FLAG_ENGINEERING + research_icon_state = "atmospheric-plating" + +/datum/design/mod_plating/mining + name = "MOD Mining Plating" + id = "mod_plating_mining" + build_path = /obj/item/mod/construction/armor/mining + materials = list(/datum/material/iron = 6000, /datum/material/titanium = 2000, /datum/material/glass = 1000, /datum/material/plasma = 1000) + departmental_flags = DEPARTMENTAL_FLAG_CARGO + research_icon_state = "atmospheric-mining" + +/datum/design/mod_plating/medical + name = "MOD Medical Plating" + id = "mod_plating_medical" + build_path = /obj/item/mod/construction/armor/medical + materials = list(/datum/material/iron = 6000, /datum/material/silver = 2000, /datum/material/glass = 1000, /datum/material/plasma = 1000) + departmental_flags = DEPARTMENTAL_FLAG_MEDICAL + research_icon_state = "medical-plating" + +/datum/design/mod_plating/security + name = "MOD Security Plating" + id = "mod_plating_security" + build_path = /obj/item/mod/construction/armor/security + materials = list(/datum/material/iron = 6000, /datum/material/uranium = 2000, /datum/material/glass = 1000, /datum/material/plasma = 1000) + departmental_flags = DEPARTMENTAL_FLAG_SECURITY + research_icon_state = "security-plating" + +/datum/design/mod_plating/cosmohonk + name = "MOD Cosmohonk Plating" + id = "mod_plating_cosmohonk" + build_path = /obj/item/mod/construction/armor/cosmohonk + materials = list(/datum/material/iron = 6000, /datum/material/bananium = 2000, /datum/material/glass = 1000, /datum/material/plasma = 1000) + departmental_flags = DEPARTMENTAL_FLAG_SERVICE + research_icon_state = "cosmohonk-plating" + +/datum/design/mod_paint_kit + name = "MOD Paint Kit" + desc = "A paint kit for Modular Suits." + id = "mod_paint_kit" + build_type = MECHFAB + materials = list(/datum/material/iron = 1000, /datum/material/plastic = 500) + construction_time = 5 SECONDS + build_path = /obj/item/mod/paint + category = list("MODsuit Modules", "MODsuit Designs") + +//MODsuit modules + +/datum/design/module + name = "MOD Module" + build_type = PROTOLATHE | MECHFAB + construction_time = 1 SECONDS + materials = list(/datum/material/iron = 1000, /datum/material/glass = 1000) + build_path = /obj/item/mod/module + category = list("MODsuit Modules", "MODsuit Designs") + departmental_flags = DEPARTMENTAL_FLAG_ALL + +/datum/design/module/New() + . = ..() + var/obj/item/mod/module/module = build_path + desc = "[initial(module.desc)] It uses [initial(module.complexity)] complexity." + +/datum/design/module/mod_storage + name = "Storage Module" + id = "mod_storage" + materials = list(/datum/material/iron = 2500, /datum/material/glass = 500) + build_path = /obj/item/mod/module/storage + +/datum/design/module/mod_visor_medhud + name = "Medical Visor Module" + id = "mod_visor_medhud" + materials = list(/datum/material/silver = 500, /datum/material/glass = 1000) + build_path = /obj/item/mod/module/visor/medhud + departmental_flags = DEPARTMENTAL_FLAG_MEDICAL + +/datum/design/module/mod_visor_diaghud + name = "Diagnostic Visor Module" + id = "mod_visor_diaghud" + materials = list(/datum/material/gold = 500, /datum/material/glass = 1000) + build_path = /obj/item/mod/module/visor/diaghud + departmental_flags = DEPARTMENTAL_FLAG_SCIENCE + +/datum/design/module/mod_visor_sechud + name = "Security Visor Module" + id = "mod_visor_sechud" + materials = list(/datum/material/titanium = 500, /datum/material/glass = 1000) + build_path = /obj/item/mod/module/visor/sechud + departmental_flags = DEPARTMENTAL_FLAG_SECURITY + +/datum/design/module/mod_visor_meson + name = "Meson Visor Module" + id = "mod_visor_meson" + materials = list(/datum/material/uranium = 500, /datum/material/glass = 1000) + build_path = /obj/item/mod/module/visor/meson + departmental_flags = DEPARTMENTAL_FLAG_ENGINEERING + +/datum/design/module/mod_visor_welding + name = "Welding Protection Module" + id = "mod_welding" + materials = list(/datum/material/iron = 500, /datum/material/glass = 1000) + build_path = /obj/item/mod/module/welding + departmental_flags = DEPARTMENTAL_FLAG_ENGINEERING + +/datum/design/module/mod_t_ray + name = "T-Ray Scanner Module" + id = "mod_t_ray" + materials = list(/datum/material/iron = 500, /datum/material/glass = 1000) + build_path = /obj/item/mod/module/t_ray + departmental_flags = DEPARTMENTAL_FLAG_ENGINEERING + +/datum/design/module/mod_health_analyzer + name = "Health Analyzer Module" + id = "mod_health_analyzer" + materials = list(/datum/material/iron = 500, /datum/material/glass = 1000) + build_path = /obj/item/mod/module/health_analyzer + departmental_flags = DEPARTMENTAL_FLAG_MEDICAL + +/datum/design/module/mod_stealth + name = "Cloak Module" + id = "mod_stealth" + materials = list(/datum/material/iron = 1000, /datum/material/bluespace = 500) + build_path = /obj/item/mod/module/stealth + departmental_flags = DEPARTMENTAL_FLAG_SECURITY + +/datum/design/module/mod_jetpack + name = "Ion Jetpack Module" + id = "mod_jetpack" + materials = list(/datum/material/iron = 1500, /datum/material/plasma = 1000) + build_path = /obj/item/mod/module/jetpack + departmental_flags = DEPARTMENTAL_FLAG_ENGINEERING + +/datum/design/module/mod_magboot + name = "Magnetic Stabilizator Module" + id = "mod_magboot" + materials = list(/datum/material/iron = 1000, /datum/material/gold = 500) + build_path = /obj/item/mod/module/magboot + departmental_flags = DEPARTMENTAL_FLAG_ENGINEERING + +/datum/design/module/mod_mag_harness + name = "Magnetic Harness Module" + id = "mod_mag_harness" + materials = list(/datum/material/iron = 1500, /datum/material/silver = 500) + build_path = /obj/item/mod/module/magnetic_harness + departmental_flags = DEPARTMENTAL_FLAG_SECURITY + +/datum/design/module/mod_tether + name = "Emergency Tether Module" + id = "mod_tether" + materials = list(/datum/material/iron = 1000, /datum/material/silver = 500) + build_path = /obj/item/mod/module/tether + departmental_flags = DEPARTMENTAL_FLAG_ENGINEERING + +/datum/design/module/mod_mouthhole + name = "Eating Apparatus Module" + id = "mod_mouthhole" + materials = list(/datum/material/iron = 1500) + build_path = /obj/item/mod/module/mouthhole + +/datum/design/module/mod_rad_protection + name = "Radiation Protection Module" + id = "mod_rad_protection" + materials = list(/datum/material/iron = 1000, /datum/material/uranium = 1000) + build_path = /obj/item/mod/module/rad_protection + departmental_flags = DEPARTMENTAL_FLAG_ENGINEERING + +/datum/design/module/mod_emp_shield + name = "EMP Shield Module" + id = "mod_emp_shield" + materials = list(/datum/material/iron = 1000, /datum/material/plasma = 1000) + build_path = /obj/item/mod/module/emp_shield + departmental_flags = DEPARTMENTAL_FLAG_SCIENCE + +/datum/design/module/mod_flashlight + name = "Flashlight Module" + id = "mod_flashlight" + materials = list(/datum/material/iron = 500, /datum/material/glass = 1000) + build_path = /obj/item/mod/module/flashlight + +/datum/design/module/mod_reagent_scanner + name = "Reagent Scanner Module" + id = "mod_reagent_scanner" + materials = list(/datum/material/glass = 1000) + build_path = /obj/item/mod/module/reagent_scanner + departmental_flags = DEPARTMENTAL_FLAG_MEDICAL | DEPARTMENTAL_FLAG_SCIENCE + +/datum/design/module/mod_gps + name = "Internal GPS Module" + id = "mod_gps" + materials = list(/datum/material/iron = 500, /datum/material/glass = 500) + build_path = /obj/item/mod/module/gps + departmental_flags = DEPARTMENTAL_FLAG_SCIENCE | DEPARTMENTAL_FLAG_ENGINEERING | DEPARTMENTAL_FLAG_CARGO + +/datum/design/module/mod_constructor + name = "Constructor Module" + id = "mod_constructor" + materials = list(/datum/material/iron = 1000, /datum/material/titanium = 500) + build_path = /obj/item/mod/module/constructor + departmental_flags = DEPARTMENTAL_FLAG_ENGINEERING + +/datum/design/module/mod_quick_carry + name = "Quick Carry Module" + id = "mod_quick_carry" + materials = list(/datum/material/iron = 1000, /datum/material/titanium = 500) + build_path = /obj/item/mod/module/quick_carry + departmental_flags = DEPARTMENTAL_FLAG_MEDICAL + +/datum/design/module/mod_bikehorn + name = "Bike Horn Module" + id = "mod_bikehorn" + materials = list(/datum/material/plastic = 500, /datum/material/iron = 500) + build_path = /obj/item/mod/module/bikehorn + departmental_flags = DEPARTMENTAL_FLAG_SERVICE + +/datum/design/module/mod_microwave_beam + name = "Microwave Beam Module" + id = "mod_microwave_beam" + materials = list(/datum/material/iron = 1000, /datum/material/uranium = 500) + build_path = /obj/item/mod/module/microwave_beam + departmental_flags = DEPARTMENTAL_FLAG_SERVICE + +/datum/design/module/mod_clamp + name = "Crate Clamp Module" + id = "mod_clamp" + materials = list(/datum/material/iron = 2000) + build_path = /obj/item/mod/module/clamp + departmental_flags = DEPARTMENTAL_FLAG_CARGO + +/datum/design/module/mod_drill + name = "Drill Module" + id = "mod_drill" + materials = list(/datum/material/silver = 1000, /datum/material/iron = 2000) + build_path = /obj/item/mod/module/drill + departmental_flags = DEPARTMENTAL_FLAG_CARGO + +/datum/design/module/mod_orebag + name = "Ore Bag Module" + id = "mod_orebag" + materials = list(/datum/material/iron = 1500) + build_path = /obj/item/mod/module/orebag + departmental_flags = DEPARTMENTAL_FLAG_CARGO + +/datum/design/module/mod_dna_lock + name = "DNA Lock Module" + id = "mod_dna_lock" + materials = list(/datum/material/diamond = 500, /datum/material/glass = 1000) + build_path = /obj/item/mod/module/dna_lock + +/datum/design/module/mister_atmos + name = "Resin Mister Module" + id = "mod_mister_atmos" + materials = list(/datum/material/glass = 1000, /datum/material/titanium = 1500) + build_path = /obj/item/mod/module/mister/atmos + departmental_flags = DEPARTMENTAL_FLAG_ENGINEERING + +/datum/design/module/mod_holster + name = "Holster Module" + id = "mod_holster" + materials = list(/datum/material/iron = 1500, /datum/material/glass = 500) + build_path = /obj/item/mod/module/holster + departmental_flags = DEPARTMENTAL_FLAG_SECURITY + +/datum/design/module/surgicalprocessor + name = "Surgical Processor Module" + id = "mod_surgicalprocessor" + materials = list(/datum/material/titanium = 250, /datum/material/glass = 1000, /datum/material/silver = 1500) + build_path = /obj/item/mod/module/surgical_processor + departmental_flags = DEPARTMENTAL_FLAG_MEDICAL + +/datum/design/module/defibrillator + name = "Defibrillator Module" + id = "mod_defib" + materials = list(/datum/material/titanium = 250, /datum/material/diamond = 1000, /datum/material/silver = 1500) + build_path = /obj/item/mod/module/defibrillator + departmental_flags = DEPARTMENTAL_FLAG_MEDICAL + +//MODsuit anomalock modules +/datum/design/module/mod_antigrav + name = "Anti-Gravity Module" + id = "mod_antigrav" + materials = list(/datum/material/iron = 2500, /datum/material/glass = 2000, /datum/material/uranium = 2000) + build_path = /obj/item/mod/module/anomaly_locked/antigrav + departmental_flags = DEPARTMENTAL_FLAG_SCIENCE + +/datum/design/module/mod_teleporter + name = "Teleporter Module" + id = "mod_teleporter" + materials = list(/datum/material/iron = 2500, /datum/material/glass = 2000, /datum/material/bluespace = 2000) + build_path = /obj/item/mod/module/anomaly_locked/teleporter + departmental_flags = DEPARTMENTAL_FLAG_SCIENCE diff --git a/code/modules/research/machinery/protolathe.dm b/code/modules/research/machinery/protolathe.dm index 684f27ccad..4057503e09 100644 --- a/code/modules/research/machinery/protolathe.dm +++ b/code/modules/research/machinery/protolathe.dm @@ -15,7 +15,8 @@ "Weapons", "Ammo", "Firing Pins", - "Computer Parts" + "Computer Parts", + "MODsuit Designs" ) production_animation = "protolathe_n" allowed_buildtypes = PROTOLATHE diff --git a/code/modules/research/machinery/techfab.dm b/code/modules/research/machinery/techfab.dm index f93560ed10..110b6c037c 100644 --- a/code/modules/research/machinery/techfab.dm +++ b/code/modules/research/machinery/techfab.dm @@ -26,7 +26,8 @@ "Subspace Telecomms", "Research Machinery", "Misc. Machinery", - "Computer Parts" + "Computer Parts", + "MODsuit Designs" ) console_link = FALSE production_animation = "protolathe_n" diff --git a/code/modules/research/techweb/nodes/mod_nodes.dm b/code/modules/research/techweb/nodes/mod_nodes.dm new file mode 100644 index 0000000000..9cad736db0 --- /dev/null +++ b/code/modules/research/techweb/nodes/mod_nodes.dm @@ -0,0 +1,124 @@ +/datum/techweb_node/mod_basic + id = "mod" + starting_node = TRUE + display_name = "Basic Modular Suits" + description = "Specialized back mounted power suits with various different modules." + design_ids = list( + "mod_shell", + "mod_helmet", + "mod_chestplate", + "mod_gauntlets", + "mod_boots", + "mod_plating_standard", + "mod_storage", + "mod_welding", + "mod_mouthhole", + "mod_flashlight", + ) + +/datum/techweb_node/mod_advanced + id = "mod_advanced" + display_name = "Advanced Modular Suits" + description = "More advanced modules, to improve modular suits." + prereq_ids = list("mod", "robotics") + design_ids = list( + "mod_plating_mining", + "mod_visor_diaghud", + "mod_gps", + "mod_reagent_scanner", + "mod_clamp", + "mod_drill", + "mod_orebag", + ) + research_costs = list(TECHWEB_POINT_TYPE_GENERIC = 2500) + +/datum/techweb_node/mod_engineering + id = "mod_engineering" + display_name = "Engineering Modular Suits" + description = "Engineering suits, for powered engineers." + prereq_ids = list("mod_advanced", "engineering") + design_ids = list( + "mod_plating_engineering", + "mod_visor_meson", + "mod_t_ray", + "mod_magboot", + "mod_tether", + "mod_constructor", + "mod_mister_atmos", + ) + research_costs = list(TECHWEB_POINT_TYPE_GENERIC = 2500) + +/datum/techweb_node/mod_advanced_engineering + id = "mod_advanced_engineering" + display_name = "Advanced Engineering Modular Suits" + description = "Advanced Engineering suits, for advanced powered engineers." + prereq_ids = list("mod_engineering", "adv_engi") + design_ids = list( + "mod_plating_atmospheric", + "mod_jetpack", + "mod_rad_protection", + "mod_emp_shield", + ) + research_costs = list(TECHWEB_POINT_TYPE_GENERIC = 3500) + +/datum/techweb_node/mod_medical + id = "mod_medical" + display_name = "Medical Modular Suits" + description = "Medical suits for quick rescue purposes." + prereq_ids = list("mod_advanced", "biotech") + design_ids = list( + "mod_plating_medical", + "mod_visor_medhud", + "mod_health_analyzer", + "mod_quick_carry", + "mod_dna_lock", + ) + research_costs = list(TECHWEB_POINT_TYPE_GENERIC = 2500) + +/datum/techweb_node/mod_advanced_medical + id = "mod_advanced_medical" + display_name = "Advanced Medical Modular Suits" + description = "Advanced medical suits for quicker rescue purposes." + prereq_ids = list("mod_medical", "adv_biotech") + design_ids = list( + "mod_defib", + "mod_surgicalprocessor", + ) + research_costs = list(TECHWEB_POINT_TYPE_GENERIC = 3500) + +/datum/techweb_node/mod_security + id = "mod_security" + display_name = "Security Modular Suits" + description = "Security suits for space crime handling." + prereq_ids = list("mod_advanced", "sec_basic") + design_ids = list( + "mod_plating_security", + "mod_visor_sechud", + "mod_stealth", + "mod_mag_harness", + "mod_holster", + ) + research_costs = list(TECHWEB_POINT_TYPE_GENERIC = 2500) + +/datum/techweb_node/mod_entertainment + id = "mod_entertainment" + display_name = "Entertainment Modular Suits" + description = "Powered suits for protection against low-humor environments." + prereq_ids = list("mod_advanced", "clown") + design_ids = list( + "mod_plating_cosmohonk", + "mod_bikehorn", + "mod_microwave_beam", + ) + research_costs = list(TECHWEB_POINT_TYPE_GENERIC = 2500) + +/datum/techweb_node/mod_anomaly + id = "mod_anomaly" + display_name = "Anomalock Modular Suits" + description = "Modules for modular suits that require anomaly cores to function." + prereq_ids = list("mod_advanced", "anomaly_research") + design_ids = list( + "mod_antigrav", + "mod_teleporter", + ) + research_costs = list(TECHWEB_POINT_TYPE_GENERIC = 2500) diff --git a/code/modules/surgery/surgery.dm b/code/modules/surgery/surgery.dm index a4eafc4b01..9e39ec58e8 100644 --- a/code/modules/surgery/surgery.dm +++ b/code/modules/surgery/surgery.dm @@ -68,6 +68,15 @@ var/obj/item/surgical_processor/SP = locate() in R.module.modules if(SP) advanced_surgeries |= SP.advanced_surgeries + else + var/obj/item/surgical_processor/SP + for(var/obj/item/surgical_processor/processor in user.held_items) + SP = processor + break + if(!SP) + SP = locate(/obj/item/surgical_processor) in get_turf(user) + if(SP) + advanced_surgeries |= SP.advanced_surgeries var/turf/T = get_turf(patient) var/obj/structure/table/optable/table = locate(/obj/structure/table/optable, T) diff --git a/code/modules/vehicles/mecha/_mecha.dm b/code/modules/vehicles/mecha/_mecha.dm index de5628dc05..f4ffda302e 100644 --- a/code/modules/vehicles/mecha/_mecha.dm +++ b/code/modules/vehicles/mecha/_mecha.dm @@ -817,7 +817,7 @@ mecha_flags &= ~SILICON_PILOT AI.forceMove(card) card.AI = AI - AI.controlled_mech = null + AI.controlled_equipment = null AI.remote_control = null to_chat(AI, "You have been downloaded to a mobile storage device. Wireless connection offline.") to_chat(user, "Transfer successful: [AI.name] ([rand(1000,9999)].exe) removed from [name] and stored within local memory.") @@ -856,7 +856,7 @@ mecha_flags |= SILICON_PILOT moved_inside(AI) AI.cancel_camera() - AI.controlled_mech = src + AI.controlled_equipment = src AI.remote_control = src AI.mobility_flags = ALL //Much easier than adding AI checks! Be sure to set this back to 0 if you decide to allow an AI to leave a mech somehow. if(interaction == AI_MECH_HACK) @@ -1083,7 +1083,7 @@ AI.linked_core = null return to_chat(AI, "Returning to core...") - AI.controlled_mech = null + AI.controlled_equipment = null AI.remote_control = null mob_container = AI newloc = get_turf(AI.linked_core) diff --git a/code/modules/vehicles/mecha/mech_fabricator.dm b/code/modules/vehicles/mecha/mech_fabricator.dm index bbbfa7f1bd..29cc88a563 100644 --- a/code/modules/vehicles/mecha/mech_fabricator.dm +++ b/code/modules/vehicles/mecha/mech_fabricator.dm @@ -57,6 +57,8 @@ "Exosuit Equipment", "Exosuit Ammunition", "Cyborg Upgrade Modules", + "MODsuit Chassis", + "MODsuit Modules", "Cybernetics", "Implants", "Control Interfaces", diff --git a/code/modules/vehicles/mecha/mecha_wreckage.dm b/code/modules/vehicles/mecha/mecha_wreckage.dm index b9f299731a..70c543fbde 100644 --- a/code/modules/vehicles/mecha/mecha_wreckage.dm +++ b/code/modules/vehicles/mecha/mecha_wreckage.dm @@ -35,7 +35,7 @@ AI.death() //The damage is not enough to kill the AI, but to be 'corrupted files' in need of repair. AI.forceMove(src) //Put the dead AI inside the wreckage for recovery add_overlay(mutable_appearance('icons/obj/projectiles.dmi', "green_laser")) //Overlay for the recovery beacon - AI.controlled_mech = null + AI.controlled_equipment = null AI.remote_control = null /obj/structure/mecha_wreckage/Destroy() diff --git a/icons/mob/actions/actions_mod.dmi b/icons/mob/actions/actions_mod.dmi new file mode 100644 index 0000000000000000000000000000000000000000..84fcbc00dbbc38bf7ab1276ea01f8a6c9bc2ce3d GIT binary patch literal 3408 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 literal 0 HcmV?d00001 diff --git a/icons/mob/clothing/modsuit/mod_clothing.dmi b/icons/mob/clothing/modsuit/mod_clothing.dmi new file mode 100644 index 0000000000000000000000000000000000000000..f8dba0a00660f745613af152e3fdf3ca71e5b8a3 GIT binary patch literal 133028 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 S}Of6FP|FGz=VE$Fud&Ntn!G`c< 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�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 Dwxu^< literal 0 HcmV?d00001 diff --git a/icons/mob/clothing/modsuit/mod_clothing_anthro.dmi b/icons/mob/clothing/modsuit/mod_clothing_anthro.dmi new file mode 100644 index 0000000000000000000000000000000000000000..a18800875ca7ebc0b16851c86061615741e9cd15 GIT binary patch literal 117855 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�M)pP6*%XLcc5Zd zn!6k&@`ffq$6OBt21(GZD)XMm$&dMcfN ze~?3#Kg={7N<1t$_Sv2z(38Ulc=e!1mGf=a+0xCEJ&p}lT`uPcj@m0D>0xUu@@Fi1 zXR~@|qz%AIPYGSX&m=rlb%iI~z4#Ff{KwrO<9Gg@dLMTvRSdO37F&R!T5G7k2tKjq zEx?1XgO6`TpUhI;{_*(L=2VP|U6}d9CDn!iLZp=c)N|7u31mnf$%?nlh>%aYXzo2l>06@g(7S}Da;}V3 zZ-(T@Iq(OzOs}vy{22*VHP=}?fz%~z8~!_r5>z6!#fY88XTn#cH~Wx`s9VxGCj%rr%+&Ct5iN*C#VUq2MZhw;Y%r zmo4yU!QbQ1e@>#?D!)tWH85BIb9cBT?g^q)*@$cy&AGG-mbu6N|BCjw;jYc}@YM8v z{Ak-OpIZYe(AhEjrxh; zV(}+H%7Pbfa!&f5DbW!x4^3_d3&O1%j9B1j13YK{&2Tz8LBAS{L`FclgZ*bG@qZiX aXDse`S)0&5@M71Xn?S1R+$>hT7y4i5(T~^w literal 0 HcmV?d00001 diff --git a/icons/mob/clothing/modsuit/mod_modules.dmi b/icons/mob/clothing/modsuit/mod_modules.dmi new file mode 100644 index 0000000000000000000000000000000000000000..1001ae77d2d6587ed77d841c90ef354b7b0d9cc6 GIT binary patch literal 14775 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 literal 0 HcmV?d00001 diff --git a/icons/obj/clothing/modsuit/mod_clothing.dmi b/icons/obj/clothing/modsuit/mod_clothing.dmi new file mode 100644 index 0000000000000000000000000000000000000000..41ebc1a2ba8204c281f2dd90043fb02b8977d72d GIT binary patch literal 77817 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 literal 0 HcmV?d00001 diff --git a/icons/obj/clothing/modsuit/mod_modules.dmi b/icons/obj/clothing/modsuit/mod_modules.dmi new file mode 100644 index 0000000000000000000000000000000000000000..037e7fe69634af68cdcaa8fa45a80a23deb22746 GIT binary patch literal 52753 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

y_IAJyFy0(>3<>g&B`B3I&LQ0>$I5 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%0Dv0LL+EA%k4@>s9{Mv-RCto}g!@eb|NtCBKxt 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 E4>yQmL;wH) literal 6737 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 literal 0 HcmV?d00001 diff --git a/sound/items/modsuit/ballin.ogg b/sound/items/modsuit/ballin.ogg new file mode 100644 index 0000000000..e69de29bb2 diff --git a/sound/items/modsuit/ballout.ogg b/sound/items/modsuit/ballout.ogg new file mode 100644 index 0000000000000000000000000000000000000000..f911f1a6a61dfc1d74745d695f7c90a0fc83eb7c GIT binary patch literal 9842 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 UQzIgcpB}BhJOfy?7sBAb06=9^kN^Mx literal 0 HcmV?d00001 diff --git a/sound/items/modsuit/flamethrower.ogg b/sound/items/modsuit/flamethrower.ogg new file mode 100644 index 0000000000000000000000000000000000000000..447245d50b6e59fd0646e2fc93712cdfacb6a92e GIT binary patch literal 49116 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 D+@;;L literal 0 HcmV?d00001 diff --git a/sound/items/modsuit/inflate_bloon.ogg b/sound/items/modsuit/inflate_bloon.ogg new file mode 100644 index 0000000000000000000000000000000000000000..9b030d66ced74423bf5d4190b2dad7424d52f9e6 GIT binary patch literal 16773 zcmeIZWmsIzwm-PhKyVEZG&q6a?(WvmxVvkB;1FDc2PZf*?iM5=Sa1mL!JXjFGp0kFWo693)a$TJz^L|p?z3ghnRVq)$3 z%z%|Bf4%@fKm*L*Ycq`Uv*mxMXUk^^%@`RMmgv*}OfTU6X$cLgpkVB7!O8QEo9i7b z3(K>SThayx62e+*#|{<%_%iEF?BA^t`OO*nbt0yjD=DC=yBVItveK&?e6{aj+z>7ABOpLmrGF)|?(x&I?th z;*?PdLgd{c4*t$a7y0oAOEZ2jJSScB#|@VLUqL8h;psuLoYzFbmZBf<|LKEDR3B}Bmtyhvoh2LMbFRop&j z;(>VLff`~IBs6UV0Du9Ipn5Wq1v0T4G6_`L3Dke{Rs@7`u=a0e`)e)(04l1elFqm< z{@R%V0MZwp$U?2iLaWH_@K~ha&~jKH007{j-EfGj2}mbNjH-iY8toVUBkQJ^6aF=a zVu(3mZBdFC&H_h>_}356+X%plWcd;BUmyn%$f4&USMaW6u7A-+PnWCVCCQX&@Jz^v zY~kI`bR8Mk%48jZQhAx$sOeC>?aUuvv|s*1(bjm5r87M9oJV$zGO>E06itO^TzX6c zltQSmj!l=Zfl@Lpo}di*XP)bGQ-6!So?YThoabsudrL~jSPzs^?%iF^#QblSzj}W` zhK^SRGc?9{ksfJc+lpKY%Y=w+SM+L!1(_%)Q*3X1$EqNS4~aV286-#h58$wX2ogmI zE=cCT3X^b(Py&~q^u=F3$}yCd(Kd8S$|-PzpeNIQnTlr*0Md~ z-A)gx*U+)8XaLF47bbyT{>6_RioF;jp;?^jbIT^-^u?JjFBwYyfs_2%H2|P|N<5B5 z^6&hIcod6T6&sqFCfPVA)g-}g<})d7+D*Q?vmyFdzDv-2?Pjc%Vy^u^@;^g|KIr7o z$^Oqk=z9rVhj@3Wk}&^km{5lTPPo#4=bLOTmHY(N@C2js8HX~CpenB9BnNmLPhXYW zUX{yyl2c!eOCPLZubE=6+vv9N*?i&3cjZ5_{)@ju#0CJq1WNjZH}nbXJh4==B3Atj zfC%FA6B+rNE_R(Kfl4-k+B(6~Go>UgeK#$e0rFP`z_KBG(A%}OQd!ZDw zEl4$GzyqO!pw0^cFwi?UI z$OMPTnE*8Zs}X2NCjwX}5?KGLGmgS>jKc}2LRXLfb^5>eRSoS+0&7g*Kl*}pBryK} z#<>31H~arL@c(rLFri!BD)ehaflE~T1_;LioMf=6kQ3mC;bc+}6oZPsalj;)i%x#A zW>Ne%7F1Ay=p=b0APW_YafHA5wW3pmk1JM61rT!r>XHBbwrAdCqF6v048168JbzPoBsH52Cm=)w;Rr~&|D zPYt6Yj$}fCbvkV%mF%Q|GOl&{wr95W_cMX#Vdq(;V@j%WD5e%!Ll{^T!FbSkW%U{M zprRkYfsoL0ct8vmAdWQAPT%s(rj0BrP5-AA$#D)vHLz?#k!LnESh7wpg48l9o(Vi} zQR-lD$iLVS$R4yKWn8E>c*@4$tD7Zwxq9_0`qLL-&%{R0-k}&Q_O+q8si`o zb#!8AupIp*F`6N&dOR2fLnN2tEo=ZC0CW));i~;)p`j?iBfF}KyuGKUi!knaZeIR4jL&b$kBHJ1CQU%& zBOCxw|BH5h{}w!@=wG-&FaT<-=`-9=q*AEFP3|)EYGk(VfhEN)^~Qg�LbHda7A0>w;k#?5>#C6KYL@?gFe08Zdv z0AFBVYe@6Z6QMA2m{C9Pmm&l~anO+598>HiMQ{=b3Hnt0$MnYrWS~<%x@P)0pqdu3 zgceXLVCZl4-v#Jd`tR!hBZ>(coc)c^{-ZzuZoxdjweV~;-*?$@EhDH$VFIAjy^Elb zz!g=DzEB+r>Vfy_I#D%Z;jG(K1;2FcdR#|D=_rz?O&GIX(Z%TLdo)Z{>4QNaIi^Of zD7oDH1dv?ClvXrrX~DEkR7I~zv@Cu7FP$h>d`dgT(uP@^vKj(YTLz|j0@LUoBttVh zrlNTpv|c1iT}GxU9b1-Of+gLk!p8I{R-x;85F_if9sqa*!2uEq5u@l3!N3{Vo15_P~KmPA}RWL_WV8nfaIXOzf>G(?_U(A9DUZa z#q$w~zA)&o6jP3_umJa8C#KSZq-P2w1|2QbQGfNQ3!oA1GY=^j>O4965U5#U5_HJ) zh1hb))WO&wdip|KIV1|G5Xw`RL(UDxhEC3B?4b?F(L=pU%mWRM2}EfL!T84c$gfEM zSyjxSF;89+h@MIE(JY zfgX`5nLwfh5X^{v`mOIMb;c$MM5=G^H_m1~+nO zy8wU&oIr0-55U42A2K$xvU7U>!6zU%JUR}#KtdBC-~&CmQj17PaJUi>61^rSAtfWH zctc4AUB>@8gOdjU@bLdcRL?6oJpA87HoSA`Uwh#Bkp0Z(@Uz*~5|nTGC@#)PI8sJ$5gk7HbEs zjK|9Bhb&i{<2w>>`vcZ&0KTvJ!Wu2{E8b|JKF&dpvrxoi-m&?GWQxHACpqbYvSbU)`B9S=Le&MJ` zu*7CF(qq7#<=XbA?lTzN0DpciQ-)sCUM62rz0;(qi;%8@)WVLxj!Y=Z$EG4Wo0Jr? z2!l)11;G0)_D%`Z8MaI*z`P$};%Htfc&!wtKtE?ZvI%!!oo27298@UtR9D01&kUNcgCr^~LB+|zVtaNF=#AB{+ zlHWESgDO+<(W;?Hx4yXpYk#oku5S zo?_HHqysMK_k_&9owrME|6wUz!wjk;Kn&GU#F0mga`w>U$lfc{?WR+?a7!%HUW&}K zfZYs6JAcDu4;MbfDYaBVErZArqTfCi^(EWN94!ht`OlB6Y{ChTCQ^Q93SVaaXx|(M zRYNZvoiaC6g1(iu#E4E?*X#S5Tcw<^cHT6!tV~*u%h5a0!~L_2;|sB;%TLn{(rcd* z$l>9g!dTEZgvpKDyf4N{CN~fPT%XTqsne*nQY+>FYAv}yNqJn>u>oy6BIP*}e1Bta zg{ZCMqwC^=&9O3F_(l~ZZgpK+X#wL-ew&}T=)=@^$JwT*l-QFnirAe-o@{(mR&xSi z`FePnD`kp}VnTOIy5nVSF&Bq%?#1a_;BD3Fv}ArU_NW;*wPU(N}qQvAopdEYYc zV4HVkbYRrY_v}iD*RYeudNuzXJzJ&pyPFzpxnl~emc~G=X>vlg1E+%%&+pa+Eppgw zKER$N1+HP;CYn>;D&90{b&OKhXrWhp_fa8jsJt76ka|6krg=nT* z6Ja-&xXZ*a=lY%gni#UJp$cFLJn}Tak(mZXJOnUfr6b$e^&XIqkcJ#N)0s#b24qpb zR+XTqNh)CgC137~=z0^(rOtn1Nb8t)U0^W9_r}y!l~1;2;5U_^g7AsMYc}*Ba3~92 zWO07M3;fxvGTV$g#a1F}S9~WkJkE!g?=5^-$nc*=donM}A`vcXw5*HptCQRO(r|<7+d?_m ziyLjPlNvG2@x;5x0XH1zs(P2B4leZ5cvH*2 zD}L4Sy+@ZS_G3oL_tQ%$c0?!BI|6o*4YyB0HGC{NV_d`w2l0y2ET1TVY&sHD-vkC6 z@4zG0bT#>M3K|`ZB{Z)eFVrwEK!Qg8`u z^5Z06!*R8D?QPPxXIiK+So8_9pLGyinzUez0c#}K#8|~znOzNfS_c~HUDkL`TC73$ zHe58gDVMovrwUYwIN29DneSqhI^5`kXMtvs3DSk)Sikd8nQ(y%RsSoouqtSzpNH9pO0G z+oMeg553E+RT38Q=s3pB5|Yfi9nXZHeQI(=MLn-9@=Cn9xt}BE_!)FRg>hr&x8c)k zT_gYiVu0v1V+TbrqyLLPwQ~YB>_H}&d2j8xQK+3ImkwYZZ?h{Mg{op~j zWsG3DT6qj+(J7S3Z50ltNhxoCfAZ7L16R|-^_q=|$neZCaG65vLJ%8`uQvfwLXvv@ zXd|xPo<%4|5LS9=F88pu&`Xtig}27;v_bKzj0tH-;uhlIsjtNL(sJ6?epxK31jn9z z33M82it_35q^#I;r1&`IB6xC&ffJO&ty9{N9`9ltKJquw5?`hYIZ?&<(YwY83{N?2 zhkKQjq>i_SRDT(ncBf#u9!m&xWLJ3?FPtV$p#fBy)GK=J+r^9TC%hjjk4Be1N!tiU z-{ueLYb$$LdWhu?o!wq?==-rZmELom+^Ms(vpC5_F#6Wq%BZ;iksLzo73*|F1o9`5 z#mHX|d0?(_!^{S#!;4$Nt*{`vu90<^vW#JxAkSSIUXLg1Hj}|2$;0B`IElTRul%ZQ zOwFC13UCLZ$@Mj}Rf){*F3Y*mV-8||W%-4=N=ibHCqz#I0>#1qY#ut=QnCirKuTJ( zS#$c`KCTiAM}=nfgp+Yyi9d^TA+?LLRo1KXi~L@~^>!F!AL5-r7@Em1wTg&y4qi&} zMG{|D6X;9tnPj(XI$Ck(0VAjyB{ruS(APMaC|LBn$-CoZnkG# zeMaoF?}nX^>kUu5j8m_&PD>w^dS0>cRHM}fvc3+&3h1n3Srpmc%;Sd;!d>Gaf4yGW@D}>yIV2Onq!FN;^AeK$eyw%GO2_tV?B?VoFWWsQ zV5u%iYC?+`rwqa{SdruZFrA-kEljbwHBhfE4o)BPlL;w5Q$K#e8c={Fx>u=s&^8K z(eDux2HRg+2dtOf{@de=NBe7Qp`V48-d!m>UJ?jc=G z=d4s?|6N+-Xge5*E+3SqvXHh-{FUC`CoxJmpWxuQA9q4x38KAtmt%aY`E^&z^4a4( zx}Wf1IoYNcGM?1dCirPi9Y^}~knUJ`_I^7ZDa4w`>INbpV;ttwly>ym=e#Dif7KL) zfN8)>LIrK`1F|VKID@iK+zi%OSRgnd#vSdCwv;;CPg5&8XdqaTQ)Re)!2Q%vzknV8 ztLx{Lo^6?RLAu~?ZQ$C`R-!+qf$^pTANbG*>Yu7s7c$@E&Epw zlC9;+wyeM^>e90*4g#~m(l8(?P>l8S?tEO z*GSfx7(ZM+n~5ZD1F?MSkU{fZt({(3VtyJDCnHnif}!A6x*KVrQ7QV`s0-k`Z~;#Y_|Xs3BeIYoRfKH~S)o&PEe9ZR z`Uu@4^p2q)h)VNDVauxz{ZRpD5zYA6UymKu2^_z!G?k^qUZ|!Px+}+cDGOFUi;!FL zt`yLrc!9UK7CBy3ztpI&nC9v-KV8VyS~oB2kC(njoE#m6`8`JMlQWE1THSo;$e#I8 zNO)RRj0m2i4>@~ZG0tiGzPGxj>khq9rC`BhgakJzNEWn)4bKr#Or9p z*VJzP?N=6cHyWtWzvBsxYkvmAnR^JfmgVx@+o66B=*-v<#>0hSy4s#yH~G0ROVZEP zX|(AsT;9zig+K*X1=E9tAMA9o1NuLvDKAL7W0}3p&A20_{N)v|t+oHf`qzvz+vS

%~izd^wc*(FfN)NiM+oO;d$!z=ui4F5y{;?^2+MuMAh932OsbYI>1Ws~}o?tYSzGe7qzW}Lsn5radb zVB+%Mc(V3?D1j~A{T^;w=-kU&FS3$__=Paj5d-f?NoK!6{&AQ~g= z?k$uGv1r9)Er=>(vE$O}(WlGNQ>7`;NWT*{m{aPDVN)vn{4xvmt;$X$X3b8KEMI#5 zn;=Z~nHP)rcm=xelT0}jnOs5(4|}{Sk`>v~ck81|BSwD(G7|Ljj-`8D?iaK7W~7}x z?1p8`NxE5fC`?tIDH}X>XP(O%rB7MXRqXD1@*-ahF8cF0;TK56p%u6(yNMgK`VXW8 ziza}Haj>?fUhv*>&~ZfQPQ3PGN18(1Z9QsQSmjeo$mhn{^PlQ)zBzkxRgEZGo{Ut$ za(NXs^#)cMdquk*@80AEDn`x0$fqCt?e!OI-vgp?mto1P_2qnlZ2DmlwETw}7JRFY zq%GrMfi~6T_}tKutHtS+-hhLes~ti16rx%^v`t7h4@=l1!&jR^^kO~FdGOCEoPrs; z0i)!W-*U)d>aV1jR6-nzhfpPt4T5{{yLW#!mniw4ui(q#y=buQYh~B7!vho-VaXBO zIy+l<>j-<%-|79xs-U9n_%wF8NS&nTKl9@S&@WiE#wc=iD$6m|=GQ`7jIL-ny|E>% zzKy$aX0WrNap#gk%WyMvu$$`&w*t}eK_%y-kPkJz-#mNi3QGVdHv8x>*CYSVI#EYF z1H?RC5tTx;*uB(#TZ6rR-1|af#mmt@WAMd;Sv6H0%RYW(VgoVNK_~_v5mLqoA`wLb zcdAUIK&)*;E|-R+O1KB1fh@^}4{CZxBG$&h*Xx5>4S zR#TXqi~414sD;$VZ6Op`MwF6tIw%}8jPaGd1aUpKPu7{+7oU5yu1oR@CV0ga6aReX zlP6Qg;!VrzcQ#ze;p_d>I(6T)+u5EyDsf-JOP^ zN0T*)Ph7^WF$$c}$Hw^CQE`OA*WyN|V;=Y8nslE9n_f+yVid34j%&_oy&m~w9`e%8 zIPH_^JzQ9y=8e4J41ev2W9VMiy;iM0k4;5vmV^$K`zy3}*kjd4uZ)Fw;$!UG{KtQc zpD^yBA&|GKnvUS=bb0=)c^RW2 ztLg4Dw{VVw!YFeTQ9$T{Eu_jT;r^`jX1no;#5HqaZL#d;dd%%^-zScms(UCNbJt_c zSV6D!EyXM%OZag=P33Kkd2fLE2z* zos_$Z7iL4#n7@aFa=c!i4UeTB4ozDgaf-0%xB^`Kbphl3FF zJw*~@cFshdUGmXpV@jkcag-F&Jh2(XAnS{MS&Z#MEd;X68l+^14rPAzCRy4Q!#~(2 zd#fYGz2!==lLB7`kH4>YGpONVTsb{uA}>z_=A@oeD`X^m<1P2C`gcOY$!qQl1$y_h zRmK#}yEuea8oMvdw64r_FSOuU88UBI-}}O5{dTL@xjEFl@UJNc?j@{D`GOc&j5?8wtU?t{R#xN>E(6a# z@P?HP*5e_bY0MQZXb99tvn;7(?ww?uP)klKn7-}s91cuCLAI88JFzuro4r#lOZFv< zX#Vw5Utd=K)w0lhS`evV%^+?W1ak9$S4nZyw0R|USSgrkpYsU{5RVC>#tb6lVh=#z zL1a+pdCRU<;QMF(0zpO*3BEDr7kpq+34+5g?uO1gHam!J0ANi#%rUqAYh>~e*E`eM z#_d;ZmMVOJ!5U75;ASHGRNwXtdl>ttzQ^@DGXJZz+4U{=k6LlR)tc zO9GjIt4v~}+t)WaiM#>T2y!mJ8qro4+wd&kjj{y<$M~57{-}-B2r|kcU1D7lozZIu zp_@#go0eAv2GrvtH?2+io;u$CwhWQaZU;*2CZE;gEu38`^GUE^tXaiWA?-ON6KWELQ`Es0?-X z8}B|Wl~2#$FTM61;x`FO1yzAZjbrtvP4Y_lSZ9q@stDAx7Y;Np9Li`XWZFn44%Kff zTEOi{m}031h#C?}n7c-hzC0r8EYlCLsSLxaI#tFq>K-VFOa=&Q?GN`Dp&munzRT=W zzDdHDpQ`G@C~*;nV`wIFJ#>Up#&-FN>0kIbVy?^8xBNzZkX_h&I)=|Ynt9JI z);8n^^vy2yEmBiW>N?vw>yCHl4#@*i{cm}MPC-DQK8fsbPY5fb@d6no%nB+SL9~e2 zcVSahEg$Xvly8h_<@g9G7X~=6yt73zPqDj*J#v+O?@BGQ@{^@Z0tC&&tZ!DDi<#`)mMVcW2LIiHMKYf zZEPA0v*b0~Ee!Xgw+7#rMWF7m)b%f}#;h;zjH)(k^sP{?j z?$DEj9|e+&;9+@`M!7@m;5%KVS*84Ry?$xCrYU%P?`Q7T(Nm;EThe#;aIrf%VAxbQ zDlopVamxOHaPm=-k*#+<**Vg((SBmr3ar(db>*8^?U0N1Fw*bT z8a?j83=$?ci(YelSeww(w|d!tJha@09)vym2+5?UHBwSE>Huh8!e zoj-x_jb-SliuOcdFUSl&y!>QiiA%dONoU-DcI_JN+A=!KbMNCDEBwiOwB@+QalNzK zNN9$`Ita6RsIQam%`)i1N3RX$#=A~Swh)%%rYa#@fw&H+E*BxA*sKzJgI#TBd?pUu z+oO<+q+jdk%WSTcsP|vVz&bqcbA}?_2gh~DBK6gc%?A-FjID$-7{BG>CZF1Sj2`Nj zR@VP$?c9U3nEr_(<|D$R?C>gjzOU$8!QVo{#k?%Ar*Qe^R({tg2@;6KmJ_DZ*zlSI zDqyC%sH^MqoECqftZ7I!Upw2M^%sV116gOe8&Adb_Rui=GCDv1tEw#{S$`A?OoD6d5D{|12r^WMC!bHBG>mzhj|jc(#1xNz zX;vDlxwp9fcCOs2OpJr??*t*S`8@?n5Res1qkT@XbJ@apfh|6CKp*dElzeogm9vIW zt2=Msh`^$tvin(x0Zk-=RmOA(A)ULBSG{XKr#F=_olGSL;b4f7+Imy31_I&u%2$yk z)XuQ`Stm0ZOiODKl;3N|N@<_X*Umrxf8%4bBGjA{LzBjjsusW?BUAyF3{;&cK?`N7C`m?<0ia6Sj5myb<&-9L4 zPIWg~8uq;%i$;tgVJ-9lo%UVUjPFD95_}w`5toH1D8ms~V;yB`zmXepu0^?tV*un` zi#`xz{?OT3t%V%rL%)dD`oXqWhn2_Ls1Prw#6ow<-x%%51T}oAB)XJ0mOHFwPsO@* zm?l0v>8xw&W2mHj4WchYMKS~@wv=o{dN+94t=ZprV1Va(K1hhn7n(7L;G3dB-xtgo zp1XDzO?jjx3OQ?;n~H15%4S0<m!6K9qD)Oa~rrE8;geO$5Bn4Gwu$q>CJr}vBEF=25i0J%qgfI zShIf3dd(l)M&cD%c2c`)pa|^F2W6jA#Zyv^|JhG63+yms?2HxsA%sFf^%@_*WJ}OQ zVZT&4sW`kH{1KhTG|+NQD(+%b0uDGNg7@uiCQ3>I1C%$!DNHEF4sp~YfS(-L8Cj!? zr@di*zrdoO$TnucZf?kb;YsUDE7k03uJH9eM{58@!t3F!cu%N3eDj> z%lvh14+~~k#_6F_mdWTWy?L(AtIC*J<8MT$v1Q~Tj8=2uRtRnL zf?pT|ReYF_EJE5s2u2^Q`l7sl8(;_2^S`xp(02G9R&Jg?@;+Rl7*i&A=<)nh>#F&&ZBf?kMK11A1=G#0 z1mAn~_8g(_KyPhLmmyU(y!xE7op$2`H(Q%@caYgYZS`Iwt>Ms_qU~ zqtxD8MjdKyy)O7{arC$5jGwtN-9uwO9^&Fp(Pg5;bleODU{eLLdi^q>MzU?e5D2J|n|C2IY(eYFW3pGkxYWw~W}s&H`EES@|VBC7`4ugx)w)Wzng#bbXs| z{qOD^_*lVedkRf~(T{Lli+PZSrG?K?^ett@aIVrL4Mfao3&nQ=vTy;rq!`<09aEh* z$3BvdBwjO1W@1OBx208!-bRnnWbqX6NQ5UI)t-|aBux%&+d{oJ@urdt)DxhmafPkp zT$`q(rvwJoMdAkwR$$SC4lxP;7i=#mZyl#q_C5W7lFZXw`jvHbSGD=qzyQ=?@;@hVY!`0{C!?&c*Is_Y>gQ(y$><_K}Y_uFbA|Bx_)ViWvA}PM~ulx; zte&A0N3pqi^}WY~$#r(5V4;j$kU6v|c&sPogh$qr8TL?`CYj-pM#Nd;nTbJpP0SF+wdJO3?t z{@y7;CEue@qx04B((en^am5+b#eGzuVQ%TbG< z!dvCPxs@vx2>(Wt%9L0__%OV`6_+?bNBKJVGynpTOIexvdbZCq^~5LW{cy+EFkWOk zzLfHP`p)Rrx_U@za*>ysAXv8}tXio6q=2C|B|W+B6+>QS@LBZBOY*<~NgYHhb9Avr zeoWkCUgv3?a*uT-4@OBJW^SybtU=O|=zMpw#z4JX;2`5>^UyS%|MPBJpT2vqpMP_^ zzFv{%Xccd?@rp&A<>{tBnUR%?7ska9?-G%v&n@S6antC!&$4MrO^^b7_p<#Q^!PH+ z%hzf-RXzxFRaAPjVL6ETQpTf!mk#C|c8BJ}=c2es-8kkvjJ>nU!10eG&L+~diduhO zn5v3s3u4kxG6~_q6oaMlCv6UFY1UQl>h_}p zuixRqK!t6L7^oYgPLd_p7MX@a{lyWoXsAT6{EsAHdIE_Sl_n*l=;fR~+Q}P^w@dSh zSe|OL**X+!s@)vsZe%n)^etjU>B7*aS1xm!sfJaR>p$_e zC{L!jUV3{yJz1U!8+!2$em4H6&^tgzld z!db$Fg&$YQHJM&*^?Yz$o4uEi*ShTp0k%-+AaX4yB3G_Z36&ms; z6yxPDEOri{OH{J+)}rf06*sp>Y)*NmP3Ye3)E~`m<|j*6e(tbc_ow~gLxQHxCf}o@ zNsE^tY;l64FLz(>lgBk9`myy=>%KKnjs=VuD$ZZK*;UQu|FL&j5|sML7hYdl37OGP zcOx>?YN!wyYLk@8*|3Ta!g63_S)jd!lGGjr#ns1NJ2(GUrpwverYdDif}D}-+w&I#m7oNV?wRBCs+`aVPk$C+ zpLEFW_@sj4b(a&*)~|@9HDAU%+vq1mQ^J!PCMi76UWz3y11;+hSB1)a0r<);AB1>cReEA?AXlrF6Gh3 zE0qvt?Z!5?i4cK9L#f47QCXH^v#c6$O29)U`n5+KbXhyDiyAc(cKNWzc;M}NdC010 zgYA;)^R`UaP2wDs_x1&!cTT43HHhBh+wvrwV`rbfaO-V%^I5fHWM&axjU(HPWojqW z0_*_kGD-thS?$}NxfnEjou*d@R;^+bDN${vav0SB#RJuLBs~KBeGMyYyWdGX(1n7i zpQ>6?Le#_tbDdC*!PZZU`zg9)U^!HT+4O>jcaiI0bkVAX!}7?LDr>Y0GkaH}3qkG6 zVwv`>PGRqlS)a5aZk)SbZ-cOvr}G025=j{J8J72|@$(I9%R5yaPNZ$w$0=2xZj_~G zLcg|-2x@PyZAM7C{IIt^S7IyK-Y`OWu^}TkQ)XC(MU`)_SXR+7^~RC?kfTVBIcTR| z13P-=14AzK-B&t!M7dRSo2z0!dz;FmYQ%N(?q+^>8!{y!!fq~jvP&-)a|;^M(A%n& z88bGsN86+0PJy4iEjPWHhL^Xzyobad-!&(ljOY+u&m}WK7GBxKFW)?(5Jkvx9yp9Y zfw7tO8CigEZtBmmiGEjX;_q{hd?;l5*#vfGjghqo2)_m0MedH4CTfo+_GAB6sl9k_ z8W+6EMvxsUwGq900;ZP0jmuJD6kN{(EDRZFn(eu|Zcz>PaObHb2D)4WTM{EmqxxUJ z5;j_i?&h^yQG3I%#J;8`=4qu0ZdZCdo^Ct3HTI`)S;4>QxWfvq6%vqB(!^M(t~e=p z+x^ZpIcZU6h$eYSnWG82v^c@oc7U&)QP8#-Y4FIoVKzucq0J$6kDMq!vILoz?x%%? zm+bP?n>W=#*A9F9k}gG|iwYh;)PD$Uo$~lGS@=F=vtQkNVW$_(xfwn#&V(lV_}$%G zjTC#?mLzU(tX|d$kC^4$6WhB?U>p6hoKOuyOv2I^e!-sW{_cBrWqF|o1 z_8aX=imh^poPmuC+PHKnbKf~KPUzEzJvWfZwADZ%vnnTus>8Q0Xh z_NrR<%51foLKqv_UpU-@_0v3<0PeZ_R)L!w{bEAXOb8OLDo>@=-tvnJw*^x#CyR}$ z5NGGF7kwfgR#h*T|3F^0M_$jO7~P$i!Z8doh0RdX{v`-Wbtu`u*nIVd8{bq zRxB!UD05pC#g11tjI^g9R|3yL$LVt=`{doNwc3;SoKv>ZRjl&uc}EU!&iuvQuYqOl zo2qsgof$(~?^k1vs#C~l$#=SVH)3Zv38*FTk6ec=)f`&r@S$Yi6X7V%XSj^67sOyc zDr2(fOP1mqJiX(s@0^NX%b_Sd19EmNk1E@?z1J8_4AO3=ZQfJJT$XV!5j zp0P>5>Bp^__?1)ir)vW;Ed`{Nei(KNx^iV0PEF z2d!<~n^4{?d@}(egI8mi)!$7z{%U2u1Kqu&yVvY$)7!P-fyaDh(UQ1yvM?j1eWiS} zZ|BC}w|{!fJV>x)HX)a?sB=f4KG~Epy=F&m5zcgT)>5;53*xiO($mUy89&%4)WALl zPjJ{Tj*E+U;intbZef3*c1<-tm|pZFTmkj|kmm?p|IPv)ONbi2ieV zH7dOI_&#IE-egbB|7izq@xIJ(d4>OKZ78h@kq0@hhld|7&9jR6YsF*%1|k*a>M>kK z1dI4l&4c8f?WL4{X#ZIh z8FxE5gHg&CBj%bT0^65`_dkWNj-3o5st`;&;5CexcY9Xs-|Rt{NAV_w&P76P9j;hQ z(AGL!w;#{QZ&#U6-tVV2tL^Epkj@BaR~^25X~l}L_RZ1%Y|~CBAyrUJ@a1Vp7Mf)%mXvFnU8jINODwO~ycd~Xo8t)aUi zcH1Q*eY{ct7C`{u@pZG*1xt@mv2HdEc^uGA8r3~^G>K^3C`%`rjnXsR&7Ra9+PLOP zV{O5jr-t2=c8aFm)2{BEtA1haXK}%McU-c5bo8GG;p;x=$h+9#G{ebu_@(8=Mh#_2 z$Wq_7MF%jlP2gOp?$W7#p;PUTua>-P?i|*1kIW3@_#9bzs;TVAR|>{m(!7Vz(rCPVSXMq+vEz~psiOW{ zX_x8|g|?56{ zFAZ4VMP}q&KN5S25R8<54?p_yB4MfRzp@Vxppt-U>IsNO-=>TMszjE=v9$#7c8yD9V5=p1ZW> zS;slDJ&A*GG0Ots;{2Y6RXf_P`LXpqvwQ&vp;{y(-+&GyPJeP9k+P*v2@_$&C z{a+dD-;x6mp~?Izlf|JD&iSJm8|?_+2>dU}NmM^ys6AH5bn9YzOtUV&;cj}%ol*K1{zGz>M1)~oaF1Vv z`Ja*_Gb~uND$sK&Vg?i$>?+-wQ_)mj^`xnW_+KO^D)(4f?lE!hBXNOYPHA*bMf0he zxbgO9{r}tiZ^>~^Vj>xl9LFT)e@Kp;qiv5!Qy0tQ?YBLyn?ewp?6~Yd2>^gxN^<*p zj(7=7uL>-#3QT={*8Q&~2I;-Z^_bxzh%Es?6M*}54Oez6tA%izp@w@vtox&UVd9R-`2EuM4xDt`Kg%G1rhK3&?mw^) zC~|X09v9Ih|L5tyf#qcZZTb&bJgx`N$K(GT(*IrI|6<^OivfhiA!X!4wX4=OLBUoK zIB<_wM0a_`g~I|~+3eJES6dKLZB!~0X8t7|h=P5?-Kk@v(m;@MRjL#&XGH(oLIm_( zNJkYin7`EVXy9Lbjl9S!ceMt>RAvmyW+pRwkQ>tc-@hCT01PPr7^sc&{{2q1d{qFf zioydB`+{E-0RcE7ph^LNqKI8O|NS!m-&_9+KnOMj;6RO#nxK6FRS*`yD`F{%0)Pj4 zrxs5gS{jU6db{OZeX4>XH(Vc(v0x!V{lYZY>%LWKeRR!eBFk;Yp)dk5f^ryKq)4fH zw5x$|`7N?=Lkl(c`eXy&>Fc-0(n#U7a7v4H} zse5?)1|PmBEPa$yV_4D9+`kF|bor}_LX5kpihnnAJ=Bp?7&(oDmsLE>Sz4jFxm^(% zIm7ipMqb0#L{&62H6xmY_jTaal;CCJrM6~7yP%c^`37GriGZV#dHwAyw9mJ?rmVU7 zX@9%P1%Mb(^Cb}hxP_%!7Yl#|IRxl({F<@GF8p$jzE?n9tBV1|2ro!NTsifmFjYHZ zb%?tiUpHJJFgB_u+8OJY2yFTFbpkV2)A~{YR=1?cwTWIQ5Ex+ryuu3k2=Q6jtr+kI zvG&4>Lno{sG3{JA50CCp)vc!?=1r4&*piJ?T*N`_WT$+kB{y^?2k%h2n2ZFu$>#Xk*(_U72O&@zOY2Ds+9=3U5XlZRjowq)|jHY zZ!Hxzm;b^3uBv}z_8XH zgIY<^Qd?`!ETdRpHlps0lqxdWBOhsDt(-@Jhg1hY>3EwWgJTh1&#3bKFxNerY|+5mat3*{z{lrh!2Ud-pCS%E%BA0jxCA$ol_uAb^l%zRf@iOD1^9 z(%7ZK*JsmG38{X2e(R`503nUvnw9_|)qmFe3aD6M{H=-{zv!jYPtVwNXrp<%4a!;F z%$@gDW)TmKtkBs#8`vUA8h3GNvv<;ZD65-uQPAxXx<$}!$6Z`2)A2^QrYwnZec7Q> zy9;FkQm6?hS;BF)e&Azwo`xLR=>VW9W@>nKURoLnSn>E$6d)>+R-AL>@mA^9%4G@e zRx2wl0k9QMkaNVtbWXLFp>YEm9>!+x1*4O5{L_8#D)i>b;a~+jyd61RsLg{2R#tbj zSKfY=x%{Zi+vh0{fdhaJSU`@idB9-Ql;3;&>JuPPG*W&(6V#@9MtM6FJ_XubPktAUyt?!?{$)3KF zMgNQCmsMYEzSw@T`oj9M=8MZ0JLKbCxBl3evOKf)@S11g&bSp1zi%-0!$m-fboS02 z_>tz^ns)X2R)-LctTOsJg8CZ4V_q-nIPvedD#wX@NE|kr%2C)v+3V^rP&H|ARBp#U(*k)o(Wi7U!%n&N9HH z{Bo_evbgKY)uc@9_CH)_R=#|ixJDo`9l*|~qAF-FKA1YBSr$RqiX;<%YrmN4)QCU03D=1{bWr9{H0x3>p!u*Ht%;tpEPIkn+LEv?4X=dT0F82g!{S&!37ARjcyDRg^Q#AKZCA4G_gvnsV|ot0Mh<)Bwvl7jtxaCywm zN~WIqVz1T?`_|mB$p?}0$e!1}w1dmXVbC$ozY;(Ax}sB)3=o$Delk2XLR6XrKO<$^ zVFx8P;%P^QtPNP~0%UY4>1DYNG~j*-EbyTHnw2F%3}PKczV7#<&tq$-On9qLR>l2* z836?PL|N81EMv+|nn|G*<**9?p4nYyQ7yAvYrGu0IrvGMHff?Unq8Ydn7Nw9;8&^lO9y2%`)zC*=*Y`#qM^|%5C!-bnoLDRMhFx`t1;w&KSuB?nKCOEln!A< zMyySRE!4FA&3s#s80W#wL|Du-vTBvL!~Uo7PX^trg5)PTC!DNaH-t<~6d@9qBiAQv zPsZM>iakTx^`}#mYvi4#naEr3J)@V@qVTj`k&=T;G>F zdz50%;LM)MUP2d_b*?RNIKo6n?Lev4wYWKIIygRGGX3v~w^JzEJe zs?576Lo|AbiX6Q_BIJ=qMsk%h3qySiuT_e!Tqyir*{XCetr1AAe%D<8`_Zl&eXFBr z>HNoKH=LqQL`O;P<{KMxSKekO?eK`d6Ld%H)%Jb!2vdz;gs`dE5yFy;bDB3xMi8sdfo{Fsbj^Q_rBlhQjRfdM&tmZ7og6Dd#byFcWj7;#K5d z@3z#6Ck(sFt7&T-Q_p89XKZ8P(Z@7xBTn?;G^M?0P`BCp z&iB-6jO7n^nrbNq0*gUraA^VJT{zJHz}p_p9$t03@%l{W*nOq511HipPaIMC_{SS@ zPyQg=c6spmQMr4aiH!efs@g!)hcr9a(st}-mFbJ7QjsV8uy5-v^2~=cv+=8i!hkMK z9pYf$wAm2<{fsl5mNd>OzFX^m87$uS-8lZS~pC{Ro+4d=D-Yp{m7S>AZ z{T+9XdGyHOE6Y2vwRVrJCzWrG8)Uq1~bZTAJ*}HoZ7ZAa8yV6WFKK%0S zbawZpOR41+H4G(xn00y;qBAl5>z#_XpKmzzd+xxW9x8rX2CXI;br}Obo*0d{)y&mD z|9Sh@{Ta=a{X-Fln<7?rg`ZJ6zPh(^P6d^^0PA2mHFfnh(Su&h{J-$o=pxetM9(^z z1}zFaQYQmmeYeh4D-X^#va85+kO9<&G!ILa93vk#1H(;4 zPRFVnBK1UI|0v$9^ku)nl)mRi=T21S0ld;E9w^joy}k-B%Do?H%r&$c3Vx8%-F=j$ zfP4wzVL(ZP_X?XlAAWvdIjiNr97R1$jh?xRhDeFL+< zRqas-^F5~J7wGmQ;{rA>gzw~_F1nff%RF^|OFw6GG5@4<16kGJecEYqppb(DQakP5 z*SSnBC6tY|8(R_0J9G%nRX8%@>Hp-C0!}VKcjUf?t4AAzHfQ};-aQsY-A!7sJy8&t zv8TRXBWe>Go*44+ic#Zk91Vcza^7aN9iAyC&yZf$MV?s>L&}=agc)tEpM6iQsYZ`q_F%fHkr=@x`q-BT>zv%vq>l!Y8F_rZ|=Ne zyQ1s1$9kvU%Hb)j$X%rB1>LGbxl;;J+(GvSY=NZ{tELzk#!J%;PeCu z09CREflHPa7YQRy&zD!eolME$Setn4)pUy}3shGRv1413&S#yDToYADHk@Am>SN?3 zk^nbl6l~r2*Naonw7y@f`q0yCcI&bqLiX6oMF!)^#}Y19c=Dxf)6t4UxvGG!sJ2qV z_jY^`!qaPt9mBDKOw<^|gG17Yd!T~hn7X@fJl#O<+Z0u!v4Sxh)i7Kf;?~i+-ON#* zJEU$}$CWU&xM=~F)CeZ?Lfzapu9Y56M!f&*fSgDN2Yn5SjS~6CLtROXcX|*IL9b+5 zj3^nloQt*rOeLPko~4Tha0m?Ov~go69qZ}xGL)sy5$`wPVzlRA{=e}8jnf)W#D)QM@#dtul$ zf@9C6-lK8a6Hgk7uXMxyq%O~T+bFoiR7|VUwR4 z4gL=BOv8`rXa?k&?3PCEbIfne&vke@{d`)0*!2W)?tvJymy^5i)~tzrQWRtPp*?=b zZ?{dc>Z&1lJ9h3Jeec{``}`01>W8-IR$5URoxRUSrcFn5?sFY~@LjXKdZ;hBJcE&9 zXq4W2D}6H3E(8Oj&3!O8ZKs?2yy-F6I&uYDIgg?FA$4_c)Nx|ASXsDnQ>A{ShyOYr z{-UckGgDua#B^vB?hG+SDGAAzP2rx!#!9GnUZaiEimt%G2*MpOIyjr(i34)PiUaCF z5^+Tld-RQgCXja~oGikb1TdHJR#X=ajJu&Na3iksDk>!RbHeV(IuqJ@$5RSeGKoh{ zKht#{$n7l6KGp=UjeWskg0%bi&a-1MVBmnFx2uMteET2j{>kqnmNRej(ow%yY0Q?l zQVn6JCeO=tzW}-UI6ZvV?z7qetcnjazf7gQh>}G4d8b6DMwgNRFS>S_e?@Fj4^vu{ zyZblzY~W4nq>b0UxSox=JX)w~F1Ugrpxz6{`FIyO|FA`i@AKBwy42q3#Tq@k5#Di6 zqp}3Ixdz}eNyA#B)Rz_Ihm?45xG#;;X<}$RWQgW)COy3-Qh{PwM2|Qcel6VBfk!q< zzp{%gawiEJhlgBuW(E~6mnHf=9;8A%DY@B9rYRc6MbVN-iG~N)PEEFkbVf9$9Ueyk z0pOUb^6BsJeA^16u|4v61vvW0p&FY0TtF{jnrAoUb|xx-DW$wJPyrRgB-XFCk8%Tq zvuJ*#c!1cJ%7_$!K?d`oGL6J0i5!@`Dl^Ud>>+%&)>xr>P|q`71-Z2d5LK(9hCkG6 zhS@^=?!|=(PlaOKr={cWXj^yd{$vR&l4@V46e#Ep#~}{*yaS4?F~&Cc&)>OctMc0) zeJe0oPXKBK?fa0(^t~BLL_$4qeLF|4jIdyzdF9zo5VYvotFz)>#PM@T3=h0Ps*TSX zGvlGM0l)N|*cA>2(4^j~-Ly%%DhM9UJ4%N+UPo}@JV)??Z%u?HO-B6UIHk}uput*~ zNCHRmco+qx#E`S^#+t(Qm;ARsfZd1{>uhJ$SljAm48Z+?rrm98dx{&~*lpoRV zp!^b?I~ojXv4T!0?d?_%y6%DO4%4e=V#eqBTf9(@(R|GfFY!2M(rE=7vfF2z-xU!W zxZ~xBhJahLw=woC!!RlU7{w>9wz?KEL(G;$)7uPTCU6@SYZ$-cX<80;ASuuFUP<8L@OWD}{%-`2V3YL8?(s3xR=*?WvCa=2A2v*euDWQ1C=Yr!19GUf z>lmYjYpwJPrWWM>Azq2UJ(!f;^=Fc+a2%D{a)EFDb3w`dfodO{XFn&1QPpqUH+8-U zmw8|_{j}8%pk149?{i+hW{^g?Hs=#ZOAD%wUxsp9vD3>8KO5)&31blW!|Bj5Rqz?b z@S$K8bH<)H-M^6~o}{nWZ%jVaM0_`XmxRHm>#R0WOz%{r@^1UM!HI<=M=GPNApYJ6 zpTd@aBES1J$s3q#wmw9L0nOm$dnfHE^pJbH)*DdjP#v(Ey3R!-O-t=n4wH_Z+%u@D z_VC<$FBS=}!kZvZ)ZM2MGv4X~n2ss-c_%pvX!Z_F%IcyO9NcO&&}FKptrE&xfZS|2 zql57z>IN1MEJwDa9aoSNRsV@F=meF(L36g5aiG2%jPdagZ8QMI~=?OBGckn)>%j5+Uuc#iaUCsq;-K_KU zmke>}SX(B&edbbo(|ZvbfAWv_VIiBlZ87V{dRfrhRIklzVR90={`v^5N88VKxOO0O zC(Vs%zAG(~n$|le;{dweyPnlXi-aJiS9q5esJIe(&WC@u;STCCCTe`XURfb$Utlm} zzj_GN|Ll*9IPXX{1}_8rxJ_MJYGh>wxR{QF3IIV?U^0L#2IRUpUPk-^tCeAR zNU+rKx%!))C9JXd{s{TgNPntAG5Y)aO<~)gtf~qppWJFh;ojx(P2#oTNXfaQMVfRH zH1aYlMIygS0L6nkYhtG5F*OClgX#XVSZIfKgaS=eSl*K#VG@mkt?hqTJsL{`w81Bk zvEmk^9z6d(d7)-wn{$M_8FmD>*m%~pQLT3PdM4}E*^r(V%j73y08AZDC7cK)xIgN4 z>x|~*4^Yl|UZn#uwsKVNsGGUoRcrIW4F#~f50LAB(bMj`spwwx5J1>4bNv}{?D zz{10jj*%U71~O>t8dZg&b{LR(b=?808`D4(u*JZgUb%CYhmQW~+F6(xKX&ut6C{*S zJM087EJm5Hl0BNQ4*vewZSMT0T?9_PYQk;ps+U0@5u05RpKE4fakw-sTvA|@H=6x@ zo;ozHpSp;+)=W{f{?Ab{nAd|}nuYQ$@r!W-(ZBS62(!A@xltq8(_r62)`pX(_8fEQ z++{8CNp~E~jJf-Q6gGcb=%1woB0`^QD=-XeHsO^fRd1!JS+u5*(4Nw2{|p~-*_>Bs ztkFu=xXUr6ytwI^`J}KCqU|zxmeyBfm`Pyaa;sVM<`%5 z|4xzA24OHpP}K751*JgMLO1rH2@Dl3kU)rfP??3yRKX6adVIfCzn9>D9NIqFgxL{? zKj^l6;V%GUDELJo)&E_!{PG_K5uYeC+|3pGiNl7G2-TYI)BV;q>pTfc+Rhem+AQ|` zP@B5FryopzjMw$sE?%j8FZS7n;@Y&|HXSI*uWWoUnK<{R>Kcyh*d%J|EQ}tUvmfYd zWi`1R#h7hleZKDX$d&gRs9QL=-N=rMGYbm5hGCZPn14Y(l{z?HGcfbw{n#KVkL46@ zb1zD73P*A37Nr4Pm-KajxHs6#Cb+|vzR-EYq(-J+f8?o#(28Lo;CWUWUu!q>`WlB=O?nvE>Idu`smUWSiqT6-i>wMRPUBz-KBGaSKN0h+PIAn($EwXU+`#;< z2#%Yu%qxu0olb~8T<4L?LCnK?!HOJ9y_sqyw5fl}v6HvkBi~N7e(Jukc*uqO2xV6C z;Nz#=(AJ1AvO&H^mw_z8;?dro=H%WvuJi;gvG{@Bz-~idpg48H2$$74CjR^zX0UekrwQjdkeW=x#L3GE`Y&olW8+a`T^?|<`DjZLD(63Tn8CF zx~00`k4^?oEnm9)gxJaL7Pu{jJ-_eke@Vnqx5>C+FD^zH(&T##x_U4MPq+F&VAbir z>6Awhtfx~m7$!jS2q(-Rx=80tcgUd5IKN-R%4cGrLno55q;1p*QUc3f;?~7)=6acm!~k+N7IaL3Rd1MU6|GZXYdLP z)ia8~1fN#D0bu6XTR*vEIV9ANox2ww4FU8{v+3Qwxl+6?0}t`Y?n>DaJ)#N3x962d zl4}Tr1sL2`SmAT&Ni&(tn*KtLIpnr$9iA!Oe|hw+x?Q~=06VcpdET{R#8KVPy|5-Z z*Dh$9FcWbN3){T?d5m-N5zgNPly|slCLZgz&e8JTl6`?l5o^Y9M6)CfRrTW5nokwY zkcSx~rZr8KH)S>2cw#Ymc%#r|^Sk@xKI*ZAkMjQTxd4U`GuRiXpN{hJd!>xKDCxow zJ=S@d`FI%YEV0}cR0q*8nq(hMGD`yzZ}B>h&0{Ttcw&}HP>7b^y4OW`)lFy1x+Cyd zeRE~+yW|cUNvU-kdyf1dU1jrj!a&;jL%JyXlWxtkH;wMR`CO5o#YS=ohN6nd+yrXY){-lI5hvPbdAcH=;%KU28CDa6qoV*xgxvHz zLYwV>f*rz+X5uv{u)^xIBcIcxKpq8=P_Kv)+U;|*L^`1Nz22Y$;3*XSPZj|&T?mb+ z{WPVis#xU#@MMGGMb$lfE>cJfKN;*e;84Hxl?W(zyb_*SeobYH#_2L@jp-IfUw6?* z<28DW^DTGWm}~^$sO7B#nG)?z*K*QflgK79IGk)mvOlNpN9ML=7*cD?TxV>=Pvn*W`ET4l~6#W72eNSpyh1aac0L0RXXkX;i+c7hsEORJ(_CW zzE{tADsqflEZjZpeRUW4kJ3vLhKBdfCO;fbMy0CImBkEQ5f+e4fYk8FocOMorVP&M zOIM7yB36Zv?c&DN#OSudhnG2lmO{9}*3N8;k}C>eP(WzgWhx7xr$0yMLu5lxWvFyF zaPtm_?Wmvba#cPocH#5#WByjrcFZKd&v{axF7`P|8dlUKTj!4+9ea0fYi&R;(K$;N z;0~9jXu<}cw^H|R8VL?5FpUvk#C*51G|pGzxO-M4@Z8QfXvuv@HO|qnkk|Oy9zTGR zupW264+#u!9bKWN3%{Y17!hbb+8Gi@wOfyLP}#$8d1Oos8M4u7c_D7{na!Nkie81L zw>nPVsm>LWxsxUj3t>AWs2J~9%GdNG^{K(tv#jJp;tAHxC%qS1P{N@(bSsVS^1Yh$ z98pMGPJ=8JW$j8M-Rbvz6JK6zfm~Agi|fN;^ltzDwkTP_QS(~T{P7jKk|vx1q%A4- zTcN3UvAwA|3*dm=0tnae5MCle{5(h&#Q=}1XB}0|i1MA9z-&P}7nm=}R-mbx%-P=S zu%Lrpv5)RAXgZ7qnf$t&#`**~0IWf(E}c+H18LnTSiff2{t)UHywYn%BY5rAoNaOI zJFeTtbnwb+jg)xnfX?w3mGgQ}!vf2*NYU3x!zJv<-}ru0Wx?mk)GW2Y{_gNKh5&Qo zc5mm)keziqLo%w>&zUN(-{R3}YvSy6fU&s9N`Btu6W`SwQmAAc8qOWK1OeTE`ZX`< zw+83+?8^igG3oT4BzfpC{|;CT0dac>Zcd=BH)}Vk6a4lUJi!-8U^o<)%?R zE}OM*u4JwKg&nLB6NeGV0eorNJi{2Hv2vX>!u?s`ga{Sn(3cB%WhoP;7=t&S04HHg zD=Ib^S1Juz&8X8*&oeVo71e|5!*t!-z&WmgZ8}spo$TvnUa05D=1E)~LS#hANW?`^ zGyWBI9i#`??fekOqh8N3;?{=vTdrUwnr3GPSKU?r6WH0c7T9;^@pu>j;p+OVUg@Nu z0PDGLaz7s4uxVk<#Rt`x?q5kt?c63oHKBD=1yF_Uxd(B@@*Pb3x?=^hUKXlW~1GV|t;ot6i-I33&K74y- zU!U!jyh=YplhRysTV-XSwi5P8iLM*>ghYCZL=*+*%4qD7BzoO!w`XRzPcMch>Av3k z!lLLi#;&hgx1(}Po)#^war<}IbHWC3J{xRJ1MbXc64>T5^*5t>T`dJX)ycs>p$ZNe zoh&v{?K!ljTn5Qwjbg|+hyu_fhIgnH0I&3}iw009Mwf9L#&I;Phf2-Gje7CUR-b5B zpUTI81d4cC+2f+9N45Yjq9W$ma}pCPPdi ziNTiVB6kLmiy80I3EF@tX&?Mmf9~fjjYYZ1oEe@>0RMzL3c%O2bcqA;55a*CCw-_$ zcw^6(v@iR<{Pd*&33Ft9N%<1-CGs}j*K2HqH-5}g7`42b+T1a9@Qp5aa<5O-D#S=q zi0vucbN=XTD`z6TVLswV&w3Z$zP(Acx=GrVe*01b)X9xfpK}{Y?*1>-y0o$z>(l!s z;4<^D3FCh4`k*4SK>fG91F2NibfF1-gvK$>sSm`4_*@P7fv^Rb-Wq%X)#x|cR@fg< zGsnpb0s_KS(;|!-Wu-K&&K@TZ?nxtlg`Gc|TC9@@N=L7s_fAofamu22zctdHzpPfu zbw+=`)$Jx6o<=+WVDH%|N`qOg3=l+~?i!mz^HyFUNG#2|_gmy%bI5V)P~MnfqyEE{3lUiz;ENxhZq!; zRJa@sSacKVM9&qY<2)ubSM&q;`%`y~LT|mgyQ|x& ztH&t=lm4(q+DhzV-C z{$@ z3^i0q4Ln|*$}4Bb3}vXA>6w}p*>5bp<#5#=oy#cQrRjY9D&AaqAG$>bXJRm(Xo)|iG_b%S zWH`eq=@CSZ89ms7r_)@~7@iUt_MgLtP)YLl)g~^iGYxk(6jpuwIHIqDM#A}G3@!~N zV@usW(Aro#SD5!BXLceG944$P3EBw$vB*+rJBTIQMi5!je-R(*#*SMwUfm^<$?&#m4Nv65`66NcP9% z<5Cg0qQ3a5XCyQoH(0#~Qsu7%a|hOXK3CTl_rSqVOD zko(-=G^7fM5Gc+cD78C)oIsfnN)93iVqXuP#->qFFvnu zto5<~jZ$8XEjg>`rpUVqLlo*t?(=6i7Hso&WS(<9{P0bC$&>44-OX*Id6-K8iNe!(K;#Q_gLjT5u9<61(9 zOV66-Fai~xSxHCP2iKz;SN4^ z50nTz9HqP{UlGf}F(by**eObE`XtYu;jps_Vmvb4SAOP+e zr_+n6?q)KJwYlbGs;*HMC?cz-IW`Tk$*4D6f@2K!l~K5F@V{Hg*YxDYw55$as9v5Dw*At*h6`INdbRYO z8a7;*5d=@((qO(@EZ%8R*9fV27O_OqtE8(~GN6U1o@vGL0;$(ibff%K#{LMAJ2}+x zZ1=^WEk*J?wmc~moX4SQA+Sb=t}`R~sygdg{EvW&cgv-)=mgc9w22r+=p>GWBSXuB zPVStNZC!?iG^R-Mw2ItO;D>Rv_ml82c(6ZUq7T&yaG#tHBB8b4iRxNWt3QuTyjd0D z>Bm@iNG|R5SrlJ(4i7l2k+l{x6t$>+Sm!p@H6rEDK#L78EIMK`J9GIi7k<1zQi@Kg z5AiDuIfR)>&+U0#c+<5gTw*D`vEDh8f^vP79IW0)NHeE&;dgo8J ziLcBSdda*x&K>D9ICavJ?A7W@aCF|EWY#G(?7*g1>Ecj^G?2K5iHT*3>94aNLIhHd z-9)k=aS*SOgH7s5VbrJ$Gl*UUK^WeJj0YLU&+c>>8R)lQ!WQdL#!PiGa(% z%jh-1X-phZwR0Jk)C+R(SD+y)o(dA0k?w1xQy{LaNbgUwIRAm&TxWPjyi%W(CtrAl zGtoDh&MyS%AiRfZ#%RnQQHCTd&@yOC%+QGpQ{{Fj`g9Z1NyWcrswTy=;WG~4lMbIw z*BO*s<{WWfVWg*)!^(zf!`*K8Zwl~W9bdFl=h6Aj6N#GKDld&M(X~G+C~AG@mLT`5 zGmGZ8R-c=#RZ?OEY;2zD{>k}$3cEkyTwSsDRpW<1jz+kM`ghqj)mnl}6kB;KzA%A#2q>u`Q0|Ul;hL;mFtJ{ygZMt% zEzFxv8SO7Tb_6jPCM|*nN3=3%E9AguV_IVd(t)tUXWT33Knpq(W|$9-fI3-rZOjcz zvu&g3ez`{F$=$CAWc!sM%lEDTW$e<;r)~P|u0G7m%+)4c$eeWDY@wuRJ*ov~0LkNC zjf!hHMX&*lx1{OLYGDSGg^ZuZ+zO~oyX89wKSP$HTACgRBjc&BZ@r4BcMxN@*3?Ax zmca`>S}ZJ%?WCxlo9|o2o7(Kf9)>mbcH6|^&amXfJdnOj1lIS5A3DIGyu7~ zJBn=<^cP9d&yf>SiK5!mgm{>2%dHrqgLpD}j`POO6sKfRJUy$k$V_at;;slRB6q<* zEA1Ggz_HY}D&lovijXH(g?K0EPzQrdKlg)%ru7P_BVApq&e1Xuu_p%_zK7k01giwW zr1TEIj%lhR5V;dtTb|CR=D;oL;+<{7N2TO}_uDf3$!Q%}=^AjmpSuUOi!z}S)-~C_ z{y`NSzjbfLA&av&dizzx+Hofevh_kaEA<3tMj09x-QBPKSqzGF%y*|gJn`_v{Olfrku{Us0Ytu%E4)nvs6zhZcCr1}2Lt`~;Mpp3a zK!q|zNb$6nYy`GjEMYEy+ACp}g5RcM^&{$HHHkb1DE#rn>5xxooysX9N}Cp<&h*TVAq1 z);Cwg84*H?xwjM6>u#2LI%Am9hRi?A!TP6}VQH4B*Ux=78XR+|UE{j2`@m21liMd& zSN#=wdt2ynZI>Sw-NA+*S1K>wN+tb}5)DO$Ueie6YNHz;Z2tT2_ZiByv7{NZB<tlZQL9GZ>6Q|9^y>$8YFGS9Kl&ClTJ7sag#@9-0a-PO zzPXaEcAf61dWEKzPOf|+i3@krRVAlkU?ov&4M)W zSUr$i39I`m;>{fBJSVfVxzUh$l!ysD{ZkI0c`*4CcEpT2WJe>5`0fyl4;|8~sIk`I zZ(gN;gLKPQ{NQIH8HeF@o14>iVR;`upL_~Ew{?)yHXo;!8JW@&XtUzr>rKPX}7Wuz>$DL0)U)+$}6M@Jbir_EYFBV^{Y;4>d zTwU#4H@U2Pa>!igvm{7qO2zOyJU@7)+D5H1wPKZ>FMol+;O3n8jR*Fw5nE@fB^H;J z=afgckM3Cp?+0e@7x$KLc=*BmbYkc=r?Bu-?T1g?zNpv!@ZlQf<(=`%uZ(D=98uac z;xMcGxi?Yg8Z~rt(5~H0AwBN94Tjp9QKd~<)O<$`xy*jpkj7g{j~yT~7JS!eG0s@6 z39&(b!()bOL|LM!;zcph4r>C6LLm+ivI2)yU%7OL9q#51`E+f$_4q}7L*Di8rdct( zku>d&bp5)R=!|f>?c)R%Q}<6=`po{9DX^@oNETJg@F7 zZ;*zrIKbHA5rq;D*#B7JNT=ga^qkhfw0Z^P@}?a$TT z&hn>94g@&-beBaUZSby7lNy)UKg{KLthJg9bwBa*?bA%p&V9l=zyJQZ?{fa{ch2&k zwNrf`tHow}KH9kaYT_@KMB^PjJy_KLeB$?6FM8=Bz<%UT&+p?ajvfq;XPo z2MMFEI8SdDs!L!$o)0DsHEB%OSZ<4{y=rLJ;K(CAy^HN^@Fq*}hFTd)KnqO_l?k$; z&PFX?68}=~^|}?uecGbZyy<}^y-~wrN3!!&Oyi+ROp(1F!T)1P>d@rcC$-rh-%pqv zm-9EW2h&KhT$CrEqcW3$HiZYSh*vjI%ylx+yi)d@;_mV?df2Nw%ynANzN}s@3Sf`+ zimVg4YqGO)AT}M(pi1Q9A~M9Ayg}2$)0*1l43rd$f_RiXlje<7f+pKe7IeJBP>^ft zc?D7XpaUd;UjmX>fe22{_TDp>!`v+m57_QMG5(QZ^YeMNNTYGH-l8~0-V9}}Ve56kjiFd_wZHFB3zeiLX{#<184Jr~ zYseDFA-0tgN9Ij6g*rw8img{l5#EW1p_o!3N*p$shLMOWQLY43S&h&i`SlSDlNE4~ zEu1SPiKB%lBd-Uz8pBUbd+8&nRQdr-u4#x{`jgC#kEec@(EO%7I*x9+Fgg33-NDQ* z>KR`ljIx$Z8=edC)m2M|1iQ2+7aY%k+yjqM-s>`(u*Z?#3Ta)oEoA_bYKJKmbPJVJ zQPM2iOvOPK3furx$|OCP5n?Fm^k5yy6}t?H6Dh~GD}%oS;)YQxw89d9DgXQ<)lFb~ zVC4C_JLR8$bvfG`ReVk@ajjXI2f4lC^T+Ytb1|#lfd7T-x1Ei8`pWju~zfXw2 zR*-F9Sxw`XZAbLhQ|q}x!M?^^4coSK@e1)Q&Xf^K8HQo|3pJ zkvv_Fn{deTGC~4cH%e0IS{fQ@swT#z+uraF&?r3lnqh%42!+;+@Yu$(D0ZwPW*8IR zovxo{Y|Nkc5fN|Yri(JF4IA_0$@%e+no>(CeO6tg17i_~!I0_LDHMvjv(G;1LUec* zF~hgiQ!}-4A))=nL;p;B!T~&wrg(xu)^cd&L=8KYj8RBi&IZlL9^+0AUTO5*~KcZTE62|Uqf(w)t22*S8c4|qkxbm~BEbB(W8G71*U4Dn7a zow^Q_FYL7pVRTi+WRge0R}2KeBf;%Az)Fm~1RgHaP9>L=CMw3C650=n5Sk$4B)7|Z1meuy&6!X#Ay?f66{4?|YbI$pmIcH|hY**4Qjda(uV)5t# zI+@nEhSVM7<7bUwJ97X&Eur5E>FAdR(4olX8CnD(<^(u5ZMd*DDh6fF@NxHVK#Dmu z7eT4i3au1GL#34X*4rWsp8~7H`2hTAP@Mw923)M<3SboJg4QY6%{U>E400sGbu0_1 zXlj)`YN5ZFLLIWfAcG4mmMkR&gM~Tp#A+0_8dc*k?a?e3X%skIblLcCWtO3=ews|g zg<#n_U!NlYnotD~F2A9bPBIq`&z!L`sdcaf6%}dbh`nhgv+JtA47H!G{oW60Vj(>y z72W2K0*Ih`(K%&M4%Gc<0qIKoK087-5dOoTN&Ga_)tR^INcGzPiT3}B`REa!$W(GF z%wdn&`COOKkR^J53Utv`RaLoEJvcgg5(z~22&ffuW`I6kX&Re_y%Rf=2AY0Ditu5Y zto5gZ-f+wIp?1=j^`wEWSWiraBujX{9Q&CK1PX|L31hZ2Lef+Kk|blsgHlLA=#*v* z;IoDXl&~?EhH|9<64FSAK|L*)cxe9j(EKUOk}gt^yEVCU&%uv9yOpcG1|xGn4{7GH z=?`^>Q@4h4;B7Yb&mR1-aC3iyBh7nW@0ASTUT2;fzIzpO?}R?=-rX@1)c{BKGDrbC zGE|adezQSr3e0&KUj*OT|NUwwYhW7xZYWdo;$0?VWngDzPp5lD!4k62nIjt}G0z@p zdzXG6HY(Fo3hGKJHtHqQCF2-F&0DwVU@+yydzD2@3ppBH3KrN7jN)!96mTlU-d-jN zxzCbE%frES8)L-%)Z&-tk9@n#Mx(IMP@3VvRdJZcpRx9*X{nJYS;EiR-~A3gKC3A4 z`B>KA(n_dUUeJY0gTVYat!z^hsZd4HG6B7m4uJ|VicAUsgA5cKU?d2nr3u5wAcdoH z0E1&jH7kS)fz=3&0HRQ}Xn-BSBBhXk02T;TSmccqc$>JLg@yzLqBdcd+p?{0{nTJJ zJFO`(wBsacZs*P~yc{3PpBq4VO=sm#8IP@oZZ{s;Mi#_u(#9?TnyLa<%NBw;@2r+% z`-7+Mmh=1}@Y{`);Vm^pHHD}&1YUx-*A^e6*-8>ZLttScxv-SH?Cfk<%5HP>^%5P@ zBf6Bx(IN38EV|09p7CcU#QI`!o&Uw;YBP^u0YhCHO{HbD2t5=EiesmO`qW$9I7U4% zAUUHy7AMvV60asutrhdeVhQUxpPjAOJPuHKP8)2~zEZrO+-n27k%!gXpqN>VDrnunD#{1lnCrfNUn% zt~1R}b0iH~2;#v}-H`r(PbasnlkQ#b=Bd1wA56s0t$3m-`GvLaQGa);Fz#&?oyVUt zYT2zqIGhT1`?;7Y7I4L8RJFh(D^BgwGP)^83-Sv;k#HBJEVyo58|!c0X#4UgkV+uj zw(O5IBS8m|+3#o0d(JsE{gtu&+eN*E=iS9ivh1_aM95}qKxEwBNfn`5{)@SU_D9e5 z}?oyas7Y~np(n$Cn)M)#uKG-(X>)`^1x#IE3PWB zt!>Fn1Gr#-79L@`N2jIDLg2ObCPUU`7;o>cW~rw((76YmilPo*r(2VhQQ~a>ip%Y> zyic$GNU9j8?)&ER!jC+|OXcOJF&03>xu1J)jj*VQ?cOslFukQ}>kW*s#YRYyC5_A! zGTp$E;VNsUXL8Do2Y<@jOOdhZ2Ws_;XRk`tyNY;D-sv+dG|e1V^>xTb+`onwAJ{n) z%6n|oylE5jUUOtje);`YQAiDDFO;85t_QIu3uyyD5&uk<%@Nt17`U;FgN zGwViQ&F1jE;V(QUz=^KBSXjB!^TxXqn=LsXp41+|tBJe#wTT;w-1$^20^UMoiJ!Ii z=|B3;tbhNiCY{p4fK$?UP05T-yqPxVHQuQfAeCBxo^N;^r1%#GBP*7&S z$FdlaINp}Y6*i1Odnfc^JGc*@(XO|{RX!~IY2y8P$;|7v(2uzLzwIvOzG}502XA%J zHoA?!iAddN0QG)udF`6dx4d<#6JwI;z}6cZF-~MEM9ET727E*wa+b;}cT4w>qCTpC zkrW_M&`WF6XT+;plX?~g(&=$P;!5uqUIX19{_43q>3PEwz3uFdSx{w6nWe|l4*#8d z1c?cwG;&pHD-A>GAp#U?Mv`GyD}ydOkEpwlU#H4H_-_N#AQysD8J&@O^+z|?+r2oZ z{94{(SCsj->qYJS z+tE8Yv)BFO|DV3I0s3q5#;;t+{n{Otr34_byLShy_&Te>h{qf)hdJshMvEvpFp^dg@zuU$qHlU3KglyyX}`TthUY%W!651rv&(Q{k$5+^!;4#to&q zr!Fk2vR57W>3J@0+upJSA5H=p~# z@cw0IKHvPkqxoD?QpY#jfilL!k?8!*uANUNxyH=CsV&^Q!C~j@5HlUT46lY&to{U< z>tYtKGuuuExTeqZ{_`*+1RO#-|NcuT@A6}dN5GjKhfRh$BYGoBP+x0XfS<3%D4e#0cb=ZByJb6!a@!&=`C z*?~i+GIGDE#&sCq^;If+-lpMJO`@CbZ<%yzI`qM_19PYR8TcW#1B1$MUJESlnt#4+ rjaODSf7QggzCqud0+W!sujloDP;+GPmInyNrVK78nZ9!M3TNPNiP;Ve literal 0 HcmV?d00001 diff --git a/sound/items/modsuit/loader_launch.ogg b/sound/items/modsuit/loader_launch.ogg new file mode 100644 index 0000000000000000000000000000000000000000..513118f3c682d0c6be6232c4ec14668c930b85cc GIT binary patch literal 17220 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 literal 0 HcmV?d00001 diff --git a/sound/items/modsuit/rewinder.ogg b/sound/items/modsuit/rewinder.ogg new file mode 100644 index 0000000000000000000000000000000000000000..2587562dc117cba584ce7de96a5d626ed340a9b9 GIT binary patch literal 30358 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 HM)3at0Kjnb literal 0 HcmV?d00001 diff --git a/sound/items/modsuit/springlock.ogg b/sound/items/modsuit/springlock.ogg new file mode 100644 index 0000000000000000000000000000000000000000..8d0013d2630010e1c8cff6b25aa4389f5f17d9e0 GIT binary patch literal 11936 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 literal 0 HcmV?d00001 diff --git a/sound/items/modsuit/tem_shot.ogg b/sound/items/modsuit/tem_shot.ogg new file mode 100644 index 0000000000000000000000000000000000000000..50905b95f1128d1563c78c2b65d297c34011a827 GIT binary patch literal 12742 zcmeHtbyyYOxAz>nJ#^y%sY9cPv~+iOBOTHq2axU#DQToZ8l)u@q(eYj0i{Ji`W^Ip z>!163-sj%;zjr_T%vrPdnzd$s_F8MN*)uBE)*1j3@J~U1@t08kSiK6Nfp|K*n%lbF zH6ck>{=;(d_rC?Aa(Cswm%A$=;Mq6f7&EBg?SCmf$bSW~g8jO-E;bx0uGTOITXXF{ z;$d>Ihg{qbxgK&of-$Q&I@!9oTDe&{xx?>dLs0)-N-Hj*4T^^VWEPrm=~wEL@{#0j zDcsVp%#-9Ji$h4nWpmt!G|Kqrvh6Ed8(|?(3Jp~_>MQj)bz5?aggXkVAjjZNAi$Jk z0X2~8na!||7Hgsk!Oc`xguhQwj}pfq*NB1lr>M(|qcgbU32ahn#K|*@wPd?hG^V9l zM3=cI$#2nHDvHa(LzCpui#3$RWgn-_s>7+>)Ya|8wn3HRO|TH$m*WXqclX&X3Z;09 z1*if5G%BAg3MnM45(#(+04RCPaqG-+5BQTT)r zeBl-s{EXj*rGL}ig>Gh3&WUAnGuv&HpDD|2fNv|?Ez0#7w++ab?M4v%4E~qOeZMJY zUw+p%z+W2tT$&8z%WT*bv*Vow+ejKp`0Y6QL5l9%rko?k3`mXggDigz<)o!21PV%xGrAU4ty|glc$50JRgJUq@M3V5;eYT81g8gs+%iE-`c85L zZArH4NBEmOq(5+iop+8Q^ubM1#{EC)pqr3PiliJ^8x)796;+6}W>Sp|X04V^9nDBR zm(Dy^&OA2eLe2Ejto}>=J9Ka)flzUbzXK^Ivl!vt%1c%i|F>bnK!x3ERQ=ECWnAe$ zB(cdQ^C;8{eVP(d`X#AGq%@@|rQ4wrpIHY*dkK+y-9~JtUvD0szSGtcf|QkS}gSHi=#?tw=8Sn_j^)yAo^P z@;69-SVZqw?h13}I=o~ZUa-zz@Ib!6O244Qu9`XP?M_?uzp5O63_Jk<#uKSNBvOF} zE(a2jKj?zKfCRYU3?_g^4_f>`V^sMC0%|mY`kyBN0J!M;)Y)X*c;r$v6&f{_8Z{M& zwN$kJRe7v5#iIlQ%K$)80YE^3eRhF0Fy*Counp7_>UNNzp==Hc5%YkG+jb0& zaHCai>T-unfWWV|fs9dL{d)?)Y$@_0>A?EW z`Tyt-)RGHF%4Gg0B;P5rDGz*;`HxUg3#^kHCMAKp+?y0d(+(oj;yH3=z!+0(+jbVFLh_+$0+SxX>$1fw6It zM-2r4z!ehzznAu}dqqKMfyjVpAf{E`ctR>5N(2OoaSP#^>H)(@HWZ>$KrZ^BP$1|X zpx>k7fzgoHMxG5%)n-T@fMEgMdCXvd&qW7=j9N&EZ6>q$6pso~zHKIB6jW;Lk&<`8 z)+Y_ zC5HhIQIwZ2OVt#UWhho>!6+-zl$S0B*V~V<6m@kL;t)-FmSO;?MMejIck>LwP6H+b z5$ZAA1KBC+@PTYMW%)893ouhDwv6H4%1%~)IFR8sDhK9SU=~r75_6YwsLTIJD!_&O zF0%kvbBrADGI%k_!UOrxg^N{HNu^D6_5QaiqOe8K34@ptS zfEPmvz@=>!OhHV=$(ea9r2r^+_b~e6m&)=C`FAr17U;*Q?F2J}yS3V9A#ajYE7W9D_wJ2_kvVLva_Ze;k`u0`g5!_q!4Jqbh8E#N{ zTlS`0?m<{el74hY%BY-NRU?@n3w2?Vx&rs7qd7eiF@nr zIR&KD1^!UX#h^#RbAq9u`-Z5?%fZ23jQkK)bvQiqE=vUk$TJlGp`h}z#YLdm-YLQ; zPDxS6Vn_im%P&d-?G(HXjQk=^b(XRe0&xt6kR*9|c&euSolr2!2HizjeD@?ZD}3He zmo*4z>wj}Ha&+pHG|IpP*J=H5st_Ur>_iD1{g@or7%_RcWdip=QEHO-AX(A0xk7$0 zk>6Nr>NJ=Z!7u;}E(i)52398&$s7j|h0;Be6gMMg<6;g*3-&u@!r z-1^1+=`EUUrFYzL1N+NtxaPt__))nMN`mJfc-C5En2g2$QHlw!< zNfnw>ZWeym^ZwWfu8tcO7N&3t(zHmsi>v3!MQ?&2JSLm?LPjKHKC9^QkGsP;OAk0i z>8hqbq+w5e%|M7Zy`fQJMPf4ub{!+39z*>Ap|TWj$T!bw<477t;AF-ctTK7pFoQ=kU42*l+lj(4=FYzPxm4w=jmRX@HtDpL&|man3hN zf(%2STd?t(V4G{tad@GiGq%8WiLgtZ#5o(&@Kr`uv?7q2(i!HzhlC!DqFy$>uW=H^ zTjbQQv){QIZ1j{{$Kb=qgHt_BHfuBj{ehCeLm&q2-h*xfgvzq*0n4Pp$YXwfTC9z$ zxH*Y{hUJ9=v@Lr;(&BAPK`org;dQFwTRjCt(n5zZ zy3@(E+c>AQ4V^}G!4T{1*MndFn+U)6NhTItyi(XaMsInO*lI*cKO_GxstM87lL#1% zDJyNhH)UY%o7~HL#3BbL!qzkhMNuIs$~ynqxQ>4qY`Y%MtfZwZ?&OQeH3?DZz``~( zQK>ZlL6OohOu2Pmfab-pbEnkh@tlsQ(w6SmSoJUyIW{VT0g1Bnm+qjWzYE26l)3NC zbDN@XG%wste7w2!^`DaZ zRo7*5&w9z7Rap3uSD(u5aw&h_`AEeAk*&nJ)w$|H412wMmo<9X8R4Py! z#6^t-8N~hNS8T5g*oy-X`jXyCkqvq^%Uq1SjV%c0?&P~pXxdYT2Mjh#xl7SAoHa}8t9d{9-XO!c?i9=9Pm3S5otgXrY+t&9-dRcIdsCt<)~_3c zoO#K+E=11N`C|MgTE&-GxR-snl59Mpa@xST5# zm1^IR`?Jq25SsM67jU36Iww#(66KL7Fm6v>CJq4tRpx?p0@FK28`VPNRqAbg%u{f$ zlC9-v9E}}Z*4ZQ4kG2>W|a>eIU4nH}!MW znUtT$9HtDtsp>-&0kQ7UsyTjdf4BXyOp?7eyt)NR*DvAcUK_3Db>C>Rc|tS^=^R(W z@SGnx85AN1(YMZW;`J_>el$7jYFv@4^$KmC(wp!PS(ndZX?{URVu-V$4A5Z5VL>ph zL4%zw`s{QC*8?@%C7+gki1t}>o#^BqN(;?kw2hW+Ipr7hAja?gsZu38 z!@0+MxntWUSIPvE61z2*XY=DJ*tb+ZkCPuRs$69glW)@-y}mgZz|T-F(SNO-S-R(q z80ECs+!4MlY=k%OO0`NbnDtl@0V3G5LMV}zq9KN#mZaa~gG*YqZTI=^`N^&~1*LPL zR%=Jmo-FA-=Of?aPd-03?(sf|sGlbt6KE5xgkDPU?L$rVW5nD$SSE@*yspN5^0|5KGwW&PK#hoX3`Iblu$Uek<4CD) zI;@UCvqVNDF}mx;D^x$E65e+?bre3yr_70{sSt8tcA=l%oDRUv^JK;UDvC5MdU#Hl zJW+pB#VSlPL9i45gMGH&G`mZ&=3!JG_)szQkYA+Q(?odJa>jMvpQY!TPb8nZReN5$fKE}9GBaKzi?fJ$EuNX zoT_if#vzjW+8P*^ti%Zuc$2 z*NHK9&iuWZp8l!X+Mkf`_tnZpeCLMbjo_5wiEz8ah$l`58D3Y`oHwNHBWmEP0}22M zo?{nBv33!K<>?K)M%3jlzP|eXbHB4|Oy+vxIQ&UwtN!ui@X0dmM}AVuneQ6n`z8Ue zO3%g?H?&XX{i^wQ+_pX1#xC|uE?a`rtGBG{;(HHjE=E}0B?M5#Vp@NFB4+64x4~8% zP1Z1#Bv`1L+Q_^WRiBIe4GCO-F{WXwmQ;UsTKpApwp1DC>{Tsy;pKmNjIb;8RU1GI z;4VVVai zw~fIEr4Zl={89@9l4c30*1 z(TLLd-=6;dw_VvwH$7L1MqL=G*q2L6bjs_CEjR#y7;%>grgfiWzW*)nR}*B{?JzU` zhhAOM9X5&N`xP}B#74$pgL#~k8&-Y-tQjOXEhq6$oL5E#3~a8nVRQQWNtG9W?eb=%W@oKYP=!R#phVTr^( z&%65f>yi-7l<xFQqMHMATb$sSBlMvHHbgPnJ&m(?N3RbA3b;) z)kao#6sl(?X%q3OwRbH|>d1C(#lniY#DPvsHUrZ6QA-o2gkGD_lmu56?StU;H%Z00 z#*=7`HLo)wNHHrzt>V#rMgi2U8iL8OKDZ8*SBKBftl}T~jXREC+!pH2Hc|tk2VUne zxK83@NZ*FW>>FV}O^(t1U-sQE0OcvVpQaRT1b1J5djLt)^ajxr5W80HTj3;VP7_F5i z&CWMX`FXSqpxJoHOdqQ@6Bgt54m++dqnUjC?bwnqFq*2Koqk*9k(KI|Q`EO4d#@|T zWMP;avYX%brs&N+$?>o$qa7iZAMOXiFo#~%*g4;mL%}VKLGVD3 zdeZ_o{6;ry{pMhv#5lgzv*^}{)Uqiop+sH8cQsE(LOTIl~i%+4I3#hZ|5pfBf-hcKX z5BYaQN2f}7Pi6XrcKBZ4IGRjeST}x~b|MeATk!URiuYcHcGITv{m&;)9Nofar&FHC z^YyI1j$SqBrN)ELplQ6``($5KnS%(CW5-dAY=7GKKy8rAwmq0m6Ib{$=}EpPL6p z#l$2x0?Yqr&Y>zUrIfSMPqHGyNDZCuRf0|R&PJD?k#%JdOZ2>kWP|+Y22qq1UAR*{ zOV8{Y24%Gt5MHv7x%0Qrf^PG7d>-*LEbmqnfBAN$@Ze3|+N)gK^_TsDsch38Se*-v zTDWBrbdYxi{8A5&?Q|7aFAmoWf~vc|DCJ`)re^t`-%mVG-!)mPy0+Pt8q4AtvsIR5 zIKFiMDG)H#^I=fM*m9S=l=+e?R^(7Z%|?rRo|m2HUEprS0`V|9#)RgJ1LTB4LI;tD zZAqS)vXsY=s`UAmC)CZ0L%xEeWpAdg-(4-2UH-gJ-Pq@iV!s;K^T-ssaf!DmdGV-0 zFk3^_BKEP4LPrP#mucXTFM8)iBRiT!xES&q+~n-;K|E$agxT9B@6gq2CQzNlq3eo} zPQwv*xv3dFI&R7OWifw?;J0Fd=+TMExoWm=eqUr=YnW{hGk&9kq{7k zR{>Fsg~9P;3&UoAU8OUR^Esd1CuE5juRgu`EPEwa`}Uya0Vk{h<#MAbN+{ zD}0rl4XnNr8sS{hvw<8(UrV_!Jok6v$?=Vj)vBSL0TfR8A+IT&9z{03?~n~*h5nv? z0MICCw?y2l09KdFF*yi)OiYo-8Zi;^T_{DJOINR5Hjbn`UMkzYd%ygFsiQHHbDLtG z*m6x{?tJ~83BB2`l{#35Qa79h!4}7ALNB7C*kb8q9??o#0<6ubV$ z-$?^07>~(aU4~b6n`v&e1z5Jy-+7er3D393K2e)qoqhEliFQFCBAad@XZ)%q8=BC0 zq^=_os5g0Xb-nzF3B$(4Hu%)kk|bNOm8e$s+7K=^8MTqy%t=&yuTk-L zjk?bUOV7;Fd-j;$;l8(-L2Zoqw6-_AQrSo5$XMrlmfRJg71o03r!7}=!!o|EoCnn! z56gmmDL!^vZf~3j8}vHqN>PY=juTl#m`n?_ySQ*{f8~puto}9YtgAMCy8XMrMtAaa z9{=r`vG8pA$&Tfs+BN0970m|@s?H@u=TD6u@CV$DC92q0pG4)mL|KeM$L;$@I#%CYWIE9&t;w*XzNg>dv_h~9j=Xz zFBJ=9D#%g0h9_^V4bA}{d%_hv4k5Vo&8dO_jo>Dqj3IAN9z-xrA&Fpx1PI)5&J*Hq z7;RPa7wSL$?)~;%>(8Y^!_dO;+ieLZ#KZY`XNp0Q$*;cxu2uaml*eeq`?^+$YhSv{ zK=Z`K1Cho3$+oR9EtZASA{7-?Vr=gJZgW~uLF4ghv4?e>)EjxteL%CsOW! znBYA-$P7Q@mhH}^PX0_dXB~)ZIQN<_}Y?d|P|rl4W` zWj|i-(%O%Wfc3u3OADdXZCPh|7n0W+nEBFd^St^AD2v1b6#%RfX_cL-i`X$*> zf2m80O2_Wy{Nj_%D}7><8Q=m_Sa7t)4P1}-ls4k5loICA8xsN*wb{_K^mt&<%hVBke2%O~;L8w`pn(rs zP88n)=-xe9Sh?DdDRO~lz3b9V!f_^1c2-;;xjvA(EZr(SsCJfl=gqw8aAM4YC0)NA zmOdj*{Z%az`Ynk=dnuo1QDt-<34rHmL#5hBT}m1%g=U$zvl3MWp~)Z z^R~%v{rWxOhCq&>*Nf--rq}9kVTdb2|6Lb&b$F*W=W1{O#Qi&g>11$yWl>nYKpcdTIw9IYjknox;XI?%L07$u ze#@7Bnf~?H^oF0>uc|ieyRX=*S`gnGPX<#`PoGkosBhA%af}O?ZIY^Y6FafqH!D|E8kP8)bBDvo}9%5<#Rkk58UY^{!CF`*SjMheS2RC zeKd~3r!v?%pF#6e^CeeNu86Mjuf%}DIfAO~>9MdNX`GFLB&h^}6mnW;9~eqr-L|gh zRs63P0$W3Qq^`<}@qPD)m~?C!3u!~L@Vr0YvQJ3D6fgFk)mu(pkLVQk9dkaho;}iC z{?_fkelW*2-KFi+Z@7G9TXdj1=(nv$SjB`wZ^)JK_Bnf}ul6olR;L?A4CB57g$r?A zY;a!Q`vY}}py1=w4^I)2vs;UTR;j!FYdcL0G@hPb9i3+uk4Hr0&XVcOoiee+E`C2K zgE7TtAT31DSxXGjvBNR2pHt~Ty|^u-7aUC+PX`3`@m=lh@y=Lw8IZZPS7U&*}C~s-XhhN&N=#}bP zk!fA&s#D;wT(~@Nr18b;6<*Bo=7qF0+DX#1@_p>*IV$I^+$}h!&q~@s5PRf?c}`nwg&|y>Tx}`NE*A;8CYUHE?cRuK8a7G zc>U%{cxlo1s~y2+9o0^Wx$m%kKjIBG1rl&mrXB3p#QsV$;bB(Tc4mcMOhG>M_u-)* zx;MX%QJKnp_@&ti7fm_|1-GhDXp|1OVI=%x~+|x0% z6BM={_;@X^68%PkLJKGQANFi=BYtd(AMW6Wajwm(wupEXxP?X9rRsZEd+&JXc9sfe zU$~15%)#5HU2N~kF8T=NVu{qdmRYr?kV)hP-E5ID5NNtRU%)Z8+e{rZ{I$s?kB?Jt zDgSgpiWNmk4MpS~D-*JEmlSK~#Z!isz~^nBoAsO^Nt`X3<&QX9sA;s3)35jHcDj@f zYK)Qj5&GJ+ver1kusrM;j2G{T4RU+~cluovYp(m99jPO5>9*0+D~^3GLh9__%-7S6 zI;Cv3o)nPY&fARLs%$^8|KO<&m;KHj8X~iaaI^1YVhW}ETnwwsk8g^Kju`#~=@bZC z6(p@7Bf>>8q)hwe=4g%l3|Q^cG)7C|EN$65ap;BP(|Q%D)sT-DAAWIdmoQ1Q(|ymsh9!!q+SgV4~^itsUkho!C<#bUZojy@;5yh1t@fUe4h8>cF^% zy@NT;q?Bx$rzAa7>jvZfgHeS@hHU*Ht2X4R#q(%B!Sm`95BXD@d{cqE93_#smhG_Q zLRVwri!o14bVCBeoAc1CuGS3cV5V_Q#+HEQ;ctP0D8CQ;=-*`Pe-pa>jRGLhFM?$> zw{)85^v4q$MslP%Q+4@YymG(K^fYAraHw4u8yf09j>hGlD|i^#5Qa~rp)LQj{?;dl z?ZIl8TwV_MOJ|YiMms-6FWG7-XO$on6zTyVn;rTttV@0@=7ki#1VS~F@~gb{M9^qs z{d#RgJ=TyqzlVN&n(O#Tnt{4FNRHF_dh9b5gsMB7LGk6HV5|PC?-6kD8^$z`FZ>03 zJX8(R&lWoE{f16PPJ}4J_l(6PLJm7RQ4g_!>eW?>gnsYVFSU+Kmgbb5ujaBaRwwrz zcwRCeQV~>fBHK|Hot!Q<2cA?5QVR<<$T@|gJfS1Nlq6b3y7~NV_crH9O@DUM`1QRk zIj+^)9UYm#=Pkc$Q|Ws?jLw{3Mkd_7_j5VB@icp>Zs(jP%ecJAv_ezIZ{ayRiun08 zFTe2y1p^n0fO##^Y#ZASekKskV~2af-&wMIG;t`f4xMmwWnZHFFrKqY7_*^fcb_BJ zMY+bDYAix5D8e959fBBQs0uh8mZ?H@toK17{1|ZZg9OFmesMIZ4wh#XtCbJ|J{|Z0 z2(a{9kHPWY*NIT8!B>L;m?pjg)vu{Kcx{>xf^s%w)#I&%(iz>j$O*1cys&Cfl=0C< z9>WJ5DEngcxgK>Gj7GCMNl|p2NrH#E@UHS#dAs|f+BjZ9rsR3%qWYpOEx^s7R%O8E zPYqKi-ehAe-ex3`sP}%X!PebU(!Onuevfq`6PVTLP!7f9f7k5LQFWf+R!F!x1-wtc zlyK&Ba>&^mm}Z^edOF8n%AG=6G;&mqf+qaNJgSvX(TLu|Y7+N*64w;kLb;z?yUux` z{&Rzjtj}K^Txi96Q$-o*0&AgS5Sk%|-GI4Mt<{boDGr7kVq^?rZ>R1@wJj}ug(RNF z-()1|>FK~PdiEMR_a_5ZTHGV-HJZ;d*s~)DNi8Y`zr5KVVIz9EfFXvLNBPF(+W_+( zH_A?}fR63s*7+UkZJ@hE#l~j)#R%h9qu<=fYAAHX#jwOYT_ATT^}TaPO`iU0s|26M zkkxiP@$VWNp(m^TT5bKKGevO`va%5z5W*!OoZZF^IDG8|#>a)Ee zz?1-xL|P2rphmPHhGyP#2Dvl*c%ZeZ9VW{0^(Klk502%=io}_#9z95z=W`P2A}J04 zhd%Tb6~TvnCAS`alcStF#q4jw1h2x^(w|;lT+Sb|rTM)xyf{!YP(^YFQlNZ>bwL@A zz8m2Th9_>Awuyc&;oR&Xe2e1KYD{)+lt4>Y~tg^FNONkL_tT77adm> z2ah(6E>h9^eIhR^n1GW>V>2=e8+6{tw#nUz!@;IFu7M-$dN(G$zBsW8p}w~;aTiWa ziEi9(aeZCWGFiZQ$m5s76>^dJM_zTbRy6+|f4wN!e0fj!F{yil=;!k&3?@lQI`BpN zDwEB*x;N3izP&B~4QJeRidP9w(`1H?5uU%+k4vW53twqW@Wl+`LbvZ*-WMpRwCAmU zP=55V4gU%C?jePI0gP)^T(rkk3`YA9)(Qg$y|>N|qZMUF<#id#In;m|w;}Pa_L=BW zu3B!%$1>4Lir*>y+Gwh9IF*{3+t<6eRIK^*-QJ4cz=WWRQfz4<&Q@C)UJtnCiXyw_ zkRj&FAKx&GBC2y$i6E=-PzaAfOQCD)hPjkMnY*RT#FC(TPyjLH_>CO_QBTA*kYh+} z-wqdTdx$!P_U<>UQH$R(YKuBtnvPyl60~+r;qs01T$PIp%4%j~%qOTKMEjwN_D-q zV#Mbxw4xC{;h!xvDtMdFTI6@{hFOMW-@6Mmz<2sGLzo?*1W-fk-BcCZXEyMBGyH}UZP(({1o z7D3Lr4oOEO&Cstt+^UJ9P+C!1b>PqT1WNDd-R8vK?Fn#HKwQt@B#NEEV@U4MwMQHx zhz4~Lji5DPZu6cC+!R@xYQ_RIF*BHB4Lj{bs%t-SU z7;mT_nbnWWt+sE5y5buRav9b7!?{lB`z5m^L=Ik?jX6?21d}hs>&&)Y078V)+6!=%F!2PEnoe497P($1uoK37; z?yI0u75@^s{^z?1qH_P_zo+{rA>bWJrT{5S`0js8pOOAi#0IwOSUFm9s5o1|ZLLgR z{8bN^gL89oadUEWK7li<*x6e-I-9$g+q<&d>xQ8G^C+!^2f+@%`x)KOI z%ru3)l>0oLX7fh8fieUqU0so-CrLd@0-a1Fnx!{MU0wo>(G^!{i&7(2o>{yp!==1F zCB^hjscVA#HiMa>ge*&Ff;?KGhO&e#Z_2bf3zdtyy0!QZ(4<5IJOn3bEKckGJv+r< z(*9=%ZT8^_bz<`+ZirV&ab&FLAeYUg5cLI|CF+N zw#049?(6yli-VnHNI|*ux-D^QzG<+IxUNXhnxhvi(QR(Y*>OyPr4d0;54nHf0sAXX$`|HT442K$4BTgvZdu*7!8 zEPbAzAFsXxPtxp@W6Aud=jZ@H8$zfqOB?#HO9X8gsYyReaYhg(YiU7V6!!r8$06>) z`^#?4#}T1D&K{T~c4Zxbf>QmIj%j7{c7_e^xSmyI{j@wwAvnq`fAK?r!-Gy{7AG!q zuQ`IYD8qSxr6dRX7f!J8eqxAxb&-1R`XBj=i^%gNDLF9LDGp95st{>SB^$h)HeWio zGbV9gx^P>$a9f`VHP%fr|KIXIT?c!DfJvbL(~&|_(;=?yoJ3WLf9ob3G}x&|+3Upc z+?nBP0=rxykHSZh;Rz9?GbuGfr3p=GZCB}~I_bG2r5RVHIae*+dIQ}CySZt*S1EQY z7k>XKyHWk^qAURXkc};njVh3hT^C4TfaKDa0|42*H!(-$3&gI=CNRjQ6v$<5>gK(+ zF0$}0D}nwM5xW<;Pt57xS&F{1{t^c|J?QcO>Z8gT2&lm~l>a;c0Km!6tDH6Ff>Fu#5l<1ptH;9!<})A(Db#1Y5$)U@nJo8pu%&;e^5CAPj8Ch%sy+m;sVdbf5pi0U$Q45KK{E{^u5eTao8P z(t-J3_y4Ug&`K5yG@bchA^F~rWf`I*{a;E!EATQpcslEU%gDbT25o_cvi`HJl5_-f z*}vOj0u8~-nEoeh{eK<*AA$cf0thfN0%+g|D|al82qKmNAU->>V*voA+&DV`I5H?q zfU$9$M-3SOz!ehz|E%r5ZWRNyA&>wu1crIeSX?q7MhGCpxkPY`bb&#rCAruHkcD<6 zf&ga+IPX#J=?$NyJUgzcWxqTC#{@can85&_g$4#0wU8pKbY_VO9u>k|t8}I)nDpoq zCC|L=cT9>Jgh~%0@~kkyDC!6R=r!URCQb-2xIqD02!Q&$mR;pkWb}dbgr=5d`gUX< zb5xO487t55>EB?_qeYay<#k_KT2_XsbSk1ocrU3HdM}v{N|x<*{hQ>J8*NmcW%|A3 zZi^VWQt*J`(SQWBonBPdQpJv>#sjV%S~JP!M(Jf>+HLuOt*QjdfHjD+7VsXF(bNLT zMzT5CDj3=aKG-e*`ZI3ka}8khq!a+D3#s@+GA&}`d<+um`#vB8YT%G@DY6tL87oRK z)AB^gp|gZ2%FCA~Yl_P<7OJzNmlkNs%M^m^?EpMUU7eLEL{px%5CCeB(7@0AID@cL zgJd8=J({a8BT1d5FT+JyzLd}uWGaPb(OlaZiR#>aX)YsjAkP9>L_t#YJ>^iB|4S;s zh5VjbfU7xrCioajAt>??07^O`0K8Ksei%b02opya11Nw3q?BJifB=Z75c0~6^NfN} z@+c{N0D%T;loGeSvY4atK;-Wm{$gCk29Cr%P-eP>(%(QV-HiWYyVJs{q^7AgljJfw5NeOyy+LA`(^E@d*H846`*tU2@-aj6fa&L4Yi(i}ao_ z-cJB!`LCodBjV_^AuxFsGO+HxB*DT6&Koq^5LF50LbD-3a8Ghy0_O-C71)YVn3TY^ zeZNluOX@;@OU#AfjAY3ShJn*JL|tBv1#Csn4N+BRVF|rwsh|RR#=^fPn7nLZ0qC~( zhR_R>lGHI7lfcJv3lcy-1z!U_w?I>!wKR!90-Z4=L0+CESyTRADHvq~@1rcfYl50N zK3}@y8U*z9e>fQ#8dXvX1tQLQQZJk`gzzO+yd<_>bf$B(xIBwl99LgKa)QJc(t=47 zh1_65pV8*zNst!7(E)T$2r?=RBHNYwo0AN7q=+c`p-(W>!$Kb@`zQqHFL+pNG0B5fl0EPZT*Y5A3 z(0?|@V(#~i0C2xCzHhZ2K6pbzDr#Wu?BU|=<>}@g9^@DL_HAlLabbRWb#+BmUU6x` zwEOXkUEe*OP9!nc->FMk>?sx4x!n5c{Wpi~uhOA>abSV@RST347^f$|r^BZu00i!8 z*S+WoFord~3Dg`PEc)zL%GJ_ct8%CkGc>_!Fo}Vz{+kQtl~%U>&`NTG=2r_>!Xg7Y zR0}@=hWuO7$T)O-e2~HlJAJZfm2dxE{Oase0g8PZHR%gV5;H-oMOhHazA}sziM&wR^*qu^zpx2_f~8=xJB(KU^TnX=xFJ{ zp(yzE@u}1K^4p1J|F+@T^r18FZO2Q)%T3x6Ngr9UPkEmL;RHFHsLezvDF$hlp}*(X zJ%;F-rQ#S!fx`q#^xx!S#W2y|QQ8!KI}MNNLl$17QCLHPbXxJSU$|5` z5SX?d^^H#i(PR_TSE_Pqlz0TfGw_WTLg6zJ90AGde_C9Q2ock#1{APYQmme`rapoj2gkH73p#_n6 zmn+%ryNZl426&6V8Jo=_!wr0a(Uq%nXYV^r`$z%nMXeFD5fR)#N_8~~gtT(KSgcif zpn2m1&LV@e#tpITjN&`C2JXw%NynrIeV>hczeLE&hTJ>oQ4<7+Ps>#Dg&Vq0dU<71 zkX*|SOI$~+?tDdM-i0s_G+E`3`9nH^G1mGDl~#N`>O19ZITR=XM*#wY%m6{bPY6Q6 z%@G%Y_M1kkrM%+M9l73F87mm4Gx!Pf%vgF-C<(D2FgllsCvm9^y;t(4C1F4-hH zU%l(`p$Nol`2K*YO__N3j4(1HA}#{7KD1V^+?(~xjEA@Buua+Rm#4s=YX)cU#v6Q} ztTpU;bUj6=1k5p)xdk&*g!2ayZ1UVawW2n3L2UPd2LrPvwx%XD0+WFg)(jZ-hdR1M zlDw5a{k&{t!MuTazVIyW<)h8qE~5Pep9@E|3IW zjz3-o{JwPWVcn7Nbc@4Bd5MhU@EY9?o4vD949#pPb)-6b%9LkMjiY|i*;t3jUN3?~ zp8IGYN9Jg$B`w7u#UKGXROeO` zlTZKM_PYumVZHoQN$=U#WzxRTkI8TTu$KK&PU*z`_J9dpmLbp;hAKZZAsM+LNP~fa5efQLr(z11WLuiF^KHk;(&zJ%D+f={bdMOp4&Br(0;^=EFQh%1sSA06GBT{G?Gun?Z!EiHIYlJ(L>h&Nh?SKUKLs5^ z-LKUY;9sRQ!T_oej8lzC8$9w;}({dBQ5oMf{)y3muBBnZw!YX?*gA^RWF}A_+5p zl8%@9x`2Kd()+=M*JtfP{fI(@bO9Yyv|lUf?v$dqX&|%|9oo!y7f@Nwa@}SG^#|H# z+3K2LxFb_4k?0s0fY=e9g54jiPsA<{sWRfk9fW4O7k<23W*GNN`?*j` zcuiie{?xTD)Tbe^6(VHiQ<;ySlf34n*`m?X#roidwzDMUU?@Za|oLb=e;m{l~S@SPKG|xhT`G z#NK#d6mOMXNu@=Aju1V%HCm42Z&^#1!EvkW+S+nW)bVS4ov&{a`_J!32$@a;YYbJo z10(`*Z?=9;itc#_!dDZMwrnpDzL2>z{Me5_jUszD^sZJMhWO9}wrsZEB2l4oT`2CL z4M@Ai*BFVRQ1{n&1-#Dh)AQF3?L#BN$4fS@5>T|502iFAlaboq6}LkF(t zm$QA<`!v}%=(b<^*kzakr2m}g_88v|deB82b*CZ+I@7?WXQ(J6ns87tU`-E>`+mli z{=AAP4KrYTxsD!7Uc7Y`mvzRQ!KqTP&!3aa?;wEt@##dfubBT@N|bb`Sl|aRCQ#Mf z4UZ)@qc6vn4bk(%@BA7bS&=N~rgXlY78~TRHTJX?;MM-K_f`u1C>!zIAl{YwP5e{2 zQO32AlcPOh@x^P8AoN`o08x}c5dB$6EP!}iG>%*ui2D$G`98xTdW=a<%*jvfil|n7 zWBTaMV`prM{xVg&W$pB_!n`@dM&jSCv3tI{3B=gTsoV@}hi zn}f^#L!kjqR1s%LNV%VA;bMr2(mBAFs*vB2T1f z^7<#AnJm_gif9$l5+)lxow=}q#)W#G zbbi>*=EmW^3FC`aq-4k6_*BvSK3JD*nC^wHg|{^LS~Yu#cMdvs!G7-TZ(B}%f1WAE zj9iC5?vc-_eg^Q!y?T%FgLEAa@IDepMfel_Fc16v-u4ia9_cBx)FQBdOVkpFmv7Hv znp06_sg3k*hQ?g7uQn~alR+=Zpj6y#k~v4%ih6cpxiR~wf6|mcUXd-doSEGQmBc*$ zTRxEWQ|oF}^u+`*Wi76)H__#Y)_WZyv?Eh^lOOU;Z?+@my4$Y+@~nmqpAU^g9iAl4 zD-Zq7goZvwyi2>;T2r4F0v*N^47aXy-~XxIwd1Nn=e>xl29bxL&F}+SgSI>yCWWDnDVx z-4(-$JQ*nul{CWyvM@%RvgQ0(*i0>1)cHCf7ggQqo<=1o+2I~vpEi-t@>Y)+_PLU# z7%5=VJeuHK*kSXy{G;^nc=#+l<>V%TQqds&jv#g0nd+4R&%!dR;{*UW7Mv8vP zCW@89Ls**x&4&5k{gT7EWety!{N-?ywbj|?i(f;FO_2}WDvJJuVO*{noN#G$RW)yE zod=l64?L+l`!K(tHU3SA{O9IqU{mMH{>QB5+te=yiyxvKKaJ(`ij@d+BRa`z#*#0I ze?a%qA+;|PVDnAyTU`21aY7b9w6QChN_ECfXZd0m@}HY8`Or)Iaj=PIG(Lb5!6)KQA*>XabyKmNR4<$h!!nP&OAQpM>)G0*|`3 z#|qT^CvNm`m+dai_uiL!sawaDi>uF6aCr1e{+=1T$;W&khjSJL6-Q=aY$Q9+O`a2B zVB`!!&Jx=C=D#T&jmN}jXs27V*{aI)X9Uh$j>pAlu#KVoB1z};j-EQbmED3NN8ToYXr-pv1(xmwfGA-gp)N0;d-M>|7)EX>JQ^j`&1CpTA}M_(oGN1$ zVGtS9JYaZhMy-tUc1}q*v1e@9IixLtX7OFZymQ2esQzHdMbXR%eY}5gZ4v>(^@$B^ z4C*D(iiD|+6K!r(Mb>RL*E=1!O2cag+h;1s z2ZLW(N1yWUmHZN2a2)53oG%?z-%*e)|DJ*|X=KX87e=w<<2c|8F_aq#r=M+^qZu$N zvU@5yR$}LKj4^h-S|(6yG-EQXefQJN;1SNR;+<0*;@2T~C6wdWU9ou!4;mf5e`1^d zNKB55z_!ZI~(Ym4r+K!?6jX@{lkZB26c*fa>VJJZ*v@9%%zo+7FeTI0+=ij1O zyWK5idioz59%O6joWh>GR^GAbarv@ZgIQL-!mZKYxBaVz4iR7w=7BR)NpDZzz zo2$8Kt@)d5%GWz<=h^bg$?5g;!{rv^#$0~%>VlQDS3CVQ0~Hjb3w1X^LMH=HU^#go zcH@Y3ScuEr@z1zZR1`I-SsSjTa6Yc1II4VMSUcL^E5Ji+BM~_;pnM7<(oUtB2sOA8 zDQ{dUL+Q8?^C|l2nTK_0sCp4bFH()I1K z9GhO{aLnWbmIoMDL25-CEbNNU6nfix^ir^vSw@&q!lva?RW0o<6mVSF)lJ`D0!^Z` z8@H-^F_M7t zVd@An))Kp!S;JNtV#j@Tmxso_TT`)FYdpAT-n2dUaR2CFjM;lR+&)Wh#-_IR`P-Za zNE(j-p(qbj%a5(%I6GoY#EtJ9hcuBRk#9u@zv}#o5k{SNb+ck!y>zpZ{WQMoF4694 zF=_9(IKe_Q-aK6S7<0)Oxs`^x+b@M5|4SYXa@r?Pik}Kn`Y4mI)D^o7d?`^fYIMvE z3-uRqWS88ZY2#O&9qRDnq;^|8AMWX~Rk3!fd~trAf{TJ%B|@`bVQs(3aj!*IDoMLs5^U>8ujvG#$?{=91Cp&7Ufk zXy#cHe&ffNRp9HK$@MRL*PZ@&%?$D1(Gtsxsgxy=1hx-(%GL2wi;q-!j(&7~3X)_q zJU%hMR&qEQxH&WntCmgYE#0!Jc-Z`8D>_s`A2h~GW&Db(dxCe61M-STGynfRWy zuAhp}4vkkcnuJcwbc7Sl)d3pIL6>S;jZTSN{p2D?5B>ohyB%Ys3zOuDV<5rGHb2q> zZ#%pSc;pIELwQuHBwMdrmfy9~C#Ktm+peDpN3Y#~&Qe9M8CR1W7`Xik zI$r&)h#6Pl0nmw2#Q`~8HkMzFKKJUOy=&Gqgjv!%mpsnMt+7Fa2dqq*$ZxL}c4%ij z(p?y*dG)H*T?DRhc9>z~OM6Kkq@q;vwcO5jf8N@ph3FuM2>#|}l@9ePM@np5KTSLB zmN=GwOT8rnN31$^4tDXYWTxw0wF>g1D_GD*^(wA4bM1E_i@gV;OvBZcRSWzwBKA)Z ze0a*^Cr<4S?|1VXa(t}5`{?&U2(FndUkW`yd~n9n{|w=SK;9c&&0nWGkapX05q)9L zUbKEXKDASV$oahg*zG*e!tbhbp)h5CjW8v=N}il zYigSU$o#6$@?$uidwL$e)Hsv8LT1aBp#ce5JW5AKW>Z&2{S|))ElKIHwT>86l!lcz zEku}^wv1;xH9OX_?%^{-xu@ouT0XiPMP(K(L-qqJ_*gOuMWoj@v{rA<2=pjG<_Js8$=^!X06vF+ffAapX1yjb^iUv9p8nh~eEaq0f0^SsOo% z;nL@bBc^$NDV)vrrO_Q_rB{lxq3u#}=2NcRk~KkXGD#(O7geliS#!e)_zi4h!GsBC zmT3<~oGPQ#<%%W`MnfSUs*)_dM59@SD^Ckt=OP0lwlC1hqw2|#c21< zvS-8e@Kg)eibpPrM@Wz4}C!}_`I7rG<;*kKC zI8d*f%b^S*J+6=PdSR7%Xo3*C)bGfk+miw5Bg*Y%c{Ta4;#1e@MV7*rT|N_qvw`y8 zbyFhbV^fkVH{Xxg6={D+T8ik2vvj&4(h{ZTP>@W8B(bUIsWd~6*ga%9^@4ve#slT` zUC}Xyd?H-r>)%G*cLMeoPU;GgS1sacX9`=T>CRFS(^@>CQ4nWz?@&e|YG zNe4ZXmeTnXda8!&Fw=v5J;W0BYkV=e^9gEFja%W19 zJson@s~%N_#9>OaxMmp{T^wSZ|9-7;LOsqvwSHnTFR&T=AjQ9>T`Hi|49QrpZLLVT zNHW^fd5HFX-PKZHa;KXDvAOwgDHNJpFC6q>2M=*1__u*g*Me93@^C3}YxJYQus0f= zRpnkTtQODlUtt(5Ds((B&eh?`d=ce!?f7LI%RpW$74sP))Xf}D0heG~Ty?JIdqkp;+J`s?H#I!TyR$6ELNG89^eqXuGZ)fiA z&#o6qWV^^@@XYP6#9g+z3l8+2I6$A?Q8$C&K$k?n*`WAQWD{MA0;g}S@ zVrHxKOx~S1_OZ~N#KC^xV~cm^!_}|1_kC3uGP=*|-HzS|*Y+CU^AxFNXM2+icpSDD*-}$DG zFzj>hx79jRo8W#qwNwviRroNvQFQz}KiT2Vq)qH>97)J>c$^==Eg+6)U>IH@)HfVDp~qQ^Q{i^fuk%L1U>v^VR!Pk&l>r~m5IwAIX+wV`Ug%m zMpp)jep$`7N1{zw~3@j{m6aN_7skYs^(lh}twAC0)V zpck{+z0zoJM`f`;RXG=?T}2wYj=L^4j%vBQoYgg<*jWm|_x={&9@C9?YqAGBSAbCw zI@clC=Wtj9J_EmP=!g8{Pl_9*86q~+%xOGo_%=kBMgV__({^}wIc4aU;PIrZJ8!5wvtd$ zA+4JAXta7YS!kg?7Sr{))t(taNeuGnHp2?@5kKL6y30tjKhs^)*~`rO?molynZREw z_{nE#1zcOsrRA`RirbN{VA^SF*Y5~rJTdYzar}sset7}-Q+|Y1pd!Awq@(5Yf+EH> zc6%h$gt&zmQd$hXE7Fj91s|cQu)}b^G@^RtLZTPpVXQ&XyOxU@4CPZd9lLXtGT*A- zYND|jr;-i&!vb~5I#NT87fWw~C`HMJPssZy$Z>KeYyy$rf9gc`r?F(7quXmXEIm;P zcP(JeJu?*}nBUbAEHit|tEPpub8%=-Sw*!h^1Y=}>OF3kt>LHj*QuvYaf5}r%dO*Yw}V$QR9v3<8q@^M}i1Bmc7@i z#(5o#o4W)Pa{O$Lhvg-}NXyYA!GU-NEMsVuGWDU5l8P5icj0o_qv2fo$}$oybdFr< zKbi>G40}vy6Xx3?Gd1?LwJ|tyu&_|;w`}?{#x{S4!>h^Q(T>##*P5J%7O#AZ`fIVE z@>2E)R9n3{p#`~ozUq@Vq2A9&&^safL1ktXNlV!SD%{^MC9b|~nYOhLv6%*E=(H@p zwT}%k6uGLPC>W-=y?R}V7;L3c#~Fh}=c=C;B;XOVE2KhRL2fUxYY}g#IBUa{*w9e) z4=~A(n&C!`9U~hWe^!{3^cHO>pDbp0A7N+O8TJdfiwK^3INZwbS@?vX2hX%$By4nj zZhw>}T&KI1m?FmV>~l_Z<@XtpinZOM8;!W#m}iC`o5voHI&|my2Ovp9|zo_%-H1abO zorljL_^oTa7Jw+37FXY6TqC2PVdh9K|5^a2)8Y!LH7He>Bgf0of*_lE|C_WdRqO)~ zWg8{Kb1o~J>qmpsVMIy}dq#pCr4uyxMBPtJcuf|SaIsKYNt5D5#!*n7jR}3l zS#J&iWtD^D$qQuSZ>~X~XRNkdpM1aNyHZ&2Q_gB}Ig6!W>hQ?Q<`JvYNF>Kg|ITE4 zEfLl$lppt_%khtB;|Y|^(K{1DO}2@FzOE()&FwFXVz7M+AZcv<@#QE&)$XM7#Z8~_ zPQ=f2j6VOq@qzIb$=3ea_YEWxHJYT=;Syp3`gIZoU!1X@q-tZQus`Z_Y z771&G5+VmFmm6WzuyrC=QN*qF(vQt05AbT=9h0Va+k1`{??1;nr3nq~HT?8vcUjmP zq`Ur;yAB=Hew2B-9|YxV-6R_XddU&>uqZjE*xHp5!BO5tAzc{6U~A(?AN~nrg**||Sxt=uPQdG9ciVufb;P*9(&z1>oHv9=wL-9E-{Ze;F|@)*?+Il|N4k1;@hpX8fIGH5~-Bb{^7=#cw$N`JVLl zIrD^86eEn8kfJ~Gh(wL3n~$;Fc2}k12Pq&L`Ac?HMzPDip#mpk&T30UK{!O%IM+U z-el(G(oGF+tZFt!iF~u-Y~xxgj)8gsRFeN212eW67_kN)nWGdD{yjB7Zaca^Gx+D! z;Qr@t-=>~Ew6fx|rmPG)(b7!7X!8V>^O)b70;n;52(dIsBgfU+mX|x7Xe^BM9!(@B!7=oc%_~Py|nKWsXR8vBgu#t zgTv&?ntOs|?P<}0w~lPke6djZ0ip?NB8|B6J)wu~X_d&IdnkbiukstLpnN99=a#{I zdBkU41*^u^P3y;!EF&(xA)g*}q-HTvEKZ2N1Z$CEO)UfPuTY$<4_Y9mmohBLWI@#Z)KN7L zGv&Q1$)wCPrzDc<|7l>crP*CoXZYt%b|H-IX*~_v!)wzigO6Iax+bI!0TiFk7kjpc z6v{s}T8C!*@W+kw!ClQrY(s07ktiWCqr;H;ENw~{~h6*2-%Y@c46*5=i;>1hL(?( z0~rikUpK#=T~O_=^j35@)QPr6x;+-Q!0-^D6ebL?k^C9TOhL-NGi$Jxspe=ahid(0N9$;h5q#EOI#ZNrnYEUw3nj@tAvYBQyU*( zhL=z%G1dY#8g(1#{=!4B%p6JMwK4ouX6@4}EBml9j;K(Xi_uZTH}3Vg`R$&wv0`!g z1{LS?d>@;YT(mw6nwts4R`_2nV}Do;3*JxP=!d^KM@bIGcdkouij!7a`M&?KvhHe1 z#{2rq0AE|l*Hqj)9L~DMpi-1>8In%|k zwGfoqssTfZi55D#C?EJYV^8;mYN8{n(QUsueW-KZ?4lkt~LDg^z!TN zI;y3^{H#8`M>J*bW3eBNUmF(Yh{_{AkdGpHz%QHnI@2doZZ^`O{`Y@La*zio1U7Cx VlK2@BIDg~9{RRF0k52>8{{@XktPB7E literal 0 HcmV?d00001 diff --git a/sound/mecha/hydraulic.ogg b/sound/mecha/hydraulic.ogg new file mode 100644 index 0000000000000000000000000000000000000000..3281ed2dc0f04f79fe314f8ff9ee7b82ccd8ebfd GIT binary patch literal 27124 zcmagF1z29cvM;<|+@ZLY;ts{F#ogWAU5XY8lmewV6e#ZQ?(XgsFAl|}c!9#V=zs5X z_IK`m&RtJPvob4_Wac-MNt##D(oz+G0{->nQ~gt*NKb}?kU-oWolUG=o~s~YrT_ZG z1M;`f2vK})`Crd-%V)}*g()7!o2UQZGX(t)BLYG-Yt@s~ZRG$|Vk zD;oH)le4*txq~a+Gj9m&KTYXGL^U7)0$9T;N80B%8LbWg7yw{INrx6| zAx)PTmqqKD7$@~y>SGB>j0@?*Hw|a)|93{pVTJ<$Fn}K|Vr0%wX`69gOMIG0=S*H} z1)c&@_)z6_Uc~MzYEy^&+I(AwaXKmlRBc!Ql#7rQ*=KB(=gcISEC?UWz7RVPk`<&n zBheRT`XjLok_O1J?dQfS@a-4oMDiWb)=r8bGu2MZ$g$39n3lJ}>3h43^X{hpD?|J{ z4^nU}B5(v|7$OMI?1Sm@6P-a;|4fS%@B^m_NPfkZuEHLvA|9KfR6J)?#^Rh}7gtr2 zR|g+AeNA`sd3U#YcOUJ<&$^91+Kr!e7e4FXd^W}p`d7O3S-W{of2U3g0Wv9g{Z(_g%R6Cq2p zh_~@WV2?KbD;7VHEq)e)D9S%Qfgc2CZIdQXCSQ#4q9yNS7GbB%bcLv;&@>e#ru@~Q z-8jJ(s7t!xq`u6g$z+#tX_Vx=e@dR1Dez@Q(_kIJZYo+ofid`<^>i|P(V`aER(mq} zXJHdISPF?tp{Z+9`-k7ZU{Pd{I^M;*0k#NPO0jK1)CWty%~DUs5TEP*CwzoJy%{gy z_ow-j`b5H+V3XyO#ge#2p~Ysh4$|e4L_|u+6a^@$5YXhg`v09dDF6gw{6+D!+!^J>i&)R&1Azsk`1lE694geZW;9r}JGYMxMNDWXBLHtL-|F)cW*aKgQ zhrUwER#VDPGmf2eC|+<(VTmhq$gAS$PvN-D;F_y)>CbSQ�Tvx|=W7o9j0CXxIPC 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 Y0Px@1z?|Gxl7|7W5k}1^heBJZ0d-haEC2ui literal 0 HcmV?d00001 diff --git a/sound/weapons/revolverempty.ogg b/sound/weapons/revolverempty.ogg new file mode 100644 index 0000000000000000000000000000000000000000..81ddb1e2e0e2f20f80319579a6c0e59a89ce1e51 GIT binary patch literal 9578 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 { + switch (param) { + case 'red': + return [ + 1, 0, 0, 0, 0.25, 0.5, 0, 0, 0.25, 0, 0.5, 0, 0, 0, 0, 1, 0, 0, 0, 0, + ]; + case 'yellow': + return [ + 0.5, 0.5, 0, 0, 0.5, 0.5, 0, 0, 0.25, 0.25, 0.5, 0, 0, 0, 0, 1, 0, 0, 0, + 0, + ]; + case 'green': + return [ + 0.5, 0.25, 0, 0, 0, 1, 0, 0, 0, 0.25, 0.5, 0, 0, 0, 0, 1, 0, 0, 0, 0, + ]; + case 'teal': + return [ + 0.25, 0.25, 0.25, 0, 0, 0.5, 0.5, 0, 0, 0.5, 0.5, 0, 0, 0, 0, 1, 0, 0, + 0, 0, + ]; + case 'blue': + return [ + 0.25, 0, 0.25, 0, 0, 0.5, 0.25, 0, 0, 0, 1, 0, 0, 0, 0, 1, 0, 0, 0, 0, + ]; + case 'purple': + return [ + 0.5, 0, 0.5, 0, 0.25, 0.5, 0.25, 0, 0.5, 0, 0.5, 0, 0, 0, 0, 1, 0, 0, 0, + 0, + ]; + } +}; + +const displayText = (param) => { + switch (param) { + case 'r': + return 'Red'; + case 'g': + return 'Green'; + case 'b': + return 'Blue'; + } +}; + +export const MODpaint = (props, context) => { + const { act, data } = useBackend(context); + const { mapRef, currentColor } = data; + const [ + [rr, rg, rb, ra], + [gr, gg, gb, ga], + [br, bg, bb, ba], + [ar, ag, ab, aa], + [cr, cg, cb, ca], + ] = currentColor; + const presets = ['red', 'yellow', 'green', 'teal', 'blue', 'purple']; + const prefixes = ['r', 'g', 'b']; + return ( + + + + + {[0, 1, 2].map((row) => ( +

+ {[0, 1, 2].map((col) => ( + + + + {`${displayText(prefixes[col])}:`} + + + + `${value}%`} + onDrag={(e, value) => { + let retColor = currentColor; + retColor[row * 4 + col] = value / 100; + act('transition_color', { color: retColor }); + }} + /> + + + ))} +
+ ))} + + +
+ + {presets.map((preset) => ( +
+
+
+
+ +
+ +
+
+ + + + ); +}; diff --git a/tgui/packages/tgui/interfaces/MODsuit.js b/tgui/packages/tgui/interfaces/MODsuit.js new file mode 100644 index 0000000000..81e604c579 --- /dev/null +++ b/tgui/packages/tgui/interfaces/MODsuit.js @@ -0,0 +1,766 @@ +import { useBackend, useLocalState } from '../backend'; +import { Button, ColorBox, LabeledList, ProgressBar, Section, Collapsible, Box, Icon, Stack, Table, Dimmer, NumberInput, Flex, AnimatedNumber, Dropdown } from '../components'; +import { Window } from '../layouts'; + +const ConfigureNumberEntry = (props, context) => { + const { name, value, module_ref } = props; + const { act } = useBackend(context); + return ( + + act('configure', { + 'key': name, + 'value': value, + 'ref': module_ref, + })} + /> + ); +}; + +const ConfigureBoolEntry = (props, context) => { + const { name, value, module_ref } = props; + const { act } = useBackend(context); + return ( + + act('configure', { + 'key': name, + 'value': !value, + 'ref': module_ref, + })} + /> + ); +}; + +const ConfigureColorEntry = (props, context) => { + const { name, value, module_ref } = props; + const { act } = useBackend(context); + return ( + <> + + + + + + ); +}; + +const displayText = (param) => { + switch (param) { + case 1: + return 'Use'; + case 2: + return 'Toggle'; + case 3: + return 'Select'; + } +}; + +const ParametersSection = (props, context) => { + const { act, data } = useBackend(context); + const { + active, + malfunctioning, + locked, + open, + selected_module, + complexity, + complexity_max, + wearer_name, + wearer_job, + AI, + is_pAI, + is_user_AI, + } = data; + const status = malfunctioning + ? 'Malfunctioning' + : active + ? 'Active' + : 'Inactive'; + return ( +
+ + act('activate')} + /> + }> + {status} + + act('lock')} + /> + }> + {locked ? 'Locked' : 'Unlocked'} + + + {open ? 'Open' : 'Closed'} + + + {selected_module || 'None'} + + + {complexity} ({complexity_max}) + + + {wearer_name}, {wearer_job} + + act('remove_pai')} + /> + ) : (<> ) + }> + {AI || 'None'} + + +
+ ); +}; + +const HardwareSection = (props, context) => { + const { act, data } = useBackend(context); + const { + active, + control, + helmet, + chestplate, + gauntlets, + boots, + cell, + charge, + } = data; + return ( +
+ + + {control} + {helmet || 'None'} + + {chestplate || 'None'} + + + {gauntlets || 'None'} + + {boots || 'None'} + + + + {(cell && ( + + {cell} + + + + + )) || ( + + No Cell Detected + + )} + +
+ ); +}; + +const InfoSection = (props, context) => { + const { act, data } = useBackend(context); + const { active, modules } = data; + const info_modules = modules.filter((module) => !!module.id); + + return ( +
+ + {(info_modules.length !== 0 + && info_modules.map((module) => { + const Module = ID2MODULE[module.id]; + return ( + + {!active && } + + + ); + })) || No Info Modules Detected} + +
+ ); +}; + +const ModuleSection = (props, context) => { + const { act, data } = useBackend(context); + const { complexity_max, modules } = data; + const [configureState, setConfigureState] = useLocalState( + context, + 'module_configuration', + null + ); + return ( +
+ + {(modules.length !== 0 + && modules.map((module) => { + return ( + + +
+ {configureState === module.ref && ( + setConfigureState(null)} + /> + )} + + + +
+ {module.description} +
+
+
+ ); + })) || ( + + No Modules Detected + + )} +
+
+ ); +}; + +export const MODsuit = (props, context) => { + const { act, data } = useBackend(context); + const { ui_theme, interface_break } = data; + return ( + + + {(!!interface_break && ) || ( + + + + + + + + + + + + + + + )} + + + ); +}; diff --git a/tgui/packages/tgui/interfaces/SuitStorageUnit.js b/tgui/packages/tgui/interfaces/SuitStorageUnit.js index c6f66a79d2..c7ac915153 100644 --- a/tgui/packages/tgui/interfaces/SuitStorageUnit.js +++ b/tgui/packages/tgui/interfaces/SuitStorageUnit.js @@ -14,6 +14,7 @@ export const SuitStorageUnit = (props, context) => { suit, helmet, mask, + mod, storage, } = data; return ( @@ -89,6 +90,15 @@ export const SuitStorageUnit = (props, context) => { item: 'mask', })} /> + +