LoliKingdom / Toxic-Garbage-Island

Progression pack for 1.12.2. Codenamed: The_Full_Picture
http://risingkingdom.gq
8 stars 0 forks source link

Temperature System #33

Closed Rongmario closed 4 years ago

Rongmario commented 6 years ago

Between client loads for scripts I've been on and off coding a 'warmth system' into our pack the definite principles are:

  1. Warmth has 10 points
  2. Being in certain biome or dimension will result in warmth being stable (no loss or add), some has huge loss, some has huge add (too little or too much is not good!)
  3. Blocks affect warmth too
  4. However, perks do happen when you have the right warmth balance, or even if you are too cold or too hot different perks still happen
  5. Armor values correspond to warmth, don't worry having armor on will always keep your warmth at a steady level (just depending on its durability)
Waisse commented 6 years ago

Reminder that we are using GC planets with AR oxygen mechanics. That means the player has access to all planets when he get a warp core. It's also planned to use AR to get to the Twilight Forest/ Betweenlands, and maybe even The End. I think it would be a cool idea to use the warmth system to regulate dimensional exploration better, since AR doesn't have more than a spacesuit + oxygen check.

So about warmth :

10 points value ? Doesn't look precise enough, what about a -100 to +100 value, with 0 being the default ? Perks for being properly cooled/heated ? Avoiding debuffs and not dying is good enough imo. Armor value equal warmth ? I don't like that, it make the player rely on specific armor sets to get enough warmth. And what about cooling ? Can't wear armor with your system.

My suggestions :

Instead of warmth I'll use temperature, that sound more fitting. Ambient temperature depend of several factor : the base value, elevation, nearby living entities, specific blocks like fire ... Player temperature default value is 0, and slowly match the ambient temp given enough time. If player temp goes too high/low, you get debuff, or even die.

So how do we regulate player temp in hot/cold areas ? You can stick to other living entities or heat sources like fire to keep yourself warm. You can also dip into water and avoid the sun when it get hot to keep cool.

My biggest concern is to avoid the reliance on specific armor to handle extreme temperature. I want a system that is modular, and doesn't restrict the player choice of gear. This is what I have come up with : armor kits.

Armor kits are applied to any armor, they add NBT tags related to the heat mechanic. Some ideas :

Exploring very hot/cold planet would require all armor slots to be equipped with an advanced kit to not die. How to apply and remove kits is left to Rong, it's just details.

Other random ideas : bauble, enchants, potions ...

Rongmario commented 6 years ago

@Waisse Great ideas as mentioned in discord too, I'll try to implement.

I have refactored the part of the code to allow it to be temperature instead of warmth, that way it covers coldness as well as warmth and hotness. As well as this, I have set default temperature to 0C, so it is easier to identify as you've said.

Just finished working on the recipes and stuff for armor <-> heating/cooling pads.

Rongmario commented 6 years ago

Kits implementing right now, detecting what dimension a player is in also is implemented!

Rongmario commented 6 years ago

Half way (sorta, been on and off) implementing this through Tough As Nail, I thought the artwork looked better and it was readily available and easy to use API in. So I did that.

Rongmario commented 5 years ago

Coils will be crafted via the minituarization crafting, cooling/heating enchants will be crafted with the coils + book + xp bottles at the infusion thaumcraft crafting.

Rongmario commented 5 years ago

Working to make this dimension-based, with an easily toggle-able option.

Rongmario commented 4 years ago

Infernal mode for the nether (heat&climate config), you'd need active cooling to be in the nether.

Rongmario commented 4 years ago

13/10/2020 - Temperature System will be included in https://github.com/Rongmario/Dexterity!