From 85b92e122cdcf6879e1c7950c8015ecb2a0675e4 Mon Sep 17 00:00:00 2001 From: Alexander Pickering Date: Wed, 20 Jan 2016 22:31:24 -0500 Subject: Started on spell minigames --- gamemode/hud/draw_spell.lua | 81 +++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 81 insertions(+) create mode 100644 gamemode/hud/draw_spell.lua (limited to 'gamemode/hud/draw_spell.lua') diff --git a/gamemode/hud/draw_spell.lua b/gamemode/hud/draw_spell.lua new file mode 100644 index 0000000..c1879ef --- /dev/null +++ b/gamemode/hud/draw_spell.lua @@ -0,0 +1,81 @@ +CASTING_SPELL = nil + +--AddLUACSFolder("spellminigames") + +--A table of spells to functions? +Spells = {} +--[[ + ["fireball"] = { + ["minigame"] = connectthedots, + ["interupt"] = connectextradots, + ["difficulty"] = 1 + } +}]]-- + +function loadgames() + GAMEMODE.minigames = {} + local Folder = GAMEMODE.Folder:gsub("gamemodes/","").."/gamemode/hud/" + print("WS2A:Looking for minigames in:" .. Folder) + local games = file.Find(Folder.."*","LUA") + local game = {} + print("WS2A:Loading " .. #(games) .. " minigames") + for k,v in pairs(games) do + print(k) + print(v) + --[[ + if (v != "base.lua") then + AddCSLuaFile(Folder.."/"..v) + include(Folder.."/"..v) + if((not game.Name) or (not game.minigame) or (not game.interupt)) then + print("WS2A:Error loading " .. Folder .. "/" .. v .. "One or more of the are missing: Name, minigame, interupt") + continue + else + print("WS2A:Loaded " .. Folder .. "/" .. v) + end + + table.insert(GAMEMODE.Spells,{ + Spell.Name + }) + + NPC = table.Copy(BaseItem) + + end + ]]-- + end +end + +hook.Add("Initialize","Loadspells",function() + loadgames() +end) + +concommand.Add("reloadgames",function(ply,cmd,args) + loadgames() +end) + +function StartMinigame(spell) + print("starting " .. spell) + if not spell then return end + --If we're already casting, and are told to cast again do someting. + if CASTING_SPELL != nil then + CASTING_SPELL["interupt"]() + return + end + + if spells[spell] then + CASTING_SPELL = spells[spell] + spells[spell]["minigame"](spells[spell]["difficulty"]) + else + print("Could not find spell " .. spell) + end +end + +function DrawSpellOverlay() + if(CASTING_SPELL) then + CASTING_SPELL["minigame"]() + end +end + +concommand.Add("startminigame",function(ply,cmd,args) + print("Starting " .. args[1]) + StartMinigame(args[1]) +end) -- cgit v1.2.3-70-g09d2