ddnet/src/engine/antibot.h

48 lines
1.4 KiB
C
Raw Normal View History

#ifndef ENGINE_ANTIBOT_H
#define ENGINE_ANTIBOT_H
#include "kernel.h"
class IAntibot : public IInterface
{
MACRO_INTERFACE("antibot", 0)
public:
virtual void RoundStart(class IGameServer *pGameServer) = 0;
virtual void RoundEnd() = 0;
// Hooks
virtual void OnPlayerInit(int ClientID) = 0;
virtual void OnPlayerDestroy(int ClientID) = 0;
virtual void OnSpawn(int ClientID) = 0;
virtual void OnHammerFireReloading(int ClientID) = 0;
virtual void OnHammerFire(int ClientID) = 0;
virtual void OnHammerHit(int ClientID) = 0;
virtual void OnDirectInput(int ClientID) = 0;
2020-05-15 16:29:34 +00:00
virtual void OnCharacterTick(int ClientID) = 0;
virtual void OnHookAttach(int ClientID, bool Player) = 0;
// Commands
virtual void Dump() = 0;
virtual ~IAntibot(){};
};
class IEngineAntibot : public IAntibot
{
MACRO_INTERFACE("engineantibot", 0)
public:
virtual void Init() = 0;
// Hooks
2020-05-15 16:29:34 +00:00
virtual void OnEngineTick() = 0;
2020-07-01 12:11:37 +00:00
virtual void OnEngineClientJoin(int ClientID, bool Sixup) = 0;
virtual void OnEngineClientDrop(int ClientID, const char *pReason) = 0;
virtual bool OnEngineClientMessage(int ClientID, const void *pData, int Size, int Flags) = 0;
virtual bool OnEngineServerMessage(int ClientID, const void *pData, int Size, int Flags) = 0;
virtual bool OnEngineSimulateClientMessage(int *pClientID, void *pBuffer, int BufferSize, int *pOutSize, int *pFlags) = 0;
virtual ~IEngineAntibot(){};
};
#endif //ENGINE_ANTIBOT_H