mirror of
https://github.com/Bubberstation/Bubberstation.git
synced 2026-08-31 00:58:26 +01:00
* Lightgeist AI (#77287) ## About The Pull Request The lightgeist AI controller was marked as "these aren't intended to exist outside of player control" but this is actually untrue. Lightgiests can appear under AI control either from a rare vent clog event or in the "patch of eden" lavaland ruin. As they heal things by "attacking" them, I made it so that they will target wounded creatures to "attack" them, though they will only heal them quite slowly, significantly less efficiently or effectively than a medibot (for example). While making this change I also added a couple more parameters to their "healing hands" component, now they can no longer repair beepsky or heal cyborg limbs. It's fleshies only. Lightgeists will attempt to heal _anything_ they can see which is both injured and has healable damage, which is notable because while this makes the "Patch of Eden" ruin a nice place of respite for a wounded miner you should be careful to let them finish up before you leave. If they follow you out, they will attempt to heal any of the fauna that you are attacking. Worse still, most Lavaland mobs are not signatories of the Geneva convention and have no compunctions against killing field medics. The majority of listed file changes in this PR is that I made some attempt at splitting our massive list of blackboard keys across several files, in order to cause myself a headache based on which of my (or other people's) open basic mob AI PRs gets merged first. Also I fixed a bug where the goliath attack forecast would runtime if it killed a mob which qdels itself on death (guess how I found that out). ## Why It's Good For The Game Adds a bit more character to a lavaland area and rare event. ## Changelog 🆑 add: Lightgeists under AI control will selflessly heal any wounded creature that they see. balance: Lightgeists can no longer repair non-organic tissue. /🆑 * Lightgeist AI --------- Co-authored-by: Jacquerel <hnevard@gmail.com>
26 lines
1.1 KiB
Plaintext
26 lines
1.1 KiB
Plaintext
// Defines & Blackboard keys for the very similar haunted and cursed AI controllers
|
|
|
|
///Chance for haunted item to haunt someone
|
|
#define HAUNTED_ITEM_ATTACK_HAUNT_CHANCE 10
|
|
///Chance for haunted item to try to get itself let go.
|
|
#define HAUNTED_ITEM_ESCAPE_GRASP_CHANCE 20
|
|
///Amount of aggro you get when picking up a haunted item
|
|
#define HAUNTED_ITEM_AGGRO_ADDITION 2
|
|
///how far a cursed item will still try to chase a target
|
|
#define CURSED_VIEW_RANGE 7
|
|
|
|
#define BB_TO_HAUNT_LIST "BB_to_haunt_list"
|
|
///Actual mob the item is haunting at the moment
|
|
#define BB_HAUNT_TARGET "BB_haunt_target"
|
|
///Amount of successful hits in a row this item has had
|
|
#define BB_HAUNTED_THROW_ATTEMPT_COUNT "BB_haunted_throw_attempt_count"
|
|
///If true, tolerates the equipper holding/equipping the hauntium
|
|
#define BB_LIKES_EQUIPPER "BB_likes_equipper"
|
|
|
|
///Actual mob the item is haunting at the moment
|
|
#define BB_CURSE_TARGET "BB_haunt_target"
|
|
///Where the item wants to land on
|
|
#define BB_TARGET_SLOT "BB_target_slot"
|
|
///Amount of successful hits in a row this item has had
|
|
#define BB_CURSED_THROW_ATTEMPT_COUNT "BB_cursed_throw_attempt_count"
|