diff --git a/code/game/objects/items/robot/robot_upgrades.dm b/code/game/objects/items/robot/robot_upgrades.dm
index 62f36c60c0..09c2d442e8 100644
--- a/code/game/objects/items/robot/robot_upgrades.dm
+++ b/code/game/objects/items/robot/robot_upgrades.dm
@@ -203,7 +203,7 @@
var/obj/item/gun/energy/kinetic_accelerator/cyborg/KA = new (R.module)
R.module.basic_modules += KA
R.module.add_module(KA, FALSE, TRUE)
-
+
/obj/item/borg/upgrade/advcutter
name = "mining cyborg advanced plasma cutter"
@@ -335,7 +335,6 @@
var/msg_cooldown = 0
var/on = FALSE
var/powercost = 10
- var/mob/living/silicon/robot/cyborg
var/datum/action/toggle_action
/obj/item/borg/upgrade/selfrepair/action(mob/living/silicon/robot/R, user = usr)
@@ -346,7 +345,6 @@
to_chat(user, "This unit is already equipped with a self-repair module.")
return FALSE
- cyborg = R
icon_state = "selfrepair_off"
toggle_action = new /datum/action/item_action/toggle(src)
toggle_action.Grant(R)
@@ -354,34 +352,20 @@
/obj/item/borg/upgrade/selfrepair/deactivate(mob/living/silicon/robot/R, user = usr)
. = ..()
if (.)
- toggle_action.Remove(cyborg)
+ toggle_action.Remove(R)
QDEL_NULL(toggle_action)
- cyborg = null
- deactivate_sr()
-
-/obj/item/borg/upgrade/selfrepair/dropped()
- . = ..()
- addtimer(CALLBACK(src, .proc/check_dropped), 1)
-
-/obj/item/borg/upgrade/selfrepair/proc/check_dropped()
- if(loc != cyborg)
- toggle_action.Remove(cyborg)
- QDEL_NULL(toggle_action)
- cyborg = null
deactivate_sr()
/obj/item/borg/upgrade/selfrepair/ui_action_click()
- on = !on
if(on)
- to_chat(cyborg, "You activate the self-repair module.")
- START_PROCESSING(SSobj, src)
+ to_chat(toggle_action.owner, "You deactivate the self-repair module.")
+ deactivate_sr()
else
- to_chat(cyborg, "You deactivate the self-repair module.")
- STOP_PROCESSING(SSobj, src)
- update_icon()
+ to_chat(toggle_action.owner, "You activate the self-repair module.")
+ activate_sr()
/obj/item/borg/upgrade/selfrepair/update_icon()
- if(cyborg)
+ if(toggle_action)
icon_state = "selfrepair_[on ? "on" : "off"]"
for(var/X in actions)
var/datum/action/A = X
@@ -389,6 +373,11 @@
else
icon_state = "cyborg_upgrade5"
+/obj/item/borg/upgrade/selfrepair/proc/activate_sr()
+ START_PROCESSING(SSobj, src)
+ on = TRUE
+ update_icon()
+
/obj/item/borg/upgrade/selfrepair/proc/deactivate_sr()
STOP_PROCESSING(SSobj, src)
on = FALSE
@@ -399,7 +388,9 @@
repair_tick = 1
return
- if(cyborg && (cyborg.stat != DEAD) && on)
+ var/mob/living/silicon/robot/cyborg = toggle_action.owner
+
+ if(istype(cyborg) && (cyborg.stat != DEAD) && on)
if(!cyborg.cell)
to_chat(cyborg, "Self-repair module deactivated. Please, insert the power cell.")
deactivate_sr()
diff --git a/code/game/objects/items/toys.dm b/code/game/objects/items/toys.dm
index 6782ba0098..359b3b4d10 100644
--- a/code/game/objects/items/toys.dm
+++ b/code/game/objects/items/toys.dm
@@ -1014,6 +1014,7 @@
/obj/item/toy/cards/singlecard/examine(mob/user)
+ . = ..()
if(ishuman(user))
var/mob/living/carbon/human/cardUser = user
if(cardUser.is_holding(src))
diff --git a/code/modules/games/cards.dm b/code/modules/games/cards.dm
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/code/modules/hydroponics/plant_genes.dm b/code/modules/hydroponics/plant_genes.dm
index 756788898a..272f44267e 100644
--- a/code/modules/hydroponics/plant_genes.dm
+++ b/code/modules/hydroponics/plant_genes.dm
@@ -109,7 +109,7 @@
// Reagent genes store reagent ID and reagent ratio. Amount of reagent in the plant = 1 + (potency * rate)
/datum/plant_gene/reagent
name = "Nutriment"
- var/reagent_id = "nutriment"
+ var/reagent_id = /datum/reagent/consumable/nutriment
var/rate = 0.04
/datum/plant_gene/reagent/get_name()
diff --git a/code/modules/mob/living/living.dm b/code/modules/mob/living/living.dm
index 8652a1ee9e..0c11d6ab42 100644
--- a/code/modules/mob/living/living.dm
+++ b/code/modules/mob/living/living.dm
@@ -1080,7 +1080,7 @@
stop_pulling() //CIT CHANGE - Ditto...
else if(has_legs || ignore_legs)
lying = 0
- if (pulledby)
+ if (pulledby && isliving(pulledby))
var/mob/living/L = pulledby
L.update_pull_movespeed()
if(buckled)