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

Ice cream! (plus milkshakes, custard, and other frozen desserts) #25021

Merged
merged 9 commits into from Aug 31, 2018

Conversation

@Xhuis
Copy link
Contributor

commented Aug 21, 2018

SUMMARY: Content "Adds milkshakes, ice cream, and other desserts that taste best when frozen"

Ever since we got icecream shops, I was confused why this wasn't added, and when we got frozen food, I knew something had to be done. This fixes that - ice cream has finally been added to Cataclysm, along with some new code changes for it.

Short version

This adds ice cream and milkshakes. You can craft most of them, or find them at places like fast food restaurants and ice cream shops. They spoil fast and have very high enjoyment, but you can only get all of it if you freeze them, since otherwise they'll melt!

Long version

Ice cream spawns mainly in places like fridges, along with milkshakes. They use a new tag called MELTS - food with this tag have halved enjoyment when not frozen, since they're considered melted. Because ice cream and milkshakes both have high enjoyment values, it gives an incentive to freeze them.

Milkshakes come in styrofoam cups, a new resealable, watertight container that holds 0.5 L of liquid. Ice cream comes in plastic tubs, which are also resealable and watertight, holding 4 L of liquid. The best place to find them both is ice cream shops, which have high spawn rates for them, but they can also be found in any fridge, and milkshakes semi-commonly in fast food shops.

Being milk-based products, ice cream and milkshakes have a fast spoil time at 1 or 2 days. Sorbet, being made from water, has a much slower spoil rate, at 2 weeks.

Enjoyment for these foods is quite high (the highest, deluxe milkshakes, have 25) and are probably the highest enjoyability value for foods alone. This is because they're a more specialized version of the EATEN_COLD and EATEN_HOT flags; it has to either be winter or you have to have a minifreezer to get the full enjoyment. As such, just as how pinot noir has upwards of ~50 enjoyment when cold, ice cream and milkshakes have a very high enjoyment when frozen.

I don't know how ice cream is made in real life, so the recipes are my best estimate.

Ilysen added some commits Aug 21, 2018

"id": "MELTS",
"type": "json_flag",
"context": [ "COMESTIBLE" ],
"info": "This food <neutral>melts when not cold</neutral>, and tastes much <good>better</color> when <color_light_cyan>frozen</color>."

This comment has been minimized.

Copy link
@cainiaowu

cainiaowu Aug 21, 2018

Contributor

"cold" itself is a item tag, very confusing, you need to reword it a bit.

This comment has been minimized.

Copy link
@Night-Pryanik

Night-Pryanik Aug 21, 2018

Member

Also, the </color> closing tag should be replaced with </good> tag.

@Night-Pryanik
Copy link
Member

left a comment

Please review all nutritional values.

"id": "MELTS",
"type": "json_flag",
"context": [ "COMESTIBLE" ],
"info": "This food <neutral>melts when not cold</neutral>, and tastes much <good>better</color> when <color_light_cyan>frozen</color>."

This comment has been minimized.

Copy link
@Night-Pryanik

Night-Pryanik Aug 21, 2018

Member

Also, the </color> closing tag should be replaced with </good> tag.

"symbol": "~",
"color": "white",
"spoils_in": 24,
"nutrition": 40,

This comment has been minimized.

Copy link
@Night-Pryanik

Night-Pryanik Aug 21, 2018

Member

That's way too much for a cup of milk. Ordinary milk has 8 nutrition, condensed sweetened milk has only 11.

This comment has been minimized.

Copy link
@Xhuis

Xhuis Aug 21, 2018

Author Contributor

Milkshakes are made also with flavoring (such as chocolate, fruit, or candy), clean water, and sugar. I can bump down the nutrition, but I will bump up the quench (as clean water has 50 quench.)

