mirror of
https://github.com/Aurorastation/Aurora.3.git
synced 2026-08-25 14:00:18 +01:00
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:
@@ -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
|
||||
|
||||
@@ -770,3 +770,63 @@
|
||||
|
||||
/mob/fall_get_specs(levels_fallen)
|
||||
return list(mob_size, throw_range)
|
||||
|
||||
/mob/living
|
||||
var/atom/movable/z_observer/z_eye
|
||||
|
||||
/atom/movable/z_observer
|
||||
name = ""
|
||||
simulated = FALSE
|
||||
anchored = TRUE
|
||||
mouse_opacity = FALSE
|
||||
var/mob/living/owner
|
||||
|
||||
/atom/movable/z_observer/Initialize(mapload, var/mob/living/user, var/tile_shift = FALSE)
|
||||
. = ..()
|
||||
owner = user
|
||||
if(tile_shift)
|
||||
step(get_step(owner, owner.dir))
|
||||
follow()
|
||||
moved_event.register(owner, src, /atom/movable/z_observer/proc/follow)
|
||||
|
||||
/atom/movable/z_observer/proc/follow()
|
||||
|
||||
/atom/movable/z_observer/z_up/follow()
|
||||
forceMove(get_step(owner, UP))
|
||||
if(isturf(src.loc))
|
||||
var/turf/T = src.loc
|
||||
if(T.flags & MIMIC_BELOW)
|
||||
return
|
||||
owner.reset_view(null)
|
||||
owner.z_eye = null
|
||||
qdel(src)
|
||||
|
||||
/atom/movable/z_observer/z_down/follow()
|
||||
forceMove(get_step(owner, DOWN))
|
||||
var/turf/T = get_turf(owner)
|
||||
if(T && (T.flags & MIMIC_BELOW))
|
||||
return
|
||||
owner.reset_view(null)
|
||||
owner.z_eye = null
|
||||
qdel(src)
|
||||
|
||||
/atom/movable/z_observer/Destroy()
|
||||
moved_event.unregister(owner, src, /atom/movable/z_observer/proc/follow)
|
||||
owner = null
|
||||
. = ..()
|
||||
|
||||
/atom/movable/z_observer/can_fall()
|
||||
return FALSE
|
||||
|
||||
/atom/movable/z_observer/ex_act()
|
||||
SHOULD_CALL_PARENT(FALSE)
|
||||
return
|
||||
|
||||
/atom/movable/z_observer/singularity_act()
|
||||
return
|
||||
|
||||
/atom/movable/z_observer/singularity_pull()
|
||||
return
|
||||
|
||||
/atom/movable/z_observer/singuloCanEat()
|
||||
return
|
||||
|
||||
Reference in New Issue
Block a user