enum L4D2Infected { L4D2Infected_None = 0, L4D2Infected_Smoker = 1, L4D2Infected_Boomer = 2, L4D2Infected_Hunter = 3, L4D2Infected_Spitter = 4, L4D2Infected_Jockey = 5, L4D2Infected_Charger = 6, L4D2Infected_Witch = 7, L4D2Infected_Tank = 8 }; GlobalForward g_PlayerMarkedForward; Handle g_hWitchAttack; int g_iWitchAttackVictim; Handle hThrowTimer; ConVar hThrowItemInterval; ConVar hAutoPunish; ConVar hMagnetChance; ConVar hShoveFailChance; ConVar hAutoPunishExpire; ConVar hMagnetTargetMode; ConVar hBadThrowHitSelf; ConVar hBotReverseFFDefend; ConVar hSbFriendlyFire; ConVar hBotDefendChance; ConVar hSbFixEnabled; bool wasSbFixEnabled; int wasAbmAutoHard; ConVar hAbmAutoHard; enum playerDataFlags { Flag_PendingItemGive = 1, Flag_HasSpitTimer = 2, Flag_IsTargettingHealer = 4 } enum struct PlayerData { int flags; int attackerTargetUid; int specialAttackFlags; int pendingTrollBan; // Includes ent index of activator float lastInSpitTime; int shootAtTarget; int shootAtLoops; int shootAtTargetHealth; int smartChargeAttempts; int smartChargeMaxAttempts; int smartChargeActivator; char steamid[32]; void Reset() { this.flags = 0; this.attackerTargetUid = 0; this.specialAttackFlags = 0; this.pendingTrollBan = 0; this.lastInSpitTime = 0.0; this.shootAtTarget = 0; this.shootAtLoops = 0; this.smartChargeAttempts = 0; this.steamid[0] = '\0'; } } PlayerData pdata[MAXPLAYERS+1]; int lastButtonUser; int lastCrescendoUser; bool spIsActive; enum SpecialSpawnFlags { Special_Anywhere = 0, Special_OnTarget = 1 } enum SpecialInternalFlags { SPI_KillOnSpawn = 1, SPI_AlwaysTarget = 2 } int healTargetPlayer; float healTargetPos[3]; Handle stopHealingTimer; float entLastHeight[2048]; #define MODEL_CAR "models/props_vehicles/cara_95sedan.mdl" #include #include #include #include #include #include #include #include #include