569 lines
18 KiB
Lua
569 lines
18 KiB
Lua
-- COMBAT_LOG_EVENT_UNFILTERED AURA_INIT
|
|
|
|
function(
|
|
states,
|
|
event,
|
|
tstamp,
|
|
message,
|
|
hideCaster,
|
|
srcGUID,
|
|
srcName,
|
|
srcFlags,
|
|
srcRFlags,
|
|
destGUID,
|
|
destName,
|
|
destFlags,
|
|
destRFlags,
|
|
...
|
|
)
|
|
if event == "OPTIONS" then
|
|
local amount1 = Round(UnitHealth("player") / 100 * 25)
|
|
local amount2 = Round(UnitHealth("player") / 100 * 15)
|
|
states[""] = {
|
|
name = "PARRY",
|
|
icon = 644389,
|
|
amount = "",
|
|
percent = "",
|
|
school = "unknown",
|
|
index = 3,
|
|
value = UnitHealthMax("player"),
|
|
total = UnitHealthMax("player"),
|
|
progressType = "static",
|
|
autoHide = true,
|
|
changed = true,
|
|
show = true,
|
|
}
|
|
states[1] = {
|
|
name = "Evil Fire Spell",
|
|
icon = 644389,
|
|
amount = aura_env.format(amount1),
|
|
percent = "[25%]",
|
|
schoolIndex = 4,
|
|
index = 2,
|
|
value = UnitHealth("player") / 100 * 50,
|
|
total = UnitHealthMax("player"),
|
|
additionalProgress = { [1] = { direction = "forward", width = amount1 } },
|
|
progressType = "static",
|
|
autoHide = true,
|
|
changed = true,
|
|
show = true,
|
|
}
|
|
states[2] = {
|
|
name = "Evil Shadow Spell",
|
|
icon = 644389,
|
|
amount = aura_env.format(amount2),
|
|
percent = "[15%]",
|
|
schoolIndex = 32,
|
|
index = 1,
|
|
value = UnitHealth("player") / 100 * 35,
|
|
total = UnitHealthMax("player"),
|
|
additionalProgress = { [1] = { direction = "forward", width = amount2 } },
|
|
progressType = "static",
|
|
autoHide = true,
|
|
changed = true,
|
|
show = true,
|
|
}
|
|
states[3] = {
|
|
name = "Healing",
|
|
icon = 644389,
|
|
amount = aura_env.format(amount2),
|
|
percent = "[15%]",
|
|
schoolIndex = 99,
|
|
index = 1,
|
|
value = UnitHealth("player") / 100 * 35,
|
|
total = UnitHealthMax("player"),
|
|
additionalProgress = { [1] = { direction = "forward", width = amount2 } },
|
|
progressType = "static",
|
|
autoHide = true,
|
|
changed = true,
|
|
show = true,
|
|
}
|
|
local aura_env = aura_env
|
|
C_Timer.After(0.1, function() aura_env.sortAndOffset(true) end)
|
|
return true
|
|
end
|
|
|
|
if event == "COMBAT_LOG_EVENT_UNFILTERED" and destGUID == WeakAuras.myGUID and ... then
|
|
local c = aura_env.config
|
|
if message == "SWING_DAMAGE" and c.swing then
|
|
local amount, overkill, school, resisted, blocked, absorbed, critical, glancing, crushing = ...
|
|
if amount then
|
|
local healthCurrent, healthMax = UnitHealth("player"), UnitHealthMax("player")
|
|
local threshold = amount * 100 / healthMax
|
|
if threshold >= c.threshold then
|
|
local schools = aura_env.spellSchools
|
|
local SC, SCI = 0, 0
|
|
if schools[school] then
|
|
SC, SCI = schools[school][1], schools[school][2]
|
|
end
|
|
local healthPercentLost = string.format("%.1f%%", threshold)
|
|
--formatted health
|
|
local healthAfterHit = overkill > 0 and 0 or healthCurrent - amount
|
|
--formatted amount
|
|
local color = aura_env.schoolColors[school] or "ffffff"
|
|
local prefix = critical and "|cFFFFD100CRIT:|r"
|
|
or glancing and "|cFFFFD100GLANCE:|r"
|
|
or crushing and "|cFFFFD100CRUSH:|r"
|
|
or "|cFFFFD100HIT:|r"
|
|
local Famount = ("%s |cFF%s%s|r|n"):format(prefix, color, aura_env.format(amount))
|
|
--formatted absorb
|
|
local Fabsorbed = absorbed
|
|
and ("|cFFFFD100ABSORBED:|r |cFFFFFFFF%s|r|n"):format(aura_env.format(absorbed))
|
|
or ""
|
|
--formatted block
|
|
local Fblocked = blocked
|
|
and ("|cFFFFD100BLOCKED:|r |cFFFFFFFF%s|r|n"):format(aura_env.format(blocked))
|
|
or ""
|
|
--formatted resist
|
|
local Fresisted = resisted
|
|
and ("|cFFFFD100RESISTED:|r |cFFFFFFFF%s|r|n"):format(aura_env.format(resisted))
|
|
or ""
|
|
--formatted overkill
|
|
local Foverkill = overkill > 0
|
|
and ("|cFFFFD100OVERKILL:|r |cFFFFFFFF%s|r"):format(aura_env.format(overkill))
|
|
or ""
|
|
local Ftime = ('|cFFFFD100"%s"|r'):format(date("%H:%M:%S"))
|
|
local Fname = srcName and ("|cFFFFFFFF%s|r"):format(srcName) or "|cFFbbbbbbUNKNOWN|r"
|
|
local Finfo = ("|cFFFFFFFFMelee hit|r [%s]"):format(SC == 0 and "unknown" or SC)
|
|
local Fdamage = ("|cFF00FF00%s|r > |cFF00FF00%s|r (%s)"):format(
|
|
aura_env.format(healthCurrent),
|
|
aura_env.format(healthAfterHit),
|
|
healthPercentLost
|
|
)
|
|
local Fdetails = ("%s%s%s%s%s"):format(Famount, Fabsorbed, Fblocked, Fresisted, Foverkill)
|
|
local tooltip = ("%s %s|n|n%s|n%s|n|n%s"):format(Ftime, Fname, Finfo, Fdamage, Fdetails)
|
|
local new = {
|
|
name = "",
|
|
icon = 135274,
|
|
spellid = 0,
|
|
amount = aura_env.format(amount),
|
|
percent = ("[%s]"):format(healthPercentLost),
|
|
school = SC,
|
|
schoolIndex = SCI,
|
|
index = 0,
|
|
value = healthCurrent or 100,
|
|
total = healthMax or 100,
|
|
death = overkill > 0,
|
|
tooltip = tooltip,
|
|
duration = c.duration,
|
|
expirationTime = GetTime() + c.duration,
|
|
additionalProgress = { [1] = { direction = "backward", width = amount } },
|
|
progressType = "static",
|
|
autoHide = true,
|
|
show = true,
|
|
changed = true,
|
|
}
|
|
tinsert(states, new)
|
|
for k, v in pairs(states) do
|
|
v.index = v.index + 1
|
|
v.changed = true
|
|
if v.index > c.limit then --clone limit
|
|
v.show = false
|
|
end
|
|
end
|
|
return true
|
|
end
|
|
end
|
|
elseif message == "SWING_MISSED" and c.missType then
|
|
local missType, isOffHand, amount = ...
|
|
if amount and amount >= c.missThreshold or not amount then
|
|
local healthCurrent, healthMax = UnitHealth("player"), UnitHealthMax("player")
|
|
local Famount = amount and ("|cFFFFD100HIT:|r |cFFFFFFFF%s|r"):format(aura_env.format(amount)) or ""
|
|
local Ftime = ('|cFFFFD100"%s"|r'):format(date("%H:%M:%S"))
|
|
local Fname = srcName and ("|cFFFFFFFF%s|r"):format(srcName) or "|cFFbbbbbbUNKNOWN|r"
|
|
local tooltip = ("%s %s|n|n|cFFFFFFFFMelee hit|r |cFFFF0000%s|r|n%s"):format(
|
|
Ftime,
|
|
Fname,
|
|
missType,
|
|
Famount
|
|
)
|
|
local new = {
|
|
name = missType,
|
|
icon = 135274,
|
|
spellid = 0,
|
|
amount = amount and aura_env.format(amount) or "",
|
|
percent = "",
|
|
school = "unknown",
|
|
schoolIndex = 0,
|
|
index = 0,
|
|
value = healthCurrent or 100,
|
|
total = healthMax or 100,
|
|
tooltip = tooltip,
|
|
duration = c.duration,
|
|
expirationTime = GetTime() + c.duration,
|
|
additionalProgress = { [1] = {} },
|
|
progressType = "static",
|
|
autoHide = true,
|
|
show = true,
|
|
changed = true,
|
|
}
|
|
|
|
tinsert(states, new)
|
|
for k, v in pairs(states) do
|
|
v.index = v.index + 1
|
|
v.changed = true
|
|
if v.index > c.limit then --clone limit
|
|
v.show = false
|
|
end
|
|
end
|
|
|
|
return true
|
|
end
|
|
elseif message == "ENVIRONMENTAL_DAMAGE" and c.env then --enviromental
|
|
local envType, amount, overkill, school, resisted, blocked, absorbed, critical, glancing, crushing = ...
|
|
if amount then
|
|
local healthCurrent, healthMax = UnitHealth("player"), UnitHealthMax("player")
|
|
local threshold = amount * 100 / healthMax
|
|
if threshold >= c.threshold then
|
|
local schools = aura_env.spellSchools
|
|
local SC, SCI = 0, 0
|
|
if schools[school] then
|
|
SC, SCI = schools[school][1], schools[school][2]
|
|
end
|
|
|
|
local healthPercentLost = string.format("%.1f%%", threshold)
|
|
|
|
--formatted health
|
|
local healthAfterHit = overkill > 0 and 0 or healthCurrent - amount
|
|
--formatted amount
|
|
local color = aura_env.schoolColors[school] or "ffffff"
|
|
local prefix = critical and "|cFFFFD100CRIT:|r"
|
|
or glancing and "|cFFFFD100GLANCE:|r"
|
|
or crushing and "|cFFFFD100CRUSH:|r"
|
|
or "|cFFFFD100HIT:|r"
|
|
|
|
local Famount = ("%s |cFF%s%s|r|n"):format(prefix, color, aura_env.format(amount))
|
|
--formatted absorb
|
|
local Fabsorbed = absorbed
|
|
and ("|cFFFFD100ABSORBED:|r |cFFFFFFFF%s|r|n"):format(aura_env.format(absorbed))
|
|
or ""
|
|
--formatted block
|
|
local Fblocked = blocked
|
|
and ("|cFFFFD100BLOCKED:|r |cFFFFFFFF%s|r|n"):format(aura_env.format(blocked))
|
|
or ""
|
|
--formatted resist
|
|
local Fresisted = resisted
|
|
and ("|cFFFFD100RESISTED:|r |cFFFFFFFF%s|r|n"):format(aura_env.format(resisted))
|
|
or ""
|
|
--formatted overkill
|
|
local Foverkill = overkill > 0
|
|
and ("|cFFFFD100OVERKILL:|r |cFFFFFFFF%s|r"):format(aura_env.format(overkill))
|
|
or ""
|
|
|
|
local Ftime = ('|cFFFFD100"%s"|r'):format(date("%H:%M:%S"))
|
|
local Fname = srcName and ("|cFFFFFFFF%s|r"):format(srcName) or "|cFFbbbbbbUNKNOWN|r"
|
|
local Finfo = ("|cFFFFFFFFEnvironmental|r [%s]"):format(SC == 0 and "unknown" or SC)
|
|
local Fdamage = ("|cFF00FF00%s|r > |cFF00FF00%s|r (%s)"):format(
|
|
aura_env.format(healthCurrent),
|
|
aura_env.format(healthAfterHit),
|
|
healthPercentLost
|
|
)
|
|
local Fdetails = ("%s%s%s%s%s"):format(Famount, Fabsorbed, Fblocked, Fresisted, Foverkill)
|
|
local tooltip = ("%s %s|n|n%s|n%s|n|n%s"):format(Ftime, Fname, Finfo, Fdamage, Fdetails)
|
|
|
|
local eTypes = aura_env.envTypes
|
|
|
|
local new = {
|
|
name = envType,
|
|
icon = eTypes[envType] or 132996,
|
|
spellid = 0,
|
|
amount = aura_env.format(amount),
|
|
percent = ("[%s]"):format(healthPercentLost),
|
|
school = SC,
|
|
schoolIndex = SCI,
|
|
index = 0,
|
|
value = healthCurrent or 100,
|
|
total = healthMax or 100,
|
|
death = overkill > 0,
|
|
tooltip = tooltip,
|
|
duration = c.duration,
|
|
expirationTime = GetTime() + c.duration,
|
|
additionalProgress = { [1] = { direction = "forward", width = amount } },
|
|
progressType = "static",
|
|
autoHide = true,
|
|
show = true,
|
|
changed = true,
|
|
}
|
|
|
|
tinsert(states, new)
|
|
for k, v in pairs(states) do
|
|
v.index = v.index + 1
|
|
v.changed = true
|
|
if v.index > c.limit then --clone limit
|
|
v.show = false
|
|
end
|
|
end
|
|
return true
|
|
end
|
|
end
|
|
elseif message == "ENVIRONMENTAL_MISSED" and c.missType then
|
|
local envType, missType, isOffHand, amount = ...
|
|
if amount and amount >= c.missThreshold or not amount then
|
|
local healthCurrent, healthMax = UnitHealth("player"), UnitHealthMax("player")
|
|
local Famount = amount and ("|cFFFFD100HIT:|r |cFFFFFFFF%s|r"):format(aura_env.format(amount)) or ""
|
|
|
|
local Ftime = ('|cFFFFD100"%s"|r'):format(date("%H:%M:%S"))
|
|
local Fname = envType and ("|cFFFFFFFF%s|r"):format(envType) or "|cFFbbbbbbUNKNOWN|r"
|
|
local tooltip = ("%s %s|n|n|cFFFFFFFFEnvironmental|r |cFFFF0000%s|r|n%s"):format(
|
|
Ftime,
|
|
Fname,
|
|
missType,
|
|
Famount
|
|
)
|
|
|
|
local eTypes = aura_env.envTypes
|
|
|
|
local new = {
|
|
name = missType,
|
|
icon = eTypes[envType] or 132996,
|
|
spellid = 0,
|
|
amount = amount and aura_env.format(amount) or "",
|
|
percent = "",
|
|
school = "unknown",
|
|
schoolIndex = 0,
|
|
index = 0,
|
|
value = healthCurrent or 100,
|
|
total = healthMax or 100,
|
|
tooltip = tooltip,
|
|
duration = c.duration,
|
|
expirationTime = GetTime() + c.duration,
|
|
additionalProgress = { [1] = {} },
|
|
progressType = "static",
|
|
autoHide = true,
|
|
show = true,
|
|
changed = true,
|
|
}
|
|
|
|
tinsert(states, new)
|
|
for k, v in pairs(states) do
|
|
v.index = v.index + 1
|
|
v.changed = true
|
|
if v.index > c.limit then --clone limit
|
|
v.show = false
|
|
end
|
|
end
|
|
return true
|
|
end
|
|
elseif string.find(message, "_DAMAGE") and c.other then
|
|
--SPELL_DAMAGE SPELL_PERIODIC_DAMAGE RANGE_DAMAGE
|
|
local spellid, spellName, spellSchool, amount, overkill, school, resisted, blocked, absorbed, critical, glancing, crushing =
|
|
...
|
|
if (c.stagger and spellid ~= 124255 or not c.stagger) and amount then
|
|
local healthCurrent, healthMax = UnitHealth("player"), UnitHealthMax("player")
|
|
local threshold = amount * 100 / healthMax
|
|
if threshold >= c.threshold then
|
|
local schools = aura_env.spellSchools
|
|
local SC, SCI = 0, 0
|
|
if schools[school] then
|
|
SC, SCI = schools[school][1], schools[school][2]
|
|
end
|
|
|
|
local healthCurrent, healthMax = UnitHealth("player"), UnitHealthMax("player")
|
|
local healthPercentLost = string.format("%.1f%%", threshold)
|
|
|
|
--formatted health
|
|
local healthAfterHit = overkill > 0 and 0 or healthCurrent - amount
|
|
--formatted amount
|
|
local color = aura_env.schoolColors[school] or "ffffff"
|
|
local prefix = critical and "|cFFFFD100CRIT:|r"
|
|
or glancing and "|cFFFFD100GLANCE:|r"
|
|
or crushing and "|cFFFFD100CRUSH:|r"
|
|
or "|cFFFFD100HIT:|r"
|
|
|
|
local Famount = ("%s |cFF%s%s|r|n"):format(prefix, color, aura_env.format(amount))
|
|
--formatted absorb
|
|
local Fabsorbed = absorbed
|
|
and ("|cFFFFD100ABSORBED:|r |cFFFFFFFF%s|r|n"):format(aura_env.format(absorbed))
|
|
or ""
|
|
--formatted block
|
|
local Fblocked = blocked
|
|
and ("|cFFFFD100BLOCKED:|r |cFFFFFFFF%s|r|n"):format(aura_env.format(blocked))
|
|
or ""
|
|
--formatted resist
|
|
local Fresisted = resisted
|
|
and ("|cFFFFD100RESISTED:|r |cFFFFFFFF%s|r|n"):format(aura_env.format(resisted))
|
|
or ""
|
|
--formatted overkill
|
|
local Foverkill = overkill > 0
|
|
and ("|cFFFFD100OVERKILL:|r |cFFFFFFFF%s|r"):format(aura_env.format(overkill))
|
|
or ""
|
|
|
|
local Ftime = ('|cFFFFD100"%s"|r'):format(date("%H:%M:%S"))
|
|
local Fname = srcName and ("|cFFFFFFFF%s|r"):format(srcName) or "|cFFbbbbbbUNKNOWN|r"
|
|
local Finfo = ("|cFFFFFFFF%s|r [|cFF%s%s|r]"):format(
|
|
spellName or "unknown",
|
|
color,
|
|
SC == 0 and "unknown" or SC
|
|
)
|
|
local Fdamage = ("|cFF00FF00%s|r > |cFF00FF00%s|r (%s)"):format(
|
|
aura_env.format(healthCurrent),
|
|
aura_env.format(healthAfterHit),
|
|
healthPercentLost
|
|
)
|
|
local Fdetails = ("%s%s%s%s%s"):format(Famount, Fabsorbed, Fblocked, Fresisted, Foverkill)
|
|
local tooltip = ("%s %s|n|n%s|nspellID: |cFF00FFFF%s|r|n|n%s|n|n%s"):format(
|
|
Ftime,
|
|
Fname,
|
|
Finfo,
|
|
spellid or "",
|
|
Fdamage,
|
|
Fdetails
|
|
)
|
|
|
|
local new = {
|
|
name = spellName,
|
|
icon = GetSpellTexture(spellid),
|
|
spellid = spellid,
|
|
amount = aura_env.format(amount),
|
|
percent = ("[%s]"):format(healthPercentLost),
|
|
school = SC,
|
|
schoolIndex = SCI,
|
|
index = 0,
|
|
value = healthCurrent or 100,
|
|
total = healthMax or 100,
|
|
death = overkill > 0,
|
|
tooltip = tooltip,
|
|
duration = c.duration,
|
|
expirationTime = GetTime() + c.duration,
|
|
additionalProgress = { [1] = { direction = "forward", width = amount } },
|
|
progressType = "static",
|
|
autoHide = true,
|
|
show = true,
|
|
changed = true,
|
|
}
|
|
|
|
tinsert(states, new)
|
|
for k, v in pairs(states) do
|
|
v.index = v.index + 1
|
|
v.changed = true
|
|
if v.index > c.limit then --clone limit
|
|
v.show = false
|
|
end
|
|
end
|
|
return true
|
|
end
|
|
end
|
|
elseif string.find(message, "_HEAL") and c.other then
|
|
local spellid, spellName, spellSchool, amount, overkill, school, resisted, blocked, absorbed, critical, glancing, crushing =
|
|
...
|
|
if c.healing and amount then
|
|
local healthCurrent, healthMax = UnitHealth("player"), UnitHealthMax("player")
|
|
local threshold = amount * 100 / healthMax
|
|
if threshold >= c.hthreshold then
|
|
local SC, SCI = 0, 99
|
|
local healthCurrent, healthMax = UnitHealth("player"), UnitHealthMax("player")
|
|
local healthPercentLost = string.format("%.1f%%", threshold)
|
|
local healthAfterHit = min(healthMax, healthCurrent + amount)
|
|
local color = aura_env.schoolColors[school] or "ffffff"
|
|
local prefix = critical and "|cFFFFD100CRIT:|r" or "|cFFFFD100HIT:|r"
|
|
local Famount = ("%s |cFF%s%s|r|n"):format(prefix, color, aura_env.format(amount))
|
|
local Ftime = ('|cFFFFD100"%s"|r'):format(date("%H:%M:%S"))
|
|
local Fname = srcName and ("|cFFFFFFFF%s|r"):format(srcName) or "|cFFbbbbbbUNKNOWN|r"
|
|
local Finfo = ("|cFFFFFFFF%s|r [|cFF%s%s|r]"):format(
|
|
spellName or "unknown",
|
|
color,
|
|
SC == 0 and "" or SC
|
|
)
|
|
local Fdamage = ("|cFF00FF00%s|r > |cFF00FF00%s|r (%s)"):format(
|
|
aura_env.format(healthCurrent),
|
|
aura_env.format(healthAfterHit),
|
|
healthPercentLost
|
|
)
|
|
local Fdetails = ("%s"):format(Famount)
|
|
local tooltip = ("%s %s|n|n%s|nspellID: |cFF00FFFF%s|r|n|n%s|n|n%s"):format(
|
|
Ftime,
|
|
Fname,
|
|
Finfo,
|
|
spellid or "",
|
|
Fdamage,
|
|
Fdetails
|
|
)
|
|
|
|
local new = {
|
|
name = spellName,
|
|
icon = GetSpellTexture(spellid),
|
|
spellid = spellid,
|
|
amount = aura_env.format(amount),
|
|
percent = ("[%s]"):format(healthPercentLost),
|
|
school = SC,
|
|
schoolIndex = SCI,
|
|
index = 0,
|
|
value = healthCurrent or 100,
|
|
total = healthMax or 100,
|
|
death = overkill > 0,
|
|
tooltip = tooltip,
|
|
duration = c.duration,
|
|
expirationTime = GetTime() + c.duration,
|
|
additionalProgress = { [1] = { direction = "forward", width = amount } },
|
|
progressType = "static",
|
|
autoHide = true,
|
|
show = true,
|
|
changed = true,
|
|
}
|
|
|
|
tinsert(states, new)
|
|
for k, v in pairs(states) do
|
|
v.index = v.index + 1
|
|
v.changed = true
|
|
if v.index > c.limit then --clone limit
|
|
v.show = false
|
|
end
|
|
end
|
|
return true
|
|
end
|
|
end
|
|
elseif string.find(message, "_MISSED") and c.missType then
|
|
--SPELL_MISSED SPELL_PERIODIC_MISSED RANGE_MISSED
|
|
local spellid, spellName, school, missType, isOffHand, amount = ...
|
|
if c.stagger and spellid ~= 124255 or not c.stagger then
|
|
if amount and amount >= c.missThreshold or not amount then
|
|
local healthCurrent, healthMax = UnitHealth("player"), UnitHealthMax("player")
|
|
local Famount = amount and ("|cFFFFD100HIT:|r |cFFFFFFFF%s|r"):format(aura_env.format(amount)) or ""
|
|
|
|
local Ftime = ('|cFFFFD100"%s"|r'):format(date("%H:%M:%S"))
|
|
local Fname = srcName and ("|cFFFFFFFF%s|r"):format(srcName) or "|cFFbbbbbbUNKNOWN|r"
|
|
local tooltip = ("%s %s|n|n|cFFFFFFFF%s|r |cFFFF0000%s|r|nspellID: |cFF00FFFF%s|r|n%s"):format(
|
|
Ftime,
|
|
Fname,
|
|
spellName,
|
|
missType,
|
|
spellid,
|
|
Famount
|
|
)
|
|
|
|
local new = {
|
|
name = missType,
|
|
icon = GetSpellTexture(spellid),
|
|
spellid = spellid,
|
|
amount = amount and aura_env.format(amount) or "",
|
|
percent = "",
|
|
school = "unknown",
|
|
schoolIndex = 0,
|
|
index = 0,
|
|
value = healthCurrent or 100,
|
|
total = healthMax or 100,
|
|
tooltip = tooltip,
|
|
duration = c.duration,
|
|
expirationTime = GetTime() + c.duration,
|
|
additionalProgress = { [1] = {} },
|
|
progressType = "static",
|
|
autoHide = true,
|
|
show = true,
|
|
changed = true,
|
|
}
|
|
|
|
tinsert(states, new)
|
|
for k, v in pairs(states) do
|
|
v.index = v.index + 1
|
|
v.changed = true
|
|
if v.index > c.limit then --clone limit
|
|
v.show = false
|
|
end
|
|
end
|
|
return true
|
|
end
|
|
end
|
|
end
|
|
end
|
|
end
|