function A_FireWorkBoom(actor, var1, var2)
	A_Scream(actor,0,0)
	for i = 0, var2
		local sparkle = P_SpawnMobj(actor.x,actor.y,actor.z,var1)
		sparkle.destscale = 0
		sparkle.scalespeed = P_RandomFixed()/10
		sparkle.momx = (P_RandomFixed()*20)-(FRACUNIT*10)
		sparkle.momy = (P_RandomFixed()*20)-(FRACUNIT*10)
		sparkle.momz = (P_RandomFixed()*20)-(FRACUNIT*10)
		sparkle.color = P_RandomRange(1,68)
	end
	if (actor.target.flags2 & MF2_AMBUSH) then
	
		for i = 0, 4
			local sparkle = P_SpawnMobj(actor.x+(P_RandomFixed()*32)-(FRACUNIT*16),
													actor.y+(P_RandomFixed()*32)-(FRACUNIT*16),
													actor.z+(P_RandomFixed()*32)-(FRACUNIT*16), var1)
			sparkle.state = sparkle.info.seestate
			sparkle.color = P_RandomRange(1,68)
		end
	
	
	end
end

local function TriggerFriendSearch(refmob, foundmob) 
	if not (foundmob) then
		return nil
	end
	if (refmob.type == foundmob.type) then
		if (foundmob.reactiontime ~= 0) then
			foundmob.reactiontime = 0
			foundmob.state = S_SEESTATE
		end
	end

end

function A_TriggerFriends(actor, var1, var2)
		searchBlockmap("objects",TriggerFriendSearch, actor,
			actor.x-var1,actor.x+var1,
			actor.y-var1,actor.y+var1)
end

function A_FireWorkFly(actor, var1, var2)
	local targetheight = (actor.target.angle/ANG1)
	if (targetheight < 0) then
		targetheight = $1+360
	end
		targetheight = ($1+200)*FRACUNIT
		if ((actor.z-actor.floorz) > targetheight)
			actor.state = actor.info.deathstate
		end
end