aboutsummaryrefslogtreecommitdiff
path: root/src/game/ArenaTeamHandler.cpp
diff options
context:
space:
mode:
authormegamage <none@none>2008-12-01 17:36:11 -0600
committermegamage <none@none>2008-12-01 17:36:11 -0600
commit920dae4f7fbc0852035da5f12c42e24d70e45786 (patch)
tree55265fff9454ad494fdaa58aa992eb98ebc3fd37 /src/game/ArenaTeamHandler.cpp
parent28e1aec6df5ce68d9878794cd57f515261b1b782 (diff)
*Fix the bug about arena personal rating.
*Update to Mangos 6870. Source: Mangos. Main change: add a function SaveDataFieldToDB(). --HG-- branch : trunk
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;