diff --git a/code/game/mecha/mecha.dm b/code/game/mecha/mecha.dm
index dfcf2fc796c..a8372feb28f 100644
--- a/code/game/mecha/mecha.dm
+++ b/code/game/mecha/mecha.dm
@@ -1184,6 +1184,8 @@
if(C.handcuffed)
usr << "Kinda hard to climb in while handcuffed don't you think?"
return
+ if(!C.IsAdvancedToolUser())
+ return
if (src.occupant)
usr << "The [src.name] is already occupied!"
src.log_append_to_last("Permission denied.")
diff --git a/code/game/objects/items/weapons/material/shards.dm b/code/game/objects/items/weapons/material/shards.dm
index b9e47e2c721..25297683f1a 100644
--- a/code/game/objects/items/weapons/material/shards.dm
+++ b/code/game/objects/items/weapons/material/shards.dm
@@ -50,7 +50,7 @@
if(iswelder(W) && material.shard_can_repair)
var/obj/item/weapon/weldingtool/WT = W
if(WT.remove_fuel(0, user))
- material.place_sheet(loc)
+ material.place_sheet(user.loc)
qdel(src)
return
return ..()
diff --git a/code/game/objects/items/weapons/material/twohanded.dm b/code/game/objects/items/weapons/material/twohanded.dm
index d4f83e4a7e7..cef365a7f96 100644
--- a/code/game/objects/items/weapons/material/twohanded.dm
+++ b/code/game/objects/items/weapons/material/twohanded.dm
@@ -100,6 +100,10 @@
else
return
+ if(!istype(user.get_active_hand(), src))
+ user << "You need to be holding the [name] in your active hand."
+ return
+
if(wielded) //Trying to unwield it
unwield()
user << "You are now carrying the [name] with one hand."
@@ -113,7 +117,7 @@
else //Trying to wield it
if(user.get_inactive_hand())
- user << "You need your other hand to be empty"
+ user << "You need your other hand to be empty."
return
wield()
user << "You grab the [base_name] with both hands."
diff --git a/code/game/objects/items/weapons/trays.dm b/code/game/objects/items/weapons/trays.dm
index dbed0ddd5a7..146da1364e9 100644
--- a/code/game/objects/items/weapons/trays.dm
+++ b/code/game/objects/items/weapons/trays.dm
@@ -214,9 +214,9 @@
return 1
/obj/item/weapon/tray/AltClick(var/mob/user)
+ if (!use_check(user, show_messages = FALSE)) return
unload(user)
-
/obj/item/weapon/tray/proc/attempt_load_item(var/obj/item/I, var/mob/user, var/messages = 1)
if( I != src && !I.anchored && !istype(I, /obj/item/projectile) )
var/match = 0
diff --git a/code/modules/admin/admin.dm b/code/modules/admin/admin.dm
index fbc97b184c3..af5a439fa82 100644
--- a/code/modules/admin/admin.dm
+++ b/code/modules/admin/admin.dm
@@ -1334,9 +1334,9 @@ proc/admin_notice(var/message, var/rights)
if(check_rights(R_ADMIN|R_MOD))
if (H.paralysis == 0)
- H.paralysis = 8000
msg = "has paralyzed [key_name_admin(H)]."
H.visible_message("OOC Information: [H] has been winded by a member of staff! Please freeze all roleplay involving their character until the matter is resolved! Adminhelp if you have further questions.", "You have been winded by a member of staff! Please stand by until they contact you!")
+ H.paralysis = 8000
else
if (alert("The player is currently winded. Do you want to unwind him?", "Unwind player?", "Yes", "No") == "No")
return
diff --git a/code/modules/mining/mine_items.dm b/code/modules/mining/mine_items.dm
index b3d13c22aae..2da5bf340a7 100644
--- a/code/modules/mining/mine_items.dm
+++ b/code/modules/mining/mine_items.dm
@@ -123,6 +123,10 @@
else
return
+ if(!istype(user.get_active_hand(), src))
+ user << "You need to be holding the [name] in your active hand."
+ return
+
if(wielded) //Trying to unwield it
unwield()
user << "You are now carrying the [initial(name)] with one hand."
diff --git a/code/modules/mob/living/carbon/alien/diona/life.dm b/code/modules/mob/living/carbon/alien/diona/life.dm
index 28c55d75fb1..09b95ea3ddf 100644
--- a/code/modules/mob/living/carbon/alien/diona/life.dm
+++ b/code/modules/mob/living/carbon/alien/diona/life.dm
@@ -40,7 +40,8 @@
/mob/living/carbon/alien/diona/think()
..()
if (!gestalt)
- if(master_nymph && !client && master_nymph != src)
- walk_to(src,master_nymph,1,movement_delay())
- else
- walk_to(src,0)
+ if(stat != DEAD)
+ if(master_nymph && !client && master_nymph != src)
+ walk_to(src,master_nymph,1,movement_delay())
+ else
+ walk_to(src,0)
diff --git a/code/modules/modular_computers/computers/subtypes/dev_laptop.dm b/code/modules/modular_computers/computers/subtypes/dev_laptop.dm
index 3bf90b564ac..fa23637dc16 100644
--- a/code/modules/modular_computers/computers/subtypes/dev_laptop.dm
+++ b/code/modules/modular_computers/computers/subtypes/dev_laptop.dm
@@ -16,6 +16,7 @@
var/icon_state_closed = "laptop-closed"
/obj/item/modular_computer/laptop/AltClick()
+ if (!use_check(usr, show_messages = FALSE)) return
// Prevents carrying of open laptops inhand.
// While they work inhand, i feel it'd make tablets lose some of their high-mobility advantage they have over laptops now.
if(!istype(loc, /turf/))
diff --git a/code/modules/projectiles/guns/projectile/automatic.dm b/code/modules/projectiles/guns/projectile/automatic.dm
index e3dd1760ebb..9334d96897b 100644
--- a/code/modules/projectiles/guns/projectile/automatic.dm
+++ b/code/modules/projectiles/guns/projectile/automatic.dm
@@ -396,6 +396,9 @@
set category = "Object"
set src in usr
+ toggle_wield(usr)
+ usr.update_icon()
+
/obj/item/weapon/gun/projectile/automatic/rifle/shotgun
name = "assault shotgun"
desc = "A experimental, semi-automatic combat shotgun, designed for boarding operations and law enforcement agencies."
diff --git a/code/modules/projectiles/projectile/change.dm b/code/modules/projectiles/projectile/change.dm
index d310bb7b23c..6600b826b8a 100644
--- a/code/modules/projectiles/projectile/change.dm
+++ b/code/modules/projectiles/projectile/change.dm
@@ -77,7 +77,7 @@
H.name += " [pick(last_names)]"
H.real_name = H.name
- H.set_species(randomize)
+ addtimer(CALLBACK(H, /mob/living/carbon/human.proc/set_species, randomize), 0)
H.universal_speak = 1
var/datum/preferences/A = new() //Randomize appearance for the human
A.randomize_appearance_for(H)
diff --git a/html/changelogs/alberyk-moremorefixes.yml b/html/changelogs/alberyk-moremorefixes.yml
new file mode 100644
index 00000000000..f0fb743a8ac
--- /dev/null
+++ b/html/changelogs/alberyk-moremorefixes.yml
@@ -0,0 +1,6 @@
+author: Alberyk
+
+delete-after: True
+
+changes:
+ - bugfix: "The staff of change should work properly now."