Food morale stacking fix

Food morale stacking is an old problem. A single food item means nothing (+5 morale is nothing), a whole stack of those is like +15 which is less than music, but you can drink 10 different alcohols for +300 morale.
The stacking needs to be weaker. Bonus points if we also get non-stacked food morale to matter.

One thing that is NOT a solution is making the character bored of food for a long time (longer than one day). This would do nothing against stacking and only prevent the more natural bonus from “I ate a good meal today” effect.

I’m thinking something like penalizing multiple morale effects of the same sign:
Highest morale effect applied with no penalty, second one at 75% effect, third 50%, fourth 25% and the rest would be dropped. Or some other stepdown (square root? linear division?).
That way good meal, good drink and music would stack, but nibbling on 10 types of junk food wouldn’t.

Possible additions (not solutions on their own):

[ul][li]Could apply only to same morale categories: food would not stack well with food, books would not stack with books, but food+books would stack without penalties[/li]
[li]Dropping alcohol fun and turning most of it into fun from being drunk (rather than fun of drinking alcohol). Nice wines would still give the taste bonus, but washing down cheap fruit wine with moonshine wouldn’t help.[/li]
[li]Same as above for other drugs. In the category stacking system, all drugs would have a “chemical” category, so that heroin+alcohol wouldn’t stack perfectly[/li][/ul]

I don’t disagree with any of that… I just don’t USE any of it (because it is indeed ridiculous), so I wouldn’t be directly affected, but it’s a good (and fairly easy to implement, I would think) idea.

Sweet food doesn’t stack with sweet food;
Sour food doesn’t stack with sour food;
Meat doesn’t stack with meat;
Carb doesn’t stack with carb;
Alcohol doesn’t stack with alcohol;
Caffeine doesn’t stack with caffeine.

The underlying problem is each food implicitly has a unique morale type, this wasn’t a big deal when there were only a few dozen types of food, but now that there are hundreds it’s a problem.

The simplest solution IMO is to give morale effects a more general type, and impose a cap on that type in addition to on each different morale source.

E.g. the “food” type might have a cap of +50 morale, if something tries to apply a morale effect of that type that would bring the player over that limit, the effect is either nullified or reduced.

While you’re fixing that you may want to look at fixing spiritual as well, it’s possible to get +75 morale from EACH book and with a few books in hand it’s not difficult to get 300+ morale in short order, in a format that never expires, and only requires someplace lit and relatively safe to read. Maybe roll all of it into one “buff” that maxes out at 75-100 after reading four different books or something.

You can also (at least last I checked) stop reading the book by hitting 5, and gain the morale anyways.

+1000 morale in seconds.