Category:Potion Strength

From the Oblivion ConstructionSet Wiki
Jump to navigation Jump to search

Each effect of a player-created potion is determined individually. The formula changes depending on what apparatuses the player uses, whether they're creating a potion or poison, and the effect itself. To make things easier it has been broken down into several pieces. These are all based on formulas found on UESP, and it might be easier to start there and look at the default formulas without game settings.

The functions below run off the screen. We are trying to get some new LaTeX functions added to the wiki to hopefully take care of this. If anyone knows another way to fix them... Until then you can highlight them to see all of the function.

Background[edit | edit source]

The formula is used on each effect of the potion individually. The formula actually has many variations, but they follow a bit of a pattern that can be broken down into 3 steps:

  1. Effective Alchemy Skill Level - Alchemy modified by luck, as with all other skills
  2. Base Magnitude/Duration - Bonuses from the Mortar and Pestle
  3. Final Magnitude/Duration - Bonuses from the other apparatuses
    • This is the same as Base magnitude/Duration if the player is only using a Mortar and Pestle, or the other apparatuses don't affect the effect's potency
      • Calcinators affect everything.
      • Retorts only affect beneficial effects.
      • Alembics only affect hostile effects on potions.

If you're trying to script this, there are several functions that you'll need:

Effective Skill Level[edit | edit source]

Start by finding the Effective Skill Level. Unlike other skills, Alchemy modifications (i.e., Fortify Alchemy) aren't counted and you should use the base Alchemy skill level. For Luck, the final/modified Luck should be used.

Effective Skill Level = BaseAlchemySkill + iActorLuckSkillBase + (fActorLuckSkillMult * Luck)

This is capped to 100 by default, but it may be possible for future mods to increase or remove the cap. It also has a minimum of 0.

Figure out the effect type[edit | edit source]

The next step depends on the effect type. There are three types of effects: Type 1 has both magnitude and duration(i.e., Restore Health), Type 2 has only duration (i.e., NightEye, Silence), and Type 3 has only magnitude (i.e., Dispel). If this is your first time with these equations, I suggest starting with Type 2 as it is the easiest to understand.

Generalities[edit | edit source]

All final Magnitudes/Durations will be rounded. If the final Magnitude/Duration is below 1, it will be set to 1.

Effect Base Cost = 0[edit | edit source]

If the effect has a Base Cost of 0 (i.e., Script Effect) their magnitude/duration will be 1.

Type 1 Effects[edit | edit source]

There are 2 steps in each equation for magnitude and duration. The first step depends only on the effect's Base Cost, the strength of the Mortar and Pestle, and a few game settings. If the player uses other apparatuses a second, more complicated step is required.

Base Magnitude[edit | edit source]

You can find the quality of the Mortar and Pestle in the CS (see Apparatus for more information and a list of default values) or via script with OBSE's GetQuality. Effect Base Costs can be found under Magic Effects, on UESP, or via script with OBSE's GetMagicEffectBaseCost.

Base Magnitude = [(EffectiveSkillLevel + MortQuality * fPotionMortPestleMult) / (EffectBaseCost / fPotionT1MagMult)] ^ [1 / (1 + fMagicCostScale)]

Note that if the player is using a Mortar and Pestle only this is the final Magnitude.

Base Duration[edit | edit source]

This is derived from Base Magnitude

Base Duration = BaseMag / (fPotionT1MagMult * fMagicDurMagBaseCostMult)

Note that if the player is using a Mortar and Pestle only this is the Final Duration.

Now things get complicated[edit | edit source]

