Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- local totalDamageOut, totalDamageIn, totalHealing = 0.1, 0.1, 0.1 -- avoid dividing by zero
- local scores = {}
- local info = globalBosses[bossId]
- local damageMap = creature:getDamageMap()
- for guid, stats in pairs(info) do
- local player = Player(stats.playerId)
- local part = damageMap[stats.playerId]
- local damageOut, damageIn, healing = (stats.damageOut or 0) + (part and part.total or 0), stats.damageIn or 0, stats.healing or 0
- totalDamageOut = totalDamageOut + damageOut
- totalDamageIn = totalDamageIn + damageIn
- totalHealing = totalHealing + healing
- table.insert(scores, {
- player = player,
- guid = guid,
- damageOut = damageOut,
- damageIn = damageIn,
- healing = healing,
- })
- end
- local participants = 0
- for _, con in ipairs(scores) do
- local score = (con.damageOut / totalDamageOut) + (con.damageIn / totalDamageIn) + (con.healing / totalHealing)
- con.score = score / 3 -- normalize to 0-1
- if score ~= 0 then
- participants = participants + 1
- end
- end
- table.sort(scores, function(a, b) return a.score > b.score end)
- local expectedScore = 1 / participants
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement