package com.dowstats.data.dto.controllers

import com.dowstats.data.dto.controllers.ability.AbilityShortDto
import com.dowstats.data.dto.controllers.research.ResearchShortDto


data class SergeantDto(
    val id: Long?,
    val armorType: ArmorTypeDto?,
    val armorType2: ArmorTypeDto?,
    val name: String?,
    val description: String?,
    val filename: String,
    val buildCostRequisition: Double?,
    val buildCostPower: Double?,
    val buildCostPopulation: Double?,
    val buildCostFaith: Double?,
    val buildCostSouls: Double?,
    val buildCostTime: Double?,
    val faithIncome: Double?,
    val powerIncome: Double?,
    val requisitionIncome: Double?,
    val mobValue: Double?,
    val health: Int?,
    val armour: Double?,
    val healthRegeneration: Double?,
    val moraleDeathPenalty: Int?,
    val moraleIncomeMax: Double?,
    val moraleIncomeRate: Double?,
    val mass: Int?,
    val upTime: Double?,
    val sightRadius: Int?,
    val detectRadius: Int?,
    val icon: String?,
    val deathExplosions: Set<DeathExplosionDto>,
    val weapons: List<WeaponSlotDto>?,
    val abilities: Set<AbilityShortDto>?,
    val affectedResearches: Set<ResearchShortDto>,
    val modifiers: List<ModifierDto>,
    var affectedData: AffectedDataDto,
    val requirements: RequirementDto?,
    val hotkey: String?,
)
