aboutsummaryrefslogtreecommitdiff
path: root/src/server/game/Entities/Unit
diff options
context:
space:
mode:
authorHelloKitty <andrew.blakely@ymail.com>2020-05-15 13:41:16 -0500
committerGitHub <noreply@github.com>2020-05-15 20:41:16 +0200
commit43b595111dce03258c29fd926201660b9d3acb8d (patch)
treed47f71e018ea1ba6c3a1d34580d52ef695672388 /src/server/game/Entities/Unit
parent1d43003cfa29cee2c7921fdeaa5c1714d085c770 (diff)
Further improve ChrRace DBC handling (#24508)
* Core/DBC: Added ChrRacesAllianceType for ChrRaces.dbc * Core/Character: Check ChrRace DBC playable in HandleCharCreateOpcode * Core/DBC: Implement ChrRacesFlags removing literals Cannot take credit for this enum, derived from documentation in https://wowdev.wiki/DB/ChrRaces * Core/Character: Check CHRRACES_FLAGS_NOT_PLAYABLE on creation * Core/DBC: Fix formatting of ChrRaces enums * Core/DBC: Use ChrRaces CreatureType instead of hardcoded humanoid assumption * Address enum style code changes
Diffstat (limited to 'src/server/game/Entities/Unit')
-rw-r--r--src/server/game/Entities/Unit/Unit.cpp7
1 files changed, 5 insertions, 2 deletions
diff --git a/src/server/game/Entities/Unit/Unit.cpp b/src/server/game/Entities/Unit/Unit.cpp
index 31ca50eb70b..0001af2fc13 100644
--- a/src/server/game/Entities/Unit/Unit.cpp
+++ b/src/server/game/Entities/Unit/Unit.cpp
@@ -8842,7 +8842,10 @@ uint32 Unit::GetCreatureType() const
if (ssEntry && ssEntry->creatureType > 0)
return ssEntry->creatureType;
else
- return CREATURE_TYPE_HUMANOID;
+ {
+ ChrRacesEntry const* raceEntry = sChrRacesStore.AssertEntry(GetRace());
+ return raceEntry->CreatureType;
+ }
}
else
return ToCreature()->GetCreatureTemplate()->type;
@@ -8896,7 +8899,7 @@ bool Unit::IsInDisallowedMountForm() const
ChrRacesEntry const* race = sChrRacesStore.LookupEntry(displayExtra->Race);
if (model && !(model->HasFlag(CREATURE_MODEL_DATA_FLAGS_CAN_MOUNT)))
- if (race && !(race->Flags & 0x4))
+ if (race && !(race->HasFlag(CHRRACES_FLAGS_CAN_MOUNT)))
return true;
return false;