From 87bd6debd4eee3d6efeca51508dafd1b1af139ad Mon Sep 17 00:00:00 2001 From: Lexanx <61974560+Lexanx@users.noreply.github.com> Date: Tue, 26 Nov 2024 20:55:23 +0300 Subject: [PATCH] =?UTF-8?q?=D0=A2=D0=B5=D0=BD=D0=B5=D0=BA=20=D0=BF=D1=80?= =?UTF-8?q?=D0=B8=20=D0=BF=D0=BE=D1=81=D0=B0=D0=B4=D0=BA=D0=B5=20(#2893)?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- mods/utility_items/code/advanced_landing.dm | 34 +++++++++++++++++++- mods/utility_items/icons/alphacolors.dmi | Bin 547 -> 561 bytes 2 files changed, 33 insertions(+), 1 deletion(-) diff --git a/mods/utility_items/code/advanced_landing.dm b/mods/utility_items/code/advanced_landing.dm index 5d71054169c5c..02d6cbd972a8c 100644 --- a/mods/utility_items/code/advanced_landing.dm +++ b/mods/utility_items/code/advanced_landing.dm @@ -176,6 +176,10 @@ /area/bluespaceriver, ) + var/list/shadow_images = list() + var/list/saved_landmarks= list() + + /obj/machinery/computer/shuttle_control/explore/proc/oko_enter() oko = new /mob/observer/eye/landeye oko.name_sufix = "Landing Eye" @@ -216,7 +220,7 @@ landmarky_off = shuttle_landmark.y - origin.y /obj/machinery/computer/shuttle_control/explore/proc/check_zone() - + shadow_images = list() var/turf/eyeturf = get_turf(oko) var/list/image_cache = oko.placement_images var/landable = TRUE @@ -227,6 +231,7 @@ var/area/A = get_area(T) var/zone_good = FALSE I.loc = T + shadow_images += I if(!(T.density)) for(var/type in accesible_areas) if(A.type in typesof(type)) @@ -270,6 +275,8 @@ src.Destroy() SetName(initial(name)) +/obj/shuttle_landmark + var/list/image_shadow /obj/shuttle_landmark/ship/advancedlandmark/Initialize(mapload, obj/shuttle_landmark/ship/master, _name) landmark_tag = "_[shuttle_name] [rand(1,99999)]" @@ -285,11 +292,20 @@ var/datum/shuttle/shuttle_datum = SSshuttle.shuttles[shuttle_name] if(temp in shuttle_datum.shuttle_area) for(var/obj/machinery/computer/shuttle_control/explore/c in temp) + for(var/obj/shuttle_landmark/ship/advancedlandmark/l in c.saved_landmarks) + var/area/landmarkarea = get_area(l) + if(landmarkarea in shuttle_datum.shuttle_area) + continue + else + c.saved_landmarks -= l + qdel(l) if(c.check_zone()) var/turf/eyeturf = get_turf(c.oko) var/turf/T = locate(eyeturf.x + c.landmarkx_off, eyeturf.y + c.landmarky_off , eyeturf.z) landmark = new (T, src) + c.saved_landmarks += landmark c.shuttle_type.set_destination(landmark) + c.shuttle_type.next_location.image_shadow = c.shadow_images /turf var/prev_type @@ -298,3 +314,19 @@ .=..() var/old_prev_type = prev_type prev_type = old_prev_type + + +/datum/shuttle/autodock/process_launch() + .=..() + for(var/i in 1 to LAZYLEN(next_location.image_shadow)) + var/image/I = next_location.image_shadow[i] + var/turf/T = locate(I.loc.x, I.loc.y, I.loc.z) + I = image('mods/utility_items/icons/alphacolors.dmi', T, "dither50") + T.AddOverlays(I) + +/datum/shuttle/autodock/process_arrived() + .=..() + for(var/i in 1 to LAZYLEN(next_location.image_shadow)) + var/image/I = next_location.image_shadow[i] + var/turf/T = locate(I.loc.x, I.loc.y, I.loc.z) + T.ClearOverlays(I) diff --git a/mods/utility_items/icons/alphacolors.dmi b/mods/utility_items/icons/alphacolors.dmi index cbff37c5177e691249eea378ff912f8d9ec7b787..e639db16f1f5f8fc8d15028a3e6ef49798289dab 100644 GIT binary patch delta 371 zcmZ3?vXNziO8x4pkcbkO)Z*l#%z~24{5%GRiaAryZR9#+Ai?s$@_(?*Td5_TqPtQi zioLwB&slZ9?}BZUT$bj)e-OapD8v8GTJQKq%dNJr)-7dke=%K>?ddv&k6+9zCEl2F z9guD`uNT;{NI+?_PNgHf;Wm)RZgARdx%hm^$>+WSpx*PPaxABk|0|TR@r;B4q z#hkZS3+Dwj-6N>1TfFDZ*Bkpc$}4vu?oU46h-H}ueh{pk+#M$ zi=;@0_8%g7Hi25Lt3-!VWz>0ECuI+F{V@>;M1(K}keGRCt{2)Im){0T4ye`J_(j1sv7_ z9%_JHS8NGsQUN&l$e6`F$H1G#%^Wl5ZFW7D_kWi6e>cb9HpkhMApt;>paBOH+-2U6 zuhk3g^SwEL&U|d{&&+j`&;d*na^B~)e8b=7_%ZX`+@G1x&2b--;Q>06paBjRxPRqz V4gMm?mVp2O002ovPDHLkV1lO&nmqsj