Skip to content

Commit 9ffc854

Browse files
committed
Core/Misc: Reduce differences between branches
1 parent f40409c commit 9ffc854

File tree

14 files changed

+123
-127
lines changed

14 files changed

+123
-127
lines changed

src/server/game/Chat/Chat.cpp

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -694,7 +694,7 @@ int ChatHandler::GetSessionDbLocaleIndex() const
694694
return m_session->GetSessionDbLocaleIndex();
695695
}
696696

697-
std::string ChatHandler::GetNameLink(Player* chr) const
697+
std::string ChatHandler::GetNameLink(Player const* chr) const
698698
{
699699
return playerLink(chr->GetName());
700700
}

src/server/game/Chat/Chat.h

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -117,7 +117,7 @@ class TC_GAME_API ChatHandler
117117
bool extractPlayerTarget(char* args, Player** player, ObjectGuid* player_guid = nullptr, std::string* player_name = nullptr);
118118

119119
std::string playerLink(std::string const& name) const { return m_session ? "|cffffffff|Hplayer:"+name+"|h["+name+"]|h|r" : name; }
120-
std::string GetNameLink(Player* chr) const;
120+
std::string GetNameLink(Player const* chr) const;
121121

122122
GameObject* GetNearbyGameObject();
123123
GameObject* GetObjectFromPlayerMapByDbGuid(ObjectGuid::LowType lowguid);

src/server/game/Entities/Player/Player.cpp

Lines changed: 39 additions & 40 deletions
Original file line numberDiff line numberDiff line change
@@ -5614,69 +5614,68 @@ bool Player::UpdateFishingSkill()
56145614
return false;
56155615
}
56165616

5617-
// levels sync. with spell requirement for skill levels to learn
5618-
// bonus abilities in sSkillLineAbilityStore
5619-
// Used only to avoid scan DBC at each skill grow
5620-
static uint32 bonusSkillLevels[ ] = {75, 150, 225, 300, 375, 450};
5621-
static const size_t bonusSkillLevelsSize = sizeof(bonusSkillLevels) / sizeof(uint32);
5622-
5623-
bool Player::UpdateSkillPro(uint16 SkillId, int32 Chance, uint32 step)
5617+
bool Player::UpdateSkillPro(uint16 skillId, int32 chance, uint32 step)
56245618
{
5619+
// levels sync. with spell requirement for skill levels to learn
5620+
// bonus abilities in sSkillLineAbilityStore
5621+
// Used only to avoid scan DBC at each skill grow
5622+
uint32 const bonusSkillLevels[] = { 75, 150, 225, 300, 375, 450 };
5623+
56255624
TC_LOG_DEBUG("entities.player.skills", "Player::UpdateSkillPro: Player '{}' ({}), SkillID: {}, Chance: {:3.1f}%)",
5626-
GetName(), GetGUID().ToString(), SkillId, Chance / 10.0f);
5627-
if (!SkillId)
5625+
GetName(), GetGUID().ToString(), skillId, chance / 10.0f);
5626+
if (!skillId)
56285627
return false;
56295628

5630-
if (Chance <= 0) // speedup in 0 chance case
5629+
if (chance <= 0) // speedup in 0 chance case
56315630
{
56325631
TC_LOG_DEBUG("entities.player.skills", "Player::UpdateSkillPro: Player '{}' ({}), SkillID: {}, Chance: {:3.1f}% missed",
5633-
GetName(), GetGUID().ToString(), SkillId, Chance / 10.0f);
5632+
GetName(), GetGUID().ToString(), skillId, chance / 10.0f);
56345633
return false;
56355634
}
56365635

5637-
SkillStatusMap::iterator itr = mSkillStatus.find(SkillId);
5636+
SkillStatusMap::iterator itr = mSkillStatus.find(skillId);
56385637
if (itr == mSkillStatus.end() || itr->second.uState == SKILL_DELETED)
56395638
return false;
56405639

56415640
uint32 valueIndex = PLAYER_SKILL_VALUE_INDEX(itr->second.pos);
56425641

56435642
uint32 data = GetUInt32Value(valueIndex);
5644-
uint16 SkillValue = SKILL_VALUE(data);
5645-
uint16 MaxValue = SKILL_MAX(data);
5643+
uint16 value = SKILL_VALUE(data);
5644+
uint16 max = SKILL_MAX(data);
56465645

5647-
if (!MaxValue || !SkillValue || SkillValue >= MaxValue)
5646+
if (!max || !value || value >= max)
56485647
return false;
56495648

