Difference between revisions of "Category:Potion Strength"

1,187 bytes added ,  19:48, 8 February 2009
imported>Haama
(Added potion price info)
imported>Haama
 
(10 intermediate revisions by 2 users not shown)
Line 1: Line 1:
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 [http://www.uesp.net/wiki/Oblivion:Alchemy#Calculating_Potion_Strengths formulas found on UESP], and it might be easier to start there and look at the default formulas without game settings.
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 [http://www.uesp.net/wiki/Oblivion:Alchemy#Calculating_Potion_Strengths 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==
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:
#Effective Alchemy Skill Level - Alchemy modified by luck, as with all other skills
#Base Magnitude/Duration - Bonuses from the Mortar and Pestle
#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:
*[[GetActorValue]]
*[[GetBaseActorValue]]
*[[GetGameSetting]]
*[[GetApparatusType]] (OBSE)
*[[GetQuality]] (OBSE)
*[[GetMagicEffectBaseCost]] (OBSE)


==Effective Skill Level==
==Effective Skill Level==
Start by finding the [[Effective Skill Level]]. Note that Alchemy modifications like Fortify Alchemy won't change Effective Skill Level (but Luck modifications will as with every other skill).
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)
  Effective Skill Level = BaseAlchemySkill + [[iActorLuckSkillBase]] + ([[fActorLuckSkillMult]] * Luck)
This is capped to 100 by default, but there are mods that uncap it.
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==
==Figure out the effect type==
Line 26: Line 46:
Note that if the player is using a Mortar and Pestle only this is the Final Duration.
Note that if the player is using a Mortar and Pestle only this is the Final Duration.
===Now things get complicated===
===Now things get complicated===
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 detrimental (OBSE's [[IsMagicEffectDetrimental]]).
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 detrimental effects, and an Alembic only affects detrimental effects on potions.
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 detrimental effects yet another equation is used. This third equation applies to detrimental effects on ''poisons'' as well as potions, even though the Alembic has no other effect.
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 Detrimental Effects on a Poison, or a Retort alone for Detrimental Effects====
====Using an Alembic alone for Beneficial Effects or Hostile Effects on a Poison, or a Retort alone for Hostile Effects====
These have no effect on effect strength.
These have no effect on effect strength.
  Magnitude = BaseMag
  Magnitude = BaseMag
  Duration = BaseDur
  Duration = BaseDur
====Using a Calcinator alone for Beneficial Effects (Alembic ignored) or alone for Detrimental Effects (Retort ignored)====
====Using a Calcinator alone for Beneficial Effects (Alembic ignored) or alone for Hostile Effects (Retort ignored)====
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.
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 * <nowiki>[</nowiki>1 + (CalcQuality * [[fPotionT1CalMagMult]])<nowiki>]</nowiki>
  Magnitude = BaseMag * <nowiki>[</nowiki>1 + (CalcQuality * [[fPotionT1CalMagMult]])<nowiki>]</nowiki>
Line 42: Line 62:
  Magnitude = BaseMag * <nowiki>[</nowiki>1 + (RetortQuality * [[fPotionT1RetMagMult]])<nowiki>]</nowiki>
  Magnitude = BaseMag * <nowiki>[</nowiki>1 + (RetortQuality * [[fPotionT1RetMagMult]])<nowiki>]</nowiki>
  Duration = BaseDur * <nowiki>[</nowiki>1 + (RetortQuality * [[fPotionT1RetDurMult]])<nowiki>]</nowiki>
  Duration = BaseDur * <nowiki>[</nowiki>1 + (RetortQuality * [[fPotionT1RetDurMult]])<nowiki>]</nowiki>
====Using an Alembic alone for Detrimental Effects on Potions (Retort ingored)====
====Using an Alembic alone for Hostile Effects on Potions (Retort ingored)====
  Magnitude = BaseMag * <nowiki>[</nowiki>1 + (AlembicQuality * [[fPotionT1AleMagMult]])<nowiki>]</nowiki>
  Magnitude = BaseMag * <nowiki>[</nowiki>1 + (AlembicQuality * [[fPotionT1AleMagMult]])<nowiki>]</nowiki>
  Duration = BaseDur * <nowiki>[</nowiki>1 + (AlembicQuality * [[fPotionT1AleDurMult]])<nowiki>]</nowiki>
  Duration = BaseDur * <nowiki>[</nowiki>1 + (AlembicQuality * [[fPotionT1AleDurMult]])<nowiki>]</nowiki>
Line 49: Line 69:
  Magnitude = BaseMag * <nowiki>[</nowiki>1 + (CalcQuality * [[fPotionT1CalMagMult]] / ([[fMagicDurMagBaseCostMult]] * [[fPotionT1MagMult]])) + (RetortQual * [[fPotionT1RetMagMult]])<nowiki>]</nowiki>
  Magnitude = BaseMag * <nowiki>[</nowiki>1 + (CalcQuality * [[fPotionT1CalMagMult]] / ([[fMagicDurMagBaseCostMult]] * [[fPotionT1MagMult]])) + (RetortQual * [[fPotionT1RetMagMult]])<nowiki>]</nowiki>
  Duration = BaseDur * <nowiki>[</nowiki>1 + (CalcQuality * [[fPotionT1CalMagMult]] / ([[fMagicDurMagBaseCostMult]] * [[fPotionT1MagMult]])) + (RetortQual * [[fPotionT1RetDurMult]])<nowiki>]</nowiki>
  Duration = BaseDur * <nowiki>[</nowiki>1 + (CalcQuality * [[fPotionT1CalMagMult]] / ([[fMagicDurMagBaseCostMult]] * [[fPotionT1MagMult]])) + (RetortQual * [[fPotionT1RetDurMult]])<nowiki>]</nowiki>
====Using a Calcinator and Alembic for Detrimental Effects on Poisons (Retort ignored)====
====Using a Calcinator and Alembic for Hostile Effects on Poisons (Retort ignored)====
An alembic has no direct effect on the strength of the effect, but it does change the formula to
An alembic has no direct effect on the strength of the effect, but it does change the formula to
  Magnitude = BaseMag * <nowiki>[</nowiki>1 + (CalcQuality * [[fPotionT1CalMagMult]])<nowiki>]</nowiki> * <nowiki>[</nowiki>1 + (CalcQuality * [[fPotionT1CalMagMult]])<nowiki>]</nowiki>
  Magnitude = BaseMag * <nowiki>[</nowiki>1 + (CalcQuality * [[fPotionT1CalMagMult]])<nowiki>]</nowiki> * <nowiki>[</nowiki>1 + (CalcQuality * [[fPotionT1CalMagMult]])<nowiki>]</nowiki>
  Duration = BaseDur * <nowiki>[</nowiki>1 + (CalcQuality * [[fPotionT1CalMagMult]])<nowiki>]</nowiki> * <nowiki>[</nowiki>1 + (CalcQuality * [[fPotionT1CalMagMult]])<nowiki>]</nowiki>
  Duration = BaseDur * <nowiki>[</nowiki>1 + (CalcQuality * [[fPotionT1CalMagMult]])<nowiki>]</nowiki> * <nowiki>[</nowiki>1 + (CalcQuality * [[fPotionT1CalMagMult]])<nowiki>]</nowiki>
====Using a Calcinator and Alembic for Detrimental Effects on Potions (Retort ignored)====
====Using a Calcinator and Alembic for Hostile Effects on Potions (Retort ignored)====
As with poisons, the equation is changed. This time, though, the Alembic has a more direct effect on the effect's strength.
As with poisons, the equation is changed. This time, though, the Alembic has a more direct effect on the effect's strength.
  Magnitude = BaseMag * <nowiki>[</nowiki>1 + (CalcQuality * [[fPotionT1CalMagMult]])<nowiki>]</nowiki> * <nowiki>[</nowiki>1 + (CalcQuality * [[fPotionT1CalMagMult]]) - (AlembicQuality * [[fPotionT1AleMagMult]])<nowiki>]</nowiki>
  Magnitude = BaseMag * <nowiki>[</nowiki>1 + (CalcQuality * [[fPotionT1CalMagMult]])<nowiki>]</nowiki> * <nowiki>[</nowiki>1 + (CalcQuality * [[fPotionT1CalMagMult]]) - (AlembicQuality * [[fPotionT1AleMagMult]])<nowiki>]</nowiki>
Line 64: Line 84:
Note that if the player is using a Mortar and Pestle only this is the final Duration.
Note that if the player is using a Mortar and Pestle only this is the final Duration.
===Applying other Apparatuses===
===Applying other Apparatuses===
Again, Retorts only work on Beneficial effects and Alembics only work on Detrimental effects on potions. Unlike Type 1 effects, the apparatuses' effects are strictly additive, and the formula doesn't change.
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)====
====Beneficial Effects (Alembic ignored)====
  Duration = BaseDur * <nowiki>[</nowiki>1 + (CalcQuality * [[fPotionT2CalDurMult]]) + (RetortQuality * [[fPotionT2RetDurMult]])<nowiki>]</nowiki>
  Duration = BaseDur * <nowiki>[</nowiki>1 + (CalcQuality * [[fPotionT2CalDurMult]]) + (RetortQuality * [[fPotionT2RetDurMult]])<nowiki>]</nowiki>
====Detrimental Effects on Potions (Retort ignored)====
====Hostile Effects on Potions (Retort ignored)====
  Duration = BaseDur * <nowiki>[</nowiki>1 + (CalcQuality * [[fPotionT2CalDurMult]]) + (AlembicQuality * [[fPotionT2AleDurMult]])<nowiki>]</nowiki>
  Duration = BaseDur * <nowiki>[</nowiki>1 + (CalcQuality * [[fPotionT2CalDurMult]]) + (AlembicQuality * [[fPotionT2AleDurMult]])<nowiki>]</nowiki>
====Detrimental Effects on Poisons (Alembic and Retort ignored)====
====Hostile Effects on Poisons (Alembic and Retort ignored)====
  Duration = BaseDur * <nowiki>[</nowiki>1 + (CalcQuality * [[fPotionT2CalDurMult]])<nowiki>]</nowiki>
  Duration = BaseDur * <nowiki>[</nowiki>1 + (CalcQuality * [[fPotionT2CalDurMult]])<nowiki>]</nowiki>
==Type 3 Effects==
==Type 3 Effects==
Line 75: Line 95:
===Base Magnitude===
===Base Magnitude===
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 [http://www.uesp.net/wiki/Oblivion:Magical_Effects UESP], or via script with OBSE's [[GetMagicEffectBaseCost]].
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 [http://www.uesp.net/wiki/Oblivion:Magical_Effects UESP], or via script with OBSE's [[GetMagicEffectBaseCost]].
  Base Magnitude = <nowiki>[</nowiki>(EffectiveSkillLevel + MortQuality * [[fPotionMortPestleMult]]) / (EffectBaseCost / [[fMagicDurMagBaseCostMult]])<nowiki>]</nowiki> ^ <nowiki>[</nowiki>1 / ([[fMagicCostScale]])<nowiki>]</nowiki>
  Base Magnitude = <nowiki>[</nowiki>(EffectiveSkillLevel + MortQuality * [[fPotionMortPestleMult]]) / (EffectBaseCost * [[fMagicDurMagBaseCostMult]])<nowiki>]</nowiki> ^ <nowiki>[</nowiki>1 / ([[fMagicCostScale]])<nowiki>]</nowiki>
Note that if the player is using a Mortar and Pestle only this is the final Duration.
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...===
===Probably complicated, but since Dispel is the only vanilla effect...===
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.
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) or alone for Detrimental Effects (Retort ignored)====
====Using a Calcinator alone (for Beneficial Effects; Alembic ignored)====
  Magnitude = BaseMag * <nowiki>[</nowiki>1 + (CalcQuality * [[fPotionT3CalMagMult]])<nowiki>]</nowiki>
  Magnitude = BaseMag * <nowiki>[</nowiki>1 + (CalcQuality * [[fPotionT3CalMagMult]])<nowiki>]</nowiki>
====Using a Retort alone (for Beneficial Effects; Alembic ignored)====
====Using a Retort alone (for Beneficial Effects; Alembic ignored)====
  Magnitude = BaseMag * <nowiki>[</nowiki>1 + (RetortQuality * [[fPotionT3RetMagMult]])<nowiki>]</nowiki>
  Magnitude = BaseMag * <nowiki>[</nowiki>1 + (RetortQuality * [[fPotionT3RetMagMult]])<nowiki>]</nowiki>
Line 88: Line 109:
  Magnitude = BaseMag * <nowiki>[</nowiki>1 + (CalcQuality * [[fPotionT3CalMagMult]]) * (RetortQuality * [[fPotionT3RetMagMult]])<nowiki>]</nowiki>
  Magnitude = BaseMag * <nowiki>[</nowiki>1 + (CalcQuality * [[fPotionT3CalMagMult]]) * (RetortQuality * [[fPotionT3RetMagMult]])<nowiki>]</nowiki>
==Potion Price==
==Potion Price==
  Price = (EffectiveSkillLevel + MortQuality * [[fPotionMortPestleMult]]) * [[fPotionGoldValueMult)
  Price = (EffectiveSkillLevel + MortQuality * [[fPotionMortPestleMult]]) * [[fPotionGoldValueMult]])


<div><span style="font-size: 142%; font-weight: bold;">Articles in category "Spell Cost"</span></div>
<div><span style="font-size: 142%; font-weight: bold;">Articles in category "Spell Cost"</span></div>
Line 108: Line 129:
|<li type="square">[[FPotionGoldValueMult]]
|<li type="square">[[FPotionGoldValueMult]]
|-
|-
|
|<li type="square">[[FPotionMortPestleMult]]
|<li type="square">[[FPotionMortPestleMult]]
|
|
|
|<li type="square">[[FPotionT1AleDurMult]]
|<li type="square">[[FPotionT1AleDurMult]]
Line 115: Line 136:
|<li type="square">[[FPotionT1AleMagMult]]
|<li type="square">[[FPotionT1AleMagMult]]
|-
|-
|
|<li type="square">[[FPotionT1CalMagMult]]
|<li type="square">[[FPotionT1CalMagMult]]
|
|
|
|<li type="square">[[FPotionT1RetDurMult]]
|<li type="square">[[FPotionT1RetDurMult]]
Line 122: Line 143:
|<li type="square">[[FPotionT1RetMagMult]]
|<li type="square">[[FPotionT1RetMagMult]]
|-
|-
|
|<li type="square">[[FPotionT2AleDurMult]]
|<li type="square">[[FPotionT2AleDurMult]]
|
|
|
|<li type="square">[[FPotionT2CalDurMult]]
|<li type="square">[[FPotionT2CalDurMult]]
Line 129: Line 150:
|<li type="square">[[FPotionT2RetDurMult]]
|<li type="square">[[FPotionT2RetDurMult]]
|-
|-
|
|<li type="square">[[FPotionT3AleMagMult]]
|<li type="square">[[FPotionT3AleMagMult]]
|
|
|
|<li type="square">[[FPotionT3CalMagMult]]
|<li type="square">[[FPotionT3CalMagMult]]
Anonymous user