Enchanting: use fEnchantmentConstantDurationMult and fEffectCostMult

openmw-35
scrawl 10 years ago
parent 871d59de6c
commit cda2eea906

@ -176,23 +176,25 @@ namespace MWMechanics
int magMax = (it->mMagnMax == 0) ? 1 : it->mMagnMax; int magMax = (it->mMagnMax == 0) ? 1 : it->mMagnMax;
int area = (it->mArea == 0) ? 1 : it->mArea; int area = (it->mArea == 0) ? 1 : it->mArea;
float magnitudeCost = 0; float magnitudeCost = (magMin + magMax) * baseCost * 0.05;
if (mCastStyle == ESM::Enchantment::ConstantEffect) if (mCastStyle == ESM::Enchantment::ConstantEffect)
{ {
magnitudeCost = (magMin + magMax) * baseCost * 2.5; magnitudeCost *= store.get<ESM::GameSetting>().find("fEnchantmentConstantDurationMult")->getFloat();
} }
else else
{ {
magnitudeCost = (magMin + magMax) * it->mDuration * baseCost * 0.025; magnitudeCost *= it->mDuration;
if(it->mRange == ESM::RT_Target) if(it->mRange == ESM::RT_Target)
magnitudeCost *= 1.5; magnitudeCost *= 1.5;
} }
float areaCost = area * 0.025 * baseCost; float areaCost = area * 0.05 * baseCost;
if (it->mRange == ESM::RT_Target) if (it->mRange == ESM::RT_Target)
areaCost *= 1.5; areaCost *= 1.5;
enchantmentCost += (magnitudeCost + areaCost) * effectsLeftCnt; const float fEffectCostMult = store.get<ESM::GameSetting>().find("fEffectCostMult")->getFloat();
enchantmentCost += (magnitudeCost + areaCost) * fEffectCostMult * effectsLeftCnt;
--effectsLeftCnt; --effectsLeftCnt;
} }

Loading…
Cancel
Save