Advertisement
Guest User

Untitled

a guest
Feb 22nd, 2018
66
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
  1. mmp.defs = {
  2.   current = {}
  3. }
  4. mmp.defs.add = function()
  5.     local def = gmcp.Char.Defences.Add.name
  6.     if not mmp.defs.current[def] then
  7.         mmp.defs.current[def] = true
  8.         raiseEvent("mmp got def", def)
  9.     end
  10. end
  11.  
  12.  
  13. mmp.defs.remove = function()
  14.     for _, def in ipairs(gmcp.Char.Defences.Remove) do
  15.         mmp.defs.current[def] = nil
  16.         raiseEvent("mmp lost def", def)
  17.     end
  18. end
  19.  
  20.  
  21. mmp.defs.list = function()
  22.     local newDefs = {}
  23.     local addedDefs, lostDefs = {}, {}
  24.     for _, v in ipairs(gmcp.Char.Defences.List) do
  25.         newDefs[v.name] = true
  26.         if not mmp.defs.current[v.name] then
  27.             addedDefs[#addedDefs + 1] = v.name
  28.         end
  29.     end
  30.     for def in pairs(mmp.defs.current) do
  31.         if not newDefs[def] then
  32.             lostDefs[#lostDefs + 1] = def
  33.         end
  34.     end
  35.     mmp.defs.current = newDefs
  36.     for _,def in pairs(lostDefs) do
  37.         raiseEvent("mmp lost def", def)
  38.     end
  39.     for _,def in ipairs(addedDefs) do
  40.         raiseEvent("mmp got def", def)
  41.     end
  42. end
  43.  
  44.  
  45. -- EVENT HANDLERS
  46. registerAnonymousEventHandler("gmcp.Char.Defences.Add", "mmp.defs.add")
  47. registerAnonymousEventHandler("gmcp.Char.Defences.Remove", "mmp.defs.remove")
  48. registerAnonymousEventHandler("gmcp.Char.Defences.List", "mmp.defs.list")
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement