27 lines
724 B
Kotlin
27 lines
724 B
Kotlin
package ru.dbotthepony.kstarbound.defs.item
|
|
|
|
import ru.dbotthepony.kstarbound.io.json.builder.FactoryAdapter
|
|
|
|
interface ILeveledStatusEffect {
|
|
val levelFunction: String
|
|
val stat: String
|
|
val baseMultiplier: Double
|
|
val amount: Double
|
|
}
|
|
|
|
data class LeveledStatusEffect(
|
|
override val levelFunction: String,
|
|
override val stat: String,
|
|
override val baseMultiplier: Double = 1.0,
|
|
override val amount: Double = 0.0,
|
|
) : ILeveledStatusEffect {
|
|
companion object {
|
|
val ADAPTER = FactoryAdapter.Builder(LeveledStatusEffect::class,
|
|
LeveledStatusEffect::levelFunction,
|
|
LeveledStatusEffect::stat,
|
|
LeveledStatusEffect::baseMultiplier,
|
|
LeveledStatusEffect::amount,
|
|
).build()
|
|
}
|
|
}
|