Liquid Rework

Oct 19, 2016, 12:28 pm
#1
Joined: Mar 17, 2008
Occupation: Software developer
Location: Ohio
Interests: Physics
Posts: 67
I've started on a rework of the way fluids can be interacted with. We're losing a ton of conversation around this in the shoutbox.

Sipping / Dipping / vial PR is up https://github.com/Attnam/ivan/pull/201. Preferably we'll get some people to try it before we merge to make sure I didn't accidentally make the game easier.

Quote
4:03 am JoKe 5x slower consumption?
4:03 am JoKe Ouch, that's going to result in a lot of dead adventurers in UT3
4:05 am JoKe Often you don't have any other outs available that early than just drinking some healing liquid and hoping for the best, slowing that down just basically removes that out.
4:08 am JoKe I'd be fine with slowing down eating, but removing healing liquids mid-combat completely is a bit too far IMO
5:46 am fejoa Might this function explain what sort of volumes are needed to regenerate limbs and heal hit points: https://github.com/Attnam/ivan/blob/0708e1fc1f7a1478298c5697...
7:20 am 4zb4 I do agree with JoKe. Either healing liquids need to be more potent (to allow for adequate healing when sipped rather than quaffed) or we need to allow for the current drinking time to remain the same while still accommodating the code for smaller liquid quantities (somehow)
7:21 am 4zb4 Or maybe we could have an "apply" command for bottles that involves dumping the liquid all over yourself. This could allow for lesser healing than actually taking the time to drink it, but is much faster.
7:22 am 4zb4 Also would let you do dumb things like pour acid on your head
7:22 am 4zb4 Or smart things like extinguish a fire
8:41 am Ighalli "No time like the present" <- I saw "No time at the present"! I'm sorry!
8:43 am Ighalli Yeah, applying liquid to spill it on yourself is a good idea.
8:44 am Ighalli You guys think chugging a full liter of liquid in combat is a feature instead of an oversight? Try chugging a liter of water as fast as you can and time it. We'll make it that fast.
8:45 am Ighalli Combat healing = wand of resurrection or, better yet, read a scroll of teleportation (which are useless in combat now, because healing is strictly faster & better) and then heal up out of the fight.
8:57 am Ighalli 4zb4, you could make it so that you can combine two containers of the same liquid into one. That's something I didn't get to and filling up a bottle with vials is pretty useful.
9:48 am Serin-Delaunay Applying liquid containers to a tile you're not standing on would also serve as a non-ridiculous way to dispose of unwanted fluids, which at present must be done by dipping clean weapons or burning items in them.
10:13 am JoKe @Ighalli, wand of rez is way too rare to be a dependable combat heal especially in early game (does it even heal?)
10:14 am Ischaldirh I was actually thinking that being able to dump liquid over your head would be a good command
10:15 am JoKe Yeah, 'a'pplying things to dump container contents in general would be a good thing to have
10:16 am Ischaldirh Would you be able to dump cans of food out? Would it leave a lump?
10:17 am Ischaldirh Also, the reason I thought about dumping liquids over yourself, was that when your limbs are on fire you can't put them out, you have to let them burn
11:30 am capristo I feel like too much discussion gets lost in the shoutbox. Even with a working history that would be the case
11:30 am capristo I wonder if forums are just inadequate. Too slow / too bulky with everyone's avatars and sigs, etc.
11:30 am capristo maybe each topic should have a live discussion or something
11:34 am Serin-Delaunay Dumping liquids on one's own head would be the special case of dumping liquids where the selected direction is 5.
11:39 am Serin-Delaunay Would be useful for healing yourself if drinking 1000 millilitres starts taking a long time (and you don't mind having a weapon covered in healing liquid), healing allies that refuse to drink, liquid disposal, dousing flames, and attacking enemies with unarmoured bodyparts.
Oct 19, 2016, 12:51 pm
#2
red_kangaroo's avatar
elder dark mage


Joined: Apr 2, 2014
Location: North Tyris
Posts: 594
Awsome work, Ighalli!

Right now, healing liquid can save you early in the game, but teleporting and then healing is still strictly better, because you don't give everyone free turns to crit you. Only removing the ability to use healing liquid in emergency would screw everyone who has found a bottle of heal, but no tele scroll or wand yet. I think slower comsumption plus ability to dump liquids on your head is the best solution. You'll drink more reasonably, but still be able to emergency heal.

Wand or resurrection does not heal, IIRC, only grows new limbs if you've lost any.

And dumping lumps from tins sounds nice. The only nicer thing would be to put lumps into tins. But there was a lot of discussion about this being too powerful (all the food you could easily save for later).
Oct 19, 2016, 3:32 pm
#3
Joined: Dec 3, 2007
Occupation: Chaos Weaver
Location: Standing between all life and death
Posts: 2,826
capristo wrote
I wonder if forums are just inadequate. Too slow / too bulky with everyone's avatars and sigs, etc.
maybe each topic should have a live discussion or something

This is what the IRC was supposed to be for.
Oct 19, 2016, 5:07 pm
#4
capristo's avatar
The Imperialist


Joined: Dec 2, 2007
Location: New Attnam
Interests: bananas
Posts: 2,148
I never really used IRC even when it was active, but wouldn't those discussions still get lost? Or no
Oct 19, 2016, 5:43 pm
#5
Ischaldirh's avatar
Ex-Tyrant of the IVANers


Joined: Dec 8, 2007
Occupation: Junior Specialist Researcher
Location: California
Interests: (Astro)Physics, Exoplanets, Singing praise to Valpurus while smashing skulls with a bloody warhammer, Jogging
Posts: 2,836
IRC also had a history, but you're right.

Great work Ighalli. I've got a live character (also I don't know how to use gh yet) or I would test them out. But, if anything, I think these liquid reworks will mostly make the game harder.

