2013-12-20 19:02:42 +00:00
|
|
|
#ifndef REFERENCEABLECHECKSTAGE_H
|
|
|
|
#define REFERENCEABLECHECKSTAGE_H
|
|
|
|
|
|
|
|
#include "../world/universalid.hpp"
|
|
|
|
#include "../doc/stage.hpp"
|
|
|
|
#include "../world/data.hpp"
|
|
|
|
#include "../world/refiddata.hpp"
|
|
|
|
|
|
|
|
namespace CSMTools
|
|
|
|
{
|
|
|
|
class ReferenceableCheckStage : public CSMDoc::Stage
|
|
|
|
{
|
|
|
|
public:
|
2013-12-29 20:02:53 +00:00
|
|
|
ReferenceableCheckStage(const CSMWorld::RefIdData& referenceable, const CSMWorld::IdCollection<ESM::Race>& races, const CSMWorld::IdCollection<ESM::Class>& classes, const CSMWorld::IdCollection<ESM::Faction>& factions);
|
2013-12-20 19:02:42 +00:00
|
|
|
virtual void perform(int stage, std::vector< std::string >& messages);
|
|
|
|
virtual int setup();
|
|
|
|
|
|
|
|
private:
|
2013-12-30 12:23:16 +00:00
|
|
|
//CONCRETE CHECKS
|
2013-12-20 19:02:42 +00:00
|
|
|
void bookCheck(int stage, const CSMWorld::RefIdDataContainer< ESM::Book >& records, std::vector< std::string >& messages);
|
2013-12-20 21:31:17 +00:00
|
|
|
void activatorCheck(int stage, const CSMWorld::RefIdDataContainer< ESM::Activator >& records, std::vector< std::string >& messages);
|
2013-12-21 11:07:40 +00:00
|
|
|
void potionCheck(int stage, const CSMWorld::RefIdDataContainer<ESM::Potion>& records, std::vector<std::string>& messages);
|
|
|
|
void apparatusCheck(int stage, const CSMWorld::RefIdDataContainer<ESM::Apparatus>& records, std::vector<std::string>& messages);
|
2013-12-22 13:22:03 +00:00
|
|
|
void armorCheck(int stage, const CSMWorld::RefIdDataContainer<ESM::Armor>& records, std::vector<std::string>& messages);
|
2013-12-22 13:32:42 +00:00
|
|
|
void clothingCheck(int stage, const CSMWorld::RefIdDataContainer<ESM::Clothing>& records, std::vector<std::string>& messages);
|
2013-12-22 13:42:17 +00:00
|
|
|
void containerCheck(int stage, const CSMWorld::RefIdDataContainer<ESM::Container>& records, std::vector<std::string>& messages);
|
2013-12-23 11:32:35 +00:00
|
|
|
void creatureCheck(int stage, const CSMWorld::RefIdDataContainer<ESM::Creature>& records, std::vector<std::string>& messages);
|
2013-12-26 11:59:43 +00:00
|
|
|
void doorCheck(int stage, const CSMWorld::RefIdDataContainer<ESM::Door>& records, std::vector<std::string>& messages);
|
2013-12-30 12:23:16 +00:00
|
|
|
void ingredientCheck(int stage, const CSMWorld::RefIdDataContainer<ESM::Ingredient>& records, std::vector<std::string>& messages);
|
|
|
|
void creaturesLevListCheck(int stage, const CSMWorld::RefIdDataContainer<ESM::CreatureLevList>& records, std::vector<std::string>& messages);
|
|
|
|
void itemLevelledListCheck(int stage, const CSMWorld::RefIdDataContainer<ESM::ItemLevList>& records, std::vector<std::string>& messages);
|
|
|
|
void lightCheck(int stage, const CSMWorld::RefIdDataContainer<ESM::Light>& records, std::vector<std::string>& messages);
|
|
|
|
void lockpickCheck(int stage, const CSMWorld::RefIdDataContainer<ESM::Lockpick>& records, std::vector<std::string>& messages);
|
|
|
|
void miscCheck(int stage, const CSMWorld::RefIdDataContainer<ESM::Miscellaneous>& records, std::vector<std::string>& messages);
|
|
|
|
void npcCheck(int stage, const CSMWorld::RefIdDataContainer<ESM::NPC>& records, std::vector<std::string>& messages);
|
2013-12-21 10:15:46 +00:00
|
|
|
|
2014-01-02 19:20:18 +00:00
|
|
|
//TEMPLATE CHECKS
|
|
|
|
template<typename item> void inventoryItemCheck(const item& item, std::vector<std::string>& messages); //for all inventory items.
|
|
|
|
|
2013-12-28 16:35:04 +00:00
|
|
|
const CSMWorld::RefIdData& mReferencables;
|
2013-12-30 12:23:16 +00:00
|
|
|
const CSMWorld::IdCollection<ESM::Race>& mRaces;
|
|
|
|
const CSMWorld::IdCollection<ESM::Class>& mClasses;
|
|
|
|
const CSMWorld::IdCollection<ESM::Faction>& mFactions;
|
2013-12-20 19:02:42 +00:00
|
|
|
};
|
|
|
|
}
|
|
|
|
#endif // REFERENCEABLECHECKSTAGE_H
|