Core: Fix issues with builds after rf68255d6ac

( and a minor int32->uint32 change for SendNotification() )

--HG--
branch : trunk
This commit is contained in:
click
2010-11-24 13:20:36 +01:00
parent fa97598594
commit c786f08146
2 changed files with 17 additions and 45 deletions
+16 -44
View File
@@ -216,15 +216,18 @@ bool ChatHandler::HandleKickPlayerCommand(const char *args)
if (!kickName) if (!kickName)
{ {
Player* player = getSelectedPlayer(); Player* target;
if (!player) if (!extractPlayerTarget((char*)args,&target))
return false;
if (!target)
{ {
SendSysMessage(LANG_NO_CHAR_SELECTED); SendSysMessage(LANG_PLAYER_NOT_FOUND);
SetSentErrorMessage(true); SetSentErrorMessage(true);
return false; return false;
} }
if (player == m_session->GetPlayer()) if (m_session && target == m_session->GetPlayer())
{ {
SendSysMessage(LANG_COMMAND_KICKSELF); SendSysMessage(LANG_COMMAND_KICKSELF);
SetSentErrorMessage(true); SetSentErrorMessage(true);
@@ -232,19 +235,15 @@ bool ChatHandler::HandleKickPlayerCommand(const char *args)
} }
// check online security // check online security
if (HasLowerSecurity(player, 0)) if (HasLowerSecurity(target, 0))
return false; return false;
if (sWorld.getBoolConfig(CONFIG_SHOW_KICK_IN_WORLD) == 1) if (sWorld.getBoolConfig(CONFIG_SHOW_KICK_IN_WORLD))
{ sWorld.SendWorldText(LANG_COMMAND_KICKMESSAGE, target->GetName(), kicker.c_str(), reason.c_str());
sWorld.SendWorldText(LANG_COMMAND_KICKMESSAGE, player->GetName(), kicker.c_str(), reason.c_str());
}
else else
{ PSendSysMessage(LANG_COMMAND_KICKMESSAGE, target->GetName(), kicker.c_str(), reason.c_str());
PSendSysMessage(LANG_COMMAND_KICKMESSAGE, player->GetName(), kicker.c_str(), reason.c_str());
}
player->GetSession()->KickPlayer(); target->GetSession()->KickPlayer();
} }
else else
{ {
@@ -280,41 +279,14 @@ bool ChatHandler::HandleKickPlayerCommand(const char *args)
std::string nameLink = playerLink(name); std::string nameLink = playerLink(name);
if (sWorld.KickPlayer(name)) if (sWorld.getBoolConfig(CONFIG_SHOW_KICK_IN_WORLD))
{ sWorld.SendWorldText(LANG_COMMAND_KICKMESSAGE, nameLink.c_str(), kicker.c_str(), reason.c_str());
if (sWorld.getBoolConfig(CONFIG_SHOW_KICK_IN_WORLD) == 1)
{
sWorld.SendWorldText(LANG_COMMAND_KICKMESSAGE, nameLink.c_str(), kicker.c_str(), reason.c_str());
}
else
{
PSendSysMessage(LANG_COMMAND_KICKMESSAGE,nameLink.c_str());
}
}
else else
{ PSendSysMessage(LANG_COMMAND_KICKMESSAGE,nameLink.c_str());
PSendSysMessage(LANG_COMMAND_KICKNOTFOUNDPLAYER,nameLink.c_str());
return false;
}
}
Player* target;
if (!extractPlayerTarget((char*)args,&target))
return false;
if (m_session && target == m_session->GetPlayer()) player->GetSession()->KickPlayer();
{
SendSysMessage(LANG_COMMAND_KICKSELF);
SetSentErrorMessage(true);
return false;
} }
// check online security
if (HasLowerSecurity(target, 0))
return false;
// send before target pointer invalidate
PSendSysMessage(LANG_COMMAND_KICKMESSAGE,GetNameLink(target).c_str());
target->GetSession()->KickPlayer();
return true; return true;
} }
+1 -1
View File
@@ -159,7 +159,7 @@ class WorldSession
void SendPacket(WorldPacket const* packet); void SendPacket(WorldPacket const* packet);
void SendNotification(const char *format,...) ATTR_PRINTF(2,3); void SendNotification(const char *format,...) ATTR_PRINTF(2,3);
void SendNotification(int32 string_id,...); void SendNotification(uint32 string_id,...);
void SendPetNameInvalid(uint32 error, const std::string& name, DeclinedName *declinedName); void SendPetNameInvalid(uint32 error, const std::string& name, DeclinedName *declinedName);
void SendPartyResult(PartyOperation operation, const std::string& member, PartyResult res, uint32 val = 0); void SendPartyResult(PartyOperation operation, const std::string& member, PartyResult res, uint32 val = 0);
void SendAreaTriggerMessage(const char* Text, ...) ATTR_PRINTF(2,3); void SendAreaTriggerMessage(const char* Text, ...) ATTR_PRINTF(2,3);