Edit: Ice cream values are also already fine, as one cup of milk = one serving of ice cream.

},
{
"type": "COMESTIBLE",
"copy-from": "icecream",

This comment has been minimized.

Copy link
@Night-Pryanik

Night-Pryanik Aug 21, 2018

Member

As sorbet copy-from icecream it still has a milk as material despite stating it is made from water with sweetener.

"time": 5000,
"autolearn": true,
"components": [
[ [ "milkshake", 1 ], [ "milkshake_fastfood", 1 ] ],

This comment has been minimized.

Copy link
@Night-Pryanik

Night-Pryanik Aug 21, 2018

Member

I suggest make it a separate recipe and not require making milkshake as a intermediate component. The same for other recipes down below.
We streamlined several recipes in the past, removing the intermediate components (like arrows requiring a separate fletching or bricks requiring raw bricks).

Ilysen added some commits Aug 21, 2018

@Xhuis Xhuis changed the title Ice cream! (And milkshakes, custard, and other frozen desserts) Ice cream! (plus milkshakes, custard, and other frozen desserts) Aug 21, 2018

@@ -807,6 +807,7 @@ Some armor flags, such as `WATCH` and `ALARMCLOCK` are compatible with other ite
- ```EATEN_COLD``` Morale bonus for eating cold.
- ```EDIBLE_FROZEN``` Being frozen doesn't prevent eating it. No morale bonus.
- ```NO_FREEZE``` It spoils instantly when frozen.
- ```MELTS``` Melts when not frozen, providing no morale bonus.

This comment has been minimized.

Copy link
@mlangsdorf

mlangsdorf Aug 21, 2018

Contributor

Should be "providing reduced morale bonus"

[ "irradiated_cherries", 1 ]
],
[ [ "sugar", 10 ] ],
[ [ "water_clean", 1 ] ]

This comment has been minimized.

Copy link
@mlangsdorf

mlangsdorf Aug 21, 2018

Contributor

Milkshakes are usually made from milk + pre-made ice cream, not milk + ice cream ingredients.
It should also require a food processor, quern, or mortar for grinding the ice cream into the milk.

This comment has been minimized.

Copy link
@HeadWar

HeadWar Aug 22, 2018

No, ice cream is fairly soft, querns and mortars are for turning hard dry stuff into dust.

This comment has been minimized.

Copy link
@Shinino

Shinino Aug 30, 2018

Contributor

True, but an ice cream maker should be a thing.

"autolearn": true,
"qualities": [ { "id": "COOK", "level": 3 } ],
"components": [
[ [ "milk", 2 ], [ "con_milk", 2 ], [ "can_coconut", 2 ] ],

This comment has been minimized.

Copy link
@mlangsdorf

mlangsdorf Aug 21, 2018

Contributor

Most no-machine recipes use heavy cream + condensed milk and require a bit of churning. I'd add food processor, quern, or mortar and pestle to the tools and change the ingredients to milk, 2 and con_milk 2 OR can_coconut 2

@mlangsdorf

This comment has been minimized.

Copy link
Contributor

commented Aug 21, 2018

Is there a way to add a freezing requirement to recipes?

@Inglonias

This comment has been minimized.

Copy link
Contributor

commented Aug 21, 2018

I CREAM!

@Night-Pryanik

This comment has been minimized.

Copy link
Member

commented Aug 21, 2018

Is there a way to add a freezing requirement to recipes?

You mean flags? AFAIK no.

@mlangsdorf

This comment has been minimized.

Copy link
Contributor

commented Aug 22, 2018

Changes look good.

[ "irradiated_cherries", 1 ]
],
[ [ "sugar", 10 ] ],
[ [ "water_clean", 1 ] ]

This comment has been minimized.

Copy link
@Shinino

Shinino Aug 30, 2018

Contributor

Elaborating:

Basic ice cream recipe includes cream (which isn't in game -- that's a possible opportunity for a dairy rework down the line, given that milking cows is a thing. That + churns gives opportunities for butter, cheese, cream, et al crafting -- which is beyond the scope for this particular PR, but noting down).

You -can- make ice cream in a bag, yes. Maybe two ice cream recipes -- one with a bag (bag ice cream?) that has lower 'fun' involved (because it doesn't taste -quite- as good) and one that uses an ice cream maker that has higher fun? Just spitballing ideas here. That said, from memory, I know part of the ice cream making process involves actual ice (with a maker, you pack ice and rock salt around the container to help it freeze -- I think bag ice cream uses a very similar process).

There's no ice in the game (other than frozen water) -- which we can get with a minifreezer. Is there a way to require a specific -state- of something to cook? In this case water (frozen)? I'm guessing in the recipe for ice cream that water (clean) is a substitute for water (frozen) -- I'd also think that -any- water could work if that's the case.

@Xhuis

This comment has been minimized.

Copy link
Contributor Author

commented Aug 30, 2018

I can fix conflicts on this in a few hours, but is there any possibility it could be merged shortly after I do? All of my pull requests are currently sitting in endless limbo and slowly accumulating dust.

@kevingranade

This comment has been minimized.

Copy link
Member

commented Aug 31, 2018

@kevingranade kevingranade merged commit 0a7fd1c into CleverRaven:master Aug 31, 2018

4 checks passed

continuous-integration/appveyor/pr AppVeyor build succeeded
Details
continuous-integration/travis-ci/pr The Travis CI build passed
Details
coverage/coveralls Coverage decreased (-0.03%) to 24.137%
Details
gorgon-ghprb Build finished.
Details

@Xhuis Xhuis deleted the Xhuis:icecream branch Aug 31, 2018

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
You can’t perform that action at this time.