×
Меню
Индекс
 

fEnchantmentChanceMult

 
ТРЕБУЕТ ПРОВЕРКИ
 
fEnchantmentChanceMult - определяет множитель шанса успеха при создании предметов с эффектами.
 
Значение по умолчанию: 3
 
Известная формула:
 
Enchant Chance = ((pcEnchantSkill + INT * 0.2 + LUC * 0.1) - (fEffectCostMult * fEnchantmentChanceMult)).
 
pcEnchantSkill - навык зачарования
INT - интеллект
LUC - удача
fEffectCostMult - итоговая стоимость
 
Так же есть фрагмет кода из OpenMW
 
y = 0
z = [ ]
enchantPoints = 0
 
for each effect in enchantment:
    if enchantment is constant effect:
        if effect.magnitudeMin > 1 or effect.magnitudeMax > 1 or effect.radius > 1:
            effect.duration = int(fEnchantmentConstantDurationMult)
        else:
            effect.duration = 100
 
    x = 0.5 * (max(1, effect.magnitudeMin) + max(1, effect.magnitudeMax))
    x *= 0.1 * effect.magicEffect.baseMagickaCost
    x *= effect.duration     # note difference from spellmaking
    x += 0.05 * max(1, spell.radius) * effect.magicEffect.baseMagickaCost
 
    y += x * fEffectCostMult
    y = max(1, y)
    if effect.rangeType & CAST_TARGET: y *= 1.5
 
    enchantPoints += int(y)
    z[effect.order] = int(pcEnchantSkill - y * fEnchantmentChanceMult)
 
# note enchantPoints not used for cost
cost of enchanting service = barterOffer(npc, y * fEnchantmentValueMult, buying)