-
Notifications
You must be signed in to change notification settings - Fork 64
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
Basic Constructs: Artificer #178
Merged
Merged
Conversation
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
* Basic Constructs: Artificer (#79015) Really getting into the meat of the constructs now. Artificers have become basic mobs. On the whole, this was a pretty rote conversion, with no significant gameplay changes other than the switch to using healing hands rather than a unique heal ability. The player experience as an artificer is more or less identical. The _interesting_ part comes with the AI for the seldom-used "hostile" variant. Hostile artificers, being squishy and laughably weak, are now a dedicated "medic" role for constructs. They will perform triage, always seeking the most wounded construct (or shade!) to give healing to. They will not attack at all, but they _will_ flee with great speed if attacked and not busy healing. If they are healing another construct, they will remain even if they are beaten to death. I've added some more AI functionality that may come in handy in the future, and done some refactoring to keep things from getting out of hand: - A planning subtree for finding targets that will always select the most heavily wounded living target that the mob can see (or rather, the one with the least health). Useful again for medical triage, or for making a particularly cruel mob that always attacks whoever is easiest to kill. I plan to use this for NPC wraith constructs when I convert them. - Targeting datums can now check a blackboard key to see if they should only target wounded mobs. This is particularly useful for "medic" type mobs such as this one. - I've refactored the "minimum stat" behavior of targeting datums to be stored in a blackboard key. This removes the need to have unique subtypes for each different minimum stat we might want. Which... for the most part, weren't even used, leading to proliferation of several completely identical targeting datums in a bunch of different files. Hopefully this change will make things cleaner. In addition, this PR fixes a pair of bugs from #78807 that I didn't catch: - Healing constructs can now actually heal shades. Turns out I forgot to add the correct biotype. - Healing hands, when set to print the target's remaining health, no longer does so as a visible message. The one thing I didn't do that I kind of wanted to is make NPC artificers heal themselves when wounded and not busy doing something else, but it ended up being kind of annoying to make a mob willingly target itself. NPC artificers never had this behavior before, so I consider it okay, but maybe I'll circle back to it later. Another basic conversion, another 5 items off the checklist. Very little should change in-game, though I think the new NPC AI could make for interesting challenges in ruins or bitrunning or something. :cl: refactor: Artificer constructs have been converted to the basic mob framework. This should change very little about them, but please report any bugs. NPC artificers are now smarter, and will focus on healing nearby wounded constructs - if you see them, take them out first! /:cl: * Basic Constructs: Artificer * Modular * Modular paths * Modular paths --------- Co-authored-by: lizardqueenlexi <[email protected]> Co-authored-by: Giz <[email protected]>
Steals-The-PRs
added
Mirroring conflict
git cherry-pick во что-то уткнулся. Не ставить вручную, только для бота
TG Mirror
Refactoring
labels
Oct 20, 2023
…into upstream-mirror-24456
AnywayFarus
added a commit
that referenced
this pull request
Oct 20, 2023
Iajret
pushed a commit
that referenced
this pull request
Jan 3, 2024
* 69 new vox phrases * Update vox_sounds.dm --------- Co-authored-by: jimmyl <[email protected]> Co-authored-by: Giz <[email protected]>
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Labels
Map Modification
Mirroring conflict
git cherry-pick во что-то уткнулся. Не ставить вручную, только для бота
Refactoring
TG Mirror
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
Mirrored on Skyrat: Skyrat-SS13/Skyrat-tg#24456
Original PR: tgstation/tgstation#79015
About The Pull Request
Really getting into the meat of the constructs now. Artificers have become basic mobs.
On the whole, this was a pretty rote conversion, with no significant gameplay changes other than the switch to using healing hands rather than a unique heal ability. The player experience as an artificer is more or less identical.
The interesting part comes with the AI for the seldom-used "hostile" variant. Hostile artificers, being squishy and laughably weak, are now a dedicated "medic" role for constructs. They will perform triage, always seeking the most wounded construct (or shade!) to give healing to. They will not attack at all, but they will flee with great speed if attacked and not busy healing. If they are healing another construct, they will remain even if they are beaten to death.
I've added some more AI functionality that may come in handy in the future, and done some refactoring to keep things from getting out of hand:
In addition, this PR fixes a pair of bugs from #78807 that I didn't catch:
The one thing I didn't do that I kind of wanted to is make NPC artificers heal themselves when wounded and not busy doing something else, but it ended up being kind of annoying to make a mob willingly target itself. NPC artificers never had this behavior before, so I consider it okay, but maybe I'll circle back to it later.
Why It's Good For The Game
Another basic conversion, another 5 items off the checklist. Very little should change in-game, though I think the new NPC AI could make for interesting challenges in ruins or bitrunning or something.
Changelog
🆑 lizardqueenlexi
refactor: Artificer constructs have been converted to the basic mob framework. This should change very little about them, but please report any bugs. NPC artificers are now smarter, and will focus on healing nearby wounded constructs - if you see them, take them out first!
/:cl: