package com.dowstats.data.dto.controllers.building

import com.dowstats.data.dto.controllers.*
import com.dowstats.data.dto.controllers.ability.AbilityShortDto
import com.dowstats.data.dto.controllers.research.ResearchShortDto
import com.dowstats.data.entities.ability.Ability

data class BuildingFullDto(
    var id: Long?,
    var race: RaceDto?,
    var armorType: ArmorTypeDto?,
    var armorType2: ArmorTypeDto?,
    var name: String?,
    var description: String?,
    var filename: String?,
    var buildCostRequisition: Double?,
    var buildCostPower: Double?,
    var buildCostPopulation: Double?,
    var buildCostFaith: Double?,
    var buildCostSouls: Double?,
    var buildCostTime: Double?,
    var faithIncome: Double?,
    var powerIncome: Double?,
    var requisitionIncome: Double?,
    var health: Int?,
    val armour: Double?,
    var healthRegeneration: Double?,
    var sightRadius: Int?,
    var detectRadius: Int?,
    var repairMax: Int?,
    var icon: String?,
    var modId: Long?,
    val deathExplosions: Set<DeathExplosionDto>,
    var addons: List<BuildingAddonDto>?,
    val abilities: Set<AbilityShortDto>?,
    var researches: List<ResearchShortDto>?,
    var modifiers: List<ModifierDto>,
    var affectedData: AffectedDataDto,
    val units: List<UnitShortDto>,
    val weapons: Set<WeaponSlotDto>,
    val requirements: RequirementDto?,
    val affectedResearches: Set<ResearchShortDto>,
    val hotkey: String?,
)
