Reworking eyes of god to be risk / reward / from colossus (#20163)

* eye see what is happening here

* loot it and ship it

* more progress

* more progress

* eye see

Co-authored-by: Ryan <80364400+Sirryan2002@users.noreply.github.com>

* Apply suggestions from code review

Co-authored-by: Ryan <80364400+Sirryan2002@users.noreply.github.com>

* removing extra comment to rerun checks while I think on sprite

* name / sprite, good to go™️

* BSH no longer spawns invisible penguins

* oops wrong branch

Co-authored-by: Ryan <80364400+Sirryan2002@users.noreply.github.com>
This commit is contained in:
Qwertytoforty
2023-01-20 19:28:22 -05:00
committed by GitHub
co-authored by Ryan
parent 67c6813568
commit aec7c3ff3f
16 changed files with 177 additions and 49 deletions
+3 -1
View File
@@ -357,8 +357,10 @@
if(HAS_TRAIT(H, TRAIT_SKELETONIZED) && (!H.w_uniform) && (!H.wear_suit))
H.play_xylophone()
/mob/living/carbon/flash_eyes(intensity = 1, override_blindness_check = 0, affect_silicon = 0, visual = 0)
/mob/living/carbon/flash_eyes(intensity = 1, override_blindness_check = 0, affect_silicon = 0, visual = 0, laser_pointer = FALSE, type = /obj/screen/fullscreen/flash)
. = ..()
SIGNAL_HANDLER
SEND_SIGNAL(src, COMSIG_CARBON_FLASH_EYES, laser_pointer)
var/damage = intensity - check_eye_prot()
var/extra_damage = 0
if(.)
@@ -565,6 +565,7 @@ GLOBAL_LIST_EMPTY(damage_icon_parts)
update_tail_layer()
update_wing_layer()
update_halo_layer()
update_eyes_overlay_layer()
overlays.Cut() // Force all overlays to regenerate
update_fire()
update_icons()
@@ -1365,6 +1366,17 @@ GLOBAL_LIST_EMPTY(damage_icon_parts)
apply_overlay(HALO_LAYER)
/mob/living/carbon/human/proc/update_eyes_overlay_layer()
remove_overlay(EYES_OVERLAY_LAYER)
var/obj/item/organ/internal/eyes/eyes_organ = get_int_organ(/obj/item/organ/internal/eyes)
if(istype(eyes_organ, /obj/item/organ/internal/eyes/cybernetic/eyesofgod))
var/obj/item/organ/internal/eyes/cybernetic/eyesofgod/E = eyes_organ
if(E.active)
var/mutable_appearance/new_eye_overlay = mutable_appearance('icons/effects/32x64.dmi', "eyesofgod", -EYES_OVERLAY_LAYER)
overlays_standing[EYES_OVERLAY_LAYER] = new_eye_overlay
apply_overlay(EYES_OVERLAY_LAYER)
/mob/living/carbon/human/admin_Freeze(client/admin, skip_overlays = TRUE, mech = null)
if(..())
+1 -1
View File
@@ -831,7 +831,7 @@
return "You can't fit into that vent."
//called when the mob receives a bright flash
/mob/living/proc/flash_eyes(intensity = 1, override_blindness_check = 0, affect_silicon = 0, visual = 0, type = /obj/screen/fullscreen/flash)
/mob/living/proc/flash_eyes(intensity = 1, override_blindness_check = 0, affect_silicon = 0, visual = 0, laser_pointer = FALSE, type = /obj/screen/fullscreen/flash)
if(check_eye_prot() < intensity && (override_blindness_check || !HAS_TRAIT(src, TRAIT_BLIND)) && !HAS_TRAIT(src, TRAIT_FLASH_PROTECTION))
overlay_fullscreen("flash", type)
addtimer(CALLBACK(src, PROC_REF(clear_fullscreen), "flash", 25), 25)