package com.dowstats.data.dto.controllers

import com.dowstats.data.dto.controllers.building.BuildingAddonShortDto
import com.dowstats.data.dto.controllers.research.ResearchShortDto

data class WeaponDto(
    val id: Long?,
    val filename: String,
    val name: String?,
    val description: String?,
    val costRequisition: Double?,
    val costPower: Double?,
    val costTimeSeconds: Double?,
    val accuracy: Double?,
    val reloadTime: Double?,
    val minRange: Double?,
    val maxRange: Double?,
    val setupTime: Double?,
    val accuracyReductionMoving: Double?,
    val minDamage: Double?,
    val maxDamage: Double?,
    val minDamageValue: Double?,
    val moraleDamage: Double?,
    val damageRadius: Double?,
    val throwForceMin: Double?,
    val throwForceMax: Double?,
    val isMeleeWeapon: Boolean,
    val canAttackAir: Boolean,
    val canAttackGround: Boolean,
    val icon: String?,
    val showInReinforce: Boolean,
    val modId: Long?,
    val weaponArmorPiercing: List<ArmorPiercingDto>,
    val affectedResearches: Set<ResearchShortDto>,
    val affectedAddons: Set<BuildingAddonShortDto>,
    val modifiers: List<ModifierDto>,
    val requirements: RequirementDto?,
    val hotkey: String?,
)
