diff options
| author | Vincent-Michael <vincent_michael@gmx.de> | 2016-09-03 16:36:41 +0200 |
|---|---|---|
| committer | Vincent-Michael <vincent_michael@gmx.de> | 2016-09-03 16:38:04 +0200 |
| commit | 8da93b67345b6342db1540690bc935c56261e063 (patch) | |
| tree | f644ddcfd11ec12ef4e5557a587ba4543f2bfe2b /src | |
| parent | ad52ee8e2569576b395b20f543c5fe0e41bc31b9 (diff) | |
Core/PacketIO: Updated SMSG_QUERY_CREATURE_RESPONSE for 7.0.3
Diffstat (limited to 'src')
| -rw-r--r-- | src/server/game/Entities/Creature/Creature.h | 2 | ||||
| -rw-r--r-- | src/server/game/Globals/ObjectMgr.cpp | 6 | ||||
| -rw-r--r-- | src/server/game/Miscellaneous/SharedDefines.h | 1 | ||||
| -rw-r--r-- | src/server/game/Server/Packets/QueryPackets.cpp | 4 | ||||
| -rw-r--r-- | src/server/game/Server/Packets/QueryPackets.h | 2 |
5 files changed, 8 insertions, 7 deletions
diff --git a/src/server/game/Entities/Creature/Creature.h b/src/server/game/Entities/Creature/Creature.h index a92f4d4fea6..661d655d321 100644 --- a/src/server/game/Entities/Creature/Creature.h +++ b/src/server/game/Entities/Creature/Creature.h @@ -92,7 +92,7 @@ struct TC_GAME_API CreatureTemplate int16 minlevel; int16 maxlevel; int32 expansion; - uint32 HealthScalingExpansion; + int32 HealthScalingExpansion; uint32 RequiredExpansion; uint32 VignetteID; /// @todo Read Vignette.db2 uint32 faction; diff --git a/src/server/game/Globals/ObjectMgr.cpp b/src/server/game/Globals/ObjectMgr.cpp index e84d2d97939..b3a5919fa15 100644 --- a/src/server/game/Globals/ObjectMgr.cpp +++ b/src/server/game/Globals/ObjectMgr.cpp @@ -479,7 +479,7 @@ void ObjectMgr::LoadCreatureTemplate(Field* fields) creatureTemplate.minlevel = fields[15].GetInt16(); creatureTemplate.maxlevel = fields[16].GetInt16(); creatureTemplate.expansion = fields[17].GetInt16(); - creatureTemplate.HealthScalingExpansion = fields[18].GetUInt32(); + creatureTemplate.HealthScalingExpansion = fields[18].GetInt32(); creatureTemplate.RequiredExpansion = fields[19].GetUInt32(); creatureTemplate.VignetteID = fields[20].GetUInt32(); creatureTemplate.faction = fields[21].GetUInt16(); @@ -971,13 +971,13 @@ void ObjectMgr::CheckCreatureTemplate(CreatureTemplate const* cInfo) const_cast<CreatureTemplate*>(cInfo)->expansion = 0; } - if (cInfo->HealthScalingExpansion > MAX_EXPANSIONS) + if ((cInfo->HealthScalingExpansion > (MAX_EXPANSIONS - 1)) && cInfo->HealthScalingExpansion != EXPANSION_LEVEL_CURRENT) { TC_LOG_ERROR("sql.sql", "Table `creature_template` lists creature (Entry: %u) with `HealthScalingExpansion` %u. Ignored and set to 0.", cInfo->Entry, cInfo->HealthScalingExpansion); const_cast<CreatureTemplate*>(cInfo)->HealthScalingExpansion = 0; } - if (cInfo->RequiredExpansion > MAX_EXPANSIONS) + if (cInfo->RequiredExpansion > (MAX_EXPANSIONS - 1)) { TC_LOG_ERROR("sql.sql", "Table `creature_template` lists creature (Entry: %u) with `RequiredExpansion` %u. Ignored and set to 0.", cInfo->Entry, cInfo->RequiredExpansion); const_cast<CreatureTemplate*>(cInfo)->RequiredExpansion = 0; diff --git a/src/server/game/Miscellaneous/SharedDefines.h b/src/server/game/Miscellaneous/SharedDefines.h index 82aba647281..22172f01989 100644 --- a/src/server/game/Miscellaneous/SharedDefines.h +++ b/src/server/game/Miscellaneous/SharedDefines.h @@ -76,6 +76,7 @@ enum LootModes enum Expansions { + EXPANSION_LEVEL_CURRENT = -1, EXPANSION_CLASSIC = 0, EXPANSION_THE_BURNING_CRUSADE = 1, EXPANSION_WRATH_OF_THE_LICH_KING = 2, diff --git a/src/server/game/Server/Packets/QueryPackets.cpp b/src/server/game/Server/Packets/QueryPackets.cpp index d7eb1d576a2..17b911eb029 100644 --- a/src/server/game/Server/Packets/QueryPackets.cpp +++ b/src/server/game/Server/Packets/QueryPackets.cpp @@ -73,9 +73,9 @@ WorldPacket const* WorldPackets::Query::QueryCreatureResponse::Write() _worldPacket << float(Stats.EnergyMulti); _worldPacket << uint32(Stats.QuestItems.size()); _worldPacket << int32(Stats.CreatureMovementInfoID); + _worldPacket << int32(Stats.HealthScalingExpansion); _worldPacket << int32(Stats.RequiredExpansion); - _worldPacket << int32(0); // FlagQuest - _worldPacket << int32(0); + _worldPacket << int32(Stats.VignetteID); if (!Stats.Title.empty()) _worldPacket << Stats.Title; diff --git a/src/server/game/Server/Packets/QueryPackets.h b/src/server/game/Server/Packets/QueryPackets.h index c0e79b88a6f..c41e3717688 100644 --- a/src/server/game/Server/Packets/QueryPackets.h +++ b/src/server/game/Server/Packets/QueryPackets.h @@ -53,7 +53,7 @@ namespace WorldPackets bool Leader = false; std::vector<int32> QuestItems; uint32 CreatureMovementInfoID = 0; - uint32 HealthScalingExpansion = 0; + int32 HealthScalingExpansion = 0; uint32 RequiredExpansion = 0; uint32 VignetteID = 0; uint32 Flags[2]; |
