Added component-based patch system and applied it to interrupt packets

This commit is contained in:
dannuic
2026-04-22 00:27:47 -06:00
parent 0ada77f340
commit ee4c6099eb
26 changed files with 886 additions and 174 deletions
+8 -3
View File
@@ -16,9 +16,11 @@
along with this program. If not, see <http://www.gnu.org/licenses/>.
*/
#pragma once
#include "patch/components/message/IMessage.h"
class Client;
class EQApplicationPacket;
namespace ZoneClient::Message { class IMessage; }
class DynamicZone;
class DzLockout;
class ExpeditionRequest;
@@ -343,8 +345,8 @@ public:
void DyeArmor(EQ::TintProfile* dye);
void DyeArmorBySlot(uint8 slot, uint8 red, uint8 green, uint8 blue, uint8 use_tint = 0x00);
uint8 SlotConvert(uint8 slot,bool bracer=false);
void MessageString(uint32 type, uint32 string_id, uint32 distance = 0);
void MessageString(uint32 type, uint32 string_id, const char* message,const char* message2=0,const char* message3=0,const char* message4=0,const char* message5=0,const char* message6=0,const char* message7=0,const char* message8=0,const char* message9=0, uint32 distance = 0);
void MessageString(uint32 type, uint32 string_id, uint32 distance = 0) override;
void MessageString(uint32 type, uint32 string_id, const char* message,const char* message2=0,const char* message3=0,const char* message4=0,const char* message5=0,const char* message6=0,const char* message7=0,const char* message8=0,const char* message9=0, uint32 distance = 0) override;
void MessageString(const CZClientMessageString_Struct* msg);
bool FilteredMessageCheck(Mob *sender, eqFilterType filter);
void FilteredMessageString(Mob *sender, uint32 type, eqFilterType filter, uint32 string_id);
@@ -1550,7 +1552,9 @@ public:
inline const EQ::versions::ClientVersion ClientVersion() const { return m_ClientVersion; }
inline const uint32 ClientVersionBit() const { return m_ClientVersionBit; }
inline void SetClientVersion(EQ::versions::ClientVersion client_version) { m_ClientVersion = client_version; }
void SetClientVersion(EQ::versions::ClientVersion client_version);
EQ::versions::ClientVersion GetClientVersion() const;
const std::shared_ptr<ZoneClient::Message::IMessage>& GetMessageComponent() const { return m_messageComponent; }
/** Adventure Stuff **/
void SendAdventureError(const char *error);
@@ -2280,6 +2284,7 @@ private:
EQ::versions::ClientVersion m_ClientVersion;
uint32 m_ClientVersionBit;
std::shared_ptr<ZoneClient::Message::IMessage> m_messageComponent;
int XPRate;