aboutsummaryrefslogtreecommitdiff
path: root/gamemode/inventorysystem/prayers
diff options
context:
space:
mode:
authorAlexander Pickering <alexandermpickering@gmail.com>2018-11-03 18:23:45 -0400
committerAlexander Pickering <alexandermpickering@gmail.com>2018-11-03 18:23:45 -0400
commit28affa22541b9ef251707793f6b1c1a26d663592 (patch)
tree622754894d75c74dc5e8516ccf184ad4bf328fef /gamemode/inventorysystem/prayers
parentc639e7c7c6ab1595fdce39f56312e3d6a886bbe8 (diff)
downloadartery-28affa22541b9ef251707793f6b1c1a26d663592.tar.gz
artery-28affa22541b9ef251707793f6b1c1a26d663592.tar.bz2
artery-28affa22541b9ef251707793f6b1c1a26d663592.zip
Started on new npc system
Started work on the new npc system
Diffstat (limited to 'gamemode/inventorysystem/prayers')
-rw-r--r--gamemode/inventorysystem/prayers/cl_prayers.lua96
-rw-r--r--gamemode/inventorysystem/prayers/sh_prayers.lua69
2 files changed, 0 insertions, 165 deletions
diff --git a/gamemode/inventorysystem/prayers/cl_prayers.lua b/gamemode/inventorysystem/prayers/cl_prayers.lua
deleted file mode 100644
index e28db63..0000000
--- a/gamemode/inventorysystem/prayers/cl_prayers.lua
+++ /dev/null
@@ -1,96 +0,0 @@
-
-local pray = {}
-
-local explain
-pray.activeprayers = {}
-function pray:DrawOnDPanel(panel)
- print("Attempted to draw prayer panel")
- --Active grid
- local agrid = vgui.Create("DGrid",panel)
- agrid:SetCols(4)
- local w = ((ScrW() / 4) - 10) / 4
- agrid:SetHeight(w)
- agrid:SetColWide(w)
- agrid:SetRowHeight(w)
- for i=1,4 do
- local rec = vgui.Create("DImageButton",agrid)
- rec:SetText("F"..i)
- rec:SetSize(w,w)
- rec.DoClick = function(s)
- local ap = pray.activeprayers[i]
- explain:SetText(ap ~= nil and ap.Description or "Select a prayer")
- end
- rec:Receiver("prayer",function(s,tbl,dropped,mi,x,y)
- if not dropped then return end
- pray.activeprayers[i] = tbl[1].item
- if tbl[1].item == nil then
- print("Failed to get item, tbl was")
- PrintTable(tbl)
- error("Failed to get item")
- end
- if tbl[1].item.DoOnPanel then
- tbl[1].item:DoOnPanel(rec)
- end
- end,{})
- agrid:AddItem(rec)
- end
- agrid:Dock(TOP)
- --Explanation of spells
- local explainpanel = vgui.Create("DPanel",panel)
- explainpanel:SetHeight(w*2)
- explainpanel:Dock(TOP)
- explainpanel:SetText("This panel will explain information about a hovered skill")
- explain = vgui.Create("DLabel",explainpanel)
- explain:Dock(FILL)
- explain:SetDark(true)
- --All spells we know
- local scroll = vgui.Create( "DScrollPanel", panel )
- scroll:Dock( FILL )
- local grid = vgui.Create("DGrid",scroll)
- grid:SetCols(4)
- grid:SetColWide(w)
- grid:SetRowHeight(w)
- local function drawprayer(prayer)
- local rec = vgui.Create("DImageButton",grid)
- rec:SetText(prayer.Name)
- rec:SetSize(w,w)
- if(prayer.DoOnPanel) then
- prayer:DoOnPanel(rec)
- end
- rec.item = prayer
- rec:Droppable("prayer")
- grid:AddItem(rec)
- end
-
- for k,v in pairs(self.track) do
- drawprayer(v)
- end
-
- local observer = {}
- observer.Put = function(obs,pos,item)
- print("Prayer observer got request to put")
- debug.Trace()
- drawprayer(item)
- end
- observer.Remove = function(obs,pos,item)
- print("I should never remove a prayer!")
- end
- return observer
-end
-
---Rebind f1, f2, f3, f4 to prayers
-local prayerhooks = {
- ["gm_showhelp"] = 1,
- ["gm_showteam"] = 2,
- ["gm_showspare1"] = 3,
- ["gm_showspare2"] = 4
-}
-hook.Add("PlayerBindPress", "pray_hook", function( ply, bind, pressed )
- local phn = prayerhooks[bind]
- if phn == nil then return end
- local pap = pray.activeprayers[phn]
- if pap == nil then return end
- pap:Pray()
-end)
-
-return pray
diff --git a/gamemode/inventorysystem/prayers/sh_prayers.lua b/gamemode/inventorysystem/prayers/sh_prayers.lua
deleted file mode 100644
index 9d8ff3b..0000000
--- a/gamemode/inventorysystem/prayers/sh_prayers.lua
+++ /dev/null
@@ -1,69 +0,0 @@
---[[
- prayers must have a "Pray" method,
- a "Name" string,
- a "Description" string
-
-]]
-local reg = nrequire("inventory/inventory.lua")
-local itm = nrequire("item.lua")
-local inv = {}
-if CLIENT then
- inv = nrequire("cl_prayers.lua")
-end
-
-inv.Name = "Prayers"
-inv.track = {}
-function inv:FindPlaceFor(item)
- if item.Pray ~= nil then
- return {#self.track}
- end
- return nil
-end
-function inv:CanFitIn(pos,item)
- return pos[1] == #self.track
-end
-function inv:Put(pos,item)
- self.track[pos[1]] = item
-end
-function inv:Has(a)
- if type(a) == "string" then
- for k,v in pairs(self.track) do
- if v == a then return {k} end
- end
- elseif type(a) == "function" then
- for k,v in pairs(self.track) do
- if a(v) then return {k} end
- end
- end
- return nil
-end
-function inv:Remove(pos)
- for i = 1,pos[1] do
- self.track[i] = self.track[i + 1]
- end
-end
-function inv:Get(pos)
- return self.track[pos[1]]
-end
-function inv:Serialize()
- local ret = {}
- for k,v in pairs(self.track) do
- ret[v.Name] = v:Serialize()
- end
- return util.TableToJSON(ret)
-end
-
-function inv:DeSerialize(str)
- self.track = {}
- local tbl = util.JSONToTable(str)
- tbl = tbl or {}
- local i = 1
- for k,v in pairs(tbl) do
- local this_prayer = itm.GetItemByName(k):DeSerialize(v)
- self:Put({i},this_prayer)
- end
- return self
-end
-
-
-reg.RegisterInventory(inv)