EDIT: A bit too late.
Not tested.
Version #1:
Code:
#include <amxmodx>
#include <fakemeta>
#include <hamsandwich>
#define HLW_SHOTGUN 7
#define DAMAGE_MULTIPLIER 0.5 // Half less damage
public plugin_init()
{
register_plugin("Shotgun Damage", "1.0", "hleV");
RegisterHam(Ham_TakeDamage, "player", "TakeDamage");
}
public TakeDamage(Victim, Inflictor, Attacker, Float:Damage)
{
if (get_pdata_int(Inflictor, 43, 4) == HLW_SHOTGUN)
{
SetHamParamFloat(4, Damage * DAMAGE_MULTIPLIER);
return HAM_HANDLED;
}
return HAM_IGNORED;
}
Version #2:
Code:
#include <amxmodx>
#include <hamsandwich>
#define HLW_SHOTGUN 7
#define DAMAGE_MULTIPLIER 0.5 // Half less damage
public plugin_init()
{
register_plugin("Shotgun Damage", "1.0", "hleV");
RegisterHam(Ham_TakeDamage, "player", "TakeDamage");
}
public TakeDamage(Victim, Inflictor, Attacker, Float:Damage)
{
if (is_user_alive(Attacker) && get_user_weapon(Attacker) == HLW_SHOTGUN)
{
SetHamParamFloat(4, Damage * DAMAGE_MULTIPLIER);
return HAM_HANDLED;
}
return HAM_IGNORED;
}
__________________