aboutsummaryrefslogtreecommitdiff
path: root/src/server/game/Entities/Creature
diff options
context:
space:
mode:
authorjoschiwald <joschiwald.trinity@gmail.com>2014-06-15 17:49:17 +0200
committerjoschiwald <joschiwald.trinity@gmail.com>2014-06-15 17:49:17 +0200
commite55835a6a9ae09dd4b65de494cba712c322a2419 (patch)
tree4c0989445e1387f04fc8972d4ba7c4d2684d4aab /src/server/game/Entities/Creature
parent7b3141bfde021f09d9d28eda2467262026a30ba1 (diff)
Core/Creature: load correct vehicleid of difficulty mode npcs if set otherwise inherit from normal mode entry
Closes #8783
Diffstat (limited to 'src/server/game/Entities/Creature')
-rw-r--r--src/server/game/Entities/Creature/Creature.cpp16
1 files changed, 12 insertions, 4 deletions
diff --git a/src/server/game/Entities/Creature/Creature.cpp b/src/server/game/Entities/Creature/Creature.cpp
index 264cae7fa7b..c81ba409495 100644
--- a/src/server/game/Entities/Creature/Creature.cpp
+++ b/src/server/game/Entities/Creature/Creature.cpp
@@ -1173,14 +1173,22 @@ bool Creature::CreateFromProto(uint32 guidlow, uint32 entry, CreatureData const*
SetOriginalEntry(entry);
- if (!vehId)
- vehId = cinfo->VehicleId;
-
- Object::_Create(guidlow, entry, vehId ? HIGHGUID_VEHICLE : HIGHGUID_UNIT);
+ Object::_Create(guidlow, entry, (vehId || cinfo->VehicleId) ? HIGHGUID_VEHICLE : HIGHGUID_UNIT);
if (!UpdateEntry(entry, data))
return false;
+ if (!vehId)
+ {
+ if (GetCreatureTemplate()->VehicleId)
+ {
+ vehId = GetCreatureTemplate()->VehicleId;
+ entry = GetCreatureTemplate()->Entry;
+ }
+ else
+ vehId = cinfo->VehicleId;
+ }
+
if (vehId)
CreateVehicleKit(vehId, entry);