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

Shoggoths can't eat anomalous material #72957

Merged

Conversation

anoobindisguise
Copy link
Contributor

Summary

Balance "shoggoths cannot eat artifacts"

Purpose of change

Currently the distorted microlab has some weird and undesirable qualities to it. You are incentivized to go there as quickly as possible when coming near it, because if you wait too long, the shoggoths will eventually eat some or all of the artifacts. This creates bit of logical weirdness; if the shoggoths are eating the artifacts, why are there any left? The answer is because they can't do that until they're in the reality bubble, but that's a clear gamism. Further it's very much a form of "gotcha" gameplay. If you didn't know this thing could happen, you can easily wind up coming to a microlab that's been picked half clean by the shoggoths.
There are other issues with the distorted microlab like how it slowly gets overrun with shoggoths and slimes and becomes more and more dangerous the longer it exists in the reality bubble, but this is the biggest problem IMO.

Describe the solution

There is actually a whitelist for shoggoth item consumption. If left blank, all materials are allowed. Otherwise only the whitelisted materials are allowed. I specifically only want to make one material inedible, so the existing infrastructure wasn't sufficient. I added a "no_absorb_material" which does this instead.
The blacklist must first be passed before the whitelist is checked. If through a JSON mistake something is added to both lists, then the blacklist takes precedence and the material cannot be eaten. (And of course the blacklist takes priority over the universal whitelist).
The blacklist bars no materials if unspecified.
Currently it blacklists anomalous material (artifact material) and monolith, which are the two "nether" based matter sources that to me make sense to disallow shoggoths to eat. They can eat steel, concrete, flesh, etc, anything from Earth just fine still.

Describe alternatives you've considered

IDK really. I feel strongly about this lol

Testing

Compiled locally. Teleported out into a field. Confirmed shoggoths can still eat rocks and newspapers and other random stuff lying around. Confirmed they cannot eat artifacts by spawning a "hollow, transparent cube" and letting the shoggoth tread over its tile a few times.

Additional context

@github-actions github-actions bot added <Documentation> Design documents, internal info, guides and help. [JSON] Changes (can be) made in JSON [C++] Changes (can be) made in C++. Previously named `Code` Monsters Monsters both friendly and unfriendly. [Markdown] Markdown issues and PRs Game: Balance Balancing of (existing) in-game features. json-styled JSON lint passed, label assigned by github actions astyled astyled PR, label is assigned by github actions BasicBuildPassed This PR builds correctly, label assigned by github actions labels Apr 11, 2024
@Maleclypse Maleclypse merged commit 36578d7 into CleverRaven:master Apr 12, 2024
24 of 29 checks passed
@anoobindisguise anoobindisguise deleted the anoobindisguise-shoggoth-diet-plan branch July 31, 2024 04:16
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
astyled astyled PR, label is assigned by github actions BasicBuildPassed This PR builds correctly, label assigned by github actions [C++] Changes (can be) made in C++. Previously named `Code` <Documentation> Design documents, internal info, guides and help. Game: Balance Balancing of (existing) in-game features. [JSON] Changes (can be) made in JSON json-styled JSON lint passed, label assigned by github actions [Markdown] Markdown issues and PRs Monsters Monsters both friendly and unfriendly.
Projects
None yet
Development

Successfully merging this pull request may close these issues.

2 participants