From 9292a56201ebe4cc50f7e8326855592a48aaeda1 Mon Sep 17 00:00:00 2001 From: Arokha Sieyes Date: Fri, 2 Feb 2018 19:06:07 -0500 Subject: [PATCH] POLARIS: Silly piloting helmet animation Bonk helmet on shuttle computer to link. No, it doesn't work if you're off the shuttle, no remote info transfer. --- code/modules/shuttles/shuttle.dm | 4 +- code/modules/shuttles/shuttles_web.dm | 46 ++++- icons/obj/piloting_overlay.dmi | Bin 0 -> 140088 bytes maps/southern_cross/items/clothing/sc_head.dm | 168 ++++++++++++++++++ 4 files changed, 214 insertions(+), 4 deletions(-) create mode 100644 icons/obj/piloting_overlay.dmi diff --git a/code/modules/shuttles/shuttle.dm b/code/modules/shuttles/shuttle.dm index 8f8de00fc4..ed90e66c6a 100644 --- a/code/modules/shuttles/shuttle.dm +++ b/code/modules/shuttles/shuttle.dm @@ -127,10 +127,10 @@ depart_time = world.time - on_shuttle_departure(departing) - moving_status = SHUTTLE_INTRANSIT + on_shuttle_departure(departing) + move(departing, interim, direction) interim.shuttle_arrived() diff --git a/code/modules/shuttles/shuttles_web.dm b/code/modules/shuttles/shuttles_web.dm index d16956acdd..90e5141535 100644 --- a/code/modules/shuttles/shuttles_web.dm +++ b/code/modules/shuttles/shuttles_web.dm @@ -16,6 +16,7 @@ var/autopilot_first_delay = null // If your want your shuttle to stay for a different amount of time for the first time, set this. var/can_rename = TRUE // Lets the pilot rename the shuttle. Only available once. category = /datum/shuttle/web_shuttle + var/list/obj/item/clothing/head/pilot/helmets /datum/shuttle/web_shuttle/New() current_area = locate(current_area) @@ -27,10 +28,12 @@ autopilot_delay = autopilot_first_delay if(!visible_name) visible_name = name + helmets = list() ..() /datum/shuttle/web_shuttle/Destroy() qdel(web_master) + helmets.Cut() return ..() @@ -42,18 +45,30 @@ ..() last_move = world.time +/datum/shuttle/web_shuttle/short_jump() + . = ..() + update_helmets() + +/datum/shuttle/web_shuttle/long_jump() + . = ..() + update_helmets() + /datum/shuttle/web_shuttle/on_shuttle_departure() - ..() + . = ..() web_master.on_shuttle_departure() + update_helmets() /datum/shuttle/web_shuttle/on_shuttle_arrival() - ..() + . = ..() web_master.on_shuttle_arrival() + update_helmets() /datum/shuttle/web_shuttle/proc/build_destinations() return /datum/shuttle/web_shuttle/process() + update_helmets() + if(moving_status == SHUTTLE_IDLE) if(web_master.autopath) // We're currently flying a path. autopilot_say("Continuing route.") @@ -94,6 +109,20 @@ autopilot_say("Taking off.") web_master.process_autopath() +/datum/shuttle/web_shuttle/proc/update_helmets() + for(var/helm in helmets) + if(!helm) + helmets -= helm + continue + var/obj/item/clothing/head/pilot/H = helm + if(!H.shuttle_comp || get_area(H.shuttle_comp) != get_area(H)) + H.shuttle_comp = null + H.audible_message("\The [H] pings as it loses it's connection with the ship.") + H.update_hud("discon") + helmets -= H + else + H.update_hud(moving_status) + /datum/shuttle/web_shuttle/proc/adjust_autopilot(on) if(on) if(autopilot) @@ -156,6 +185,19 @@ for(var/lost in find_sensors) log_debug("[my_area] shuttle computer couldn't find [lost] sensor!") +/obj/machinery/computer/shuttle_control/web/attackby(obj/I, mob/user) + var/datum/shuttle/web_shuttle/shuttle = shuttle_controller.shuttles[shuttle_tag] + if(shuttle && istype(I,/obj/item/clothing/head/pilot)) + var/obj/item/clothing/head/pilot/H = I + H.shuttle_comp = src + shuttle.helmets |= I + to_chat(user,"You register the helmet with the ship's console.") + shuttle.update_helmets() + return + + return ..() + + // Fairly copypasta-y. /obj/machinery/computer/shuttle_control/web/attack_hand(mob/user) if(..(user)) diff --git a/icons/obj/piloting_overlay.dmi b/icons/obj/piloting_overlay.dmi new file mode 100644 index 0000000000000000000000000000000000000000..56074a500456123dd8c2045c1a42d4726c5cb93d GIT binary patch literal 140088 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