aboutsummaryrefslogtreecommitdiff
path: root/src/objs/specks.lua
diff options
context:
space:
mode:
Diffstat (limited to 'src/objs/specks.lua')
-rw-r--r--src/objs/specks.lua12
1 files changed, 12 insertions, 0 deletions
diff --git a/src/objs/specks.lua b/src/objs/specks.lua
index 229eb23..485a58a 100644
--- a/src/objs/specks.lua
+++ b/src/objs/specks.lua
@@ -32,6 +32,7 @@ function Speck_Sys.new()
self.initial_velx = 0
self.initial_vely = 0
+ self.spread = 0
self.lifetime_min = 1
self.lifetime_max = 5
@@ -81,6 +82,17 @@ function Speck_Sys:update(dt)
data.pos[id] = { x = self.x, y = self.y }
data.vel[id] = { x = self.initial_velx, y = self.initial_vely }
+ local beta = self.spread * math.pi / 180
+ beta = beta / 2
+ beta = randf_range(-beta, beta)
+
+ local rvx = (data.vel[id].x * math.cos(beta))
+ - (data.vel[id].y * math.sin(beta))
+ local rvy = (data.vel[id].x * math.sin(beta))
+ + (data.vel[id].y * math.cos(beta))
+ data.vel[id].x = rvx
+ data.vel[id].y = rvy
+
data.lifetime[id] = randf_range(
self.lifetime_min, self.lifetime_max)
data.lifetime_max[id] = data.lifetime[id]