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

Poison tweaks #46079

Merged
merged 25 commits into from
Dec 24, 2020
Merged

Poison tweaks #46079

merged 25 commits into from
Dec 24, 2020

Conversation

Venera3
Copy link
Member

@Venera3 Venera3 commented Dec 16, 2020

Summary

SUMMARY: Balance "Venom tweaks"

Purpose of change

When adding the new venom variants in #45416 I kinda forgot to add them to the Blood Filter/Analysis CBMs, and I also did not check if any hardcoded weirdness would interfere with them. This PR fixes those and makes some general adjustments to them.

Describe the solution

Both the damaging and weakening venom will now be removed by the blood filter CBM, in addition I added the paralytic and BADVENOM effects to its list. The new venoms also now have blood analysis descriptions. Adjusted the damage tick of the damaging venom to 36s ( up from 30 ), reducing the average damage slightly and causing it to reduce in intensity consistently between ticks ( the decay step is 18s). Since web spiders ended up slightly overtuned I reduced their potency somewhat.

TODO:
- [x] Adjust monsters so that only the appropriate ones can get posioned by them. See comment

[ ] Add the venoms to more critters This will be my first PR where I won't "while I'm here" a thing. Promise.

Describe alternatives you've considered

Near as I can tell the only reason the Blood Filter needs to be hardcoded instead of giving a JSON-modifiable effect is a function to ensure you get your fatigue if it removes Adrenaline or Meth, which is...kind of an edge case in my opinion. If it's desired I can adjust it to add a generic "Blood Filter" effect, removing the appropriate effects (and letting you get away with meth, I guess).

Making the damage venom non-filterable, since it's meant as a local effect. Decided against that pedantry, since that might not be obvious to all players and that venom can screw up your day when it accumulates.

Pestering an actual programmer into doing some coding for me, but they have cooler stuff to add.

Testing

Compiles, filter removes the added effects. Analysis shows the strings.

@Venera3 Venera3 changed the title Poison tweak Poison tweaks Dec 16, 2020
data/json/effects.json Outdated Show resolved Hide resolved
@BrettDong BrettDong added [C++] Changes (can be) made in C++. Previously named `Code` [JSON] Changes (can be) made in JSON Bionics CBM (Compact Bionic Modules) labels Dec 16, 2020
src/bionics.cpp Outdated Show resolved Hide resolved
src/bionics.cpp Outdated Show resolved Hide resolved
Venera3 and others added 2 commits December 16, 2020 18:07
Co-authored-by: anothersimulacrum <[email protected]>
Co-authored-by: anothersimulacrum <[email protected]>
Copy link
Contributor

@actual-nh actual-nh left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Looks good otherwise.

data/json/effects.json Show resolved Hide resolved
@Venera3
Copy link
Member Author

Venera3 commented Dec 17, 2020

Okay, the code for checking if a monster is immune was a tougher nut to crack than I expected, but here we are.

My intentions/assumptions were:

  • Alive animals should be able to be poisoned ( the player is one, and we get poisoned );
  • Giant bugs should be able to be poisoned ( most insect venom is developed against other insects );
  • Mycus, Triffids and other weird stuff should not be poisoned ( too different physiology to justify them working, I might add some extra effects just for them down the line);
  • Zombies should not be able to be poisoned ( direct tissue damage is debatable, but paralytics and bioactive amines should not interest a blobbed-up dead body);

And it works like that now! There's still some weirdness, mostly because of the material choice of a lot of exotics, e.g. nether creatures tend to be flesh which makes a flaming eye susceptible, but if that's jarring I can do a pass on their materials instead.

However, the creature_effect test has some drastically different assumptions and is very disappointed in me. Please advise.

@Venera3 Venera3 marked this pull request as ready for review December 17, 2020 20:23
@actual-nh
Copy link
Contributor

actual-nh commented Dec 19, 2020

A lot of the question re zombies is really the question of how much of their metabolism, etc., is blob and how much is (restarted) original fleshly functions. There are arguments both ways:

  • I note that zombies have WARM, and slimes do not; this, and the tendency of the blob to reuse what's already there (cataclysmdda.org design documents), argues for them actually having a lot of their original metabolism running.
  • On the other hand, zombies also have NO_BREATHE. (One could argue for this flag not actually (always) meaning quite literally no respiration, but being able to get sufficient oxygen (or equivalent) to function from any surroundings while filtering out anything toxic in the air/water/whatever. Putting them in a vacuum might well give different results. This is, of course, leaving aside the ones that are largely not in our "dimension" in any event, like flying polyps.) Oddly enough, lizardfolk in Magiclysm have NO_BREATHE, as do their pet crocodiles...

Among the poisons:

  • It makes sense for the localized damage poison to have some effect, albeit reduced, on the "weird stuff" noted above, and even more for zombies to have at least some damage from it likewise. At least part of it is going to be various digestive enzymes.
  • On the other hand, it's really unlikely for the paralysis to work on the "weird stuff". (One gameplay argument for having such toxins work, even if with reduced effect, on zombies is to "realistically" enable scenarios like egg implantation.)

@Venera3
Copy link
Member Author

Venera3 commented Dec 19, 2020

Updated the tests to be happy with me, however it occured to me that this would be a pretty big nerf to the player Venomous mutations. Oh well, I wanted to redo them anyway down the line, mostly because the old venoms barely did anything. Marking it as a draft again until I sort that out. I'll go with a local damage analogoue with an added speed debuff.

@Venera3 Venera3 marked this pull request as draft December 19, 2020 12:56
@Venera3
Copy link
Member Author

Venera3 commented Dec 19, 2020

The monster immunity restrictions are worth a PR on their own, since they do have some knock-on effects on player venoms etc., so that will require some more thought.

@kevingranade kevingranade merged commit 1113a9a into CleverRaven:master Dec 24, 2020
@Venera3 Venera3 deleted the PoisonTweak branch January 4, 2021 07:26
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
Bionics CBM (Compact Bionic Modules) [C++] Changes (can be) made in C++. Previously named `Code` [JSON] Changes (can be) made in JSON
Projects
None yet
Development

Successfully merging this pull request may close these issues.

5 participants