Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Multi-Z Update #8044

Merged
merged 49 commits into from Feb 1, 2023
Merged

Multi-Z Update #8044

merged 49 commits into from Feb 1, 2023

Conversation

itsmeow
Copy link
Member

@itsmeow itsmeow commented Nov 11, 2022

About The Pull Request

Ports some Multi-Z stuff:

I also completely rewrote the look up/down verbs because they were terrible.

Includes a hotfix for sound breaking when changing Z levels.

Reworks MultiZ movement (travel_z) AGAIN and fixes its function in gravity.

It also looks like someone intended catwalks to be disassembled using a welder and not wirecutters, but it's been wirecutters for so long I just elected to remove it.

Rebalances zfalls.

Adds multiz wing flight, jetpack flight, and ion thruster flight.

Makes falling actually occur every 5 ticks instead of every time you enter a turf.

Moving up and down in space or using a jetpack only takes 1 second, moving in gravity, climbing, or using wings takes 3 seconds.

Adds a cargo crate for rocket jetpacks, for multiz flight.

Why It's Good For The Game

Multi-Z is going to be more of a thing if the new maps are merged... let's make it better! Looking up is nice so you have some type of counter to someone above you attacking.

Testing Photographs and Procedure

Screenshots&Videos

Rocket pack

image

Easy RCD use
image

Lattice placing on /obj below
image

Camera buttons
image

image
image

New messages

image

Tested, I can hear explosions between z levels still.

Level text fix
image

Look Up/Down verbs

2022-11-14.04-07-57.mp4

Tested z-transit with debugger, it only gets called when it should. Flying shuttles around, nothing breaks. Changing z-levels, nothing breaks.

Changelog

🆑
add: Added the "Look Up" and "Look Down" Multi-Z verbs, with keybinds L (up) and ; (down).
add: Added zmove keybinds, F for up, C for down.
add: Added the Combustion Jetpack crate, an engineering crate that includes the combustion jetpack, which can move up and down in gravity as well as function in space like a normal jetpack. It burns a plasma-oxygen mix and is refillable (ideally at a ~50% ratio).
add: Added z-level changing buttons to the advanced camera console.
balance: Zfalls now do more damage per level fallen, and felinids falling more than one level will still take damage, but reduced. Damage is also mostly applied to legs and split between the rest of the body in the case of missing or broken legs.
code: Refactored multi-z sound code slightly.
tweak: Using an RCD on open space (above another z-level) will now place floors.
tweak: Placing lattices on open space no longer requires pixelhunting.
tweak: Tweaked failure messages for Move Upwards/Move Down verbs.
fix: Fixed zfalls stating that you fell one more z-level than you actually did.
fix: Fixed sound breaking when changing z-levels.
fix: Fixed various z-level changes not registering.
fix: You can no longer move up and down through catwalks, and you also cannot "float" up while in gravity.
fix: Fixed the move up/down animations being reversed.
code: Removed a broken old deconstruction hint for catwalks.
fix: Fixed a runtime caused by zfalls.
fix: Fixed zfalls stopping midair after one level.
fix: Fixed AI camera static not updating when you move up and down.
fix: Fixed the removal of a lattice or catwalk under someone not triggering a zfall.
add: Added jetpack and wing multiz flight. Regular jetpacks are not capable of enough thrust to resist gravity.
tweak: Moving up and down in space only takes 1 second, while in-gravity flight, etc take 3 seconds.
code: Slightly optimized gravity code for ztrait-style gravity.
add: Added the "rocket jetpack", a jetpack designed for in-gravity flight, that burns plasma and oxygen.
fix: Fixed nightmare multiz jaunting
tweak: Falling is no longer instant, there is a period of 0.2s between zlevels (you can even move onto a solid tile to "break" your fall)
tweak: You can now move during all types of zmove except for climbing (which is disabled currently).
/:cl:

itsmeow and others added 7 commits November 10, 2022 18:00
Co-authored-by: PKPenguin321 <pkpenguin321.git@gmail.com>
* Add look up verb

* Made requested changes