A thought, though, while we're on the subject. If I understand correctly, the game handles eating/drinking as an all-or-nothing action right now.* Either you spend enough time to actually eat that entire dead kobold, or you don't eat any of him.** While this is fine when there's nothing to interrupt you, it is slightly irritating when you are halfway through drinking a healing potion and someone lands that fatal 1-HP blow to your torso. Is there any way to allow meals (and, by extension, drinks) to be consumed in parts?

*: Oddly, I'm now remembering that overeating does not appear to follow this pattern. The entire paragraph might be wrong, but I already wrote it, so eh.
**: This gave me a mental image of the PC slowly opening his mouth wide enough to fit the entire body, snake-like, then swallowing the corpse in one go.
Oct 19, 2016, 5:46 pm
#6
Joined: Mar 17, 2008
Occupation: Software developer
Location: Ohio
Interests: Physics
Posts: 67
fejoa linked to the limb regeneration code earlier. You need full HP and to drink 250 mL of healing liquid all at once to guarantee growing a limb, which means under my new system with smaller drinking volumes, you can drink a full liter of healing liquid and fail to get a limb. We could change it to heal with 100 mL and full HP, or leave it as is, so that getting limbs back is slightly harder. I don't think limb recovery is very difficult due to prayer, so it might not hurt to make it easy with healing. Or we could make praying for limbs harder.

Another thing that could be done is change the material distributions for the vials and bottles. Possibly healing liquids and antidotes should be likely in vials and unlikely in bottles.

Ischaldirh wrote
I think these liquid reworks will mostly make the game harder.

Is there any way to allow meals (and, by extension, drinks) to be consumed in parts?

*: Oddly, I'm now remembering that overeating does not appear to follow this pattern. The entire paragraph might be wrong, but I already wrote it, so eh.

I hope it's somewhat harder. I think how easy it is to stockpile healing liquid from Mellis makes the game easy in a way that the danger system doesn't compensate for.

