fakemon/FakeMon/src/fmon/stat/Secondary.scala

32 lines
777 B
Scala

package fmon.stat
abstract class Secondary {
val chance : Int
val boosts : Map[Stat, Int]
val status : StatusTemplate
val volatile: StatusTemplate
//val onHit :
// val self
}
case class SecondaryToken(
val chance : Int,
val boosts : Map[String, Int],
val status : String,
val volatileStatus: String,
val onHit : String
) {
def instantiate() : Secondary = {
val self = this
new Secondary {
val chance = self.chance
val boosts = if (self.boosts != null) self.boosts.map{case (s, i) => (Statistic(s), i)} else Map()
val status = if (self.status != null) Status(self.status) else null
val volatile = if (self.volatileStatus != null) Status(self.volatileStatus) else null
}
}
}
object Secondary {
}