From 65223b32f6db5701586892090cbfe39c8ec530c0 Mon Sep 17 00:00:00 2001 From: Kates <24830358+lbnesquik@users.noreply.github.com> Date: Tue, 30 Jun 2020 09:09:59 +0200 Subject: [PATCH 1/2] Add straffing to mechs. This took my entire morning goddamnit. --- code/game/mecha/mecha.dm | 32 +++++++++++++++++++++++++++++--- 1 file changed, 29 insertions(+), 3 deletions(-) diff --git a/code/game/mecha/mecha.dm b/code/game/mecha/mecha.dm index d0309795768..5864adc65f9 100644 --- a/code/game/mecha/mecha.dm +++ b/code/game/mecha/mecha.dm @@ -100,8 +100,12 @@ var/static/image/radial_image_lighttoggle = image(icon = 'icons/mob/radial.dmi', icon_state = "radial_light") var/static/image/radial_image_statpanel = image(icon = 'icons/mob/radial.dmi', icon_state = "radial_examine2") +<<<<<<< HEAD var/datum/mini_hud/mech/minihud +======= + var/strafing = 0 +>>>>>>> cdbf339... Add straffing to mechs. This took my entire morning goddamnit. (#7306) /obj/mecha/drain_power(var/drain_check) @@ -511,9 +515,16 @@ break if(result) move_result = mechstep(direction) + //Turning + else if(src.dir != direction) - move_result = mechturn(direction) + + if(strafing) + move_result = mechstep(direction) + else + move_result = mechturn(direction) + //Stepping else move_result = mechstep(direction) @@ -544,11 +555,14 @@ return 1 /obj/mecha/proc/mechstep(direction) + var/current_dir = dir //For strafing var/result = get_step(src,direction) if(result && Move(result)) if(stomp_sound) playsound(src,stomp_sound,40,1) handle_equipment_movement() + if(strafing) //Also for strafing + set_dir(current_dir) return result @@ -1230,7 +1244,7 @@ /obj/mecha/verb/toggle_internal_tank() - set name = "Toggle internal airtank usage." + set name = "Toggle internal airtank usage" set category = "Exosuit Interface" set src = usr.loc set popup_menu = 0 @@ -1241,6 +1255,17 @@ src.log_message("Now taking air from [use_internal_tank?"internal airtank":"environment"].") return +/obj/mecha/verb/toggle_strafing() + set name = "Toggle strafing" + set category = "Exosuit Interface" + set src = usr.loc + set popup_menu = 0 + if(usr!=src.occupant) + return + strafing = !strafing + src.occupant_message("Toggled strafing mode [strafing?"on":"off"].") + src.log_message("Toggled strafing mode [strafing?"on":"off"].") + return /obj/mecha/MouseDrop_T(mob/O, mob/user as mob) //Humans can pilot mechs. @@ -1388,7 +1413,7 @@ return -/obj/mecha/proc/go_out() +/obj/mecha/proc/go_out() //Eject/Exit the mech. Yes this is for easier searching. if(!src.occupant) return var/atom/movable/mob_container QDEL_NULL(minihud) @@ -1417,6 +1442,7 @@ icon_state = src.reset_icon()+"-open" set_dir(dir_in) verbs -= /obj/mecha/verb/eject + strafing = 0 return ///////////////////////// From a66ec074d65ad83762f4ea4340ada2084b1ea4bc Mon Sep 17 00:00:00 2001 From: Novacat <35587478+Novacat@users.noreply.github.com> Date: Tue, 30 Jun 2020 17:22:39 -0400 Subject: [PATCH 2/2] Update mecha.dm --- code/game/mecha/mecha.dm | 8 ++------ 1 file changed, 2 insertions(+), 6 deletions(-) diff --git a/code/game/mecha/mecha.dm b/code/game/mecha/mecha.dm index 5864adc65f9..1b00505bc9a 100644 --- a/code/game/mecha/mecha.dm +++ b/code/game/mecha/mecha.dm @@ -100,12 +100,8 @@ var/static/image/radial_image_lighttoggle = image(icon = 'icons/mob/radial.dmi', icon_state = "radial_light") var/static/image/radial_image_statpanel = image(icon = 'icons/mob/radial.dmi', icon_state = "radial_examine2") -<<<<<<< HEAD - var/datum/mini_hud/mech/minihud - -======= + var/datum/mini_hud/mech/minihud //VOREStation Edit var/strafing = 0 ->>>>>>> cdbf339... Add straffing to mechs. This took my entire morning goddamnit. (#7306) /obj/mecha/drain_power(var/drain_check) @@ -2225,4 +2221,4 @@ if(-INFINITY to 15) occupant.throw_alert("mech damage", /obj/screen/alert/low_mech_integrity, 3) else - occupant.clear_alert("mech damage") \ No newline at end of file + occupant.clear_alert("mech damage")