-
Notifications
You must be signed in to change notification settings - Fork 4.2k
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
Add monster/character differentiation to monster hostility #59795
Conversation
First pass on JSON - ground rules for inclusion: an aggression below auto-aggro level, anger triggers that are hooked up to the aggro system and general flavor (properly dumb critters don't care either way). I also did some buggy bugfixes around armored centipedes and ladybugs/striders that came up. |
The prep-net cyber dogs and tripods from Aftershock |
Explicitly tested the forge of wonders as a sticking point for this by spawning a 9*9 grid of zombies in the middle of the garden. Forgeborn and workers got nice and agitated and beat their teeth in (getting hit, killed and all the rest in the process), they still didn't think to punch their Valued Customer. They still did decide to murder all the fish in their own pond, but that's harder to solve. |
Src: triggers, calmdown, debug messaging
f3a3228
to
a81e883
Compare
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Aftershock and Magiclysm look good
Should be linked with #54752 |
Summary
Features "Add monster/character differentiation to monster hostility"
Purpose of change
Add a (rudimentary) selection to monster hostility, optionally filtering out characters until a character actually trips an anger trigger.
First pass at #59565
Describe the solution
aggro_character
(default true) tomonster
andmtype
.false
means the monster will be passive towards characters.aggro_character
when a character trips the trigger: attacking/killing a friendly critter, hurting the monster and threatening offspring will always do so, the other triggers will have a random chance for each time they triggeraggro_character
when the monster reached its baseline anger levelTODO:
Describe alternatives you've considered
Autodefine it if the monster's aggression is 100, but that was going to exclude some smart-but-hateful mobs like ferals.
Use a flag, but those can't be readily removed/reactivated.
Testing
Set a monster to
aggro_character: false
before allowing the bool to flip at all, the mob ignored me but attacked other creatures as expected.After doing the triggers they each are able to flip the aggro filter, debugmode messages trigger.
Aggroed monsters lose aggro both in-bubble and on load after a long time.
NPCs aggro monsters with the same condition as player, an aggroed monster attacks both.
Additional context
Includes the changes from #59766 for sanity's sake until that merges.
The list of monsters with the filter is TBD, but will probably include wasps and other problem kids