5650-
int32 Roll = irand(1, 1000);
5651-
5652-
if (Roll <= Chance)
5649+
if (irand(1, 1000) > chance)
56535650
{
5654-
uint32 new_value = SkillValue+step;
5655-
if (new_value > MaxValue)
5656-
new_value = MaxValue;
5651+
TC_LOG_DEBUG("entities.player.skills",
5652+
"Player::UpdateSkillPro: Player '{}' ({}), SkillID: {}, Chance: {:3.1f}% missed",
5653+
GetName(), GetGUID().ToString(), skillId, chance / 10.0f);
5654+
return false;
5655+
}
56575656

5658-
SetUInt32Value(valueIndex, MAKE_SKILL_VALUE(new_value, MaxValue));
5659-
if (itr->second.uState != SKILL_NEW)
5660-
itr->second.uState = SKILL_CHANGED;
5661-
for (size_t i = 0; i < bonusSkillLevelsSize; ++i)
5657+
uint16 new_value = value + step;
5658+
if (new_value > max)
5659+
new_value = max;
5660+
5661+
SetUInt32Value(valueIndex, MAKE_SKILL_VALUE(new_value, max));
5662+
if (itr->second.uState != SKILL_NEW)
5663+
itr->second.uState = SKILL_CHANGED;
5664+
5665+
for (uint32 bsl : bonusSkillLevels)
5666+
{
5667+
if (value < bsl && new_value >= bsl)
56625668
{
5663-
uint32 bsl = bonusSkillLevels[i];
5664-
if (SkillValue < bsl && new_value >= bsl)
5665-
{
5666-
LearnSkillRewardedSpells(SkillId, new_value);
5667-
break;
5668-
}
5669+
LearnSkillRewardedSpells(skillId, new_value);
5670+
break;
56695671
}
5670-
UpdateSkillEnchantments(SkillId, SkillValue, new_value);
5671-
UpdateAchievementCriteria(ACHIEVEMENT_CRITERIA_TYPE_REACH_SKILL_LEVEL, SkillId);
5672-
TC_LOG_DEBUG("entities.player.skills", "Player::UpdateSkillPro: Player '{}' ({}), SkillID: {}, Chance: {:3.1f}% taken",
5673-
GetName(), GetGUID().ToString(), SkillId, Chance / 10.0f);
5674-
return true;
56755672
}
56765673

5677-
TC_LOG_DEBUG("entities.player.skills", "Player::UpdateSkillPro: Player '{}' ({}), SkillID: {}, Chance: {:3.1f}% missed",
5678-
GetName(), GetGUID().ToString(), SkillId, Chance / 10.0f);
5679-
return false;
5674+
UpdateSkillEnchantments(skillId, value, new_value);
5675+
UpdateAchievementCriteria(ACHIEVEMENT_CRITERIA_TYPE_REACH_SKILL_LEVEL, skillId);
5676+
TC_LOG_DEBUG("entities.player.skills", "Player::UpdateSkillPro: Player '{}' ({}), SkillID: {}, Chance: {:3.1f}% taken",
5677+
GetName(), GetGUID().ToString(), skillId, chance / 10.0f);
5678+
return true;
56805679
}
56815680

56825681
void Player::UpdateWeaponSkill(Unit* victim, WeaponAttackType attType)
@@ -23717,7 +23716,7 @@ uint32 Player::GetResurrectionSpellId()
2371723716
}
2371823717

2371923718
// Used in triggers for check "Only to targets that grant experience or honor" req
23720-
bool Player::isHonorOrXPTarget(Unit* victim) const
23719+
bool Player::isHonorOrXPTarget(Unit const* victim) const
2372123720
{
2372223721
uint8 v_level = victim->GetLevel();
2372323722
uint8 k_grey = Trinity::XP::GetGrayLevel(GetLevel());

src/server/game/Entities/Player/Player.h

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1633,7 +1633,7 @@ class TC_GAME_API Player : public Unit, public GridObject<Player>
16331633
void StoreRaidMapDifficulty();
16341634

16351635
bool UpdateSkill(uint32 skill_id, uint32 step);
1636-
bool UpdateSkillPro(uint16 SkillId, int32 Chance, uint32 step);
1636+
bool UpdateSkillPro(uint16 skillId, int32 chance, uint32 step);
16371637

16381638
bool UpdateCraftSkill(uint32 spellid);
16391639
bool UpdateGatherSkill(uint32 SkillId, uint32 SkillValue, uint32 RedLevel, uint32 Multiplicator = 1);
@@ -1818,7 +1818,7 @@ class TC_GAME_API Player : public Unit, public GridObject<Player>
18181818
bool IsAtRecruitAFriendDistance(WorldObject const* pOther) const;
18191819
void RewardPlayerAndGroupAtKill(Unit* victim, bool isBattleGround);
18201820
void RewardPlayerAndGroupAtEvent(uint32 creature_id, WorldObject* pRewardSource);
1821-
bool isHonorOrXPTarget(Unit* victim) const;
1821+
bool isHonorOrXPTarget(Unit const* victim) const;
18221822

18231823
bool GetsRecruitAFriendBonus(bool forXP);
18241824
uint8 GetGrantableLevels() const { return m_grantableLevels; }

src/server/game/Globals/ObjectMgr.cpp

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -7628,7 +7628,7 @@ inline void CheckGOSpellId(GameObjectTemplate const* goInfo, uint32 dataN, uint3
76287628
goInfo->entry, goInfo->type, N, dataN, dataN);
76297629
}
76307630

