From 53191a9e3cb03324c9237e7deaba9d80b8919d3f Mon Sep 17 00:00:00 2001 From: Jackz Date: Tue, 12 Jul 2022 22:19:58 -0500 Subject: [PATCH] Improve anti heal logic --- plugins/l4d2_ai_tweaks.smx | Bin 3682 -> 3750 bytes scripting/l4d2_ai_tweaks.sp | 14 +++++++++++--- 2 files changed, 11 insertions(+), 3 deletions(-) diff --git a/plugins/l4d2_ai_tweaks.smx b/plugins/l4d2_ai_tweaks.smx index 08e1d88954440919acbaaf87af3178ab844db105..aa1726267ce6793286c3986bd98aee241ce45844 100644 GIT binary patch delta 3581 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 ZnEBe=>YlQ3lMy=6v#sHrxx8|$>OU%cxNiUe delta 3513 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 diff --git a/scripting/l4d2_ai_tweaks.sp b/scripting/l4d2_ai_tweaks.sp index 42ff0be..8e703c1 100644 --- a/scripting/l4d2_ai_tweaks.sp +++ b/scripting/l4d2_ai_tweaks.sp @@ -38,9 +38,17 @@ public Action OnFriendAction( BehaviorAction action, int actor, BehaviorAction p // Do not let idle bots heal non-idle bots int target = action.Get(0x34) & 0xFFF; if(GetEntProp(actor, Prop_Send, "m_humanSpectatorUserID") > 0) { // If idle bot - // If target is a bot AND is a non-idle bot OR target is black and white, stop the heal. - if(IsFakeClient(target) && (GetEntProp(target, Prop_Send, "m_humanSpectatorUserID") == 0 || !GetEntProp(target, Prop_Send, "m_bIsOnThirdStrike"))) { - PrintToServer("Preventing %N from healing %N", actor, target); + if(IsFakeClient(target)) { + // If target is a bot, not idle player, ignore + if(GetEntProp(target, Prop_Send, "m_humanSpectatorUserID") == 0) { + PrintToServer("Preventing %N from healing bot %N", actor, target); + result.type = DONE; + return Plugin_Handled; + } + } + // If they are not black and white, also stop + if(!GetEntProp(target, Prop_Send, "m_bIsOnThirdStrike")) { //If real player and not black and white, stop + PrintToServer("Preventing %N from healing %N, not black & white", actor, target); result.type = DONE; return Plugin_Handled; }