implemented list of magical bolts for skipping.

This commit is contained in:
Marek Kochanowicz 2014-01-04 15:19:17 +01:00
parent dfd1058551
commit 558690b571

View file

@ -826,14 +826,32 @@ void CSMTools::ReferenceableCheckStage::weaponCheck(
//TODO, It seems that this stuff for spellcasting is obligatory and In fact We should check if records are present //TODO, It seems that this stuff for spellcasting is obligatory and In fact We should check if records are present
if if
( ( //THOSE ARE HARDCODED!
//THOSE ARE HARDCODED! !(Weapon.mId == "VFX_Hands" ||
Weapon.mId != "VFX_Hands" Weapon.mId == "VFX_Absorb" ||
&& Weapon.mId != "VFX_Absorb" Weapon.mId == "VFX_Reflect" ||
&& Weapon.mId != "VFX_Reflect" Weapon.mId == "VFX_DefaultBolt" ||
&& Weapon.mId != "VFX_DefaultBolt"
//TODO I don't know how to get full list of effects :/ //TODO I don't know how to get full list of effects :/
) //DANGER!, ACHTUNG! FIXME! The following is the list of the magical bolts, valid for Morrowind.esm. However those are not hardcoded.
Weapon.mId == "magic_bolt" ||
Weapon.mId == "shock_bolt" ||
Weapon.mId == "shield_bolt" ||
Weapon.mId == "VFX_DestructBolt" ||
Weapon.mId == "VFX_PoisonBolt" ||
Weapon.mId == "VFX_RestoreBolt" ||
Weapon.mId == "VFX_AlterationBolt" ||
Weapon.mId == "VFX_ConjureBolt" ||
Weapon.mId == "VFX_FrostBolt" ||
Weapon.mId == "VFX_MysticismBolt" ||
Weapon.mId == "VFX_IllusionBolt" ||
Weapon.mId == "VFX_Multiple2" ||
Weapon.mId == "VFX_Multiple3" ||
Weapon.mId == "VFX_Multiple4" ||
Weapon.mId == "VFX_Multiple5" ||
Weapon.mId == "VFX_Multiple6" ||
Weapon.mId == "VFX_Multiple7" ||
Weapon.mId == "VFX_Multiple8" ||
Weapon.mId == "VFX_Multiple9"))
{ {
inventoryItemCheck<ESM::Weapon>(Weapon, messages, id.toString(), true); inventoryItemCheck<ESM::Weapon>(Weapon, messages, id.toString(), true);
@ -859,7 +877,9 @@ void CSMTools::ReferenceableCheckStage::weaponCheck(
messages.push_back(id.toString() + "|" + Weapon.mId + " has minimum chop damage higher than maximum"); messages.push_back(id.toString() + "|" + Weapon.mId + " has minimum chop damage higher than maximum");
} }
if (!(Weapon.mData.mType == ESM::Weapon::Arrow or Weapon.mData.mType == ESM::Weapon::Bolt or Weapon.mData.mType == ESM::Weapon::MarksmanThrown)) if (!(Weapon.mData.mType == ESM::Weapon::Arrow ||
Weapon.mData.mType == ESM::Weapon::Bolt ||
Weapon.mData.mType == ESM::Weapon::MarksmanThrown))
{ {
//checking of health //checking of health
if (Weapon.mData.mHealth <= 0) if (Weapon.mData.mHealth <= 0)
@ -894,7 +914,10 @@ void CSMTools::ReferenceableCheckStage::probeCheck(
toolCheck<ESM::Probe>(Probe, messages, id.toString(), true); toolCheck<ESM::Probe>(Probe, messages, id.toString(), true);
} }
void CSMTools::ReferenceableCheckStage::repairCheck(int stage, const CSMWorld::RefIdDataContainer< ESM::Repair >& records, std::vector< std::string >& messages) void CSMTools::ReferenceableCheckStage::repairCheck(
int stage,
const CSMWorld::RefIdDataContainer< ESM::Repair >& records,
std::vector< std::string >& messages)
{ {
const CSMWorld::RecordBase& baserecord = records.getRecord(stage); const CSMWorld::RecordBase& baserecord = records.getRecord(stage);
@ -910,7 +933,10 @@ void CSMTools::ReferenceableCheckStage::repairCheck(int stage, const CSMWorld::R
toolCheck<ESM::Repair>(Repair, messages, id.toString(), true); toolCheck<ESM::Repair>(Repair, messages, id.toString(), true);
} }
void CSMTools::ReferenceableCheckStage::staticCheck(int stage, const CSMWorld::RefIdDataContainer< ESM::Static >& records, std::vector< std::string >& messages) void CSMTools::ReferenceableCheckStage::staticCheck(
int stage,
const CSMWorld::RefIdDataContainer< ESM::Static >& records,
std::vector< std::string >& messages)
{ {
const CSMWorld::RecordBase& baserecord = records.getRecord(stage); const CSMWorld::RecordBase& baserecord = records.getRecord(stage);