From bd9c979b07612324264a8f289cdfa53755806fa7 Mon Sep 17 00:00:00 2001 From: silicons <2003111+silicons@users.noreply.github.com> Date: Fri, 8 Jan 2021 18:48:59 -0800 Subject: [PATCH] riding datums --- code/datums/components/riding.dm | 29 +++++++++---------- code/modules/mob/living/carbon/human/human.dm | 2 +- 2 files changed, 14 insertions(+), 17 deletions(-) diff --git a/code/datums/components/riding.dm b/code/datums/components/riding.dm index fd87d5b0ad..2ad3107ed6 100644 --- a/code/datums/components/riding.dm +++ b/code/datums/components/riding.dm @@ -36,15 +36,12 @@ if(del_on_unbuckle_all && !AM.has_buckled_mobs()) qdel(src) -/datum/component/riding/proc/vehicle_mob_buckle(datum/source, mob/living/M, force = FALSE) - handle_vehicle_offsets() - -/datum/component/riding/proc/handle_vehicle_layer() +/datum/component/riding/proc/handle_vehicle_layer(dir) var/atom/movable/AM = parent var/static/list/defaults = list(TEXT_NORTH = OBJ_LAYER, TEXT_SOUTH = ABOVE_MOB_LAYER, TEXT_EAST = ABOVE_MOB_LAYER, TEXT_WEST = ABOVE_MOB_LAYER) - . = defaults["[AM.dir]"] - if(directional_vehicle_layers["[AM.dir]"]) - . = directional_vehicle_layers["[AM.dir]"] + . = defaults["[dir]"] + if(directional_vehicle_layers["[dir]"]) + . = directional_vehicle_layers["[dir]"] if(isnull(.)) //you can set it to null to not change it. . = AM.layer AM.layer = . @@ -52,17 +49,17 @@ /datum/component/riding/proc/set_vehicle_dir_layer(dir, layer) directional_vehicle_layers["[dir]"] = layer -/datum/component/riding/proc/vehicle_moved(datum/source) +/datum/component/riding/proc/vehicle_moved(datum/source, dir) SIGNAL_HANDLER - var/atom/movable/movable_parent = parent + var/atom/movable/AM = parent if (isnull(dir)) - dir = movable_parent.dir + dir = AM.dir movable_parent.set_glide_size(DELAY_TO_GLIDE_SIZE(vehicle_move_delay)) for(var/i in AM.buckled_mobs) ride_check(i) - handle_vehicle_offsets() - handle_vehicle_layer() + handle_vehicle_offsets(dir) + handle_vehicle_layer(dir) /datum/component/riding/proc/ride_check(mob/living/M) var/atom/movable/AM = parent @@ -79,9 +76,9 @@ /datum/component/riding/proc/additional_offset_checks() return TRUE -/datum/component/riding/proc/handle_vehicle_offsets() +/datum/component/riding/proc/handle_vehicle_offsets(dir) var/atom/movable/AM = parent - var/AM_dir = "[AM.dir]" + var/AM_dir = "[dir]" var/passindex = 0 if(AM.has_buckled_mobs()) for(var/m in AM.buckled_mobs) @@ -182,8 +179,8 @@ else last_move_diagonal = FALSE - handle_vehicle_offsets() - handle_vehicle_layer() + handle_vehicle_offsets(direction) + handle_vehicle_layer(direction) else to_chat(user, "You'll need the keys in one of your hands to [drive_verb] [AM].") diff --git a/code/modules/mob/living/carbon/human/human.dm b/code/modules/mob/living/carbon/human/human.dm index 03816555b3..ef65addbf8 100644 --- a/code/modules/mob/living/carbon/human/human.dm +++ b/code/modules/mob/living/carbon/human/human.dm @@ -1028,7 +1028,7 @@ return stop_pulling() - riding_datum.handle_vehicle_layer() + riding_datum.handle_vehicle_layer(dir) riding_datum.fireman_carrying = fireman . = ..(target, force, check_loc)