bugfixes, vendors instead of 2nd set of tables at arrivals, look down/up, no bonuses from thermals/mesons/etc if using an eye

This commit is contained in:
Matt Atlas
2022-03-14 13:20:20 +01:00
parent 0bfba98119
commit 8cb02360c3
6 changed files with 144 additions and 35 deletions
@@ -2139,3 +2139,51 @@
custom_pain("YOUR EARS ARE DEAFENED BY THE PAIN!", 110, TRUE, E, FALSE)
adjustEarDamage(5, 5, FALSE)
stop_listening()
/mob/living/carbon/human/verb/lookup()
set name = "Look Up"
set desc = "If you want to know what's above."
set category = "IC"
if(client && !is_physically_disabled())
if(z_eye)
reset_view(null)
QDEL_NULL(z_eye)
return
var/turf/above = GetAbove(src)
if(TURF_IS_MIMICING(above))
z_eye = new /atom/movable/z_observer/z_up(src, src)
to_chat(src, "<span class='notice'>You look up.</span>")
reset_view(z_eye)
return
to_chat(src, "<span class='notice'>You can see \the [above ? above : "ceiling"].</span>")
else
to_chat(src, "<span class='notice'>You can't look up right now.</span>")
/mob/living/verb/lookdown()
set name = "Look Down"
set desc = "If you want to know what's below."
set category = "IC"
if(client && !is_physically_disabled())
if(z_eye)
reset_view(null)
QDEL_NULL(z_eye)
return
var/turf/T = get_turf(src)
if(TURF_IS_MIMICING(T) && HasBelow(T.z))
z_eye = new /atom/movable/z_observer/z_down(src, src)
to_chat(src, "<span class='notice'>You look down.</span>")
reset_view(z_eye)
return
else
T = get_step(T, dir)
if(TURF_IS_MIMICING(T) && HasBelow(T.z))
z_eye = new /atom/movable/z_observer/z_down(src, src, TRUE)
to_chat(src, "<span class='notice'>You lean over to look down in front of you.</span>")
reset_view(z_eye)
return
to_chat(src, "<span class='notice'>You can see \the [T ? T : "floor"].</span>")
else
to_chat(src, "<span class='notice'>You can't look below right now.</span>")
@@ -50,14 +50,21 @@
equipment_darkness_modifier = 0
equipment_overlays.Cut()
if(istype(src.head, /obj/item/clothing/head))
add_clothing_protection(head)
if(istype(src.glasses, /obj/item/clothing/glasses))
process_glasses(glasses)
if(istype(src.wear_mask, /obj/item/clothing/mask))
add_clothing_protection(wear_mask)
if(istype(back,/obj/item/rig))
process_rig(back)
var/binoc_check
if(client)
binoc_check = client.view == world.view
else
binoc_check = TRUE
if ((!client || client.eye == src || client.eye == loc || client.eye == z_eye) && binoc_check) // !client is so the unit tests function
if(istype(src.head, /obj/item/clothing/head))
add_clothing_protection(head)
if(istype(src.glasses, /obj/item/clothing/glasses))
process_glasses(glasses)
if(istype(src.wear_mask, /obj/item/clothing/mask))
add_clothing_protection(wear_mask)
if(istype(back,/obj/item/rig))
process_rig(back)
/mob/living/carbon/human/proc/process_glasses(var/obj/item/clothing/glasses/G)
if(G && G.active)
@@ -1331,6 +1331,8 @@
reset_view(null)
else
var/isRemoteObserve = 0
if(z_eye && client?.eye == z_eye && !is_physically_disabled())
isRemoteObserve = 1
if((mRemote in mutations) && remoteview_target)
if(remoteview_target.stat==CONSCIOUS)
isRemoteObserve = 1