Skip to content

feat: hide red-mushroom poison in sandwiches, salads, pizzas, pies and soup - #112

Merged
JustinasLa merged 1 commit into
mainfrom
feat/poison-mushrooms
Oct 31, 2026
Merged

JustinasLa merged 1 commit into
mainfrom
feat/poison-mushrooms

Conversation

@JustinasLa

Copy link
Copy Markdown
Contributor

Summary

Red mushrooms are a poison players can hide in food.

  • Mushrooms go in dishes. Grilled mushrooms go into sandwiches and salads. Raw or grilled ones go onto pizzas and into pies, which bake them. Raw ones boil in soup. Inside a dish both colours are named just "Mushroom".
  • Generic rule: count: origin. A dish bonus can count an origin across all of the dish's foods, with origin: and steps:. The default poison track (tags.yml) uses it for Red Mushroom: 1 is Tainted (Nutrition ×0.4), 2 Poisoned (×0.15), 3+ Deadly (×0). Food stays ×1.0 on purpose: Nutrition moves toward the meal's, weighted by the Food gained (DietMath.lerpRaw), so a filling 0-Nutrition meal drags the eater's diet down hardest.
  • Generic hidden tags. A dish bonus can hide its tag:
    • hide-at-stars (default 3), with hide-tags / hide-dish-tags defining "cooked well".
    • A hidden tag's lore line is skipped, and the stars, Food and Nutrition shown leave it out. Eating still applies it.
    • Hiding survives rebuilds, copies, slicing and food strings, never adds a name prefix and never stacks with the shown tag.
    • The poison hides on a dish of 3+ stars whose red mushrooms are grilled (sandwich, salad) or boiled (soup), or whose own bake is cooked (pizza, pie). Otherwise it shows ("Poisoned (-85% Nutrition)").
  • Soup bonuses. The soup pot now applies dish bonuses when a bowl is ladled (pot.yml bonuses).
  • Cooking option raw-in-cookware. Mushrooms aren't tagged Raw in hand.
  • Pizza and pie add their bake before working out bonuses, so a burnt bake reveals the poison.

The mushroom layer/topping models and dish looks are server config (Dev only so far).

Documentation impact

  • Central Cooking documentation: no change. The dish YAMLs and tags.yml document the new keys in their comments.

Contract

  • Affected behaviour:
    • Dishes containing mushrooms.
    • Lore and displayed values of items with hidden tags.
    • Soup bowls, which now carry pot bonuses.
    • Dishes without mushrooms are unchanged.
  • Tests run: mvn -o -B clean verify; all tests pass and line coverage is still 100%. New PoisonBonusCoverageTest, HiddenTagCoverageTest and PoisonSoupCoverageTest.
  • Tested on Dev: not deployed to Dev yet.
  • Player wiki (ProvinceSystem /wiki/cooking or related pages): no change.

Notes

The poison can still be noticed:

  • by watching the cooking (a raw red mushroom is red in the pot or bowl);
  • because two dishes differing only by mushroom colour don't stack;
  • through Dev's nutrition log.

🤖 Generated with Claude Code

…d soup

Grilled mushrooms go into sandwiches and salads, raw or grilled ones onto
pizzas and into pies, and raw ones boil and mash into soup
(cooking-options raw-in-cookware keeps them from being Raw in hand). In a
dish both kinds are just "Mushroom".

Dish bonuses can now count an origin (count: origin) and keep their tag
secret (hide-at-stars, hide-tags, hide-dish-tags). A hidden tag stays on
the item (TagTrack hidden, hidden_tags PDC, hidden= in food strings) and
is eaten, but the lore leaves out its line, and its stars, Food and
Nutrition show without it; it never names the food or stacks with a
shown one. The default configs give every dish and the soup pot a poison
bonus: each red mushroom makes it Tainted, Poisoned, then Deadly
(Nutrition x0.4, x0.15, x0), hidden at 3 stars or more while the red
mushrooms are grilled (pizza, pie: the dish is cooked; soup: boiled).

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
@coderabbitai

coderabbitai Bot commented Oct 31, 2026

Copy link
Copy Markdown

Important

  • Trigger review

This repository does not receive automatic reviews because it has fewer than 10 stars.

Run configuration
  • Source mode: Auto
  • Repository: Unavailable
  • Branch: Unavailable
  • File: No configuration file from this repository applied
  • Commit: Unavailable
  • Layers: Organization UI
  • Review profile: CHILL
  • Plan: Advanced
  • Run ID: 54a28bcb-5954-4ce7-bbb8-593c3343f2fd
  • Autofix · Keep fixing CodeRabbit findings and required CI, and resolving merge conflicts

Thanks for using CodeRabbit! It's free for OSS, and your support helps us grow. If you like it, consider giving us a shout-out.

Share

@github-actions github-actions Bot added the size:L 100-499 effective changed lines (tests excluded in mixed PRs). label Oct 31, 2026
@JustinasLa
JustinasLa merged commit 7632daf into main Oct 31, 2026
3 checks passed
@JustinasLa
JustinasLa deleted the feat/poison-mushrooms branch October 31, 2026 18:52
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

size:L 100-499 effective changed lines (tests excluded in mixed PRs).

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant