@@ -27,11 +27,13 @@ namespace CSMTools
2727
2828 // At the time of writing this effects, attributes and skills are mostly hardcoded
2929 int effectIndex = ESM::MagicEffect::refIdToIndex (effect.mData .mEffectID );
30+ int skillIndex = ESM::Skill::refIdToIndex (effect.mData .mSkill );
31+ int attributeIndex = ESM::Attribute::refIdToIndex (effect.mData .mAttribute );
3032 if (effectIndex < -1 || effectIndex >= ESM::MagicEffect::Length)
3133 messages.add (id, " Effect #" + number + " : invalid effect ID" , " " , CSMDoc::Message::Severity_Error);
32- if (effect. mData . mSkill < -1 || effect. mData . mSkill >= ESM::Skill::Length)
34+ if (skillIndex < -1 || skillIndex >= ESM::Skill::Length)
3335 messages.add (id, " Effect #" + number + " : invalid skill" , " " , CSMDoc::Message::Severity_Error);
34- if (effect. mData . mAttribute < -1 || effect. mData . mAttribute >= ESM::Attribute::Length)
36+ if (attributeIndex < -1 || attributeIndex >= ESM::Attribute::Length)
3537 messages.add (id, " Effect #" + number + " : invalid attribute" , " " , CSMDoc::Message::Severity_Error);
3638
3739 if (effect.mData .mRange < ESM::RT_Self || effect.mData .mRange > ESM::RT_Target)
@@ -74,13 +76,15 @@ namespace CSMTools
7476
7577 hasEffects = true ;
7678 int effectIndex = ESM::MagicEffect::refIdToIndex (ingredient.mData .mEffectID [i]);
79+ int skillIndex = ESM::Skill::refIdToIndex (ingredient.mData .mSkills [i]);
80+ int attributeIndex = ESM::Attribute::refIdToIndex (ingredient.mData .mAttributes [i]);
7781
7882 const std::string number = std::to_string (i + 1 );
7983 if (effectIndex < -1 || effectIndex >= ESM::MagicEffect::Length)
8084 messages.add (id, " Effect #" + number + " : invalid effect ID" , " " , CSMDoc::Message::Severity_Error);
81- if (ingredient. mData . mSkills [i] < -1 || ingredient. mData . mSkills [i] >= ESM::Skill::Length)
85+ if (skillIndex < -1 || skillIndex >= ESM::Skill::Length)
8286 messages.add (id, " Effect #" + number + " : invalid skill" , " " , CSMDoc::Message::Severity_Error);
83- if (ingredient. mData . mAttributes [i] < -1 || ingredient. mData . mAttributes [i] >= ESM::Attribute::Length)
87+ if (attributeIndex < -1 || attributeIndex >= ESM::Attribute::Length)
8488 messages.add (id, " Effect #" + number + " : invalid attribute" , " " , CSMDoc::Message::Severity_Error);
8589 }
8690
0 commit comments