The new code that's used for sipping can also be used for eating, albeit 100 mL at a time. It would be trivial to add a nibble command to eat just 100 mL of food, and it wouldn't be too hard to make it do something more reasonable. It should still interrupt you if a new enemy comes into view, but I didn't test that.

You're right; there are interrupts to eating which can happen each turn (1 turn = 500 mL consumption), like getting hit.
Oct 19, 2016, 5:56 pm
#7
capristo's avatar
The Imperialist


Joined: Dec 2, 2007
Location: New Attnam
Interests: bananas
Posts: 2,148
Ischaldirh wrote
IRC also had a history, but you're right.

Yeah I think the problem is not lack of history, it's just nobody wants to go to the effort of searching that history.

Anyways sorry for the off topic, I have some ideas on how to make this better and will work on them
Oct 19, 2016, 5:57 pm
#8
Joined: Dec 11, 2008
Posts: 1,770
Pretty sure sufficiently large quantities of food can be eaten in parts, but not intentionally.
Say if you had a chest made of banana flesh you can eat it up to the point that the game warns you that you're getting quite full and stop, or if something interrupts you like an enemy walking into your line of sight or attacking you, you can stop then too.

Eating probably takes place in intervals of X grams at a time, I could probably go look it up but someone will probably get to it before me.
Drinking probably works the same way but it's hard to tell when you only ever have a maximum of 1L of liquid (1000 grams) to get through unlike a 32KG large chest made of ommel cerumen for example.
Oct 19, 2016, 6:11 pm
#9
Ischaldirh's avatar
Ex-Tyrant of the IVANers


Joined: Dec 8, 2007
Occupation: Junior Specialist Researcher
Location: California
Interests: (Astro)Physics, Exoplanets, Singing praise to Valpurus while smashing skulls with a bloody warhammer, Jogging
Posts: 2,836
Do the effects of drinking/eating happen in parts, though? I know for a fact that when drinking a liter of healing liquid in combat, you are interrupted constantly (people trying to kill you), but you don't get any of the healing effect until the bottle is empty. That is more what I was asking after.

Ighalli wrote
I hope it's somewhat harder.

I'm all for adding challenge to this game. I mean, people have beaten it. We can't let that stand!
Oct 19, 2016, 10:23 pm
#10
Joined: Mar 17, 2008
Occupation: Software developer
Location: Ohio
Interests: Physics
Posts: 67
Quote
I know for a fact that when drinking a liter of healing liquid in combat, you are interrupted constantly (people trying to kill you), but you don't get any of the healing effect until the bottle is empty.

Based on reading and changing the code, eating and drinking happens in 500 mL increments, and if you start with a 1 L bottle, you should get the effects of healing applied half way through. If a monster is sufficiently fast, they'll get multiple attacks before you get any of the healing, which this won't change.

I found a little bug to fix: broken vials are called broken bottles. I filled a vial with sulfuric acid to breach the stairs to UT3. Since they use so little acid at a time, vials and a bottle of acid substitute for a pickax passably well (probably closer to a charge from a wand of lightning in terms of what they can handle, but I'm in UT).
Oct 20, 2016, 1:46 am
#11
Joined: Dec 3, 2007
Occupation: Chaos Weaver
Location: Standing between all life and death
Posts: 2,826
capristo wrote
Yeah I think the problem is not lack of history, it's just nobody wants to go to the effort of searching that history.

Anyways sorry for the off topic, I have some ideas on how to make this better and will work on them

I also apologise for the constant off topic conversation, but IRC did in fact have a history that we often did search and save whole chunks of, there's also a whole lot of stuff we copied to the forum (albeit they're all in the spam section). The real problem was that the history was so often broken.
Oct 20, 2016, 7:11 am
#12
red_kangaroo's avatar
elder dark mage


Joined: Apr 2, 2014
Location: North Tyris
Posts: 594
Ighalli wrote
I don't think limb recovery is very difficult due to prayer, so it might not hurt to make it easy with healing. Or we could make praying for limbs harder.

