aboutsummaryrefslogtreecommitdiff
path: root/gamemode/inventorysystem/prayers/cl_prayers.lua
diff options
context:
space:
mode:
Diffstat (limited to 'gamemode/inventorysystem/prayers/cl_prayers.lua')
-rw-r--r--gamemode/inventorysystem/prayers/cl_prayers.lua67
1 files changed, 67 insertions, 0 deletions
diff --git a/gamemode/inventorysystem/prayers/cl_prayers.lua b/gamemode/inventorysystem/prayers/cl_prayers.lua
new file mode 100644
index 0000000..aba778e
--- /dev/null
+++ b/gamemode/inventorysystem/prayers/cl_prayers.lua
@@ -0,0 +1,67 @@
+
+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 = self.activeprayers[i]
+ explain:SetText(ap ~= nil and ap.Description or "Select a prayer")
+ 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)
+ for k,v in pairs(self.track) do
+ local rec = vgui.Create("DImageButton",grid)
+ rec:SetText(v.Name)
+ rec:SetSize(w,w)
+ if(v.DoOnPanel) then
+ v:DoOnPanel(rec)
+ end
+ grid:AddItem(rec)
+ end
+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", 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