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

[WIP] Alcohol Rework #4

Open
wants to merge 4 commits into
base: main
Choose a base branch
from

Conversation

UndeadZeratul
Copy link
Member

I'd like to eventually deprecate the tokens themselves into more of an HDDrug system, but they'll have to be left for backwards compatibility, as I'm sure something out there directly looks for or checks for those tokens. Leaving them as a proxy makes sense, but we'll see how that shakes out as the rework continues.

New things include blacking out after too much, crouching stabilizes you and prevents sumbling (Originally in Cozi's Offworld Wares); slower processing of alcohol/intoxication rather than immediately ingesting every token upon consumption, which is still being fine-tuned.

I'd like to eventually deprecate the tokens themselves into more of an HDDrug system, but they'll have to be left for backwards compatibility, as I'm sure something out there directly looks for or checks for those tokens.  Leaving them as a proxy makes sense, but we'll see how that shakes out as the rework continues.

New things include blacking out after too much, crouching stabilizes you and prevents sumbling (Originally in Cozi's Offworld Wares); slower processing of alcohol/intoxication rather than immediately ingesting every token upon consumption, which is still being fine-tuned.
@UndeadZeratul
Copy link
Member Author

UndeadZeratul commented Sep 29, 2024

Jotting down notes from today's conversation on the HDest discord:

Different things that would be useful out of a base hdalcohol class under the default lump:

  • hdalcohol.sips <int>; //amount of consume actions. Appx 2oz/sip.
  • hdalcohol.abv <double>; //irl abv, essentially strength of alcohol. Used for booze effects handler, more alcohol causes more effects.
  • hdalcohol.quality <int>; //1 is pure, 10 is ditchwater swill. Used for booze effect handler, shittier alcohol multiplies bad effects.
  • hdalcohol.container <string>; //general material to connect to a few default sound/weight profiles that can be multiplied by the sips to make sound/weight feel vaguely correct. Ex. "glass" or "can" or "plastic".

~ prettyFist

Since this currently uses much of UaS Consumable's logic, stuff like sip is already handled, and abv already exists out of the existing intox_per_bulk property, although that can be left for backwards compatibility and either calculate a proper ABV out of it, or just keep it as-is. quality is interesting, though, as was discussed further and will be noted below. container is interesting as it could be used to pay different bounce sounds, calculate different bounce heights, or in the case of glass, shatter and spill the contents on the ground (or if we're really gonna get cooking, leave a thinker/actor around that can detect nearby ignition sources and spawn flames as a lingering AoE effect? Molotovs?!

Quality Notes:

hdalcohol.quality I do like this, actually... Start averaging out the quality of toxins in your system and based on how close to one extreme or the other you are, the more or less good/bad effects you get per heartbeat.

~ UZ

I considered at one point making rum affect you worse if you have less blood if thats what you mean, bit gonked today.

~ Cozi

Looking at the original tokens, 2500 tokens is the max, 2000 is blackout.

Blood loss is the closest to seeing how much blood you have left in you, but it's not perfect... How many points of blood lost does it take to reduce your health to 0? How many points does it take to reduce each point of max HP? You can sort of reverse engineer that in a way, then once we have a baseline of "total blood", subtract blood loss by that amount, then take the X out of 2500 points of intox and divide by that blood remaining percentage to get efficacy of intox effects?

~ UZ

The quality property will be a floating scale between -1.0 and 1.0, defaulting to 0, which will affect how often or how much of an affect both positive and negative effects of intoxication have on the player.  Since the default is 0, existing drinks should behave the same as they have, and this will be a sort of opt-in effect, although it will technically bring the quality closer to mid-range in that case.

The new values are still subject to change with testing, but so far things feel better than just taking a few swigs of whiskey and blacking out like you used to.
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

1 participant