From d98de58ce47afd67de6e531f1e27c445239713c9 Mon Sep 17 00:00:00 2001 From: Forgetest <33988868+jensewe@users.noreply.github.com> Date: Fri, 15 May 2026 00:50:19 +0800 Subject: [PATCH 1/2] Add a fallback for breakable hittables Fix: - Hittable pieces will now make a new entry if the breakable parent doesn't have one, to resolve potential overhit issues. --- .../optional/l4d2_hittable_control.smx | Bin 13831 -> 13891 bytes .../scripting/l4d2_hittable_control.sp | 9 ++++++++- 2 files changed, 8 insertions(+), 1 deletion(-) diff --git a/addons/sourcemod/plugins/optional/l4d2_hittable_control.smx b/addons/sourcemod/plugins/optional/l4d2_hittable_control.smx index 3475ef674a30d6bb12f77428a211c3dcf5c1f6c4..b7d3738d2fb9c774d45d0bb9312f7ef513940cf1 100644 GIT binary patch literal 13891 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 literal 13831 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 U&klK&A$}-H$fGzTd*Jl{0U)ZZCjbBd diff --git a/addons/sourcemod/scripting/l4d2_hittable_control.sp b/addons/sourcemod/scripting/l4d2_hittable_control.sp index 299c97d8b..b65f78ca7 100644 --- a/addons/sourcemod/scripting/l4d2_hittable_control.sp +++ b/addons/sourcemod/scripting/l4d2_hittable_control.sp @@ -140,7 +140,7 @@ public Plugin myinfo = { name = "L4D2 Hittable Control", author = "Stabby, Visor, Sir, Derpduck, Forgetest", - version = "0.9.1", + version = "0.9.2", description = "Allows for customisation of hittable damage values (and debugging)" }; @@ -373,6 +373,13 @@ void Physics_OnSpawnPost(int entity) int parent = GetEntPropEnt(entity, Prop_Send, "m_hOwnerEntity"); if (parent != -1) { + // In case the breakable parent was forced to + if (g_nPhysicsHitInfoEntry[parent] == -1) + { + g_nPhysicsHitInfoEntry[parent] = NewPhysicsHitInfo(); + DebugMsg("Physics_OnSpawnPost (missing info from breakable parent#%d) [#%d]", parent, g_nPhysicsHitInfoEntry[parent]); + } + g_nPhysicsHitInfoEntry[entity] = g_nPhysicsHitInfoEntry[parent]; } g_iPhysicsDamage[entity] = -1; From 7357d47631b5ecc5766c7eaa6357b9af037b5fed Mon Sep 17 00:00:00 2001 From: Forgetest <33988868+jensewe@users.noreply.github.com> Date: Fri, 15 May 2026 02:09:08 +0800 Subject: [PATCH 2/2] Fallback to classname check and remove `OnEntityDestroyed` Change: - Added back the classname check in `OnTakeDamage`, and remove unnecessary resetting in `OnEntityDestroyed`. - Minor debug message changes. --- .../optional/l4d2_hittable_control.smx | Bin 13891 -> 13869 bytes .../scripting/l4d2_hittable_control.sp | 21 ++++++++---------- 2 files changed, 9 insertions(+), 12 deletions(-) diff --git a/addons/sourcemod/plugins/optional/l4d2_hittable_control.smx b/addons/sourcemod/plugins/optional/l4d2_hittable_control.smx index b7d3738d2fb9c774d45d0bb9312f7ef513940cf1..a0e3cbb29a2123f8440c48ff77fa256e0252f4c2 100644 GIT binary patch literal 13869 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 diff --git a/addons/sourcemod/scripting/l4d2_hittable_control.sp b/addons/sourcemod/scripting/l4d2_hittable_control.sp index b65f78ca7..2dcb3c659 100644 --- a/addons/sourcemod/scripting/l4d2_hittable_control.sp +++ b/addons/sourcemod/scripting/l4d2_hittable_control.sp @@ -360,16 +360,10 @@ public void OnEntityCreated(int entity, const char[] classname) } } -public void OnEntityDestroyed(int entity) -{ - if (entity > 0 && entity < MAX_EDICTS) - { - g_nPhysicsHitInfoEntry[entity] = -1; - } -} - void Physics_OnSpawnPost(int entity) { + g_nPhysicsHitInfoEntry[entity] = -1; + int parent = GetEntPropEnt(entity, Prop_Send, "m_hOwnerEntity"); if (parent != -1) { @@ -401,10 +395,10 @@ Action Physics_OnTakeDamage(int victim, int &attacker, int &inflictor, float &da if (!IsValidEdict(attacker)) return Plugin_Continue; - DebugMsg("(#%d) Physics_OnTakeDamage (attacker %d)", victim, attacker); - if (attacker > 0 && attacker <= MaxClients && IsTank(attacker)) { + DebugMsg("(#%d) Physics_OnTakeDamage tank (%N #%d)", victim, attacker, attacker); + // A tank punches me, create a new entry if not if (g_nPhysicsHitInfoEntry[victim] == -1) { @@ -423,6 +417,8 @@ Action Physics_OnTakeDamage(int victim, int &attacker, int &inflictor, float &da } else if (IsEntityClassname(attacker, "prop_physics*")) { + DebugMsg("(#%d) Physics_OnTakeDamage prop_physics (#%d)", victim, attacker); + // Collides with other physics, clone their hit info if (g_nPhysicsHitInfoEntry[attacker] != -1) { @@ -445,7 +441,7 @@ Action Physics_OnTakeDamage(int victim, int &attacker, int &inflictor, float &da selfinfo.lastAttackerTime = GetGameTime(); g_PhysicsHitInfos.SetArray(g_nPhysicsHitInfoEntry[victim], selfinfo); - DebugMsg("(#%d) Physics_OnTakeDamage prop_physics (#%d) [%d]", victim, g_nPhysicsHitInfoEntry[attacker], selfinfo.lastAttackerId); + DebugMsg("(#%d) Physics_OnTakeDamage prop_physics (#%d) [lastAttackerId %d]", victim, g_nPhysicsHitInfoEntry[attacker], selfinfo.lastAttackerId); } } else @@ -604,7 +600,8 @@ Action OnTakeDamage(int victim, int &attacker, int &inflictor, float &damage, in // Hey, we don't care. if (!IsValidEdict(attacker) || !IsValidEdict(inflictor) - || g_nPhysicsHitInfoEntry[inflictor] == -1) + || g_nPhysicsHitInfoEntry[inflictor] == -1 + || !IsEntityClassname(inflictor, "prop_physics*")) return Plugin_Continue; if (IsTank(victim) && hTankSelfDamage.BoolValue)