aboutsummaryrefslogtreecommitdiff
path: root/entities
diff options
context:
space:
mode:
authorAlexander Pickering <Alexander.Pickering@anondomain.site90.net>2016-02-07 19:38:48 -0500
committerAlexander Pickering <Alexander.Pickering@anondomain.site90.net>2016-02-07 19:38:48 -0500
commitf9df323cf660cbe40eab897f5fe5af891ba2b66a (patch)
treec21445ecce2682a3a67391b5d5be2bfa66d90e67 /entities
parent02a1f048efa1b6d4132860a1919e127cca1e2167 (diff)
downloadwintersurvival2-f9df323cf660cbe40eab897f5fe5af891ba2b66a.tar.gz
wintersurvival2-f9df323cf660cbe40eab897f5fe5af891ba2b66a.tar.bz2
wintersurvival2-f9df323cf660cbe40eab897f5fe5af891ba2b66a.zip
Finished fireball spell (still needs recipe)
Diffstat (limited to 'entities')
-rw-r--r--entities/entities/ws_projectile/cl_init.lua5
-rw-r--r--entities/entities/ws_projectile/init.lua33
-rw-r--r--entities/entities/ws_projectile/shared.lua27
3 files changed, 65 insertions, 0 deletions
diff --git a/entities/entities/ws_projectile/cl_init.lua b/entities/entities/ws_projectile/cl_init.lua
new file mode 100644
index 0000000..6bc006e
--- /dev/null
+++ b/entities/entities/ws_projectile/cl_init.lua
@@ -0,0 +1,5 @@
+include('shared.lua')
+
+function ENT:Draw()
+ self.Entity:DrawModel()
+end
diff --git a/entities/entities/ws_projectile/init.lua b/entities/entities/ws_projectile/init.lua
new file mode 100644
index 0000000..2898d88
--- /dev/null
+++ b/entities/entities/ws_projectile/init.lua
@@ -0,0 +1,33 @@
+AddCSLuaFile("cl_init.lua")
+AddCSLuaFile("shared.lua")
+
+include('shared.lua')
+
+local Ab = Color(255,255,255,100)
+
+function ENT:Initialize()
+ if(self.model) then self:SetModel(self.model)
+ else self:SetModel("models/mixerman3d/other/arrow.mdl")
+ end
+
+ if(self.init) then self:init(self) end
+
+ if(self.speed) then print(self.speed)
+ else print("No speed for projectile!") end
+
+ self:PhysicsInit(SOLID_VPHYSICS)
+ self:SetMoveType(MOVETYPE_VPHYSICS)
+ self:SetSolid(SOLID_VPHYSICS)
+ self:SetCollisionGroup(COLLISION_GROUP_INTERACTIVE)
+ self:PhysWake()
+
+ util.SpriteTrail( self, 0, Ab, true, 1, 0, 1, 1, "sprites/smoke_trail.vmt" )
+end
+
+
+
+function ENT:Think()
+ print("speed is " .. self.speed)
+ self:GetPhysicsObject():ApplyForceCenter((self:GetForward() * self.speed) + ( Vector(0,0,-1)*self.drop))
+ self:GetPhysicsObject():SetAngles(self:GetVelocity():Angle())
+end
diff --git a/entities/entities/ws_projectile/shared.lua b/entities/entities/ws_projectile/shared.lua
new file mode 100644
index 0000000..7eb12e8
--- /dev/null
+++ b/entities/entities/ws_projectile/shared.lua
@@ -0,0 +1,27 @@
+ENT.Type = "anim"
+ENT.Base = "base_anim"
+
+function ENT:OnRemove()
+end
+
+function ENT:PhysicsCollide(data, phys)
+ print("We're collideing!")
+ self:Explode()
+end
+
+function ENT:Explode()
+ print("Explode called")
+ local exp = ents.Create("env_explosion")
+ exp:SetPos(self:GetPos())
+ exp:Fire("Explode","",0)
+ exp:Spawn()
+ for k,v in pairs(ents.FindInSphere(self:GetPos(),200)) do
+ if(v.TakeDamage) then
+ local dmg = ( 200 - v:GetPos():Distance( self:GetPos() ) )/2
+ v:TakeDamage(dmg,nil,self)
+ print("Takeing " .. dmg .. " dammage")
+ end
+ end
+
+ self:Remove()
+end