diff options
| -rw-r--r-- | gamemode/itemsystem/items/spell_fireball.lua | 21 |
1 files changed, 15 insertions, 6 deletions
diff --git a/gamemode/itemsystem/items/spell_fireball.lua b/gamemode/itemsystem/items/spell_fireball.lua index 0cdb356..f5de38d 100644 --- a/gamemode/itemsystem/items/spell_fireball.lua +++ b/gamemode/itemsystem/items/spell_fireball.lua @@ -22,7 +22,7 @@ ITEM.Recipe = { ITEM.CD = 0.25 -ITEM.NumFireballs = 0 +ITEM.NumFireballs = {} ITEM.MaxFireballs = 3 local fireball = {} @@ -70,18 +70,27 @@ end function ITEM:OnSecondary(pl,tr) ParticleEffect("firetest",pl:GetPos(),pl:GetAngles(),pl) - if(self.NumFireballs > 0) then + if(self.NumFireballs[pl] ~= nil and self.NumFireballs[pl] > 0) then self:DoFireball(pl) self.NumFireballs = self.NumFireballs-1 end end +hook.Add("PlayerDeath","remove_fireball_count",function(victim,inflictor,attacker) + self.NumFireballs[victim] = 0 +end) + +hook.Add("PlayerDisconnected","clean_fireball_count",function(ply) + self.NumFireballs[ply] = nil +end) + local fireballfunc = function(num,pl,self) if(num == 0) then return end - if(self.NumFireballs < self.MaxFireballs) then - self.NumFireballs = self.NumFireballs+1 - print("New num fireballs:" .. self.NumFireballs) - end + if self.NumFireballs[ply] == nil then + self.NumFireballs[ply] = 1 + elseif self.NumFireballs[ply] < self.MaxFireballs then + self.NumFireballs[ply] = self.NumFireballs[ply] + 1 + end end function ITEM:OnPrimary(pl,tr) |
