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 +}