From 41efdd80d723fb5c8a1116a699a5b1425887593b Mon Sep 17 00:00:00 2001 From: Jackz Date: Sat, 16 Oct 2021 12:37:28 -0500 Subject: [PATCH] Implement dull melee --- scripting/include/feedthetrolls/events.inc | 18 +++++++++++++++++- 1 file changed, 17 insertions(+), 1 deletion(-) diff --git a/scripting/include/feedthetrolls/events.inc b/scripting/include/feedthetrolls/events.inc index 56be72d..e28698c 100644 --- a/scripting/include/feedthetrolls/events.inc +++ b/scripting/include/feedthetrolls/events.inc @@ -534,6 +534,22 @@ void EntityCreateCallback(int entity) { } } +//Dull Melee +public Action L4D2_MeleeGetDamageForVictim(int client, int weapon, int victim, float &damage) { + static int dullMeleeID; + if(!dullMeleeID) dullMeleeID = GetTrollID("Dull Melee"); + if(Trolls[dullMeleeID].IsActive(client)) { + float max = 1.0; + if(Trolls[dullMeleeID].activeFlagClients[client] & 2) max = 0.5; + else if(Trolls[dullMeleeID].activeFlagClients[client] & 4) max = 0.1; + if(GetRandomFloat() <= max) { + damage = 0.0; + return Plugin_Changed; + } + } + return Plugin_Continue; +} + int FindClosestVisibleClient(int source) { static float pos[3], ang[3]; GetClientEyePosition(source, pos); @@ -544,4 +560,4 @@ int FindClosestVisibleClient(int source) { public bool TraceEntityFilterPlayer(int entity, int mask, any data) { return data != entity && entity <= MaxClients && GetClientTeam(entity) == 2 && IsPlayerAlive(entity); -} \ No newline at end of file +}