Tank Desant: Full Vehicle Overhaul - #12762
Conversation
|
This pull request has conflicts, please resolve those before we can evaluate the pull request. |
|
Wouldn't be a 300 file PR without conflicts |
# Conflicts: # code/controllers/subsystem/minimap.dm # code/game/objects/effects/effect_system/smoke.dm # code/modules/projectiles/guns/flamer/flamer.dm
|
Conflicts have been resolved. A maintainer will review the pull request shortly. |
|
Hi, I can see many, many unrelated changes just looking at 5% of the PR Diff (gear shifting and preferences, refactor of hardpoints, flag, etc). If you have atomized the changes through commits, i encourage you to PR them separately. As is, this PR is probably never getting fully reviewed or not to enough extent to be merged. |
I'm going to keep this up to have a reference point for TMing and break down the other changes into multiple PRs. They won't integrate seamlessly into gameplay as they get merged, though, but I understand if you find that easier than reviewing the 45 commits. |
Re-adds a check to multitile_movement that makes Simple Mode not move without a key being held, and changes the burn color of welding fuel back to its proper color.
About the pull request
It's finally here. Sorry for what might be an unreviewable PR at 19k diffs. Unfortunately, you aren't staring at a botched merge conflict. I've atomized everything in 45 commits to help in reviewing. The hardpoint, multitile and multitile_movement diffs are the biggest offenders, but I've had to touch a lot of files to integrate everything.
Ping me if you have any doubts. I am going to re-review this entire thing in a few days, and, hopefully it'll help guide you.
This PR also merges the contents of #10580 and #12586 and they will be closed in favor of this one so I only have to handle merge conflicts in one place.
What is Tank Desant?
Tank Desant is now a full vehicle overhaul. While it has been more extensively tested with the Longstreet Tank, all changes in here apply to every multitile_vehicle in the codebase, from the APC and ARC to the survivor and CLF vans.
This PR combines a few main ideas that are tightly attached together. Splitting it into more than one PR just means that one would overwrite most of the other's contents:
This is a player-facing guide that will better explain the implemented changes. It'll always be current:
https://hackmd.io/@Pgile3jBTHSuq5x_dj0dnQ/SyDwi7AEMl
And this is the forums thread with the guide:
https://forum.cm-ss13.com/t/tank-desant-comprehensive-player-facing-guide-to-the-new-m34a2-longstreet-light-tank/21102
It goes without saying: Everything in this PR has been extensively tested in a local server. I can almost guarantee that you won't find a single major bug if you decide to play around with it in. That being said, this is also ready for test merge-ing.
There are still a few issues that I need to iron out, like the vehicle diagnostics sight having an invalid action button icon, and the ASRS Vehicle pit having a less-than-ideal treatment of people who jump into it. (It tosses you into space and deletes your mob). Those are going to be fixed very soon.
Obs: I've reduced the tank pop-lock for 130 players. This is just meant so players can ready-up for Tank Crew during testmerges instead of needing to be manually spawned in. And while I think that this is also a good value to enable the Tank at, it is by no means final nor up to me.
Next steps, roughly in order:
Explain why it's good for the game
A large portion of the playerbase enjoys combined arms content. However, there are issues that keep it restricted to a 200 pop cap, where it exists as an 'easter egg' rather than core gameplay content.
The problem, as I understand it today, is threefold:
Maneuvering around 3x3 mobile walls is a pain. This is addressed by Tank Desant: Rideable Tank And Overhauled Interactions #10580, which has been merged into this PR. There is still a real movement burden by having the tank supporting a push, but the issue is much, much better than it was in the past. Don't take my word for it. The three public feedback surveys are available in the Tank Desant contributor thread in Discord.
The Longstreet was effectively unmaintained and its offensive hardpoints and weapons feel underwhelming. This is addressed by Tank Desant: Hardpoint Rebalances, Additions & Reworks #12586, which has been merged into this PR. This is generally a pretty big buff both in the QoL, effectiveness and time-to-kill department of all offensive hardpoints, while also rebalancing and modernizing the LTB which continued to be overpowered in its previous state. In general, from the moment the mouse is held, all primaries have a kill time inferior to or equal to an AP MK2, as this was the balancing standard I chose.
There is a lack of xeno counterplay and feedback for their damage. This is addressed by the new changes in this PR. The tank is easy to wound and easy to temporarily remove from gameplay, but it is still a persistent, resistant threat that will require careful coordination to take down. It places a real logistical burden on marines now that it consumes fuel. It can now be stunned by queen screeches, and the tank crewmen inside are also vulnerable to a lot of environmental hazards.
There is a lot of new content and QoL also packaged and bundled with this PR.
Lastly, this PR doesn't promise to fix every single issue with vehicles. It's impossible to do that with such a complex subsystem, but I can guarantee that the state vehicles will be in is going to be exponentially better than they ever were, both for marines and for xenos.
Testing Photographs and Procedure
Screenshots & Videos (CONTENT in here!)
Multiple videos and images in https://hackmd.io/@Pgile3jBTHSuq5x_dj0dnQ/SyDwi7AEMl
CM13.Tank.Drifting.Before.GTA6.mp4
tankFireInteraction.mp4
(Old audio files for wounds. The new ones sound a lot better.)
https://github.com/user-attachments/assets/53e0cddd-f092-49b5-8174-627fbc0baf10
Put screenshots and videos here with an empty line between the screenshots and the
<details>tags.Special Thanks:
Changelog
By no means exhaustive, but here are the main points:
🆑
add: Reworked ground vehicle driving into a realistic approach with fuel consumption, transmission gears, heating, among other things.
add: Added a directional hull-damage and hardpoint-wound system to every vehicle, with the intent of mimicking wounds suffered by human mobs.
add: Added on-hull riding to every vehicle. But watch out. Most vehicles are improper surfaces for desant-ing and will throw you off.
add: Added multi-z stairs traversal for vehicles.
add: Added a status HUD to every vehicle's driver and gunner seats with informations about temperature, fuel level, battery charge, etc.
add: Added a hardpoint status HUD showing each vehicle's installed and damaged parts at a glance.
add: Added a pivoting swivel turret aiming system, a turret-safety lock, a turret-ring driven targeting speed, and IFF to each vehicle with a 'turret'.
add: Added driver-side weapon slaving, letting a vehicle's driver take control of a secondary weapon if the gunner allows.
add: Added direct star-shell and star-shell-packet loading to flare launchers, replacing the old magazines and increasing the relevancy of star shells in gameplay.
add: Added a clickable examine repair info readout to every wound that vehicles can face.
add: Added IFF Module, Visual Sensors, Air Filter, and Hatch hardpoints across all USCM vehicles, with matching civilian-grade parts for colony vehicles(battery, engine, fuel tank, radiator)
add: Added an IFF module to the ARC, which allows changing its targeting, as well as enabling or disabling the turret individually even when the sensors are up. It also uses the pivoting turret mechanic now.
add: Added a power dependency to the ARC antenna. It now has a battery and an engine.
add: Added four-way turn signals with sound and visual blinker to every vehicle.
add: Added overwatch camera support for vehicles, so squad leads/COs can watch any vehicle with an IFF module that has been sat on by a valid marine.
add: Added a hull cook off sequence on destruction to the TANK and the APC. the tank's turret physically ejects and lands nearby if it cooks off in a valid Z-level.
add: Added a desant speed cap to the ARC and every van. riders and hull cargo are thrown clear if the vehicle exceeds 35% of its own top speed while carrying them. Only the APC and Tank are valid all-speed desant platforms.
add: Added a diesel fuel reagent for the colony vans, mimicking JP-8 but without its movement boost.
add: Reworked the vans' overdrive boost to work correctly under the new gear-transmission movement model.
add: Reworked xeno-vehicle interactions across the board so they all now work against any vehicle
add: Added several new REQ spare-parts packs for vehicle components (engines, dualcannon, frontal cannon, wheels, flare launcher ammunition, antenna, and more)
add: Added generic debug tools to help with testing wounds, weapon configurations and sprite adjustments for new hardpoints
add: Mounted UA FLAG hardpoint for the Tank
add: Mounted M6H-BRUTE Launcher hardpoint for the Tank
add: Target-tracking system to the LTB and mounted BRUTE. Requires the user to hold down LMB. Lock can be broken by smoke, hard cover, or simply by out-swiveling the turret as it spins to track you. Runners rejoice!
add: Marines are now able to ride atop the M34A2 Light Tank, tank-desant style.
add: Items now inherit the same desant mechanic from mobs
refactor: Rebuilt multitile vehicles around its base class. Movement, damage/wounds, riding, stairs, crew HUD, action buttons, overwatch, and hull-destruction are single systems shared by every vehicle instead of separate per-vehicle implementations.
balance: The ARC can now be purchased even after the TANK has been sent up.
balance: Tank Autocannon: Halved firerate; 2.2x damage; Removed sniper flak effect; Added HEFA flak effect; added mirco-stun on non-big xenos
balance: LTB: Re-added to the vendor; Explosion damage re-adjusted to 0.75; Stuns all xenos except Queen & King; Fire rate changed to 15 from 20 (faster); Now uses loose shells rather than magazines; Now uses a sniper-like aiming with a 5 second wind-up
balance: Minigun: Now a de-facto close range option. Quicker spin-up (3s vs 10s), lower scatter (2 vs 18), higher starting RoF; extreme damage falloff (50% at 7 tiles; 100%~ at 10 tiles)
balance: Tank smoke launcher removed; swapped to a starshell flare launcher. Takes starshell packets & loose starshell grenades.
balance: LZR-N & DRG-N flamers can now switch between STREAM and GLOB modes at will.
balance: LZR-N & DRG-N flamers had their fuel amount adjusted to allow for two fuel modes. Generally, ammo economy is still the same.
balance: LZR-N & DRG-N can now use custom fuel mixtures. DRG-N gives xenos visual feedback by changing the color of the exterior tanks.
balance: LZR-N & DRG-N have access to smoke tanks from research
balance: Mounted M56D now takes regular M56D drums. Yes. The same you use for the M56D you get from REQ.
code: LZR-N is no longer a 'recommended pick'. UA flag is now a recommended pick. M56D mounted is now a recommended pick. LTB is now a recommended pick.
code: Xeno abilities and projectile code tweaked to allow targeting of mobs atop the tank.
code: Xenomorph castes with pounce-like abilities can use them to instantly climb up or down the tank.
balance: Artillery Module now gives the tank crewmen access to NVGs. Driver now also get the benefits from this module. Gunner had his FOV slightly reduced to match the Driver's.
balance: Multiple weapon tweaks to the tank's primary and secondary hardpoints, as well as the APC's primary Boyars cannon.
balance: LTB reworked and re-added to the list of parts selectable by tank crewmen
balance: Armors reworked and re-added to the list of tank parts selectable by tank crewmen
balance: Vehicle collision ram damage and knockback now scale by vehicle weight class
balance: ARC's turret is now full auto and follows a pivoting swivel mechanic.
balance: Lowered the Tank Crew role's late-join population threshold from 200 to 130 players. This isn't permanent and is meant to facilitate testmerges.
balance: Different tiles have different traction modifiers. As a result, vehicles are faster in maps with metal tiles and asphalt, and slower in maps with lots of sand, grass, water, etc.
balance: Tank Crew now defaults into a squad (Foxtrot)
qol: Hardpoint examine text is now a compact, clickable part list.
qol: Wound repair information is now accessible via a link on each wound.
qol: Vehicle intercomm system for all USCM vehicles.
qol: Blinker signals to every vehicle so drivers can visually inform their intent to nearby marines.
del: Removed the old magazine-swap flare launcher ammunition pack from REQ, replaced by direct star-shell loading.
imageadd: M6H-Brute Hardpoint sprite
imageadd: UA FLAG hardpoint sprite
imageadd: Custom fuel overlays for DRG-N
imageadd: Added a shared hardpoint icon sheet, a new tank HUD icon sheet, LTB shells, and more! (art by Holdemann).
imagetweak: Re-centered and re-tuned hull-weapon sprite pivots and muzzle flash positions after enabling turret rotation on them. Minor ARC hull tweaks to prevent the cabling from being shown as its smaller turret spins.
soundadd: Added engine start/idle/shutdown sounds, turret rotation and damage sounds, tread rattle and drift sounds, turbine sounds, acid-sizzle sounds, metal impact sounds, a turn signal blinker sound, and IFF beep sounds across multiple vehicles. All sounds are properly attributed and have licenses that allow their integration into CM.
ui: Updated the Overwatch Console and Vehicle Status interfaces to support the reworked vehicle systems.
maptweak: Updated vehicle interior maps for the intercomm systems. Telephone placement has also been adjusted to be reachable for the driver and gunner from their seat.
/:cl: