forget about the setting till #2887 is implemented at least

This commit is contained in:
Evil Eye 2018-09-08 11:21:43 +02:00
parent bbcdfd4078
commit 6705e5aae4
5 changed files with 8 additions and 17 deletions

View File

@ -449,13 +449,11 @@ namespace MWGui
const MWWorld::ESMStore &store = const MWWorld::ESMStore &store =
MWBase::Environment::get().getWorld()->getStore(); MWBase::Environment::get().getWorld()->getStore();
static const bool vanillaCost = Settings::Manager::getBool("expensive spells", "Game");
for (std::vector<ESM::ENAMstruct>::const_iterator it = mEffects.begin(); it != mEffects.end(); ++it) for (std::vector<ESM::ENAMstruct>::const_iterator it = mEffects.begin(); it != mEffects.end(); ++it)
{ {
const ESM::ENAMstruct& effect = *it; const ESM::ENAMstruct& effect = *it;
y += std::max(1.f, MWMechanics::calcEffectCost(effect, vanillaCost)); y += std::max(1.f, MWMechanics::calcEffectCost(effect));
if (effect.mRange == ESM::RT_Target) if (effect.mRange == ESM::RT_Target)
y *= 1.5; y *= 1.5;

View File

@ -3,7 +3,6 @@
#include <components/esm/loadmgef.hpp> #include <components/esm/loadmgef.hpp>
#include <components/esm/loadspel.hpp> #include <components/esm/loadspel.hpp>
#include <components/settings/settings.hpp>
#include "windowbase.hpp" #include "windowbase.hpp"
#include "referenceinterface.hpp" #include "referenceinterface.hpp"

View File

@ -49,13 +49,13 @@ namespace MWMechanics
return schoolSkillMap[school]; return schoolSkillMap[school];
} }
float calcEffectCost(const ESM::ENAMstruct& effect, const bool customSpellCost) float calcEffectCost(const ESM::ENAMstruct& effect)
{ {
const ESM::MagicEffect* magicEffect = MWBase::Environment::get().getWorld()->getStore().get<ESM::MagicEffect>().find(effect.mEffectID); const ESM::MagicEffect* magicEffect = MWBase::Environment::get().getWorld()->getStore().get<ESM::MagicEffect>().find(effect.mEffectID);
return calcEffectCost(effect, magicEffect, customSpellCost); return calcEffectCost(effect, magicEffect);
} }
float calcEffectCost(const ESM::ENAMstruct& effect, const ESM::MagicEffect* magicEffect, const bool customSpellCost) float calcEffectCost(const ESM::ENAMstruct& effect, const ESM::MagicEffect* magicEffect)
{ {
int minMagn = 1; int minMagn = 1;
int maxMagn = 1; int maxMagn = 1;
@ -65,12 +65,9 @@ namespace MWMechanics
maxMagn = effect.mMagnMax; maxMagn = effect.mMagnMax;
} }
int duration = 0; int duration = 1;
if (!(magicEffect->mData.mFlags & ESM::MagicEffect::NoDuration)) if (!(magicEffect->mData.mFlags & ESM::MagicEffect::NoDuration))
duration = effect.mDuration; duration = effect.mDuration;
//The wonders of vanilla spellmaking
if (customSpellCost && duration < 1)
duration = 1;
static const float fEffectCostMult = MWBase::Environment::get().getWorld()->getStore() static const float fEffectCostMult = MWBase::Environment::get().getWorld()->getStore()
.get<ESM::GameSetting>().find("fEffectCostMult")->mValue.getFloat(); .get<ESM::GameSetting>().find("fEffectCostMult")->mValue.getFloat();

View File

@ -25,8 +25,8 @@ namespace MWMechanics
ESM::Skill::SkillEnum spellSchoolToSkill(int school); ESM::Skill::SkillEnum spellSchoolToSkill(int school);
float calcEffectCost(const ESM::ENAMstruct& effect, const bool customSpellCost = false); float calcEffectCost(const ESM::ENAMstruct& effect);
float calcEffectCost(const ESM::ENAMstruct& effect, const ESM::MagicEffect* magicEffect, const bool customSpellCost = false); float calcEffectCost(const ESM::ENAMstruct& effect, const ESM::MagicEffect* magicEffect);
bool isSummoningEffect(int effectId); bool isSummoningEffect(int effectId);

View File

@ -230,9 +230,6 @@ barter disposition change is permanent = false
# 2 means werewolves are ignored) # 2 means werewolves are ignored)
strength influences hand to hand = 0 strength influences hand to hand = 0
# Makes custom spells cost the same as in vanilla
expensive spells = true
[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).