diff --git a/code/modules/clothing/outfits/standard.dm b/code/modules/clothing/outfits/standard.dm index 07e15cef839..89eaf24ad52 100644 --- a/code/modules/clothing/outfits/standard.dm +++ b/code/modules/clothing/outfits/standard.dm @@ -312,6 +312,7 @@ head = null mask = /obj/item/clothing/mask/gas/sechailer back = /obj/item/mod/control/pre_equipped/corporate + internals_slot = ITEM_SLOT_SUITSTORE /datum/outfit/ghost_cultist name = "Cultist Ghost" diff --git a/code/modules/jobs/job_types/captain.dm b/code/modules/jobs/job_types/captain.dm index f0b176afd01..6d11045f699 100755 --- a/code/modules/jobs/job_types/captain.dm +++ b/code/modules/jobs/job_types/captain.dm @@ -113,3 +113,4 @@ suit = null head = null mask = /obj/item/clothing/mask/gas/atmos/captain + internals_slot = ITEM_SLOT_SUITSTORE diff --git a/code/modules/jobs/job_types/clown.dm b/code/modules/jobs/job_types/clown.dm index e7b2c84494e..5a117633930 100644 --- a/code/modules/jobs/job_types/clown.dm +++ b/code/modules/jobs/job_types/clown.dm @@ -75,6 +75,7 @@ suit_store = /obj/item/tank/internals/oxygen back = /obj/item/mod/control/pre_equipped/cosmohonk + internals_slot = ITEM_SLOT_SUITSTORE /datum/outfit/job/clown/pre_equip(mob/living/carbon/human/H, visualsOnly) . = ..() diff --git a/code/modules/jobs/job_types/head_of_security.dm b/code/modules/jobs/job_types/head_of_security.dm index abef057041a..d2dc6f4f9a2 100644 --- a/code/modules/jobs/job_types/head_of_security.dm +++ b/code/modules/jobs/job_types/head_of_security.dm @@ -85,3 +85,4 @@ suit = null head = null mask = /obj/item/clothing/mask/gas/sechailer + internals_slot = ITEM_SLOT_SUITSTORE diff --git a/code/modules/jobs/job_types/security_officer.dm b/code/modules/jobs/job_types/security_officer.dm index 20fdbcaa864..22ffde99b3a 100644 --- a/code/modules/jobs/job_types/security_officer.dm +++ b/code/modules/jobs/job_types/security_officer.dm @@ -239,6 +239,7 @@ GLOBAL_LIST_EMPTY(security_officer_distribution) suit = null head = null mask = /obj/item/clothing/mask/gas/sechailer + internals_slot = ITEM_SLOT_SUITSTORE /obj/item/radio/headset/headset_sec/alt/department/Initialize(mapload) . = ..() diff --git a/code/modules/mob_spawn/ghost_roles/space_roles.dm b/code/modules/mob_spawn/ghost_roles/space_roles.dm index a6e7d044e81..b9a06c5b3a8 100644 --- a/code/modules/mob_spawn/ghost_roles/space_roles.dm +++ b/code/modules/mob_spawn/ghost_roles/space_roles.dm @@ -59,6 +59,7 @@ suit_store = /obj/item/tank/internals/oxygen back = /obj/item/mod/control/pre_equipped/prototype mask = /obj/item/clothing/mask/breath + internals_slot = ITEM_SLOT_SUITSTORE /obj/effect/mob_spawn/ghost_role/human/oldsci name = "old cryogenics pod" diff --git a/code/modules/mod/mod_control.dm b/code/modules/mod/mod_control.dm index d2b12743fcb..6608f208afd 100644 --- a/code/modules/mod/mod_control.dm +++ b/code/modules/mod/mod_control.dm @@ -587,6 +587,13 @@ old_module.on_deactivation() if(wearer) old_module.on_unequip() + var/datum/action/item_action/mod/pinned_module/action = old_module.pinned_to[wearer] + if(action) + action.Remove(wearer) + if(ai) + var/datum/action/item_action/mod/pinned_module/action = old_module.pinned_to[ai] + if(action) + action.Remove(ai) old_module.pinned_to.Cut() old_module.on_uninstall() old_module.mod = null diff --git a/code/modules/mod/modules/_module.dm b/code/modules/mod/modules/_module.dm index 8ba92f57fe6..1039dd93095 100644 --- a/code/modules/mod/modules/_module.dm +++ b/code/modules/mod/modules/_module.dm @@ -91,6 +91,8 @@ /// 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.wearer) + balloon_alert(mod.wearer, "not active!") return if(module_type != MODULE_USABLE) if(active) @@ -125,6 +127,7 @@ RegisterSignal(mod.wearer, COMSIG_ATOM_EXITED, .proc/on_exit) else balloon_alert(mod.wearer, "can't extend [device]!") + mod.wearer.transferItemToLoc(device, src, force = TRUE) return else var/used_button = mod.wearer.client?.prefs.read_preference(/datum/preference/choiced/mod_select) || MIDDLE_CLICK @@ -142,7 +145,7 @@ if(module_type == MODULE_ACTIVE) mod.selected_module = null if(device) - mod.wearer.transferItemToLoc(device, src, TRUE) + mod.wearer.transferItemToLoc(device, src, force = TRUE) balloon_alert(mod.wearer, "[device] retracted") UnregisterSignal(mod.wearer, COMSIG_ATOM_EXITED) else diff --git a/code/modules/mod/modules/module_kinesis.dm b/code/modules/mod/modules/module_kinesis.dm index b567ab57203..2d66cb60744 100644 --- a/code/modules/mod/modules/module_kinesis.dm +++ b/code/modules/mod/modules/module_kinesis.dm @@ -100,8 +100,8 @@ grabbed_item.pickup(mod.wearer) mod.wearer.put_in_hands(grabbed_item) return - var/pixel_x_change - var/pixel_y_change + var/pixel_x_change = 0 + var/pixel_y_change = 0 var/direction = get_dir(grabbed_atom, next_turf) if(direction & NORTH) pixel_y_change = world.icon_size/2 diff --git a/code/modules/mod/modules/modules_general.dm b/code/modules/mod/modules/modules_general.dm index c10193f2180..89b4f8b9d53 100644 --- a/code/modules/mod/modules/modules_general.dm +++ b/code/modules/mod/modules/modules_general.dm @@ -173,7 +173,11 @@ /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. diff --git a/icons/mob/clothing/mod.dmi b/icons/mob/clothing/mod.dmi index 7530b8443b6..757905862c2 100644 Binary files a/icons/mob/clothing/mod.dmi and b/icons/mob/clothing/mod.dmi differ diff --git a/icons/obj/clothing/modsuit/mod_modules.dmi b/icons/obj/clothing/modsuit/mod_modules.dmi index 546d1bda749..c5d8f44a27f 100644 Binary files a/icons/obj/clothing/modsuit/mod_modules.dmi and b/icons/obj/clothing/modsuit/mod_modules.dmi differ