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 bleed resistance to monsters #49546
Conversation
Co-authored-by: anothersimulacrum <anothersimulacrum@gmail.com>
You mention a lot of biological enemies, what about mechanical enemies (ie CROWS, Riot Platforms etc)? Do they already have special handling? IMO a the 'bleed' (ie fluid leak) chance should be very low, but definitely lethal (at least for stationary enemies - how can a CROWS be an effective enemy if it cant elevate or slew the gun?) |
Co-authored-by: anothersimulacrum <anothersimulacrum@gmail.com>
Co-authored-by: anothersimulacrum <anothersimulacrum@gmail.com>
Mechanical enemies' bleed is pretty weird, I'll agree. They already use a different effect ( |
Will turrets bleeding mechanical fluid knock them down too? Ive had a turret at : _ _ _ _ and "bleeding" for 2 hours, it did not collapse. |
…into bleedresist
…into bleedresist
No, dripping mechanical fluid does no damage on its own. Monster bleed rates are in for vanilla mobs, mostly as outlined above - I erred on the more resistance side for the skeletal/cyborg mobs. |
Would be nice to eventually get extra bleeding (or bleeding resistance reduction) from some weapons (like barbed arrows etc.). |
Summary
Features "Add monster bleed resistance"
Purpose of change
Bleeding is currently applied to all fleshy monsters in the same (damage-dependent, slightly randomized) amount, this allows for plinking down even supposedly-armored targets with ease provided the player has the means to do any damage to them while running away. Late-game, highly evolved zombies being bothered by blood loss also isn't very true to them supposedly being bioengineered by an eldritch god on the fly (spoiler alert).
Implements #49243.
Describe the solution
Move
make_bleed
to Creature, reroute all hardcoded ways of adding bleed to monsters through it.Add a new monster property
bleed_rate
, a percentage-based modifier on the applied bleeding effect's duration and hence intensity and making the monster completely immune to bleeding on 0.TODO:
Describe alternatives you've considered
Hook it up to bleed's damage dealing step, but a mob showing Heavy Arterial Bleeding in its info and drawing a red streak everywhere while not getting damaged at all looked very weird.
Add an option to load it from species, but I couldn't figure out a neat way of filtering for "only overwrite this field if the main monster definition didn't include it", much less how to handle mixed-species monsters in a clean way.
Add a similar effect/mutation field to the player, but there's already an unutilized-in-vanilla mutation field for bleed resist (though at a glance it might be a bit broken), and effect code scares me.
Testing
Monsters still get bled by cutting/stabbing/bullet damage, the effect's duration is modified according to their
bleed_rate
, intensity scaling works as before. Bleed immune monsters don't show the effect or trails.Additional context
I dream of having a dynamic system for JSON-declaring resistances to arbitrary effects, but this will have to do for the moment.
Planned monster bleed rates: