/* Plugin generated by AMXX-Studio */
#include <amxmodx>
#include <fakemeta>
#include <amxmisc>
#include <hamsandwich>
#include <codmod>
#define TIME 30
new const perk_name[] = "Quad Damage";
new const perk_desc[] = "Po uzyciu na LW sekund mozesz zadac 4 razy wiecej obrazen. Perk niszczy sie po uzyciu!"
new bool: ma_perk[33], CzasTrwania, wartosc_perku[33]
new SoundStart[] = "misc/quad_damage_start.wav"
new SoundEnd[] = "misc/quad_damage_end.wav"
public plugin_init()
{
register_plugin(perk_name, "1.0", "Hleb")
cod_register_perk(perk_name, perk_desc, 15, 30)
register_forward(FM_PlayerPreThink, "Client_PreThink")
RegisterHam(Ham_TakeDamage, "player", "TakeDamage");
}
public cod_perk_enabled(id, wartosc)
{
ma_perk[id] = true;
wartosc_perku[id] = wartosc
}
public cod_perk_disabled(id)
{
ma_perk[id] = false;
remove_task(id+44)
}
public client_disconnect(id)
{
remove_task(id+44)
}
public plugin_precache()
{
precache_sound(SoundStart)
precache_sound(SoundEnd)
}
public Client_PreThink(id)
{
if(task_exists(id+44) && ma_perk[id])
{
client_print(id, print_center, "Quad Damage: %i", CzasTrwania)
Display_Fade(id, 1<<14, 1<<4 ,1<<16, 255, 255, 255, 40);
switch(CzasTrwania)
{
case 3:
{
Display_Fade(id, 1<<14, 1<<4 ,1<<16, 255, 255, 255, 0);
client_cmd(id,"speak %s", SoundEnd)
}
case 2: Display_Fade(id, 1<<14, 1<<4 ,1<<16, 255, 255, 255, 40);
case 1:
{
Display_Fade(id, 1<<14, 1<<4 ,1<<16, 255, 255, 255, 0);
}
}
}
}
public cod_perk_used(id)
{
client_cmd(id, "speak %s", SoundStart)
set_task(1.0, "QuadDamage", id+44, _, _, "a", CzasTrwania = wartosc_perku[id]);
}
public QuadDamage(id)
{
id-=44
CzasTrwania--
}
public TakeDamage(this, idinflictor, idattacker, Float:damage, damagebits)
{
if(!ma_perk[idattacker])
return HAM_IGNORED
if(!is_user_connected(idattacker))
return HAM_IGNORED
if(!(task_exists(idattacker+44)))
return HAM_IGNORED
SetHamParamFloat(4, damage*4.0)
return HAM_IGNORED
}
stock Display_Fade(id,duration,holdtime,fadetype,red,green,blue,alpha)
{
message_begin( MSG_ONE, get_user_msgid("ScreenFade"),{0,0,0},id );
write_short( duration );
write_short( holdtime );
write_short( fadetype );
write_byte ( red );
write_byte ( green );
write_byte ( blue );
write_byte ( alpha );
message_end();
}
/* AMXX-Studio Notes - DO NOT MODIFY BELOW HERE
*{\\ rtf1\\ ansi\\ deff0{\\ fonttbl{\\ f0\\ fnil Tahoma;}}\n\\ viewkind4\\ uc1\\ pard\\ lang1045\\ f0\\ fs16 \n\\ par }
*/