Code:
public OnWar3EventPostHurt( victim, attacker, damage )
{
decl String:weapon[64];
GetEventString(W3GetVar(SmEvent),"weapon",weapon,63);
if( !W3HasImmunity(victim,Immunity_Skills) && !StrEqual(weapon,"raiden_thundrbolt",false) && !StrEqual(weapon,"Raidens_Rath",false) && !StrEqual(weapon,"explode",false) && ValidPlayer( victim, true ) && ValidPlayer( attacker, true ) && GetClientTeam( victim ) != GetClientTeam( attacker ) )
{
if( War3_GetRace( attacker ) == thisRaceID )
{
//Thunderbolt
new skill_dmg2 = War3_GetSkillLevel( attacker, thisRaceID, SKILL_DMG2 );
if( !StrEqual(weapon,"hegrenade",false) && !Hexed( attacker, false ) && skill_dmg2 > 0 && Math_GetRandomFloat( 0.0, 1.0 ) <= 0.25 )
{
War3_DealDamage( victim, RoundToFloor( damage * DMG2Multiplier[skill_dmg2] ), attacker, DMG_BULLET, "raiden_thundrbolt" );
The programing is correct.