32 lines
777 B
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 {
|
|
|
|
} |