xNetHack icon indicating copy to clipboard operation
xNetHack copied to clipboard

Hide plastic babies in slices of king cake

Open entrez opened this issue 3 years ago • 0 comments

Sometimes the hero will find a plastic baby inside a piece of king cake, just like in real life.

In order to make this apply to 'real' king cake created during Mardi Gras, and not to user-defined fruit with an identical name, change holiday fruits to use a negative fruit ID as their spe. To enable this, add a new macro, fruit_id() -- which provides the absolute value of fruit->spe -- and use it in most cases the fruit ID needs to be accessed.

Negative fruit IDs are already used when saving bones, to mark fruits which don't exist on the current level and therefore don't need to be included in the bones file, but those are negative fids in the g.ffruit linked list, not negative spe on individual items. These changes shouldn't interfere with that process as long as the possible negative spe is taken into consideration when saving and loading bones, which it now should be.

entrez avatar Jan 19 '22 23:01 entrez