The Frostfall Dev Kit includes FrostUtil, the same function library used by Frostfall to gather information about the player, their surroundings, and do things like get and set the player’s exposure and wetness. Using FrostUtil, you can ensure a deep level of compatibility with Frostfall without requiring Frostfall as a master file. See the Frostfall Dev Kit page for more info.
Adding Warmth and Coverage to Armor
You can provide your armor with out-of-the-box Warmth and Coverage for Frostfall, without requiring Frostfall as a dependency.
The only tools required is the Creation Kit and TES5Edit; no code or Frostfall Dev Kit necessary.
Please see the Armor Compatibility page for a complete tutorial.
Injected Forms (Campfire)
Campfire defines two injected records that you can include in your own mod to quickly and easily create invisible heat sources for the player. These heat sources work under all conditions, inside or out. These are useful for adding heat to things like outdoor hotsprings.
Duplicate the XMarker Static and change their FormIDs in your plug-in using TES5Edit to match the values listed below. Then, simply place them in your environment and Frostfall will recognize them.
These heatsources count as “non-fire” heat sources, meaning, they will warm the player, but not allow the Cooking Pot to cook food near them, and the player will not trigger the hand-warming animation.
FormID |
Type |
Editor ID |
Description |
---|---|---|---|
01CC0E09 | Static (use XMarker duplicate) |
CampfireHeatsourceOverrideNormal | An invisible, placeable heat source. Warms the player to "Comfortable" under any condition. Has a range of 450 units. |
01CC0E0A | Static (use XMarker duplicate) | CampfireHeatsourceOverrideWarm | An invisible, placeable heat source. Warms the player to "Warm" under any condition. Has a range of 450 units. |
Injected Forms (Frostfall)
Frostfall includes the following injected forms that you can include in your own mod, and use them for things like condition functions. Use TES5Edit to set your forms the FormIDs shown below.
Setting values on any of the globals listed below will not change any behavior in the game; they are read-only duplicates of the “real” globals that Frostfall uses for gameplay. If you set a value on them, the value will simply be overwritten later when the real value changes.
If you want to actually set the value of things like Exposure and Wetness from a script, please use FrostUtil. This will ensure that the change passes through the proper channels and propagates up to the UI (meters, etc) as intended.
FormID |
Type |
Editor ID |
Description |
---|---|---|---|
01CC0E01 | GlobalVariable |
FrostfallAttributeCoverageReadOnly | The player’s current total Coverage value, as displayed in the game. |
01CC0E02 | GlobalVariable | FrostfallAttributeWarmthReadOnly | The player’s current total Warmth value, as displayed in the game. |
01CC0E03 | GlobalVariable | FrostfallAttributeExposureReadOnly | The player’s current Exposure value. Ranges from 0 (Completely Warm) to 120 (maximum). Note that this is different from the values displayed in-game (which range from “+20” to 100). |
01CC0E04 | GlobalVariable | FrostfallAttributeWetnessReadOnly | The player’s current Wetness value. Ranges from 0 to 750. Note that this is different from the values displayed in the game (which range from 0% to 100%). |
01CC0E05 | GlobalVariable | FrostfallWetLevelReadOnly | The player’s current “wetness level”. 0 = Completely Dry 1 = Damp 2 = Wet 3 = Drenched |
01CC0E06 | GlobalVariable | FrostfallExposureLevelReadOnly | The player’s current “exposure level”. -1 = Completely Warm 0 = Warm 1 = Comfortable 2 = Chilly 3 = Very Cold 4 = Freezing 5 = Freezing to Death |
01CC0E07 | GlobalVariable | FrostfallCurrentTemperatureReadOnly | The current climate temperature. Roughly corresponds to degrees Celsius. 10 = Temperate, and does not result in exposure change. Values above 10 will warm the player slowly. Values below 10 will increase the player’s exposure. In general, ranges from -25 (Blizzard) to 20 (Bright, clear day in Falkreath). |
01CC0E08 | Keyword | FrostfallWarmFoodDrinkKeyword | Attach this keyword to a Food object (not a MagicEffect) and that food will be treated by Frostfall as a food / drink that grants a Warmth bonus. |