Skip to content

Instantly share code, notes, and snippets.

@macalinao
Created July 28, 2016 05:03
Show Gist options
  • Save macalinao/70b347d3ec404bbe8bf5c8d39f068cfd to your computer and use it in GitHub Desktop.
Save macalinao/70b347d3ec404bbe8bf5c8d39f068cfd to your computer and use it in GitHub Desktop.
package ai.legends.athena.aggregates
case class ChampionKDATotals (
assists: Long,
deaths: Long,
kills: Long,
killingSprees: Long,
pentaKills: Long,
quadraKills: Long,
tripleKills: Long,
unrealKills: Long,
largestKillingSpree: Long,
largestMultiKill: Long,
inhibitorKills: Long,
minionsKilled: Long,
towerKills: Long,
neutralMinionsKilled: Long,
neutralMinionsKilledEnemyJungle: Long,
neutralMinionsKilledTeamJungle: Long,
doubleKills: Long
) {
def +(kda: ChampionKDATotals): ChampionKDATotals = {
ChampionKDATotals(
assists + kda.assists,
deaths + kda.deaths,
kills + kda.kills,
killingSprees + kda.killingSprees,
pentaKills + kda.pentaKills,
quadraKills + kda.quadraKills,
tripleKills + kda.tripleKills,
unrealKills + kda.unrealKills,
largestKillingSpree + kda.largestKillingSpree,
largestMultiKill + kda.largestMultiKill,
inhibitorKills + kda.inhibitorKills,
minionsKilled + kda.minionsKilled,
towerKills + kda.towerKills,
neutralMinionsKilled + kda.neutralMinionsKilled,
neutralMinionsKilledEnemyJungle + kda.neutralMinionsKilledEnemyJungle,
neutralMinionsKilledTeamJungle + kda.neutralMinionsKilledTeamJungle,
doubleKills + kda.doubleKills
)
}
def +(kda: ParticipantKDA): ChampionKDATotals = {
ChampionKDATotals(
assists + kda.assists,
deaths + kda.deaths,
kills + kda.kills,
killingSprees + kda.killingSprees,
pentaKills + kda.pentaKills,
quadraKills + kda.quadraKills,
tripleKills + kda.tripleKills,
unrealKills + kda.unrealKills,
largestKillingSpree + kda.largestKillingSpree,
largestMultiKill + kda.largestMultiKill,
inhibitorKills + kda.inhibitorKills,
minionsKilled + kda.minionsKilled,
towerKills + kda.towerKills,
neutralMinionsKilled + kda.neutralMinionsKilled,
neutralMinionsKilledEnemyJungle + kda.neutralMinionsKilledEnemyJungle,
neutralMinionsKilledTeamJungle + kda.neutralMinionsKilledTeamJungle,
doubleKills + kda.doubleKills
)
}
}
case class ParticipantKDA (
assists: Int,
deaths: Int,
kills: Int,
killingSprees: Int,
pentaKills: Int,
quadraKills: Int,
tripleKills: Int,
unrealKills: Int,
largestKillingSpree: Int,
largestMultiKill: Int,
inhibitorKills: Int,
minionsKilled: Int,
towerKills: Int,
neutralMinionsKilled: Int,
neutralMinionsKilledEnemyJungle: Int,
neutralMinionsKilledTeamJungle: Int,
doubleKills: Int
)
object ParticipantKDA {
val fields = classOf[ParticipantKDA].getDeclaredFields.map(_.getName).toList
}
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment