diff --git a/code/game/machinery/ai_slipper.dm b/code/game/machinery/ai_slipper.dm
index 9d45b14414e..6dd1c462769 100644
--- a/code/game/machinery/ai_slipper.dm
+++ b/code/game/machinery/ai_slipper.dm
@@ -8,7 +8,6 @@
idle_power_usage = 10
var/uses = 20
var/disabled = 1
- var/lethal = 0
var/locked = 1
var/cooldown_time = 0
var/cooldown_timeleft = 0
diff --git a/code/game/machinery/doors/airlock.dm b/code/game/machinery/doors/airlock.dm
index 026a3a81455..1eb1d24635a 100644
--- a/code/game/machinery/doors/airlock.dm
+++ b/code/game/machinery/doors/airlock.dm
@@ -419,7 +419,7 @@ About the new airlock wires panel:
return
else /*if(src.justzap)*/
return
- else if(user.hallucination > 50 && prob(10) && src.operating == 0)
+ else if(user.hallucination > 50 && prob(10) && src.operating == 0 && !user.is_diona() && !user.isSynthetic())
user << "You feel a powerful shock course through your body!"
user.halloss += 10
user.stunned += 10
diff --git a/code/modules/cciaa/cciaa.dm b/code/modules/cciaa/cciaa.dm
index d9ead7b329e..a4f09b0f69c 100644
--- a/code/modules/cciaa/cciaa.dm
+++ b/code/modules/cciaa/cciaa.dm
@@ -227,6 +227,9 @@
if (!customname)
usr << "Cancelled."
return
+ var/announce = alert(user, "Do you wish to announce the fax being sent?", "Announce Fax", "Yes", "No")
+ if(announce == "Yes")
+ announce = 1
// Create the reply message
var/obj/item/weapon/paper/P = new /obj/item/weapon/paper( null ) //hopefully the null loc won't cause trouble for us
@@ -244,6 +247,8 @@
P.stamps += "
This paper has been stamped by the Central Command Quantum Relay."
if(fax.recievefax(P))
+ if(announce == 1)
+ command_announcement.Announce("A fax has been sent to the [department] fax machine.", "Fax Sent")
usr << "Message transmitted successfully."
log_and_message_admins("sent a fax message to the [department] fax machine. (JMP)")
diff --git a/code/modules/customitems/item_defines.dm b/code/modules/customitems/item_defines.dm
index 222a4d7f77e..6f96654a789 100644
--- a/code/modules/customitems/item_defines.dm
+++ b/code/modules/customitems/item_defines.dm
@@ -850,7 +850,7 @@ All custom items with worn sprites must follow the contained sprite system: http
/obj/item/clothing/head/beret/engineering/fluff/ikrad_beret //LR-31MTA Beret - Ikrad Yam'hir - houseofsynth
- name = "LR-31MTA beret"
+ name = "\improper LR-31MTA beret"
desc = "A silver beret with an insignia on the front, it looks like an old Tajaran cannon with a ring around it. \
Along the top half of the ring \"LR-31MTA\" is engraved. The word \"Yam'hir\" is engraved along the bottom half of the ring. \
The beret looks old and is worn in some places around the edges. It appears to have a flap inside, \
@@ -1027,3 +1027,14 @@ All custom items with worn sprites must follow the contained sprite system: http
icon_state = "leo_coat"
item_state = "leo_coat"
contained_sprite = 1
+
+
+/obj/item/weapon/nullrod/fluff/azaroz_staff //Null Staff - Kesaos Azaroz - paradoxspace
+ name = "null staff"
+ desc = "A long, heavy staff seemingly hand-crafted of obsidian and steel. Pure volcanic crystals lie at its end, giving it an appearance similar to a mace."
+ icon = 'icons/obj/custom_items/azaroz_staff.dmi'
+ icon_state = "azaroz_staff"
+ item_state = "azaroz_staff"
+ contained_sprite = 1
+ slot_flags = SLOT_BACK
+ w_class = 4
diff --git a/code/modules/mob/living/carbon/metroid/items.dm b/code/modules/mob/living/carbon/metroid/items.dm
index 626b011f6f1..001cb5c890c 100644
--- a/code/modules/mob/living/carbon/metroid/items.dm
+++ b/code/modules/mob/living/carbon/metroid/items.dm
@@ -250,7 +250,7 @@
if(O.mind && O.mind.current && O.mind.current.stat != DEAD) continue
ghost = O
break
- if(ghost)
+ if(ghost && !(ghost.has_enabled_antagHUD && config.antag_hud_restricted))
icon_state = "golem2"
else
icon_state = "golem"
@@ -265,6 +265,10 @@
if(!ghost)
user << "The rune fizzles uselessly. There is no spirit nearby."
return
+ if(ghost.has_enabled_antagHUD && config.antag_hud_restricted)
+ ghost <<"You can not join as a golem with antagHUD on!"
+ user << "The rune fizzles uselessly. There is no spirit nearby."
+ return
var/mob/living/carbon/human/G = new(src.loc)
G.set_species("Golem")
G.key = ghost.key
diff --git a/code/modules/recycling/sortingmachinery.dm b/code/modules/recycling/sortingmachinery.dm
index 4b92a0c5818..677f72e4ab2 100755
--- a/code/modules/recycling/sortingmachinery.dm
+++ b/code/modules/recycling/sortingmachinery.dm
@@ -248,6 +248,7 @@
user.client.screen -= O
P.wrapped = O
O.forceMove(P)
+ P.w_class = O.w_class
var/i = round(O.w_class)
if(i in list(1,2,3,4,5))
P.icon_state = "deliverycrate[i]"
diff --git a/code/modules/supermatter/supermatter.dm b/code/modules/supermatter/supermatter.dm
index 7781ebbd9cc..f562fd636a2 100644
--- a/code/modules/supermatter/supermatter.dm
+++ b/code/modules/supermatter/supermatter.dm
@@ -263,7 +263,7 @@
env.merge(removed)
for(var/mob/living/carbon/human/l in view(src, min(7, round(sqrt(power/6))))) // If they can see it without mesons on. Bad on them.
- if(!istype(l.glasses, /obj/item/clothing/glasses/meson) && !l.is_diona())
+ if(!istype(l.glasses, /obj/item/clothing/glasses/meson) && !l.is_diona() && !l.isSynthetic())
l.hallucination = max(0, min(200, l.hallucination + power * config_hallucination_power * sqrt( 1 / max(1,get_dist(l, src)) ) ) )
//adjusted range so that a power of 170 (pretty high) results in 9 tiles, roughly the distance from the core to the engine monitoring room.
diff --git a/icons/obj/custom_items/azaroz_staff.dmi b/icons/obj/custom_items/azaroz_staff.dmi
new file mode 100644
index 00000000000..525a92af095
Binary files /dev/null and b/icons/obj/custom_items/azaroz_staff.dmi differ