Daggerfall Mod:Daggerfall Unity/Bible/Climbing
Daggerfall Unity: Climbing[edit]
Climbing is both one of the player's skills and a mode of locomotion. Climb speed is equal to the player's base walk speed, divided by 3. Climbing speed is multiplied by 2 if the player has the Climbing effect active.
The probability of success in a Climbing skill check is calculated as follows:
int skill = player.Skills.GetLiveSkillValue(DFCareer.Skills.Climbing); int luck = player.Stats.GetLiveStatValue(DFCareer.Stats.Luck); if (player.Race == Races.Khajiit) skill += 30; if (player.IsEnhancedClimbing) skill *= 2; skill = Mathf.Clamp(skill, 5, 95); float luckFactor = Mathf.Lerp(0, 10, luck * 0.01f); int chance = (int) (Mathf.Lerp(basePercentSuccess, 100, skill * .01f) + luckFactor);
luckFactor will be equal to the player's Luck attribute divided by 10. chance is equal to floor(basePercentSuccess + ((100-basePercentSuccess)*skill*0.01) + luckFactor). The minimum probability of success is equal to basePercentSuccess, and the maximum is 100%. Since skill is clamped to 95, no matter the player's Climbing level, guaranteeing continuous climbing requires Luck 10 at a minimum.
The value of basePercentSuccess depends on the context when the skill is checked.
- If the player is not currently climbing and is not already falling, the base chance is 70. Passing this check starts climbing.
- If the player is not currently climbing but is falling, the base chance is 40. Passing this check starts climbing.
- If the player is currently climbing and not slipping, the base chance is 50. Failing this check starts slipping.
- If the player is currently slipping, the base chance is 20. Failing this check continues slipping.
When the player is slipping, they will fall downwards. When the player is climbing, the skill check will be called about every 0.82 seconds, and when the player is slipping and trying to re-start climbing, the skill check will be called about every 0.275 seconds.
Todo: Add content about advanced climbing?