provocating
I hope the examples of code help you if you see / remove them. in patches directory you should see
Voa.cpp
Voa.h
Voa_itemfields.h
Voa_ops.h
Voa.structs.h
this is for world common/patches directory patches.cpp
Code:
#include "../debug.h"
#include "patches.h"
#include "Client62.h"
#include "Titanium.h"
#include "Anniversary.h"
#include "Underfoot.h"
#include "SoF.h"
#include "SoD.h"
#include "HoT.h"
#include "VoA.h"
void RegisterAllPatches(EQStreamIdentifier &into) {
Client62::Register(into);
Titanium::Register(into);
Anniversary::Register(into);
SoF::Register(into);
SoD::Register(into);
Underfoot::Register(into);
HoT::Register(into);
VoA::Register(into);
}
void ReloadAllPatches() {
Client62::Reload();
Titanium::Reload();
Anniversary::Reload();
SoF::Reload();
SoD::Reload();
Underfoot::Reload();
HoT::Reload();
VoA::Reload();
}
common directory eq_constants.h
Code:
*/
#ifndef EQ_CONSTANTS_H
#define EQ_CONSTANTS_H
#define BIT_Client62 1
#define BIT_Titanium 2
#define BIT_Anniversary 4
#define BIT_SoF 5
#define BIT_SoD 8
#define BIT_Underfoot 16
#define BIT_HoT 16
#define BIT_VoA 16
#define BIT_TitaniumAndEarlier 3
#define BIT_AnniversaryAndLater 0xFFFFFFFC
#define BIT_SoFAndLater 0xFFFFFFFC
#define BIT_SoDAndLater 0xFFFFFFF8
#define BIT_UnderfootAndLater 0xFFFFFFF0
#define BIT_HoTAndLater 0xFFFFFFF0
#define BIT_VoAAndLater 0xFFFFFFF0
#define BIT_AllClients 0xFFFFFFFF
world clientlist.cpp
Code:
void ClientList::SendClientVersionSummary(const char *Name)
{
uint32 Client62Count = 0;
uint32 ClientTitaniumCount = 0;
uint32 ClientAnniversaryCount = 0;
uint32 ClientSoFCount = 0;
uint32 ClientSoDCount = 0;
uint32 ClientUnderfootCount = 0;
uint32 ClientHoTCount = 0;
uint32 ClientVoACount = 0;
LinkedListIterator<ClientListEntry*> Iterator(clientlist);
Iterator.Reset();
while(Iterator.MoreElements())
{
ClientListEntry* CLE = Iterator.GetData();
if(CLE && CLE->zone())
{
switch(CLE->GetClientVersion())
{
case 1:
{
++Client62Count;
break;
}
case 2:
{
++ClientTitaniumCount;
break;
}
case 3:
{
++ClientAnniversaryCount;
break;
}
case 4:
{
++ClientSoFCount;
break;
}
case 5:
{
++ClientSoDCount;
break;
}
case 6:
{
++ClientUnderfootCount;
break;
}
case 7:
{
++ClientHoTCount;
break;
}
case 8:
{
++ClientVoACount;
break;
}
default:
break;
}
}
Iterator.Advance();
}
zoneserver_list.SendEmoteMessage(Name, 0, 0, 13, "There are %i 6.2, %i Titanium, %i Anniversary, %i SoF, %i SoD, %i UF, %i HoT, %i VoA clients currently connected.",
Client62Count, ClientTitaniumCount, ClientAnniversaryCount, ClientSoFCount, ClientSoDCount, ClientUnderfootCount, ClientHoTCount, ClientVoACount);
}
this is for zone
bot.h
Code:
typedef enum EqExpansions {
ExpansionNone,
ExpansionEQ,
ExpansionRoK,
ExpansionSoV,
ExpansionSoL,
ExpansionPoP,
ExpansionLoY,
ExpansionLDoN,
ExpansionGoD,
ExpansionOoW,
ExpansionDoN,
ExpansionDoDH,
ExpansionPoR,
ExpansionTSS,
ExpansionAnV,
ExpansionSoF,
ExpansionSoD,
ExpansionUF,
ExpansionHoT,
ExpansionVoA
};
client.h
Code:
typedef enum {
EQClientUnknown = 0,
EQClient62,
EQClientTitanium,
EQClientAnniversary,
EQClientSoF,
EQClientSoD,
EQClientUnderfoot,
EQClientHoT,
EQClientVoA
} EQClientVersion;
client_packet.cpp
Code:
void Client::Handle_Connect_OP_ZoneEntry(const EQApplicationPacket *app)
{
if(app->size != sizeof(ClientZoneEntry_Struct))
return;
ClientZoneEntry_Struct *cze = (ClientZoneEntry_Struct *) app->pBuffer;
if(strlen(cze->char_name) > 63)
return;
conn_state = ReceivedZoneEntry;
string StreamDescription = Connection()->Describe();
if(StreamDescription == "Patch Titanium")
{
ClientVersion = EQClientTitanium;
ClientVersionBit = BIT_Titanium;
}
else if(StreamDescription == "Patch 6.2")
{
ClientVersion = EQClient62;
ClientVersionBit = BIT_Client62;
}
else if(StreamDescription == "Patch Anniversary")
{
ClientVersion = EQClientAnniversary;
ClientVersionBit = BIT_Anniversary;
}
else if(StreamDescription == "Patch SoF")
{
ClientVersion = EQClientSoF;
ClientVersionBit = BIT_SoF;
}
else if(StreamDescription == "Patch SoD")
{
ClientVersion = EQClientSoD;
ClientVersionBit = BIT_SoD;
}
else if(StreamDescription == "Patch Underfoot")
{
ClientVersion = EQClientUnderfoot;
ClientVersionBit = BIT_Underfoot;
}
else if(StreamDescription == "Patch HoT")
{
ClientVersion = EQClientHoT;
ClientVersionBit = BIT_HoT;
}
else if(StreamDescription == "Patch VoA")
{
ClientVersion = EQClientVoA;
ClientVersionBit = BIT_VoA;
}