diff options
Diffstat (limited to 'gamemode/itemsystem/items/spell_fireball.lua')
| -rw-r--r-- | gamemode/itemsystem/items/spell_fireball.lua | 28 |
1 files changed, 23 insertions, 5 deletions
diff --git a/gamemode/itemsystem/items/spell_fireball.lua b/gamemode/itemsystem/items/spell_fireball.lua index 11b12b3..78a3693 100644 --- a/gamemode/itemsystem/items/spell_fireball.lua +++ b/gamemode/itemsystem/items/spell_fireball.lua @@ -17,21 +17,39 @@ ITEM.Recipe = { ITEM.CD = 1 +local fireball = {} +fireball["model"] = "models/hunter/blocks/cube025x025x025.mdl" +fireball["speed"] = 700 +fireball["drop"] = 50 +fireball["init"] = function(fb) fb:Ignite(10) end +fireball["onhit"] = function (self,data,phys) + 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 + function ITEM:DoFireball(pl) print("Fully successfull fireball callback:") print(pl) local aim = pl:GetAimVector() - local fireball = {} - fireball["model"] = "models/hunter/blocks/cube025x025x025.mdl" - fireball["speed"] = 700 - fireball["drop"] = 50 - fireball["init"] = function(fb) fb:Ignite(10) end local D = ents.Create("ws_projectile") if(fireball.speed) then D.speed = fireball.speed end if(fireball.model) then D.model = fireball.model end if(fireball.drop) then D.drop = fireball.drop end if(fireball.init) then D.init = fireball.init end + if(fireball.onhit) then D.onhit = fireball.onhit end print("D's speed:" .. D.speed) |
