From f501b1e49e89042cc71b5e269521d8f2b1db032d Mon Sep 17 00:00:00 2001 From: Fikou <23585223+Fikou@users.noreply.github.com> Date: Wed, 18 May 2022 07:19:31 +0200 Subject: [PATCH] MODsuit module update: new stuff and improved old stuff (#67042) Doubles the range of the MOD Pathfinder AI Fixes modules rendering below the suit. Adds the ability for modules to be used when inactive. Documents/cleans up some code. Updates some old descriptions and explains some concepts better. Armor Booster and Ash Accretion can no longer boost your speed over no slowdown at all. Makes flashlight module start with 4 instead of 3 range, so it's better for people that don't know about configuration. Doubles t-ray module range, from 2 to 4 (t-ray scanner is 3). Puts the noslip module lower in progression, lowers its' price to 2. New sprites for the magnetic harness module by Onule. Brings back the holster module, it can now be used when the suit is inactive, can be printed with security suit research. Adds the power kick module for the ERT Commander. It's a powerful kick. --- code/__DEFINES/ai.dm | 2 +- code/__DEFINES/mobs.dm | 2 +- code/modules/clothing/head/_head.dm | 2 - code/modules/mob/mob_helpers.dm | 39 ++++ code/modules/mod/mod_activation.dm | 2 +- code/modules/mod/mod_clothes.dm | 1 - code/modules/mod/mod_control.dm | 9 +- code/modules/mod/mod_types.dm | 8 +- code/modules/mod/modules/_module.dm | 51 +++--- code/modules/mod/modules/module_kinesis.dm | 8 +- code/modules/mod/modules/module_pathfinder.dm | 4 +- code/modules/mod/modules/modules_antag.dm | 173 +++++++++++++++++- .../mod/modules/modules_engineering.dm | 6 +- code/modules/mod/modules/modules_general.dm | 12 +- code/modules/mod/modules/modules_maint.dm | 2 + code/modules/mod/modules/modules_medical.dm | 3 + code/modules/mod/modules/modules_security.dm | 51 ++++++ code/modules/mod/modules/modules_supply.dm | 23 +-- .../designs/mechfabricator_designs.dm | 9 +- code/modules/research/techweb/all_nodes.dm | 1 + code/modules/uplink/uplink_items/nukeops.dm | 24 ++- code/modules/uplink/uplink_items/suits.dm | 32 +++- icons/effects/magic.dmi | Bin 19750 -> 19757 bytes icons/obj/clothing/modsuit/mod_modules.dmi | Bin 41477 -> 43193 bytes strings/french_replacement.json | 86 ++++----- strings/memories.json | 2 +- 26 files changed, 429 insertions(+), 123 deletions(-) diff --git a/code/__DEFINES/ai.dm b/code/__DEFINES/ai.dm index 076efefc7d5..2b931df61e4 100644 --- a/code/__DEFINES/ai.dm +++ b/code/__DEFINES/ai.dm @@ -108,7 +108,7 @@ ///The implant the AI was created from #define BB_MOD_IMPLANT "BB_mod_implant" ///Range for a MOD AI controller. -#define MOD_AI_RANGE 100 +#define MOD_AI_RANGE 200 ///Vending machine AI controller blackboard keys #define BB_VENDING_CURRENT_TARGET "BB_vending_current_target" diff --git a/code/__DEFINES/mobs.dm b/code/__DEFINES/mobs.dm index 514dedc6c71..dd300d721a4 100644 --- a/code/__DEFINES/mobs.dm +++ b/code/__DEFINES/mobs.dm @@ -594,7 +594,7 @@ #define SHOES_LAYER 20 /// Ears layer (Spessmen have ears? Wow) #define EARS_LAYER 19 -/// Suit layer (armor, hardsuits, etc.) +/// Suit layer (armor, coats, etc.) #define SUIT_LAYER 18 /// Glasses layer #define GLASSES_LAYER 17 diff --git a/code/modules/clothing/head/_head.dm b/code/modules/clothing/head/_head.dm index b6f8596f05d..fd298f3bb88 100644 --- a/code/modules/clothing/head/_head.dm +++ b/code/modules/clothing/head/_head.dm @@ -1,8 +1,6 @@ /obj/item/clothing/head name = BODY_ZONE_HEAD icon = 'icons/obj/clothing/hats.dmi' - icon_state = "tophat" - inhand_icon_state = "that" body_parts_covered = HEAD slot_flags = ITEM_SLOT_HEAD var/blockTracking = 0 //For AI tracking diff --git a/code/modules/mob/mob_helpers.dm b/code/modules/mob/mob_helpers.dm index c8d522ddf5a..9a110965423 100644 --- a/code/modules/mob/mob_helpers.dm +++ b/code/modules/mob/mob_helpers.dm @@ -426,3 +426,42 @@ if(client?.combo_hud_enabled && client?.prefs?.toggles & COMBOHUD_LIGHTING) return LIGHTING_PLANE_ALPHA_INVISIBLE return initial(lighting_alpha) + +/// Returns a generic path of the object based on the slot +/proc/get_path_by_slot(slot_id) + switch(slot_id) + if(ITEM_SLOT_BACK) + return /obj/item/storage/backpack + if(ITEM_SLOT_MASK) + return /obj/item/clothing/mask + if(ITEM_SLOT_NECK) + return /obj/item/clothing/neck + if(ITEM_SLOT_HANDCUFFED) + return /obj/item/restraints/handcuffs + if(ITEM_SLOT_LEGCUFFED) + return /obj/item/restraints/legcuffs + if(ITEM_SLOT_BELT) + return /obj/item/storage/belt + if(ITEM_SLOT_ID) + return /obj/item/card/id/advanced + if(ITEM_SLOT_EARS) + return /obj/item/clothing/ears + if(ITEM_SLOT_EYES) + return /obj/item/clothing/glasses + if(ITEM_SLOT_GLOVES) + return /obj/item/clothing/gloves + if(ITEM_SLOT_HEAD) + return /obj/item/clothing/head + if(ITEM_SLOT_FEET) + return /obj/item/clothing/shoes + if(ITEM_SLOT_OCLOTHING) + return /obj/item/clothing/suit + if(ITEM_SLOT_ICLOTHING) + return /obj/item/clothing/under + if(ITEM_SLOT_LPOCKET) + return /obj/item + if(ITEM_SLOT_RPOCKET) + return /obj/item + if(ITEM_SLOT_SUITSTORE) + return /obj/item + return null diff --git a/code/modules/mod/mod_activation.dm b/code/modules/mod/mod_activation.dm index 6a2b6a2ffa7..9fbea364319 100644 --- a/code/modules/mod/mod_activation.dm +++ b/code/modules/mod/mod_activation.dm @@ -145,7 +145,7 @@ 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) + if(!module.active || module.allowed_inactive) continue module.on_deactivation(display_message = FALSE) activating = TRUE diff --git a/code/modules/mod/mod_clothes.dm b/code/modules/mod/mod_clothes.dm index 2c71d366d72..fc7d0c55ac1 100644 --- a/code/modules/mod/mod_clothes.dm +++ b/code/modules/mod/mod_clothes.dm @@ -9,7 +9,6 @@ heat_protection = HEAD cold_protection = HEAD obj_flags = IMMUTABLE_SLOW - var/alternate_layer = NECK_LAYER /obj/item/clothing/suit/mod name = "MOD chestplate" diff --git a/code/modules/mod/mod_control.dm b/code/modules/mod/mod_control.dm index 6927c600eb3..df59c077e0a 100644 --- a/code/modules/mod/mod_control.dm +++ b/code/modules/mod/mod_control.dm @@ -622,13 +622,12 @@ CRASH("[src] tried to set skin while active!") skin = new_skin var/list/used_skin = theme.skins[new_skin] - alternate_worn_layer = used_skin[CONTROL_LAYER] + if(used_skin[CONTROL_LAYER]) + alternate_worn_layer = used_skin[CONTROL_LAYER] var/list/skin_updating = mod_parts + src for(var/obj/item/part as anything in skin_updating) - if(used_skin[MOD_ICON_OVERRIDE]) - part.icon = used_skin[MOD_ICON_OVERRIDE] - if(used_skin[MOD_WORN_ICON_OVERRIDE]) - part.worn_icon = used_skin[MOD_WORN_ICON_OVERRIDE] + part.icon = used_skin[MOD_ICON_OVERRIDE] || 'icons/obj/clothing/modsuit/mod_clothing.dmi' + part.worn_icon = used_skin[MOD_WORN_ICON_OVERRIDE] || 'icons/mob/clothing/modsuit/mod_clothing.dmi' part.icon_state = "[skin]-[initial(part.icon_state)]" for(var/obj/item/clothing/part as anything in mod_parts) var/used_category diff --git a/code/modules/mod/mod_types.dm b/code/modules/mod/mod_types.dm index 467ce90330e..69736850748 100644 --- a/code/modules/mod/mod_types.dm +++ b/code/modules/mod/mod_types.dm @@ -242,11 +242,11 @@ /obj/item/mod/control/pre_equipped/responsory/commander insignia_type = /obj/item/mod/module/insignia/commander - additional_module = /obj/item/mod/module/noslip + additional_module = /obj/item/mod/module/power_kick /obj/item/mod/control/pre_equipped/responsory/security insignia_type = /obj/item/mod/module/insignia/security - additional_module = /obj/item/mod/module/gps + additional_module = /obj/item/mod/module/pepper_shoulders /obj/item/mod/control/pre_equipped/responsory/engineer insignia_type = /obj/item/mod/module/insignia/engineer @@ -281,11 +281,11 @@ /obj/item/mod/control/pre_equipped/responsory/inquisitory/commander insignia_type = /obj/item/mod/module/insignia/commander - additional_module = /obj/item/mod/module/noslip + additional_module = /obj/item/mod/module/power_kick /obj/item/mod/control/pre_equipped/responsory/inquisitory/security insignia_type = /obj/item/mod/module/insignia/security - additional_module = /obj/item/mod/module/gps + additional_module = /obj/item/mod/module/pepper_shoulders /obj/item/mod/control/pre_equipped/responsory/inquisitory/medic insignia_type = /obj/item/mod/module/insignia/medic diff --git a/code/modules/mod/modules/_module.dm b/code/modules/mod/modules/_module.dm index 328c0a7b344..1cf5b66269b 100644 --- a/code/modules/mod/modules/_module.dm +++ b/code/modules/mod/modules/_module.dm @@ -43,6 +43,8 @@ var/list/pinned_to = list() /// 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) @@ -68,33 +70,10 @@ if(HAS_TRAIT(user, TRAIT_DIAGNOSTIC_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(deleting = FALSE) - 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(deleting = FALSE) - 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, radial or the action button /obj/item/mod/module/proc/on_select() - if(!mod.active || mod.activating || module_type == MODULE_PASSIVE) + if(((!mod.active || mod.activating) && !allowed_inactive) || module_type == MODULE_PASSIVE) if(mod.wearer) balloon_alert(mod.wearer, "not active!") return @@ -212,6 +191,30 @@ /obj/item/mod/module/proc/on_active_process(delta_time) return +/// 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(deleting = FALSE) + 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(deleting = FALSE) + 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 + /// Drains power from the suit charge /obj/item/mod/module/proc/drain_power(amount) if(!check_power(amount)) diff --git a/code/modules/mod/modules/module_kinesis.dm b/code/modules/mod/modules/module_kinesis.dm index 840ae7d45fc..efb33a72659 100644 --- a/code/modules/mod/modules/module_kinesis.dm +++ b/code/modules/mod/modules/module_kinesis.dm @@ -243,11 +243,11 @@ var/list/view = getviewsize(kinesis_user.client.view) icon_x *= view[1]/FULLSCREEN_OVERLAY_RESOLUTION_X icon_y *= view[2]/FULLSCREEN_OVERLAY_RESOLUTION_Y - var/our_x = round(icon_x / world.icon_size) - var/our_y = round(icon_y / world.icon_size) + var/our_x = round(icon_x / world.icon_size, 1) + var/our_y = round(icon_y / world.icon_size, 1) var/mob_x = kinesis_user.x var/mob_y = kinesis_user.y var/mob_z = kinesis_user.z given_turf = locate(mob_x+our_x-round(view[1]/2),mob_y+our_y-round(view[2]/2),mob_z) - given_x = round(icon_x - world.icon_size * our_x) - given_y = round(icon_y - world.icon_size * our_y) + given_x = round(icon_x - world.icon_size * our_x, 1) + given_y = round(icon_y - world.icon_size * our_y, 1) diff --git a/code/modules/mod/modules/module_pathfinder.dm b/code/modules/mod/modules/module_pathfinder.dm index 2de81c0222b..505e6953dcd 100644 --- a/code/modules/mod/modules/module_pathfinder.dm +++ b/code/modules/mod/modules/module_pathfinder.dm @@ -3,8 +3,8 @@ name = "MOD pathfinder module" desc = "This module, brought to you by Nakamura Engineering, has two components. \ The first component is a series of thrusters and a computerized location subroutine installed into the \ - very control unit of the suit, allowing it flight at highway speeds, \ - and to be able to locate the second part of the system; \ + very control unit of the suit, allowing it flight at highway speeds using the suit's access locks \ + to navigate through the station, and to be able to locate the second part of the system; \ a pathfinding implant installed into the base of the user's spine, \ broadcasting their location to the suit and allowing them to recall it to their person at any time. \ The implant is stored in the module and needs to be injected in a human to function. \ diff --git a/code/modules/mod/modules/modules_antag.dm b/code/modules/mod/modules/modules_antag.dm index 6ee8deb0ad9..eabac9359c6 100644 --- a/code/modules/mod/modules/modules_antag.dm +++ b/code/modules/mod/modules/modules_antag.dm @@ -18,8 +18,10 @@ use_mod_colors = TRUE /// Whether or not this module removes pressure protection. var/remove_pressure_protection = TRUE - /// Slowdown added to the suit. - var/added_slowdown = -0.5 + /// Speed added to the control unit. + var/speed_added = 0.5 + /// Speed that we actually added. + var/actual_speed_added = 0 /// Armor values added to the suit parts. var/list/armor_values = list(MELEE = 25, BULLET = 30, LASER = 15, ENERGY = 15) /// List of parts of the suit that are spaceproofed, for giving them back the pressure protection. @@ -38,7 +40,8 @@ if(!.) return playsound(src, 'sound/mecha/mechmove03.ogg', 25, TRUE, SHORT_RANGE_SOUND_EXTRARANGE) - mod.slowdown += added_slowdown + actual_speed_added = max(0, min(mod.slowdown_active, speed_added)) + mod.slowdown -= actual_speed_added mod.wearer.update_equipment_speed_mods() var/list/parts = mod.mod_parts + mod for(var/obj/item/part as anything in parts) @@ -56,7 +59,7 @@ return if(!deleting) playsound(src, 'sound/mecha/mechmove03.ogg', 25, TRUE, SHORT_RANGE_SOUND_EXTRARANGE) - mod.slowdown -= added_slowdown + mod.slowdown += actual_speed_added mod.wearer.update_equipment_speed_mods() var/list/parts = mod.mod_parts + mod var/list/removed_armor = armor_values.Copy() @@ -288,3 +291,165 @@ /obj/projectile/bullet/incendiary/backblast/flamethrower range = 6 + +///Power kick - Lets the user launch themselves at someone to kick them. +/obj/item/mod/module/power_kick + name = "MOD power kick module" + desc = "This module uses high-power myomer to generate an incredible amount of energy, transferred into the power of a kick." + icon_state = "power_kick" + module_type = MODULE_ACTIVE + removable = FALSE + use_power_cost = DEFAULT_CHARGE_DRAIN*5 + incompatible_modules = list(/obj/item/mod/module/power_kick) + cooldown_time = 5 SECONDS + /// Damage on kick. + var/damage = 20 + /// The wound bonus of the kick. + var/wounding_power = 35 + /// How long we knockdown for on the kick. + var/knockdown_time = 2 SECONDS + +/obj/item/mod/module/power_kick/on_select_use(atom/target) + . = ..() + if(!.) + return + mod.wearer.visible_message(span_warning("[mod.wearer] starts charging a kick!"), \ + blind_message = span_hear("You hear a charging sound.")) + playsound(src, 'sound/items/modsuit/loader_charge.ogg', 75, TRUE) + balloon_alert(mod.wearer, "you start charging...") + animate(mod.wearer, 0.3 SECONDS, pixel_z = 16, flags = ANIMATION_RELATIVE|SINE_EASING|EASE_OUT) + addtimer(CALLBACK(mod.wearer, /atom.proc/SpinAnimation, 3, 2), 0.3 SECONDS) + if(!do_after(mod.wearer, 1 SECONDS, target = mod)) + animate(mod.wearer, 0.2 SECONDS, pixel_z = -16, flags = ANIMATION_RELATIVE|SINE_EASING|EASE_IN) + return + animate(mod.wearer) + drain_power(use_power_cost) + playsound(src, 'sound/items/modsuit/loader_launch.ogg', 75, TRUE) + var/angle = get_angle(mod.wearer, target) + 180 + mod.wearer.transform = mod.wearer.transform.Turn(angle) + RegisterSignal(mod.wearer, COMSIG_MOVABLE_IMPACT, .proc/on_throw_impact) + mod.wearer.throw_at(target, range = 7, speed = 2, thrower = mod.wearer, spin = FALSE, gentle = TRUE, callback = CALLBACK(src, .proc/on_throw_end, mod.wearer, -angle)) + +/obj/item/mod/module/power_kick/proc/on_throw_end(mob/user, angle) + if(!user) + return + user.transform = user.transform.Turn(angle) + animate(user, 0.2 SECONDS, pixel_z = -16, flags = ANIMATION_RELATIVE|SINE_EASING|EASE_IN) + +/obj/item/mod/module/power_kick/proc/on_throw_impact(mob/living/source, atom/target, datum/thrownthing/thrownthing) + SIGNAL_HANDLER + + UnregisterSignal(source, COMSIG_MOVABLE_IMPACT) + if(!mod?.wearer) + return + if(isliving(target)) + var/mob/living/living_target = target + living_target.apply_damage(damage, BRUTE, mod.wearer.zone_selected, wound_bonus = wounding_power) + living_target.Knockdown(knockdown_time) + else if(target.uses_integrity) + target.take_damage(damage, BRUTE, MELEE) + else + return + mod.wearer.do_attack_animation(target, ATTACK_EFFECT_SMASH) + +///Chameleon - lets the suit disguise as any item that would fit on that slot. +/obj/item/mod/module/chameleon + name = "MOD chameleon module" + desc = "A module using chameleon technology to disguise the suit as another object." + icon_state = "chameleon" + module_type = MODULE_USABLE + complexity = 2 + incompatible_modules = list(/obj/item/mod/module/chameleon) + cooldown_time = 0.5 SECONDS + allowed_inactive = TRUE + /// A list of all the items the suit can disguise as. + var/list/possible_disguises = list() + /// The path of the item we're disguised as. + var/obj/item/current_disguise + +/obj/item/mod/module/chameleon/on_install() + var/list/all_disguises = sort_list(subtypesof(get_path_by_slot(mod.slot_flags)), /proc/cmp_typepaths_asc) + for(var/clothing_path in all_disguises) + var/obj/item/clothing = clothing_path + if(!initial(clothing.icon_state)) + continue + var/chameleon_item_name = "[initial(clothing.name)] ([initial(clothing.icon_state)])" + possible_disguises[chameleon_item_name] = clothing_path + +/obj/item/mod/module/chameleon/on_uninstall(deleting = FALSE) + if(current_disguise) + return_look() + possible_disguises = null + +/obj/item/mod/module/chameleon/on_use() + if(mod.active || mod.activating) + balloon_alert(mod.wearer, "suit active!") + return + . = ..() + if(!.) + return + if(current_disguise) + return_look() + return + var/picked_name = tgui_input_list(mod.wearer, "Select look to change into", "Chameleon Settings", possible_disguises) + if(!possible_disguises[picked_name] || mod.active || mod.activating) + return + current_disguise = possible_disguises[picked_name] + update_look() + +/obj/item/mod/module/chameleon/proc/update_look() + mod.name = initial(current_disguise.name) + mod.desc = initial(current_disguise.desc) + mod.icon_state = initial(current_disguise.icon_state) + mod.icon = initial(current_disguise.icon) + mod.worn_icon = initial(current_disguise.worn_icon) + mod.alternate_worn_layer = initial(current_disguise.alternate_worn_layer) + mod.lefthand_file = initial(current_disguise.lefthand_file) + mod.righthand_file = initial(current_disguise.righthand_file) + mod.worn_icon_state = initial(current_disguise.worn_icon_state) + mod.inhand_icon_state = initial(current_disguise.inhand_icon_state) + mod.wearer.update_clothing(mod.slot_flags) + RegisterSignal(mod, COMSIG_MOD_ACTIVATE, .proc/return_look) + +/obj/item/mod/module/chameleon/proc/return_look() + mod.name = "[mod.theme.name] [initial(mod.name)]" + mod.desc = "[initial(mod.desc)] [mod.theme.desc]" + mod.icon_state = "[mod.skin]-[initial(mod.icon_state)]" + var/list/mod_skin = mod.theme.skins[mod.skin] + mod.icon = mod_skin[MOD_ICON_OVERRIDE] || 'icons/obj/clothing/modsuit/mod_clothing.dmi' + mod.worn_icon = mod_skin[MOD_WORN_ICON_OVERRIDE] || 'icons/mob/clothing/modsuit/mod_clothing.dmi' + mod.alternate_worn_layer = mod_skin[CONTROL_LAYER] + mod.lefthand_file = initial(mod.lefthand_file) + mod.righthand_file = initial(mod.righthand_file) + mod.worn_icon_state = null + mod.inhand_icon_state = null + mod.wearer.update_clothing(mod.slot_flags) + current_disguise = null + UnregisterSignal(mod, COMSIG_MOD_ACTIVATE) + +///Plate Compression - Compresses the suit to normal size +/obj/item/mod/module/plate_compression + name = "MOD plate compression module" + desc = "A module that keeps the suit in a very tightly fit state, lowering the overall size. \ + Due to the pressure on all the parts, typical storage modules do not fit." + icon_state = "plate_compression" + complexity = 2 + incompatible_modules = list(/obj/item/mod/module/plate_compression, /obj/item/mod/module/storage) + /// The size we set the suit to. + var/new_size = WEIGHT_CLASS_NORMAL + /// The suit's size before the module is installed. + var/old_size + +/obj/item/mod/module/plate_compression/on_install() + old_size = mod.w_class + mod.w_class = new_size + +/obj/item/mod/module/plate_compression/on_uninstall(deleting = FALSE) + mod.w_class = old_size + old_size = null + if(!mod.loc) + return + var/datum/component/storage/holding_storage = mod.loc.GetComponent(/datum/component/storage) + if(!holding_storage || holding_storage.max_w_class >= mod.w_class) + return + mod.forceMove(drop_location()) diff --git a/code/modules/mod/modules/modules_engineering.dm b/code/modules/mod/modules/modules_engineering.dm index 343000e19dd..87a5c18885a 100644 --- a/code/modules/mod/modules/modules_engineering.dm +++ b/code/modules/mod/modules/modules_engineering.dm @@ -28,11 +28,11 @@ icon_state = "tray" module_type = MODULE_TOGGLE complexity = 1 - active_power_cost = DEFAULT_CHARGE_DRAIN * 0.2 + 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 = 2 + var/range = 4 /obj/item/mod/module/t_ray/on_active_process(delta_time) t_ray_scan(mod.wearer, 0.8 SECONDS, range) @@ -121,6 +121,7 @@ hitsound_wall = 'sound/weapons/batonextend.ogg' suppressed = SUPPRESSED_VERY hit_threshhold = LATTICE_LAYER + /// Reference to the beam following the projectile. var/line /obj/projectile/tether/fire(setAngle) @@ -217,6 +218,7 @@ 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) diff --git a/code/modules/mod/modules/modules_general.dm b/code/modules/mod/modules/modules_general.dm index 9cd01e043b3..286feb9eace 100644 --- a/code/modules/mod/modules/modules_general.dm +++ b/code/modules/mod/modules/modules_general.dm @@ -7,7 +7,7 @@ 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) + incompatible_modules = list(/obj/item/mod/module/storage, /obj/item/mod/module/plate_compression) /// The storage component of the module. var/datum/component/storage/concrete/storage /// Max weight class of items in the storage. @@ -186,7 +186,7 @@ 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, \ - and it will do nothing to improve the taste of a goliath steak." + 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) @@ -228,7 +228,7 @@ ///Flashlight - Gives the suit a customizable flashlight. /obj/item/mod/module/flashlight name = "MOD flashlight module" - desc = "A simple pair of flashlights installed on the left and right sides of the helmet, \ + 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" @@ -240,7 +240,7 @@ overlay_state_inactive = "module_light" light_system = MOVABLE_LIGHT_DIRECTIONAL light_color = COLOR_WHITE - light_range = 3 + light_range = 4 light_power = 1 light_on = FALSE /// Charge drain per range amount. @@ -266,10 +266,8 @@ set_light_on(active) /obj/item/mod/module/flashlight/on_process(delta_time) - . = ..() - if(!.) - return active_power_cost = base_power * light_range + return ..() /obj/item/mod/module/flashlight/generate_worn_overlay(mutable_appearance/standing) . = ..() diff --git a/code/modules/mod/modules/modules_maint.dm b/code/modules/mod/modules/modules_maint.dm index c06781e31ad..b30364dfb3d 100644 --- a/code/modules/mod/modules/modules_maint.dm +++ b/code/modules/mod/modules/modules_maint.dm @@ -237,6 +237,8 @@ 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, \ diff --git a/code/modules/mod/modules/modules_medical.dm b/code/modules/mod/modules/modules_medical.dm index 40a110c8bb4..9436271222e 100644 --- a/code/modules/mod/modules/modules_medical.dm +++ b/code/modules/mod/modules/modules_medical.dm @@ -128,7 +128,9 @@ use_power_cost = DEFAULT_CHARGE_DRAIN incompatible_modules = list(/obj/item/mod/module/organ_thrower, /obj/item/mod/module/microwave_beam) cooldown_time = 0.5 SECONDS + /// How many organs the module can hold. var/max_organs = 5 + /// A list of all our organs. var/organ_list = list() /obj/item/mod/module/organ_thrower/on_select_use(atom/target) @@ -165,6 +167,7 @@ nodamage = TRUE hitsound = 'sound/effects/attackblob.ogg' hitsound_wall = 'sound/effects/attackblob.ogg' + /// A reference to the organ we "are". var/obj/item/organ/organ /obj/projectile/organ/Initialize(mapload, obj/item/stored_organ) diff --git a/code/modules/mod/modules/modules_security.dm b/code/modules/mod/modules/modules_security.dm index 24076d99d1d..7edb6235d78 100644 --- a/code/modules/mod/modules/modules_security.dm +++ b/code/modules/mod/modules/modules_security.dm @@ -168,3 +168,54 @@ return mod.wearer.visible_message(span_warning("[src] reacts to the attack with a smoke of pepper spray!"), span_notice("Your [src] releases a cloud of pepper spray!")) on_use() + +///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/gun/revolver/empty.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/gun/revolver/empty.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 ..() diff --git a/code/modules/mod/modules/modules_supply.dm b/code/modules/mod/modules/modules_supply.dm index e31cec58105..87fe631eeb6 100644 --- a/code/modules/mod/modules/modules_supply.dm +++ b/code/modules/mod/modules/modules_supply.dm @@ -253,12 +253,12 @@ mod.wearer.transform = mod.wearer.transform.Turn(angle) mod.wearer.throw_at(get_ranged_target_turf_direct(mod.wearer, target, power), \ range = power, speed = max(round(0.2*power), 1), thrower = mod.wearer, spin = FALSE, \ - callback = CALLBACK(src, .proc/on_throw_end, target, -angle)) + callback = CALLBACK(src, .proc/on_throw_end, mod.wearer, -angle)) -/obj/item/mod/module/hydraulic/proc/on_throw_end(atom/target, angle) - if(!mod?.wearer) +/obj/item/mod/module/hydraulic/proc/on_throw_end(mob/user, angle) + if(!user) return - mod.wearer.transform = mod.wearer.transform.Turn(angle) + user.transform = user.transform.Turn(angle) /obj/item/mod/module/disposal_connector name = "MOD disposal selector module" @@ -370,6 +370,8 @@ var/list/armor_values = list(MELEE = 4, BULLET = 1, LASER = 2, ENERGY = 2, BOMB = 4) /// Speed added when you're fully covered in ash. var/speed_added = 0.5 + /// Speed that we actually added. + var/actual_speed_added = 0 /// Turfs that let us accrete ash. var/static/list/accretion_turfs /// Turfs that let us keep ash. @@ -440,7 +442,8 @@ mod.wearer.color = list(1,0,0,0, 0,1,0,0, 0,0,1,0, 0,0,0,3) //make them super light animate(mod.wearer, 1 SECONDS, color = null, flags = ANIMATION_PARALLEL) playsound(src, 'sound/effects/sparks1.ogg', 100, TRUE) - mod.slowdown -= speed_added + actual_speed_added = max(0, min(mod.slowdown_active, speed_added)) + mod.slowdown -= actual_speed_added mod.wearer.update_equipment_speed_mods() else if(is_type_in_typecache(mod.wearer.loc, keep_turfs)) return @@ -448,7 +451,7 @@ if(traveled_tiles <= 0) return if(traveled_tiles == max_traveled_tiles) - mod.slowdown += speed_added + mod.slowdown += actual_speed_added mod.wearer.update_equipment_speed_mods() traveled_tiles-- var/list/parts = mod.mod_parts + mod @@ -481,7 +484,7 @@ . = ..() if(!.) return - playsound(src, 'sound/items/modsuit/ballin.ogg', 100) + playsound(src, 'sound/items/modsuit/ballin.ogg', 100, TRUE) mod.wearer.add_filter("mod_ball", 1, alpha_mask_filter(icon = icon('icons/mob/clothing/modsuit/mod_modules.dmi', "ball_mask"), flags = MASK_INVERSE)) mod.wearer.add_filter("mod_blur", 2, angular_blur_filter(size = 15)) mod.wearer.add_filter("mod_outline", 3, outline_filter(color = "#000000AA")) @@ -503,7 +506,7 @@ if(!.) return if(!deleting) - playsound(src, 'sound/items/modsuit/ballout.ogg', 100) + playsound(src, 'sound/items/modsuit/ballin.ogg', 100, TRUE, frequency = -1) mod.wearer.base_pixel_y = 0 animate(mod.wearer, animate_time, pixel_y = mod.wearer.base_pixel_y) addtimer(CALLBACK(mod.wearer, /atom.proc/remove_filter, list("mod_ball", "mod_blur", "mod_outline")), animate_time) @@ -583,8 +586,6 @@ var/damage = 15 /// Damage multiplier on hostile fauna. var/fauna_boost = 4 - /// Damage multiplier on objects - var/object_boost = 2 /// Image overlaid on explosion. var/static/image/explosion_image @@ -609,5 +610,5 @@ for(var/mob/living/mob in range(1, src)) mob.apply_damage(12 * (ishostile(mob) ? fauna_boost : 1), BRUTE, spread_damage = TRUE) for(var/obj/object in range(1, src)) - object.take_damage(damage * object_boost, BRUTE, BOMB) + object.take_damage(damage, BRUTE, BOMB) qdel(src) diff --git a/code/modules/research/designs/mechfabricator_designs.dm b/code/modules/research/designs/mechfabricator_designs.dm index c8149d81cb0..5fbfd23cbc6 100644 --- a/code/modules/research/designs/mechfabricator_designs.dm +++ b/code/modules/research/designs/mechfabricator_designs.dm @@ -1345,10 +1345,17 @@ /datum/design/module/mister_atmos name = "MOD Module: Resin Mister" id = "mod_mister_atmos" - materials = list(/datum/material/iron = 1500, /datum/material/glass = 500, /datum/material/silver = 1000, /datum/material/titanium = 1500, /datum/material/uranium = 500) + materials = list(/datum/material/glass = 1000, /datum/material/titanium = 1500) build_path = /obj/item/mod/module/mister/atmos department_type = MODULE_ENGINEERING +/datum/design/module/mod_holster + name = "MOD Module: Holster" + id = "mod_holster" + materials = list(/datum/material/iron = 1500, /datum/material/glass = 500) + build_path = /obj/item/mod/module/holster + department_type = MODULE_SECURITY + //MODsuit bepis modules /datum/design/module/disposal diff --git a/code/modules/research/techweb/all_nodes.dm b/code/modules/research/techweb/all_nodes.dm index d4153a77733..21bba620f12 100644 --- a/code/modules/research/techweb/all_nodes.dm +++ b/code/modules/research/techweb/all_nodes.dm @@ -1530,6 +1530,7 @@ "mod_stealth", "mod_mag_harness", "mod_pathfinder", + "mod_holster", ) research_costs = list(TECHWEB_POINT_TYPE_GENERIC = 2500) diff --git a/code/modules/uplink/uplink_items/nukeops.dm b/code/modules/uplink/uplink_items/nukeops.dm index c6934a95eeb..da367c904a6 100644 --- a/code/modules/uplink/uplink_items/nukeops.dm +++ b/code/modules/uplink/uplink_items/nukeops.dm @@ -47,7 +47,7 @@ /datum/uplink_item/bundles_tc/firestarter name = "Spetsnaz Pyro bundle" - desc = "For systematic suppression of carbon lifeforms in close quarters: Contains a lethal New Russian backpack spray, Elite hardsuit, \ + desc = "For systematic suppression of carbon lifeforms in close quarters: Contains an Elite MODsuit with a flamethrower attachment, \ Stechkin APS machine pistol, two incendiary magazines, a minibomb and a stimulant syringe. \ Order NOW and comrade Boris will throw in an extra tracksuit." item = /obj/item/storage/backpack/duffelbag/syndie/firestarter @@ -638,6 +638,28 @@ cost = 15 purchasable_from = UPLINK_NUKE_OPS | UPLINK_CLOWN_OPS +/datum/uplink_item/suits/energy_shield + name = "MODsuit Energy Shield Module" + desc = "An energy shield module for a MODsuit. The shields can handle up to three impacts \ + within a short duration and will rapidly recharge while not under fire." + item = /obj/item/mod/module/energy_shield + cost = 15 + purchasable_from = UPLINK_NUKE_OPS | UPLINK_CLOWN_OPS + +/datum/uplink_item/suits/injector + name = "MODsuit Injector Module" + desc = "An injector module for a MODsuit. It is an extendable piercing injector with 30u capacity." + item = /obj/item/mod/module/injector + cost = 2 + purchasable_from = UPLINK_NUKE_OPS | UPLINK_CLOWN_OPS + +/datum/uplink_item/suits/holster + name = "MODsuit Holster Module" + desc = "A holster module for a MODsuit. It can stealthily store any not too heavy gun inside it." + item = /obj/item/mod/module/holster + cost = 2 + purchasable_from = UPLINK_NUKE_OPS | UPLINK_CLOWN_OPS + /datum/uplink_item/device_tools/magboots name = "Blood-Red Magboots" desc = "A pair of magnetic boots with a Syndicate paintjob that assist with freer movement in space or on-station \ diff --git a/code/modules/uplink/uplink_items/suits.dm b/code/modules/uplink/uplink_items/suits.dm index 6290da8b5e2..c6cbac65c99 100644 --- a/code/modules/uplink/uplink_items/suits.dm +++ b/code/modules/uplink/uplink_items/suits.dm @@ -11,7 +11,7 @@ /datum/uplink_item/suits/infiltrator_bundle name = "Infiltrator Case" desc = "Developed by Roseus Galactic in conjunction with the Gorlex Marauders to produce a functional suit for urban operations, \ - this suit proves to be cheaper than your standard issue hardsuit, with none of the movement restrictions of the outdated spacesuits employed by the company. \ + this suit proves to be cheaper than your standard issue MODsuit, with none of the movement restrictions of the outdated spacesuits employed by the company. \ Comes with an armor vest, helmet, sneaksuit, sneakboots, specialized combat gloves and a high-tech balaclava. The case is also rather useful as a storage container." item = /obj/item/storage/toolbox/infiltrator cost = 6 @@ -50,6 +50,29 @@ progression_minimum = 20 MINUTES cost = 2 +/datum/uplink_item/suits/chameleon + name = "MODsuit Chameleon Module" + desc = "A MODsuit module that lets the suit disguise itself as other objects." + item = /obj/item/mod/module/chameleon + progression_minimum = 20 MINUTES + cost = 2 + +/datum/uplink_item/suits/plate_compression + name = "MODsuit Plate Compression Module" + desc = "A MODsuit module that lets the suit compress into a smaller size. Not compatible with storage modules." + item = /obj/item/mod/module/plate_compression + progression_minimum = 20 MINUTES + cost = 2 + +// Medium progression cost + +/datum/uplink_item/suits/noslip + name = "MODsuit Anti-Slip Module" + desc = "A MODsuit module preventing the user from slipping on water." + item = /obj/item/mod/module/noslip + progression_minimum = 90 MINUTES + cost = 2 + // Very high progression cost /datum/uplink_item/suits/modsuit/elite_traitor @@ -61,10 +84,3 @@ purchasable_from = ~(UPLINK_NUKE_OPS | UPLINK_CLOWN_OPS) progression_minimum = 90 MINUTES cost = 16 - -/datum/uplink_item/suits/noslip - name = "MODsuit Anti-Slip Module" - desc = "A MODsuit module preventing the user from slipping on water." - item = /obj/item/mod/module/noslip - progression_minimum = 90 MINUTES - cost = 4 diff --git a/icons/effects/magic.dmi b/icons/effects/magic.dmi index 50c16cd7fdd481edd85d9091de1999e52d2183e6..480332df1349ca97e34b2e76a405a99c61b6f67e 100644 GIT binary patch delta 163 zcmV;U09^m3ngOkv0gxnrjCxd9bVOxyV{&P5bZKvH004NL-N!u&gFp}l(0b++AKC^{ z^V3ZeR)U4zVPPlkfEw6cBDsBv+#DU{V}E%q=)SRf{tqpvxA#P R{sM5DOEvz>N9VD!bWE52O&I_H delta 156 zcmV;N0Av5HngOPo0gxnrg?dz2bVOxyV{&P5bZKvH004NL<;Oh=!!Qg6&{;agN3xcX zrazmO;!r#!cQ9Cu4M_@?Y3c1d^cWr9@LJr)yPx4E&o3>OpF0HSu4j7ZSQ7-NfhlQT zQvJnhs0u-|g+(o8U1P%(b1?{xOpg*aH3%+Orl@Q9K+t!?;ZJZ6i*a^vljkp8KuRBI K!l93`xpYkEh(#j+ diff --git a/icons/obj/clothing/modsuit/mod_modules.dmi b/icons/obj/clothing/modsuit/mod_modules.dmi index c93a816b2bc824e29c6b23b88010d6d7c6a2d16e..e41fc164a2a5f580a710795eb996201529e8ad33 100644 GIT binary patch literal 43193 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 C6WbpE literal 41477 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 diff --git a/strings/french_replacement.json b/strings/french_replacement.json index 4c89d988127..d99718e7e4d 100644 --- a/strings/french_replacement.json +++ b/strings/french_replacement.json @@ -3,69 +3,69 @@ "french": { "yes": "oui", "no": "non", - "I'm": "j'", - "am": "suis", + "I'm": "j'", + "am": "suis", "a": "un", - "and": "et", + "and": "et", "the": "l'", "I": "j'", "for": "pour", "with": "avec", "of": "de", - - + + "assistant": "ravageur", "assistants": "ravageurs", "baby": [ - "enfant", + "enfant", "petit baguette" - ], - "bad": "mal", + ], + "bad": "mal", "bye": [ - "bon voyage", + "bon voyage", "adieu", "au revoir" - ], + ], "cake": "gateau", - "captain": "capitaine", + "captain": "capitaine", "changeling": "changeur", "cheese": [ - "brie", + "brie", "roquefort", "camembert" - ], + ], "cigarette": "clope", - "cook": "cuisinier", - "dad": "papa", - "enemy": "silly english dog", - "friend": "ami", - "good": "bon", - "greytide": "les gitans", + "cook": "cuisinier", + "dad": "papa", + "enemy": "silly english dog", + "friend": "ami", + "good": "bon", + "greytide": "les gitans", "greytider": "les gitans", "greytiders": "les gitans", - "hardsuit": "burkini", + "modsuit": "burkini", "hello": [ - "'allo", + "'allo", "bonjour", "salut" - ], + ], "maint": "les banlieues", "meat": [ - "coq au vin", + "coq au vin", "boeuf" - ], - "mom": "maman", - "my": "mon", + ], + "mom": "maman", + "my": "mon", "nuke": [ - "grand bombe", + "grand bombe", "la baguette ultime" ], - "op": "boche", - "operative": "boche", - "operatives": "boches", - "ops": "boches", - "urity": "urite", - "security": "securite", + "op": "boche", + "operative": "boche", + "operatives": "boches", + "ops": "boches", + "urity": "urite", + "security": "securite", "shit": "merde", "shitcurity": [ "gendarmerie", @@ -75,17 +75,17 @@ "gendarmerie", "les keufs" ], - "spaghetti": "macaroni", - "spicy": "epice", - "thanks": "merci", + "spaghetti": "macaroni", + "spicy": "epice", + "thanks": "merci", "tomato": "tomate", - "traitor": "collaborateur", - "want": "envie", - "what's": "quel est", - "who's": "qui est", - "why": "porquois", + "traitor": "collaborateur", + "want": "envie", + "what's": "quel est", + "who's": "qui est", + "why": "porquois", "wine": "vin", "wizard": "sorcier" } - -} \ No newline at end of file + +} diff --git a/strings/memories.json b/strings/memories.json index 10cda761ea4..52c54ebece1 100644 --- a/strings/memories.json +++ b/strings/memories.json @@ -417,7 +417,7 @@ ], "nuke_code_starts":[ "The number %NUKE_CODE written on a sticky note with the words \"FOR SYNDICATE EYES ONLY\" scrawled next to it.", - "A piece of paper with the number %NUKE_CODE being handed to %PROTAGONIST from a figure in a blood-red hardsuit." + "A piece of paper with the number %NUKE_CODE being handed to %PROTAGONIST from a figure in a blood-red MODsuit." ], "playing_cards_names":[ "The %CARDGAME of %PROTAGONIST with %PLAYERS."