I actually agree that getting limbs back is way too easy once you have some healing fluid. It would be much more fun if you had to find a priest to get your normal limb back, or pray for new limbs from strange materials.
Oct 20, 2016, 1:06 pm
#13
Joined: Sep 8, 2010
Occupation: Petty Functionary
Location: Drinking pea soup in the world map
Interests: Mangoes
Posts: 1,116
red_kangaroo wrote
I actually agree that getting limbs back is way too easy once you have some healing fluid. It would be much more fun if you had to find a priest to get your normal limb back, or pray for new limbs from strange materials.

We could separate healing liquid and Troll Blood, so that healing liquid only heals HP, while troll blood either heals HP or regenerates a limb, and make troll blood rarer? At the moment both do both, only one of the two contributes to nutrition.
Oct 20, 2016, 3:31 pm
#14
red_kangaroo's avatar
elder dark mage


Joined: Apr 2, 2014
Location: North Tyris
Posts: 594
fejoa wrote
We could separate healing liquid and Troll Blood, so that healing liquid only heals HP, while troll blood either heals HP or regenerates a limb, and make troll blood rarer? At the moment both do both, only one of the two contributes to nutrition.

Sounds good!
Oct 20, 2016, 5:09 pm
#15
Joined: Sep 8, 2010
Occupation: Petty Functionary
Location: Drinking pea soup in the world map
Interests: Mangoes
Posts: 1,116
red_kangaroo wrote
Sounds good!

So let's say we're comfortable with the idea. What numbers would make this balanced? If we make troll blood rarer, by what proportion should we make healing liquid more common?
How rare should troll blood be?
Oct 20, 2016, 5:45 pm
#16
Ischaldirh's avatar
Ex-Tyrant of the IVANers


Joined: Dec 8, 2007
Occupation: Junior Specialist Researcher
Location: California
Interests: (Astro)Physics, Exoplanets, Singing praise to Valpurus while smashing skulls with a bloody warhammer, Jogging
Posts: 2,836
Keep in mind that spawn rates for liquids won't make much difference in dungeon drops, only Mellis and store drops. Most bottles in the dungeon are consumed before the PC finds them.
Oct 20, 2016, 6:08 pm
#17
Joined: Sep 8, 2010
Occupation: Petty Functionary
Location: Drinking pea soup in the world map
Interests: Mangoes
Posts: 1,116
True. Maybe it should stay at the same rate then, seeing as healing liquid would lose its limb regeneration ability. It should enhance Cruentus' appeal as a supplier of you know what.
Oct 20, 2016, 9:10 pm
#18
Joined: Apr 9, 2016
Occupation: Priestx of Sophos
Location: Standing on a big mine in GC1
Interests: the relation of queer crystal hyperfeminism and amphibious neutronium cybersocialist art
Posts: 258
Emptyable bottles?
Oct 21, 2016, 3:59 am
#19
red_kangaroo's avatar
elder dark mage


Joined: Apr 2, 2014
Location: North Tyris
Posts: 594
fejoa wrote
True. Maybe it should stay at the same rate then, seeing as healing liquid would lose its limb regeneration ability. It should enhance Cruentus' appeal as a supplier of you know what.

That's reasonable. Maybe stop Mellis from giving you blood, so Cruentus has a monopol?
Oct 21, 2016, 6:40 am
#20
Joined: Dec 3, 2007
Occupation: Chaos Weaver
Location: Standing between all life and death
Posts: 2,826
No, we don't want to force people to play chaotic characters for regenerative options. If we change healing potions to not do that, then the only other option is the rare wand. Also, making people rely more on artificial limbs from prayers is also counter-productive to anyone wanting an all-natural limb challenge if the very act of keeping all-natural limbs is harder. The biggest issue here is the stockpiling, which mostly comes down to Mellis being too damn generous. I think we should be looking at him instead of the base mechanics.
Oct 21, 2016, 10:25 am
#21
Joined: Mar 17, 2008
Occupation: Software developer
Location: Ohio
Interests: Physics
Posts: 67
The god-overhaul project is still on my backburner. In the nearer term, I had a god rebalance branch that was merged before I was done with it and I asked for it to be reverted. We could double check what I did to tweak Mellis and throw in some of the other changes I made, which mostly keep gods working like they do today. That needs to be considered by you all before we merge it, because it's essentially all balance tweaks.

