Files
S.P.L.U.R.T-Station-13/code/modules/shuttle/shuttle_creation/shuttle_creator_eye.dm
SmArtKar 46c3e9e54d Shuttles
2020-06-16 18:16:14 +03:00

55 lines
1.6 KiB
Plaintext

//===============Camera Eye================
/mob/camera/aiEye/remote/shuttle_creation
name = "shuttle holo-drone"
icon = 'icons/obj/mining.dmi'
icon_state = "construction_drone"
visible_icon = FALSE
acceleration = 0
var/turf/source_turf
var/max_range = 12
/mob/camera/aiEye/remote/shuttle_creation/Initialize()
. = ..()
setLoc(get_turf(source_turf))
/mob/camera/aiEye/remote/shuttle_creation/update_remote_sight(mob/living/user)
user.sight = BLIND|SEE_TURFS
user.lighting_alpha = LIGHTING_PLANE_ALPHA_INVISIBLE
user.sync_lighting_plane_alpha()
return TRUE
/mob/camera/aiEye/remote/shuttle_creation/relaymove(mob/user, direct)
dir = direct //This camera eye is visible as a drone, and needs to keep the dir updated
var/initial = initial(sprint)
var/max_sprint = 50
if(cooldown && cooldown < world.timeofday) // 3 seconds
sprint = initial
for(var/i = 0; i < max(sprint, initial); i += 20)
var/turf/step = get_turf(get_step(src, direct))
if(step && can_move_to(step))
setLoc(step)
cooldown = world.timeofday + 5
if(acceleration)
sprint = min(sprint + 0.5, max_sprint)
else
sprint = initial
/mob/camera/aiEye/remote/shuttle_creation/proc/can_move_to(var/turf/T)
var/origin_x = source_turf.x
var/origin_y = source_turf.y
var/change_X = abs(origin_x - T.x)
var/change_Y = abs(origin_y - T.y)
return (change_X < max_range && change_Y < max_range)
/mob/camera/aiEye/remote/shuttle_creation/setLoc(T)
..()
if(eye_user?.client)
eye_user.client.images -= user_image
var/image/I = image(icon, loc, icon_state, FLY_LAYER, dir)
I.plane = MASSIVE_OBJ_LAYER
user_image = I
eye_user.client.images += user_image