Jump to content
Sign in to follow this  
Stroam

Elemental Health

Recommended Posts

I would like a more complex health system in Vintage story to give it more of a survival feel and add to the gameplay. This included all the common reasons people die out in nature. This is my latest revision on the topic which ties conditions to systems named after the elements. Each one does things a bit differently to add variety and interesting gameplay. Also since there's a lot of people who would like to tailor their experiences, possible JSON configuration mock ups have been provided.

Air 

Starts full and decreases over time when head is in specified block. Then it takes a configurable amount of breaths(wait time) to fill the bar back up completely. When empty, player passes out and dies.

Spoiler

{
    max: 100,
    breath: 25,
    solidBlock: -5,
    block: [
        {
            code: "water",
            rate: -5,
        },
        {
            code: "smoke",
            rate: -1,
        },
    ],
}

 

 

Fire - temperature

Balancing act to prevent heat stroke and hypothermia. Clothing and sources of heat will raise your temperature. Sweating decreases temperature and hydration. Heath stroke and hypothermia keep decreasing your max hp till it reaches zero at which point player dies.

Spoiler

{
    maxTolerance: 40,
    minTolerance: 35,
    bodyHeat: 37,
    sweat: { start: 37.5, tempChange: -0.02 },
    clothing: [
        {
            code: "basic shirt"
            insulation: 5
        },
        {
            code: "basic PANTS"
            insulation: 5
        },
    ],
    block: [
        {
            code: "torch - (lit)"
            maxDistance: 3
            baseTemp: 18
        },
        {
            code: "ice"
            maxDistance: 3
            baseTemp: -18
        },
    ],
    item: [
        {
            code: "torch - (lit)"
            temp: 18
        },
    ],
}

 

 

Water - thirst, bleeding, infection, poison/venom.

Hydration level goes slowly down over time. Rate can be set but by default, with no sweating takes about three days to get to 0. When hydration gets to 0 the player dies. Bad effects like bleeding and poison accumulate until they are at the same level as the hydration level. At that point the players screen goes blurry, their hydration starts dropping at the rate of the illness, and they are unable to increase hydration. The player can wait for the illness to stop but if it doesn't stop in time it will kill the player. Bleeding can be stopped with bandages, illness with antibiotics, and poison with anti-poison.

Spoiler

{
    max: 100,
    baseRate: 1,
    sweat: 3,
    illnessRates: [
        {
            status: "bleeding"
            rate: 5
        },
        {
            status: "infection"
            rate: 1
        },
        {
            status: "poison"
            rate: 1
        },
    ],
}

 

 

Earth - appendage condition

When a player receives damage from an attack or fall, one or more of their appendages will receive damage. When an appendage gets damaged its condition will decrease and as it condition is decreased, the effectiveness of that appendage will go down. A bruised leg is damaged but will not see any negative effects. A sprained leg will result in a slight walking speed decrease. A broken leg will see a 50% walking speed decrease. Two broken legs and the player can not move. Something similar for arms.

Spoiler

{
    appendages: {
        "leg-left": {
            condition: 100
            effects: [
                99: { 
                    name: "bruised" 
                    },
                50: {
                    name: "spraind",
                    effects: [
                        {
                            effect: walkspeed,
                            amount:  -25%,
                        },
                    ]
                },
                10: {
                    name: "broken",
                    effects: [
                        {
                            effect: walkspeed,
                            amount:  -50%,
                        },
                    ]
                },
            ]
        },
        "leg-right": {
            condition: 100
            effects: [
                99: { 
                    name: "bruised" 
                    },
                50: {
                    name: "spraind",
                    effects: [
                        {
                            effect: walkspeed,
                            amount:  -25%,
                        },
                    ]
                },
                10: {
                    name: "broken",
                    effects: [
                        {
                            effect: walkspeed,
                            amount:  -50%,
                        },
                    ]
                },
            ]
        },

    },
}

 

 

All JSON like files are used for demonstrating what could possibly configured in the game files if this were added to the game. The exact numbers would need testing and the structure of the files might even change based on code requirements.

Edited by Stroam
  • Like 1

Share this post


Link to post
Share on other sites

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.

Guest
Reply to this topic...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

Sign in to follow this  

×
×
  • Create New...

Important Information

We have placed cookies on your device to help make this website better. You can adjust your cookie settings, otherwise we'll assume you're okay to continue.