#pragma once // Custom Classes #include "CDTable.h" /*! \file CDSkillBehaviorTable.hpp \brief Contains data for the SkillBehavior table */ //! ZoneTable Struct struct CDSkillBehavior { unsigned int skillID; //!< The Skill ID of the skill UNUSED(unsigned int locStatus); //!< ?? unsigned int behaviorID; //!< The Behavior ID of the skill unsigned int imaginationcost; //!< The imagination cost of the skill unsigned int cooldowngroup; //!< The cooldown group ID of the skill float cooldown; //!< The cooldown time of the skill UNUSED(bool isNpcEditor); //!< ??? UNUSED(unsigned int skillIcon); //!< The Skill Icon ID UNUSED(std::string oomSkillID); //!< ??? UNUSED(unsigned int oomBehaviorEffectID); //!< ??? UNUSED(unsigned int castTypeDesc); //!< The cast type description(?) UNUSED(unsigned int imBonusUI); //!< The imagination bonus of the skill UNUSED(nsigned int lifeBonusUI); //!< The life bonus of the skill UNUSED(unsigned int armorBonusUI); //!< The armor bonus of the skill UNUSED(unsigned int damageUI); //!< ??? UNUSED(bool hideIcon); //!< Whether or not to show the icon UNUSED(bool localize); //!< ??? UNUSED(std::string gate_version); //!< ??? UNUSED(unsigned int cancelType); //!< The cancel type (?) }; //! SkillBehavior table class CDSkillBehaviorTable : public CDTable { private: std::map entries; CDSkillBehavior m_empty; public: //! Constructor CDSkillBehaviorTable(void); //! Destructor ~CDSkillBehaviorTable(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 an entry by ID const CDSkillBehavior& GetSkillByID(unsigned int skillID); };