aboutsummaryrefslogtreecommitdiff
path: root/entities
diff options
context:
space:
mode:
authorAlexander Pickering <Alexander.Pickering@anondomain.site90.net>2016-03-28 22:02:52 -0400
committerAlexander Pickering <Alexander.Pickering@anondomain.site90.net>2016-03-28 22:02:52 -0400
commitc6d81a837ba5bb46246ca6703f539e69a18b8216 (patch)
tree510bb8d0b15165dbf1737f9a860d19d7750734f2 /entities
parentfe897eaf8d8be4cfdc4e2c4e90ed5c775de0c291 (diff)
downloadwintersurvival2-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.lua5
-rw-r--r--entities/entities/ws_rune/init.lua60
-rw-r--r--entities/entities/ws_rune/shared.lua5
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