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() } }