The formula here depends on the equipment the player uses (OBSE's GetApparatusType), whether it's a potion or poison (OBSE's IsPoison), and whether the effect is beneficial (i.e., Restore Health) or hostile (OBSE's IsMagicEffectHostile and IsNthEffectItemScriptHostile).

If the player uses a Calcinator, Retort, or Alembic alone with the Mortar and Pestle the equations are straight forward. Remember that a Retort has no effect on hostile effects, and an Alembic only affects hostile effects on potions.

However, if the player uses a Calcinator and Retort for beneficial effects a different equation is used. Also, if the player uses an Calcinator and Alembic together for hostile effects yet another equation is used. This third equation applies to hostile effects on poisons as well as potions, even though the Alembic has no other effect.

Using an Alembic alone for Beneficial Effects or Hostile Effects on a Poison, or a Retort alone for Hostile Effects[edit | edit source]

These have no effect on effect strength.

Magnitude = BaseMag
Duration = BaseDur

Using a Calcinator alone for Beneficial Effects (Alembic ignored) or alone for Hostile Effects (Retort ignored)[edit | edit source]

You might notice that both magnitude and duration use fPotionT1CalMagMult. That is not a mistake. fPotionT1CalDurMult has no effect on potion strength while fPotionT1CalMagMult does affect the effect's duration.

Magnitude = BaseMag * [1 + (CalcQuality * fPotionT1CalMagMult)]
Duration = BaseDur * [1 + (CalcQuality * fPotionT1CalMagMult)]

Using a Retort alone for Beneficial Effects (Alembic ignored)[edit | edit source]

Magnitude = BaseMag * [1 + (RetortQuality * fPotionT1RetMagMult)]
Duration = BaseDur * [1 + (RetortQuality * fPotionT1RetDurMult)]

Using an Alembic alone for Hostile Effects on Potions (Retort ingored)[edit | edit source]

Magnitude = BaseMag * [1 + (AlembicQuality * fPotionT1AleMagMult)]
Duration = BaseDur * [1 + (AlembicQuality * fPotionT1AleDurMult)]

Using a Calcinator and Retort for Beneficial Effects (Alembic ignored)[edit | edit source]

In this case, two extra game settings change the strength of the Calcinator effect. They are not simply additions of the Calcinator and Retort effects.

Magnitude = BaseMag * [1 + (CalcQuality * fPotionT1CalMagMult / (fMagicDurMagBaseCostMult * fPotionT1MagMult)) + (RetortQual * fPotionT1RetMagMult)]
Duration = BaseDur * [1 + (CalcQuality * fPotionT1CalMagMult / (fMagicDurMagBaseCostMult * fPotionT1MagMult)) + (RetortQual * fPotionT1RetDurMult)]

Using a Calcinator and Alembic for Hostile Effects on Poisons (Retort ignored)[edit | edit source]

An alembic has no direct effect on the strength of the effect, but it does change the formula to

Magnitude = BaseMag * [1 + (CalcQuality * fPotionT1CalMagMult)] * [1 + (CalcQuality * fPotionT1CalMagMult)]
Duration = BaseDur * [1 + (CalcQuality * fPotionT1CalMagMult)] * [1 + (CalcQuality * fPotionT1CalMagMult)]

Using a Calcinator and Alembic for Hostile Effects on Potions (Retort ignored)[edit | edit source]

As with poisons, the equation is changed. This time, though, the Alembic has a more direct effect on the effect's strength.

Magnitude = BaseMag * [1 + (CalcQuality * fPotionT1CalMagMult)] * [1 + (CalcQuality * fPotionT1CalMagMult) - (AlembicQuality * fPotionT1AleMagMult)]
Duration = BaseDur * [1 + (CalcQuality * fPotionT1CalMagMult)] * [1 + (CalcQuality * fPotionT1CalMagMult) - (AlembicQuality * fPotionT1AleDurMult)]

Type 2 Effects[edit | edit source]

Again, there are 2 steps in to determine the effect's duration. The first step depends only on the effect's Base Cost, the strength of the Mortar and Pestle, and a few game settings. If the player uses other apparatuses a second step is required (but it's much easier than Type 1's second step).

Base Duration[edit | edit source]

You can find the quality of the Mortar and Pestle in the CS (see Apparatus for more information and a list of default values) or via script with OBSE's GetQuality. Effect Base Costs can be found under Magic Effects, on UESP, or via script with OBSE's GetMagicEffectBaseCost.

Base Duration = (EffectiveSkillLevel + MortQuality * fPotionMortPestleMult) / (EffectBaseCost * fMagicDurMagBaseCostMult)

Note that if the player is using a Mortar and Pestle only this is the final Duration.

Applying other Apparatuses[edit | edit source]

Again, Retorts only work on Beneficial effects and Alembics only work on Hostile effects on potions. Unlike Type 1 effects, the apparatuses' effects are strictly additive, and the formula doesn't change.

Beneficial Effects (Alembic ignored)[edit | edit source]

Duration = BaseDur * [1 + (CalcQuality * fPotionT2CalDurMult) + (RetortQuality * fPotionT2RetDurMult)]

Hostile Effects on Potions (Retort ignored)[edit | edit source]

Duration = BaseDur * [1 + (CalcQuality * fPotionT2CalDurMult) + (AlembicQuality * fPotionT2AleDurMult)]

Hostile Effects on Poisons (Alembic and Retort ignored)[edit | edit source]

Duration = BaseDur * [1 + (CalcQuality * fPotionT2CalDurMult)]

Type 3 Effects[edit | edit source]

Again, there are 2 steps in to determine the effect's duration. The first step depends only on the effect's Base Cost, the strength of the Mortar and Pestle, and a few game settings. If the player uses other apparatuses a second step, more complicated step is required (but it's much easier than Type 1's second step).

Base Magnitude[edit | edit source]

This is very similar to the Type 1 formula, but it is not the same. You can find the quality of the Mortar and Pestle in the CS (see Apparatus for more information and a list of default values) or via script with OBSE's GetQuality. Effect Base Costs can be found under Magic Effects, on UESP, or via script with OBSE's GetMagicEffectBaseCost.

Base Magnitude = [(EffectiveSkillLevel + MortQuality * fPotionMortPestleMult) / (EffectBaseCost * fMagicDurMagBaseCostMult)] ^ [1 / (fMagicCostScale)]

Note that if the player is using a Mortar and Pestle only this is the final Duration.

Probably complicated, but since Dispel is the only vanilla effect...[edit | edit source]

This type has not been as throughly researched. The second step formula again depends on whether you use a Calcinator with a Retort. There might be other complications, but since Dispel is a Beneficial effect there is only information on Beneficial effects.

Using a Calcinator alone (for Beneficial Effects; Alembic ignored)[edit | edit source]

Magnitude = BaseMag * [1 + (CalcQuality * fPotionT3CalMagMult)]

Using a Retort alone (for Beneficial Effects; Alembic ignored)[edit | edit source]

Magnitude = BaseMag * [1 + (RetortQuality * fPotionT3RetMagMult)]

Using a Calcinator and Retort (for Beneficial Effects; Alembic ignored)[edit | edit source]

Here the Calcinator and Retort effects are multiplied rather than added to each other. Since this makes the resulting effect weaker, this is probably a mistkae.

Magnitude = BaseMag * [1 + (CalcQuality * fPotionT3CalMagMult) * (RetortQuality * fPotionT3RetMagMult)]

Potion Price[edit | edit source]

Price = (EffectiveSkillLevel + MortQuality * fPotionMortPestleMult) * fPotionGoldValueMult)
Articles in category "Spell Cost"

There are 14 articles in this category.

F F cont. F cont.
  • FMagicCostScale
  • FMagicDurMagBaseCostMult
  • FPotionGoldValueMult
  • FPotionMortPestleMult
  • FPotionT1AleDurMult
  • FPotionT1AleMagMult
  • FPotionT1CalMagMult
  • FPotionT1RetDurMult
  • FPotionT1RetMagMult
  • FPotionT2AleDurMult
  • FPotionT2CalDurMult
  • FPotionT2RetDurMult
  • FPotionT3AleMagMult
  • FPotionT3CalMagMult
  • FPotionT3RetMagMult
  • This category currently contains no pages or media.