* Added a toggle

* Removed redundant arg from signal

* Update code/modules/mob/living/living.dm

Co-authored-by: Rohesie <rohesie@gmail.com>

* Update code/modules/mob/living/living.dm

Co-authored-by: Rohesie <rohesie@gmail.com>

* Adds keybinding description

* Removed unused signal

Co-authored-by: Rohesie <rohesie@gmail.com>
* look_down

look_down
persistent  look_up and look_down

* look_down

look_down
persistent  look_up and look_down

* Now look prefer a hole in front of the astronauts

* up

* up

* up

* up

* Update living.dm

* Update living.dm
This adds an action button to camera consoles to move up or down a floor.
Allow mobs to travel through multiz adaptors,
fixes runtimes caused by ventcrawling
Title. Because of mob and object visuals under open space being able to be hovered over with the cursor and examined and in general acting as entities distint from the turf holding them it tends to be hard or even impossible to build floor and catwalks over these turfs. This PR aims to fix it with a basically simple, more-convenient-than-a-painstaking-refactor and easy to apply element (edit: and proc).
@Tyranicranger4
Copy link
Contributor

Tyranicranger4 commented Nov 11, 2022

Doesn't port TG elevators 😢

@itsmeow itsmeow marked this pull request as ready for review November 14, 2022 10:15
Archanial
Archanial previously approved these changes Nov 20, 2022
@EvilDragonfiend
Copy link
Contributor

I think we need a goon-style like new hud that you can recognise seeing up-side is possible or not.

@EvilDragonfiend
Copy link
Contributor

the default keys L and ; look not working. You need to assign a custom key yourself.
and my personal suggestion for those default keys is - and =. = as up, - as down.
(- is obvious, and = with shift is +)

bindable hotkey settings for IC verbs go up/down will be nice.

image

not a big deal, but moving with looking at up-down is a bit clutching.

@EvilDragonfiend
Copy link
Contributor

if you move to a wall(or window or something obstacle things) while looking up, it should stun you. :trollface:

@EvilDragonfiend
Copy link
Contributor

seeing down doesn't see down. it sees up.

@itsmeow
Copy link
Member Author

itsmeow commented Nov 20, 2022

seeing down doesn't see down. it sees up.

what

@itsmeow
Copy link
Member Author

itsmeow commented Nov 20, 2022

The default keys not working is because the prefs, the database would need an update, I think new players get the correct hotkeys

@EvilDragonfiend
Copy link
Contributor

the reason why prefs not working is the initiating values are applied to new players, not to existing players. you'll need to check if their new keybind value is null.

@itsmeow
Copy link
Member Author

itsmeow commented Nov 21, 2022

the reason why prefs not working is the initiating values are applied to new players, not to existing players. you'll need to check if their new keybind value is null.

No, the solution here is to go into DB and change all the unbound / null entries and insert the defaults

Or change the bindings code to convert "null" to default instead of unassigned

@EvilDragonfiend
Copy link
Contributor

EvilDragonfiend commented Nov 22, 2022

Or change the bindings code to convert "null" to default instead of unassigned

Yeah that's what I mean. The later option is optimal for most cases since we can possibly add more new keybinds. We shouldn't go into DB everytime we add a new key.

@github-actions
Copy link

This pull request has conflicts, please resolve those before we can evaluate the pull request.

@github-actions
Copy link

This pull request has conflicts, please resolve those before we can evaluate the pull request.

itsmeow and others added 2 commits January 25, 2023 14:45
Co-authored-by: PowerfulBacon <26465327+PowerfulBacon@users.noreply.github.com>
code/game/objects/structures.dm Outdated Show resolved Hide resolved
code/game/objects/items.dm Outdated Show resolved Hide resolved
@Tsar-Salat
Copy link
Contributor

Is tgstation/tgstation#62132 going to be included here, or should i start a separate pr?

@itsmeow
Copy link
Member Author

itsmeow commented Jan 31, 2023

This replaces that PR, it is an entirely different/unique solution.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

Successfully merging this pull request may close these issues.

None yet