#include <amxmod>
#include <csstats>
#define PLUGIN "Grenade Enchancer"
#define VERSION "1.3"
#define AUTHOR "anakin_cstrike"
new
toggle_plugin,toggle_type,toggle_power,
toggle_flash,toggle_shake,toggle_display,
toggle_trail,trail_color;
new g_trail;
new fade,shake;
public plugin_init()
{
register_plugin("Grenade Enhancer","1.3","anakin_cstrike");
toggle_plugin = register_cvar("grenade_enhancer_active","1");
toggle_flash = register_cvar("grenade_enhancer_screenflash","1");
toggle_display = register_cvar("grenade_enhancer_display","1");
toggle_shake = register_cvar("grenade_enhancer_shake","1");
toggle_type = register_cvar("grenade_enhancer_damagetype","2");
toggle_power = register_cvar("grenade_enhancer_damage","10");
toggle_trail = register_cvar("grenade_enhancer_trail","1");
trail_color = register_cvar("grenade_enhancer_trailcolor","255000000");
fade = get_user_msgid("ScreenFade");
shake = get_user_msgid("ScreenShake");
}
public plugin_precache()
g_trail = precache_model("sprites/smoke.spr");
public damage_info(attacker,victim,damage,wpnindex,hitplace,TA)
{
if(!attacker || !victim || wpnindex != CSW_HEGRENADE || get_cvarptr_num(toggle_plugin) <= 0)
return;
new spower = get_cvarptr_num(toggle_power);
if(get_cvarptr_num(toggle_type) > 0)
user_slap(victim,spower,1);
else
user_slap(victim,spower,0);
if(get_cvarptr_num(toggle_flash) > 0)
{
if(!is_user_bot(victim))
Fade(victim,255,0,0,170);
}
if(get_cvarptr_num(toggle_shake) > 0)
{
if(!is_user_bot(victim))
Shake(victim);
}
if(get_cvarptr_num(toggle_display) > 0)
{
new sdamage = damage + spower;
set_hudmessage(random(255),random(255),random(255), 0.03, 0.30, 0, 6.0, 12.0);
show_hudmessage(victim, "%i",sdamage);
}
}
public grenade_throw(id,gid,wid)
{
if(wid != CSW_HEGRENADE || get_cvarptr_num(toggle_plugin) <= 0 || get_cvarptr_num(toggle_trail) <= 0)
return;
new r, g, b,color,colorstring[10];
color = get_cvarptr_string(trail_color,colorstring,charsmax(colorstring));
color = str_to_num(colorstring);
r = clamp(color / 1000000, 0, 255)
color %= 1000000
g = clamp(color / 1000, 0, 255)
b = clamp(color % 1000, 0, 255)
Follow(gid,g_trail,10,5,r,g,b,195);
}
Follow(entity,index,life,width,red,green,blue,alpha)
{
message_begin(MSG_BROADCAST, SVC_TEMPENTITY);
write_byte(TE_BEAMFOLLOW);
write_short(entity);
write_short(index);
write_byte(life);
write_byte(width);
write_byte(red);
write_byte(green);
write_byte(blue);
write_byte(alpha);
message_end();
}
Fade(index,red,green,blue,alpha)
{
message_begin(MSG_ONE_UNRELIABLE,fade,{0,0,0},index);
write_short(6<<10);
write_short(5<<10);
write_short(1<<12);
write_byte(red);
write_byte(green);
write_byte(blue);
write_byte(alpha);
message_end();
}
Shake(index)
{
message_begin(MSG_ONE_UNRELIABLE,shake,{0,0,0},index);
write_short(1<<13);
write_short(1<<13);
write_short(1<<13);
message_end();
}