diff options
-rw-r--r-- | src/server/game/Entities/Player/Player.cpp | 20 | ||||
-rw-r--r-- | src/server/game/Entities/Player/Player.h | 2 |
2 files changed, 22 insertions, 0 deletions
diff --git a/src/server/game/Entities/Player/Player.cpp b/src/server/game/Entities/Player/Player.cpp index 8eb2d34229e..1e3bd84c780 100644 --- a/src/server/game/Entities/Player/Player.cpp +++ b/src/server/game/Entities/Player/Player.cpp @@ -24003,3 +24003,23 @@ void Player::_LoadRandomBGStatus(QueryResult_AutoPtr result) if (result) m_IsBGRandomWinner = true; } + +float Player::GetAverageItemLevel() +{ + uint32 sum = 0; + uint32 count = 0; + + for (int i = EQUIPMENT_SLOT_START; i < EQUIPMENT_SLOT_END; ++i) + { + // don't check tabard, ranged, offhand or chest + if (i == EQUIPMENT_SLOT_TABARD || i == EQUIPMENT_SLOT_RANGED || i == EQUIPMENT_SLOT_OFFHAND || i == EQUIPMENT_SLOT_CHEST) + continue; + + if (m_items[i] && m_items[i]->GetProto()) + sum += m_items[i]->GetProto()->ItemLevel; + + count++; + } + + return ((float)sum) / count; +} diff --git a/src/server/game/Entities/Player/Player.h b/src/server/game/Entities/Player/Player.h index 4f8da387fb2..2d6690bd817 100644 --- a/src/server/game/Entities/Player/Player.h +++ b/src/server/game/Entities/Player/Player.h @@ -2347,6 +2347,8 @@ class Player : public Unit, public GridObject<Player> void SetChampioningFaction(uint32 faction) { m_ChampioningFaction = faction; } Spell * m_spellModTakingSpell; + float GetAverageItemLevel(); + protected: uint32 m_AreaID; uint32 m_regenTimerCount; |