aboutsummaryrefslogtreecommitdiff
path: root/src/game/ArenaTeamHandler.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'src/game/ArenaTeamHandler.cpp')
-rw-r--r--src/game/ArenaTeamHandler.cpp52
1 files changed, 18 insertions, 34 deletions
diff --git a/src/game/ArenaTeamHandler.cpp b/src/game/ArenaTeamHandler.cpp
index b5f8e69c918..1ce844c4a26 100644
--- a/src/game/ArenaTeamHandler.cpp
+++ b/src/game/ArenaTeamHandler.cpp
@@ -291,39 +291,29 @@ void WorldSession::HandleArenaTeamRemoveFromTeamOpcode(WorldPacket & recv_data)
recv_data >> name;
ArenaTeam *at = objmgr.GetArenaTeamById(ArenaTeamId);
- if(!at)
- {
- // arena team not found
+ if(!at) // arena team not found
return;
- }
- uint64 guid = objmgr.GetPlayerGUIDByName(name);
- if(!guid)
+ if(at->GetCaptain() != _player->GetGUID())
{
- // player guid not found
+ SendArenaTeamCommandResult(ERR_ARENA_TEAM_CREATE_S, "", "", ERR_ARENA_TEAM_PERMISSIONS);
return;
}
- if(at->GetCaptain() == guid)
- {
- // unsure
- SendArenaTeamCommandResult(ERR_ARENA_TEAM_CREATE_S, "", "", ERR_ARENA_TEAM_PERMISSIONS);
+ if(!normalizePlayerName(name))
return;
- }
- if(at->GetCaptain() != _player->GetGUID())
- {
- SendArenaTeamCommandResult(ERR_ARENA_TEAM_CREATE_S, "", "", ERR_ARENA_TEAM_PERMISSIONS);
+ ArenaTeamMember* member = at->GetMember(name);
+ if(!member) // member not found
return;
- }
- if(at->GetCaptain() == guid)
+ if(at->GetCaptain() == member->guid)
{
SendArenaTeamCommandResult(ERR_ARENA_TEAM_CREATE_S, "", "", ERR_ARENA_TEAM_LEADER_LEAVE_S);
return;
}
- at->DelMember(guid);
+ at->DelMember(member->guid);
// event
WorldPacket data;
@@ -345,32 +335,26 @@ void WorldSession::HandleArenaTeamPromoteToCaptainOpcode(WorldPacket & recv_data
recv_data >> name;
ArenaTeam *at = objmgr.GetArenaTeamById(ArenaTeamId);
- if(!at)
- {
- // arena team not found
+ if(!at) // arena team not found
return;
- }
- uint64 guid = objmgr.GetPlayerGUIDByName(name);
- if(!guid)
+ if(at->GetCaptain() != _player->GetGUID())
{
- // player guid not found
+ SendArenaTeamCommandResult(ERR_ARENA_TEAM_CREATE_S, "", "", ERR_ARENA_TEAM_PERMISSIONS);
return;
}
- if(at->GetCaptain() == guid)
- {
- // target player already captain
+ if(!normalizePlayerName(name))
return;
- }
- if(at->GetCaptain() != _player->GetGUID())
- {
- SendArenaTeamCommandResult(ERR_ARENA_TEAM_CREATE_S, "", "", ERR_ARENA_TEAM_PERMISSIONS);
+ ArenaTeamMember* member = at->GetMember(name);
+ if(!member) // member not found
+ return;
+
+ if(at->GetCaptain() == member->guid) // target player already captain
return;
- }
- at->SetCaptain(guid);
+ at->SetCaptain(member->guid);
// event
WorldPacket data;