CTerrorPlayer::ClientCommand
0x009d95f0 · 15487 bytes · __thiscall
_ZN13CTerrorPlayer13ClientCommandERK8CCommand
Decompiled
undefined (2 params)
/* CTerrorPlayer::ClientCommand(CCommand const&) */
uint __thiscall CTerrorPlayer::ClientCommand(CTerrorPlayer *this,CCommand *param_1)
{
undefined4 uVar1;
code *pcVar2;
char *pcVar3;
short sVar4;
int *piVar5;
char cVar6;
byte bVar7;
ushort uVar8;
int iVar9;
CStudioHdr *pCVar10;
int iVar11;
char *pcVar12;
int iVar13;
CTerrorPlayer *pCVar14;
int *piVar15;
int iVar16;
undefined *puVar17;
CBaseEntity *pCVar18;
int *piVar19;
CSurvivorRescue *this_00;
CTerrorWeapon *this_01;
Vector *pVVar20;
CInferno *this_02;
long lVar21;
CSurvivorRescue *this_03;
SurvivorBot *this_04;
KeyValues *this_05;
size_t sVar22;
uint uVar23;
undefined1 *puVar24;
undefined1 *puVar25;
CStudioHdr *this_06;
uint uVar26;
int in_GS_OFFSET;
bool bVar27;
longdouble lVar28;
longdouble lVar29;
float fVar30;
double dVar31;
double dVar32;
CTerrorPlayer *this_07;
float local_24c;
undefined4 local_23c;
undefined4 local_238;
undefined4 local_234;
char *local_230;
undefined4 local_22c;
float local_228;
char *local_224;
undefined4 local_220;
float local_21c;
undefined4 local_218;
undefined4 local_214;
undefined4 local_210;
undefined4 local_20c;
BossZombiePlayerBot *local_208;
CTerrorPlayer *local_204;
size_t local_200;
undefined4 local_1fc;
undefined4 local_1f8;
undefined4 local_1f4 [10];
byte local_1ca;
char local_120 [256];
int local_20;
puVar25 = &stack0xfffffd64;
puVar24 = &stack0xfffffd64;
local_20 = *(int *)(in_GS_OFFSET + 0x14);
if (*(int *)param_1 < 1) {
pCVar14 = (CTerrorPlayer *)&DAT_00d539c2;
LAB_009d962b:
this_07 = pCVar14;
iVar9 = _V_stricmp((char *)pCVar14,"activitylist");
if (iVar9 == 0) goto LAB_009d963f;
if (*(int *)(*(int *)(sv_cheats + 0x1c) + 0x30) != 0) {
if ((pCVar14 == (CTerrorPlayer *)"francis") ||
(iVar9 = _V_stricmp((char *)pCVar14,"francis"), iVar9 == 0)) {
uVar26 = 1;
CDirector::AddSurvivorBot();
puVar25 = &stack0xfffffd64;
goto LAB_009d9657;
}
if ((pCVar14 == (CTerrorPlayer *)"louis") ||
(iVar9 = _V_stricmp((char *)pCVar14,"louis"), iVar9 == 0)) {
uVar26 = 1;
CDirector::AddSurvivorBot();
puVar25 = &stack0xfffffd64;
goto LAB_009d9657;
}
if ((pCVar14 == (CTerrorPlayer *)0xcdb535) ||
(this_07 = pCVar14, iVar9 = _V_stricmp((char *)pCVar14,"zoey"), iVar9 == 0)) {
uVar26 = 1;
CDirector::AddSurvivorBot();
puVar25 = &stack0xfffffd64;
goto LAB_009d9657;
}
}
if (((pCVar14 != (CTerrorPlayer *)"spectate") &&
(this_07 = pCVar14, iVar9 = _V_stricmp((char *)pCVar14,"spectate"), iVar9 != 0)) ||
(cVar6 = CTerrorGameRules::HasPlayerControlledZombies(), cVar6 == '\0')) {
if ((pCVar14 == (CTerrorPlayer *)0xd079a1) ||
(this_07 = pCVar14, iVar9 = _V_stricmp((char *)pCVar14,"unstick"), iVar9 == 0)) {
puVar24 = &stack0xfffffd64;
if ((*(int *)(*(int *)(sv_cheats + 0x1c) + 0x30) != 0) &&
(puVar24 = &stack0xfffffd64, this[0x39f1] == (CTerrorPlayer)0x0)) {
WarpToValidPositionIfStuck(this_07);
uVar26 = 1;
puVar25 = &stack0xfffffd64;
goto LAB_009d9657;
}
}
else {
if ((pCVar14 == (CTerrorPlayer *)0xd0eedf) ||
(iVar9 = _V_stricmp((char *)pCVar14,"red"), iVar9 == 0)) {
uVar26 = 1;
local_20c = (undefined **)
CONCAT13((char)(int)*(float *)(ZombieDamageScreenFadeAlpha._28_4_ + 0x2c),0xff
);
UTIL_ScreenFade((CBaseEntity *)this,(color32_s *)&local_20c,
*(float *)(ZombieDamageScreenFadeDuration._28_4_ + 0x2c),0.0,1);
puVar25 = &stack0xfffffd64;
goto LAB_009d9657;
}
if ((pCVar14 == (CTerrorPlayer *)&DAT_00d15d54) ||
(iVar9 = _V_stricmp((char *)pCVar14,"dsp"), iVar9 == 0)) {
puVar24 = &stack0xfffffd64;
if (*(int *)param_1 == 2) {
CRecipientFilter::CRecipientFilter((CRecipientFilter *)&local_20c);
local_20c = &PTR__CSingleUserRecipientFilter_00c08ea8;
/* try { // try from 009d9a1f to 009d9a23 has its CatchHandler @ 009dd2ac */
CRecipientFilter::AddRecipient((CRecipientFilter *)&local_20c,(CBasePlayer *)this);
pcVar2 = *(code **)(*enginesound + 0x2c);
pcVar12 = "";
if (1 < *(int *)param_1) {
pcVar12 = *(char **)(param_1 + 0x40c);
}
strtol(pcVar12,(char **)0x0,10);
/* try { // try from 009d9a74 to 009d9a75 has its CatchHandler @ 009dd2c6 */
(*pcVar2)();
uVar26 = 1;
local_20c = &PTR__CSingleUserRecipientFilter_00c08ea8;
CRecipientFilter::~CRecipientFilter((CRecipientFilter *)&local_20c);
puVar25 = &stack0xfffffd64;
goto LAB_009d9657;
}
}
else {
uVar26 = *(int *)(bot_mimic._28_4_ + 0x30) >> 0x1f;
if (*(int *)(this + 0x30) == 0) {
iVar9 = 0;
}
else {
iVar9 = *(int *)(this + 0x30) - *(int *)(gpGlobals + 0x58) >> 4;
}
if (((((*(uint *)(bot_mimic._28_4_ + 0x30) ^ uVar26) - uVar26 == iVar9) &&
(cVar6 = (**(code **)(*(int *)this + 0x778))(), cVar6 == '\0')) &&
(*(int *)(*(int *)(sv_cheats + 0x1c) + 0x30) != 0)) &&
(iVar9 = V_stristr((char *)pCVar14,"spec"), iVar9 == 0)) {
puVar24 = &stack0xfffffd64;
if (0 < *(int *)(gpGlobals + 0x14)) {
iVar9 = 1;
do {
piVar19 = (int *)UTIL_PlayerByIndex(iVar9);
if (((piVar19 != (int *)0x0) &&
(cVar6 = (**(code **)(*piVar19 + 0x16c))(), cVar6 != '\0')) &&
(cVar6 = (**(code **)(*piVar19 + 0x778))(), cVar6 != '\0')) {
(**(code **)(*piVar19 + 0x634))();
}
iVar9 = iVar9 + 1;
puVar24 = &stack0xfffffd64;
} while (iVar9 <= *(int *)(gpGlobals + 0x14));
}
}
else if (((pCVar14 == (CTerrorPlayer *)"invnext") ||
(iVar9 = _V_stricmp((char *)pCVar14,"invnext"), iVar9 == 0)) ||
((pCVar14 == (CTerrorPlayer *)"invprev" ||
(iVar9 = _V_stricmp((char *)pCVar14,"invprev"), iVar9 == 0)))) {
bVar7 = (**(code **)(*(int *)this + 0x778))();
puVar24 = &stack0xfffffd64;
if (bVar7 != 0) {
piVar19 = (int *)CCSPlayer::GetActiveCSWeapon((CCSPlayer *)this);
bVar27 = true;
if (pCVar14 != (CTerrorPlayer *)"invnext") {
iVar9 = _V_stricmp((char *)pCVar14,"invnext");
bVar27 = iVar9 == 0;
}
iVar9 = 0;
piVar5 = (int *)0x0;
iVar11 = 0;
do {
piVar15 = (int *)CCSPlayer::GetCSWeapon((CCSPlayer *)this,iVar11);
if (((piVar15 != (int *)0x0) && (piVar19 != piVar15)) &&
(cVar6 = (**(code **)(*piVar15 + 0x3c0))(), cVar6 != '\0')) {
iVar16 = (**(code **)(*piVar15 + 0x638))();
iVar13 = (**(code **)(*piVar19 + 0x638))();
if (bVar27) {
if (iVar16 < iVar13) goto LAB_009d9ff3;
}
else if (iVar13 < iVar16) {
LAB_009d9ff3:
if (iVar9 == 0) {
iVar9 = iVar16;
piVar5 = piVar15;
}
}
}
iVar11 = iVar11 + 1;
} while (iVar11 != 0x38);
uVar26 = (uint)bVar7;
puVar24 = &stack0xfffffd64;
if (piVar5 != (int *)0x0) {
(**(code **)(*(int *)this + 0x474))();
puVar25 = &stack0xfffffd64;
goto LAB_009d9657;
}
}
}
else {
if ((pCVar14 == (CTerrorPlayer *)"survival_record") ||
(iVar9 = _V_stricmp((char *)pCVar14,"survival_record"), iVar9 == 0)) {
pcVar12 = "";
if (1 < *(int *)param_1) {
pcVar12 = *(char **)(param_1 + 0x40c);
}
iVar9 = sscanf(pcVar12,"%llu");
if (iVar9 == 1) {
pcVar12 = "";
if (2 < *(int *)param_1) {
pcVar12 = *(char **)(param_1 + 0x410);
}
iVar9 = sscanf(pcVar12,"%u");
if (iVar9 == 1) {
local_230 = (char *)((uint)local_230 ^ (uint)local_208 >> 0x18);
local_208 = (BossZombiePlayerBot *)((uint)local_208 & 0xffffff);
cVar6 = (**(code **)(*engine + 0x1bc))();
if (cVar6 != '\0') {
V_snprintf(local_120,0x100,"%s*%llu");
_V_strlower(local_120);
iVar9 = _V_strlen(local_120);
CRC32_Init((ulong *)&local_224);
CRC32_ProcessBuffer((ulong *)&local_224,local_120,iVar9);
CRC32_Final((ulong *)&local_224);
if (local_230 == local_224) {
UpdateSurvivalRecordTime
(this,((float)((uint)local_20c >> 0x10) * 65536.0 +
(float)((uint)local_20c & 0xffff)) * 0.01);
goto LAB_009d9e78;
}
}
}
}
uVar26 = 0;
puVar25 = &stack0xfffffd64;
goto LAB_009d9657;
}
LAB_009d9e78:
if ((pCVar14 == (CTerrorPlayer *)"jointeam") ||
(iVar9 = _V_stricmp((char *)pCVar14,"jointeam"), iVar9 == 0)) {
if (*(int *)param_1 < 2) {
Warning();
}
uVar26 = CCSPlayer::ShouldRunRateLimitedCommand((CCSPlayer *)this,param_1);
puVar24 = &stack0xfffffd64;
if ((char)uVar26 != '\0') {
bVar27 = ClientCommand(CCommand_const&)::sv_cheats == '\0';
*(undefined4 *)(this + 0x2400) = *(undefined4 *)(gpGlobals + 0xc);
if ((bVar27) && (iVar9 = __cxa_guard_acquire(), iVar9 != 0)) {
/* try { // try from 009dd02d to 009dd031 has its CatchHandler @ 009dd258 */
ConVarRef::ConVarRef
((ConVarRef *)&ClientCommand(CCommand_const&)::sv_cheats,"sv_cheats");
__cxa_guard_release();
}
iVar9 = (**(code **)(*(int *)this + 0x8d4))();
if ((iVar9 == 0) ||
(puVar24 = &stack0xfffffd64,
*(int *)(ClientCommand(CCommand_const&)::sv_cheats._4_4_ + 0x30) != 0)) {
if (*(int *)param_1 < 2) {
lVar21 = strtol("",(char **)0x0,10);
if (lVar21 == 0) {
iVar9 = _V_stricmp("","Survivor");
if (iVar9 == 0) goto LAB_009da156;
iVar9 = _V_stricmp("","Infected");
pcVar12 = "";
if (iVar9 == 0) goto LAB_009dcff9;
LAB_009dcfad:
lVar21 = 0;
iVar9 = _V_stricmp(pcVar12,"Spectator");
if (iVar9 == 0) goto LAB_009dcfc7;
}
}
else {
pcVar12 = *(char **)(param_1 + 0x40c);
lVar21 = strtol(pcVar12,(char **)0x0,10);
if (lVar21 == 0) {
if ((pcVar12 == "Survivor") ||
(iVar9 = _V_stricmp(pcVar12,"Survivor"), iVar9 == 0)) {
LAB_009da156:
lVar21 = 2;
}
else if ((pcVar12 == "Infected") ||
(iVar9 = _V_stricmp(pcVar12,"Infected"), iVar9 == 0)) {
LAB_009dcff9:
lVar21 = 3;
}
else {
if (pcVar12 != "Spectator") goto LAB_009dcfad;
LAB_009dcfc7:
lVar21 = 1;
}
}
}
if ((((*(int *)(developer._28_4_ + 0x30) != 0) ||
(*(int *)(ClientCommand(CCommand_const&)::sv_cheats._4_4_ + 0x30) != 0)) ||
(puVar24 = &stack0xfffffd64, lVar21 - 2U < 2)) &&
(iVar9 = CBaseEntity::GetTeamNumber((CBaseEntity *)this),
puVar24 = &stack0xfffffd64, lVar21 != iVar9)) {
iVar9 = CBaseEntity::GetTeamNumber((CBaseEntity *)this);
if (lVar21 == 2) {
if (*(int *)param_1 < 3) {
local_20c = (undefined **)0x0;
ForEachTerrorPlayer<FindUnusedSurvivorCharacter>
((FindUnusedSurvivorCharacter *)&local_20c);
pCVar14 = (CTerrorPlayer *)local_20c;
LAB_009dd061:
if ((pCVar14 != (CTerrorPlayer *)0x0) &&
(this_04 = (SurvivorBot *)__dynamic_cast(), this_04 != (SurvivorBot *)0x0
)) {
local_20c = (undefined **)0x0;
local_208 = (BossZombiePlayerBot *)0x0;
local_204 = this;
ForEachTerrorPlayer<FindBotSpectator>((FindBotSpectator *)&local_20c);
if ((SurvivorBot *)local_20c != (SurvivorBot *)0x0) {
SurvivorBot::ResetHumanSpectator((SurvivorBot *)local_20c);
}
if (local_208 != (BossZombiePlayerBot *)0x0) {
BossZombiePlayerBot::ResetHumanSpectator(local_208);
}
(**(code **)(*(int *)this + 0x194))();
SurvivorBot::SetHumanSpectator(this_04,this);
(**(code **)(*(int *)this + 0x64c))();
iVar11 = (**(code **)(*(int *)this + 0x648))();
if (iVar11 == 6) {
(**(code **)(*(int *)this + 0x644))();
}
pcVar12 = "specgui";
(**(code **)(*(int *)this + 0x580))();
cVar6 = (**(code **)(*(int *)this_04 + 300))();
if ((cVar6 == '\0') ||
(cVar6 = CTerrorGameRules::HasPlayerControlledZombies(), cVar6 != '\0')
) {
TakeOverBot(this,false);
}
else {
this_05 = KeyValues::operator_new((KeyValues *)0x2c,(uint)pcVar12);
/* try { // try from 009dd306 to 009dd30a has its CatchHandler @ 009dd357 */
KeyValues::KeyValues(this_05,"data",(IKeyValuesSystem *)0x0,false);
KeyValues::SetInt(this_05,"character",*(int *)(this_04 + 0x2ba0));
(**(code **)(*(int *)this + 0x580))();
KeyValues::deleteThis();
}
iVar11 = CBaseEntity::GetTeamNumber((CBaseEntity *)this);
puVar25 = &stack0xfffffd64;
if (iVar9 == iVar11) goto LAB_009d9657;
goto LAB_009dd1ae;
}
}
else {
iVar11 = GetCharacterFromName(*(char **)(param_1 + 0x410));
if (iVar11 == 8) {
(**(code **)(*(int *)this + 0x580))();
puVar25 = &stack0xfffffd64;
goto LAB_009d9657;
}
pCVar14 = (CTerrorPlayer *)GetPlayerByCharacter();
if ((pCVar14 != (CTerrorPlayer *)0x0) &&
(cVar6 = (**(code **)(*(int *)pCVar14 + 0x778))(), cVar6 != '\0'))
goto LAB_009dd061;
}
(**(code **)(*(int *)this + 0x580))();
puVar25 = &stack0xfffffd64;
goto LAB_009d9657;
}
(**(code **)(*(int *)this + 0x8cc))();
iVar11 = CBaseEntity::GetTeamNumber((CBaseEntity *)this);
if (iVar9 != iVar11) {
(**(code **)(*(int *)this + 0x580))();
LAB_009dd1ae:
*(int *)(this + 0x3378) = *(int *)(this + 0x3378) + 1;
puVar25 = &stack0xfffffd64;
goto LAB_009d9657;
}
iVar9 = CBaseEntity::GetTeamNumber((CBaseEntity *)this);
puVar24 = &stack0xfffffd64;
if (lVar21 != iVar9) {
(**(code **)(*(int *)this + 0x580))();
puVar25 = &stack0xfffffd64;
goto LAB_009d9657;
}
}
}
}
goto LAB_009d9652;
}
if (((pCVar14 == (CTerrorPlayer *)"spec_next") ||
(iVar9 = _V_stricmp((char *)pCVar14,"spec_next"), iVar9 == 0)) &&
(uVar26 = TakeOverBot(this,false), (char)uVar26 != '\0')) {
(**(code **)(*(int *)this + 0x580))();
puVar25 = &stack0xfffffd64;
goto LAB_009d9657;
}
if ((pCVar14 == (CTerrorPlayer *)0xc0ea15) ||
(iVar9 = _V_stricmp((char *)pCVar14,"dance"), iVar9 == 0)) {
puVar24 = &stack0xfffffd64;
if ((*(int *)(*(int *)(sv_cheats + 0x1c) + 0x30) != 0) &&
((cVar6 = CBaseCombatCharacter::IsA(), puVar24 = &stack0xfffffd64, cVar6 != '\0' &&
(uVar26 = (**(code **)(*(int *)this + 300))(), piVar19 = mdlcache,
puVar24 = &stack0xfffffd64, (char)uVar26 != '\0')))) {
(**(code **)(*mdlcache + 0x68))();
/* try { // try from 009d9f6d to 009d9f72 has its CatchHandler @ 009da405 */
(**(code **)(*(int *)this + 0x7fc))();
(**(code **)(*piVar19 + 0x6c))();
puVar25 = &stack0xfffffd64;
goto LAB_009d9657;
}
}
else if ((pCVar14 == (CTerrorPlayer *)"stagger_forward") ||
(iVar9 = _V_stricmp((char *)pCVar14,"stagger_forward"), iVar9 == 0)) {
puVar24 = &stack0xfffffd64;
if (*(int *)(*(int *)(sv_cheats + 0x1c) + 0x30) != 0) {
uVar26 = (**(code **)(*(int *)this + 300))();
if (((char)uVar26 != '\0') &&
(iVar9 = CBaseEntity::GetTeamNumber((CBaseEntity *)this), iVar9 == 3)) {
CBasePlayer::EyeVectors
((CBasePlayer *)this,(Vector *)&local_20c,(Vector *)0x0,(Vector *)0x0);
local_20c = (undefined **)((float)local_20c * 300.0);
local_208 = (BossZombiePlayerBot *)((float)local_208 * 300.0);
local_204 = (CTerrorPlayer *)((float)local_204 * 300.0);
OnShovedBySurvivor(this,(CTerrorPlayer *)0x0,(Vector *)&local_20c);
puVar25 = &stack0xfffffd64;
goto LAB_009d9657;
}
uVar26 = (**(code **)(*(int *)this + 300))();
puVar24 = &stack0xfffffd64;
if (((char)uVar26 != '\0') &&
(iVar9 = CBaseEntity::GetTeamNumber((CBaseEntity *)this),
puVar24 = &stack0xfffffd64, iVar9 == 2)) {
CBasePlayer::EyeVectors
((CBasePlayer *)this,(Vector *)&local_20c,(Vector *)0x0,(Vector *)0x0);
local_20c = (undefined **)((float)local_20c * 300.0);
local_208 = (BossZombiePlayerBot *)((float)local_208 * 300.0);
local_204 = (CTerrorPlayer *)((float)local_204 * 300.0);
OnStaggered(this,(CBaseEntity *)this,(Vector *)0x0);
puVar25 = &stack0xfffffd64;
goto LAB_009d9657;
}
}
}
else {
sVar4 = (short)this;
if ((pCVar14 == (CTerrorPlayer *)"give_tank") ||
(iVar9 = _V_stricmp((char *)pCVar14,"give_tank"), iVar9 == 0)) {
puVar24 = &stack0xfffffd64;
if (*(int *)(*(int *)(sv_cheats + 0x1c) + 0x30) != 0) {
(**(code **)(*(int *)this + 0x5c4))();
(**(code **)(*(int *)this + 0x6c0))();
uVar26 = *(uint *)(this + 0x30bc);
if ((((uVar26 != 0xffffffff) &&
(puVar17 = g_pEntityList + (uVar26 & 0xfff) * 0x10,
puVar17 != (undefined *)0xfffffffc)) &&
(*(uint *)(puVar17 + 8) == uVar26 >> 0xc)) &&
(*(CBaseEntity **)(puVar17 + 4) != (CBaseEntity *)0x0)) {
UTIL_Remove(*(CBaseEntity **)(puVar17 + 4));
}
if (((byte)this[0x14d] & 8) != 0) {
CBaseEntity::CalcAbsolutePosition((CBaseEntity *)this);
}
pVVar20 = (Vector *)&local_20c;
(**(code **)(*(int *)this + 0x234))();
pcVar12 = "ability_throw";
iVar9 = CBaseEntity::Create("ability_throw",pVVar20,(QAngle *)(this + 0x37c),
(CBaseEntity *)this);
CServerNetworkProperty::NetworkStateChanged(sVar4 + 0x24);
if (iVar9 == 0) {
*(undefined4 *)(this + 0x30bc) = 0xffffffff;
puVar24 = &stack0xfffffd60;
}
else {
CBaseHandle::Set((CBaseHandle *)pcVar12,(IHandleEntity *)pVVar20);
uVar26 = *(uint *)(this + 0x30bc);
puVar24 = &stack0xfffffd60;
if (((uVar26 != 0xffffffff) &&
(puVar17 = g_pEntityList + (uVar26 & 0xfff) * 0x10,
puVar24 = &stack0xfffffd60, puVar17 != (undefined *)0xfffffffc)) &&
((puVar24 = &stack0xfffffd60, *(uint *)(puVar17 + 8) == uVar26 >> 0xc &&
(puVar24 = &stack0xfffffd60, *(int **)(puVar17 + 4) != (int *)0x0)))) {
uVar26 = 1;
(**(code **)(**(int **)(puVar17 + 4) + 0x338))();
puVar25 = &stack0xfffffd60;
goto LAB_009d9657;
}
}
}
}
else if ((pCVar14 == (CTerrorPlayer *)"give_survivor") ||
(iVar9 = _V_stricmp((char *)pCVar14,"give_survivor"), iVar9 == 0)) {
puVar24 = &stack0xfffffd64;
if (*(int *)(*(int *)(sv_cheats + 0x1c) + 0x30) != 0) {
(**(code **)(*(int *)this + 0x5c4))();
(**(code **)(*(int *)this + 0x6c0))();
uVar26 = *(uint *)(this + 0x30bc);
puVar24 = &stack0xfffffd64;
if ((((uVar26 != 0xffffffff) &&
(puVar17 = g_pEntityList + (uVar26 & 0xfff) * 0x10,
puVar24 = &stack0xfffffd64, puVar17 != (undefined *)0xfffffffc)) &&
(puVar24 = &stack0xfffffd64, *(uint *)(puVar17 + 8) == uVar26 >> 0xc)) &&
(puVar24 = &stack0xfffffd64,
*(CBaseEntity **)(puVar17 + 4) != (CBaseEntity *)0x0)) {
uVar26 = 1;
UTIL_Remove(*(CBaseEntity **)(puVar17 + 4));
puVar25 = &stack0xfffffd64;
goto LAB_009d9657;
}
}
}
else if ((pCVar14 == (CTerrorPlayer *)0xc85d12) ||
(iVar9 = _V_stricmp((char *)pCVar14,"smoke"), iVar9 == 0)) {
puVar24 = &stack0xfffffd64;
iVar9 = IPredictionSystem::g_pPredictionSystems;
if (*(int *)(*(int *)(sv_cheats + 0x1c) + 0x30) != 0) {
for (; iVar9 != 0; iVar9 = *(int *)(iVar9 + 4)) {
*(int *)(iVar9 + 0x10) = *(int *)(iVar9 + 0x10) + 1;
}
/* try { // try from 009daa84 to 009dab1e has its CatchHandler @ 009daa5e */
if ((((byte)this[0x14d] & 8) != 0) &&
(CBaseEntity::CalcAbsolutePosition((CBaseEntity *)this),
((byte)this[0x14d] & 8) != 0)) {
CBaseEntity::CalcAbsolutePosition((CBaseEntity *)this);
}
/* try { // try from 009da7e2 to 009da8ac has its CatchHandler @ 009daa5e */
DispatchParticleEffect();
if (((byte)this[0x14d] & 8) == 0) {
local_20c = *(undefined ***)(this + 0x2e0);
local_208 = *(BossZombiePlayerBot **)(this + 0x2e4);
local_204 = (CTerrorPlayer *)(*(float *)(this + 0x2e8) + 24.0);
}
else {
CBaseEntity::CalcAbsolutePosition((CBaseEntity *)this);
local_20c = *(undefined ***)(this + 0x2e0);
local_208 = *(BossZombiePlayerBot **)(this + 0x2e4);
local_204 = (CTerrorPlayer *)(*(float *)(this + 0x2e8) + 24.0);
if ((*(uint *)(this + 0x14c) & 0x800) != 0) {
CBaseEntity::CalcAbsolutePosition((CBaseEntity *)this);
}
}
DispatchParticleEffect();
for (iVar9 = IPredictionSystem::g_pPredictionSystems; puVar24 = &stack0xfffffd64,
iVar9 != 0; iVar9 = *(int *)(iVar9 + 4)) {
*(int *)(iVar9 + 0x10) = *(int *)(iVar9 + 0x10) + -1;
}
}
}
else if ((pCVar14 == (CTerrorPlayer *)"fullpull") ||
(iVar9 = _V_stricmp((char *)pCVar14,"fullpull"), iVar9 == 0)) {
puVar24 = &stack0xfffffd64;
if (*(int *)(*(int *)(sv_cheats + 0x1c) + 0x30) != 0) {
iVar9 = 1;
if (0 < *(int *)(gpGlobals + 0x14)) {
do {
pCVar18 = (CBaseEntity *)UTIL_PlayerByIndex(iVar9);
if ((((pCVar18 != (CBaseEntity *)0x0) &&
(cVar6 = (**(code **)(*(int *)pCVar18 + 0x16c))(), cVar6 != '\0')) &&
(iVar11 = CBaseEntity::GetTeamNumber(pCVar18), iVar11 == 3)) &&
(((cVar6 = CBaseCombatCharacter::IsA(), cVar6 != '\0' &&
(uVar26 = (**(code **)(*(int *)pCVar18 + 300))(), (char)uVar26 != '\0'))
&& (this != (CTerrorPlayer *)pCVar18)))) {
OnStaggered(this,pCVar18,(Vector *)0x0);
puVar25 = &stack0xfffffd64;
goto LAB_009d9657;
}
iVar9 = iVar9 + 1;
} while (iVar9 <= *(int *)(gpGlobals + 0x14));
}
uVar26 = 1;
OnStaggered(this,(CBaseEntity *)this,(Vector *)0x0);
puVar25 = &stack0xfffffd64;
goto LAB_009d9657;
}
}
else if ((pCVar14 == (CTerrorPlayer *)"damage_me") ||
(iVar9 = _V_stricmp((char *)pCVar14,"damage_me"), iVar9 == 0)) {
cVar6 = (**(code **)(*(int *)this + 300))();
puVar24 = &stack0xfffffd64;
if ((cVar6 != '\0') &&
(puVar24 = &stack0xfffffd64, *(int *)(*(int *)(sv_cheats + 0x1c) + 0x30) != 0)) {
iVar9 = (**(code **)(*(int *)this + 0x1fc))();
if (iVar9 < 0) {
iVar9 = iVar9 + 3;
}
CTakeDamageInfo::CTakeDamageInfo
((CTakeDamageInfo *)&local_20c,(CBaseEntity *)this,(CBaseEntity *)this,
(float)(iVar9 >> 2),0x1000,0);
CBaseEntity::TakeDamage((CBaseEntity *)this,(CTakeDamageInfo *)&local_20c);
puVar24 = &stack0xfffffd64;
}
}
else if ((pCVar14 == (CTerrorPlayer *)&DAT_00d15dc0) ||
(iVar9 = _V_stricmp((char *)pCVar14,"limp"), iVar9 == 0)) {
cVar6 = (**(code **)(*(int *)this + 300))();
puVar24 = &stack0xfffffd64;
if ((cVar6 != '\0') &&
((iVar9 = CBaseEntity::GetTeamNumber((CBaseEntity *)this),
puVar24 = &stack0xfffffd64, iVar9 == 2 &&
(puVar24 = &stack0xfffffd64, *(int *)(*(int *)(sv_cheats + 0x1c) + 0x30) != 0)))
) {
cVar6 = (**(code **)(*(int *)this + 0x7e8))();
if (cVar6 != '\0') {
(**(code **)(*(int *)this + 0x924))();
}
if (*(int *)param_1 == 2) {
dVar31 = strtod(*(char **)(param_1 + 0x40c),(char **)0x0);
SetHealthBuffer(this,(float)dVar31);
}
else {
SetHealthBuffer(this,50.0);
}
CTakeDamageInfo::CTakeDamageInfo
((CTakeDamageInfo *)&local_20c,(CBaseEntity *)this,(CBaseEntity *)this,
(float)*(int *)(this + 0x100),0x1000,0);
CBaseEntity::TakeDamage((CBaseEntity *)this,(CTakeDamageInfo *)&local_20c);
puVar24 = &stack0xfffffd64;
}
}
else if ((pCVar14 == (CTerrorPlayer *)"fumes") ||
(iVar9 = _V_stricmp((char *)pCVar14,"fumes"), iVar9 == 0)) {
cVar6 = (**(code **)(*(int *)this + 300))();
puVar24 = &stack0xfffffd64;
if ((cVar6 != '\0') &&
((iVar9 = CBaseEntity::GetTeamNumber((CBaseEntity *)this),
puVar24 = &stack0xfffffd64, iVar9 == 2 &&
(puVar24 = &stack0xfffffd64, *(int *)(*(int *)(sv_cheats + 0x1c) + 0x30) != 0)))
) {
cVar6 = (**(code **)(*(int *)this + 0x7e8))();
if (cVar6 != '\0') {
(**(code **)(*(int *)this + 0x924))();
}
SetHealthBuffer(this,1.0);
CTakeDamageInfo::CTakeDamageInfo
((CTakeDamageInfo *)&local_20c,(CBaseEntity *)this,(CBaseEntity *)this,
(float)*(int *)(this + 0x100),0x1000,0);
CBaseEntity::TakeDamage((CBaseEntity *)this,(CTakeDamageInfo *)&local_20c);
puVar24 = &stack0xfffffd64;
}
}
else if ((pCVar14 == (CTerrorPlayer *)0xc2deee) ||
(iVar9 = _V_stricmp((char *)pCVar14,"incap"), iVar9 == 0)) {
cVar6 = (**(code **)(*(int *)this + 300))();
puVar24 = &stack0xfffffd64;
if ((cVar6 != '\0') &&
(puVar24 = &stack0xfffffd64, *(int *)(*(int *)(sv_cheats + 0x1c) + 0x30) != 0)) {
if (this[0x186] == (CTerrorPlayer)0x8) {
*(uint *)(this + 0x14c) = *(uint *)(this + 0x14c) & 0xfffffffb;
CBaseEntity::SetMoveType();
}
SetHealthBuffer(this,0.0);
CTakeDamageInfo::CTakeDamageInfo
((CTakeDamageInfo *)&local_20c,(CBaseEntity *)this,(CBaseEntity *)this,
(float)*(int *)(this + 0x100),0x1000,0);
CBaseEntity::TakeDamage((CBaseEntity *)this,(CTakeDamageInfo *)&local_20c);
puVar24 = &stack0xfffffd64;
}
}
else if ((pCVar14 == (CTerrorPlayer *)0xd15e30) ||
(iVar9 = _V_stricmp((char *)pCVar14,"revive"), iVar9 == 0)) {
puVar24 = &stack0xfffffd64;
if (*(int *)(*(int *)(sv_cheats + 0x1c) + 0x30) != 0) {
cVar6 = (**(code **)(*(int *)this + 300))();
if (((cVar6 == '\0') ||
(iVar9 = CBaseEntity::GetTeamNumber((CBaseEntity *)this), iVar9 != 2)) ||
(uVar26 = (**(code **)(*(int *)this + 0x7e8))(), (char)uVar26 == '\0')) {
piVar19 = (int *)GetGlobalTeam(2);
for (iVar9 = 0; iVar11 = (**(code **)(*piVar19 + 0x354))(),
puVar24 = &stack0xfffffd64, iVar9 < iVar11; iVar9 = iVar9 + 1) {
pCVar18 = (CBaseEntity *)(**(code **)(*piVar19 + 0x358))();
if ((pCVar18 == (CBaseEntity *)0x0) ||
(cVar6 = (**(code **)(*(int *)pCVar18 + 0x16c))(), cVar6 == '\0')) {
pCVar18 = (CBaseEntity *)0x0;
}
cVar6 = (**(code **)(*(int *)pCVar18 + 300))();
if (((cVar6 != '\0') &&
(iVar11 = CBaseEntity::GetTeamNumber(pCVar18), iVar11 == 2)) &&
((cVar6 = (**(code **)(*(int *)pCVar18 + 0x7e8))(), cVar6 != '\0' &&
((cVar6 = IsBeingRevived((CTerrorPlayer *)pCVar18), cVar6 == '\0' &&
(cVar6 = IsBeingDragged((CTerrorPlayer *)pCVar18), cVar6 == '\0')))))) {
StartReviving((CTerrorPlayer *)pCVar18,(CTerrorPlayer *)pCVar18);
}
}
}
else {
cVar6 = IsBeingRevived(this);
puVar24 = &stack0xfffffd64;
if ((cVar6 == '\0') &&
(cVar6 = IsBeingDragged(this), puVar24 = &stack0xfffffd64, cVar6 == '\0')) {
StartReviving(this,this);
puVar25 = &stack0xfffffd64;
goto LAB_009d9657;
}
}
}
}
else if ((pCVar14 == (CTerrorPlayer *)0xd04237) ||
(iVar9 = _V_stricmp((char *)pCVar14,"it"), iVar9 == 0)) {
uVar26 = (**(code **)(*(int *)this + 300))();
puVar24 = &stack0xfffffd64;
if (((char)uVar26 != '\0') &&
((iVar9 = CBaseEntity::GetTeamNumber((CBaseEntity *)this),
puVar24 = &stack0xfffffd64, iVar9 == 2 &&
(puVar24 = &stack0xfffffd64, *(int *)(*(int *)(sv_cheats + 0x1c) + 0x30) != 0)))
) {
OnVomitedUpon(this,(CTerrorPlayer *)0x0,false);
puVar25 = &stack0xfffffd64;
goto LAB_009d9657;
}
}
else if ((pCVar14 == (CTerrorPlayer *)"it_fp") ||
(iVar9 = _V_stricmp((char *)pCVar14,"it_fp"), iVar9 == 0)) {
uVar26 = (**(code **)(*(int *)this + 300))();
puVar24 = &stack0xfffffd64;
if (((char)uVar26 != '\0') &&
(((iVar9 = CBaseEntity::GetTeamNumber((CBaseEntity *)this),
puVar24 = &stack0xfffffd64, iVar9 == 2 &&
(puVar24 = &stack0xfffffd64, *(int *)(*(int *)(sv_cheats + 0x1c) + 0x30) != 0))
&& (fVar30 = *(float *)(gpGlobals + 0xc), puVar24 = &stack0xfffffd64,
fVar30 != *(float *)(this + 0x3f18))))) {
CServerNetworkProperty::NetworkStateChanged(sVar4 + 0x24);
*(float *)(this + 0x3f18) = fVar30;
puVar25 = &stack0xfffffd64;
goto LAB_009d9657;
}
}
else if ((pCVar14 == (CTerrorPlayer *)"saliva") ||
(iVar9 = _V_stricmp((char *)pCVar14,"saliva"), iVar9 == 0)) {
uVar26 = (**(code **)(*(int *)this + 300))();
puVar24 = &stack0xfffffd64;
if ((((char)uVar26 != '\0') &&
((iVar9 = CBaseEntity::GetTeamNumber((CBaseEntity *)this),
puVar24 = &stack0xfffffd64, iVar9 == 2 &&
(puVar24 = &stack0xfffffd64, *(int *)(*(int *)(sv_cheats + 0x1c) + 0x30) != 0))
)) && (fVar30 = *(float *)(gpGlobals + 0xc), puVar24 = &stack0xfffffd64,
fVar30 != *(float *)(this + 0x3f24))) {
CServerNetworkProperty::NetworkStateChanged(sVar4 + 0x24);
*(float *)(this + 0x3f24) = fVar30;
puVar25 = &stack0xfffffd64;
goto LAB_009d9657;
}
}
else if ((pCVar14 == (CTerrorPlayer *)"bashed") ||
(iVar9 = _V_stricmp((char *)pCVar14,"bashed"), iVar9 == 0)) {
uVar26 = (**(code **)(*(int *)this + 300))();
puVar24 = &stack0xfffffd64;
if (((char)uVar26 != '\0') &&
(((iVar9 = CBaseEntity::GetTeamNumber((CBaseEntity *)this),
puVar24 = &stack0xfffffd64, iVar9 == 2 &&
(puVar24 = &stack0xfffffd64, *(int *)(*(int *)(sv_cheats + 0x1c) + 0x30) != 0))
&& (fVar30 = *(float *)(gpGlobals + 0xc), puVar24 = &stack0xfffffd64,
fVar30 != *(float *)(this + 0x3f20))))) {
CServerNetworkProperty::NetworkStateChanged(sVar4 + 0x24);
*(float *)(this + 0x3f20) = fVar30;
puVar25 = &stack0xfffffd64;
goto LAB_009d9657;
}
}
else if ((pCVar14 == (CTerrorPlayer *)0xd0d6aa) ||
(iVar9 = _V_stricmp((char *)pCVar14,"rescue"), iVar9 == 0)) {
cVar6 = (**(code **)(*(int *)this + 300))();
puVar24 = &stack0xfffffd64;
if ((cVar6 == '\0') &&
((puVar24 = &stack0xfffffd64, *(int *)(*(int *)(sv_cheats + 0x1c) + 0x30) != 0 &&
(iVar9 = CBaseEntity::GetTeamNumber((CBaseEntity *)this),
puVar24 = &stack0xfffffd64, iVar9 == 2)))) {
local_224 = (char *)0xc61c3c00;
local_220 = 2;
local_21c = 0.0;
local_218 = 0;
local_214 = 0;
local_210 = 0;
ForEachTerrorPlayer<HighestFlowDistance>((HighestFlowDistance *)&local_224);
if ((float)local_224 <= 0.0) {
LAB_009dc8a8:
do {
CGameString::Get();
this_03 = (CSurvivorRescue *)CGlobalEntityList::FindEntityByClassnameFast();
puVar24 = &stack0xfffffd64;
if (this_03 == (CSurvivorRescue *)0x0) goto LAB_009d9652;
cVar6 = CSurvivorRescue::IsCallingForHelp(this_03);
} while (cVar6 != '\0');
}
else {
local_24c = 0.0;
this_03 = (CSurvivorRescue *)0x0;
while( true ) {
CGameString::Get();
this_00 = (CSurvivorRescue *)CGlobalEntityList::FindEntityByClassnameFast();
if (this_00 == (CSurvivorRescue *)0x0) break;
cVar6 = CSurvivorRescue::IsCallingForHelp(this_00);
if (((cVar6 == '\0') &&
(fVar30 = *(float *)(this_00 + 0x1930), fVar30 <= (float)local_224 + 50.0)
) && (local_24c <= fVar30)) {
this_03 = this_00;
local_24c = fVar30;
}
}
if (this_03 == (CSurvivorRescue *)0x0) goto LAB_009dc8a8;
}
CSurvivorRescue::CallForHelp(this_03,this);
local_204 = (CTerrorPlayer *)0x0;
local_1f8 = 0xffffffff;
local_1f4[0] = 0;
local_20c = (undefined **)this;
CSurvivorRescue::InputRescue(this_03,(inputdata_t *)&local_20c);
puVar24 = &stack0xfffffd64;
}
}
else if ((pCVar14 == (CTerrorPlayer *)0xc8f9d4) ||
(iVar9 = _V_stricmp((char *)pCVar14,"respawn"), iVar9 == 0)) {
puVar24 = &stack0xfffffd64;
if ((*(int *)(*(int *)(sv_cheats + 0x1c) + 0x30) != 0) &&
((cVar6 = (**(code **)(*(int *)this + 300))(), puVar24 = &stack0xfffffd64,
cVar6 == '\0' &&
(iVar9 = CBaseEntity::GetTeamNumber((CBaseEntity *)this),
puVar24 = &stack0xfffffd64, iVar9 == 2)))) {
uVar26 = 1;
CCSPlayer::State_Transition();
(**(code **)(*(int *)this + 100))();
pcVar2 = *(code **)(*(int *)this + 0x128);
(**(code **)(*(int *)this + 0x1fc))();
(*pcVar2)();
puVar25 = &stack0xfffffd64;
goto LAB_009d9657;
}
}
else if ((pCVar14 == (CTerrorPlayer *)"suppress") ||
(iVar9 = _V_stricmp((char *)pCVar14,"suppress"), iVar9 == 0)) {
puVar24 = &stack0xfffffd64;
if ((*(int *)(*(int *)(sv_cheats + 0x1c) + 0x30) != 0) &&
(iVar9 = GetActiveTerrorWeapon(this), puVar24 = &stack0xfffffd64, iVar9 != 0)) {
uVar26 = 1;
this_01 = (CTerrorWeapon *)GetActiveTerrorWeapon(this);
CTerrorWeapon::SuppressHelpingHands(this_01,0.0);
puVar25 = &stack0xfffffd64;
goto LAB_009d9657;
}
}
else if ((pCVar14 == (CTerrorPlayer *)"respawn_all") ||
(iVar9 = _V_stricmp((char *)pCVar14,"respawn_all"), iVar9 == 0)) {
puVar24 = &stack0xfffffd64;
if (*(int *)(*(int *)(sv_cheats + 0x1c) + 0x30) != 0) {
piVar19 = (int *)GetGlobalTeam(2);
for (iVar9 = 0; iVar11 = (**(code **)(*piVar19 + 0x354))(),
puVar24 = &stack0xfffffd64, iVar9 < iVar11; iVar9 = iVar9 + 1) {
pCVar18 = (CBaseEntity *)(**(code **)(*piVar19 + 0x358))();
if ((pCVar18 == (CBaseEntity *)0x0) ||
(cVar6 = (**(code **)(*(int *)pCVar18 + 0x16c))(), cVar6 == '\0')) {
pCVar18 = (CBaseEntity *)0x0;
}
cVar6 = (**(code **)(*(int *)pCVar18 + 300))();
if ((cVar6 == '\0') &&
(iVar11 = CBaseEntity::GetTeamNumber(pCVar18), iVar11 == 2)) {
CCSPlayer::State_Transition();
(**(code **)(*(int *)pCVar18 + 100))();
pcVar2 = *(code **)(*(int *)pCVar18 + 0x128);
(**(code **)(*(int *)pCVar18 + 0x1fc))();
(*pcVar2)();
}
}
}
}
else if ((pCVar14 == (CTerrorPlayer *)"materialize") ||
(iVar9 = _V_stricmp((char *)pCVar14,"materialize"), iVar9 == 0)) {
puVar24 = &stack0xfffffd64;
if ((*(int *)(*(int *)(sv_cheats + 0x1c) + 0x30) != 0) &&
((iVar9 = CBaseEntity::GetTeamNumber((CBaseEntity *)this),
puVar24 = &stack0xfffffd64, iVar9 == 3 &&
(uVar26 = (**(code **)(*(int *)this + 0x558))(), puVar24 = &stack0xfffffd64,
(char)uVar26 != '\0')))) {
MaterializeFromGhost(this);
puVar25 = &stack0xfffffd64;
goto LAB_009d9657;
}
}
else if ((pCVar14 == (CTerrorPlayer *)0xc2a0d5) ||
(iVar9 = _V_stricmp((char *)pCVar14,"ghost"), iVar9 == 0)) {
puVar24 = &stack0xfffffd64;
if ((*(int *)(*(int *)(sv_cheats + 0x1c) + 0x30) != 0) &&
((iVar9 = CBaseEntity::GetTeamNumber((CBaseEntity *)this),
puVar24 = &stack0xfffffd64, iVar9 == 3 &&
(cVar6 = (**(code **)(*(int *)this + 300))(), puVar24 = &stack0xfffffd64,
cVar6 == '\0')))) {
if ((*(int *)param_1 != 2) ||
((uVar26 = GetZombieClassFromName(*(char **)(param_1 + 0x40c)),
(uVar26 & 0xfffffffd) != 1 && (uVar26 != 2)))) {
uVar26 = 3;
}
if (uVar26 != *(uint *)(this + 0x2ba4)) {
CServerNetworkProperty::NetworkStateChanged(sVar4 + 0x24);
*(uint *)(this + 0x2ba4) = uVar26;
}
CCSPlayer::State_Transition();
puVar24 = &stack0xfffffd64;
if (*(int *)(this + 0x2cac) < 1) {
CServerNetworkProperty::NetworkStateChanged(sVar4 + 0x24U);
*(undefined4 *)(this + 0x2cac) = 1;
puVar24 = &stack0xfffffd64;
if (*(int *)(this + 0x2cb0) != 1) {
uVar26 = 1;
CServerNetworkProperty::NetworkStateChanged(sVar4 + 0x24U);
*(undefined4 *)(this + 0x2cb0) = 1;
puVar25 = &stack0xfffffd64;
goto LAB_009d9657;
}
}
}
}
else if ((pCVar14 == (CTerrorPlayer *)"scrimmage") ||
(iVar9 = _V_stricmp((char *)pCVar14,"scrimmage"), iVar9 == 0)) {
puVar24 = &stack0xfffffd64;
if ((*(int *)(*(int *)(sv_cheats + 0x1c) + 0x30) != 0) &&
(puVar24 = &stack0xfffffd64, 1 < *(int *)param_1)) {
dVar31 = strtod(*(char **)(param_1 + 0x40c),(char **)0x0);
fVar30 = (float)dVar31;
if (2 < *(int *)param_1) {
dVar32 = strtod(*(char **)(param_1 + 0x410),(char **)0x0);
fVar30 = (float)dVar32;
}
lVar28 = (longdouble)
FindLineOfScrimmage((float)dVar31,false,(Vector *)&local_23c,
(QAngle *)&local_230);
lVar29 = (longdouble)
FindLineOfScrimmage(fVar30,false,(Vector *)&local_224,
(QAngle *)&local_20c);
if (((float)lVar29 <= 0.0) || ((float)lVar28 <= 0.0)) {
(**(code **)(*(int *)this + 0xb8))();
Msg();
*(undefined4 *)(this + 0x2bc0) = 0;
*(undefined4 *)(this + 0x2be0) = 0;
cVar6 = Vector::operator!=((Vector *)(this + 0x2be8),(Vector *)&vec3_origin);
if (cVar6 != '\0') {
CServerNetworkProperty::NetworkStateChanged(sVar4 + 0x24);
*(undefined4 *)(this + 0x2be8) = vec3_origin;
*(undefined4 *)(this + 0x2bec) = DAT_01053d4c;
*(undefined4 *)(this + 0x2bf0) = DAT_01053d50;
}
cVar6 = QAngle::operator!=((QAngle *)(this + 0x2bf4),(QAngle *)&vec3_angle);
if (cVar6 != '\0') {
CServerNetworkProperty::NetworkStateChanged(sVar4 + 0x24);
*(undefined4 *)(this + 0x2bf4) = vec3_angle;
*(undefined4 *)(this + 0x2bf8) = DAT_01053d40;
*(undefined4 *)(this + 0x2bfc) = DAT_01053d44;
}
puVar24 = &stack0xfffffd64;
if (*(int *)(this + 0x2c14) != 0) {
CServerNetworkProperty::NetworkStateChanged(sVar4 + 0x24);
*(undefined4 *)(this + 0x2c14) = 0;
puVar24 = &stack0xfffffd64;
}
}
else {
cVar6 = Vector::operator!=((Vector *)(this + 0x2bc8),(Vector *)&local_23c);
if (cVar6 != '\0') {
CServerNetworkProperty::NetworkStateChanged(sVar4 + 0x24);
*(undefined4 *)(this + 0x2bc8) = local_23c;
*(undefined4 *)(this + 0x2bcc) = local_238;
*(undefined4 *)(this + 0x2bd0) = local_234;
}
cVar6 = QAngle::operator!=((QAngle *)(this + 0x2bd4),(QAngle *)&local_230);
if (cVar6 != '\0') {
CServerNetworkProperty::NetworkStateChanged(sVar4 + 0x24);
*(char **)(this + 0x2bd4) = local_230;
*(undefined4 *)(this + 0x2bd8) = local_22c;
*(float *)(this + 0x2bdc) = local_228;
}
*(float *)(this + 0x2bc0) = (float)lVar28;
cVar6 = Vector::operator!=((Vector *)(this + 0x2be8),(Vector *)&local_224);
if (cVar6 != '\0') {
CServerNetworkProperty::NetworkStateChanged(sVar4 + 0x24);
*(char **)(this + 0x2be8) = local_224;
*(undefined4 *)(this + 0x2bec) = local_220;
*(float *)(this + 0x2bf0) = local_21c;
}
cVar6 = QAngle::operator!=((QAngle *)(this + 0x2bf4),(QAngle *)&local_20c);
if (cVar6 != '\0') {
CServerNetworkProperty::NetworkStateChanged(sVar4 + 0x24);
*(undefined ***)(this + 0x2bf4) = local_20c;
*(BossZombiePlayerBot **)(this + 0x2bf8) = local_208;
*(CTerrorPlayer **)(this + 0x2bfc) = local_204;
}
*(float *)(this + 0x2be0) = (float)lVar29;
(**(code **)(*(int *)this + 0xb8))();
Msg();
if (*(int *)(this + 0x2c14) != 1) {
CServerNetworkProperty::NetworkStateChanged(sVar4 + 0x24);
*(undefined4 *)(this + 0x2c14) = 1;
}
UpdateYardLines(this,0.0);
puVar24 = &stack0xfffffd64;
}
}
}
else if ((pCVar14 == (CTerrorPlayer *)&DAT_00d15e04) ||
(iVar9 = _V_stricmp((char *)pCVar14,"boom"), iVar9 == 0)) {
puVar24 = &stack0xfffffd64;
if (*(int *)(*(int *)(sv_cheats + 0x1c) + 0x30) != 0) {
uVar26 = *(uint *)(this + 0x14c);
if ((uVar26 & 0x1000) != 0) {
CBaseEntity::CalcAbsoluteVelocity((CBaseEntity *)this);
uVar26 = *(uint *)(this + 0x14c);
}
if ((uVar26 & 0x800) != 0) {
CBaseEntity::CalcAbsolutePosition((CBaseEntity *)this);
}
uVar26 = 1;
pVVar20 = (Vector *)(**(code **)(*(int *)this + 0x288))();
CPipeBombProjectile::Create
(pVVar20,(QAngle *)(this + 0x37c),(Vector *)(this + 0x274),
(Vector *)&vec3_origin,(CBaseCombatCharacter *)this,0.1);
puVar25 = &stack0xfffffd64;
goto LAB_009d9657;
}
}
else if ((pCVar14 == (CTerrorPlayer *)0xc1a015) ||
(iVar9 = _V_stricmp((char *)pCVar14,"fire"), iVar9 == 0)) {
puVar24 = &stack0xfffffd64;
if (*(int *)(*(int *)(sv_cheats + 0x1c) + 0x30) != 0) {
if (((byte)this[0x14d] & 8) == 0) {
local_228 = *(float *)(this + 0x2e8);
pcVar12 = *(char **)(this + 0x2e0);
local_22c = *(undefined4 *)(this + 0x2e4);
local_21c = local_228 - 999999.9;
local_224 = pcVar12;
local_220 = local_22c;
}
else {
CBaseEntity::CalcAbsolutePosition((CBaseEntity *)this);
local_228 = *(float *)(this + 0x2e8);
pcVar12 = *(char **)(this + 0x2e0);
local_22c = *(undefined4 *)(this + 0x2e4);
local_21c = local_228 - 999999.9;
local_224 = pcVar12;
local_220 = local_22c;
if ((*(uint *)(this + 0x14c) & 0x800) != 0) {
CBaseEntity::CalcAbsolutePosition((CBaseEntity *)this);
pcVar12 = *(char **)(this + 0x2e0);
local_22c = *(undefined4 *)(this + 0x2e4);
local_228 = *(float *)(this + 0x2e8);
}
}
local_228 = local_228 + 10.0;
local_230 = pcVar12;
UTIL_TraceLine((Vector *)&local_230,(Vector *)&local_224,0x201400b,
(IHandleEntity *)this,0,(CGameTrace *)&local_20c);
puVar24 = &stack0xfffffd64;
if ((local_1ca & 4) == 0) {
local_224 = (char *)0x0;
local_220 = 0;
local_21c = 0.0;
this_02 = (CInferno *)
CBaseEntity::Create("inferno",(Vector *)&local_200,
(QAngle *)&local_224,(CBaseEntity *)0x0);
CInferno::StartBurning
(this_02,(Vector *)&local_200,(Vector *)local_1f4,
(Vector *)&vec3_origin,0);
puVar24 = &stack0xfffffd64;
}
}
}
else if ((pCVar14 == (CTerrorPlayer *)&DAT_00d15e09) ||
(iVar9 = _V_stricmp((char *)pCVar14,"burn"), iVar9 == 0)) {
uVar26 = (**(code **)(*(int *)this + 300))();
puVar24 = &stack0xfffffd64;
if (((char)uVar26 != '\0') &&
(puVar24 = &stack0xfffffd64, *(int *)(*(int *)(sv_cheats + 0x1c) + 0x30) != 0)) {
(**(code **)(*(int *)this + 0x380))();
puVar25 = &stack0xfffffd64;
goto LAB_009d9657;
}
}
else if ((pCVar14 == (CTerrorPlayer *)"ent_count") ||
(iVar9 = _V_stricmp((char *)pCVar14,"ent_count"), iVar9 == 0)) {
puVar24 = &stack0xfffffd64;
if ((*(int *)(*(int *)(sv_cheats + 0x1c) + 0x30) != 0) &&
(uVar26 = CCSPlayer::ShouldRunRateLimitedCommand((CCSPlayer *)this,param_1),
puVar24 = &stack0xfffffd64, (char)uVar26 != '\0')) {
local_1f8 = 0xffffffff;
local_208 = (BossZombiePlayerBot *)0x0;
local_204 = (CTerrorPlayer *)0x0;
local_200 = 0;
local_1fc = (CTerrorPlayer *)0xffff;
local_1f4[0] = 0;
local_20c = (undefined **)CaselessStringLessThan;
/* try { // try from 009dbf67 to 009dc07c has its CatchHandler @ 009dc21d */
pCVar18 = (CBaseEntity *)
CGlobalEntityList::NextEnt
((CGlobalEntityList *)gEntList,(CBaseEntity *)0x0);
if (pCVar18 != (CBaseEntity *)0x0) {
do {
pcVar12 = *(char **)(pCVar18 + 0x7c);
if (pcVar12 == (char *)0x0) {
pcVar12 = "";
}
local_230 = pcVar12;
uVar8 = CUtlRBTree<CUtlMap<char_const*,int,unsigned_short>::Node_t,unsigned_short,CUtlMap<char_const*,int,unsigned_short>::CKeyLess,CUtlMemory<UtlRBTreeNode_t<CUtlMap<char_const*,int,unsigned_short>::Node_t,unsigned_short>,unsigned_short>>
::Find((CUtlRBTree<CUtlMap<char_const*,int,unsigned_short>::Node_t,unsigned_short,CUtlMap<char_const*,int,unsigned_short>::CKeyLess,CUtlMemory<UtlRBTreeNode_t<CUtlMap<char_const*,int,unsigned_short>::Node_t,unsigned_short>,unsigned_short>>
*)&local_20c,(Node_t *)&local_230);
if (uVar8 == 0xffff) {
local_220 = 1;
local_224 = pcVar12;
/* try { // try from 009dc25e to 009dc262 has its CatchHandler @ 009dc21d */
CUtlRBTree<CUtlMap<char_const*,int,unsigned_short>::Node_t,unsigned_short,CUtlMap<char_const*,int,unsigned_short>::CKeyLess,CUtlMemory<UtlRBTreeNode_t<CUtlMap<char_const*,int,unsigned_short>::Node_t,unsigned_short>,unsigned_short>>
::Insert((CUtlRBTree<CUtlMap<char_const*,int,unsigned_short>::Node_t,unsigned_short,CUtlMap<char_const*,int,unsigned_short>::CKeyLess,CUtlMemory<UtlRBTreeNode_t<CUtlMap<char_const*,int,unsigned_short>::Node_t,unsigned_short>,unsigned_short>>
*)&local_20c,(Node_t *)&local_224);
}
else {
*(int *)(local_208 + (uint)uVar8 * 0x10 + 0xc) =
*(int *)(local_208 + (uint)uVar8 * 0x10 + 0xc) + 1;
}
pCVar18 = (CBaseEntity *)
CGlobalEntityList::NextEnt((CGlobalEntityList *)gEntList,pCVar18);
} while (pCVar18 != (CBaseEntity *)0x0);
}
UTIL_ResetMessageText((CBasePlayer *)this);
UTIL_VarArgs("--- %d ents ---\n");
UTIL_MessageText();
uVar23 = 0;
if (local_1fc._2_2_ != 0) {
do {
UTIL_VarArgs("%d %s\n");
UTIL_MessageText();
uVar23 = uVar23 + 1;
} while (uVar23 < (uint)local_1fc >> 0x10);
}
CUtlRBTree<CUtlMap<char_const*,int,unsigned_short>::Node_t,unsigned_short,CUtlMap<char_const*,int,unsigned_short>::CKeyLess,CUtlMemory<UtlRBTreeNode_t<CUtlMap<char_const*,int,unsigned_short>::Node_t,unsigned_short>,unsigned_short>>
::~CUtlRBTree((CUtlRBTree<CUtlMap<char_const*,int,unsigned_short>::Node_t,unsigned_short,CUtlMap<char_const*,int,unsigned_short>::CKeyLess,CUtlMemory<UtlRBTreeNode_t<CUtlMap<char_const*,int,unsigned_short>::Node_t,unsigned_short>,unsigned_short>>
*)&local_20c);
puVar25 = &stack0xfffffd64;
goto LAB_009d9657;
}
}
else if ((pCVar14 == (CTerrorPlayer *)"taunt") ||
(iVar9 = _V_stricmp((char *)pCVar14,"taunt"), iVar9 == 0)) {
puVar24 = &stack0xfffffd64;
if ((*(float *)(this + 0x1f68) < *(float *)(gpGlobals + 0xc) ||
*(float *)(this + 0x1f68) == *(float *)(gpGlobals + 0xc)) &&
((((uVar26 = (**(code **)(*(int *)this + 300))(), puVar24 = &stack0xfffffd64,
(char)uVar26 != '\0' &&
(cVar6 = (**(code **)(*(int *)this + 0x7e8))(), puVar24 = &stack0xfffffd64,
cVar6 == '\0')) &&
(cVar6 = (**(code **)(*(int *)this + 0x558))(), puVar24 = &stack0xfffffd64,
cVar6 == '\0')) &&
((iVar9 = CBaseEntity::GetTeamNumber((CBaseEntity *)this), iVar9 != 3 ||
(cVar6 = CBaseCombatCharacter::IsA(), puVar24 = &stack0xfffffd64, cVar6 != '\0'
)))))) {
pcVar2 = *(code **)(*(int *)this + 0x7b4);
CAI_Concept::CAI_Concept((CAI_Concept *)&local_20c,"PlayerTaunt");
(*pcVar2)();
*(float *)(this + 0x1f68) =
*(float *)(tauntfrequency._28_4_ + 0x2c) + *(float *)(gpGlobals + 0xc);
puVar25 = &stack0xfffffd64;
goto LAB_009d9657;
}
}
else if ((pCVar14 == (CTerrorPlayer *)"choose_revive") ||
(iVar9 = _V_stricmp((char *)pCVar14,"choose_revive"), iVar9 == 0)) {
puVar24 = &stack0xfffffd64;
if ((*(int *)(*(int *)(sv_cheats + 0x1c) + 0x30) != 0) &&
(puVar24 = &stack0xfffffd64, *(int *)param_1 == 2)) {
lVar21 = strtol(*(char **)(param_1 + 0x40c),(char **)0x0,10);
pCVar14 = (CTerrorPlayer *)UTIL_PlayerByUserId(lVar21);
puVar24 = &stack0xfffffd64;
if ((pCVar14 != (CTerrorPlayer *)0x0) &&
(uVar26 = (**(code **)(*(int *)pCVar14 + 0x16c))(), puVar24 = &stack0xfffffd64,
(char)uVar26 != '\0')) {
StartReviving(this,pCVar14);
puVar25 = &stack0xfffffd64;
goto LAB_009d9657;
}
}
}
else if ((pCVar14 == (CTerrorPlayer *)"choose_drag") ||
(iVar9 = _V_stricmp((char *)pCVar14,"choose_drag"), iVar9 == 0)) {
puVar24 = &stack0xfffffd64;
if ((*(int *)(*(int *)(sv_cheats + 0x1c) + 0x30) != 0) &&
(puVar24 = &stack0xfffffd64, *(int *)param_1 == 2)) {
lVar21 = strtol(*(char **)(param_1 + 0x40c),(char **)0x0,10);
pCVar14 = (CTerrorPlayer *)UTIL_PlayerByUserId(lVar21);
puVar24 = &stack0xfffffd64;
if ((pCVar14 != (CTerrorPlayer *)0x0) &&
(uVar26 = (**(code **)(*(int *)pCVar14 + 0x16c))(), puVar24 = &stack0xfffffd64,
(char)uVar26 != '\0')) {
StartDragging(this,pCVar14);
puVar25 = &stack0xfffffd64;
goto LAB_009d9657;
}
}
}
else if ((((pCVar14 == (CTerrorPlayer *)"choose_opendoor") ||
(iVar9 = _V_stricmp((char *)pCVar14,"choose_opendoor"), iVar9 == 0)) ||
(pCVar14 == (CTerrorPlayer *)"choose_closedoor")) ||
(((iVar9 = _V_stricmp((char *)pCVar14,"choose_closedoor"), iVar9 == 0 ||
(pCVar14 == (CTerrorPlayer *)"choose_lockdoor")) ||
((iVar9 = _V_stricmp((char *)pCVar14,"choose_lockdoor"), iVar9 == 0 ||
((pCVar14 == (CTerrorPlayer *)"choose_unlockdoor" ||
(iVar9 = _V_stricmp((char *)pCVar14,"choose_unlockdoor"), iVar9 == 0)))))))
) {
iVar9 = (**(code **)(*(int *)this + 0x6e0))();
puVar24 = &stack0xfffffd64;
if ((iVar9 != 0) &&
((piVar19 = (int *)__dynamic_cast(), piVar19 != (int *)0x0 ||
((((uVar26 = *(uint *)(iVar9 + 0x180), puVar24 = &stack0xfffffd64,
uVar26 != 0xffffffff &&
(puVar17 = g_pEntityList + (uVar26 & 0xfff) * 0x10,
puVar24 = &stack0xfffffd64, puVar17 != (undefined *)0xfffffffc)) &&
(puVar24 = &stack0xfffffd64, *(uint *)(puVar17 + 8) == uVar26 >> 0xc)) &&
((puVar24 = &stack0xfffffd64, *(int *)(puVar17 + 4) != 0 &&
(piVar19 = (int *)__dynamic_cast(), puVar24 = &stack0xfffffd64,
piVar19 != (int *)0x0)))))))) {
if ((pCVar14 == (CTerrorPlayer *)"choose_opendoor") ||
(iVar9 = _V_stricmp((char *)pCVar14,"choose_opendoor"), iVar9 == 0)) {
uVar26 = 1;
local_20c = (undefined **)0x0;
local_200 = 0xffffffff;
local_1fc = (CTerrorPlayer *)0x0;
(**(code **)(*piVar19 + 0xb4))();
puVar25 = &stack0xfffffd64;
goto LAB_009d9657;
}
if ((pCVar14 == (CTerrorPlayer *)"choose_closedoor") ||
(iVar9 = _V_stricmp((char *)pCVar14,"choose_closedoor"), iVar9 == 0)) {
uVar26 = 1;
local_20c = (undefined **)0x0;
local_200 = 0xffffffff;
local_1fc = (CTerrorPlayer *)0x0;
(**(code **)(*piVar19 + 0xb4))();
puVar25 = &stack0xfffffd64;
goto LAB_009d9657;
}
if ((pCVar14 == (CTerrorPlayer *)"choose_lockdoor") ||
(iVar9 = _V_stricmp((char *)pCVar14,"choose_lockdoor"), iVar9 == 0)) {
uVar26 = 1;
local_20c = (undefined **)0x0;
local_200 = 0xffffffff;
local_1fc = (CTerrorPlayer *)0x0;
(**(code **)(*piVar19 + 0xb4))();
puVar25 = &stack0xfffffd64;
goto LAB_009d9657;
}
if ((pCVar14 == (CTerrorPlayer *)"choose_unlockdoor") ||
(iVar9 = _V_stricmp((char *)pCVar14,"choose_unlockdoor"),
puVar24 = &stack0xfffffd64, iVar9 == 0)) {
uVar26 = 1;
local_20c = (undefined **)0x0;
local_200 = 0xffffffff;
local_1fc = (CTerrorPlayer *)0x0;
(**(code **)(*piVar19 + 0xb4))();
puVar25 = &stack0xfffffd64;
goto LAB_009d9657;
}
}
}
else {
if ((pCVar14 == (CTerrorPlayer *)"z_abort") ||
(iVar9 = _V_stricmp((char *)pCVar14,"z_abort"), iVar9 == 0)) {
uVar26 = 1;
(**(code **)(*(int *)this + 0x914))();
puVar25 = &stack0xfffffd64;
goto LAB_009d9657;
}
if ((pCVar14 == (CTerrorPlayer *)0xd14b33) ||
(iVar9 = _V_stricmp((char *)pCVar14,"vocalize"), iVar9 == 0)) {
cVar6 = (**(code **)(*(int *)this + 300))();
puVar24 = &stack0xfffffd64;
if ((cVar6 != '\0') &&
((puVar24 = &stack0xfffffd64, 1 < *(int *)param_1 &&
(uVar26 = CCSPlayer::ShouldRunRateLimitedCommand((CCSPlayer *)this,param_1),
puVar24 = &stack0xfffffd64, (char)uVar26 != '\0')))) {
pcVar12 = "";
if (1 < *(int *)param_1) {
pcVar12 = *(char **)(param_1 + 0x40c);
}
local_120[0] = '\0';
cVar6 = (**(code **)(*(int *)this + 0x7e8))();
if ((((cVar6 == '\0') ||
(lVar28 = (longdouble)CountdownTimer::Now(),
*(float *)(this + 0x30a0) <= (float)lVar28)) || (pcVar12 == "PlayerHelp"))
|| (iVar9 = _V_stricmp(pcVar12,"PlayerHelp"), iVar9 == 0)) {
if ((pcVar12 == "smartlook") ||
(iVar9 = _V_stricmp(pcVar12,"smartlook"), iVar9 == 0)) {
puVar25 = &stack0xfffffd64;
if (*(float *)(this + 0x3fa4) + 2.0 < *(float *)(gpGlobals + 0xc) ||
*(float *)(this + 0x3fa4) + 2.0 == *(float *)(gpGlobals + 0xc)) {
if ((*(int *)param_1 < 3) || (**(char **)(param_1 + 0x410) == '#')) {
pcVar12 = "smartlooktype:manual";
}
else {
cVar6 = (**(code **)(*(int *)this + 0x7e8))();
puVar25 = &stack0xfffffd64;
if (cVar6 != '\0') goto LAB_009d9657;
pcVar12 = "smartlooktype:auto";
}
V_strncat(local_120,pcVar12,0x100,-1);
pcVar12 = (char *)GetSmartLookConcept(this,(CBaseEntity *)0x0,local_120,
0x100);
*(undefined4 *)(this + 0x3fa4) = *(undefined4 *)(gpGlobals + 0xc);
pcVar2 = *(code **)(*(int *)this + 0x7b4);
CAI_Concept::CAI_Concept((CAI_Concept *)&local_20c,pcVar12);
(*pcVar2)();
puVar25 = &stack0xfffffd64;
}
}
else {
if ((pcVar12 == "PlayerHurrah") ||
(iVar9 = _V_stricmp(pcVar12,"PlayerHurrah"), iVar9 == 0)) {
pcVar12 = (char *)GetHurrahConcept(this);
}
puVar25 = &stack0xfffffd64;
if ((((2 < *(int *)param_1) &&
(pcVar3 = *(char **)(param_1 + 0x410), puVar25 = &stack0xfffffd64,
*pcVar3 == '#')) &&
(iVar9 = _V_strlen(pcVar3), puVar25 = &stack0xfffffd64, 1 < iVar9)) &&
(dVar31 = strtod(pcVar3 + 1,(char **)0x0), puVar25 = &stack0xfffffd64,
ABS(*(float *)(gpGlobals + 0xc) - (float)(dVar31 * 0.1)) <= 2.0)) {
pcVar2 = *(code **)(*(int *)this + 0x7b4);
CAI_Concept::CAI_Concept((CAI_Concept *)&local_20c,pcVar12);
(*pcVar2)();
puVar25 = &stack0xfffffd64;
}
}
}
goto LAB_009d9657;
}
}
else if ((pCVar14 == (CTerrorPlayer *)&DAT_00c6d1bb) ||
(iVar9 = _V_stricmp((char *)pCVar14,"motd"), iVar9 == 0)) {
uVar26 = CCSPlayer::ShouldRunRateLimitedCommand((CCSPlayer *)this,param_1);
puVar24 = &stack0xfffffd64;
if ((char)uVar26 != '\0') {
CCSPlayer::ShowMOTD((CCSPlayer *)this);
puVar25 = &stack0xfffffd64;
goto LAB_009d9657;
}
}
else if ((pCVar14 == (CTerrorPlayer *)"SkipOuttro") ||
(iVar9 = _V_stricmp((char *)pCVar14,"SkipOuttro"), iVar9 == 0)) {
DevMsg("Player %d is skipping the outtro\n");
puVar24 = &stack0xfffffd64;
if (this[0x3fc0] == (CTerrorPlayer)0x0) {
this[0x3fc0] = (CTerrorPlayer)0x1;
piVar19 = (int *)CGlobalEntityList::FindEntityByClassname
((CGlobalEntityList *)gEntList,(CBaseEntity *)0x0,
"env_outtro_stats");
puVar24 = &stack0xfffffd64;
if (piVar19 != (int *)0x0) {
uVar26 = 1;
local_20c = (undefined **)0x0;
local_200 = 0xffffffff;
local_1fc = (CTerrorPlayer *)0x0;
(**(code **)(*piVar19 + 0xb4))();
puVar25 = &stack0xfffffd64;
goto LAB_009d9657;
}
}
}
else {
if (((((pCVar14 != (CTerrorPlayer *)"PZEndGameYes") &&
(iVar9 = _V_stricmp((char *)pCVar14,"PZEndGameYes"), iVar9 != 0)) &&
(pCVar14 != (CTerrorPlayer *)"PZEndGameNo")) &&
(iVar9 = _V_stricmp((char *)pCVar14,"PZEndGameNo"), iVar9 != 0)) ||
(uVar26 = CTerrorGameRules::HasPlayerControlledZombies(), (char)uVar26 == '\0')
) {
if ((pCVar14 == (CTerrorPlayer *)"host_validate_session") ||
(iVar9 = _V_stricmp((char *)pCVar14,"host_validate_session"), iVar9 == 0)) {
uVar26 = 1;
(**(code **)(*engine + 0x210))();
puVar25 = &stack0xfffffd64;
}
else {
uVar26 = CCSPlayer::ClientCommand((CCSPlayer *)this,param_1);
puVar25 = &stack0xfffffd64;
}
goto LAB_009d9657;
}
puVar24 = &stack0xfffffd64;
if (*(int *)(this + 0x3fc4) == 0) {
if ((pCVar14 == (CTerrorPlayer *)"PZEndGameYes") ||
(iVar9 = _V_stricmp((char *)pCVar14,"PZEndGameYes"), iVar9 == 0)) {
*(undefined4 *)(this + 0x3fc4) = 1;
}
else {
*(undefined4 *)(this + 0x3fc4) = 2;
}
Msg();
CRecipientFilter::CRecipientFilter((CRecipientFilter *)&local_20c);
local_20c = &PTR__CSingleUserRecipientFilter_00c08ea8;
/* try { // try from 009dccbd to 009dccc1 has its CatchHandler @ 009dcdb4 */
CRecipientFilter::AddRecipient
((CRecipientFilter *)&local_20c,(CBasePlayer *)this);
/* try { // try from 009dcccb to 009dcd74 has its CatchHandler @ 009dcd92 */
CRecipientFilter::MakeReliable((CRecipientFilter *)&local_20c);
UserMessageBegin((IRecipientFilter *)&local_20c,
"PZEndGamePanelVoteRegisteredMsg");
MessageWriteByte((uint)(*(int *)(this + 0x3fc4) == 1));
MessageEnd();
piVar19 = (int *)CGlobalEntityList::FindEntityByClassname
((CGlobalEntityList *)gEntList,(CBaseEntity *)0x0,
"env_outtro_stats");
if (piVar19 != (int *)0x0) {
local_224 = (char *)0x0;
local_218 = 0xffffffff;
local_214 = 0;
(**(code **)(*piVar19 + 0xb4))();
}
local_20c = &PTR__CSingleUserRecipientFilter_00c08ea8;
CRecipientFilter::~CRecipientFilter((CRecipientFilter *)&local_20c);
puVar25 = &stack0xfffffd64;
goto LAB_009d9657;
}
}
}
}
}
}
}
}
}
else {
pCVar14 = *(CTerrorPlayer **)(param_1 + 0x408);
if (pCVar14 != (CTerrorPlayer *)"activitylist") goto LAB_009d962b;
LAB_009d963f:
piVar19 = mdlcache;
puVar24 = &stack0xfffffd64;
if (*(int *)(*(int *)(sv_cheats + 0x1c) + 0x30) != 0) {
local_20c = (undefined **)0x0;
local_208 = (BossZombiePlayerBot *)0x0;
local_204 = (CTerrorPlayer *)0x0;
local_200 = 0;
local_1fc = (CTerrorPlayer *)0x0;
/* try { // try from 009d974f to 009d9751 has its CatchHandler @ 009dcef5 */
(**(code **)(*mdlcache + 0x68))();
pCVar10 = *(CStudioHdr **)(this + 0x13e0);
if (pCVar10 == (CStudioHdr *)0x0) {
iVar9 = CBaseEntity::GetModel((CBaseEntity *)this);
if (iVar9 != 0) {
CBaseAnimating::LockStudioHdr((CBaseAnimating *)this);
}
pCVar10 = *(CStudioHdr **)(this + 0x13e0);
this_06 = (CStudioHdr *)0x0;
if (pCVar10 != (CStudioHdr *)0x0) goto LAB_009d9766;
}
else {
LAB_009d9766:
this_06 = (CStudioHdr *)0x0;
if (*(int *)pCVar10 != 0) {
this_06 = pCVar10;
}
}
/* try { // try from 009d9783 to 009d97fd has its CatchHandler @ 009dd2b1 */
for (iVar9 = 0; iVar11 = CStudioHdr::GetNumSeq(this_06), iVar9 < iVar11; iVar9 = iVar9 + 1) {
local_224 = (char *)CBaseAnimating::GetSequenceActivityName((CBaseAnimating *)this,iVar9);
if ((local_224 != (char *)0x0) && (*local_224 != '\0')) {
if ((int)local_200 < 1) {
LAB_009d97e2:
CUtlVector<char_const*,CUtlMemory<char_const*,int>>::InsertBefore
((CUtlVector<char_const*,CUtlMemory<char_const*,int>> *)&local_20c,local_200,
&local_224);
}
else {
sVar22 = 0;
if (local_224 != *local_20c) {
do {
sVar22 = sVar22 + 1;
if (sVar22 == local_200) goto LAB_009d97e2;
} while (local_224 != *(char **)((int)local_20c + sVar22 * 4));
if ((int)sVar22 < 0) goto LAB_009d97e2;
}
}
}
}
if (1 < (int)local_200) {
if ((CTerrorPlayer *)local_20c == (CTerrorPlayer *)0x0) {
local_24c = (float)(local_200 - 1);
do {
iVar11 = 0;
iVar9 = 1;
if (0 < (int)local_24c) {
do {
while( true ) {
iVar16 = iVar9 * 4;
/* try { // try from 009d9c67 to 009d9cdc has its CatchHandler @ 009dd2b1 */
iVar13 = CaseInsensitiveStringSort
((char **)((int)local_20c + iVar11),
(char **)((int)local_20c + iVar16));
if (-1 < iVar13) break;
iVar9 = iVar9 + 1;
pCVar14 = (CTerrorPlayer *)((int)local_20c + iVar11);
iVar11 = iVar11 + 4;
uVar1 = *(undefined4 *)pCVar14;
*(undefined4 *)pCVar14 = *(undefined4 *)((int)local_20c + iVar16);
*(undefined4 *)((int)local_20c + iVar16) = uVar1;
if ((int)local_24c < iVar9) goto LAB_009d9c90;
}
iVar9 = iVar9 + 1;
iVar11 = iVar11 + 4;
} while (iVar9 <= (int)local_24c);
}
LAB_009d9c90:
local_24c = (float)((int)local_24c + -1);
} while (local_24c != -NAN);
}
else {
/* try { // try from 009d9ad8 to 009d9b48 has its CatchHandler @ 009dd2b1 */
qsort(local_20c,local_200,4,CaseInsensitiveStringSort);
}
}
Msg();
(**(code **)(*(int *)this + 0x20))();
Msg();
iVar9 = 0;
if (0 < (int)local_200) {
do {
Msg();
iVar9 = iVar9 + 1;
} while (iVar9 < (int)local_200);
}
(**(code **)(*piVar19 + 0x6c))();
local_200 = 0;
CUtlMemory<char_const*,int>::Purge((CUtlMemory<char_const*,int> *)&local_20c);
local_1fc = (CTerrorPlayer *)local_20c;
CUtlMemory<char_const*,int>::Purge((CUtlMemory<char_const*,int> *)&local_20c);
puVar24 = &stack0xfffffd60;
}
}
LAB_009d9652:
uVar26 = 1;
puVar25 = puVar24;
LAB_009d9657:
if (local_20 == *(int *)(in_GS_OFFSET + 0x14)) {
return uVar26;
}
/* WARNING: Subroutine does not return */
*(undefined1 **)(puVar25 + -4) = &LAB_009dcef5;
__stack_chk_fail();
}
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.