diff --git a/src/game/Player.cpp b/src/game/Player.cpp index 271a46652..03b2da894 100644 --- a/src/game/Player.cpp +++ b/src/game/Player.cpp @@ -16158,7 +16158,8 @@ bool Player::LoadFromDB(ObjectGuid guid, SqlQueryHolder* holder) uint32 savedhealth = fields[50].GetUInt32(); SetHealth(savedhealth > GetMaxHealth() ? GetMaxHealth() : savedhealth); - for(uint32 i = 0; i < MAX_STORED_POWERS; ++i) + static_assert(MAX_STORED_POWERS == 5, "Query not updated."); + for (uint32 i = 0; i < MAX_STORED_POWERS; ++i) { uint32 savedpower = fields[51 + i].GetUInt32(); SetPowerByIndex(i, std::min(savedpower, GetMaxPowerByIndex(i))); @@ -17592,6 +17593,7 @@ void Player::SaveToDB() uberInsert.addUInt32(GetHealth()); + static_assert(MAX_STORED_POWERS == 5, "Query not updated."); for (uint32 i = 0; i < MAX_STORED_POWERS; ++i) uberInsert.addUInt32(GetPowerByIndex(i)); @@ -18267,7 +18269,8 @@ void Player::_SaveStats() stmt.addUInt32(GetGUIDLow()); stmt.addUInt32(GetMaxHealth()); - for (int i = 0; i < MAX_STORED_POWERS; ++i) + static_assert(MAX_STORED_POWERS == 5, "Query not updated."); + for (uint32 i = 0; i < MAX_STORED_POWERS; ++i) stmt.addUInt32(GetMaxPowerByIndex(i)); for (int i = 0; i < MAX_STATS; ++i) stmt.addFloat(GetStat(Stats(i))); diff --git a/src/game/SharedDefines.h b/src/game/SharedDefines.h index 7e18d606f..134b93a16 100644 --- a/src/game/SharedDefines.h +++ b/src/game/SharedDefines.h @@ -154,7 +154,7 @@ enum Powers POWER_SOUL_SHARDS = 7, POWER_ECLIPSE = 8, POWER_HOLY_POWER = 9, - POWER_ALTERNATE = 10, + POWER_ALTERNATIVE = 10, MAX_POWERS = 11, POWER_HEALTH = 0xFFFFFFFE // (-2 as signed value) }; diff --git a/src/game/Unit.h b/src/game/Unit.h index ba3fa6e42..34d8b352c 100644 --- a/src/game/Unit.h +++ b/src/game/Unit.h @@ -338,7 +338,7 @@ enum UnitMods UNIT_MOD_SOUL_SHARDS, UNIT_MOD_ECLIPSE, UNIT_MOD_HOLY_POWER, - UNIT_MOD_ALTERNATE, + UNIT_MOD_ALTERNATIVE, UNIT_MOD_ARMOR, // UNIT_MOD_ARMOR..UNIT_MOD_RESISTANCE_ARCANE must be in existing order, it's accessed by index values of SpellSchools enum. UNIT_MOD_RESISTANCE_HOLY, UNIT_MOD_RESISTANCE_FIRE, @@ -358,9 +358,11 @@ enum UnitMods UNIT_MOD_RESISTANCE_START = UNIT_MOD_ARMOR, UNIT_MOD_RESISTANCE_END = UNIT_MOD_RESISTANCE_ARCANE + 1, UNIT_MOD_POWER_START = UNIT_MOD_MANA, - UNIT_MOD_POWER_END = UNIT_MOD_RUNIC_POWER + 1 + UNIT_MOD_POWER_END = UNIT_MOD_ALTERNATIVE + 1 }; +static_assert(UNIT_MOD_POWER_END - UNIT_MOD_POWER_START == MAX_POWERS, "Power-related UnitMods are not updated."); + enum BaseModGroup { CRIT_PERCENTAGE,