From e1babe281ab63838e2432c3886f68e666475e241 Mon Sep 17 00:00:00 2001 From: Neerti Date: Mon, 8 Dec 2014 20:14:55 -0500 Subject: [PATCH] Fixes AI cards/mechs, with least bad method. --- code/game/mecha/mecha.dm | 6 ++++-- code/game/objects/items/devices/aicard.dm | 4 ++-- code/game/objects/items/devices/paicard.dm | 4 ++-- code/game/objects/objs.dm | 1 + code/modules/mob/emote.dm | 7 +++++-- 5 files changed, 14 insertions(+), 8 deletions(-) diff --git a/code/game/mecha/mecha.dm b/code/game/mecha/mecha.dm index 25dd9610db..41ed907d16 100644 --- a/code/game/mecha/mecha.dm +++ b/code/game/mecha/mecha.dm @@ -204,9 +204,11 @@ return /obj/mecha/see_emote(mob/living/M, text) - if(M == occupant && M.client) - var/rendered = "[text]" + if(occupant && occupant.client) + world << "MECHA NAMED [src.name] HEARD [M.name] DO [text]!" + var/rendered = "[text]" occupant.show_message(rendered, 2) + world << "SEE_EMOTE() WAS RAN ON [src.name]!" ..() //////////////////////////// diff --git a/code/game/objects/items/devices/aicard.dm b/code/game/objects/items/devices/aicard.dm index c50425842f..312a852cba 100644 --- a/code/game/objects/items/devices/aicard.dm +++ b/code/game/objects/items/devices/aicard.dm @@ -174,8 +174,8 @@ update_icon() /obj/item/device/aicard/see_emote(mob/living/M, text) - if(carded_ai.client) - var/rendered = "[text]" + if(carded_ai && carded_ai.client) + var/rendered = "[text]" carded_ai.show_message(rendered, 2) ..() /* diff --git a/code/game/objects/items/devices/paicard.dm b/code/game/objects/items/devices/paicard.dm index 887c52b4c8..8737326961 100644 --- a/code/game/objects/items/devices/paicard.dm +++ b/code/game/objects/items/devices/paicard.dm @@ -313,7 +313,7 @@ /obj/item/device/paicard/see_emote(mob/living/M, text) - if(pai.client) - var/rendered = "[text]" + if(pai && pai.client) + var/rendered = "[text]" pai.show_message(rendered, 2) ..() \ No newline at end of file diff --git a/code/game/objects/objs.dm b/code/game/objects/objs.dm index 9389578d35..7e647a18a8 100644 --- a/code/game/objects/objs.dm +++ b/code/game/objects/objs.dm @@ -136,5 +136,6 @@ mo.show_message(rendered, 2) */ return + /obj/proc/see_emote(mob/M as mob, text, var/emote_type) return diff --git a/code/modules/mob/emote.dm b/code/modules/mob/emote.dm index 353ee370b5..1d92926f53 100644 --- a/code/modules/mob/emote.dm +++ b/code/modules/mob/emote.dm @@ -50,7 +50,10 @@ // Type 1 (Visual) emotes are sent to anyone in view of the item if (m_type & 1) - for (var/mob/O in viewers(src, null)) + //for (var/mob/O in viewers(src, null)) + for (var/mob/O in viewers(get_turf(src), null)) //This may break people with x-ray being able to see emotes across walls, + //but this saves many headaches down the road, involving mechs and pAIs. + //x-ray is so rare these days anyways. if(O.status_flags & PASSEMOTES) @@ -68,7 +71,7 @@ O.see_emote(src, message, 1) // Type 2 (Audible) emotes are sent to anyone in hear range - // of the *LOCATION* -- this is important for pAIs to be heard + // of the *LOCATION* -- this is important for AIs/pAIs to be heard else if (m_type & 2) for (var/mob/O in hearers(get_turf(src), null))