Research:Player Craft Skills

From OpenMW Wiki
Revision as of 18:07, 3 September 2012 by Hrnchamd (talk | contribs) (Migrated Skills from Formulae page.)
(diff) ← Older revision | Latest revision (diff) | Newer revision → (diff)
Jump to navigation Jump to search

Enchanting

Actions affected On PC enchant attempt
Description
Implementation status
Analysis status Self-enchanting formula ignores fatigue and some GMSTs

Self-enchanting

for a constant effect item:

chance = Enchant + 0.125 * Intelligence + 0.25 * Luck - 5 * [enchantment points]
note: last term in above formula is solved for default GMSTs, full version is:
7.5/(fEnchantmentChanceMult*fEnchantmentConstantChanceMult) * [enchantment points]


Enchanted item recharge

Actions affected On soulgem use
Description Recharging with a filled soulgem. Uses common term fatigueTerm.
Implementation status
Analysis status Verified
luckTerm = 0.1 * luck
if luckTerm < 1 or luckTerm > 10: luckTerm = 1

intelligenceTerm = 0.2 * intelligence
if intelligenceTerm > 20: intelligenceTerm = 20
if intelligenceTerm < 1: intelligenceTerm = 1

x = (pcEnchant + intelligenceTerm + luckTerm) * fatigueTerm
roll 100, success if roll < x
on success restore charge: soulgem charge * (roll / x)


Comments

Recharging for most characters has a good chance of wasting a soul gem, as the enchant skill is the dominant term used for success. You would require enchant skill of over 65 with average stats to have a 100% success rate. The amount restored is a uniform random percentage of the soul gem, except if you have over a 100% success rate, in which case you will never get the full charge range out of a gem. The missing range increases as your skill does, but the lost charge is no more than 25% at the natural stat limit. Finally, note the strange luck term capping behaviour.


Armorer

Actions affected On using a repair item
Description
Implementation status
Analysis status Verified, but original contains bugs
fatigueTerm = fFatigueBase - fFatigueMult*(1 - normalisedFatigue)
where normalisedFatigue is a function of fatigue. empty fatigue bar -> 0.0, full fatigue bar -> 1.0

x = (0.1 * pcStrength + 0.1 * pcLuck + armorerSkill) / fatigueTerm
roll 100, if roll <= x then repair continues

y = int(fRepairAmountMult * hammerQuality * roll)
y = max(1, y)
repair item by y points


Comments

Bug in original game: Being more tired makes it easier to repair an item. The game should have multiplied by fatigueTerm instead of dividing by it.


Alchemy

Actions affected On potion creation
Description
Implementation status
Analysis status Fatigue is not accounted for; all alchemy GMSTs are not accounted for

Creating potions

Positive attributes:

duration = [(Alchemy + [(Intelligence + Luck) / 10]) / Cost] * quality_of_the_mortar
power = duration / 3

The cost is related to basic cost of effect.

Negative attributes:

  • Alembic reduces the time of negative effects:
duration_with_alembic = duration_without_alembic / ( 1 + quality_of_alembic)
  • Power of negative effects:
power = duration_with_alembic / 3


The image of a created potion is picked at random among the available.

It stays the same until one of the following things occur:

1. Change of quality or amount of any/all apparatus.

2. Adding or removing ingredients.

3. Any skill gain.

4. Loading a save.


Eating ingredients

Simply eating ingredients raw will improve your alchemy skill. (Though at 1/4 the rate of mixing potions.)


Eating has a chance to apply the first effect of an ingredient onto the player.

Duration = (magnitude * 2) + 1

Magnitude is a random value between 1 and max_magnitude.

Max_magnitude = floor(0.152 * Alch + 0.0158 * Luck + 0.0324 * Int)


The chance to fail is based on alchemy, intelligence and luck. The exact formula is to be determined.