bool Party::invitePlayer(Player* player) { if(!player || player->isRemoved()){ return false; } if(std::find(inviteList.begin(), inviteList.end(), player) != inviteList.end()){ //already on the invitation list return false; } std::stringstream ss; if(!(inviteList.empty() && memberList.empty())) { ss << player->getName() << " has been invited."; } else { ss << player->getName() << " has been invited. Open the party channel to communicate with your members."; } getLeader()->sendTextMessage(MSG_INFO_DESCR, ss.str()); inviteList.push_back(player); getLeader()->sendPlayerPartyIcons(player); player->sendPlayerPartyIcons(getLeader()); player->addPartyInvitation(this); ss.str(""); ss << getLeader()->getName() << " has invited you to " << playerSexAdjectiveString(player->getSex()) << " party."; player->sendTextMessage(MSG_INFO_DESCR, ss.str()); return true; }
bool Party::revokeInvitation(Player* player) { std::stringstream ss; ss << getLeader()->getName() << " has revoked " << playerSexAdjectiveString(getLeader()->getSex()) << " invitation."; player->sendTextMessage(MSG_INFO_DESCR, ss.str()); ss.str(""); ss << "Invitation for " << player->getName() << " has been revoked."; getLeader()->sendTextMessage(MSG_INFO_DESCR, ss.str()); removeInvite(player); return true; }
void PrivateChatChannel::invitePlayer(Player* player, Player* invitePlayer) { if (player != invitePlayer && addInvited(invitePlayer)) { std::stringstream msg; msg << player->getName() << " invites you to " << playerSexAdjectiveString(player->getSex()) << " private chat channel."; invitePlayer->sendTextMessage(MSG_INFO_DESCR, msg.str().c_str()); msg.str(""); msg << invitePlayer->getName() << " has been invited."; player->sendTextMessage(MSG_INFO_DESCR, msg.str().c_str()); } }