diff --git a/code/__DEFINES/cargo.dm b/code/__DEFINES/cargo.dm index 1d34ed6b3cff8..926a768c4af93 100644 --- a/code/__DEFINES/cargo.dm +++ b/code/__DEFINES/cargo.dm @@ -12,6 +12,7 @@ #define STYLE_INVISIBLE 12 #define STYLE_GONDOLA 13 #define STYLE_SEETHROUGH 14 +#define STYLE_TELEPORT 15 // BANDASTATION EDIT #define POD_SHAPE 1 #define POD_BASE 2 diff --git a/code/game/machinery/computer/orders/order_computer/order_computer.dm b/code/game/machinery/computer/orders/order_computer/order_computer.dm index 770897a2fe4fb..b6d5862f74b01 100644 --- a/code/game/machinery/computer/orders/order_computer/order_computer.dm +++ b/code/game/machinery/computer/orders/order_computer/order_computer.dm @@ -201,7 +201,7 @@ GLOBAL_LIST_EMPTY(order_console_products) ordered_paths += item.item_path podspawn(list( "target" = get_turf(living_user), - "style" = STYLE_BLUESPACE, + "path" = /obj/structure/closet/supplypod/teleporter, // BANDASTATION EDIT - Original: "style" = STYLE_BLUESPACE, "spawn" = ordered_paths, )) grocery_list.Cut() diff --git a/code/game/objects/items/choice_beacon.dm b/code/game/objects/items/choice_beacon.dm index 75a3f35c80b97..427521d26473a 100644 --- a/code/game/objects/items/choice_beacon.dm +++ b/code/game/objects/items/choice_beacon.dm @@ -64,7 +64,7 @@ /obj/item/choice_beacon/proc/spawn_option(obj/choice_path, mob/living/user) podspawn(list( "target" = get_turf(src), - "style" = STYLE_BLUESPACE, + "path" = /obj/structure/closet/supplypod/teleporter, // BANDASTATION EDIT - Original: "style" = STYLE_BLUESPACE, "spawn" = choice_path, )) diff --git a/code/modules/cargo/supplypod.dm b/code/modules/cargo/supplypod.dm index 417e5519ba00f..6ab420b8bf1e9 100644 --- a/code/modules/cargo/supplypod.dm +++ b/code/modules/cargo/supplypod.dm @@ -717,7 +717,7 @@ pod.transform = matrix().Turn(rotation) pod.layer = FLY_LAYER SET_PLANE_EXPLICIT(pod, ABOVE_GAME_PLANE, src) - if (pod.style != STYLE_INVISIBLE) + if (pod.style != STYLE_INVISIBLE && pod.style != STYLE_TELEPORT) // BANDASTATION EDIT. Original: if (pod.style != STYLE_INVISIBLE) animate(pod, pixel_z = -1 * abs(sin(rotation))*4, pixel_x = SUPPLYPOD_X_OFFSET + (sin(rotation) * 20), time = pod.delays[POD_FALLING], easing = LINEAR_EASING) //Make the pod fall! At an angle! addtimer(CALLBACK(src, PROC_REF(endLaunch)), pod.delays[POD_FALLING], TIMER_CLIENT_TIME) //Go onto the last step after a very short falling animation diff --git a/modular_bandastation/aesthetics/_aesthetics.dm b/modular_bandastation/aesthetics/_aesthetics.dm index bcccd31589222..b98a3f0a84fb7 100644 --- a/modular_bandastation/aesthetics/_aesthetics.dm +++ b/modular_bandastation/aesthetics/_aesthetics.dm @@ -2,3 +2,7 @@ name = "Эстетика" desc = "Обновление визуального ряда" author = "larentoun, Aylong220" + +/datum/modpack/aesthetics/post_initialize() + . = ..() + GLOB.podstyles += list(list(POD_SHAPE_OTHER, FALSE, FALSE, FALSE, FALSE, RUBBLE_NONE, "Портал доставки", "Высокотехнологичный портал для межзвездной доставки. Обеспечивает мгновенный доступ к товарам из любой точки вселенной.")) diff --git a/modular_bandastation/aesthetics/_aesthetics.dme b/modular_bandastation/aesthetics/_aesthetics.dme index 5830a370f4333..976d0c1591e7b 100644 --- a/modular_bandastation/aesthetics/_aesthetics.dme +++ b/modular_bandastation/aesthetics/_aesthetics.dme @@ -44,6 +44,9 @@ // Radio #include "radio/code/radio.dm" +// Supply Pods +#include "supply_pods/code/supply_pods.dm" + // Walls #include "walls/code/walls.dm" diff --git a/modular_bandastation/aesthetics/supply_pods/code/supply_pods.dm b/modular_bandastation/aesthetics/supply_pods/code/supply_pods.dm new file mode 100644 index 0000000000000..e01bdc820b424 --- /dev/null +++ b/modular_bandastation/aesthetics/supply_pods/code/supply_pods.dm @@ -0,0 +1,31 @@ +/obj/structure/closet/supplypod/teleporter + style = STYLE_TELEPORT + bluespace = TRUE + explosionSize = list(0,0,0,0) + fallingSound = null + landingSound = SFX_PORTAL_CREATED + openingSound = SFX_PORTAL_ENTER + leavingSound = SFX_PORTAL_CLOSE + pod_flags = FIRST_SOUNDS + +/obj/structure/closet/supplypod/teleporter/setStyle(chosenStyle) + . = ..() + icon = 'icons/obj/anomaly.dmi' + icon_state = "portal" + +/obj/effect/pod_landingzone/setupSmoke(rotation) + if(pod.style == STYLE_TELEPORT) + return + . = ..() + +/obj/effect/pod_landingzone/drawSmoke() + if(pod.style == STYLE_TELEPORT) + return + . = ..() + +/obj/effect/pod_landingzone/endLaunch() + if(pod.style == STYLE_TELEPORT) + pod.pixel_x = 0 + pod.pixel_z = 0 + pod.transform = matrix() + . = ..()