mirror of
https://github.com/OpenMW/openmw.git
synced 2025-02-22 11:09:42 +00:00
Merge branch 'desynced' into 'master'
Desynced See merge request OpenMW/openmw!34
This commit is contained in:
commit
758d9ca122
6 changed files with 90 additions and 3 deletions
|
@ -171,6 +171,7 @@ Programmers
|
||||||
viadanna
|
viadanna
|
||||||
Vincent Heuken
|
Vincent Heuken
|
||||||
vocollapse
|
vocollapse
|
||||||
|
Yohaulticetl
|
||||||
zelurker
|
zelurker
|
||||||
|
|
||||||
Documentation
|
Documentation
|
||||||
|
|
|
@ -112,6 +112,7 @@
|
||||||
Feature #4548: Weapon priority: use the actual chance to hit the target instead of weapon skill
|
Feature #4548: Weapon priority: use the actual chance to hit the target instead of weapon skill
|
||||||
Feature #4549: Weapon priority: use the actual damage in weapon rating calculations
|
Feature #4549: Weapon priority: use the actual damage in weapon rating calculations
|
||||||
Feature #4550: Weapon priority: make ranged weapon bonus more sensible
|
Feature #4550: Weapon priority: make ranged weapon bonus more sensible
|
||||||
|
Feature #4579: Add option for applying Strength into hand to hand damage
|
||||||
Feature #4581: Use proper logging system
|
Feature #4581: Use proper logging system
|
||||||
Task #2490: Don't open command prompt window on Release-mode builds automatically
|
Task #2490: Don't open command prompt window on Release-mode builds automatically
|
||||||
Task #4545: Enable is_pod string test
|
Task #4545: Enable is_pod string test
|
||||||
|
|
|
@ -76,6 +76,11 @@ bool Launcher::AdvancedPage::loadSettings()
|
||||||
loadSettingBool(chargeForEveryFollowerCheckBox, "charge for every follower travelling", "Game");
|
loadSettingBool(chargeForEveryFollowerCheckBox, "charge for every follower travelling", "Game");
|
||||||
loadSettingBool(enchantedWeaponsMagicalCheckBox, "enchanted weapons are magical", "Game");
|
loadSettingBool(enchantedWeaponsMagicalCheckBox, "enchanted weapons are magical", "Game");
|
||||||
loadSettingBool(permanentBarterDispositionChangeCheckBox, "barter disposition change is permanent", "Game");
|
loadSettingBool(permanentBarterDispositionChangeCheckBox, "barter disposition change is permanent", "Game");
|
||||||
|
loadSettingBool(strengthInfluencesHandToHand, "strength influences hand to hand", "Game");
|
||||||
|
int unarmedFactorsStrengthIndex = mEngineSettings.getInt("strength influences hand to hand", "Game");
|
||||||
|
if (unarmedFactorsStrengthIndex >= 0 && unarmedFactorsStrengthIndex <= 2)
|
||||||
|
unarmedFactorsStrengthComboBox->setCurrentIndex(unarmedFactorsStrengthIndex);
|
||||||
|
|
||||||
|
|
||||||
// Input Settings
|
// Input Settings
|
||||||
loadSettingBool(allowThirdPersonZoomCheckBox, "allow third person zoom", "Input");
|
loadSettingBool(allowThirdPersonZoomCheckBox, "allow third person zoom", "Input");
|
||||||
|
@ -131,6 +136,11 @@ void Launcher::AdvancedPage::saveSettings()
|
||||||
saveSettingBool(chargeForEveryFollowerCheckBox, "charge for every follower travelling", "Game");
|
saveSettingBool(chargeForEveryFollowerCheckBox, "charge for every follower travelling", "Game");
|
||||||
saveSettingBool(enchantedWeaponsMagicalCheckBox, "enchanted weapons are magical", "Game");
|
saveSettingBool(enchantedWeaponsMagicalCheckBox, "enchanted weapons are magical", "Game");
|
||||||
saveSettingBool(permanentBarterDispositionChangeCheckBox, "barter disposition change is permanent", "Game");
|
saveSettingBool(permanentBarterDispositionChangeCheckBox, "barter disposition change is permanent", "Game");
|
||||||
|
saveSettingBool(strengthInfluencesHandToHand, "strength influences hand to hand", "Game");
|
||||||
|
int unarmedFactorsStrengthIndex = unarmedFactorsStrengthComboBox->currentIndex();
|
||||||
|
if (unarmedFactorsStrengthIndex != mEngineSettings.getInt("strength influences hand to hand", "Game"))
|
||||||
|
mEngineSettings.setInt("strength influences hand to hand", "Game", unarmedFactorsStrengthIndex);
|
||||||
|
|
||||||
|
|
||||||
// Input Settings
|
// Input Settings
|
||||||
saveSettingBool(allowThirdPersonZoomCheckBox, "allow third person zoom", "Input");
|
saveSettingBool(allowThirdPersonZoomCheckBox, "allow third person zoom", "Input");
|
||||||
|
|
|
@ -388,9 +388,6 @@ namespace MWMechanics
|
||||||
|
|
||||||
void getHandToHandDamage(const MWWorld::Ptr &attacker, const MWWorld::Ptr &victim, float &damage, bool &healthdmg, float attackStrength)
|
void getHandToHandDamage(const MWWorld::Ptr &attacker, const MWWorld::Ptr &victim, float &damage, bool &healthdmg, float attackStrength)
|
||||||
{
|
{
|
||||||
// Note: MCP contains an option to include Strength in hand-to-hand damage
|
|
||||||
// calculations. Some mods recommend using it, so we may want to include an
|
|
||||||
// option for it.
|
|
||||||
const MWWorld::ESMStore& store = MWBase::Environment::get().getWorld()->getStore();
|
const MWWorld::ESMStore& store = MWBase::Environment::get().getWorld()->getStore();
|
||||||
float minstrike = store.get<ESM::GameSetting>().find("fMinHandToHandMult")->getFloat();
|
float minstrike = store.get<ESM::GameSetting>().find("fMinHandToHandMult")->getFloat();
|
||||||
float maxstrike = store.get<ESM::GameSetting>().find("fMaxHandToHandMult")->getFloat();
|
float maxstrike = store.get<ESM::GameSetting>().find("fMaxHandToHandMult")->getFloat();
|
||||||
|
@ -401,6 +398,16 @@ namespace MWMechanics
|
||||||
healthdmg = otherstats.isParalyzed()
|
healthdmg = otherstats.isParalyzed()
|
||||||
|| otherstats.getKnockedDown();
|
|| otherstats.getKnockedDown();
|
||||||
bool isWerewolf = (attacker.getClass().isNpc() && attacker.getClass().getNpcStats(attacker).isWerewolf());
|
bool isWerewolf = (attacker.getClass().isNpc() && attacker.getClass().getNpcStats(attacker).isWerewolf());
|
||||||
|
|
||||||
|
// Options in the launcher's combo box: unarmedFactorsStrengthComboBox
|
||||||
|
// 0 = Do not factor strength into hand-to-hand combat.
|
||||||
|
// 1 = Factor into werewolf hand-to-hand combat.
|
||||||
|
// 2 = Ignore werewolves.
|
||||||
|
int factorStrength = Settings::Manager::getInt("strength influences hand to hand", "Game");
|
||||||
|
if (factorStrength == 1 || (factorStrength == 2 && !isWerewolf)) {
|
||||||
|
damage *= attacker.getClass().getCreatureStats(attacker).getAttribute(ESM::Attribute::Strength).getModified() / 40.0f;
|
||||||
|
}
|
||||||
|
|
||||||
if(isWerewolf)
|
if(isWerewolf)
|
||||||
{
|
{
|
||||||
healthdmg = true;
|
healthdmg = true;
|
||||||
|
|
|
@ -225,6 +225,11 @@ use additional anim sources = false
|
||||||
# Make the disposition change of merchants caused by barter dealings permanent
|
# Make the disposition change of merchants caused by barter dealings permanent
|
||||||
barter disposition change is permanent = false
|
barter disposition change is permanent = false
|
||||||
|
|
||||||
|
# Uses the MCP formula (damage * (strength / 40)) to factor Strength into hand-to-hand combat.
|
||||||
|
# (0 means it does not factor it in, 1 means it factors into werewolves damage calculation and
|
||||||
|
# 2 means werewolves are ignored)
|
||||||
|
strength influences hand to hand = 0
|
||||||
|
|
||||||
[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).
|
||||||
|
|
|
@ -102,6 +102,69 @@
|
||||||
</property>
|
</property>
|
||||||
</widget>
|
</widget>
|
||||||
</item>
|
</item>
|
||||||
|
<item>
|
||||||
|
<widget class="QCheckBox" name="strengthInfluencesHandToHand">
|
||||||
|
<property name="toolTip">
|
||||||
|
<string><html><head/><body><p>Uses the MCP formula (damage * (strength / 40)) to factor the Strength attribute into hand-to-hand combat.</p><p>The default value is false.</p></body></html></string>
|
||||||
|
</property>
|
||||||
|
<property name="text">
|
||||||
|
<string>Factor strength into hand-to-hand combat</string>
|
||||||
|
</property>
|
||||||
|
</widget>
|
||||||
|
</item>
|
||||||
|
<item alignment="Qt::AlignLeft">
|
||||||
|
<widget class="QWidget" name="unarmedFactorsStrengthGroup" native="true">
|
||||||
|
<property name="toolTip">
|
||||||
|
<string><html><head/><body><p>Factor strength into hand-to-hand damage calculations, as the MCP formula: damage * (strength / 40).</p><p>The default value is Off.</p></body></html></string>
|
||||||
|
</property>
|
||||||
|
<layout class="QHBoxLayout" name="horizontalUnarmedStrengthLayout">
|
||||||
|
<property name="spacing">
|
||||||
|
<number>-1</number>
|
||||||
|
</property>
|
||||||
|
<property name="leftMargin">
|
||||||
|
<number>0</number>
|
||||||
|
</property>
|
||||||
|
<property name="topMargin">
|
||||||
|
<number>0</number>
|
||||||
|
</property>
|
||||||
|
<property name="rightMargin">
|
||||||
|
<number>0</number>
|
||||||
|
</property>
|
||||||
|
<property name="bottomMargin">
|
||||||
|
<number>0</number>
|
||||||
|
</property>
|
||||||
|
<item alignment="Qt::AlignRight">
|
||||||
|
<widget class="QLabel" name="unarmedFactorsStrengthLabel">
|
||||||
|
<property name="text">
|
||||||
|
<string>Factor strength into hand-to-hand combat:</string>
|
||||||
|
</property>
|
||||||
|
</widget>
|
||||||
|
</item>
|
||||||
|
<item>
|
||||||
|
<widget class="QComboBox" name="unarmedFactorsStrengthComboBox">
|
||||||
|
<property name="currentIndex">
|
||||||
|
<number>0</number>
|
||||||
|
</property>
|
||||||
|
<item>
|
||||||
|
<property name="text">
|
||||||
|
<string>Off</string>
|
||||||
|
</property>
|
||||||
|
</item>
|
||||||
|
<item>
|
||||||
|
<property name="text">
|
||||||
|
<string>Affect werewolves</string>
|
||||||
|
</property>
|
||||||
|
</item>
|
||||||
|
<item>
|
||||||
|
<property name="text">
|
||||||
|
<string>Do not affect werewolves</string>
|
||||||
|
</property>
|
||||||
|
</item>
|
||||||
|
</widget>
|
||||||
|
</item>
|
||||||
|
</layout>
|
||||||
|
</widget>
|
||||||
|
</item>
|
||||||
</layout>
|
</layout>
|
||||||
</widget>
|
</widget>
|
||||||
</item>
|
</item>
|
||||||
|
|
Loading…
Reference in a new issue