1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
function table_delete(mtable, elements)
	for k, v in pairs(mtable) do
		for _k, _v in pairs(elements) do
			if v == _v then
				table.remove(mtable, k)
			end
		end
	end
	return mtable
end
disallowList = {}
addhook('projectile', 'projectile_hook')
function projectile_hook(id, weapon, x, y)
	for k, v in pairs(projectilelist(1, id)) do
		local prx, pry = math.floor(projectile(v.id, v.player, "x") / 32), math.floor(projectile(v.id, v.player, "y") / 32)
		local ix, iy = math.floor(x / 32), math.floor(y / 32)
		if prx == ix and pry == iy and projectile(v.id, v.player, "type") == 72 then
			for ___, proj in pairs(disallowList) do
				if proj.id == v.id and proj.player == v.player then
					table.remove(disallowList, ___)
					return
				end
			end
			local beforeList = projectilelist(0)
			for i=0,315,45 do
				parse("spawnprojectile "..id.." 72 "..x.." "..y.." "..math.random(800,950).." "..i)
			end
			local newList = table_delete(projectilelist(0), beforeList)
			for ___, proj in pairs(newList) do
				table.insert(disallowList, proj)
			end
		end
	end
end