Don't break GetSpellEffects execution if the spell doesn't exist

pull/541/head
Capostrophic 6 years ago
parent 5266520e20
commit 5f7343ad7f

@ -185,14 +185,16 @@ namespace MWMechanics
bool Spells::isSpellActive(const std::string &id) const bool Spells::isSpellActive(const std::string &id) const
{ {
TContainer::const_iterator found = mSpells.find(getSpell(id)); if (id.empty())
if (found != mSpells.end()) return false;
{
const ESM::Spell *spell = found->first;
return (spell->mData.mType==ESM::Spell::ST_Ability || spell->mData.mType==ESM::Spell::ST_Blight || const ESM::Spell* spell = MWBase::Environment::get().getWorld()->getStore().get<ESM::Spell>().search(id);
spell->mData.mType==ESM::Spell::ST_Disease || spell->mData.mType==ESM::Spell::ST_Curse); if (spell && hasSpell(spell))
{
auto type = spell->mData.mType;
return (type==ESM::Spell::ST_Ability || type==ESM::Spell::ST_Blight || type==ESM::Spell::ST_Disease || type==ESM::Spell::ST_Curse);
} }
return false; return false;
} }

Loading…
Cancel
Save