7631-
inline void CheckAndFixGOChairHeightId(GameObjectTemplate const* goInfo, uint32 const& dataN, uint32 N)
7631+
inline void CheckAndFixGOChairHeightId(GameObjectTemplate const* goInfo, uint32& dataN, uint32 N)
76327632
{
76337633
if (dataN <= (UNIT_STAND_STATE_SIT_HIGH_CHAIR-UNIT_STAND_STATE_SIT_LOW_CHAIR))
76347634
return;
@@ -7637,7 +7637,7 @@ inline void CheckAndFixGOChairHeightId(GameObjectTemplate const* goInfo, uint32
76377637
goInfo->entry, goInfo->type, N, dataN, UNIT_STAND_STATE_SIT_HIGH_CHAIR-UNIT_STAND_STATE_SIT_LOW_CHAIR);
76387638

76397639
// prevent client and server unexpected work
7640-
const_cast<uint32&>(dataN) = 0;
7640+
dataN = 0;
76417641
}
76427642

76437643
inline void CheckGONoDamageImmuneId(GameObjectTemplate* goTemplate, uint32 dataN, uint32 N)

src/server/game/Guilds/Guild.cpp

Lines changed: 36 additions & 26 deletions
Original file line numberDiff line numberDiff line change
@@ -1363,25 +1363,31 @@ void Guild::HandleSetEmblem(WorldSession* session, EmblemInfo const& emblemInfo)
13631363
}
13641364
}
13651365

1366-
void Guild::HandleSetLeader(WorldSession* session, std::string_view name)
1366+
void Guild::HandleSetNewGuildMaster(WorldSession* session, std::string_view name)
13671367
{
13681368
Player* player = session->GetPlayer();
1369-
// Only leader can assign new leader
1369+
1370+
Member* oldGuildMaster = GetMember(GetLeaderGUID());
1371+
ASSERT(oldGuildMaster);
1372+
13701373
if (!_IsLeader(player))
1371-
SendCommandResult(session, GUILD_COMMAND_CHANGE_LEADER, ERR_GUILD_PERMISSIONS);
1372-
// Old leader must be a member of guild
1373-
else if (Member* pOldLeader = GetMember(player->GetGUID()))
13741374
{
1375-
// New leader must be a member of guild
1376-
if (Member* pNewLeader = GetMember(name))
1377-
{
1378-
_SetLeaderGUID(*pNewLeader);
1379-
1380-
CharacterDatabaseTransaction trans(nullptr);
1381-
pOldLeader->ChangeRank(trans, GR_OFFICER);
1382-
_BroadcastEvent(GE_LEADER_CHANGED, ObjectGuid::Empty, player->GetName(), pNewLeader->GetName());
1383-
}
1375+
SendCommandResult(session, GUILD_COMMAND_CHANGE_LEADER, ERR_GUILD_PERMISSIONS);
1376+
return;
13841377
}
1378+
1379+
Member* newGuildMaster = GetMember(name);
1380+
if (!newGuildMaster)
1381+
return;
1382+
1383+
CharacterDatabaseTransaction trans = CharacterDatabase.BeginTransaction();
1384+
1385+
_SetLeader(trans, *newGuildMaster);
1386+
oldGuildMaster->ChangeRank(trans, GR_OFFICER);
1387+
1388+
_BroadcastEvent(GE_LEADER_CHANGED, ObjectGuid::Empty, player->GetName(), newGuildMaster->GetName());
1389+
1390+
CharacterDatabase.CommitTransaction(trans);
13851391
}
13861392

