1#ifndef ENGINE_ANTIBOT_H
2#define ENGINE_ANTIBOT_H
3
4#include "kernel.h"
5
6class IAntibot : public IInterface
7{
8 MACRO_INTERFACE("antibot")
9public:
10 virtual void RoundStart(class IGameServer *pGameServer) = 0;
11 virtual void RoundEnd() = 0;
12
13 // Hooks
14 virtual void OnPlayerInit(int ClientId) = 0;
15 virtual void OnPlayerDestroy(int ClientId) = 0;
16 virtual void OnSpawn(int ClientId) = 0;
17 virtual void OnHammerFireReloading(int ClientId) = 0;
18 virtual void OnHammerFire(int ClientId) = 0;
19 virtual void OnHammerHit(int ClientId, int TargetId) = 0;
20 virtual void OnDirectInput(int ClientId) = 0;
21 virtual void OnCharacterTick(int ClientId) = 0;
22 virtual void OnHookAttach(int ClientId, bool Player) = 0;
23
24 // Commands
25 virtual void ConsoleCommand(const char *pCommand) = 0;
26
27 virtual ~IAntibot(){};
28};
29
30class IEngineAntibot : public IAntibot
31{
32 MACRO_INTERFACE("engineantibot")
33public:
34 virtual void Init() = 0;
35
36 // Hooks
37 virtual void OnEngineTick() = 0;
38 virtual void OnEngineClientJoin(int ClientId, bool Sixup) = 0;
39 virtual void OnEngineClientDrop(int ClientId, const char *pReason) = 0;
40 virtual bool OnEngineClientMessage(int ClientId, const void *pData, int Size, int Flags) = 0;
41 virtual bool OnEngineServerMessage(int ClientId, const void *pData, int Size, int Flags) = 0;
42 virtual bool OnEngineSimulateClientMessage(int *pClientId, void *pBuffer, int BufferSize, int *pOutSize, int *pFlags) = 0;
43
44 virtual ~IEngineAntibot(){};
45};
46
47#endif //ENGINE_ANTIBOT_H
48