package ru.dbotthepony.kstarbound.defs.actor.player

import com.google.common.collect.ImmutableList
import com.google.common.collect.ImmutableMap
import ru.dbotthepony.kstarbound.defs.AssetPath
import ru.dbotthepony.kstarbound.defs.IScriptable
import ru.dbotthepony.kstarbound.util.SBPattern
import ru.dbotthepony.kstarbound.json.builder.JsonFactory

@JsonFactory
data class CompanionsConfig(
	override val scripts: ImmutableList<AssetPath>,
	override val scriptDelta: Int,

	val activePodLimit: Int,
	val activeCrewLimit: Int,
	val crewLimit: Int,

	val recruitDescription: SBPattern,

	val crewBenefits: ImmutableMap<String, ImmutableList<String>>,

	val shipUpgradeDiminishingReturns: Double,

	val uniformSlots: ImmutableMap<String, ImmutableList<String>>,
) : IScriptable

