aboutsummaryrefslogtreecommitdiff
path: root/gamemode/itemsystem/loaditems.lua
diff options
context:
space:
mode:
authorApickx <Apickx@cogarr.org>2015-12-28 19:10:44 -0500
committerApickx <Apickx@cogarr.org>2015-12-28 19:10:44 -0500
commit5c4ebc932d8c02522802c842d43d863d89aca162 (patch)
tree6be7ad664bdf060127e6df6baa72beaf508aa149 /gamemode/itemsystem/loaditems.lua
downloadwintersurvival2-5c4ebc932d8c02522802c842d43d863d89aca162.tar.gz
wintersurvival2-5c4ebc932d8c02522802c842d43d863d89aca162.tar.bz2
wintersurvival2-5c4ebc932d8c02522802c842d43d863d89aca162.zip
Initial commit
Diffstat (limited to 'gamemode/itemsystem/loaditems.lua')
-rw-r--r--gamemode/itemsystem/loaditems.lua83
1 files changed, 83 insertions, 0 deletions
diff --git a/gamemode/itemsystem/loaditems.lua b/gamemode/itemsystem/loaditems.lua
new file mode 100644
index 0000000..a593e0d
--- /dev/null
+++ b/gamemode/itemsystem/loaditems.lua
@@ -0,0 +1,83 @@
+local Folder = GM.Folder:gsub("gamemodes/","").."/gamemode/itemsystem/items"
+local insert = table.insert
+
+function GM:LoadItems()
+ local Items = file.Find(Folder.."/*.lua","LUA")
+ local BaseItem = {}
+
+ GAMEMODE.Items = {}
+ GAMEMODE.Recipes = {}
+
+ ITEM = {}
+
+ AddCSLuaFile(Folder.."/base.lua")
+ include(Folder.."/base.lua")
+
+ BaseItem = table.Copy(ITEM)
+
+ for k,v in pairs(Items) do
+ if (v != "base.lua") then
+ AddCSLuaFile(Folder.."/"..v)
+ include(Folder.."/"..v)
+
+ insert(GAMEMODE.Items,ITEM)
+ if (ITEM.Recipe) then insert(GAMEMODE.Recipes,ITEM) end
+
+ ITEM = table.Copy(BaseItem)
+
+ end
+ end
+end
+
+hook.Add("Initialize","LoadItems",function()
+ local Items = file.Find(Folder.."/*.lua","LUA")
+ local BaseItem = {}
+
+ GAMEMODE.Items = {}
+ GAMEMODE.Recipes = {}
+
+ ITEM = {}
+
+ AddCSLuaFile(Folder.."/base.lua")
+ include(Folder.."/base.lua")
+
+ BaseItem = table.Copy(ITEM)
+
+ for k,v in pairs(Items) do
+ if (v != "base.lua") then
+ AddCSLuaFile(Folder.."/"..v)
+ include(Folder.."/"..v)
+
+ insert(GAMEMODE.Items,ITEM)
+ if (ITEM.Recipe) then insert(GAMEMODE.Recipes,ITEM) end
+
+ ITEM = table.Copy(BaseItem)
+
+ end
+ end
+end)
+
+function GetItemByName(name)
+ for k,v in pairs( GAMEMODE.Items ) do
+ if (v.Name == name) then return v end
+ end
+
+ return nil
+end
+
+function GetRecipeForItem(name)
+ for k,v in pairs( GAMEMODE.Recipes ) do
+ if (v.Name == name) then return v.Recipe,v end
+ end
+
+ return nil
+end
+
+function GetItemsByClass(class)
+ local Dat = {}
+ for k,v in pairs( GAMEMODE.Items ) do
+ if (v.Class == class) then table.insert(Dat,v) end
+ end
+
+ return Dat
+end