GetScriptDesc<CTerrorPlayer>
0x009bd2a0 · 5917 bytes · __cdecl
_Z13GetScriptDescI13CTerrorPlayerEP17ScriptClassDesc_tPT_
Decompiled
ScriptClassDesc_t * (1 param)
/* ScriptClassDesc_t* GetScriptDesc<CTerrorPlayer>(CTerrorPlayer*) */
ScriptClassDesc_t * GetScriptDesc<CTerrorPlayer>(CTerrorPlayer *param_1)
{
ScriptClassDesc_t *pSVar1;
undefined4 uVar2;
int iVar3;
undefined4 *puVar4;
void *pvVar5;
int local_20 [4];
if (GetScriptDesc<CTerrorPlayer>(CTerrorPlayer*)::bInitialized == '\0') {
GetScriptDesc<CTerrorPlayer>(CTerrorPlayer*)::bInitialized = 1;
g_CTerrorPlayer_ScriptDesc._8_4_ = s_Terror_Player__00d13318;
g_CTerrorPlayer_ScriptDesc._0_4_ = s_CTerrorPlayer_00d132d3;
g_CTerrorPlayer_ScriptDesc._4_4_ = s_CTerrorPlayer_00d132d3;
g_CTerrorPlayer_ScriptDesc._12_4_ = GetScriptDesc<CBaseFlex>((CBaseFlex *)0x0);
for (pSVar1 = (ScriptClassDesc_t *)g_CTerrorPlayer_ScriptDesc._12_4_;
(iVar3 = g_CTerrorPlayer_ScriptDesc._44_4_, pSVar1 != (ScriptClassDesc_t *)0x0 &&
(iVar3 = *(int *)(pSVar1 + 0x2c), *(int *)(pSVar1 + 0x2c) == 0));
pSVar1 = *(ScriptClassDesc_t **)(pSVar1 + 0xc)) {
}
g_CTerrorPlayer_ScriptDesc._44_4_ = iVar3;
iVar3 = CUtlVector<ScriptFunctionBinding_t,CUtlMemory<ScriptFunctionBinding_t,int>>::
InsertBefore((CUtlVector<ScriptFunctionBinding_t,CUtlMemory<ScriptFunctionBinding_t,int>>
*)(g_CTerrorPlayer_ScriptDesc + 0x10),g_CTerrorPlayer_ScriptDesc._28_4_);
puVar4 = (undefined4 *)(iVar3 * 0x30 + g_CTerrorPlayer_ScriptDesc._16_4_);
puVar4[2] = "On the survivor team (Otherwise, infected).";
*puVar4 = "IsSurvivor";
puVar4[1] = "IsOnASurvivorTeam";
puVar4[3] = 6;
puVar4[9] = CMemberScriptBinding0<CTerrorPlayer*,bool(CTerrorPlayer::*)(),bool>::Call;
puVar4[10] = CTerrorPlayer::IsOnASurvivorTeam;
puVar4[0xb] = 1;
iVar3 = CUtlVector<ScriptFunctionBinding_t,CUtlMemory<ScriptFunctionBinding_t,int>>::
InsertBefore((CUtlVector<ScriptFunctionBinding_t,CUtlMemory<ScriptFunctionBinding_t,int>>
*)(g_CTerrorPlayer_ScriptDesc + 0x10),g_CTerrorPlayer_ScriptDesc._28_4_);
puVar4 = (undefined4 *)(iVar3 * 0x30 + g_CTerrorPlayer_ScriptDesc._16_4_);
puVar4[2] = "Get the player\'s name";
*puVar4 = "GetPlayerName";
puVar4[1] = "GetPlayerName";
puVar4[3] = 0x1f;
puVar4[9] = CMemberScriptBinding0<CTerrorPlayer*,char_const*(CBasePlayer::*)(),char_const*>::
Call;
puVar4[10] = 0xb9;
puVar4[0xb] = 1;
iVar3 = CUtlVector<ScriptFunctionBinding_t,CUtlMemory<ScriptFunctionBinding_t,int>>::
InsertBefore((CUtlVector<ScriptFunctionBinding_t,CUtlMemory<ScriptFunctionBinding_t,int>>
*)(g_CTerrorPlayer_ScriptDesc + 0x10),g_CTerrorPlayer_ScriptDesc._28_4_);
puVar4 = (undefined4 *)(iVar3 * 0x30 + g_CTerrorPlayer_ScriptDesc._16_4_);
puVar4[2] = "Get the player\'s network (i.e. Steam) ID.";
*puVar4 = "GetNetworkIDString";
puVar4[1] = "GetNetworkIDString";
puVar4[3] = 0x1f;
puVar4[9] = CMemberScriptBinding0<CTerrorPlayer*,char_const*(CBasePlayer::*)(),char_const*>::
Call;
puVar4[10] = CBasePlayer::GetNetworkIDString;
puVar4[0xb] = 1;
iVar3 = CUtlVector<ScriptFunctionBinding_t,CUtlMemory<ScriptFunctionBinding_t,int>>::
InsertBefore((CUtlVector<ScriptFunctionBinding_t,CUtlMemory<ScriptFunctionBinding_t,int>>
*)(g_CTerrorPlayer_ScriptDesc + 0x10),g_CTerrorPlayer_ScriptDesc._28_4_);
puVar4 = (undefined4 *)(iVar3 * 0x30 + g_CTerrorPlayer_ScriptDesc._16_4_);
puVar4[2] = "Give this much ammo for your primary weapon";
*puVar4 = "GiveAmmo";
puVar4[1] = "ScriptGivePrimaryAmmo";
puVar4[3] = 0;
puVar4[6] = 1;
if ((int)puVar4[5] < 1) {
puVar4[5] = 1;
if ((void *)puVar4[4] == (void *)0x0) {
pvVar5 = malloc(4);
puVar4[4] = pvVar5;
}
else {
pvVar5 = realloc((void *)puVar4[4],4);
puVar4[4] = pvVar5;
}
}
else {
pvVar5 = (void *)puVar4[4];
}
puVar4[8] = pvVar5;
local_20[0] = 5;
CUtlVector<int,CUtlMemory<int,int>>::InsertBefore
((CUtlVector<int,CUtlMemory<int,int>> *)(puVar4 + 4),puVar4[7],local_20);
uVar2 = g_CTerrorPlayer_ScriptDesc._28_4_;
puVar4[9] = CMemberScriptBinding1<CTerrorPlayer*,void(CTerrorPlayer::*)(int),void,int>::Call;
puVar4[10] = CTerrorPlayer::ScriptGivePrimaryAmmo;
puVar4[0xb] = 1;
iVar3 = CUtlVector<ScriptFunctionBinding_t,CUtlMemory<ScriptFunctionBinding_t,int>>::
InsertBefore((CUtlVector<ScriptFunctionBinding_t,CUtlMemory<ScriptFunctionBinding_t,int>>
*)(g_CTerrorPlayer_ScriptDesc + 0x10),uVar2);
puVar4 = (undefined4 *)(iVar3 * 0x30 + g_CTerrorPlayer_ScriptDesc._16_4_);
puVar4[2] = "Give an item/weapon to the player";
*puVar4 = "GiveItem";
puVar4[1] = "ScriptGiveNamedItem";
puVar4[3] = 0;
puVar4[6] = 1;
if ((int)puVar4[5] < 1) {
puVar4[5] = 1;
if ((void *)puVar4[4] == (void *)0x0) {
pvVar5 = malloc(4);
puVar4[4] = pvVar5;
}
else {
pvVar5 = realloc((void *)puVar4[4],4);
puVar4[4] = pvVar5;
}
}
else {
pvVar5 = (void *)puVar4[4];
}
puVar4[8] = pvVar5;
local_20[0] = 0x1f;
CUtlVector<int,CUtlMemory<int,int>>::InsertBefore
((CUtlVector<int,CUtlMemory<int,int>> *)(puVar4 + 4),puVar4[7],local_20);
uVar2 = g_CTerrorPlayer_ScriptDesc._28_4_;
puVar4[9] = CMemberScriptBinding1<CTerrorPlayer*,void(CTerrorPlayer::*)(char_const*),void,char_const*>
::Call;
puVar4[10] = CTerrorPlayer::ScriptGiveNamedItem;
puVar4[0xb] = 1;
iVar3 = CUtlVector<ScriptFunctionBinding_t,CUtlMemory<ScriptFunctionBinding_t,int>>::
InsertBefore((CUtlVector<ScriptFunctionBinding_t,CUtlMemory<ScriptFunctionBinding_t,int>>
*)(g_CTerrorPlayer_ScriptDesc + 0x10),uVar2);
puVar4 = (undefined4 *)(iVar3 * 0x30 + g_CTerrorPlayer_ScriptDesc._16_4_);
puVar4[2] = "Give an item/weapon to the player with a skin value";
*puVar4 = "GiveItemWithSkin";
puVar4[1] = "ScriptGiveNamedItemWithSkin";
puVar4[3] = 0;
puVar4[6] = 1;
if ((int)puVar4[5] < 2) {
puVar4[5] = 2;
if ((void *)puVar4[4] == (void *)0x0) {
pvVar5 = malloc(8);
puVar4[4] = pvVar5;
}
else {
pvVar5 = realloc((void *)puVar4[4],8);
puVar4[4] = pvVar5;
}
}
else {
pvVar5 = (void *)puVar4[4];
}
puVar4[8] = pvVar5;
local_20[0] = 0x1f;
CUtlVector<int,CUtlMemory<int,int>>::InsertBefore
((CUtlVector<int,CUtlMemory<int,int>> *)(puVar4 + 4),puVar4[7],local_20);
local_20[0] = 5;
CUtlVector<int,CUtlMemory<int,int>>::InsertBefore
((CUtlVector<int,CUtlMemory<int,int>> *)(puVar4 + 4),puVar4[7],local_20);
uVar2 = g_CTerrorPlayer_ScriptDesc._28_4_;
puVar4[9] = CMemberScriptBinding2<CTerrorPlayer*,void(CTerrorPlayer::*)(char_const*,int),void,char_const*,int>
::Call;
puVar4[10] = CTerrorPlayer::ScriptGiveNamedItemWithSkin;
puVar4[0xb] = 1;
iVar3 = CUtlVector<ScriptFunctionBinding_t,CUtlMemory<ScriptFunctionBinding_t,int>>::
InsertBefore((CUtlVector<ScriptFunctionBinding_t,CUtlMemory<ScriptFunctionBinding_t,int>>
*)(g_CTerrorPlayer_ScriptDesc + 0x10),uVar2);
puVar4 = (undefined4 *)(iVar3 * 0x30 + g_CTerrorPlayer_ScriptDesc._16_4_);
puVar4[2] = "Give a weapon upgrade by name";
*puVar4 = "GiveUpgrade";
puVar4[1] = "ScriptAddUpgrade";
puVar4[3] = 0;
puVar4[6] = 1;
if ((int)puVar4[5] < 1) {
puVar4[5] = 1;
if ((void *)puVar4[4] == (void *)0x0) {
pvVar5 = malloc(4);
puVar4[4] = pvVar5;
}
else {
pvVar5 = realloc((void *)puVar4[4],4);
puVar4[4] = pvVar5;
}
}
else {
pvVar5 = (void *)puVar4[4];
}
puVar4[8] = pvVar5;
local_20[0] = 5;
CUtlVector<int,CUtlMemory<int,int>>::InsertBefore
((CUtlVector<int,CUtlMemory<int,int>> *)(puVar4 + 4),puVar4[7],local_20);
uVar2 = g_CTerrorPlayer_ScriptDesc._28_4_;
puVar4[9] = CMemberScriptBinding1<CTerrorPlayer*,void(CTerrorPlayer::*)(int),void,int>::Call;
puVar4[10] = CTerrorPlayer::ScriptAddUpgrade;
puVar4[0xb] = 1;
iVar3 = CUtlVector<ScriptFunctionBinding_t,CUtlMemory<ScriptFunctionBinding_t,int>>::
InsertBefore((CUtlVector<ScriptFunctionBinding_t,CUtlMemory<ScriptFunctionBinding_t,int>>
*)(g_CTerrorPlayer_ScriptDesc + 0x10),uVar2);
puVar4 = (undefined4 *)(iVar3 * 0x30 + g_CTerrorPlayer_ScriptDesc._16_4_);
puVar4[2] = "Remove a weapon upgrade by name";
*puVar4 = "RemoveUpgrade";
puVar4[1] = "ScriptRemoveUpgrade";
puVar4[3] = 0;
puVar4[6] = 1;
if ((int)puVar4[5] < 1) {
puVar4[5] = 1;
if ((void *)puVar4[4] == (void *)0x0) {
pvVar5 = malloc(4);
puVar4[4] = pvVar5;
}
else {
pvVar5 = realloc((void *)puVar4[4],4);
puVar4[4] = pvVar5;
}
}
else {
pvVar5 = (void *)puVar4[4];
}
puVar4[8] = pvVar5;
local_20[0] = 5;
CUtlVector<int,CUtlMemory<int,int>>::InsertBefore
((CUtlVector<int,CUtlMemory<int,int>> *)(puVar4 + 4),puVar4[7],local_20);
uVar2 = g_CTerrorPlayer_ScriptDesc._28_4_;
puVar4[9] = CMemberScriptBinding1<CTerrorPlayer*,void(CTerrorPlayer::*)(int),void,int>::Call;
puVar4[10] = CTerrorPlayer::ScriptRemoveUpgrade;
puVar4[0xb] = 1;
iVar3 = CUtlVector<ScriptFunctionBinding_t,CUtlMemory<ScriptFunctionBinding_t,int>>::
InsertBefore((CUtlVector<ScriptFunctionBinding_t,CUtlMemory<ScriptFunctionBinding_t,int>>
*)(g_CTerrorPlayer_ScriptDesc + 0x10),uVar2);
puVar4 = (undefined4 *)(iVar3 * 0x30 + g_CTerrorPlayer_ScriptDesc._16_4_);
puVar4[2] = "Get the player\'s mask of pressed buttons";
*puVar4 = "GetButtonMask";
puVar4[1] = "ScriptGetButtons";
puVar4[3] = 5;
puVar4[9] = CMemberScriptBinding0<CTerrorPlayer*,int(CTerrorPlayer::*)(),int>::Call;
puVar4[10] = CTerrorPlayer::ScriptGetButtons;
puVar4[0xb] = 1;
iVar3 = CUtlVector<ScriptFunctionBinding_t,CUtlMemory<ScriptFunctionBinding_t,int>>::
InsertBefore((CUtlVector<ScriptFunctionBinding_t,CUtlMemory<ScriptFunctionBinding_t,int>>
*)(g_CTerrorPlayer_ScriptDesc + 0x10),g_CTerrorPlayer_ScriptDesc._28_4_);
puVar4 = (undefined4 *)(iVar3 * 0x30 + g_CTerrorPlayer_ScriptDesc._16_4_);
puVar4[2] = "Get the player\'s slot";
*puVar4 = "GetSurvivorSlot";
puVar4[1] = "GetSurvivorSlot";
puVar4[3] = 5;
puVar4[9] = CMemberScriptBinding0<CTerrorPlayer*,int(CTerrorPlayer::*)(),int>::Call;
puVar4[10] = CTerrorPlayer::GetSurvivorSlot;
puVar4[0xb] = 1;
iVar3 = CUtlVector<ScriptFunctionBinding_t,CUtlMemory<ScriptFunctionBinding_t,int>>::
InsertBefore((CUtlVector<ScriptFunctionBinding_t,CUtlMemory<ScriptFunctionBinding_t,int>>
*)(g_CTerrorPlayer_ScriptDesc + 0x10),g_CTerrorPlayer_ScriptDesc._28_4_);
puVar4 = (undefined4 *)(iVar3 * 0x30 + g_CTerrorPlayer_ScriptDesc._16_4_);
puVar4[2] = "Get the player\'s userID.";
*puVar4 = "GetPlayerUserId";
puVar4[1] = "ScriptGetPlayerUserId";
puVar4[3] = 5;
puVar4[9] = CMemberScriptBinding0<CTerrorPlayer*,int(CTerrorPlayer::*)(),int>::Call;
puVar4[10] = CTerrorPlayer::ScriptGetPlayerUserId;
puVar4[0xb] = 1;
iVar3 = CUtlVector<ScriptFunctionBinding_t,CUtlMemory<ScriptFunctionBinding_t,int>>::
InsertBefore((CUtlVector<ScriptFunctionBinding_t,CUtlMemory<ScriptFunctionBinding_t,int>>
*)(g_CTerrorPlayer_ScriptDesc + 0x10),g_CTerrorPlayer_ScriptDesc._28_4_);
puVar4 = (undefined4 *)(iVar3 * 0x30 + g_CTerrorPlayer_ScriptDesc._16_4_);
puVar4[2] = "Get the player\'s active weapon";
*puVar4 = "GetActiveWeapon";
puVar4[1] = "ScriptGetActiveWeapon";
puVar4[3] = 0x20;
puVar4[9] = CMemberScriptBinding0<CTerrorPlayer*,HSCRIPT__*(CTerrorPlayer::*)(),HSCRIPT__*>::
Call;
puVar4[10] = CTerrorPlayer::ScriptGetActiveWeapon;
puVar4[0xb] = 1;
iVar3 = CUtlVector<ScriptFunctionBinding_t,CUtlMemory<ScriptFunctionBinding_t,int>>::
InsertBefore((CUtlVector<ScriptFunctionBinding_t,CUtlMemory<ScriptFunctionBinding_t,int>>
*)(g_CTerrorPlayer_ScriptDesc + 0x10),g_CTerrorPlayer_ScriptDesc._28_4_);
puVar4 = (undefined4 *)(iVar3 * 0x30 + g_CTerrorPlayer_ScriptDesc._16_4_);
puVar4[2] = "Get Player Health Buffer - from pills or adrenalin etc";
*puVar4 = "GetHealthBuffer";
puVar4[1] = "GetHealthBuffer";
puVar4[3] = 1;
puVar4[9] = CMemberScriptBinding0<CTerrorPlayer*,float(CTerrorPlayer::*)(),float>::Call;
puVar4[10] = 0x7e5;
puVar4[0xb] = 1;
iVar3 = CUtlVector<ScriptFunctionBinding_t,CUtlMemory<ScriptFunctionBinding_t,int>>::
InsertBefore((CUtlVector<ScriptFunctionBinding_t,CUtlMemory<ScriptFunctionBinding_t,int>>
*)(g_CTerrorPlayer_ScriptDesc + 0x10),g_CTerrorPlayer_ScriptDesc._28_4_);
puVar4 = (undefined4 *)(iVar3 * 0x30 + g_CTerrorPlayer_ScriptDesc._16_4_);
puVar4[2] = "Set Player Health Buffer - from pills or adrenalin etc";
*puVar4 = "SetHealthBuffer";
puVar4[1] = "SetHealthBuffer";
puVar4[3] = 0;
puVar4[6] = 1;
if ((int)puVar4[5] < 1) {
puVar4[5] = 1;
if ((void *)puVar4[4] == (void *)0x0) {
pvVar5 = malloc(4);
puVar4[4] = pvVar5;
}
else {
pvVar5 = realloc((void *)puVar4[4],4);
puVar4[4] = pvVar5;
}
}
else {
pvVar5 = (void *)puVar4[4];
}
puVar4[8] = pvVar5;
local_20[0] = 1;
CUtlVector<int,CUtlMemory<int,int>>::InsertBefore
((CUtlVector<int,CUtlMemory<int,int>> *)(puVar4 + 4),puVar4[7],local_20);
uVar2 = g_CTerrorPlayer_ScriptDesc._28_4_;
puVar4[9] = CMemberScriptBinding1<CTerrorPlayer*,void(CTerrorPlayer::*)(float),void,float>::Call
;
puVar4[10] = CTerrorPlayer::SetHealthBuffer;
puVar4[0xb] = 1;
iVar3 = CUtlVector<ScriptFunctionBinding_t,CUtlMemory<ScriptFunctionBinding_t,int>>::
InsertBefore((CUtlVector<ScriptFunctionBinding_t,CUtlMemory<ScriptFunctionBinding_t,int>>
*)(g_CTerrorPlayer_ScriptDesc + 0x10),uVar2);
puVar4 = (undefined4 *)(iVar3 * 0x30 + g_CTerrorPlayer_ScriptDesc._16_4_);
puVar4[2] = "Set the number of times the player has been revived";
*puVar4 = "SetReviveCount";
puVar4[1] = "SetCurrentReviveCount";
puVar4[3] = 0;
puVar4[6] = 1;
if ((int)puVar4[5] < 1) {
puVar4[5] = 1;
if ((void *)puVar4[4] == (void *)0x0) {
pvVar5 = malloc(4);
puVar4[4] = pvVar5;
}
else {
pvVar5 = realloc((void *)puVar4[4],4);
puVar4[4] = pvVar5;
}
}
else {
pvVar5 = (void *)puVar4[4];
}
puVar4[8] = pvVar5;
local_20[0] = 5;
CUtlVector<int,CUtlMemory<int,int>>::InsertBefore
((CUtlVector<int,CUtlMemory<int,int>> *)(puVar4 + 4),puVar4[7],local_20);
uVar2 = g_CTerrorPlayer_ScriptDesc._28_4_;
puVar4[9] = CMemberScriptBinding1<CTerrorPlayer*,void(CTerrorPlayer::*)(int),void,int>::Call;
puVar4[10] = CTerrorPlayer::SetCurrentReviveCount;
puVar4[0xb] = 1;
iVar3 = CUtlVector<ScriptFunctionBinding_t,CUtlMemory<ScriptFunctionBinding_t,int>>::
InsertBefore((CUtlVector<ScriptFunctionBinding_t,CUtlMemory<ScriptFunctionBinding_t,int>>
*)(g_CTerrorPlayer_ScriptDesc + 0x10),uVar2);
puVar4 = (undefined4 *)(iVar3 * 0x30 + g_CTerrorPlayer_ScriptDesc._16_4_);
puVar4[2] = "Revive an incapped player";
*puVar4 = "ReviveFromIncap";
puVar4[1] = "OnRevived";
puVar4[3] = 0;
puVar4[9] = CMemberScriptBinding0<CTerrorPlayer*,void(CTerrorPlayer::*)(),void>::Call;
puVar4[10] = 0x925;
puVar4[0xb] = 1;
iVar3 = CUtlVector<ScriptFunctionBinding_t,CUtlMemory<ScriptFunctionBinding_t,int>>::
InsertBefore((CUtlVector<ScriptFunctionBinding_t,CUtlMemory<ScriptFunctionBinding_t,int>>
*)(g_CTerrorPlayer_ScriptDesc + 0x10),g_CTerrorPlayer_ScriptDesc._28_4_);
puVar4 = (undefined4 *)(iVar3 * 0x30 + g_CTerrorPlayer_ScriptDesc._16_4_);
puVar4[2] = "Revive a dead player by defibrillator";
*puVar4 = "ReviveByDefib";
puVar4[1] = "ScriptReviveByDefibrillator";
puVar4[3] = 0;
puVar4[9] = CMemberScriptBinding0<CTerrorPlayer*,void(CTerrorPlayer::*)(),void>::Call;
puVar4[10] = CTerrorPlayer::ScriptReviveByDefibrillator;
puVar4[0xb] = 1;
iVar3 = CUtlVector<ScriptFunctionBinding_t,CUtlMemory<ScriptFunctionBinding_t,int>>::
InsertBefore((CUtlVector<ScriptFunctionBinding_t,CUtlMemory<ScriptFunctionBinding_t,int>>
*)(g_CTerrorPlayer_ScriptDesc + 0x10),g_CTerrorPlayer_ScriptDesc._28_4_);
puVar4 = (undefined4 *)(iVar3 * 0x30 + g_CTerrorPlayer_ScriptDesc._16_4_);
puVar4[2] = "If an infected, find out what type";
*puVar4 = "GetZombieType";
puVar4[1] = "GetZombieClass";
puVar4[3] = 0x1e;
puVar4[9] = CMemberScriptBinding0<CTerrorPlayer*,ZombieClassType(CTerrorPlayer::*)(),ZombieClassType>
::Call;
puVar4[10] = CTerrorPlayer::GetZombieClass;
puVar4[0xb] = 1;
iVar3 = CUtlVector<ScriptFunctionBinding_t,CUtlMemory<ScriptFunctionBinding_t,int>>::
InsertBefore((CUtlVector<ScriptFunctionBinding_t,CUtlMemory<ScriptFunctionBinding_t,int>>
*)(g_CTerrorPlayer_ScriptDesc + 0x10),g_CTerrorPlayer_ScriptDesc._28_4_);
puVar4 = (undefined4 *)(iVar3 * 0x30 + g_CTerrorPlayer_ScriptDesc._16_4_);
puVar4[2] = "Is the player currently incapacitated";
*puVar4 = "IsIncapacitated";
puVar4[1] = "IsIncapacitated";
puVar4[3] = 6;
puVar4[9] = CMemberScriptBinding0<CTerrorPlayer*,bool(CTerrorPlayer::*)(),bool>::Call;
puVar4[10] = 0x7e9;
puVar4[0xb] = 1;
iVar3 = CUtlVector<ScriptFunctionBinding_t,CUtlMemory<ScriptFunctionBinding_t,int>>::
InsertBefore((CUtlVector<ScriptFunctionBinding_t,CUtlMemory<ScriptFunctionBinding_t,int>>
*)(g_CTerrorPlayer_ScriptDesc + 0x10),g_CTerrorPlayer_ScriptDesc._28_4_);
puVar4 = (undefined4 *)(iVar3 * 0x30 + g_CTerrorPlayer_ScriptDesc._16_4_);
puVar4[2] = "Player is dying, but not dead yet";
*puVar4 = "IsDying";
puVar4[1] = "IsDying";
puVar4[3] = 6;
puVar4[9] = CMemberScriptBinding0<CTerrorPlayer*,bool(CBasePlayer::*)(),bool>::Call;
puVar4[10] = CBasePlayer::IsDying;
puVar4[0xb] = 1;
iVar3 = CUtlVector<ScriptFunctionBinding_t,CUtlMemory<ScriptFunctionBinding_t,int>>::
InsertBefore((CUtlVector<ScriptFunctionBinding_t,CUtlMemory<ScriptFunctionBinding_t,int>>
*)(g_CTerrorPlayer_ScriptDesc + 0x10),g_CTerrorPlayer_ScriptDesc._28_4_);
puVar4 = (undefined4 *)(iVar3 * 0x30 + g_CTerrorPlayer_ScriptDesc._16_4_);
puVar4[2] = "Is the player dead";
*puVar4 = "IsDead";
puVar4[1] = "IsDead";
puVar4[3] = 6;
puVar4[9] = CMemberScriptBinding0<CTerrorPlayer*,bool(CBasePlayer::*)(),bool>::Call;
puVar4[10] = CBasePlayer::IsDead;
puVar4[0xb] = 1;
iVar3 = CUtlVector<ScriptFunctionBinding_t,CUtlMemory<ScriptFunctionBinding_t,int>>::
InsertBefore((CUtlVector<ScriptFunctionBinding_t,CUtlMemory<ScriptFunctionBinding_t,int>>
*)(g_CTerrorPlayer_ScriptDesc + 0x10),g_CTerrorPlayer_ScriptDesc._28_4_);
puVar4 = (undefined4 *)(iVar3 * 0x30 + g_CTerrorPlayer_ScriptDesc._16_4_);
puVar4[2] = "Is the player currently hanging from a ledge";
*puVar4 = "IsHangingFromLedge";
puVar4[1] = "IsHangingFromLedge";
puVar4[3] = 6;
puVar4[9] = CMemberScriptBinding0<CTerrorPlayer*,bool(CTerrorPlayer::*)(),bool>::Call;
puVar4[10] = CTerrorPlayer::IsHangingFromLedge;
puVar4[0xb] = 1;
iVar3 = CUtlVector<ScriptFunctionBinding_t,CUtlMemory<ScriptFunctionBinding_t,int>>::
InsertBefore((CUtlVector<ScriptFunctionBinding_t,CUtlMemory<ScriptFunctionBinding_t,int>>
*)(g_CTerrorPlayer_ScriptDesc + 0x10),g_CTerrorPlayer_ScriptDesc._28_4_);
puVar4 = (undefined4 *)(iVar3 * 0x30 + g_CTerrorPlayer_ScriptDesc._16_4_);
puVar4[2] = "Is Player a Ghost";
*puVar4 = "IsGhost";
puVar4[1] = "IsGhost";
puVar4[3] = 6;
puVar4[9] = CMemberScriptBinding0<CTerrorPlayer*,bool(CTerrorPlayer::*)(),bool>::Call;
puVar4[10] = 0x559;
puVar4[0xb] = 1;
iVar3 = CUtlVector<ScriptFunctionBinding_t,CUtlMemory<ScriptFunctionBinding_t,int>>::
InsertBefore((CUtlVector<ScriptFunctionBinding_t,CUtlMemory<ScriptFunctionBinding_t,int>>
*)(g_CTerrorPlayer_ScriptDesc + 0x10),g_CTerrorPlayer_ScriptDesc._28_4_);
puVar4 = (undefined4 *)(iVar3 * 0x30 + g_CTerrorPlayer_ScriptDesc._16_4_);
puVar4[2] =
"Cause the effect of Adrenaline - but no HP (SetHealthBuffer for that) - this is just speed!";
*puVar4 = "UseAdrenaline";
puVar4[1] = "OnAdrenalineUsed";
puVar4[3] = 0;
puVar4[6] = 1;
if ((int)puVar4[5] < 1) {
puVar4[5] = 1;
if ((void *)puVar4[4] == (void *)0x0) {
pvVar5 = malloc(4);
puVar4[4] = pvVar5;
}
else {
pvVar5 = realloc((void *)puVar4[4],4);
puVar4[4] = pvVar5;
}
}
else {
pvVar5 = (void *)puVar4[4];
}
puVar4[8] = pvVar5;
local_20[0] = 1;
CUtlVector<int,CUtlMemory<int,int>>::InsertBefore
((CUtlVector<int,CUtlMemory<int,int>> *)(puVar4 + 4),puVar4[7],local_20);
uVar2 = g_CTerrorPlayer_ScriptDesc._28_4_;
puVar4[9] = CMemberScriptBinding1<CTerrorPlayer*,void(CTerrorPlayer::*)(float),void,float>::Call
;
puVar4[10] = CTerrorPlayer::OnAdrenalineUsed;
puVar4[0xb] = 1;
iVar3 = CUtlVector<ScriptFunctionBinding_t,CUtlMemory<ScriptFunctionBinding_t,int>>::
InsertBefore((CUtlVector<ScriptFunctionBinding_t,CUtlMemory<ScriptFunctionBinding_t,int>>
*)(g_CTerrorPlayer_ScriptDesc + 0x10),uVar2);
puVar4 = (undefined4 *)(iVar3 * 0x30 + g_CTerrorPlayer_ScriptDesc._16_4_);
puVar4[2] = "Cause the vomit effect and make a player IT";
*puVar4 = "HitWithVomit";
puVar4[1] = "ScriptHitWithVomit";
puVar4[3] = 0;
puVar4[9] = CMemberScriptBinding0<CTerrorPlayer*,void(CTerrorPlayer::*)(),void>::Call;
puVar4[10] = CTerrorPlayer::ScriptHitWithVomit;
puVar4[0xb] = 1;
iVar3 = CUtlVector<ScriptFunctionBinding_t,CUtlMemory<ScriptFunctionBinding_t,int>>::
InsertBefore((CUtlVector<ScriptFunctionBinding_t,CUtlMemory<ScriptFunctionBinding_t,int>>
*)(g_CTerrorPlayer_ScriptDesc + 0x10),g_CTerrorPlayer_ScriptDesc._28_4_);
puVar4 = (undefined4 *)(iVar3 * 0x30 + g_CTerrorPlayer_ScriptDesc._16_4_);
puVar4[2] = "Try and get the current eye position";
*puVar4 = "EyePosition";
puVar4[1] = "EyePosition";
puVar4[3] = 3;
puVar4[9] = CMemberScriptBinding0<CTerrorPlayer*,Vector(CBasePlayer::*)(),Vector>::Call;
puVar4[10] = 0x235;
puVar4[0xb] = 1;
iVar3 = CUtlVector<ScriptFunctionBinding_t,CUtlMemory<ScriptFunctionBinding_t,int>>::
InsertBefore((CUtlVector<ScriptFunctionBinding_t,CUtlMemory<ScriptFunctionBinding_t,int>>
*)(g_CTerrorPlayer_ScriptDesc + 0x10),g_CTerrorPlayer_ScriptDesc._28_4_);
puVar4 = (undefined4 *)(iVar3 * 0x30 + g_CTerrorPlayer_ScriptDesc._16_4_);
puVar4[2] = "Try and get the current Eye Angles";
*puVar4 = "EyeAngles";
puVar4[1] = "EyeAngles";
puVar4[3] = 0x28;
puVar4[9] = CMemberScriptBinding0<CTerrorPlayer*,QAngle_const&(CBasePlayer::*)(),QAngle_const&>
::Call;
puVar4[10] = 0x239;
puVar4[0xb] = 1;
iVar3 = CUtlVector<ScriptFunctionBinding_t,CUtlMemory<ScriptFunctionBinding_t,int>>::
InsertBefore((CUtlVector<ScriptFunctionBinding_t,CUtlMemory<ScriptFunctionBinding_t,int>>
*)(g_CTerrorPlayer_ScriptDesc + 0x10),g_CTerrorPlayer_ScriptDesc._28_4_);
puVar4 = (undefined4 *)(iVar3 * 0x30 + g_CTerrorPlayer_ScriptDesc._16_4_);
puVar4[2] = "Get a pathable location within this radius";
*puVar4 = "TryGetPathableLocationWithin";
puVar4[1] = "TryGetPathableLocationWithin";
puVar4[3] = 3;
puVar4[6] = 1;
if ((int)puVar4[5] < 1) {
puVar4[5] = 1;
if ((void *)puVar4[4] == (void *)0x0) {
pvVar5 = malloc(4);
puVar4[4] = pvVar5;
}
else {
pvVar5 = realloc((void *)puVar4[4],4);
puVar4[4] = pvVar5;
}
}
else {
pvVar5 = (void *)puVar4[4];
}
puVar4[8] = pvVar5;
local_20[0] = 1;
CUtlVector<int,CUtlMemory<int,int>>::InsertBefore
((CUtlVector<int,CUtlMemory<int,int>> *)(puVar4 + 4),puVar4[7],local_20);
uVar2 = g_CTerrorPlayer_ScriptDesc._28_4_;
puVar4[9] = CMemberScriptBinding1<CTerrorPlayer*,Vector(CTerrorPlayer::*)(float),Vector,float>::
Call;
puVar4[10] = CTerrorPlayer::TryGetPathableLocationWithin;
puVar4[0xb] = 1;
iVar3 = CUtlVector<ScriptFunctionBinding_t,CUtlMemory<ScriptFunctionBinding_t,int>>::
InsertBefore((CUtlVector<ScriptFunctionBinding_t,CUtlMemory<ScriptFunctionBinding_t,int>>
*)(g_CTerrorPlayer_ScriptDesc + 0x10),uVar2);
puVar4 = (undefined4 *)(iVar3 * 0x30 + g_CTerrorPlayer_ScriptDesc._16_4_);
puVar4[2] = "Get the current bits for the bot sense flags";
*puVar4 = "GetSenseFlags";
puVar4[1] = "GetSenseFlags";
puVar4[3] = 5;
puVar4[9] = CMemberScriptBinding0<CTerrorPlayer*,int(CTerrorPlayer::*)(),int>::Call;
puVar4[10] = CTerrorPlayer::GetSenseFlags;
puVar4[0xb] = 1;
iVar3 = CUtlVector<ScriptFunctionBinding_t,CUtlMemory<ScriptFunctionBinding_t,int>>::
InsertBefore((CUtlVector<ScriptFunctionBinding_t,CUtlMemory<ScriptFunctionBinding_t,int>>
*)(g_CTerrorPlayer_ScriptDesc + 0x10),g_CTerrorPlayer_ScriptDesc._28_4_);
puVar4 = (undefined4 *)(iVar3 * 0x30 + g_CTerrorPlayer_ScriptDesc._16_4_);
puVar4[2] = "Set the current bits for the bot sense flags - this is a SET, not an or";
*puVar4 = "SetSenseFlags";
puVar4[1] = "SetSenseFlags";
puVar4[3] = 0;
puVar4[6] = 1;
if ((int)puVar4[5] < 1) {
puVar4[5] = 1;
if ((void *)puVar4[4] == (void *)0x0) {
pvVar5 = malloc(4);
puVar4[4] = pvVar5;
}
else {
pvVar5 = realloc((void *)puVar4[4],4);
puVar4[4] = pvVar5;
}
}
else {
pvVar5 = (void *)puVar4[4];
}
puVar4[8] = pvVar5;
local_20[0] = 5;
CUtlVector<int,CUtlMemory<int,int>>::InsertBefore
((CUtlVector<int,CUtlMemory<int,int>> *)(puVar4 + 4),puVar4[7],local_20);
uVar2 = g_CTerrorPlayer_ScriptDesc._28_4_;
puVar4[9] = CMemberScriptBinding1<CTerrorPlayer*,void(CTerrorPlayer::*)(int),void,int>::Call;
puVar4[10] = CTerrorPlayer::SetSenseFlags;
puVar4[0xb] = 1;
iVar3 = CUtlVector<ScriptFunctionBinding_t,CUtlMemory<ScriptFunctionBinding_t,int>>::
InsertBefore((CUtlVector<ScriptFunctionBinding_t,CUtlMemory<ScriptFunctionBinding_t,int>>
*)(g_CTerrorPlayer_ScriptDesc + 0x10),uVar2);
puVar4 = (undefined4 *)(iVar3 * 0x30 + g_CTerrorPlayer_ScriptDesc._16_4_);
puVar4[2] = "Stagger a player, optionally from a vector position";
*puVar4 = "Stagger";
puVar4[1] = "ScriptStaggerPlayer";
puVar4[3] = 0;
puVar4[6] = 1;
if ((int)puVar4[5] < 1) {
puVar4[5] = 1;
if ((void *)puVar4[4] == (void *)0x0) {
pvVar5 = malloc(4);
puVar4[4] = pvVar5;
}
else {
pvVar5 = realloc((void *)puVar4[4],4);
puVar4[4] = pvVar5;
}
}
else {
pvVar5 = (void *)puVar4[4];
}
puVar4[8] = pvVar5;
local_20[0] = 3;
CUtlVector<int,CUtlMemory<int,int>>::InsertBefore
((CUtlVector<int,CUtlMemory<int,int>> *)(puVar4 + 4),puVar4[7],local_20);
uVar2 = g_CTerrorPlayer_ScriptDesc._28_4_;
puVar4[9] = CMemberScriptBinding1<CTerrorPlayer*,void(CTerrorPlayer::*)(Vector),void,Vector>::
Call;
puVar4[10] = CTerrorPlayer::ScriptStaggerPlayer;
puVar4[0xb] = 1;
iVar3 = CUtlVector<ScriptFunctionBinding_t,CUtlMemory<ScriptFunctionBinding_t,int>>::
InsertBefore((CUtlVector<ScriptFunctionBinding_t,CUtlMemory<ScriptFunctionBinding_t,int>>
*)(g_CTerrorPlayer_ScriptDesc + 0x10),uVar2);
puVar4 = (undefined4 *)(iVar3 * 0x30 + g_CTerrorPlayer_ScriptDesc._16_4_);
puVar4[2] = "Make the player drop an item/weapon";
*puVar4 = "DropItem";
puVar4[1] = "ScriptDropItem";
puVar4[3] = 0;
puVar4[6] = 1;
if ((int)puVar4[5] < 1) {
puVar4[5] = 1;
if ((void *)puVar4[4] == (void *)0x0) {
pvVar5 = malloc(4);
puVar4[4] = pvVar5;
}
else {
pvVar5 = realloc((void *)puVar4[4],4);
puVar4[4] = pvVar5;
}
}
else {
pvVar5 = (void *)puVar4[4];
}
puVar4[8] = pvVar5;
local_20[0] = 0x1f;
CUtlVector<int,CUtlMemory<int,int>>::InsertBefore
((CUtlVector<int,CUtlMemory<int,int>> *)(puVar4 + 4),puVar4[7],local_20);
uVar2 = g_CTerrorPlayer_ScriptDesc._28_4_;
puVar4[9] = CMemberScriptBinding1<CTerrorPlayer*,void(CTerrorPlayer::*)(char_const*),void,char_const*>
::Call;
puVar4[10] = CTerrorPlayer::ScriptDropItem;
puVar4[0xb] = 1;
iVar3 = CUtlVector<ScriptFunctionBinding_t,CUtlMemory<ScriptFunctionBinding_t,int>>::
InsertBefore((CUtlVector<ScriptFunctionBinding_t,CUtlMemory<ScriptFunctionBinding_t,int>>
*)(g_CTerrorPlayer_ScriptDesc + 0x10),uVar2);
puVar4 = (undefined4 *)(iVar3 * 0x30 + g_CTerrorPlayer_ScriptDesc._16_4_);
puVar4[2] = "Make the player switch to an item/weapon";
*puVar4 = "SwitchToItem";
puVar4[1] = "ScriptSwitchToItem";
puVar4[3] = 6;
puVar4[6] = 1;
if ((int)puVar4[5] < 1) {
puVar4[5] = 1;
if ((void *)puVar4[4] == (void *)0x0) {
pvVar5 = malloc(4);
puVar4[4] = pvVar5;
}
else {
pvVar5 = realloc((void *)puVar4[4],4);
puVar4[4] = pvVar5;
}
}
else {
pvVar5 = (void *)puVar4[4];
}
puVar4[8] = pvVar5;
local_20[0] = 0x1f;
CUtlVector<int,CUtlMemory<int,int>>::InsertBefore
((CUtlVector<int,CUtlMemory<int,int>> *)(puVar4 + 4),puVar4[7],local_20);
uVar2 = g_CTerrorPlayer_ScriptDesc._28_4_;
puVar4[9] = CMemberScriptBinding1<CTerrorPlayer*,bool(CTerrorPlayer::*)(char_const*),bool,char_const*>
::Call;
puVar4[10] = CTerrorPlayer::ScriptSwitchToItem;
puVar4[0xb] = 1;
iVar3 = CUtlVector<ScriptFunctionBinding_t,CUtlMemory<ScriptFunctionBinding_t,int>>::
InsertBefore((CUtlVector<ScriptFunctionBinding_t,CUtlMemory<ScriptFunctionBinding_t,int>>
*)(g_CTerrorPlayer_ScriptDesc + 0x10),uVar2);
puVar4 = (undefined4 *)(iVar3 * 0x30 + g_CTerrorPlayer_ScriptDesc._16_4_);
puVar4[2] = "Returns true if falling damage is currently suppressed";
*puVar4 = "IsSuppressingFallingDamage";
puVar4[1] = "SuppressFallingDamage";
puVar4[3] = 6;
puVar4[9] = CMemberScriptBinding0<CTerrorPlayer*,bool(CTerrorPlayer::*)(),bool>::Call;
puVar4[10] = CTerrorPlayer::SuppressFallingDamage;
puVar4[0xb] = 1;
iVar3 = CUtlVector<ScriptFunctionBinding_t,CUtlMemory<ScriptFunctionBinding_t,int>>::
InsertBefore((CUtlVector<ScriptFunctionBinding_t,CUtlMemory<ScriptFunctionBinding_t,int>>
*)(g_CTerrorPlayer_ScriptDesc + 0x10),g_CTerrorPlayer_ScriptDesc._28_4_);
puVar4 = (undefined4 *)(iVar3 * 0x30 + g_CTerrorPlayer_ScriptDesc._16_4_);
puVar4[2] = "Sets the view angles.";
*puVar4 = "SnapEyeAngles";
puVar4[1] = "SnapEyeAngles";
puVar4[3] = 0;
puVar4[6] = 1;
if ((int)puVar4[5] < 1) {
puVar4[5] = 1;
if ((void *)puVar4[4] == (void *)0x0) {
pvVar5 = malloc(4);
puVar4[4] = pvVar5;
}
else {
pvVar5 = realloc((void *)puVar4[4],4);
puVar4[4] = pvVar5;
}
}
else {
pvVar5 = (void *)puVar4[4];
}
puVar4[8] = pvVar5;
local_20[0] = 0x28;
CUtlVector<int,CUtlMemory<int,int>>::InsertBefore
((CUtlVector<int,CUtlMemory<int,int>> *)(puVar4 + 4),puVar4[7],local_20);
uVar2 = g_CTerrorPlayer_ScriptDesc._28_4_;
puVar4[9] = CMemberScriptBinding1<CTerrorPlayer*,void(CBasePlayer::*)(QAngle_const&),void,QAngle_const&>
::Call;
puVar4[10] = CBasePlayer::SnapEyeAngles;
puVar4[0xb] = 1;
iVar3 = CUtlVector<ScriptFunctionBinding_t,CUtlMemory<ScriptFunctionBinding_t,int>>::
InsertBefore((CUtlVector<ScriptFunctionBinding_t,CUtlMemory<ScriptFunctionBinding_t,int>>
*)(g_CTerrorPlayer_ScriptDesc + 0x10),uVar2);
puVar4 = (undefined4 *)(iVar3 * 0x30 + g_CTerrorPlayer_ScriptDesc._16_4_);
puVar4[2] = "Returns whether a player is on fire";
*puVar4 = "IsOnFire";
puVar4[1] = "IsOnFire";
puVar4[3] = 6;
puVar4[9] = CMemberScriptBinding0<CTerrorPlayer*,bool(CBaseAnimating::*)(),bool>::Call;
puVar4[10] = CBaseAnimating::IsOnFire;
puVar4[0xb] = 1;
iVar3 = CUtlVector<ScriptFunctionBinding_t,CUtlMemory<ScriptFunctionBinding_t,int>>::
InsertBefore((CUtlVector<ScriptFunctionBinding_t,CUtlMemory<ScriptFunctionBinding_t,int>>
*)(g_CTerrorPlayer_ScriptDesc + 0x10),g_CTerrorPlayer_ScriptDesc._28_4_);
puVar4 = (undefined4 *)(iVar3 * 0x30 + g_CTerrorPlayer_ScriptDesc._16_4_);
puVar4[2] = "Extinguish a burning player";
*puVar4 = "Extinguish";
puVar4[1] = "Extinguish";
puVar4[3] = 0;
puVar4[9] = CMemberScriptBinding0<CTerrorPlayer*,void(CTerrorPlayer::*)(),void>::Call;
puVar4[10] = 0x38d;
puVar4[0xb] = 1;
iVar3 = CUtlVector<ScriptFunctionBinding_t,CUtlMemory<ScriptFunctionBinding_t,int>>::
InsertBefore((CUtlVector<ScriptFunctionBinding_t,CUtlMemory<ScriptFunctionBinding_t,int>>
*)(g_CTerrorPlayer_ScriptDesc + 0x10),g_CTerrorPlayer_ScriptDesc._28_4_);
puVar4 = (undefined4 *)(iVar3 * 0x30 + g_CTerrorPlayer_ScriptDesc._16_4_);
puVar4[2] = "Return the last nav area occupied - NULL if unknown";
*puVar4 = "GetLastKnownArea";
puVar4[1] = "ScriptGetLastKnownArea";
puVar4[3] = 0x20;
puVar4[9] = CMemberScriptBinding0<CTerrorPlayer*,HSCRIPT__*(CTerrorPlayer::*)(),HSCRIPT__*>::
Call;
puVar4[10] = CTerrorPlayer::ScriptGetLastKnownArea;
puVar4[0xb] = 1;
iVar3 = CUtlVector<ScriptFunctionBinding_t,CUtlMemory<ScriptFunctionBinding_t,int>>::
InsertBefore((CUtlVector<ScriptFunctionBinding_t,CUtlMemory<ScriptFunctionBinding_t,int>>
*)(g_CTerrorPlayer_ScriptDesc + 0x10),g_CTerrorPlayer_ScriptDesc._28_4_);
puVar4 = (undefined4 *)(iVar3 * 0x30 + g_CTerrorPlayer_ScriptDesc._16_4_);
puVar4[2] = "Return true if currently IT from bile";
*puVar4 = "IsIT";
puVar4[1] = "IsIT";
puVar4[3] = 6;
puVar4[9] = CMemberScriptBinding0<CTerrorPlayer*,bool(CTerrorPlayer::*)(),bool>::Call;
puVar4[10] = 0x551;
puVar4[0xb] = 1;
iVar3 = CUtlVector<ScriptFunctionBinding_t,CUtlMemory<ScriptFunctionBinding_t,int>>::
InsertBefore((CUtlVector<ScriptFunctionBinding_t,CUtlMemory<ScriptFunctionBinding_t,int>>
*)(g_CTerrorPlayer_ScriptDesc + 0x10),g_CTerrorPlayer_ScriptDesc._28_4_);
puVar4 = (undefined4 *)(iVar3 * 0x30 + g_CTerrorPlayer_ScriptDesc._16_4_);
puVar4[2] = "Return true if adrenaline is active";
*puVar4 = "IsAdrenalineActive";
puVar4[1] = "IsAdrenalineActive";
puVar4[3] = 6;
puVar4[9] = CMemberScriptBinding0<CTerrorPlayer*,bool(CTerrorPlayer::*)(),bool>::Call;
puVar4[10] = CTerrorPlayer::IsAdrenalineActive;
puVar4[0xb] = 1;
iVar3 = CUtlVector<ScriptFunctionBinding_t,CUtlMemory<ScriptFunctionBinding_t,int>>::
InsertBefore((CUtlVector<ScriptFunctionBinding_t,CUtlMemory<ScriptFunctionBinding_t,int>>
*)(g_CTerrorPlayer_ScriptDesc + 0x10),g_CTerrorPlayer_ScriptDesc._28_4_);
puVar4 = (undefined4 *)(iVar3 * 0x30 + g_CTerrorPlayer_ScriptDesc._16_4_);
puVar4[2] = "Return true if player is currently getting up";
*puVar4 = "IsGettingUp";
puVar4[1] = "IsGettingUp";
puVar4[3] = 6;
puVar4[9] = CMemberScriptBinding0<CTerrorPlayer*,bool(CTerrorPlayer::*)(),bool>::Call;
puVar4[10] = CTerrorPlayer::IsGettingUp;
puVar4[0xb] = 1;
iVar3 = CUtlVector<ScriptFunctionBinding_t,CUtlMemory<ScriptFunctionBinding_t,int>>::
InsertBefore((CUtlVector<ScriptFunctionBinding_t,CUtlMemory<ScriptFunctionBinding_t,int>>
*)(g_CTerrorPlayer_ScriptDesc + 0x10),g_CTerrorPlayer_ScriptDesc._28_4_);
puVar4 = (undefined4 *)(iVar3 * 0x30 + g_CTerrorPlayer_ScriptDesc._16_4_);
puVar4[2] = "Return true if currently immobilized";
*puVar4 = "IsImmobilized";
puVar4[1] = "IsImmobilized";
puVar4[3] = 6;
puVar4[9] = CMemberScriptBinding0<CTerrorPlayer*,bool(CTerrorPlayer::*)(),bool>::Call;
puVar4[10] = 0x805;
puVar4[0xb] = 1;
iVar3 = CUtlVector<ScriptFunctionBinding_t,CUtlMemory<ScriptFunctionBinding_t,int>>::
InsertBefore((CUtlVector<ScriptFunctionBinding_t,CUtlMemory<ScriptFunctionBinding_t,int>>
*)(g_CTerrorPlayer_ScriptDesc + 0x10),g_CTerrorPlayer_ScriptDesc._28_4_);
puVar4 = (undefined4 *)(iVar3 * 0x30 + g_CTerrorPlayer_ScriptDesc._16_4_);
puVar4[2] = "Return true if currently in combat";
*puVar4 = "IsInCombat";
puVar4[1] = "ScriptIsInCombat";
puVar4[3] = 6;
puVar4[9] = CMemberScriptBinding0<CTerrorPlayer*,bool(CTerrorPlayer::*)(),bool>::Call;
puVar4[10] = CTerrorPlayer::ScriptIsInCombat;
puVar4[0xb] = 1;
iVar3 = CUtlVector<ScriptFunctionBinding_t,CUtlMemory<ScriptFunctionBinding_t,int>>::
InsertBefore((CUtlVector<ScriptFunctionBinding_t,CUtlMemory<ScriptFunctionBinding_t,int>>
*)(g_CTerrorPlayer_ScriptDesc + 0x10),g_CTerrorPlayer_ScriptDesc._28_4_);
puVar4 = (undefined4 *)(iVar3 * 0x30 + g_CTerrorPlayer_ScriptDesc._16_4_);
puVar4[2] = "Return true if on third-strike";
*puVar4 = "IsOnThirdStrike";
puVar4[1] = "IsOnThirdStrike";
puVar4[3] = 6;
puVar4[9] = CMemberScriptBinding0<CTerrorPlayer*,bool(CTerrorPlayer::*)(),bool>::Call;
puVar4[10] = CTerrorPlayer::IsOnThirdStrike;
puVar4[0xb] = 1;
iVar3 = CUtlVector<ScriptFunctionBinding_t,CUtlMemory<ScriptFunctionBinding_t,int>>::
InsertBefore((CUtlVector<ScriptFunctionBinding_t,CUtlMemory<ScriptFunctionBinding_t,int>>
*)(g_CTerrorPlayer_ScriptDesc + 0x10),g_CTerrorPlayer_ScriptDesc._28_4_);
puVar4 = (undefined4 *)(iVar3 * 0x30 + g_CTerrorPlayer_ScriptDesc._16_4_);
puVar4[2] = "Get the Special Infected dominating this Survivor";
*puVar4 = "GetSpecialInfectedDominatingMe";
puVar4[1] = "ScriptGetSpecialInfectedDominatingMe";
puVar4[3] = 0x20;
puVar4[9] = CMemberScriptBinding0<CTerrorPlayer*,HSCRIPT__*(CTerrorPlayer::*)(),HSCRIPT__*>::
Call;
puVar4[10] = CTerrorPlayer::ScriptGetSpecialInfectedDominatingMe;
puVar4[0xb] = 1;
iVar3 = CUtlVector<ScriptFunctionBinding_t,CUtlMemory<ScriptFunctionBinding_t,int>>::
InsertBefore((CUtlVector<ScriptFunctionBinding_t,CUtlMemory<ScriptFunctionBinding_t,int>>
*)(g_CTerrorPlayer_ScriptDesc + 0x10),g_CTerrorPlayer_ScriptDesc._28_4_);
puVar4 = (undefined4 *)(iVar3 * 0x30 + g_CTerrorPlayer_ScriptDesc._16_4_);
puVar4[2] = "Return true if being dominated by a Special Infected";
*puVar4 = "IsDominatedBySpecialInfected";
puVar4[1] = "IsDominatedBySpecialInfected";
puVar4[3] = 6;
puVar4[9] = CMemberScriptBinding0<CTerrorPlayer*,bool(CTerrorPlayer::*)(),bool>::Call;
puVar4[10] = CTerrorPlayer::IsDominatedBySpecialInfected;
puVar4[0xb] = 1;
iVar3 = CUtlVector<ScriptFunctionBinding_t,CUtlMemory<ScriptFunctionBinding_t,int>>::
InsertBefore((CUtlVector<ScriptFunctionBinding_t,CUtlMemory<ScriptFunctionBinding_t,int>>
*)(g_CTerrorPlayer_ScriptDesc + 0x10),g_CTerrorPlayer_ScriptDesc._28_4_);
puVar4 = (undefined4 *)(iVar3 * 0x30 + g_CTerrorPlayer_ScriptDesc._16_4_);
puVar4[2] = "Return true if player is firing a weapon";
*puVar4 = "IsFiringWeapon";
puVar4[1] = "IsFiringWeapon";
puVar4[3] = 6;
puVar4[9] = CMemberScriptBinding0<CTerrorPlayer*,bool(CTerrorPlayer::*)(),bool>::Call;
puVar4[10] = CTerrorPlayer::IsFiringWeapon;
puVar4[0xb] = 1;
iVar3 = CUtlVector<ScriptFunctionBinding_t,CUtlMemory<ScriptFunctionBinding_t,int>>::
InsertBefore((CUtlVector<ScriptFunctionBinding_t,CUtlMemory<ScriptFunctionBinding_t,int>>
*)(g_CTerrorPlayer_ScriptDesc + 0x10),g_CTerrorPlayer_ScriptDesc._28_4_);
puVar4 = (undefined4 *)(iVar3 * 0x30 + g_CTerrorPlayer_ScriptDesc._16_4_);
puVar4[2] = "Return true if player is staggering";
*puVar4 = "IsStaggering";
puVar4[1] = "IsStaggering";
puVar4[3] = 6;
puVar4[9] = CMemberScriptBinding0<CTerrorPlayer*,bool(CTerrorPlayer::*)(),bool>::Call;
puVar4[10] = CTerrorPlayer::IsStaggering;
puVar4[0xb] = 1;
iVar3 = CUtlVector<ScriptFunctionBinding_t,CUtlMemory<ScriptFunctionBinding_t,int>>::
InsertBefore((CUtlVector<ScriptFunctionBinding_t,CUtlMemory<ScriptFunctionBinding_t,int>>
*)(g_CTerrorPlayer_ScriptDesc + 0x10),g_CTerrorPlayer_ScriptDesc._28_4_);
puVar4 = (undefined4 *)(iVar3 * 0x30 + g_CTerrorPlayer_ScriptDesc._16_4_);
puVar4[2] = "Returns the time the character has been alive (only valid when alive)";
*puVar4 = "GetAliveDuration";
puVar4[1] = "GetAliveDuration";
puVar4[3] = 1;
puVar4[9] = CMemberScriptBinding0<CTerrorPlayer*,float(CBaseCombatCharacter::*)(),float>::Call;
puVar4[10] = 0x4a1;
puVar4[0xb] = 1;
iVar3 = CUtlVector<ScriptFunctionBinding_t,CUtlMemory<ScriptFunctionBinding_t,int>>::
InsertBefore((CUtlVector<ScriptFunctionBinding_t,CUtlMemory<ScriptFunctionBinding_t,int>>
*)(g_CTerrorPlayer_ScriptDesc + 0x10),g_CTerrorPlayer_ScriptDesc._28_4_);
puVar4 = (undefined4 *)(iVar3 * 0x30 + g_CTerrorPlayer_ScriptDesc._16_4_);
puVar4[2] = "Returns true if the character has ever been injured by a member of the given team";
*puVar4 = "HasEverBeenInjured";
puVar4[1] = "HasEverBeenInjured";
puVar4[3] = 6;
puVar4[6] = 1;
if ((int)puVar4[5] < 1) {
puVar4[5] = 1;
if ((void *)puVar4[4] == (void *)0x0) {
pvVar5 = malloc(4);
puVar4[4] = pvVar5;
}
else {
pvVar5 = realloc((void *)puVar4[4],4);
puVar4[4] = pvVar5;
}
}
else {
pvVar5 = (void *)puVar4[4];
}
puVar4[8] = pvVar5;
local_20[0] = 5;
CUtlVector<int,CUtlMemory<int,int>>::InsertBefore
((CUtlVector<int,CUtlMemory<int,int>> *)(puVar4 + 4),puVar4[7],local_20);
puVar4[9] = CMemberScriptBinding1<CTerrorPlayer*,bool(CBaseCombatCharacter::*)(int),bool,int>::
Call;
puVar4[10] = 0x4ad;
puVar4[0xb] = 1;
return (ScriptClassDesc_t *)g_CTerrorPlayer_ScriptDesc;
}
return (ScriptClassDesc_t *)g_CTerrorPlayer_ScriptDesc;
}
SourceMod gamedata
paste intoaddons/sourcemod/gamedata/<your_plugin>.txt
used as the SourceMod key — change to fit your plugin's convention
SourceMod library name (server / engine / matchmaking)
Just a Signatures{} block, ready to drop into a gamedata
file. Wire it up in your plugin however you like - SDKCall, DHooks,
raw memory ops, or anything else.
Signatures + Functions block. The plugin uses
DHookCreateFromConf - DHooks reads return type, this-type,
calling convention, and argument types straight from the gamedata. Less
boilerplate in the plugin, types travel with the gamedata.
Gamedata KeyValues
DHooks plugin example
Type inference is best-effort from the C signature - sanity-check the DHooks types before shipping.