From 82a07af72cfc2829d0ac83195e60e82c6f0604bc Mon Sep 17 00:00:00 2001 From: scrawl Date: Mon, 20 Jan 2014 17:44:39 +0100 Subject: [PATCH] Fix typo (should be Strength, not Luck). Use GMSTs for strength damage. --- apps/openmw/mwclass/npc.cpp | 8 +++++++- apps/openmw/mwclass/npc.hpp | 2 ++ 2 files changed, 9 insertions(+), 1 deletion(-) diff --git a/apps/openmw/mwclass/npc.cpp b/apps/openmw/mwclass/npc.cpp index 4b955373ca..96cb4832d1 100644 --- a/apps/openmw/mwclass/npc.cpp +++ b/apps/openmw/mwclass/npc.cpp @@ -252,6 +252,8 @@ namespace MWClass fKnockDownMult = gmst.find("fKnockDownMult"); iKnockDownOddsMult = gmst.find("iKnockDownOddsMult"); iKnockDownOddsBase = gmst.find("iKnockDownOddsBase"); + fDamageStrengthBase = gmst.find("fDamageStrengthBase"); + fDamageStrengthMult = gmst.find("fDamageStrengthMult"); inited = true; } @@ -524,7 +526,8 @@ namespace MWClass if(attack) { damage = attack[0] + ((attack[1]-attack[0])*stats.getAttackStrength()); - damage *= 0.5f + (stats.getAttribute(ESM::Attribute::Luck).getModified() / 100.0f); + damage *= fDamageStrengthBase->getFloat() + + (stats.getAttribute(ESM::Attribute::Strength).getModified() * fDamageStrengthMult->getFloat() * 0.1); if(weaphashealth) { int weapmaxhealth = weapon.get()->mBase->mData.mHealth; @@ -1254,4 +1257,7 @@ namespace MWClass const ESM::GameSetting *Npc::fKnockDownMult; const ESM::GameSetting *Npc::iKnockDownOddsMult; const ESM::GameSetting *Npc::iKnockDownOddsBase; + const ESM::GameSetting *Npc::fDamageStrengthBase; + const ESM::GameSetting *Npc::fDamageStrengthMult; + } diff --git a/apps/openmw/mwclass/npc.hpp b/apps/openmw/mwclass/npc.hpp index e658dde5f6..157e3afd9f 100644 --- a/apps/openmw/mwclass/npc.hpp +++ b/apps/openmw/mwclass/npc.hpp @@ -36,6 +36,8 @@ namespace MWClass static const ESM::GameSetting *fKnockDownMult; static const ESM::GameSetting *iKnockDownOddsMult; static const ESM::GameSetting *iKnockDownOddsBase; + static const ESM::GameSetting *fDamageStrengthBase; + static const ESM::GameSetting *fDamageStrengthMult; public: