@@ -189,7 +189,7 @@ Player::Player(WorldSession* session): Unit(true)
189189
190190 m_movie = 0;
191191
192- PlayerTalkClass = new PlayerMenu(GetSession());
192+ PlayerTalkClass = std::make_unique< PlayerMenu> (GetSession());
193193 m_currentBuybackSlot = BUYBACK_SLOT_START;
194194
195195 m_DailyQuestChanged = false;
@@ -202,11 +202,10 @@ Player::Player(WorldSession* session): Unit(true)
202202 SetLastRuneGraceTimer(i, 0);
203203 }
204204
205- for (uint8 i = 0; i < MAX_TIMERS; i++)
206- m_MirrorTimer[i] = DISABLED_MIRROR_TIMER;
207-
205+ m_MirrorTimer.fill(DISABLED_MIRROR_TIMER);
208206 m_MirrorTimerFlags = UNDERWATER_NONE;
209207 m_MirrorTimerFlagsLast = UNDERWATER_NONE;
208+
210209 m_hostileReferenceCheckTimer = 0;
211210 m_drunkTimer = 0;
212211 m_deathTimer = 0;
@@ -222,8 +221,7 @@ Player::Player(WorldSession* session): Unit(true)
222221
223222 m_logintime = GameTime::GetGameTime();
224223 m_Last_tick = m_logintime;
225- m_Played_time[PLAYED_TIME_TOTAL] = 0;
226- m_Played_time[PLAYED_TIME_LEVEL] = 0;
224+ m_Played_time = { };
227225 m_WeaponProficiency = 0;
228226 m_ArmorProficiency = 0;
229227 m_canParry = false;
@@ -265,14 +263,9 @@ Player::Player(WorldSession* session): Unit(true)
265263
266264 _talentMgr = new PlayerTalentInfo();
267265
268- for (uint8 i = 0; i < BASEMOD_END; ++i)
269- {
270- m_auraBaseFlatMod[i] = 0.0f;
271- m_auraBasePctMod[i] = 1.0f;
272- }
273-
274- for (uint8 i = 0; i < MAX_COMBAT_RATING; i++)
275- m_baseRatingValue[i] = 0;
266+ m_auraBaseFlatMod.fill(0.0f);
267+ m_auraBasePctMod.fill(1.0f);
268+ m_baseRatingValue = { };
276269
277270 m_baseSpellPower = 0;
278271 m_baseFeralAP = 0;
@@ -298,12 +291,8 @@ Player::Player(WorldSession* session): Unit(true)
298291
299292 m_contestedPvPTimer = 0;
300293
301- m_declinedname = nullptr;
302-
303294 m_isActive = true;
304295
305- m_runes = nullptr;
306-
307296 m_lastFallTime = 0;
308297 m_lastFallZ = 0;
309298
@@ -317,8 +306,7 @@ Player::Player(WorldSession* session): Unit(true)
317306 m_ChampioningFaction = 0;
318307
319308 m_healthFraction = 0.0f;
320- for (uint8 i = 0; i < MAX_POWERS; ++i)
321- m_powerFraction[i] = 0;
309+ m_powerFraction.fill(0.0f);
322310
323311 isDebugAreaTriggers = false;
324312
@@ -332,10 +320,10 @@ Player::Player(WorldSession* session): Unit(true)
332320 healthBeforeDuel = 0;
333321 manaBeforeDuel = 0;
334322
335- _cinematicMgr = new CinematicMgr(this);
323+ _cinematicMgr = std::make_unique< CinematicMgr> (this);
336324
337- m_achievementMgr = new AchievementMgr(this);
338- m_reputationMgr = new ReputationMgr(this);
325+ m_achievementMgr = std::make_unique< AchievementMgr> (this);
326+ m_reputationMgr = std::make_unique< ReputationMgr> (this);
339327}
340328
341329Player::~Player()
@@ -356,17 +344,9 @@ Player::~Player()
356344 for (ItemMap::iterator iter = mMitems.begin(); iter != mMitems.end(); ++iter)
357345 delete iter->second; //if item is duplicated... then server may crash ... but that item should be deallocated
358346
359- delete PlayerTalkClass;
360-
361347 for (size_t x = 0; x < ItemSetEff.size(); x++)
362348 delete ItemSetEff[x];
363349
364- delete m_declinedname;
365- delete m_runes;
366- delete m_achievementMgr;
367- delete m_reputationMgr;
368- delete _cinematicMgr;
369-
370350 sWorld->DecreasePlayerCount();
371351}
372352
@@ -13896,10 +13876,8 @@ void Player::SendNewItem(Item* item, uint32 count, bool received, bool created,
1389613876
1389713877void Player::PrepareGossipMenu(WorldObject* source, uint32 menuId /*= 0*/, bool showQuests /*= false*/)
1389813878{
13899- PlayerMenu* menu = PlayerTalkClass;
13900- menu->ClearMenus();
13901-
13902- menu->GetGossipMenu().SetMenuId(menuId);
13879+ PlayerTalkClass->ClearMenus();
13880+ PlayerTalkClass->GetGossipMenu().SetMenuId(menuId);
1390313881
1390413882 GossipMenuItemsMapBounds menuItemBounds = sObjectMgr->GetGossipMenuItemsMapBounds(menuId);
1390513883
@@ -13983,7 +13961,7 @@ void Player::PrepareGossipMenu(WorldObject* source, uint32 menuId /*= 0*/, bool
1398313961 if (!trainer || !trainer->IsTrainerValidForPlayer(this))
1398413962 {
1398513963 TC_LOG_ERROR("sql.sql", "GOSSIP_OPTION_TRAINER:: Player {} {} requested wrong gossip menu: {} at Creature: {} (Entry: {})",
13986- GetName(), GetGUID().ToString(), menu ->GetGossipMenu().GetMenuId(), creature->GetName(), creature->GetEntry());
13964+ GetName(), GetGUID().ToString(), PlayerTalkClass ->GetGossipMenu().GetMenuId(), creature->GetName(), creature->GetEntry());
1398713965 canTalk = false;
1398813966 }
1398913967 [[fallthrough]];
@@ -14054,8 +14032,8 @@ void Player::PrepareGossipMenu(WorldObject* source, uint32 menuId /*= 0*/, bool
1405414032 }
1405514033 }
1405614034
14057- menu ->GetGossipMenu().AddMenuItem(itr->second.OptionID, itr->second.OptionIcon, strOptionText, 0, itr->second.OptionType, strBoxText, itr->second.BoxMoney, itr->second.BoxCoded);
14058- menu ->GetGossipMenu().AddGossipMenuItemData(itr->second.OptionID, itr->second.ActionMenuID, itr->second.ActionPoiID);
14035+ PlayerTalkClass ->GetGossipMenu().AddMenuItem(itr->second.OptionID, itr->second.OptionIcon, strOptionText, 0, itr->second.OptionType, strBoxText, itr->second.BoxMoney, itr->second.BoxCoded);
14036+ PlayerTalkClass ->GetGossipMenu().AddGossipMenuItemData(itr->second.OptionID, itr->second.ActionMenuID, itr->second.ActionPoiID);
1405914037 }
1406014038 }
1406114039}
@@ -16735,8 +16713,7 @@ void Player::_LoadDeclinedNames(PreparedQueryResult result)
1673516713 if (!result)
1673616714 return;
1673716715
16738- delete m_declinedname;
16739- m_declinedname = new DeclinedName;
16716+ m_declinedname = std::make_unique<DeclinedName>();
1674016717 for (uint8 i = 0; i < MAX_DECLINED_NAME_CASES; ++i)
1674116718 m_declinedname->name[i] = (*result)[i].GetString();
1674216719}
@@ -24482,7 +24459,7 @@ void Player::InitRunes()
2448224459 if (GetClass() != CLASS_DEATH_KNIGHT)
2448324460 return;
2448424461
24485- m_runes = new Runes;
24462+ m_runes = std::make_unique< Runes>() ;
2448624463
2448724464 m_runes->runeState = 0;
2448824465 m_runes->lastUsedRune = RUNE_BLOOD;
0 commit comments