diff options
| author | Alexander Pickering <Alexander.Pickering@anondomain.site90.net> | 2016-03-28 22:02:52 -0400 |
|---|---|---|
| committer | Alexander Pickering <Alexander.Pickering@anondomain.site90.net> | 2016-03-28 22:02:52 -0400 |
| commit | c6d81a837ba5bb46246ca6703f539e69a18b8216 (patch) | |
| tree | 510bb8d0b15165dbf1737f9a860d19d7750734f2 /entities | |
| parent | fe897eaf8d8be4cfdc4e2c4e90ed5c775de0c291 (diff) | |
| download | wintersurvival2-c6d81a837ba5bb46246ca6703f539e69a18b8216.tar.gz wintersurvival2-c6d81a837ba5bb46246ca6703f539e69a18b8216.tar.bz2 wintersurvival2-c6d81a837ba5bb46246ca6703f539e69a18b8216.zip | |
More debugging to find what's glitching ai's
Diffstat (limited to 'entities')
| -rw-r--r-- | entities/entities/ws_rune/cl_init.lua | 5 | ||||
| -rw-r--r-- | entities/entities/ws_rune/init.lua | 60 | ||||
| -rw-r--r-- | entities/entities/ws_rune/shared.lua | 5 |
3 files changed, 70 insertions, 0 deletions
diff --git a/entities/entities/ws_rune/cl_init.lua b/entities/entities/ws_rune/cl_init.lua new file mode 100644 index 0000000..6bc006e --- /dev/null +++ b/entities/entities/ws_rune/cl_init.lua @@ -0,0 +1,5 @@ +include('shared.lua') + +function ENT:Draw() + self.Entity:DrawModel() +end diff --git a/entities/entities/ws_rune/init.lua b/entities/entities/ws_rune/init.lua new file mode 100644 index 0000000..17aa936 --- /dev/null +++ b/entities/entities/ws_rune/init.lua @@ -0,0 +1,60 @@ +AddCSLuaFile("cl_init.lua") +AddCSLuaFile("shared.lua") + +include('shared.lua') + +function ENT:Initialize() + self:SetModel("models/props_c17/oildrum001.mdl") + self:PhysicsInit(SOLID_VPHYSICS) + self:SetMoveType(MOVETYPE_NONE) + self:SetSolid(SOLID_VPHYSICS) + self:SetUseType(SIMPLE_USE) + + local phys = self:GetPhysicsObject() + phys:EnableMotion(false) + phys:Sleep() + + self:SetHealth(30) + + self.StoredItems = {} +end + +function ENT:AddItem(item,quantity) + for k,v in pairs(self.StoredItems) do + if (v.Name == item) then + v.Quantity = v.Quantity + quantity + return + end + end + + table.insert(self.StoredItems,{Name = item, Quantity = quantity}) +end + +function ENT:TakeItem(pl,item,quantity) + for k,v in pairs(self.StoredItems) do + if (v.Name == item) then + quantity = math.min(quantity,v.Quantity) + v.Quantity = v.Quantity - quantity + + pl:AddItem(item,quantity) + + if (v.Quantity <= 0) then table.remove(self.StoredItems,k) end + break + end + end +end + +function ENT:GetItems() + return self.StoredItems +end + +function ENT:Use(pl) + if (pl:IsPigeon()) then return end + OpenLootventory(pl,self.StoredItems,self) +end + +function ENT:OnTakeDamage(dmg) + self:SetHealth(self:Health()-dmg) + + if (self:Health() <= 0) then self:Remove() end +end diff --git a/entities/entities/ws_rune/shared.lua b/entities/entities/ws_rune/shared.lua new file mode 100644 index 0000000..bc8a71d --- /dev/null +++ b/entities/entities/ws_rune/shared.lua @@ -0,0 +1,5 @@ +ENT.Type = "anim" +ENT.Base = "base_anim" + +function ENT:OnRemove() +end |
