diff --git a/code/__DEFINES/sight.dm b/code/__DEFINES/sight.dm index 37aeafcacc4..e6b4e9d4c84 100644 --- a/code/__DEFINES/sight.dm +++ b/code/__DEFINES/sight.dm @@ -5,6 +5,8 @@ #define INVISIBILITY_LIGHTING 20 +#define SEE_INVISIBLE_LIVING_AI 24 + #define SEE_INVISIBLE_LIVING 25 // Hidden cult runes diff --git a/code/modules/antagonists/changeling/powers/digitalcamo.dm b/code/modules/antagonists/changeling/powers/digitalcamo.dm index b86a1455655..0a8862435ac 100644 --- a/code/modules/antagonists/changeling/powers/digitalcamo.dm +++ b/code/modules/antagonists/changeling/powers/digitalcamo.dm @@ -14,10 +14,11 @@ /datum/action/changeling/digitalcamo/sting_action(mob/user) if(HAS_TRAIT_FROM(user, TRAIT_AI_UNTRACKABLE, CHANGELING_TRAIT)) REMOVE_TRAIT(user, TRAIT_AI_UNTRACKABLE, CHANGELING_TRAIT) + user.invisibility = initial(user.invisibility) to_chat(user, "We return to normal.") else ADD_TRAIT(user, TRAIT_AI_UNTRACKABLE, CHANGELING_TRAIT) to_chat(user, "We distort our form to prevent AI-tracking.") - + user.invisibility = SEE_INVISIBLE_LIVING SSblackbox.record_feedback("nested tally", "changeling_powers", 1, list("[name]")) return TRUE diff --git a/code/modules/mob/living/silicon/ai/ai_mob.dm b/code/modules/mob/living/silicon/ai/ai_mob.dm index 639e4fdebbb..ef964874e78 100644 --- a/code/modules/mob/living/silicon/ai/ai_mob.dm +++ b/code/modules/mob/living/silicon/ai/ai_mob.dm @@ -47,6 +47,7 @@ GLOBAL_LIST_INIT(ai_verbs_default, list( d_hud = DATA_HUD_DIAGNOSTIC_ADVANCED mob_size = MOB_SIZE_LARGE sight = SEE_TURFS | SEE_MOBS | SEE_OBJS + see_invisible = SEE_INVISIBLE_LIVING_AI see_in_dark = 8 can_strip = FALSE var/list/network = list("SS13","Telecomms","Research Outpost","Mining Outpost") @@ -56,7 +57,7 @@ GLOBAL_LIST_INIT(ai_verbs_default, list( //var/list/laws = list() alarms_listend_for = list("Motion", "Fire", "Atmosphere", "Power", "Burglar") var/viewalerts = FALSE - var/icon/holo_icon//Default is assigned when AI is created. + var/icon/holo_icon //Default is assigned when AI is created. var/obj/mecha/controlled_mech //For controlled_mech a mech, to determine whether to relaymove or use the AI eye. var/obj/item/pda/silicon/ai/aiPDA = null var/obj/item/multitool/aiMulti = null