mirror of
https://github.com/EQEmu/Server.git
synced 2025-12-20 17:31:30 +00:00
CLE checks in non legacy user to world
This commit is contained in:
parent
4aca39ad9b
commit
581cbccad5
@ -1245,15 +1245,16 @@ void ClientList::UpdateClientGuild(uint32 char_id, uint32 guild_id) {
|
|||||||
|
|
||||||
void ClientList::RemoveCLEByLSID(uint32 iLSID)
|
void ClientList::RemoveCLEByLSID(uint32 iLSID)
|
||||||
{
|
{
|
||||||
LinkedListIterator<ClientListEntry*> iterator(clientlist);
|
LinkedListIterator<ClientListEntry *> iterator(clientlist);
|
||||||
|
|
||||||
iterator.Reset();
|
iterator.Reset();
|
||||||
while (iterator.MoreElements()) {
|
while (iterator.MoreElements()) {
|
||||||
if (iterator.GetData()->LSAccountID() == iLSID) {
|
if (iterator.GetData()->LSAccountID() == iLSID) {
|
||||||
iterator.RemoveCurrent();
|
iterator.RemoveCurrent();
|
||||||
}
|
}
|
||||||
else
|
else {
|
||||||
iterator.Advance();
|
iterator.Advance();
|
||||||
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
@ -180,11 +180,15 @@ void LoginServer::ProcessUsertoWorldReq(uint16_t opcode, EQ::Net::Packet &p)
|
|||||||
auto cle = client_list.FindCLEByLSID(utwr->lsaccountid);
|
auto cle = client_list.FindCLEByLSID(utwr->lsaccountid);
|
||||||
if (cle != nullptr) {
|
if (cle != nullptr) {
|
||||||
auto status = cle->GetOnline();
|
auto status = cle->GetOnline();
|
||||||
if (CLE_Status_Never != status && CLE_Status_Offline != status) {
|
if (CLE_Status_Zoning == status || CLE_Status_InZone == status) {
|
||||||
utwrs->response = UserToWorldStatusAlreadyOnline;
|
utwrs->response = UserToWorldStatusAlreadyOnline;
|
||||||
SendPacket(&outpack);
|
SendPacket(&outpack);
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
|
else {
|
||||||
|
//our existing cle is in a state we can login to, mark the old as stale and remove it.
|
||||||
|
client_list.RemoveCLEByLSID(utwr->lsaccountid);
|
||||||
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
Loading…
x
Reference in New Issue
Block a user