BeeStation-Hornet
BeeStation-Hornet copied to clipboard
Desnowflakes mechs, take 3 (actually functional edition)
Main PR
- https://github.com/tgstation/tgstation/pull/52902
- https://github.com/tgstation/tgstation/pull/53470
Fixes
- https://github.com/tgstation/tgstation/pull/53624
- https://github.com/tgstation/tgstation/pull/54454
- https://github.com/tgstation/tgstation/pull/54529
- https://github.com/tgstation/tgstation/pull/54753
- https://github.com/tgstation/tgstation/pull/61167
- https://github.com/tgstation/tgstation/pull/77345
About The Pull Request
Title. The goal of this PR is to make mechs a subtype of vehicle/sealed/, and thereby removing a lot of snowflake code for them.
Some improvements were made to mech code in general, but generally, they all follow this common theme.
This is not a Mech Rework or a Mech Revamp. It effectively is just a typepath change, and switching all the core mech code to use vehicle vars.
I cut every commit up by file.
TODO
- [x] Finish Base PR
- [x] No conflicts
- [x] Ensure #9825 is inherited
- [x] Ensure #9673 is inherited
- [x] Ensure spiderweb slowdown is inherited
- [x] Ready for Review
Why It's Good For The Game
Kills the biggest snowflake in the game. Allows us to achieve parity with literally any mechcode improvements on other codebases(they all ported this 4 years ago).
Required for TGUIfication of Mech UI's (they suck rn)
Requirement for Modsuits (Through AI code)
Testing Photographs and Procedure
Screenshots&Videos
Slowdown
https://github.com/BeeStation/BeeStation-Hornet/assets/62388554/8317055f-6b23-4ed9-ad07-bd06661d6e96
These dont fit below 10MB no matter how much I compress them
https://imgur.com/a/RqfKhcu
Changelog
:cl: rkz, Tiviplus, msgerbs, Ghommie, Fikou, necromanceranne refactor: mechs are now a vehicle subtype, instead of Winter Wonderland snowflake code tweak: mechs no longer need to use middle click as a janky override to utilize their equipment. fix: fixed bugs with inconsistent mech equipment balloons/to_chat fix: fixed mechs with ballistics shooting themselves while moving /:cl:
This pull request has conflicts, please resolve those before we can evaluate the pull request.
This pull request has conflicts, please resolve those before we can evaluate the pull request.
This pull request has conflicts, please resolve those before we can evaluate the pull request.
This pull request has conflicts, please resolve those before we can evaluate the pull request.
This may be a bit too much to ask, but while you're in this code may you check for the phenomenon of if you're a MMI brain inside a mech and you shoot your lasers and walk forward you end up shooting yourself?
This doesn't happen with people because there's a check, but the game thinks there are no occupants so that happens.
Pretty please with sugar on top? <3
This may be a bit too much to ask, but while you're in this code may you check for the phenomenon of if you're a MMI brain inside a mech and you shoot your lasers and walk forward you end up shooting yourself?
This doesn't happen with people because there's a check, but the game thinks there are no occupants so that happens.
Seemingly incorrect, it occurs for both MMIs and human occupants.
https://github.com/BeeStation/BeeStation-Hornet/assets/62388554/8f80c06f-9445-470c-8d00-3592d9790797
I cannot fix this at the moment, seems to be a projectile issue mainly. Weirdly every direction moved except NORTH can hit. Messed up logic possibly?
This pull request has conflicts, please resolve those before we can evaluate the pull request.
This pull request has conflicts, please resolve those before we can evaluate the pull request.
This pull request has conflicts, please resolve those before we can evaluate the pull request.
I cannot fix this at the moment, seems to be a projectile issue mainly. Weirdly every direction moved except NORTH can hit. Messed up logic possibly?
If you haven't fixed this already, I believe this is an issue to do with marking the firer of a projectile. I believe that is the variable of projectiles which says who fired the projectile and who it shouldn't collide with, although it may be separated into a different one.
I believe this is an issue to do with marking the firer of a projectile
Yes you were correct. I found the mecha weapon code that fired the projectile and just set the mech vehicle to be the firer.
Seems to have resolved the issue. dca4858
This pull request has conflicts, please resolve those before we can evaluate the pull request.
This pull request has conflicts, please resolve those before we can evaluate the pull request.
Seems fine to me then