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

Added an external option to make zombies immune to bleeding #45000

Merged
merged 3 commits into from
Oct 25, 2020
Merged

Added an external option to make zombies immune to bleeding #45000

merged 3 commits into from
Oct 25, 2020

Conversation

Night-Pryanik
Copy link
Contributor

@Night-Pryanik Night-Pryanik commented Oct 21, 2020

Summary

SUMMARY: Balance "Added an external option to make zombies immune to bleeding."

Purpose of change

Lore reason: zombies are explicitly stated in the lore as dead people reanimated by the Blob, and as such they are essentially dead beings. Their heart isn't working (and some zombies might even lack heart altogether due to various traumas) and isn't pumping blood as there is no need for it - the Blob is making corpses rise and walk due to its mumbo-jumbo magic, it doesn't need pity earthly mechanisms of supporting life.

Balance reason: applying direct damage to monsters due to bleeding is WAY too simplified. Creatures with such regenerative capabilities (not to mention their other paranormal abilities) such as zombies powered by the Blob shouldn't die from simple bleeding.

I understand that this PR is contradictory at best, but until we implement proper effects of monsters bleeding, I think it's better to have an option to disable the feature.

Describe the solution

Added an external option. Check for it in monster::is_immune_effect function. If ZOMBIES_DONT_BLEED external option is set to true (defaulted to false), and monster is zombie, make it immune to bleeding effect.

Describe alternatives you've considered

Replace direct damage with something less simplified, but it would be a much more work to do.

Testing

Turned option to false, make zombie step on a nailboard trap, make sure so they don't get bleeding effect.

Additional context

None.

@Night-Pryanik Night-Pryanik added Game: Mechanics Change Code that changes how major features work Monsters Monsters both friendly and unfriendly. labels Oct 21, 2020
@SirPendrak
Copy link
Contributor

I could understand only zombies being affected by this but all monsters?

@Night-Pryanik
Copy link
Contributor Author

Any monster that doesn't have immunity to bleeding will be affected, not only zombies.

@Zireael07
Copy link
Contributor

I was thinking this would be for zombies only... maybe give 'em a flag? Because applying what is essentially movie zombie logic to all monsters is... weird...

@Night-Pryanik
Copy link
Contributor Author

What do you mean by "movie zombie logic"? "Lose HP when you bleed"? If yes, then why do you think this logic should be restricted to zombies only?

Either all creatures (including player character and NPCs) receive direct damage when they bleed, or no one does. Our current situation is simply inconsistent. Monsters' simplicity is no excuse for them to get a completely different effect when they bleed.

@Zireael07
Copy link
Contributor

I was thinking zombies don't bleed, therefore don't lose HP. So yes, "don't lose HP when bleeding" is movie zombie logic.

Monsters and NPCs have long been separate and there is no problem with monsters getting a different effect when they bleed.

@Night-Pryanik
Copy link
Contributor Author

I don't think it's neither fun nor balanced when monsters could die by scratching themselves by the glass shard (especially when their blood doesn't flow at all - in case of zombies). It's ok that others don't agree with me on this matter, that's why I'm adding an option for it, rather than unconditionally pushing it right into the game.

@Night-Pryanik
Copy link
Contributor Author

Warm-blooded monsters DO bleed. Zombies DO bleed too. Why only zombies shouldn't lose HP on bleeding? I just can't think of any justification on why this option should be restricted to zombies only.

@Zireael07
Copy link
Contributor

Zombies DO bleed? I always thought they didn't, and that the bleeding effect applied to them was an oversight. If it's not the case, I stand corrected.

@Night-Pryanik
Copy link
Contributor Author

Yes, zombies always had the BLEED flag, and it was always intended that they should bleed, and as @nexusmrsep said, they didn't actually bleed all this time simply because of technical limitations.

@Night-Pryanik
Copy link
Contributor Author

Okay, reworked the option. It really feels too radical to disable HP loss due to bleeding to all monsters. So I restricted the option only to zombies.
Also made the option more sensible: instead of allowing zombies to get bleeding effect and the literally do nothing, I made zombies immune to getting bleeding effect altogether with ZOMBIES_DONT_BLEED external option set to true (it's defaulted to false).

@Night-Pryanik Night-Pryanik changed the title Added an external option to disable direct damage to monsters when they get bleeding effect Added an external option to make zombies immune to bleeding Oct 22, 2020
@Rivet-the-Zombie Rivet-the-Zombie merged commit 19c7921 into CleverRaven:master Oct 25, 2020
@Night-Pryanik Night-Pryanik deleted the optional-monster-bleed branch October 25, 2020 13:56
@kevingranade
Copy link
Member

kevingranade commented Oct 29, 2020 via email

@Night-Pryanik
Copy link
Contributor Author

I implemented this feature through the external option method simply because flag that allowed specific monster to bleed was obsoleted in #41219. If you say it's okay to return this flag and toggle bleeding through it, then I'll rework the feature through the flag.

@kevingranade
Copy link
Member

kevingranade commented Nov 2, 2020 via email

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
Game: Mechanics Change Code that changes how major features work Monsters Monsters both friendly and unfriendly.
Projects
None yet
Development

Successfully merging this pull request may close these issues.

5 participants