mirror of
https://github.com/Bubberstation/Bubberstation.git
synced 2025-12-14 19:51:59 +00:00
## 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! /🆑
72 lines
2.9 KiB
Plaintext
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
|