mirror of
https://github.com/EQEmu/Server.git
synced 2025-12-23 20:31:28 +00:00
Clear client expedition info if removed inside dz
Clears client expedition info immediately if removed inside dynamic zone Live clears expedition info from clients removed inside a dz on the same timer used for removals, even if the client zones before it triggers. This is problematic to mimic and not worth the effort
This commit is contained in:
parent
a9c65cd4b2
commit
158dad052c
@ -1170,14 +1170,13 @@ void Expedition::ProcessMemberRemoved(std::string removed_char_name, uint32_t re
|
|||||||
|
|
||||||
if (is_removed)
|
if (is_removed)
|
||||||
{
|
{
|
||||||
|
// live doesn't clear expedition info on clients removed while inside dz.
|
||||||
|
// it instead let's the dz kick timer do it even if character zones out
|
||||||
|
// before it triggers. for simplicity we'll always clear immediately
|
||||||
ExpeditionDatabase::DeletePendingLockouts(member_client->CharacterID());
|
ExpeditionDatabase::DeletePendingLockouts(member_client->CharacterID());
|
||||||
member_client->SetExpeditionID(0);
|
member_client->SetExpeditionID(0);
|
||||||
if (!m_dynamiczone.IsCurrentZoneDzInstance())
|
member_client->SendDzCompassUpdate();
|
||||||
{
|
member_client->QueuePacket(CreateInfoPacket(true).get());
|
||||||
// live doesn't clear expedition info on clients removed while inside dz
|
|
||||||
member_client->SendDzCompassUpdate();
|
|
||||||
member_client->QueuePacket(CreateInfoPacket(true).get());
|
|
||||||
}
|
|
||||||
member_client->MessageString(
|
member_client->MessageString(
|
||||||
Chat::Yellow, EXPEDITION_REMOVED, it->name.c_str(), m_expedition_name.c_str()
|
Chat::Yellow, EXPEDITION_REMOVED, it->name.c_str(), m_expedition_name.c_str()
|
||||||
);
|
);
|
||||||
|
|||||||
Loading…
x
Reference in New Issue
Block a user