13871393
void Guild::HandleSetBankTabInfo(WorldSession* session, uint8 tabId, std::string_view name, std::string_view icon)
@@ -2095,15 +2101,15 @@ bool Guild::Validate()
20952101
// Repair the structure of the guild.
20962102
// If the guildmaster doesn't exist or isn't member of the guild
20972103
// attempt to promote another member.
2098-
Member* pLeader = GetMember(m_leaderGuid);
2099-
if (!pLeader)
2104+
Member* leader = GetMember(m_leaderGuid);
2105+
if (!leader)
21002106
{
21012107
CharacterDatabaseTransaction dummy(nullptr);
21022108
if (DeleteMember(dummy, m_leaderGuid))
21032109
return false;
21042110
}
2105-
else if (!pLeader->IsRank(GR_GUILDMASTER))
2106-
_SetLeaderGUID(*pLeader);
2111+
else if (!leader->IsRank(GR_GUILDMASTER))
2112+
_SetLeader(trans, *leader);
21072113

21082114
// Check config if multiple guildmasters are allowed
21092115
if (!sConfigMgr->GetBoolDefault("Guild.AllowMultipleGuildMaster", false))
@@ -2271,9 +2277,9 @@ bool Guild::DeleteMember(CharacterDatabaseTransaction trans, ObjectGuid guid, bo
22712277
{
22722278
Member* oldLeader = nullptr;
22732279
Member* newLeader = nullptr;
2274-
for (auto& [guid, member] : m_members)
2280+
for (auto& [memberGuid, member] : m_members)
22752281
{
2276-
if (guid == lowguid)
2282+
if (memberGuid == lowguid)
22772283
oldLeader = &member;
22782284
else if (!newLeader || newLeader->GetRankId() > member.GetRankId())
22792285
newLeader = &member;
@@ -2285,7 +2291,7 @@ bool Guild::DeleteMember(CharacterDatabaseTransaction trans, ObjectGuid guid, bo
22852291
return true;
22862292
}
22872293

2288-
_SetLeaderGUID(*newLeader);
2294+
_SetLeader(trans, *newLeader);
22892295

22902296
// If player not online data in data field will be loaded from guild tabs no need to update it !!
22912297
if (Player* newLeaderPlayer = newLeader->FindPlayer())
@@ -2524,18 +2530,22 @@ bool Guild::_ModifyBankMoney(CharacterDatabaseTransaction trans, uint64 amount,
25242530
return true;
25252531
}
25262532

2527-
void Guild::_SetLeaderGUID(Member& pLeader)
2533+
void Guild::_SetLeader(CharacterDatabaseTransaction trans, Member& leader)
25282534
{
2529-
CharacterDatabaseTransaction trans = CharacterDatabase.BeginTransaction();
2530-
m_leaderGuid = pLeader.GetGUID();
2531-
pLeader.ChangeRank(trans, GR_GUILDMASTER);
2535+
bool isInTransaction = bool(trans);
2536+
if (!isInTransaction)
2537+
trans = CharacterDatabase.BeginTransaction();
2538+
2539+
m_leaderGuid = leader.GetGUID();
2540+
leader.ChangeRank(trans, GR_GUILDMASTER);
25322541

25332542
CharacterDatabasePreparedStatement* stmt = CharacterDatabase.GetPreparedStatement(CHAR_UPD_GUILD_LEADER);
25342543
stmt->setUInt32(0, m_leaderGuid.GetCounter());
25352544
stmt->setUInt32(1, m_id);
25362545
trans->Append(stmt);
25372546

2538-
CharacterDatabase.CommitTransaction(trans);
2547+
if (!isInTransaction)
2548+
CharacterDatabase.CommitTransaction(trans);
25392549
}
25402550

25412551
void Guild::_SetRankBankMoneyPerDay(uint8 rankId, uint32 moneyPerDay)

src/server/game/Guilds/Guild.h

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -652,7 +652,7 @@ class TC_GAME_API Guild
652652
void HandleSetMOTD(WorldSession* session, std::string_view motd);
653653
void HandleSetInfo(WorldSession* session, std::string_view info);
654654
void HandleSetEmblem(WorldSession* session, EmblemInfo const& emblemInfo);
655-
void HandleSetLeader(WorldSession* session, std::string_view name);
655+
void HandleSetNewGuildMaster(WorldSession* session, std::string_view name);
656656
void HandleSetBankTabInfo(WorldSession* session, uint8 tabId, std::string_view name, std::string_view icon);
657657
void HandleSetMemberNote(WorldSession* session, std::string_view note, std::string_view name, bool isPublic);
658658
void HandleSetRankInfo(WorldSession* session, uint8 rankId, std::string_view name, uint32 rights, uint32 moneyPerDay, std::array<GuildBankRightsAndSlots, GUILD_BANK_MAX_TABS> const& rightsAndSlots);
@@ -801,7 +801,7 @@ class TC_GAME_API Guild
801801
bool _IsLeader(Player* player) const;
802802
void _DeleteBankItems(CharacterDatabaseTransaction trans, bool removeItemsFromDB = false);
803803
bool _ModifyBankMoney(CharacterDatabaseTransaction trans, uint64 amount, bool add);
804-
void _SetLeaderGUID(Member& pLeader);
804+
void _SetLeader(CharacterDatabaseTransaction trans, Member& leader);
805805

806806
void _SetRankBankMoneyPerDay(uint8 rankId, uint32 moneyPerDay);
807807
void _SetRankBankTabRightsAndSlots(uint8 rankId, GuildBankRightsAndSlots rightsAndSlots, bool saveToDB = true);

src/server/game/Handlers/GuildHandler.cpp

Lines changed: 9 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -127,15 +127,6 @@ void WorldSession::HandleGuildDelete(WorldPackets::Guild::GuildDelete& /*packet*
127127
guild->HandleDisband(this);
128128
}
129129

130-
void WorldSession::HandleGuildSetGuildMaster(WorldPackets::Guild::GuildSetGuildMaster& packet)
131-
{
132-
TC_LOG_DEBUG("guild", "CMSG_GUILD_LEADER [{}]: Target: {}", GetPlayerInfo(), packet.NewMasterName);
133-
134-
if (normalizePlayerName(packet.NewMasterName))
135-
if (Guild* guild = GetPlayer()->GetGuild())
136-
guild->HandleSetLeader(this, packet.NewMasterName);
137-
}
138-
139130
void WorldSession::HandleGuildUpdateMotdText(WorldPackets::Guild::GuildUpdateMotdText& packet)
140131
{
141132
TC_LOG_DEBUG("guild", "CMSG_GUILD_MOTD [{}]: MOTD: {}", GetPlayerInfo(), packet.MotdText);
@@ -381,3 +372,12 @@ void WorldSession::HandleGuildBankSetTabText(WorldPackets::Guild::GuildBankSetTa
381372
if (Guild* guild = GetPlayer()->GetGuild())
382373
guild->SetBankTabText(packet.Tab, packet.TabText);
383374
}
375+
376+
void WorldSession::HandleGuildSetGuildMaster(WorldPackets::Guild::GuildSetGuildMaster& packet)
377+
{
378+
TC_LOG_DEBUG("guild", "CMSG_GUILD_LEADER [{}]: Target: {}", GetPlayerInfo(), packet.NewMasterName);
379+
380+
if (normalizePlayerName(packet.NewMasterName))
381+
if (Guild* guild = GetPlayer()->GetGuild())
382+
guild->HandleSetNewGuildMaster(this, packet.NewMasterName);
383+
}

src/server/game/Handlers/MailHandler.cpp

Lines changed: 2 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -361,8 +361,7 @@ void WorldSession::HandleMailReturnToSender(WorldPackets::Mail::MailReturnToSend
361361
player->SendMailResult(returnToSender.MailID, MAIL_RETURNED_TO_SENDER, MAIL_ERR_INTERNAL_ERROR);
362362
return;
363363
}
364-
//we can return mail now
365-
//so firstly delete the old one
364+
//we can return mail now, so firstly delete the old one
366365
CharacterDatabaseTransaction trans = CharacterDatabase.BeginTransaction();
367366

368367
CharacterDatabasePreparedStatement* stmt = CharacterDatabase.GetPreparedStatement(CHAR_DEL_MAIL_BY_ID);
@@ -386,14 +385,8 @@ void WorldSession::HandleMailReturnToSender(WorldPackets::Mail::MailReturnToSend
386385
{
387386
for (MailItemInfoVec::iterator itr2 = m->items.begin(); itr2 != m->items.end(); ++itr2)
388387
{
389-
Item* item = player->GetMItem(itr2->item_guid);
390-
if (item)
388+
if (Item* item = player->GetMItem(itr2->item_guid))
391389
draft.AddItem(item);
392-
else
393-
{
394-
//WTF?
395-
}
396-
397390
player->RemoveMItem(itr2->item_guid);
398391
}
399392
}

src/server/game/Scripting/ScriptMgr.h

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -63,7 +63,6 @@ class WorldSocket;
6363
class WorldObject;
6464
class WorldSession;
6565

66-
struct AchievementCriteriaData;
6766
struct AreaTriggerEntry;
6867
struct AuctionEntry;
6968
struct ConditionSourceInfo;

0 commit comments

Comments
 (0)