diff options
| author | Shauren <shauren.trinity@gmail.com> | 2022-04-16 10:44:02 +0200 |
|---|---|---|
| committer | Shauren <shauren.trinity@gmail.com> | 2022-04-16 12:15:37 +0200 |
| commit | 1215321c8bc2676fefc0b4627044f2f78202704c (patch) | |
| tree | c10ff2c1d6fd82e126d943028f63db44d7a799bb /src | |
| parent | 641110e5543e53318d39054fb423858a96064a34 (diff) | |
Core/DataStores: Defined SkillLineFlags
Diffstat (limited to 'src')
| -rw-r--r-- | src/server/game/DataStores/DB2Structure.h | 2 | ||||
| -rw-r--r-- | src/server/game/DataStores/DBCEnums.h | 51 |
2 files changed, 38 insertions, 15 deletions
diff --git a/src/server/game/DataStores/DB2Structure.h b/src/server/game/DataStores/DB2Structure.h index 86fc2192d0f..6067641b938 100644 --- a/src/server/game/DataStores/DB2Structure.h +++ b/src/server/game/DataStores/DB2Structure.h @@ -3091,6 +3091,8 @@ struct SkillLineEntry int32 ParentTierIndex; uint16 Flags; int32 SpellBookSpellID; + + EnumFlag<SkillLineFlags> GetFlags() const { return static_cast<SkillLineFlags>(Flags); } }; struct SkillLineAbilityEntry diff --git a/src/server/game/DataStores/DBCEnums.h b/src/server/game/DataStores/DBCEnums.h index b4442ddea4b..d8fdd7b5237 100644 --- a/src/server/game/DataStores/DBCEnums.h +++ b/src/server/game/DataStores/DBCEnums.h @@ -801,21 +801,6 @@ enum MapFlags MAP_FLAG_GARRISON = 0x4000000 }; -enum AbilytyLearnType -{ - SKILL_LINE_ABILITY_LEARNED_ON_SKILL_VALUE = 1, // Spell state will update depending on skill value - SKILL_LINE_ABILITY_LEARNED_ON_SKILL_LEARN = 2, // Spell will be learned/removed together with entire skill - SKILL_LINE_ABILITY_REWARDED_FROM_QUEST = 4 // Learned as quest reward, also re-learned if missing -}; - -enum class SkillLineAbilityFlags -{ - CanFallbackToLearnedOnSkillLearn = 0x80, // The skill is rewarded from a quest if player started on exile's reach - -}; - -DEFINE_ENUM_FLAG(SkillLineAbilityFlags); - enum GlyphSlotType { GLYPH_SLOT_MAJOR = 0, @@ -1456,6 +1441,42 @@ enum ScenarioStepFlags SCENARIO_STEP_FLAG_HEROIC_ONLY = 0x2 }; +enum class SkillLineFlags : uint16 +{ + AlwaysShownInUI = 0x0001, + NeverShownInUI = 0x0002, + FirstTierIsSelfTaught = 0x0004, + GrantedIncrementallyByCharacterUpgrade = 0x0008, + AutomaticRank = 0x0010, + InheritParentRankWhenLearned = 0x0020, + ShowsInSpellTooltip = 0x0040, + AppearsInMiscTabOfSpellbook = 0x0080, + // unused = 0x0100, + IgnoreCategoryMods = 0x0200, + DisplaysAsProficiency = 0x0400, + PetsOnly = 0x0800, + UniqueBitfield = 0x1000, + RacialForThePurposeOfPaidRaceOrFactionChange = 0x2000, + ProgressiveSkillUp = 0x4000, + RacialForThePurposeOfTemporaryRaceChange = 0x8000, +}; + +DEFINE_ENUM_FLAG(SkillLineFlags); + +enum AbilytyLearnType +{ + SKILL_LINE_ABILITY_LEARNED_ON_SKILL_VALUE = 1, // Spell state will update depending on skill value + SKILL_LINE_ABILITY_LEARNED_ON_SKILL_LEARN = 2, // Spell will be learned/removed together with entire skill + SKILL_LINE_ABILITY_REWARDED_FROM_QUEST = 4 // Learned as quest reward, also re-learned if missing +}; + +enum class SkillLineAbilityFlags +{ + CanFallbackToLearnedOnSkillLearn = 0x80, // The skill is rewarded from a quest if player started on exile's reach +}; + +DEFINE_ENUM_FLAG(SkillLineAbilityFlags); + enum SkillRaceClassInfoFlags { SKILL_FLAG_NO_SKILLUP_MESSAGE = 0x2, |
