aboutsummaryrefslogtreecommitdiff
path: root/gamemode/itemsystem/loaditems.lua
blob: a593e0dd8e2686e774e151d8eccffa513a8b8a40 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
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