Healing fluid & troll blood will still regenerate limbs, it's just no a guarantee anymore. If you're at full HP, it's a 1 in 2.5 chance to grow a limb. If your HP were lower, they'll be healed first and any healing left over has a chance to fix a limb. In this version, drinking 500 mL while at full HP has a 92% chance to get you a limb, and a full 1 L bottle is >99% likely to grow back a limb. It's just likely that only 100 mL will do nothing for your limb, and it's possible that a full liter of healing liquid will grow back multiple limbs and heal them. I doubt the balance will change much, but now the RNG can screw you over occasionally.
Oct 21, 2016, 11:55 am
#22
capristo's avatar
The Imperialist


Joined: Dec 2, 2007
Location: New Attnam
Interests: bananas
Posts: 2,148
I like a) limiting limb generation to troll blood only and b) making Mellis less generous
Oct 21, 2016, 7:24 pm
#23
Joined: Sep 8, 2010
Occupation: Petty Functionary
Location: Drinking pea soup in the world map
Interests: Mangoes
Posts: 1,116
chaostrom wrote
No, we don't want to force people to play chaotic characters for regenerative options. If we change healing potions to not do that, then the only other option is the rare wand. Also, making people rely more on artificial limbs from prayers is also counter-productive to anyone wanting an all-natural limb challenge if the very act of keeping all-natural limbs is harder. The biggest issue here is the stockpiling, which mostly comes down to Mellis being too damn generous. I think we should be looking at him instead of the base mechanics.
Ok, I completely agree with all these counter-arguments.

Ighalli wrote
Healing fluid & troll blood will still regenerate limbs, it's just no a guarantee anymore. If you're at full HP, it's a 1 in 2.5 chance to grow a limb.
Is that for 100ml?

Ighalli wrote
If your HP were lower, they'll be healed first and any healing left over has a chance to fix a limb. In this version, drinking 500 mL while at full HP has a 92% chance to get you a limb, and a full 1 L bottle is >99% likely to grow back a limb. It's just likely that only 100 mL will do nothing for your limb, and it's possible that a full liter of healing liquid will grow back multiple limbs and heal them. I doubt the balance will change much, but now the RNG can screw you over occasionally.

That's an interesting change. I like the way it causes the player to be judicious about when to use healing liquid.
Oct 21, 2016, 9:08 pm
#24
Joined: Mar 17, 2008
Occupation: Software developer
Location: Ohio
Interests: Physics
Posts: 67
fejoa wrote
Is that for 100ml?

That's an interesting change. I like the way it causes the player to be judicious about when to use healing liquid.

The old system was like this:
--- apply 500 mL of healing liquid --> --- apply another 500 mL of healing liquid -->

Limb regeneration heals 1 hp per 10 mL, and if you have liquid left over after going to full HP, you get a limb if you have >= 250 mL left of liquid. If you have less than 250 mL, you get a random chance of `Volume/250 mL`. I didn't change this system at all.

The new system applies 100 mL at a time, until you're interrupted. The side effect of sipping is that you can never drink 250 mL at a time, so growing a limb is never guaranteed. On the other hand, if you're lucky just two sips could regrow and then heal the limb. Or they could do nothing for you, aside from top up your HP.
Oct 22, 2016, 4:31 am
#25
Joined: Sep 8, 2010
Occupation: Petty Functionary
Location: Drinking pea soup in the world map
Interests: Mangoes
Posts: 1,116
Ah I see how it works now, sorry I didn't pay close attention :\
That will work quite nicely I think.
Jump to