|
|
|
@ -47,7 +47,8 @@ namespace PhasmalistScripts { |
|
|
|
|
papyrusEnchantment::GetNthEffectMagicEffect(ench, i), |
|
|
|
|
papyrusEnchantment::GetNthEffectMagnitude(ench, i), |
|
|
|
|
papyrusEnchantment::GetNthEffectArea(ench, i), |
|
|
|
|
papyrusEnchantment::GetNthEffectDuration(ench, i)); |
|
|
|
|
papyrusEnchantment::GetNthEffectDuration(ench, i) |
|
|
|
|
); |
|
|
|
|
} |
|
|
|
|
return result * magicWeight; |
|
|
|
|
} |
|
|
|
@ -56,6 +57,8 @@ namespace PhasmalistScripts { |
|
|
|
|
if (!spell) { |
|
|
|
|
return 0.0; |
|
|
|
|
} |
|
|
|
|
/*
|
|
|
|
|
* // Sum of effect costs
|
|
|
|
|
float result = 0; |
|
|
|
|
for (int i = papyrusSpell::GetNumEffects(spell) - 1; i >= 0; i--) { |
|
|
|
|
result += getMagicEffectStrength( |
|
|
|
@ -64,7 +67,22 @@ namespace PhasmalistScripts { |
|
|
|
|
papyrusSpell::GetNthEffectDuration(spell, i), |
|
|
|
|
papyrusSpell::GetNthEffectArea(spell, i)); |
|
|
|
|
} |
|
|
|
|
return result * magicWeight; |
|
|
|
|
*/ |
|
|
|
|
|
|
|
|
|
/*
|
|
|
|
|
* // The costliest effect
|
|
|
|
|
int iCostliestEffect = papyrusSpell::GetCostliestEffectIndex(spell); |
|
|
|
|
|
|
|
|
|
float result = getMagicEffectStrength( |
|
|
|
|
papyrusSpell::GetNthEffectMagicEffect(spell, iCostliestEffect), |
|
|
|
|
papyrusSpell::GetNthEffectMagnitude(spell, iCostliestEffect), |
|
|
|
|
papyrusSpell::GetNthEffectDuration(spell, iCostliestEffect), |
|
|
|
|
papyrusSpell::GetNthEffectArea(spell, iCostliestEffect) |
|
|
|
|
); |
|
|
|
|
*/ |
|
|
|
|
|
|
|
|
|
// 2.0.10: Switch to flat magicka correlation
|
|
|
|
|
return papyrusSpell::GetMagickaCost(spell) * 1.5; |
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
float getAdditionalExtendDataStrength(InventoryEntryData * itemStack, float physicalStrength) { |
|
|
|
@ -88,7 +106,7 @@ namespace PhasmalistScripts { |
|
|
|
|
//item has been tempered
|
|
|
|
|
ExtraHealth * health = DYNAMIC_CAST(extraData->GetByType(kExtraData_Health), BSExtraData, ExtraHealth); |
|
|
|
|
if (health) { |
|
|
|
|
strength += physicalStrength * (health->health - 1.0) * count; |
|
|
|
|
strength += physicalStrength * (health->health - 1.0) * 20 * count; |
|
|
|
|
} |
|
|
|
|
} |
|
|
|
|
} |
|
|
|
@ -102,7 +120,7 @@ namespace PhasmalistScripts { |
|
|
|
|
if (itemStack->type->IsWeapon()) { |
|
|
|
|
TESObjectWEAP * asWeapon = static_cast<TESObjectWEAP*>(itemStack->type); |
|
|
|
|
if (asWeapon) { |
|
|
|
|
float baseDmg = papyrusWeapon::GetBaseDamage(asWeapon); |
|
|
|
|
float baseDmg = papyrusWeapon::GetBaseDamage(asWeapon) * 1.5; |
|
|
|
|
float speed = papyrusWeapon::GetSpeed(asWeapon); |
|
|
|
|
physicalStrength = baseDmg * speed; |
|
|
|
|
strength += physicalStrength; |
|
|
|
|