diff --git a/zone/client.cpp b/zone/client.cpp index 898b4b5ac..3bfa0f4e0 100644 --- a/zone/client.cpp +++ b/zone/client.cpp @@ -9766,7 +9766,6 @@ void Client::SendExpeditionLockoutTimers() uint32_t outsize = sizeof(ExpeditionLockoutTimers_Struct) + lockout_entries_size; auto outapp = std::unique_ptr(new EQApplicationPacket(OP_DzExpeditionLockoutTimers, outsize)); auto outbuf = reinterpret_cast(outapp->pBuffer); - outbuf->client_id = 0; outbuf->count = lockout_count; if (!lockout_entries.empty()) { @@ -9853,7 +9852,7 @@ void Client::SendDzCompassUpdate() } } - // todo: shared tasks, missions, and quests with an associated dz + // todo: tasks, missions, and quests with an associated dz // compass set via MarkSingleCompassLocation() if (m_has_quest_compass) @@ -9874,7 +9873,6 @@ void Client::SendDzCompassUpdate() uint32 outsize = sizeof(DynamicZoneCompass_Struct) + entries_size; auto outapp = std::unique_ptr(new EQApplicationPacket(OP_DzCompass, outsize)); auto outbuf = reinterpret_cast(outapp->pBuffer); - outbuf->client_id = 0; outbuf->count = count; memcpy(outbuf->entries, compass_entries.data(), entries_size); @@ -9884,15 +9882,7 @@ void Client::SendDzCompassUpdate() void Client::GoToDzSafeReturnOrBind(const DynamicZoneLocation& safereturn) { LogDynamicZonesDetail( - "Sending character [{}] in zone [{}]:[{}] to safereturn [{}] at ([{}], [{}], [{}], [{}]) or bind", - CharacterID(), - zone ? zone->GetZoneID() : 0, - zone ? zone->GetInstanceID() : 0, - safereturn.zone_id, - safereturn.x, - safereturn.y, - safereturn.z, - safereturn.heading + "Sending character [{}] to safereturn zone [{}] or bind", CharacterID(), safereturn.zone_id ); if (safereturn.zone_id == 0) @@ -9925,7 +9915,6 @@ void Client::MovePCDynamicZone(uint32 zone_id) dz.dz_zone_id = expedition->GetDynamicZone().GetZoneID(); dz.dz_instance_id = expedition->GetDynamicZone().GetInstanceID(); dz.dz_type = static_cast(expedition->GetDynamicZone().GetType()); - //dz.unknown_id2 = expedition->GetDynamicZone().GetRealID(); strn0cpy(dz.description, expedition->GetName().c_str(), sizeof(dz.description)); strn0cpy(dz.leader_name, expedition->GetLeaderName().c_str(), sizeof(dz.leader_name)); @@ -9970,7 +9959,6 @@ void Client::MovePCDynamicZone(uint32 zone_id) uint32 outsize = sizeof(DynamicZoneChooseZone_Struct) + entries_size; auto outapp = std::unique_ptr(new EQApplicationPacket(OP_DzChooseZone, outsize)); auto outbuf = reinterpret_cast(outapp->pBuffer); - outbuf->client_id = 0; outbuf->count = count; memcpy(outbuf->choices, client_dzs.data(), entries_size); diff --git a/zone/dynamiczone.cpp b/zone/dynamiczone.cpp index 0a7bad7e7..17de013d8 100644 --- a/zone/dynamiczone.cpp +++ b/zone/dynamiczone.cpp @@ -23,7 +23,6 @@ #include "worldserver.h" #include "zonedb.h" #include "../common/eqemu_logsys.h" -#include extern WorldServer worldserver; @@ -558,10 +557,9 @@ void DynamicZone::HandleWorldMessage(ServerPacket* pack) { for (const auto& client_list_iter : entity_list.GetClientList()) { - Client* client = client_list_iter.second; - if (client) + if (client_list_iter.second) { - client->SetDzRemovalTimer(true); + client_list_iter.second->SetDzRemovalTimer(true); } } } diff --git a/zone/dynamiczone.h b/zone/dynamiczone.h index b1f56031e..cdff3c4e2 100644 --- a/zone/dynamiczone.h +++ b/zone/dynamiczone.h @@ -67,37 +67,33 @@ public: const std::vector& instance_ids); static void HandleWorldMessage(ServerPacket* pack); - DynamicZoneType GetType() const { return m_type; } + uint64_t GetExpireTime() const { return std::chrono::system_clock::to_time_t(m_expire_time); } + uint16_t GetInstanceID() const { return static_cast(m_instance_id); }; + uint32_t GetSecondsRemaining() const; + uint16_t GetZoneID() const { return static_cast(m_zone_id); }; + uint32_t GetZoneVersion() const { return m_version; }; + DynamicZoneType GetType() const { return m_type; } DynamicZoneLocation GetCompassLocation() const { return m_compass; } DynamicZoneLocation GetSafeReturnLocation() const { return m_safereturn; } DynamicZoneLocation GetZoneInLocation() const { return m_zonein; } - uint32_t CreateInstance(); void AddCharacter(uint32_t character_id); - void SaveInstanceMembersToDatabase(const std::vector& character_ids); - - uint64_t GetExpireTime() const { return std::chrono::system_clock::to_time_t(m_expire_time); } - uint16_t GetInstanceID() const { return static_cast(m_instance_id); }; - //uint32_t GetRealID() const { return (m_instance_id << 16) | (m_zone_id & 0xffff); } - uint32_t GetSecondsRemaining() const; - uint16_t GetZoneID() const { return static_cast(m_zone_id); }; - uint32_t GetZoneVersion() const { return m_version; }; - + uint32_t CreateInstance(); bool HasZoneInLocation() const { return m_has_zonein; } bool IsCurrentZoneDzInstance() const; bool IsInstanceID(uint32_t instance_id) const; bool IsValid() const { return m_instance_id != 0; } + void LoadFromDatabase(uint32_t instance_id); void RemoveAllCharacters(bool enable_removal_timers = true); void RemoveCharacter(uint32_t character_id); + void SaveInstanceMembersToDatabase(const std::vector& character_ids); + uint32_t SaveToDatabase(); void SendInstanceCharacterChange(uint32_t character_id, bool removed); void SetCompass(const DynamicZoneLocation& location, bool update_db = false); void SetSafeReturn(const DynamicZoneLocation& location, bool update_db = false); void SetZoneInLocation(const DynamicZoneLocation& location, bool update_db = false); void SetUpdatedDuration(uint32_t seconds); - void LoadFromDatabase(uint32_t instance_id); - uint32_t SaveToDatabase(); - private: static std::string DynamicZoneSelectQuery(); void LoadDatabaseResult(MySQLRequestRow& row); diff --git a/zone/entity.cpp b/zone/entity.cpp index 68364ff82..02c901689 100644 --- a/zone/entity.cpp +++ b/zone/entity.cpp @@ -5218,11 +5218,10 @@ void EntityList::GateAllClientsToSafeReturn() for (const auto& client_list_iter : client_list) { - Client* client = client_list_iter.second; - if (client) + if (client_list_iter.second) { // falls back to gating clients to bind if dz invalid - client->GoToDzSafeReturnOrBind(dz.GetSafeReturnLocation()); + client_list_iter.second->GoToDzSafeReturnOrBind(dz.GetSafeReturnLocation()); } } } diff --git a/zone/expedition.cpp b/zone/expedition.cpp index 098ed66f3..1ffa2e386 100644 --- a/zone/expedition.cpp +++ b/zone/expedition.cpp @@ -23,8 +23,6 @@ #include "expedition_lockout_timer.h" #include "expedition_request.h" #include "client.h" -#include "groups.h" -#include "raids.h" #include "string_ids.h" #include "worldserver.h" #include "zonedb.h" @@ -71,9 +69,7 @@ Expedition* Expedition::TryCreate( // request parses leader, members list, and lockouts while validating if (!request.Validate(requester)) { - LogExpeditionsModerate( - "Creation of [{}] by [{}] denied", request.GetExpeditionName(), requester->GetName() - ); + LogExpeditionsModerate("[{}] request by [{}] denied", request.GetExpeditionName(), requester->GetName()); return nullptr; } @@ -900,8 +896,8 @@ bool Expedition::ConfirmLeaderCommand(Client* requester) } void Expedition::TryAddClient( - Client* add_client, std::string inviter_name, std::string orig_add_name, - std::string swap_remove_name, Client* leader_client) + Client* add_client, const std::string& inviter_name, const std::string& orig_add_name, + const std::string& swap_remove_name, Client* leader_client) { if (!add_client) { @@ -1350,7 +1346,6 @@ std::unique_ptr Expedition::CreateInfoPacket(bool clear) auto info = reinterpret_cast(outapp->pBuffer); if (!clear) { - info->client_id = 0; info->assigned = true; strn0cpy(info->expedition_name, m_expedition_name.c_str(), sizeof(info->expedition_name)); strn0cpy(info->leader_name, m_leader.name.c_str(), sizeof(info->leader_name)); @@ -1382,7 +1377,6 @@ std::unique_ptr Expedition::CreateMemberListPacket(bool cle auto outapp = std::unique_ptr(new EQApplicationPacket(OP_DzMemberList, outsize)); auto buf = reinterpret_cast(outapp->pBuffer); - buf->client_id = 0; buf->count = member_count; if (!clear) @@ -1403,7 +1397,6 @@ std::unique_ptr Expedition::CreateMemberListNamePacket( uint32_t outsize = sizeof(ExpeditionMemberListName_Struct); auto outapp = std::unique_ptr(new EQApplicationPacket(OP_DzMemberListName, outsize)); auto buf = reinterpret_cast(outapp->pBuffer); - buf->client_id = 0; buf->add_name = !remove_name; strn0cpy(buf->name, name.c_str(), sizeof(buf->name)); return outapp; @@ -1416,7 +1409,6 @@ std::unique_ptr Expedition::CreateMemberListStatusPacket( uint32_t outsize = sizeof(ExpeditionMemberList_Struct) + sizeof(ExpeditionMemberEntry_Struct); auto outapp = std::unique_ptr(new EQApplicationPacket(OP_DzMemberListStatus, outsize)); auto buf = reinterpret_cast(outapp->pBuffer); - buf->client_id = 0; buf->count = 1; auto entry = reinterpret_cast(buf->members); @@ -1431,7 +1423,6 @@ std::unique_ptr Expedition::CreateLeaderNamePacket() uint32_t outsize = sizeof(ExpeditionSetLeaderName_Struct); auto outapp = std::unique_ptr(new EQApplicationPacket(OP_DzSetLeaderName, outsize)); auto buf = reinterpret_cast(outapp->pBuffer); - buf->client_id = 0; strn0cpy(buf->leader_name, m_leader.name.c_str(), sizeof(buf->leader_name)); return outapp; } diff --git a/zone/expedition.h b/zone/expedition.h index 5233c99d3..002b3c0d4 100644 --- a/zone/expedition.h +++ b/zone/expedition.h @@ -156,21 +156,25 @@ private: void ProcessMemberRemoved(std::string removed_char_name, uint32_t removed_char_id); void SaveLockouts(ExpeditionRequest& request); void SaveMembers(ExpeditionRequest& request); - void SendClientExpeditionInvite(Client* client, const std::string& inviter_name, const std::string& swap_remove_name); + void SendClientExpeditionInvite( + Client* client, const std::string& inviter_name, const std::string& swap_remove_name); void SendLeaderMessage(Client* leader_client, uint16_t chat_type, uint32_t string_id, const std::initializer_list& args = {}); void SendUpdatesToZoneMembers(bool clear = false, bool message_on_clear = true); void SendWorldDzLocationUpdate(uint16_t server_opcode, const DynamicZoneLocation& location); void SendWorldExpeditionUpdate(uint16_t server_opcode); - void SendWorldAddPlayerInvite(const std::string& inviter_name, const std::string& swap_remove_name, const std::string& add_name, bool pending = false); + void SendWorldAddPlayerInvite(const std::string& inviter_name, const std::string& swap_remove_name, + const std::string& add_name, bool pending = false); void SendWorldLeaderChanged(); void SendWorldLockoutUpdate(const ExpeditionLockoutTimer& lockout, bool remove, bool members_only = false); void SendWorldMakeLeaderRequest(const std::string& requester_name, const std::string& new_leader_name); void SendWorldMemberChanged(const std::string& char_name, uint32_t char_id, bool remove); void SendWorldMemberStatus(uint32_t character_id, ExpeditionMemberStatus status); - void SendWorldMemberSwapped(const std::string& remove_char_name, uint32_t remove_char_id, const std::string& add_char_name, uint32_t add_char_id); + void SendWorldMemberSwapped(const std::string& remove_char_name, uint32_t remove_char_id, + const std::string& add_char_name, uint32_t add_char_id); void SendWorldSettingChanged(uint16_t server_opcode, bool setting_value); - void TryAddClient(Client* add_client, std::string inviter_name, std::string orig_add_name, std::string swap_remove_name, Client* leader_client = nullptr); + void TryAddClient(Client* add_client, const std::string& inviter_name, const std::string& orig_add_name, + const std::string& swap_remove_name, Client* leader_client = nullptr); void UpdateMemberStatus(uint32_t update_character_id, ExpeditionMemberStatus status); ExpeditionMember GetMemberData(uint32_t character_id); diff --git a/zone/expedition_lockout_timer.cpp b/zone/expedition_lockout_timer.cpp index 01b1e607a..a070ce582 100644 --- a/zone/expedition_lockout_timer.cpp +++ b/zone/expedition_lockout_timer.cpp @@ -21,7 +21,6 @@ #include "expedition_lockout_timer.h" #include "../common/string_util.h" #include -#include const char* const DZ_REPLAY_TIMER_NAME = "Replay Timer"; // see December 14, 2016 patch notes diff --git a/zone/expedition_request.cpp b/zone/expedition_request.cpp index 55451431b..663460e20 100644 --- a/zone/expedition_request.cpp +++ b/zone/expedition_request.cpp @@ -27,7 +27,6 @@ #include "raids.h" #include "string_ids.h" #include "worldserver.h" -#include extern WorldServer worldserver;