From 5c4ebc932d8c02522802c842d43d863d89aca162 Mon Sep 17 00:00:00 2001 From: Apickx Date: Mon, 28 Dec 2015 19:10:44 -0500 Subject: Initial commit --- gamemode/itemsystem/loaditems.lua | 83 +++++++++++++++++++++++++++++++++++++++ 1 file changed, 83 insertions(+) create mode 100644 gamemode/itemsystem/loaditems.lua (limited to 'gamemode/itemsystem/loaditems.lua') 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 -- cgit v1.2.3-70-g09d2