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 Constructs: Wraith #356

Merged
merged 1 commit into from
Oct 31, 2023
Merged

[MIRROR] Basic Constructs: Wraith #356

merged 1 commit into from
Oct 31, 2023

Conversation

Steals-The-PRs
Copy link
Collaborator

Mirrored on Skyrat: Skyrat-SS13/Skyrat-tg#24655
Original PR: tgstation/tgstation#79235

About The Pull Request

Converts wraith constructs to basic mobs. The last of the "mainline" constructs, though there's still one to go after this.

Wraiths are pretty much the same as they've always been - speedy constructs that pack a bit of a punch, built around doing hit-and-run tactics with their ability to ethereal jaunt. Notably, I've converted their ability to recharge their jaunts with attacks into a new component, recharging_attacks. This can be placed on any basic mob to let them recharge a cooldown action by landing hits, which could possibly be useful in the future.

NPC wraiths are pretty straightforward, with a twist - they will always chase down and beat to death the lowest-hp mob they can see. Happening upon one of these while wounded will end very badly! While I originally wanted them to be more flighty and use hit-and-run tactics, I couldn't figure out a way to do this that didn't look kind of silly and make them less effective overall.

In addition to the wraiths, I've done some much-needed cleanup to basic constructs as a whole, improving some things and covering some things I missed along the way.

  • Ectoplasm drop types from constructs is now properly based on their theme. I believe I've done this in a way that will pass unit tests this time, but we'll see if my local tests were being honest with me.
  • Player-controlled constructs now attack faster. I didn't realize that being basic mobs capped them to attacking once every 2 seconds, which is a gigantic nerf over the simple animal version. I cut this to just 1 second, which should be much closer to how it originally was.
  • Artificers actually seek out and heal the most damaged ally they can find, instead of the least damaged. Turns out the sort was doing the exact opposite order from what I thought, which became much more obvious when using the same targeting behavior on wraiths.
  • I put the PR number in the juggernaut update script, which I somehow missed on that one.
  • Removed the extraneous "noncult" construct subtypes that didn't do anything. The Artificer one, which does something, is still around.

Why It's Good For The Game

For the same reasons as the previous three. 5 more simple animals gone, and only one construct to go until I can nuke simple constructs from the codebase entirely. Other than that, the new component could possibly come in handy in future designs, and the NPC behavior should hopefully be a little scary - even if just a little.

Changelog

🆑 lizardqueenlexi
refactor: Wraith constructs have been converted to the basic mob framework. NPC wraiths are now extra cruel and will attack the lowest-health mob they can see at any given time. Make sure this isn't you! Please report any bugs.
fix: Artificers and juggernauts no longer attack significantly more slowly than intended.
/:cl:

* Basic Constructs: Wraith (#79235)

## About The Pull Request

Converts wraith constructs to basic mobs. The last of the "mainline"
constructs, though there's still one to go after this.

Wraiths are pretty much the same as they've always been - speedy
constructs that pack a bit of a punch, built around doing hit-and-run
tactics with their ability to ethereal jaunt. Notably, I've converted
their ability to recharge their jaunts with attacks into a new
component, `recharging_attacks`. This can be placed on any basic mob to
let them recharge a cooldown action by landing hits, which could
possibly be useful in the future.

NPC wraiths are pretty straightforward, with a twist - they will always
chase down and beat to death the lowest-hp mob they can see. Happening
upon one of these while wounded will end very badly! While I originally
wanted them to be more flighty and use hit-and-run tactics, I couldn't
figure out a way to do this that didn't look kind of silly and make them
less effective overall.

In addition to the wraiths, I've done some much-needed cleanup to basic
constructs as a whole, improving some things and covering some things I
missed along the way.
- Ectoplasm drop types from constructs is now properly based on their
theme. I _believe_ I've done this in a way that will pass unit tests
this time, but we'll see if my local tests were being honest with me.
- Player-controlled constructs now attack faster. I didn't realize that
being basic mobs capped them to attacking once every 2 seconds, which is
a gigantic nerf over the simple animal version. I cut this to just 1
second, which should be much closer to how it originally was.
- Artificers actually seek out and heal the most damaged ally they can
find, instead of the least damaged. Turns out the sort was doing the
exact opposite order from what I thought, which became much more obvious
when using the same targeting behavior on wraiths.
- I put the PR number in the juggernaut update script, which I somehow
missed on that one.
- Removed the extraneous "noncult" construct subtypes that didn't do
anything. The Artificer one, which does something, is still around.
## Why It's Good For The Game

For the same reasons as the previous three. 5 more simple animals gone,
and only one construct to go until I can nuke simple constructs from the
codebase entirely. Other than that, the new component could possibly
come in handy in future designs, and the NPC behavior should hopefully
be a little scary - even if just a little.
## Changelog
:cl:
refactor: Wraith constructs have been converted to the basic mob
framework. NPC wraiths are now extra cruel and will attack the
lowest-health mob they can see at any given time. Make sure this isn't
you! Please report any bugs.
fix: Artificers and juggernauts no longer attack significantly more
slowly than intended.
/:cl:

* Basic Constructs: Wraith

* Update defcon2.dmm

---------

Co-authored-by: lizardqueenlexi <[email protected]>
Co-authored-by: Giz <[email protected]>
@Iajret Iajret merged commit c6f41e1 into master Oct 31, 2023
24 checks passed
@Iajret Iajret deleted the upstream-mirror-24655 branch October 31, 2023 18:04
AnywayFarus added a commit that referenced this pull request Oct 31, 2023
Iajret pushed a commit that referenced this pull request Jan 11, 2024
* Fixes active turfs being added to the liquids subsystem while it is disabled

* Update liquid_controller.dm

* Don't think we need or want to be doing this
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