
 public Night_Shade(id, skill, prop)
 {
	if( BindTime(id) ){
		fm_set_rendering(id)
		screenflash(id)
	}
	else{
		new max = clamp(MAX_INVIS-PlayersLevel(id), 60, 255)
		new min = clamp(MIN_INVIS, 60, max)
		new fade, mult = (max - min)/9
		switch(gtime){
			case 0: fade = max
			case 1,19: fade = mult*8 + min
			case 2,18: fade = mult*7 + min
			case 3,17: fade = mult*6 + min
			case 4,16: fade = mult*5 + min
			case 5,15: fade = mult*4 + min
			case 6,14: fade = mult*3 + min
			case 7,13: fade = mult*2 + min
			case 8,9,11,12: fade = mult + min
			case 10: fade = min
		}

		fade = clamp(fade, min, max)	//don't want to set it to something too high or low

		fm_set_rendering(id, kRenderFxGlowShell, 0, 0, 0, kRenderTransAlpha, fade)
		if( fade < 33 ) fade = 33;
		screenflash(id, 0, 0, 0, 255-fade, 2.0)

		return PLUGIN_HANDLED;
	}
	return PLUGIN_CONTINUE;
 }
 public Confuse_Ray(id, skill, prop)
 {
	new level = PlayersLevel(id, PlayersActive[id])
	new Float:f_origin[3], Float:f_aimvec[3]

	get_user_origin(id, origin[id])
	get_user_origin(id, aim[id], 2)
	IVecFVec(origin[id], f_origin)
	IVecFVec(aim[id], f_aimvec)

	skillLinedamage(id, f_origin, f_aimvec, level/2, level, skill, _, STATUS_CONFUSE, -1)
	MakeLine(0,origin[id],aim[id],SPRITE_INDEX[SPR_TRAIL],1,1,1,level,0,255,255,255,255,0)
	poke_sound(id,CHAN_VOICE, SND_TU_PING)

	end_rep_use(id, skill, 1.0)
	return PLUGIN_CONTINUE;
 }
public Bulk_Up(id, skill, prop)
 {
	if( BindTime(id) ){
		fm_set_rendering(id)
	}
	else{

		fm_set_rendering(id, kRenderFxGlowShell, 0, 0,0,kRenderTransAlpha, 100);


		return PLUGIN_HANDLED;
	}
	return PLUGIN_CONTINUE;
 }