NoMansSky:Reference Guides/HazardTable: Difference between revisions
From Step Mods | Change The Game
Line 213: | Line 213: | ||
Depletion speed is based on the current planet exposition value, either temperature, radioactivity or toxicity value (ie, 70°C, -60°C, 80 rad, 90 tox).<br> | Depletion speed is based on the current planet exposition value, either temperature, radioactivity or toxicity value (ie, 70°C, -60°C, 80 rad, 90 tox).<br> | ||
We can note 3 cases : | We can note 3 cases : | ||
* If Exposition is below or equal the TriggerValue. Here | * If Exposition is below or equal the TriggerValue. Here ProtectionTime.x applies. | ||
* If exposition value is over CapValue, here ProtectionTime.x applies | |||
* If exposition value is between TriggerValue and CapValue, a linear interpolation is applied to get the current depletion speed. | |||
{{NMSPageClose}} | {{NMSPageClose}} | ||
[[Category:No Man's Sky]][[Category:NMS-Reference]][[Category:NMS-Reference-MBIN]] | [[Category:No Man's Sky]][[Category:NMS-Reference]][[Category:NMS-Reference-MBIN]] |
Revision as of 13:10, August 22, 2020
Hazard Table
Handles the environmental hazards that affect the player/suit. This currently includes: No hazards, no oxygen, extreme cold and heat, radiation, and toxic gas.
HAZARDTABLE | |
---|---|
File Suffix: | MBIN |
Template Name: | GcPlayerHazardData |
Directory: | METADATA/SIMULATION/ENVIRONMENT/ |
Knowledge State: | Partially Understood |
Summary: | Handles the environmental hazards. |
Data Structure
The following is the completed structure of a single entry in the HazardTable.
<Property name="NoOxygen" value="GcPlayerHazardData.xml"> <Property name="ProtectionInitialTime" value="10" /> Time in seconds before starting depleting protection charge <Property name="ProtectionTime" value="Vector2f.xml"> <Property name="x" value="90" /> Time in seconds to deplete an amount of 100 protection charges below TriggerValue <Property name="y" value="90" /> Time in seconds to deplete an amount of 100 protection charges over CapValue </Property> <Property name="DamageRate" value="Vector2f.xml"> <Property name="x" value="10" /> <Property name="y" value="10" /> </Property> <Property name="WoundRate" value="Vector2f.xml"> <Property name="x" value="10" /> <Property name="y" value="10" /> </Property> <Property name="RechargeInitialTime" value="1" /> Time in seconds before starting replenishing protection charge <Property name="RechargeTime" value="10" /> Time in seconds to replenish 100 protection charges <Property name="Damage" value="NOOXYDAMAGE" /> Type of damages if protection falls to 0 <Property name="Increases" value="False" /> Unknown but could increase damages if exposition is over CapValue <Property name="Curve" value="TkCurveType.xml"> <Property name="Curve" value="Linear" /> Interpolation formula to compute depletion rate if exposition is between TriggerValue and CapValue </Property> <Property name="TriggerValue" value="0.5" /> Under this value, depletion rate is described by ProtectionTime.x <Property name="CapValue" value="1" /> Over this value, depletion rate is described by ProtectionTime.y <Property name="CriticalValue" value="1" /> Notification trigger <Property name="OutputMultiplier" value="1" /> <Property name="OutputMinAddition" value="0" /> <Property name="OutputMaxAddition" value="0" /> </Property>
Structure Details
Entry Start
<Property name="NoOxygen" value="GcPlayerHazardData.xml">
- Name
- The name of the hazard. In this case, NoOxygen, refers to running out of air.
- Value
- This is the template that holds the variables used within each segment.
ProtectionInitialTime
Variable: | float |
Description: | Unknown |
Defined: | <Property name="ProtectionInitialTime" value="10" />
|
ProtectionTime
Variable: | Defined as Vector2f in the GcPlayerHazardData.xml template. Vector2f carries two float variables as such: vector2f(x,y). |
Description: | Controls the amount of protection the player has before taking damage. |
Defined: | <Property name="ProtectionTime" value="Vector2f.xml"> <Property name="x" value="90" /> <Property name="y" value="90" /> </Property> |
DamageRate
Variable: | Defined as Vector2f in the GcPlayerHazardData.xml template. Vector2f carries two float variables as such: vector2f(x,y). |
Description: | Controls the rate of damage done by the hazard to shields. |
Defined: | <Property name="DamageRate" value="Vector2f.xml"> <Property name="x" value="10" /> <Property name="y" value="10" /> </Property> |
WoundRate
Variable: | Defined as Vector2f in the GcPlayerHazardData.xml template. Vector2f carries two float variables as such: vector2f(x,y). |
Description: | Controls the rate of damage done by the hazard to life support. Needs to be confirmed |
Defined: | <Property name="WoundRate" value="Vector2f.xml"> <Property name="x" value="10" /> <Property name="y" value="10" /> </Property> |
RechargeInitialTime
Variable: | float |
Description: | Unknown |
Defined: | <Property name="RechargeInitialTime" value="1" />
|
RechargeTime
Variable: | float |
Description: | Time it takes to recharge protection once hazard is cleared. |
Defined: | <Property name="RechargeTime" value="10" />
|
Damage
Variable: | string |
Description: | Defines the type of damage taken. Types of damages are in turn determined by the GcPlayerHazardType template. |
Defined: | <Property name="Damage" value="NOOXYDAMAGE" />
|
Increases
Variable: | bool |
Description: | Unknown. This is set to "False" in all entries besides the "no hazard" entry, where it's set to "True". |
Defined: | <Property name="Increases" value="False" />
|
Curve
Variable: | Defined as TkCurveType in the GcPlayerHazardData.xml template. Uses the Linear curve. |
Description: | Unknown |
Defined: | <Property name="Curve" value="TkCurveType.xml"> <Property name="Curve" value="Linear" /> </Property> |
TriggerValue
Variable: | float |
Description: | Determines when the hazard will be triggered. |
Defined: | <Property name="TriggerValue" value="0.5" />
|
CapValue
Variable: | float |
Description: | Unknown |
Defined: | <Property name="CapValue" value="1" />
|
CriticalValue
Variable: | float |
Description: | Unknown |
Defined: | <Property name="CriticalValue" value="1" />
|
OutputMultiplier
Variable: | float |
Description: | Unknown |
Defined: | <Property name="OutputMultiplier" value="1" />
|
OutputMinAddition
Variable: | float |
Description: | Unknown |
Defined: | <Property name="OutputMinAddition" value="0" />
|
OutputMaxAddition
Variable: | float |
Description: | Unknown |
Defined: | <Property name="OutputMaxAddition" value="0" />
|
Computing times
Thanks to Ket who worked a lot on hazards, we better know how depletion speed is computed.
Depletion speed is based on the current planet exposition value, either temperature, radioactivity or toxicity value (ie, 70°C, -60°C, 80 rad, 90 tox).
We can note 3 cases :
- If Exposition is below or equal the TriggerValue. Here ProtectionTime.x applies.
- If exposition value is over CapValue, here ProtectionTime.x applies
- If exposition value is between TriggerValue and CapValue, a linear interpolation is applied to get the current depletion speed.