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

[MIRROR] Basic drones #225

Merged
merged 1 commit into from
Oct 23, 2023
Merged

[MIRROR] Basic drones #225

merged 1 commit into from
Oct 23, 2023

Conversation

Steals-The-PRs
Copy link
Collaborator

Mirrored on Skyrat: Skyrat-SS13/Skyrat-tg#24507
Original PR: tgstation/tgstation#79109

About The Pull Request

Fixes #68825
Fixes #72249
Fixes #70184

Converts maintenance drones to use the basic mob framework. As drones don't use AI, this was mostly a perfunctory conversion, but I took the opportunity to clean up drone code a bit and fixed a few bugs.

Noteworthy changes:

  • Drones now have a can_unhack field. This is set to FALSE on syndrones, because unhacking them doesn't make them stop being evil but does cause some weirdness. Syndrones are unused right now, but you never know.
  • Drones use the Dextrous component for hand-having.
  • Drones no longer have an internal ID card, instead being given all-access with the simple_access component.
  • Picking up drones now works the same as for other mobs, instead of pointlessly copying the code into attack_hand. As a consequence, it is now possible to punch drones if you want to for some reason.
  • Drones can now reboot/cannibalize dead drones without being in combat mode.
  • Cannibalizing a drone that contains a client no longer runtimes - the client is ghosted ahead of time.
  • Drones now have TRAIT_ADVANCEDTOOLUSER, allowing them to properly interact with machines.
  • Trying to screwdriver a dead drone now gives a balloon alert about why you can't do that.

In addition to these changes, I cleaned up the code quite a bit, organizing things better and placing more useful comments throughout. And removing a hell of a lot of single-letter variable names.

I will note that this PR does not address #72129. The issue there is that sprites for drones-as-hats are entirely nonexistent, and I'm not a spriter. It shouldn't be too hard to fix if someone makes dronehat sprites, though!

Why It's Good For The Game

Kills 8 more simple animals.

In addition to that, drones were clearly a bit neglected, so this fixes them up a bit and makes the code a little bit clearer. Maybe not that much clearer, but it's something. It certainly leaves them in a better place for further work if anyone wants to do that. Plus, a bunch of bugs and other jankiness are fixed now, which is nice.

Changelog

🆑 lizardqueenlexi
refactor: Maintenance Drones now use the basic mob framework. This shouldn't come with any noticeable gameplay changes, but please report any bugs.
fix: Drones can now interact normally with electrified doors.
fix: Drones' built-in tools can no longer be placed in storage objects and/or thrown on the floor.
fix: Drones can now perform right-click interactions correctly, such as deconstructing reinforced windows.
fix: Drones can now reboot or cannibalize other drones without being in combat mode.
/:cl:

* Basic drones

* Diffs

* Diffs

* Modular

* Modular

---------

Co-authored-by: lizardqueenlexi <[email protected]>
Co-authored-by: Giz <[email protected]>
@AnywayFarus AnywayFarus merged commit 80115a0 into master Oct 23, 2023
23 checks passed
AnywayFarus added a commit that referenced this pull request Oct 23, 2023
@AnywayFarus AnywayFarus deleted the upstream-mirror-24507 branch October 23, 2023 08:06
Iajret pushed a commit that referenced this pull request Jan 3, 2024
* Automatic TGS DMAPI Update (#80664)

This pull request updates the TGS DMAPI to the latest version. Please
note any changes that may be breaking or unimplemented in your codebase
by checking what changes are in the definitions file:
code/__DEFINES/tgs.dm before merging.

Co-authored-by: tgstation-server <tgstation-server@ users.noreply.github.com>

* Automatic TGS DMAPI Update

---------

Co-authored-by: orange man <[email protected]>
Co-authored-by: tgstation-server <tgstation-server@ users.noreply.github.com>
Co-authored-by: NovaBot <[email protected]>
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.

3 participants