From df81c5be4ac97bb049c23e4a00b75e898162d04e Mon Sep 17 00:00:00 2001 From: ShizCalev Date: Mon, 24 Feb 2020 01:10:34 -0500 Subject: [PATCH] Fixes blindfolds not properly counting as being blind --- code/datums/brain_damage/phobia.dm | 2 +- code/game/machinery/computer/camera.dm | 4 ++-- .../machinery/computer/camera_advanced.dm | 2 +- code/game/objects/items/devices/camera_bug.dm | 2 +- code/game/objects/items/devices/flashlight.dm | 2 +- .../objects/items/devices/laserpointer.dm | 2 +- code/game/objects/items/devices/scanners.dm | 6 +++--- code/modules/assembly/flash.dm | 2 +- code/modules/library/lib_items.dm | 2 +- .../mob/living/simple_animal/bot/medbot.dm | 2 +- .../simple_animal/hostile/netherworld.dm | 20 +++++++++---------- .../living/simple_animal/hostile/statue.dm | 4 ++-- code/modules/mob/mob.dm | 8 ++++---- code/modules/mob/mob_helpers.dm | 9 +++------ code/modules/paperwork/paper.dm | 2 +- 15 files changed, 33 insertions(+), 36 deletions(-) diff --git a/code/datums/brain_damage/phobia.dm b/code/datums/brain_damage/phobia.dm index 12faa9ba365..bb8e454d8d6 100644 --- a/code/datums/brain_damage/phobia.dm +++ b/code/datums/brain_damage/phobia.dm @@ -35,7 +35,7 @@ ..() if(HAS_TRAIT(owner, TRAIT_FEARLESS)) return - if(is_blind(owner)) + if(owner.is_blind()) return if(world.time > next_check && world.time > next_scare) next_check = world.time + 50 diff --git a/code/game/machinery/computer/camera.dm b/code/game/machinery/computer/camera.dm index bf7665b4591..c865633cbe9 100644 --- a/code/game/machinery/computer/camera.dm +++ b/code/game/machinery/computer/camera.dm @@ -23,7 +23,7 @@ network += "[idnum][i]" /obj/machinery/computer/security/check_eye(mob/user) - if( (machine_stat & (NOPOWER|BROKEN)) || user.incapacitated() || user.eye_blind ) + if( (machine_stat & (NOPOWER|BROKEN)) || user.incapacitated() || user.is_blind() ) user.unset_machine() return if(!(user in watchers)) @@ -102,7 +102,7 @@ return if(C) var/camera_fail = 0 - if(!C.can_use() || user.machine != src || user.eye_blind || user.incapacitated()) + if(!C.can_use() || user.machine != src || user.is_blind() || user.incapacitated()) camera_fail = 1 else if(iscyborg(user) || long_ranged) var/list/viewing = viewers(src) diff --git a/code/game/machinery/computer/camera_advanced.dm b/code/game/machinery/computer/camera_advanced.dm index a9c54680e1b..b09a50cf29f 100644 --- a/code/game/machinery/computer/camera_advanced.dm +++ b/code/game/machinery/computer/camera_advanced.dm @@ -79,7 +79,7 @@ playsound(src, 'sound/machines/terminal_off.ogg', 25, FALSE) /obj/machinery/computer/camera_advanced/check_eye(mob/user) - if( (machine_stat & (NOPOWER|BROKEN)) || (!Adjacent(user) && !user.has_unlimited_silicon_privilege) || user.eye_blind || user.incapacitated() ) + if( (machine_stat & (NOPOWER|BROKEN)) || (!Adjacent(user) && !user.has_unlimited_silicon_privilege) || user.is_blind() || user.incapacitated() ) user.unset_machine() /obj/machinery/computer/camera_advanced/Destroy() diff --git a/code/game/objects/items/devices/camera_bug.dm b/code/game/objects/items/devices/camera_bug.dm index fc1b6380f26..92a8a0c2469 100644 --- a/code/game/objects/items/devices/camera_bug.dm +++ b/code/game/objects/items/devices/camera_bug.dm @@ -60,7 +60,7 @@ interact(user) /obj/item/camera_bug/check_eye(mob/user) - if ( loc != user || user.incapacitated() || user.eye_blind || !current ) + if ( loc != user || user.incapacitated() || user.is_blind() || !current ) user.unset_machine() return 0 var/turf/T_user = get_turf(user.loc) diff --git a/code/game/objects/items/devices/flashlight.dm b/code/game/objects/items/devices/flashlight.dm index e52cecc227c..46ccde39c47 100644 --- a/code/game/objects/items/devices/flashlight.dm +++ b/code/game/objects/items/devices/flashlight.dm @@ -42,7 +42,7 @@ return 1 /obj/item/flashlight/suicide_act(mob/living/carbon/human/user) - if (user.eye_blind) + if (user.is_blind()) user.visible_message("[user] is putting [src] close to [user.p_their()] eyes and turning it on... but [user.p_theyre()] blind!") return SHAME user.visible_message("[user] is putting [src] close to [user.p_their()] eyes and turning it on! It looks like [user.p_theyre()] trying to commit suicide!") diff --git a/code/game/objects/items/devices/laserpointer.dm b/code/game/objects/items/devices/laserpointer.dm index 232b9c71dbd..5e8db504704 100644 --- a/code/game/objects/items/devices/laserpointer.dm +++ b/code/game/objects/items/devices/laserpointer.dm @@ -134,7 +134,7 @@ //catpeople for(var/mob/living/carbon/human/H in view(1,targloc)) - if(!isfelinid(H) || H.incapacitated() || H.eye_blind ) + if(!isfelinid(H) || H.incapacitated() || H.is_blind()) continue if(user.mobility_flags & MOBILITY_STAND) H.setDir(get_dir(H,targloc)) // kitty always looks at the light diff --git a/code/game/objects/items/devices/scanners.dm b/code/game/objects/items/devices/scanners.dm index 8917927b4ee..848dd12b556 100644 --- a/code/game/objects/items/devices/scanners.dm +++ b/code/game/objects/items/devices/scanners.dm @@ -133,7 +133,7 @@ GENE SCANNER // Used by the PDA medical scanner too /proc/healthscan(mob/user, mob/living/M, mode = SCANNER_VERBOSE, advanced = FALSE) - if(isliving(user) && (user.incapacitated() || user.eye_blind)) + if(isliving(user) && (user.incapacitated() || user.is_blind())) return // the final list of strings to render @@ -429,7 +429,7 @@ GENE SCANNER /obj/item/analyzer/attack_self(mob/user) add_fingerprint(user) - if (user.stat || user.eye_blind) + if (user.stat || user.is_blind()) return var/turf/location = user.loc @@ -590,7 +590,7 @@ GENE SCANNER custom_materials = list(/datum/material/iron=30, /datum/material/glass=20) /obj/item/slime_scanner/attack(mob/living/M, mob/living/user) - if(user.stat || user.eye_blind) + if(user.stat || user.is_blind()) return if (!isslime(M)) to_chat(user, "This device can only scan slimes!") diff --git a/code/modules/assembly/flash.dm b/code/modules/assembly/flash.dm index 4dcc90f9797..7ccd70cf18d 100644 --- a/code/modules/assembly/flash.dm +++ b/code/modules/assembly/flash.dm @@ -23,7 +23,7 @@ if(burnt_out) user.visible_message("[user] raises \the [src] up to [user.p_their()] eyes and activates it ... but it's burnt out!") return SHAME - else if(user.eye_blind) + else if(user.is_blind()) user.visible_message("[user] raises \the [src] up to [user.p_their()] eyes and activates it ... but [user.p_theyre()] blind!") return SHAME user.visible_message("[user] raises \the [src] up to [user.p_their()] eyes and activates it! It looks like [user.p_theyre()] trying to commit suicide!") diff --git a/code/modules/library/lib_items.dm b/code/modules/library/lib_items.dm index 15917aef063..ffe88fd4699 100644 --- a/code/modules/library/lib_items.dm +++ b/code/modules/library/lib_items.dm @@ -205,7 +205,7 @@ /obj/item/book/attackby(obj/item/I, mob/user, params) if(istype(I, /obj/item/pen)) - if(is_blind(user)) + if(user.is_blind()) to_chat(user, "As you are trying to write on the book, you suddenly feel very stupid!") return if(unique) diff --git a/code/modules/mob/living/simple_animal/bot/medbot.dm b/code/modules/mob/living/simple_animal/bot/medbot.dm index 222f10a9d3b..f8d8d5b882c 100644 --- a/code/modules/mob/living/simple_animal/bot/medbot.dm +++ b/code/modules/mob/living/simple_animal/bot/medbot.dm @@ -341,7 +341,7 @@ /mob/living/simple_animal/bot/medbot/examinate(atom/A as mob|obj|turf in view()) ..() - if(!is_blind(src)) + if(!is_blind()) chemscan(src, A) /mob/living/simple_animal/bot/medbot/proc/medicate_patient(mob/living/carbon/C) diff --git a/code/modules/mob/living/simple_animal/hostile/netherworld.dm b/code/modules/mob/living/simple_animal/hostile/netherworld.dm index 22e0a06f300..9db177f7107 100644 --- a/code/modules/mob/living/simple_animal/hostile/netherworld.dm +++ b/code/modules/mob/living/simple_animal/hostile/netherworld.dm @@ -21,20 +21,20 @@ var/phaser = TRUE var/datum/action/innate/creature/teleport/teleport var/is_phased = FALSE - + /mob/living/simple_animal/hostile/netherworld/Initialize() . = ..() if(phaser) teleport = new teleport.Grant(src) - + /datum/action/innate/creature background_icon_state = "bg_default" - + /datum/action/innate/creature/teleport name = "Teleport" desc = "Teleport to wherever you want, as long as you aren't seen." - + /obj/effect/dummy/phased_mob/creature name = "water" icon = 'icons/effects/effects.dmi' @@ -44,7 +44,7 @@ invisibility = 60 resistance_flags = LAVA_PROOF | FIRE_PROOF | UNACIDABLE | ACID_PROOF var/canmove = TRUE - + /obj/effect/dummy/phased_mob/creature/relaymove(mob/user, direction) forceMove(get_step(src,direction)) @@ -56,7 +56,7 @@ /obj/effect/dummy/phased_mob/creature/singularity_act() return - + /datum/action/innate/creature/teleport/Activate() var/mob/living/simple_animal/hostile/netherworld/N = owner var/obj/effect/dummy/phased_mob/creature/holder = null @@ -80,7 +80,7 @@ holder = new /obj/effect/dummy/phased_mob/creature(T) N.forceMove(holder) N.is_phased = TRUE - + /mob/living/simple_animal/hostile/netherworld/proc/can_be_seen(turf/location) // Check for darkness if(location && location.lighting_object) @@ -96,14 +96,14 @@ for(var/atom/check in check_list) for(var/mob/living/M in viewers(world.view + 1, check) - src) if(M.client && CanAttack(M) && !M.has_unlimited_silicon_privilege) - if(!M.eye_blind) + if(!M.is_blind()) return M for(var/obj/mecha/M in view(world.view + 1, check)) //assuming if you can see them they can see you if(M.occupant && M.occupant.client) - if(!M.occupant.eye_blind) + if(!M.occupant.is_blind()) return M.occupant return null - + /mob/living/simple_animal/hostile/netherworld/migo name = "mi-go" desc = "A pinkish, fungoid crustacean-like creature with numerous pairs of clawed appendages and a head covered with waving antennae." diff --git a/code/modules/mob/living/simple_animal/hostile/statue.dm b/code/modules/mob/living/simple_animal/hostile/statue.dm index 798bd37fbc0..88e221d6224 100644 --- a/code/modules/mob/living/simple_animal/hostile/statue.dm +++ b/code/modules/mob/living/simple_animal/hostile/statue.dm @@ -129,11 +129,11 @@ for(var/atom/check in check_list) for(var/mob/living/M in viewers(world.view + 1, check) - src) if(M.client && CanAttack(M) && !M.has_unlimited_silicon_privilege) - if(!M.eye_blind) + if(!M.is_blind()) return M for(var/obj/mecha/M in view(world.view + 1, check)) //assuming if you can see them they can see you if(M.occupant && M.occupant.client) - if(!M.occupant.eye_blind) + if(!M.occupant.is_blind()) return M.occupant return null diff --git a/code/modules/mob/mob.dm b/code/modules/mob/mob.dm index 182e2193604..abc840fdbf8 100644 --- a/code/modules/mob/mob.dm +++ b/code/modules/mob/mob.dm @@ -141,7 +141,7 @@ msg = copytext_char(msg, 1, MAX_MESSAGE_LEN) if(type) - if(type & MSG_VISUAL && eye_blind )//Vision related + if(type & MSG_VISUAL && is_blind() )//Vision related if(!alt_msg) return else @@ -154,7 +154,7 @@ else msg = alt_msg type = alt_type - if(type & MSG_VISUAL && eye_blind) + if(type & MSG_VISUAL && is_blind()) return // voice muffling if(stat == UNCONSCIOUS) @@ -411,7 +411,7 @@ // shift-click catcher may issue examinate() calls for out-of-sight turfs return - if(is_blind(src)) + if(is_blind()) to_chat(src, "Something is there but you can't see it!") return @@ -1103,7 +1103,7 @@ ///Can this mob read (is literate and not blind) /mob/proc/can_read(obj/O) - if(is_blind(src)) + if(is_blind()) to_chat(src, "As you are trying to read [O], you suddenly feel very stupid!") return if(!is_literate()) diff --git a/code/modules/mob/mob_helpers.dm b/code/modules/mob/mob_helpers.dm index e9b6fd55368..85a5b6b3807 100644 --- a/code/modules/mob/mob_helpers.dm +++ b/code/modules/mob/mob_helpers.dm @@ -285,12 +285,9 @@ if(hud_used && hud_used.action_intent) hud_used.action_intent.icon_state = "[a_intent]" -///Checks if passed through item is blind -/proc/is_blind(A) - if(ismob(A)) - var/mob/B = A - return B.eye_blind - return FALSE +///Checks if the mob is able to see or not. eye_blind is temporary blindness, the trait is if they're permanently blind. +/mob/proc/is_blind() + return eye_blind ? TRUE : HAS_TRAIT(src, TRAIT_BLIND) ///Is the mob hallucinating? /mob/proc/hallucinating() diff --git a/code/modules/paperwork/paper.dm b/code/modules/paperwork/paper.dm index 6f98b5f6036..b96bf4ede56 100644 --- a/code/modules/paperwork/paper.dm +++ b/code/modules/paperwork/paper.dm @@ -292,7 +292,7 @@ if(resistance_flags & ON_FIRE) return - if(is_blind(user)) + if(user.is_blind()) return if(istype(P, /obj/item/pen) || istype(P, /obj/item/toy/crayon))