|
|
|
@ -566,11 +566,14 @@ namespace MWMechanics
|
|
|
|
|
MWWorld::LiveCellRef<ESM::NPC>* player = playerPtr.get<ESM::NPC>();
|
|
|
|
|
const MWMechanics::NpcStats &playerStats = playerPtr.getClass().getNpcStats(playerPtr);
|
|
|
|
|
|
|
|
|
|
const MWWorld::Store<ESM::GameSetting>& gmst = MWBase::Environment::get().getWorld()->getStore().get<ESM::GameSetting>();
|
|
|
|
|
static float fDispRaceMod = gmst.find("fDispRaceMod")->getFloat();
|
|
|
|
|
if (Misc::StringUtils::ciEqual(npc->mBase->mRace, player->mBase->mRace))
|
|
|
|
|
x += MWBase::Environment::get().getWorld()->getStore().get<ESM::GameSetting>().find("fDispRaceMod")->getFloat();
|
|
|
|
|
x += fDispRaceMod;
|
|
|
|
|
|
|
|
|
|
x += MWBase::Environment::get().getWorld()->getStore().get<ESM::GameSetting>().find("fDispPersonalityMult")->getFloat()
|
|
|
|
|
* (playerStats.getAttribute(ESM::Attribute::Personality).getModified() - MWBase::Environment::get().getWorld()->getStore().get<ESM::GameSetting>().find("fDispPersonalityBase")->getFloat());
|
|
|
|
|
static float fDispPersonalityMult = gmst.find("fDispPersonalityMult")->getFloat();
|
|
|
|
|
static float fDispPersonalityBase = gmst.find("fDispPersonalityBase")->getFloat();
|
|
|
|
|
x += fDispPersonalityMult * (playerStats.getAttribute(ESM::Attribute::Personality).getModified() - fDispPersonalityBase);
|
|
|
|
|
|
|
|
|
|
float reaction = 0;
|
|
|
|
|
int rank = 0;
|
|
|
|
@ -606,16 +609,23 @@ namespace MWMechanics
|
|
|
|
|
reaction = 0;
|
|
|
|
|
rank = 0;
|
|
|
|
|
}
|
|
|
|
|
x += (MWBase::Environment::get().getWorld()->getStore().get<ESM::GameSetting>().find("fDispFactionRankMult")->getFloat() * rank
|
|
|
|
|
+ MWBase::Environment::get().getWorld()->getStore().get<ESM::GameSetting>().find("fDispFactionRankBase")->getFloat())
|
|
|
|
|
* MWBase::Environment::get().getWorld()->getStore().get<ESM::GameSetting>().find("fDispFactionMod")->getFloat() * reaction;
|
|
|
|
|
|
|
|
|
|
x -= MWBase::Environment::get().getWorld()->getStore().get<ESM::GameSetting>().find("fDispCrimeMod")->getFloat() * playerStats.getBounty();
|
|
|
|
|
static float fDispFactionRankMult = gmst.find("fDispFactionRankMult")->getFloat();
|
|
|
|
|
static float fDispFactionRankBase = gmst.find("fDispFactionRankBase")->getFloat();
|
|
|
|
|
static float fDispFactionMod = gmst.find("fDispFactionMod")->getFloat();
|
|
|
|
|
x += (fDispFactionRankMult * rank
|
|
|
|
|
+ fDispFactionRankBase)
|
|
|
|
|
* fDispFactionMod * reaction;
|
|
|
|
|
|
|
|
|
|
static float fDispCrimeMod = gmst.find("fDispCrimeMod")->getFloat();
|
|
|
|
|
static float fDispDiseaseMod = gmst.find("fDispDiseaseMod")->getFloat();
|
|
|
|
|
x -= fDispCrimeMod * playerStats.getBounty();
|
|
|
|
|
if (playerStats.hasCommonDisease() || playerStats.hasBlightDisease())
|
|
|
|
|
x += MWBase::Environment::get().getWorld()->getStore().get<ESM::GameSetting>().find("fDispDiseaseMod")->getFloat();
|
|
|
|
|
x += fDispDiseaseMod;
|
|
|
|
|
|
|
|
|
|
static float fDispWeaponDrawn = gmst.find("fDispWeaponDrawn")->getFloat();
|
|
|
|
|
if (playerStats.getDrawState() == MWMechanics::DrawState_Weapon)
|
|
|
|
|
x += MWBase::Environment::get().getWorld()->getStore().get<ESM::GameSetting>().find("fDispWeaponDrawn")->getFloat();
|
|
|
|
|
x += fDispWeaponDrawn;
|
|
|
|
|
|
|
|
|
|
x += ptr.getClass().getCreatureStats(ptr).getMagicEffects().get(ESM::MagicEffect::Charm).getMagnitude();
|
|
|
|
|
|
|
|
|
|