diff --git a/code/modules/mod/mod_activation.dm b/code/modules/mod/mod_activation.dm
index dbfd1b3b82e..6a2b6a2ffa7 100644
--- a/code/modules/mod/mod_activation.dm
+++ b/code/modules/mod/mod_activation.dm
@@ -116,7 +116,7 @@
/obj/item/mod/control/proc/toggle_activate(mob/user, force_deactivate = FALSE)
if(!wearer)
if(!force_deactivate)
- balloon_alert(user, "put suit on back!")
+ balloon_alert(user, "equip suit first!")
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))
@@ -226,7 +226,7 @@
STOP_PROCESSING(SSobj, src)
update_speed()
update_icon_state()
- wearer.update_inv_back()
+ wearer.update_clothing(slot_flags)
/// 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()
diff --git a/code/modules/mod/mod_control.dm b/code/modules/mod/mod_control.dm
index 56ae24c4d05..24b2ff5e223 100644
--- a/code/modules/mod/mod_control.dm
+++ b/code/modules/mod/mod_control.dm
@@ -7,7 +7,7 @@
/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."
+ desc = "The control unit of a Modular Outerwear Device, a powered suit that protects against various environments."
icon_state = "control"
inhand_icon_state = "mod_control"
w_class = WEIGHT_CLASS_BULKY
@@ -98,6 +98,7 @@
if(new_theme)
theme = new_theme
theme = GLOB.mod_themes[theme]
+ slot_flags = theme.slot_flags
extended_desc = theme.extended_desc
slowdown_inactive = theme.slowdown_inactive
slowdown_active = theme.slowdown_active
@@ -200,7 +201,8 @@
. += span_notice("Charge: [core ? "[get_charge_percent()]%" : "No core"].")
. += span_notice("Selected module: [selected_module || "None"].")
if(!open && !active)
- . += span_notice("You could put it on your back to turn it on.")
+ if(!wearer)
+ . += span_notice("You could equip it to turn it on.")
. += span_notice("You could open the cover with a screwdriver.")
else if(open)
. += span_notice("You could close the cover with a screwdriver.")
@@ -239,7 +241,7 @@
/obj/item/mod/control/equipped(mob/user, slot)
..()
- if(slot == ITEM_SLOT_BACK)
+ if(slot == slot_flags)
set_wearer(user)
else if(wearer)
unset_wearer()
@@ -250,7 +252,7 @@
unset_wearer()
/obj/item/mod/control/item_action_slot_check(slot)
- if(slot == ITEM_SLOT_BACK)
+ if(slot == slot_flags)
return TRUE
/obj/item/mod/control/Moved(atom/old_loc, movement_dir, forced = FALSE, list/old_locs)
diff --git a/code/modules/mod/mod_theme.dm b/code/modules/mod/mod_theme.dm
index 7ab0eea82cc..a92859e9fb1 100644
--- a/code/modules/mod/mod_theme.dm
+++ b/code/modules/mod/mod_theme.dm
@@ -19,6 +19,8 @@
armor plating being installed by default, and their actuators only lead to slightly greater speed than industrial suits."
/// Default skin of the MOD.
var/default_skin = "standard"
+ /// The slot this mod theme fits on
+ var/slot_flags = ITEM_SLOT_BACK
/// Armor shared across the MOD parts.
var/armor = list(MELEE = 10, BULLET = 5, LASER = 5, ENERGY = 5, BOMB = 0, BIO = 100, FIRE = 25, ACID = 25, WOUND = 5)
/// Resistance flags shared across the MOD parts.
diff --git a/code/modules/mod/modules/_module.dm b/code/modules/mod/modules/_module.dm
index 25721593112..69a7b41a4e3 100644
--- a/code/modules/mod/modules/_module.dm
+++ b/code/modules/mod/modules/_module.dm
@@ -140,7 +140,7 @@
balloon_alert(mod.wearer, "[src] activated, [used_button]-click to use")
active = TRUE
COOLDOWN_START(src, cooldown_timer, cooldown_time)
- mod.wearer.update_inv_back()
+ mod.wearer.update_clothing(mod.slot_flags)
SEND_SIGNAL(src, COMSIG_MODULE_ACTIVATED)
return TRUE
@@ -158,7 +158,7 @@
else
UnregisterSignal(mod.wearer, used_signal)
used_signal = null
- mod.wearer.update_inv_back()
+ mod.wearer.update_clothing(mod.slot_flags)
SEND_SIGNAL(src, COMSIG_MODULE_DEACTIVATED)
return TRUE
@@ -177,8 +177,8 @@
if(SEND_SIGNAL(src, COMSIG_MODULE_TRIGGERED) & MOD_ABORT_USE)
return FALSE
COOLDOWN_START(src, cooldown_timer, cooldown_time)
- addtimer(CALLBACK(mod.wearer, /mob.proc/update_inv_back), cooldown_time+1) //need to run it a bit after the cooldown starts to avoid conflicts
- mod.wearer.update_inv_back()
+ addtimer(CALLBACK(mod.wearer, /mob.proc/update_clothing, mod.slot_flags), cooldown_time+1) //need to run it a bit after the cooldown starts to avoid conflicts
+ mod.wearer.update_clothing(mod.slot_flags)
SEND_SIGNAL(src, COMSIG_MODULE_USED)
return TRUE
diff --git a/code/modules/mod/modules/module_pathfinder.dm b/code/modules/mod/modules/module_pathfinder.dm
index 35a288c540e..2de81c0222b 100644
--- a/code/modules/mod/modules/module_pathfinder.dm
+++ b/code/modules/mod/modules/module_pathfinder.dm
@@ -6,7 +6,7 @@
very control unit of the suit, allowing it flight at highway speeds, \
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 back at any time. \
+ 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. \
Nakamura Engineering swears up and down there's airbrakes."
icon_state = "pathfinder"
diff --git a/code/modules/mod/modules/modules_general.dm b/code/modules/mod/modules/modules_general.dm
index ee502b29c4d..9cd01e043b3 100644
--- a/code/modules/mod/modules/modules_general.dm
+++ b/code/modules/mod/modules/modules_general.dm
@@ -295,7 +295,7 @@
balloon_alert(mod.wearer, "too dark!")
return
set_light_color(value)
- mod.wearer.update_inv_back()
+ mod.wearer.update_clothing(mod.slot_flags)
if("light_range")
set_light_range(clamp(value, min_range, max_range))
@@ -565,7 +565,7 @@
if(mod.wearer.transferItemToLoc(hitting_item, src, force = FALSE, silent = TRUE))
attached_hat = hitting_item
balloon_alert(user, "hat attached, right-click to remove")
- mod.wearer.update_inv_back()
+ mod.wearer.update_clothing(mod.slot_flags)
/obj/item/mod/module/hat_stabilizer/generate_worn_overlay()
. = ..()
@@ -583,7 +583,7 @@
else
balloon_alert_to_viewers("the hat falls to the floor!")
attached_hat = null
- mod.wearer.update_inv_back()
+ mod.wearer.update_clothing(mod.slot_flags)
///Sign Language Translator - allows people to sign over comms using the modsuit's gloves.
/obj/item/mod/module/signlang_radio
diff --git a/code/modules/mod/modules/modules_maint.dm b/code/modules/mod/modules/modules_maint.dm
index 3b9f075b585..c06781e31ad 100644
--- a/code/modules/mod/modules/modules_maint.dm
+++ b/code/modules/mod/modules/modules_maint.dm
@@ -127,7 +127,7 @@
rave_number++
if(rave_number > length(rainbow_order))
rave_number = 1
- mod.wearer.update_inv_back()
+ mod.wearer.update_clothing(mod.slot_flags)
rave_screen.update_colour(rainbow_order[rave_number])
/obj/item/mod/module/visor/rave/get_configuration()
diff --git a/code/modules/mod/modules/modules_supply.dm b/code/modules/mod/modules/modules_supply.dm
index ac4295b71ed..e31cec58105 100644
--- a/code/modules/mod/modules/modules_supply.dm
+++ b/code/modules/mod/modules/modules_supply.dm
@@ -64,7 +64,6 @@
picked_crate.forceMove(src)
balloon_alert(mod.wearer, "picked up [picked_crate]")
drain_power(use_power_cost)
- mod.wearer.update_inv_back()
else if(length(stored_crates))
var/turf/target_turf = get_turf(target)
if(target_turf.is_blocked_turf())
@@ -79,7 +78,6 @@
dropped_crate.forceMove(target_turf)
balloon_alert(mod.wearer, "dropped [dropped_crate]")
drain_power(use_power_cost)
- mod.wearer.update_inv_back()
else
balloon_alert(mod.wearer, "invalid target!")