From c36ce8e9205e0666c896a8d4307dddbe1ed601ea Mon Sep 17 00:00:00 2001 From: DeltaDav <121488347+DeltaDav@users.noreply.github.com> Date: Mon, 8 Apr 2024 05:30:49 +0200 Subject: [PATCH 1/2] Reverts the changes made for Vertibird testing and bug (#370) * Oasised Kebab + Church Its like PR 303, But with a church change. * Update Pahrump-Above-3.dmm * Update Pahrump-Surface-2.dmm * Update Pahrump-Surface-2.dmm * Update Pahrump-Surface-2.dmm * The updated town * Update Church secret Lab Removed the scrubbers * Added 2 office (One Ambassy type, one private eye) * Lil Fixes ! Fixes the bar jukebox, the door in the mechant house, Stairs to the coloseum, the sniper decoration moved, replaced a Autolath with a manuel one (but moved the actua autolath * Adding some lil oopsy fixes Somethings I forgot. * Removes. CATS. (Except Pixy) Cat were MULTIPLYING * Update Pahrump-Surface-2.dmm * Reverts the changes made for Vertibird testing and bug * working ups and down * f * Revert "Merge branch 'master' into Up-down-fucks-you-up" This reverts commit ea575954cda2b2bda4f32faa915337ac88cd5b06, reversing changes made to 3c60aad410c28294dd1a7feef3b271102ff2425d. * fix ghost up * can't fly on the ground * vertibirds gets an action to go up and down, no mob movement inside mecha --------- Co-authored-by: xTrainx --- code/game/mecha/combat/phazon.dm | 19 ++++++++++++++++++ code/game/mecha/mecha.dm | 20 +++++++++++++++++++ code/game/mecha/mecha_actions.dm | 34 +++++++++++++++++++++++++++++++- code/modules/mob/mob_movement.dm | 20 +++++++++++++++---- 4 files changed, 88 insertions(+), 5 deletions(-) diff --git a/code/game/mecha/combat/phazon.dm b/code/game/mecha/combat/phazon.dm index 4dfa0881a8..c81f3c68c1 100644 --- a/code/game/mecha/combat/phazon.dm +++ b/code/game/mecha/combat/phazon.dm @@ -58,6 +58,7 @@ movement_type = FLYING stepsound = 'sound/f13machines/vertibird_loop.ogg' turnsound = 'sound/f13machines/vertibird_loop.ogg' + on_the_air = TRUE /obj/structure/mecha_wreckage/vertibird name = "\improper Vertibird Wreck" @@ -75,6 +76,7 @@ strafing_action.Grant(user, src) zoom_action.Grant(user, src) eject_action.Grant(user, src) + landing_action.Grant(user, src) //rotorup_action.Grant(user, src) //rotordown_action.Grant(user, src) @@ -86,6 +88,7 @@ strafing_action.Remove(user) zoom_action.Remove(user) eject_action.Remove(user) + landing_action.Grant(user) //rotorup_action.Remove(user) //rotordown_action.Remove(user) @@ -103,6 +106,8 @@ /obj/mecha/combat/phazon/vertibird/loaded/Initialize() . = ..() + if(z != 5) + on_the_air = FALSE var/obj/item/mecha_parts/mecha_equipment/ME = new /obj/item/mecha_parts/mecha_equipment/weapon/ballistic/lmg ME.attach(src) ME = new /obj/item/mecha_parts/mecha_equipment/seat @@ -115,6 +120,14 @@ ME.attach(src) max_ammo() +/obj/mecha/combat/phazon/vertibird/domove(direction) + if(z != 5) + if(world.time - last_message > 20) + occupant_message("Unable to move while landed.") + last_message = world.time + return 0 + . = ..() + ///NCR VERTIBIRD /obj/mecha/combat/phazon/vertibird/ncr @@ -155,6 +168,7 @@ zoom_action.Grant(user, src) eject_action.Grant(user, src) smoke_action.Grant(user, src) + landing_action.Grant(user, src) //rotorup_action.Grant(user, src) //rotordown_action.Grant(user, src) @@ -167,6 +181,7 @@ zoom_action.Remove(user) eject_action.Remove(user) smoke_action.Remove(user) + landing_action.Grant(user) //rotorup_action.Remove(user) //rotordown_action.Remove(user) @@ -235,6 +250,7 @@ strafing_action.Grant(user, src) zoom_action.Grant(user, src) eject_action.Grant(user, src) + landing_action.Grant(user, src) //rotorup_action.Grant(user, src) //rotordown_action.Grant(user, src) @@ -246,6 +262,7 @@ strafing_action.Remove(user) zoom_action.Remove(user) eject_action.Remove(user) + landing_action.Grant(user) //rotorup_action.Remove(user) //rotordown_action.Remove(user) @@ -308,6 +325,7 @@ strafing_action.Grant(user, src) zoom_action.Grant(user, src) eject_action.Grant(user, src) + landing_action.Grant(user, src) //rotorup_action.Grant(user, src) //rotordown_action.Grant(user, src) @@ -319,6 +337,7 @@ strafing_action.Remove(user) zoom_action.Remove(user) eject_action.Remove(user) + landing_action.Grant(user) //rotorup_action.Remove(user) //rotordown_action.Remove(user) diff --git a/code/game/mecha/mecha.dm b/code/game/mecha/mecha.dm index 14a7334a11..5d24058d0a 100644 --- a/code/game/mecha/mecha.dm +++ b/code/game/mecha/mecha.dm @@ -121,6 +121,7 @@ var/datum/action/innate/mecha/strafe/strafing_action = new var/datum/action/innate/mecha/klaxon/klaxon_action = new var/datum/action/innate/mecha/sirens/sirens_action = new + var/datum/action/innate/mecha/Landing/landing_action = new //Action vars @@ -145,6 +146,7 @@ var/occupant_sight_flags = 0 //sight flags to give to the occupant (e.g. mech mining scanner gives meson-like vision) var/mouse_pointer + var/on_the_air = FALSE hud_possible = list (DIAG_STAT_HUD, DIAG_BATT_HUD, DIAG_MECH_HUD, DIAG_TRACK_HUD) @@ -1027,6 +1029,24 @@ L.client.change_view(CONFIG_GET(string/default_view)) zoom_mode = 0 +/obj/mecha/proc/canZMove(dir, turf/target) + return can_zTravel(target, dir) && (movement_type & FLYING) + +/obj/mecha/proc/zMove(dir, feedback = FALSE) + if(dir != UP && dir != DOWN) + return FALSE + var/turf/target = get_step_multiz(src, dir) + if(!target) + if(feedback) + to_chat(src, "There's nothing in that direction!") + return FALSE + if(!canZMove(dir, target)) + if(feedback) + to_chat(src, "You couldn't move there!") + return FALSE + forceMove(target) + return TRUE + ///////////////////////// ////// Access stuff ///// ///////////////////////// diff --git a/code/game/mecha/mecha_actions.dm b/code/game/mecha/mecha_actions.dm index f12a3c230c..d5448a83af 100644 --- a/code/game/mecha/mecha_actions.dm +++ b/code/game/mecha/mecha_actions.dm @@ -298,5 +298,37 @@ /datum/action/innate/mecha/sirens/Activate() playsound(chassis,'sound/f13machines/police.ogg', 50, 1) - +/datum/action/innate/mecha/Landing + name = "Land" + button_icon_state = "mech_thrusters_on" + +/datum/action/innate/mecha/Landing/Activate() + if(chassis.on_the_air) + var/turf/target = get_step_multiz(chassis, DOWN) + if(!chassis.canZMove(DOWN, target)) + chassis.occupant_message("You can't Move in that Direction!") + return + chassis.occupant_message("deploying gear and landing") + if(!do_after(chassis.occupant, 15, target = chassis)) + return + chassis.zMove(DOWN, TRUE) + chassis.occupant_message("you hit the ground with the [src]'s rubber tires") + name = "Take Off" + button_icon_state = "mech_thrusters_off" + UpdateButtonIcon() + chassis.on_the_air = FALSE + else + var/turf/target = get_step_multiz(chassis, UP) + if(!chassis.canZMove(UP, target)) + chassis.occupant_message("You can't Move in that Direction!") + return + chassis.occupant_message("starting rotors") + if(!do_after(chassis.occupant, 15, target = chassis)) + return + chassis.zMove(UP, TRUE) + chassis.occupant_message("taking off!") + name = "Land" + button_icon_state = "mech_thrusters_on" + UpdateButtonIcon() + chassis.on_the_air = TRUE diff --git a/code/modules/mob/mob_movement.dm b/code/modules/mob/mob_movement.dm index 044cfb8b54..f1df0fa665 100644 --- a/code/modules/mob/mob_movement.dm +++ b/code/modules/mob/mob_movement.dm @@ -419,18 +419,31 @@ layer -= MOB_LAYER_SHIFT_INCREMENT var/layer_priority = (layer - MOB_LAYER) * 100 // Just for text feedback to_chat(src, span_notice("Your layer priority is now [layer_priority].")) - + /mob/verb/up() set name = "Move Upwards" set category = "IC" + var/turf/current_turf = get_turf(src) + var/turf/above_turf = SSmapping.get_turf_above(current_turf) + + if(!above_turf) + to_chat(src, span_warning("There's nowhere to go in that direction!")) + return + if(can_zFall(above_turf, target = current_turf, direction = DOWN )) //Will we fall down if we go up? + if(buckled) + to_chat(src, span_warning("[buckled] is is not capable of flight.")) + else + to_chat(src, span_warning("You are not Superman.")) + return + if(zMove(UP, TRUE)) - to_chat(src, "You move upwards.") + to_chat(src, span_notice("You move upwards.")) /mob/verb/down() set name = "Move Down" set category = "IC" - + if(zMove(DOWN, TRUE)) to_chat(src, "You move down.") @@ -449,6 +462,5 @@ forceMove(target) return TRUE - /mob/proc/canZMove(direction, turf/target) return FALSE From dab4ae23ef45d087ccc612ddc67faddddf1bea14 Mon Sep 17 00:00:00 2001 From: BBCofSteel <124085804+Fishpoker@users.noreply.github.com> Date: Mon, 8 Apr 2024 05:31:05 +0200 Subject: [PATCH 2/2] Tribal ancient book revamped (#392) * tribal grant * change * change2 * Update granters.dm * Update granters.dm --------- Co-authored-by: xTrainx --- code/game/objects/items/granters.dm | 17 ++++++++++------- 1 file changed, 10 insertions(+), 7 deletions(-) diff --git a/code/game/objects/items/granters.dm b/code/game/objects/items/granters.dm index b1415b03e4..02865e9435 100644 --- a/code/game/objects/items/granters.dm +++ b/code/game/objects/items/granters.dm @@ -994,7 +994,7 @@ /obj/item/book/granter/trait/selection/tribal name = "Book of Ancient Knowledge" desc = "A compendium of knowledge passed down from the elders. It looks to be in poor condition." - choices = list("Hit Them With Sticks","Technophilia","Pugilist","Padded Feet","Veteran Table Climber","Basic Surgery","Desert Affinity") + choices = list("Hit Them With Sticks","Technophilia","Pugilist","Nightstalker Ritual","Rite of Resiliance","Basic Surgery","Desert Affinity","Brahmin Shaman") /obj/item/book/granter/trait/selection/tribal/attack_self(mob/user) if(!granted_trait) @@ -1012,18 +1012,21 @@ if("Pugilist") granted_trait = TRAIT_IRONFIST traitname = "using your fists" - if("Padded Feet") - granted_trait = TRAIT_LIGHT_STEP - traitname = "treading carefully" - if("Veteran Table Climber") - granted_trait = TRAIT_FREERUNNING - traitname = "....climbing tables" + if("Nightstalker Ritual") + granted_trait = TRAIT_TOXINLOVER + traitname = "toxin immunity" + if("Rite of Resiliance") + granted_trait = TRAIT_NOLIMBDISABLE + traitname = "endurance" if("Basic Surgery") granted_trait = TRAIT_SURGERY_LOW traitname = "basic surgery" if("Desert Affinity") granted_trait = TRAIT_HARD_YARDS traitname = "trekking" + if("Brahmin Shaman") + granted_trait = TRAIT_CALCIUM_HEALER + traitname = "milk traditions" return ..() /obj/item/book/granter/trait/selection/tribal/Initialize()