1castlefire = class:new()
2
3function castlefire:init(x, y, length, dir)
4	self.x = x
5	self.y = y+1/16
6	self.length = length or 6
7	self.dir = dir or "cw"
8	self.quadi = 1
9	self.child = {}
10	for i = 1, self.length do
11		local temp = castlefirefire:new()
12		table.insert(objects["castlefirefire"], temp)
13		table.insert(self.child, temp)
14	end
15	self.angle = 0
16	self.timer = 0
17	self.timer2 = 0
18
19	self:updatepos()
20	self:updatequad()
21end
22
23function castlefire:update(dt)
24	self.timer = self.timer + dt
25
26	while self.timer > castlefiredelay do
27		self.timer = self.timer - castlefiredelay
28		if self.dir == "cw" then
29			self.angle = self.angle + castlefireangleadd
30			self.angle = math.mod(self.angle, 360)
31		else
32			self.angle = self.angle - castlefireangleadd
33			while self.angle < 0 do
34				self.angle = self.angle + 360
35			end
36		end
37
38		self:updatepos()
39	end
40
41	self.timer2 = self.timer2 + dt
42	while self.timer2 > castlefireanimationdelay do
43		self.timer2 = self.timer2 - castlefireanimationdelay
44		self.quadi = self.quadi + 1
45		if self.quadi > 4 then
46			self.quadi = 1
47		end
48		self:updatequad()
49	end
50end
51
52function castlefire:updatepos()
53	local x = self.x-.5
54	local y = self.y-.5
55
56	for i = 1, self.length do
57		local xadd = math.cos(math.rad(self.angle))*(i-1)*0.5
58		local yadd = math.sin(math.rad(self.angle))*(i-1)*0.5
59
60		self.child[i].x = x+xadd-0.25
61		self.child[i].y = y+yadd-0.25
62	end
63end
64
65function castlefire:updatequad()
66	for i = 1, self.length do
67		self.child[i].quad = fireballquad[self.quadi]
68	end
69end
70
71
72
73--------------
74
75castlefirefire = class:new()
76
77function castlefirefire:init()
78	--PHYSICS STUFF
79	self.y = 0
80	self.x = 0
81	self.width = 8/16
82	self.height = 8/16
83	self.active = true
84	self.static = true
85	self.category = 23
86
87	self.mask = {	true,
88					true, false, true, true, true,
89					true, true, true, true, true,
90					true, true, true, true, true,
91					true, true, true, true, true,
92					true, true, true, true, true,
93					true, true, true, true, true}
94
95	--IMAGE STUFF
96	self.drawable = true
97	self.graphic = fireballimg
98	self.quad = fireballquad[1]
99	self.offsetX = 4
100	self.offsetY = 4
101	self.quadcenterX = 4
102	self.quadcenterY = 4
103end