Skip to content

Instantly share code, notes, and snippets.

@demonnic
Created July 26, 2018 12:33
Show Gist options
  • Save demonnic/df00a68b418c9d8d980ebe07e82b855f to your computer and use it in GitHub Desktop.
Save demonnic/df00a68b418c9d8d980ebe07e82b855f to your computer and use it in GitHub Desktop.
--Given the following table of defense for Normal mode
--And Beastmode, when you switch between them make sure
--The current defense list matches the intended list
defenses = defenses or {}
defenses.currentMode = defenses.currentMode or "None"
defenses.normal = defenses.normal or { "Antibodies", "sunscale", "shroud" }
defenses.beast = defense.beast or { "Transmission", "shroud", "poisonspit" }
defenses.current = defenses.current or {}
defenses.toRaise = defenses.toRaise or {}
defenses.toLower = defenses.toLower or {}
-- This function you should call when you want to change defense modes, it will populate defenses.toRaise and defenses.toLower
function defenses:switch(mode)
for _,defense in ipairs(defenses[mode]) do
if not table.contains(defenses.current, defense) then
table.insert(defenses.toRaise, defense)
end
end
for _,defense in ipairs(defenses.current) do
if not table.contains(defenses[mode], defense) then
table.insert(defenses.toLower, defense)
end
end
end
-- You will then want to run the defenses.toRaise and defenses.toLower tables through however you add your defenses currently
-- dunno how you handle your queueing
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment