aboutsummaryrefslogtreecommitdiff
path: root/src/game/Level2.cpp
diff options
context:
space:
mode:
authormegamage <none@none>2008-12-28 10:52:24 -0600
committermegamage <none@none>2008-12-28 10:52:24 -0600
commit3bbf8d6be8cd67d99fc8c1df3a971fe4e7e680ef (patch)
tree0264a08b586df36f290a6b1b6a839dcf9b829c75 /src/game/Level2.cpp
parentac9cced914fb4c9db0b2b64f7fd9f9ab8c7802ee (diff)
parent9fa37dc69344a28a585bc2dee6713d7ebaa03d28 (diff)
HG 698.
--HG-- branch : trunk
Diffstat (limited to 'src/game/Level2.cpp')
-rw-r--r--src/game/Level2.cpp128
1 files changed, 60 insertions, 68 deletions
diff --git a/src/game/Level2.cpp b/src/game/Level2.cpp
index 5f3b12b0eb8..97a094585d1 100644
--- a/src/game/Level2.cpp
+++ b/src/game/Level2.cpp
@@ -1679,80 +1679,72 @@ bool ChatHandler::HandleNpcFactionIdCommand(const char* args)
//kick player
bool ChatHandler::HandleKickPlayerCommand(const char *args)
{
- char* kickName = strtok((char*)args, " ");
- char* kickReason = strtok(NULL, "\n");
+ if(!*args)
+ return false;
+
+ const char* kickName = strtok((char*)args, " ");
+ if(!kickName)
+ {
- if (!kickName)
- {
- Player* player = getSelectedPlayer();
+ SendSysMessage(LANG_NO_CHAR_SELECTED);
+ SetSentErrorMessage(true);
+ return false;
+ }
+
+ std::string name = kickName;
- if(!player)
- {
- SendSysMessage(LANG_NO_CHAR_SELECTED);
- SetSentErrorMessage(true);
- return false;
- }
+ if(!normalizePlayerName(name))
+ {
+ SendSysMessage(LANG_PLAYER_NOT_FOUND);
+ SetSentErrorMessage(true);
+ return false;
+ }
+
+ if(m_session && name==m_session->GetPlayer()->GetName())
+ {
+ SendSysMessage(LANG_COMMAND_KICKSELF);
+ SetSentErrorMessage(true);
+ return false;
+ }
- if(player==m_session->GetPlayer())
- {
- SendSysMessage(LANG_COMMAND_KICKSELF);
- SetSentErrorMessage(true);
- return false;
- }
-
- if(player->GetSession()->GetSecurity() > m_session->GetSecurity())
- {
- SendSysMessage(LANG_YOURS_SECURITY_IS_LOW); //maybe replacement string for this later on
- SetSentErrorMessage(true);
- return false;
- }
+ Player* player = objmgr.GetPlayer(kickName);
+ if(!player)
+ {
+ SendSysMessage(LANG_PLAYER_NOT_FOUND);
+ SetSentErrorMessage(true);
+ return false;
+ }
+
+ if(player->GetSession()->GetSecurity() > m_session->GetSecurity())
+ {
+ SendSysMessage(LANG_YOURS_SECURITY_IS_LOW); //maybe replacement string for this later on
+ SetSentErrorMessage(true);
+ return false;
+ }
+
+ char* kickReason = strtok(NULL, "\n");
+ std::string reason = "No Reason";
+ if(kickReason)
+ {reason = kickReason;}
- player->GetSession()->KickPlayer();
- }
- else
+ if(sWorld.KickPlayer(name.c_str()))
{
- std::string name = kickName;
- std::string reason = "No Reason";
- if(kickReason)
- reason = kickReason;
-
- if(!normalizePlayerName(name))
- {
- SendSysMessage(LANG_PLAYER_NOT_FOUND);
- SetSentErrorMessage(true);
- return false;
- }
-
- if(m_session && name==m_session->GetPlayer()->GetName())
- {
- SendSysMessage(LANG_COMMAND_KICKSELF);
- SetSentErrorMessage(true);
- return false;
- }
-
- if(objmgr.GetPlayer(kickName)->GetSession()->GetSecurity() > m_session->GetSecurity())
- {
- SendSysMessage(LANG_YOURS_SECURITY_IS_LOW); //maybe replacement string for this later on
- SetSentErrorMessage(true);
- return false;
- }
-
- if(sWorld.KickPlayer(name))
- {
- if(sWorld.getConfig(CONFIG_SHOW_KICK_IN_WORLD) == 1)
- {
- sWorld.SendWorldText(LANG_COMMAND_KICKMESSAGE, name.c_str(), m_session->GetPlayer()->GetName(), reason.c_str());
- }
- else
- {
- PSendSysMessage(LANG_COMMAND_KICKMESSAGE, name.c_str(), m_session->GetPlayer()->GetName(), reason.c_str());
- }
- }
- else
- PSendSysMessage(LANG_COMMAND_KICKNOTFOUNDPLAYER, name.c_str());
- }
+ if(sWorld.getConfig(CONFIG_SHOW_KICK_IN_WORLD) == 1)
+ {
+ sWorld.SendWorldText(LANG_COMMAND_KICKMESSAGE, name.c_str(), m_session->GetPlayer()->GetName(), reason.c_str());
+ }
+ else
+ {
+ PSendSysMessage(LANG_COMMAND_KICKMESSAGE, name.c_str(), m_session->GetPlayer()->GetName(), reason.c_str());
+ }
+ }
+ else
+ {
+ PSendSysMessage(LANG_COMMAND_KICKNOTFOUNDPLAYER, name.c_str());
+ return false;
+ }
- return true;
+ return true;
}
//show info of player