#pragma once // Custom Classes #include "CDTable.h" /*! \file CDLootMatrixTable.hpp \brief Contains data for the ObjectSkills table */ //! LootMatrix Struct struct CDLootMatrix { unsigned int LootMatrixIndex; //!< The Loot Matrix Index unsigned int LootTableIndex; //!< The Loot Table Index unsigned int RarityTableIndex; //!< The Rarity Table Index float percent; //!< The percent that this matrix is used? unsigned int minToDrop; //!< The minimum amount of loot from this matrix to drop unsigned int maxToDrop; //!< The maximum amount of loot from this matrix to drop unsigned int id; //!< The ID of the Loot Matrix unsigned int flagID; //!< ??? UNUSED(std::string gate_version); //!< The Gate Version }; //! MissionNPCComponent table class CDLootMatrixTable : public CDTable { private: std::vector entries; public: //! Constructor CDLootMatrixTable(void); //! Destructor ~CDLootMatrixTable(void); //! Returns the table's name /*! \return The table name */ std::string GetName(void) const override; //! Queries the table with a custom "where" clause /*! \param predicate The predicate */ std::vector Query(std::function predicate); //! Gets all the entries in the table /*! \return The entries */ const std::vector& GetEntries(void) const; };