diff options
| author | Alexander Pickering <Alexander.Pickering@anondomain.site90.net> | 2016-02-07 19:38:48 -0500 |
|---|---|---|
| committer | Alexander Pickering <Alexander.Pickering@anondomain.site90.net> | 2016-02-07 19:38:48 -0500 |
| commit | f9df323cf660cbe40eab897f5fe5af891ba2b66a (patch) | |
| tree | c21445ecce2682a3a67391b5d5be2bfa66d90e67 /entities | |
| parent | 02a1f048efa1b6d4132860a1919e127cca1e2167 (diff) | |
| download | wintersurvival2-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.lua | 5 | ||||
| -rw-r--r-- | entities/entities/ws_projectile/init.lua | 33 | ||||
| -rw-r--r-- | entities/entities/ws_projectile/shared.lua | 27 |
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 |
