diff --git a/code/game/mecha/equipment/mecha_equipment.dm b/code/game/mecha/equipment/mecha_equipment.dm
index 066920a6df..8a5a83379d 100644
--- a/code/game/mecha/equipment/mecha_equipment.dm
+++ b/code/game/mecha/equipment/mecha_equipment.dm
@@ -147,7 +147,7 @@
chassis.occupant_message("[icon2html(src, chassis.occupant)] [message]")
return
-/obj/item/mecha_parts/mecha_equipment/log_message(message, message_type=LOG_GAME, color=null)
+/obj/item/mecha_parts/mecha_equipment/log_message(message, message_type=LOG_GAME, color=null, log_globally)
if(chassis)
chassis.log_message("([src]) [message]", message_type, color)
else
diff --git a/code/game/mecha/mecha.dm b/code/game/mecha/mecha.dm
index 93fcda2ea9..efa1b44445 100644
--- a/code/game/mecha/mecha.dm
+++ b/code/game/mecha/mecha.dm
@@ -1015,7 +1015,7 @@
to_chat(occupant, "[icon2html(src, occupant)] [message]")
return
-/obj/mecha/log_message(message as text, message_type=LOG_GAME, color=null)
+/obj/mecha/log_message(message as text, message_type=LOG_GAME, color=null, log_globally)
log.len++
log[log.len] = list("time"="[station_time_timestamp()]","date","year"="[GLOB.year_integer+540]","message"="[color?"":null][message][color?"":null]")
..()
diff --git a/code/modules/integrated_electronics/passive/power.dm b/code/modules/integrated_electronics/passive/power.dm
index 244b4cb71b..c849dc0e27 100644
--- a/code/modules/integrated_electronics/passive/power.dm
+++ b/code/modules/integrated_electronics/passive/power.dm
@@ -93,7 +93,7 @@
container_type = OPENCONTAINER
complexity = 4
inputs = list()
- outputs = list("volume used" = IC_PINTYPE_NUMBER, "self reference" = IC_PINTYPE_REF)
+ outputs = list("volume used" = IC_PINTYPE_NUMBER, "self reference" = IC_PINTYPE_SELFREF)
activators = list("push ref" = IC_PINTYPE_PULSE_IN)
spawn_flags = IC_SPAWN_DEFAULT|IC_SPAWN_RESEARCH
var/volume = 60
diff --git a/code/modules/projectiles/pins.dm b/code/modules/projectiles/pins.dm
index bd42f30626..3698eb1ede 100644
--- a/code/modules/projectiles/pins.dm
+++ b/code/modules/projectiles/pins.dm
@@ -60,8 +60,9 @@
if(user)
user.show_message(fail_message, 1)
if(selfdestruct)
- user.show_message("SELF-DESTRUCTING...
", 1)
- to_chat(user, "[gun] explodes!")
+ if(user)
+ user.show_message("SELF-DESTRUCTING...
", 1)
+ to_chat(user, "[gun] explodes!")
explosion(get_turf(gun), -1, 0, 2, 3)
if(gun)
qdel(gun)
diff --git a/code/modules/reagents/chemistry/machinery/chem_dispenser.dm b/code/modules/reagents/chemistry/machinery/chem_dispenser.dm
index 94cb2cd6e3..8cb5f6254c 100644
--- a/code/modules/reagents/chemistry/machinery/chem_dispenser.dm
+++ b/code/modules/reagents/chemistry/machinery/chem_dispenser.dm
@@ -191,7 +191,7 @@
return
switch(action)
if("amount")
- if(!is_operational())
+ if(!is_operational() || QDELETED(beaker))
return
var/target = text2num(params["target"])
if(target in beaker.possible_transfer_amounts)