diff --git a/code/game/objects/items/robot/ai_upgrades.dm b/code/game/objects/items/robot/ai_upgrades.dm index 39aff96c62c..b434ad34949 100644 --- a/code/game/objects/items/robot/ai_upgrades.dm +++ b/code/game/objects/items/robot/ai_upgrades.dm @@ -9,12 +9,12 @@ icon_state = "datadisk3" -/obj/item/malf_upgrade/afterattack(mob/living/silicon/ai/AI, mob/user, proximity) - . = ..() +/obj/item/malf_upgrade/pre_attack(atom/A, mob/living/user, proximity) if(!proximity) - return - if(!istype(AI)) - return + return ..() + if(!isAI(A)) + return ..() + var/mob/living/silicon/ai/AI = A if(AI.malf_picker) AI.malf_picker.processing_time += 50 to_chat(AI, "[user] has attempted to upgrade you with combat software that you already possess. You gain 50 points to spend on Malfunction Modules instead.") @@ -27,6 +27,7 @@ message_admins("[ADMIN_LOOKUPFLW(user)] has upgraded [ADMIN_LOOKUPFLW(AI)] with a [src].") to_chat(user, "You upgrade [AI]. [src] is consumed in the process.") qdel(src) + return TRUE //Lipreading @@ -36,12 +37,12 @@ icon = 'icons/obj/module.dmi' icon_state = "datadisk3" -/obj/item/surveillance_upgrade/afterattack(mob/living/silicon/ai/AI, mob/user, proximity) - . = ..() +/obj/item/surveillance_upgrade/pre_attack(atom/A, mob/living/user, proximity) if(!proximity) - return - if(!istype(AI)) - return + return ..() + if(!isAI(A)) + return ..() + var/mob/living/silicon/ai/AI = A if(AI.eyeobj) AI.eyeobj.relay_speech = TRUE to_chat(AI, "[user] has upgraded you with surveillance software!") @@ -50,3 +51,4 @@ log_game("[key_name(user)] has upgraded [key_name(AI)] with a [src].") message_admins("[ADMIN_LOOKUPFLW(user)] has upgraded [ADMIN_LOOKUPFLW(AI)] with a [src].") qdel(src) + return TRUE