public Fwd_PlayerDamage(const victim, const inflictor, const attacker, Float:damage, const iDamageType)
{
//set_user_team = cs_get_user_team(victim);
if(get_bit(g_bIsAlive, victim) && iDamageType == DMG_FALL)
{
switch( g_iDay[ TOTAL_DAYS ] )
{
case DAY_NIGHT:
{
if(cs_get_user_team(victim) == CS_TEAM_CT)
{
SetHamReturnInteger(0);
return HAM_SUPERCEDE;
}
}
case DAY_RENIGHT:
if(cs_get_user_team(victim) == CS_TEAM_T)
{
SetHamReturnInteger(0);
return HAM_SUPERCEDE;
}
case DAY_USPNINJAS:
if(cs_get_user_team(victim) == CS_TEAM_CT)
{
SetHamReturnInteger(0);
return HAM_SUPERCEDE;
}
}
}
if(!IsPlayer( attacker ) || victim == attacker)
return HAM_IGNORED;
if(g_bBoxMatch)
{
if(get_user_weapon(attacker) == CSW_KNIFE)
SetHamParamFloat(4, damage * 0.2);
if(cs_get_user_team(attacker) == CS_TEAM_T && get_user_weapon(attacker) != CSW_KNIFE)
{
SetHamReturnInteger(0);
return HAM_SUPERCEDE;
}
g_iVictimTeam = cs_get_user_team_index(victim);
if( g_iVictimTeam == cs_get_user_team_index(attacker) )
{
cs_set_user_team_index(victim, g_iVictimTeam == TEAM_T ? TEAM_CT : TEAM_T);
EnableHamForward(g_iHhTakeDamagePost);
return HAM_HANDLED;
}
}
if(g_bSnowballWar)
{
if(get_user_weapon(attacker) == CSW_KNIFE)
SetHamParamFloat(4, damage * 0.2);
g_iVictimTeam = cs_get_user_team_index(victim);
if( g_iVictimTeam == cs_get_user_team_index(attacker) )
{
cs_set_user_team_index(victim, g_iVictimTeam == TEAM_T ? TEAM_CT : TEAM_T);
EnableHamForward(g_iHhTakeDamagePost);
return HAM_HANDLED;
}
}
if(g_bGunGame)
{
if(get_bit(g_bSetFakeGodmode, victim))
{
SetHamReturnInteger(0);
return HAM_SUPERCEDE;
}
g_iVictimTeam = cs_get_user_team_index(victim);
if( g_iVictimTeam == cs_get_user_team_index(attacker) )
{
cs_set_user_team_index(victim, g_iVictimTeam == TEAM_T ? TEAM_CT : TEAM_T);
EnableHamForward(g_iHhTakeDamagePost);
return HAM_HANDLED;
}
}
switch( g_iDay[ TOTAL_DAYS ] )
{
case DAY_DEATHMATCH:
{
g_iVictimTeam = cs_get_user_team_index(victim);
if( g_iVictimTeam == cs_get_user_team_index(attacker) )
{
cs_set_user_team_index(victim, g_iVictimTeam == TEAM_T ? TEAM_CT : TEAM_T);
EnableHamForward(g_iHhTakeDamagePost);
return HAM_HANDLED;
}
}
case DAY_HIDENSEEK:
//if( g_bFrozenTime )
if(cs_get_user_team(attacker) == CS_TEAM_T)
return HAM_SUPERCEDE;
case DAY_FREEZETAG: return HAM_SUPERCEDE;
case DAY_ZOMBIE:
if(cs_get_user_team(attacker) == CS_TEAM_CT)
SetHamParamFloat(4, (damage+40)-damage);
case DAY_REZOMBIE:
if(cs_get_user_team(attacker) == CS_TEAM_T)
SetHamParamFloat(4, (damage+40)-damage);
case DAY_GANG:
{
if(get_bit(check_bteam, attacker) && get_bit(check_bteam, victim)
|| get_bit(check_rteam, attacker) && get_bit(check_rteam, victim)
|| get_bit(check_gteam, attacker) && get_bit(check_gteam, victim)
|| get_bit(check_rteam, attacker) && get_bit(check_gteam, victim)
|| get_bit(check_bteam, attacker) && get_bit(check_gteam, victim))
{
SetHamReturnInteger(0);
return HAM_SUPERCEDE;
}
g_iVictimTeam = cs_get_user_team_index(victim);
if( g_iVictimTeam == cs_get_user_team_index(attacker) )
{
cs_set_user_team_index(victim, g_iVictimTeam == TEAM_T ? TEAM_CT : TEAM_T);
EnableHamForward(g_iHhTakeDamagePost);
return HAM_HANDLED;
}
}
case DAY_GRENADE:
{
if(!get_bit(check_gteam, attacker) && get_bit(check_gteam, victim)
|| get_bit(check_gteam, attacker) && get_bit(check_gteam, victim))
{
SetHamReturnInteger(0);
return HAM_SUPERCEDE;
}
g_iVictimTeam = cs_get_user_team_index(victim);
if( g_iVictimTeam == cs_get_user_team_index(attacker) )
{
cs_set_user_team_index(victim, g_iVictimTeam == TEAM_T ? TEAM_CT : TEAM_T);
EnableHamForward(g_iHhTakeDamagePost);
return HAM_HANDLED;
}
}
case DAY_NIGHT:
{
if(cs_get_user_team(victim) == CS_TEAM_CT)
{
if(!task_exists(victim))
{
set_bit(g_HasBeenHit, victim);
set_task(1.5, "resetmodel", victim);
}
}
}
case DAY_RENIGHT:
{
if(cs_get_user_team(victim) == CS_TEAM_T)
{
if(!task_exists(victim))
{
set_bit(g_HasBeenHit, victim);
set_task(1.5, "resetmodel", victim);
}
}
}
}
if(get_bit(g_bInDisguise, victim))
{
cs_reset_user_model(victim);
fnColorPrint(victim, "%L", LANG_SERVER, "JB_DAY_M28");
fnColorPrint(victim, "%L", LANG_SERVER, "JB_DAY_M29");
clear_bit(g_bInDisguise, victim);
}
if(attacker == inflictor && get_user_weapon(attacker) == CSW_KNIFE && get_bit(g_bHasCrowbar, attacker))
{
SetHamParamFloat(4, damage + 80);
return HAM_HANDLED;
}
return HAM_IGNORED;
}