Add advanced option to Rebalance soulgem values to the launcher

0.6.3
declan-millar 7 years ago
parent 4b1247597e
commit 78e79d5775

@ -23,6 +23,7 @@ bool Launcher::AdvancedPage::loadSettings()
loadSettingBool(showEnchantChanceCheckBox, "show enchant chance", "Game"); loadSettingBool(showEnchantChanceCheckBox, "show enchant chance", "Game");
loadSettingBool(showMeleeInfoCheckBox, "show melee info", "Game"); loadSettingBool(showMeleeInfoCheckBox, "show melee info", "Game");
loadSettingBool(showProjectileDamageCheckBox, "show projectile damage", "Game"); loadSettingBool(showProjectileDamageCheckBox, "show projectile damage", "Game");
loadSettingBool(rebalanceSoulgemValuesCheckBox, "rebalance soulgem values", "Game");
// Expected values are (0, 1, 2, 3) // Expected values are (0, 1, 2, 3)
int showOwnedIndex = mEngineSettings.getInt("show owned", "Game"); int showOwnedIndex = mEngineSettings.getInt("show owned", "Game");
@ -61,6 +62,7 @@ void Launcher::AdvancedPage::saveSettings()
saveSettingBool(showEnchantChanceCheckBox, "show enchant chance", "Game"); saveSettingBool(showEnchantChanceCheckBox, "show enchant chance", "Game");
saveSettingBool(showMeleeInfoCheckBox, "show melee info", "Game"); saveSettingBool(showMeleeInfoCheckBox, "show melee info", "Game");
saveSettingBool(showProjectileDamageCheckBox, "show projectile damage", "Game"); saveSettingBool(showProjectileDamageCheckBox, "show projectile damage", "Game");
saveSettingBool(rebalanceSoulgemValuesCheckBox, "rebalance soulgem values", "Game");
int showOwnedCurrentIndex = showOwnedComboBox->currentIndex(); int showOwnedCurrentIndex = showOwnedComboBox->currentIndex();
if (showOwnedCurrentIndex != mEngineSettings.getInt("show owned", "Game")) if (showOwnedCurrentIndex != mEngineSettings.getInt("show owned", "Game"))

@ -89,13 +89,13 @@ namespace MWClass
// use soulgem value rebalance formula from morrowind code patch // use soulgem value rebalance formula from morrowind code patch
int soul = creature->mData.mSoul; int soul = creature->mData.mSoul;
float soul_value = 0.0001 * pow(soul, 3) + 2 * soul; float soulValue = 0.0001 * pow(soul, 3) + 2 * soul;
// for Azura's star add the unfilled value // for Azura's star add the unfilled value
if (Misc::StringUtils::ciEqual(ptr.getCellRef().getRefId(), "Misc_SoulGem_Azura")) if (Misc::StringUtils::ciEqual(ptr.getCellRef().getRefId(), "Misc_SoulGem_Azura"))
value += soul_value; value += soulValue;
else else
value = soul_value; value = soulValue;
} }
} }

@ -216,6 +216,9 @@ followers attack on sight = false
# Can loot non-fighting actors during death animation # Can loot non-fighting actors during death animation
can loot during death animation = true can loot during death animation = true
# Makes the value of filled soulgems dependent only on soul magnitude (with formula from the Morrowind Code Patch)
rebalance soulgem values = false
[General] [General]
# Anisotropy reduces distortion in textures at low angles (e.g. 0 to 16). # Anisotropy reduces distortion in textures at low angles (e.g. 0 to 16).

@ -109,6 +109,16 @@
</property> </property>
</widget> </widget>
</item> </item>
<item>
<widget class="QCheckBox" name="rebalanceSoulgemValuesCheckBox">
<property name="toolTip">
<string>&lt;html&gt;&lt;head/&gt;&lt;body&gt;&lt;p&gt;If this setting is true, the value of filled soulgems is dependent only on soul magnitude.&lt;/p&gt;&lt;p&gt;The default value is false.&lt;/p&gt;&lt;/body&gt;&lt;/html&gt;</string>
</property>
<property name="text">
<string>Rebalance soulgem values</string>
</property>
</widget>
</item>
<item alignment="Qt::AlignLeft"> <item alignment="Qt::AlignLeft">
<widget class="QWidget" name="showOwnedGroup" native="true"> <widget class="QWidget" name="showOwnedGroup" native="true">
<property name="toolTip"> <property name="toolTip">

Loading…
Cancel
Save