aboutsummaryrefslogtreecommitdiff
path: root/src/server/game
diff options
context:
space:
mode:
authorShocker <shocker@freakz.ro>2016-05-27 12:29:12 +0300
committerjoschiwald <joschiwald.trinity@gmail.com>2017-01-09 20:52:48 +0100
commit0cddecf2d4d2863bbd0c400c67227a07cbac1f7e (patch)
tree6c1ba0bee039a22e6f63705bde10c0deb638838e /src/server/game
parent5d4569a11b36a97cf211681e127ea91b958f042c (diff)
Merge pull request #17138 from ForesterDev/creature_family
Core/Misc: Define CREATURE_FAMILY_NONE to avoid magic numbers in code (cherry picked from commit 62635f07d0838ac94c2d1329849e1825406eaaff)
Diffstat (limited to 'src/server/game')
-rw-r--r--src/server/game/Entities/Creature/Creature.h4
-rw-r--r--src/server/game/Globals/ObjectMgr.cpp4
-rw-r--r--src/server/game/Miscellaneous/SharedDefines.h1
3 files changed, 5 insertions, 4 deletions
diff --git a/src/server/game/Entities/Creature/Creature.h b/src/server/game/Entities/Creature/Creature.h
index 7b6570fac74..e64d8a25be3 100644
--- a/src/server/game/Entities/Creature/Creature.h
+++ b/src/server/game/Entities/Creature/Creature.h
@@ -334,7 +334,7 @@ struct TC_GAME_API CreatureTemplate
uint32 unit_flags; // enum UnitFlags mask values
uint32 unit_flags2; // enum UnitFlags2 mask values
uint32 dynamicflags;
- uint32 family; // enum CreatureFamily values (optional)
+ CreatureFamily family; // enum CreatureFamily values (optional)
uint32 trainer_type;
uint32 trainer_class;
uint32 trainer_race;
@@ -391,7 +391,7 @@ struct TC_GAME_API CreatureTemplate
bool IsTameable(bool canTameExotic) const
{
- if (type != CREATURE_TYPE_BEAST || family == 0 || (type_flags & CREATURE_TYPE_FLAG_TAMEABLE_PET) == 0)
+ if (type != CREATURE_TYPE_BEAST || family == CREATURE_FAMILY_NONE || (type_flags & CREATURE_TYPE_FLAG_TAMEABLE_PET) == 0)
return false;
// if can tame exotic then can tame any tameable
diff --git a/src/server/game/Globals/ObjectMgr.cpp b/src/server/game/Globals/ObjectMgr.cpp
index f58eb8ba8a7..fc19f9ebad1 100644
--- a/src/server/game/Globals/ObjectMgr.cpp
+++ b/src/server/game/Globals/ObjectMgr.cpp
@@ -496,7 +496,7 @@ void ObjectMgr::LoadCreatureTemplate(Field* fields)
creatureTemplate.unit_flags = fields[32].GetUInt32();
creatureTemplate.unit_flags2 = fields[33].GetUInt32();
creatureTemplate.dynamicflags = fields[34].GetUInt32();
- creatureTemplate.family = uint32(fields[35].GetUInt8());
+ creatureTemplate.family = CreatureFamily(fields[35].GetUInt8());
creatureTemplate.trainer_type = uint32(fields[36].GetUInt8());
creatureTemplate.trainer_class = uint32(fields[37].GetUInt8());
creatureTemplate.trainer_race = uint32(fields[38].GetUInt8());
@@ -915,7 +915,7 @@ void ObjectMgr::CheckCreatureTemplate(CreatureTemplate const* cInfo)
if (cInfo->family && !sCreatureFamilyStore.LookupEntry(cInfo->family) && cInfo->family != CREATURE_FAMILY_HORSE_CUSTOM)
{
TC_LOG_ERROR("sql.sql", "Creature (Entry: %u) has invalid creature family (%u) in `family`.", cInfo->Entry, cInfo->family);
- const_cast<CreatureTemplate*>(cInfo)->family = 0;
+ const_cast<CreatureTemplate*>(cInfo)->family = CREATURE_FAMILY_NONE;
}
if (cInfo->InhabitType <= 0 || cInfo->InhabitType > INHABIT_ANYWHERE)
diff --git a/src/server/game/Miscellaneous/SharedDefines.h b/src/server/game/Miscellaneous/SharedDefines.h
index fa2e5df7a05..c435352405c 100644
--- a/src/server/game/Miscellaneous/SharedDefines.h
+++ b/src/server/game/Miscellaneous/SharedDefines.h
@@ -3794,6 +3794,7 @@ uint32 const CREATURE_TYPEMASK_MECHANICAL_OR_ELEMENTAL = (1 << (CREATURE_TYPE_ME
// CreatureFamily.dbc (6.0.2.18988)
enum CreatureFamily
{
+ CREATURE_FAMILY_NONE = 0,
CREATURE_FAMILY_WOLF = 1,
CREATURE_FAMILY_CAT = 2,
CREATURE_FAMILY_SPIDER = 3,