Files
CHOMPStation2/code/modules/flufftext/look_up.dm
2018-08-11 18:42:36 -04:00

61 lines
2.3 KiB
Plaintext

// Implements a verb to make your character look upward, mostly intended for the surface.
/mob/living/verb/look_up()
set name = "Look Up"
set category = "IC"
set desc = "Look above you, and hope there's no ceiling spiders."
to_chat(usr, "You look upwards...")
var/turf/T = get_turf(usr)
if(!T) // In null space.
to_chat(usr, span("warning", "You appear to be in a place without any sort of concept of direction. You have bigger problems to worry about."))
return
if(!T.outdoors) // They're inside.
to_chat(usr, "You see nothing interesting.")
return
else // They're outside and hopefully on a planet.
var/datum/planet/P = SSplanets.z_to_planet[T.z]
if(!P)
to_chat(usr, span("warning", "You appear to be outside, but not on a planet... Something is wrong."))
return
var/datum/weather_holder/WH = P.weather_holder
// Describe the current weather.
if(WH.current_weather.observed_message)
to_chat(usr, WH.current_weather.observed_message)
// If we can see the sky, we'll see things like sun position, phase of the moon, etc.
if(!WH.current_weather.sky_visible)
to_chat(usr, "You can't see the sky clearly due to the [WH.current_weather.name].")
else
// Sun-related output.
if(P.sun_name)
var/afternoon = P.current_time.seconds_stored > (P.current_time.seconds_in_day / 2)
var/sun_message = null
switch(P.sun_position)
if(0 to 0.4) // Night
sun_message = "It is night time, [P.sun_name] is not visible."
if(0.4 to 0.5) // Twilight
sun_message = "The sky is in twilight, however [P.sun_name] is not visible."
if(0.5 to 0.7) // Sunrise/set.
sun_message = "[P.sun_name] is slowly [!afternoon ? "rising from" : "setting on"] the horizon."
if(0.7 to 0.9) // Morning/evening
sun_message = "[P.sun_name]'s position implies it is currently [!afternoon ? "early" : "late"] in the day."
if(0.9 to 1.0) // Noon
sun_message = "It's high noon. [P.sun_name] hangs directly above you."
to_chat(usr, sun_message)
// Now for the moon.
if(P.moon_name)
if(P.moon_phase == MOON_PHASE_NEW_MOON)
to_chat(usr, "[P.moon_name] is not visible. It must be a new moon.")
else
to_chat(usr, "[P.moon_name] appears to currently be a [P.moon_phase].")