diff options
-rw-r--r-- | src/server/game/Entities/Unit/Unit.cpp | 2 | ||||
-rw-r--r-- | src/server/shared/DataStores/DBCStructure.h | 14 |
2 files changed, 14 insertions, 2 deletions
diff --git a/src/server/game/Entities/Unit/Unit.cpp b/src/server/game/Entities/Unit/Unit.cpp index 84e94894c1c..31ca50eb70b 100644 --- a/src/server/game/Entities/Unit/Unit.cpp +++ b/src/server/game/Entities/Unit/Unit.cpp @@ -8895,7 +8895,7 @@ bool Unit::IsInDisallowedMountForm() const CreatureModelDataEntry const* model = sCreatureModelDataStore.LookupEntry(display->ModelId); ChrRacesEntry const* race = sChrRacesStore.LookupEntry(displayExtra->Race); - if (model && !(model->Flags & 0x80)) + if (model && !(model->HasFlag(CREATURE_MODEL_DATA_FLAGS_CAN_MOUNT))) if (race && !(race->Flags & 0x4)) return true; diff --git a/src/server/shared/DataStores/DBCStructure.h b/src/server/shared/DataStores/DBCStructure.h index e8469eddfa2..cd71c310f30 100644 --- a/src/server/shared/DataStores/DBCStructure.h +++ b/src/server/shared/DataStores/DBCStructure.h @@ -493,6 +493,11 @@ struct CreatureFamilyEntry // 27 m_iconFile }; +enum CreatureModelDataFlags +{ + CREATURE_MODEL_DATA_FLAGS_CAN_MOUNT = 0x00000080 +}; + struct CreatureModelDataEntry { uint32 Id; @@ -513,6 +518,8 @@ struct CreatureModelDataEntry float CollisionHeight; float MountHeight; // Used in calculation of unit collision data when mounted //float Unks[11] + + inline bool HasFlag(CreatureModelDataFlags flag) const { return !!(Flags & flag); } }; struct CreatureSpellDataEntry @@ -522,12 +529,17 @@ struct CreatureSpellDataEntry //uint32 availability[MAX_CREATURE_SPELL_DATA_SLOT]; // 4-7 m_availability[4] }; +enum CreatureTypeEntryFlags +{ + CREATURE_TYPE_ENTRY_FLAGS_IGNORED_TAB_TARGETING = 0x01 // Means do not include in tab targeting. +}; + struct CreatureTypeEntry { uint32 ID; // 0 m_ID //char* Name[16]; // 1-16 name // 17 string flags - //uint32 no_expirience; // 18 no exp? critters, non-combat pets, gas cloud. + //uint32 Flags; // 18 Critters, non-combat pets, gas cloud. (called Flags in struct) }; /* not used |