View difference between Paste ID: kdnZy8DQ and PU6ATezf
SHOW: | | - or go back to the newest paste.
1
mmp.defs.add = function()
2
	local def = gmcp.Char.Defences.Add.name
3
	if not mmp.defs.current[def] then
4
		mmp.defs.current[def] = true
5
		raiseEvent("mmp got def", def)
6
	end
7
end
8
9
10
mmp.defs.remove = function()
11
	local def = ""
12
	for _, def in ipairs(gmcp.Char.Defences.Remove) do
13
		mmp.defs.current[def] = nil
14
		raiseEvent("mmp lost def", def)
15
	end
16
end
17
18
19
mmp.defs.list = function()
20
  	local newDefs = {}
21
	local addedDefs, lostDefs = {}, {}
22
	for _, v in ipairs(gmcp.Char.Defences.List) do
23
		newDefs[v.name] = true
24
		if not mmp.defs.current[v.name] then
25
			addedDefs[#addedDefs + 1] = v.name
26
		end
27
	end
28
	for def in pairs(mmp.defs.current) do
29
		if not newDefs[def] then
30
			lostDefs[#lostDefs + 1] = def
31
		end
32
	end
33
	mmp.defs.current = newDefs
34-
	for def in pairs(lostDefs) do
34+
	for _,def in pairs(lostDefs) do
35
		raiseEvent("mmp lost def", def)
36
	end
37-
	for def in pairs(addedDefs) do
37+
	for _,def in ipairs(addedDefs) do
38
		raiseEvent("mmp got def", def)
39
	end
40
end
41
42
43
-- EVENT HANDLERS
44
registerAnonymousEventHandler("gmcp.Char.Defences.Add", "mmp.defs.add")
45
registerAnonymousEventHandler("gmcp.Char.Defences.Remove", "mmp.defs.remove")
46
registerAnonymousEventHandler("gmcp.Char.Defences.List", "mmp.defs.list")