Files
Bubberstation/code/modules/shuttle/syndicate.dm
Sealed101 8d0ca9d299 Adjusts offset values for Nukie Infiltrator shuttle's nav console so it's actually centered (#86922)
## About The Pull Request

The Infiltrator, in a vacuum of its map file, is facing _NORTH_, the
docking port thinks that the shuttle is facing _NORTH_, and the docking
port itself is pointed towards _EAST_ (`port_direction = 4`). In times
past, this was good and well, the navigation console would properly
center the shuttle preview as its offset values dictated. Then the nukie
base got a rework. That made it so the shuttle is docked facing _SOUTH_,
and since that moves the entire shuttle around, the docking port is now
actually facing _WEST_, while still thinking the shuttle is facing
_NORTH_, which in turn fucks up `CreateEye()` for the nav console, and
the preview is spawned completely off-center. This sucks, this blows,
this is awful, please scream at a coder, etc etc.

So here's the thing. The ideal solution here is probably actually
flipping the shuttle's map file so it's facing _SOUTH_, then adjusting
the docking port's vars to account for that and probably adjusting
something else in the viscinity. What's done in the first commit here is
instead a lazy removal of the offsets' `-` plus a comment. Go me.
Anyway, I want some input on those solutions, so here's the PR.

## Why It's Good For The Game

Actually centered nukie infiltrator shuttle preview, for once. Wow, that
didn't take long at all.
Surprisingly no issue opened for this one, but that's more likely
because the previews were missing for [a long-ass
while](https://github.com/tgstation/tgstation/issues/62203). Eh, if I
find one, I'll close one.

## Changelog

🆑
fix: A joint effort of Gorlex Marauders and MI13 tech support teams has
finally managed to center the Syndicate Infiltrator shuttle's preview on
the navigation console. Nuclear Ops teams sector-wide, rejoice!
/🆑
2024-09-28 04:28:03 +02:00

72 lines
2.9 KiB
Plaintext

#define SYNDICATE_CHALLENGE_TIMER (20 MINUTES)
/obj/machinery/computer/shuttle/syndicate
name = "syndicate shuttle terminal"
desc = "The terminal used to control the syndicate transport shuttle."
circuit = /obj/item/circuitboard/computer/syndicate_shuttle
icon_screen = "syndishuttle"
icon_keyboard = "syndie_key"
light_color = COLOR_SOFT_RED
req_access = list(ACCESS_SYNDICATE)
shuttleId = "syndicate"
possible_destinations = "syndicate_away;syndicate_z5;syndicate_ne;syndicate_nw;syndicate_n;syndicate_se;syndicate_sw;syndicate_s;syndicate_custom"
resistance_flags = INDESTRUCTIBLE | LAVA_PROOF | FIRE_PROOF | ACID_PROOF
/obj/machinery/computer/shuttle/syndicate/screwdriver_act(mob/living/user, obj/item/I)
return NONE
/obj/machinery/computer/shuttle/syndicate/launch_check(mob/user)
. = ..()
if(!.)
return FALSE
var/obj/item/circuitboard/computer/syndicate_shuttle/board = circuit
if(board?.challenge && world.time < SYNDICATE_CHALLENGE_TIMER)
to_chat(user, span_warning("You've issued a combat challenge to the station! You've got to give them at least [DisplayTimeText(SYNDICATE_CHALLENGE_TIMER - world.time)] more to allow them to prepare."))
return FALSE
board.moved = TRUE
return TRUE
/obj/machinery/computer/shuttle/syndicate/recall
name = "syndicate shuttle recall terminal"
desc = "Use this if your friends left you behind."
possible_destinations = "syndicate_away"
/obj/machinery/computer/shuttle/syndicate/drop_pod
name = "syndicate assault pod control"
desc = "Controls the drop pod's launch system."
icon = 'icons/obj/machines/wallmounts.dmi'
icon_state = "pod_off"
icon_keyboard = null
icon_screen = "pod_on"
light_color = LIGHT_COLOR_BLUE
req_access = list(ACCESS_SYNDICATE)
shuttleId = "steel_rain"
possible_destinations = null
/obj/machinery/computer/shuttle/syndicate/drop_pod/launch_check(mob/user)
. = ..()
if(!.)
return FALSE
if(!is_reserved_level(z))
to_chat(user, span_warning("Pods are one way!"))
return FALSE
return TRUE
/obj/machinery/computer/camera_advanced/shuttle_docker/syndicate
name = "syndicate shuttle navigation computer"
desc = "Used to designate a precise transit location for the syndicate shuttle."
icon_screen = "syndishuttle"
icon_keyboard = "syndie_key"
shuttleId = "syndicate"
lock_override = CAMERA_LOCK_STATION
shuttlePortId = "syndicate_custom"
jump_to_ports = list("syndicate_ne" = 1, "syndicate_nw" = 1, "syndicate_n" = 1, "syndicate_se" = 1, "syndicate_sw" = 1, "syndicate_s" = 1)
view_range = 5.5
x_offset = 7 //flip both offsets because the shuttle is mapped in facing SOUTH, not NORTH; the docking port is also rotated
y_offset = 1
whitelist_turfs = list(/turf/open/space, /turf/open/floor/plating, /turf/open/lava, /turf/closed/mineral, /turf/open/openspace, /turf/open/misc)
see_hidden = TRUE
circuit = /obj/item/circuitboard/computer/syndicate_shuttle_docker
#undef SYNDICATE_CHALLENGE_TIMER