/* * Author: Nikolay Dvurechensky * Site: https://www.dvurechensky.pro/ * Gmail: dvurechenskysoft@gmail.com * Last Updated: 13 мая 2025 15:25:18 * Version: 1.0.1 */ using System; using System.Collections.Generic; using System.Linq; using System.Text; using UnityEngine; namespace FLGenerateLibrary { public class MunitionStats : Equipment { /// /// Уникальный идентификатор частицы /// [Header("Уникальный идентификатор частицы")] public string Nickname; /// /// Эффект взрыва /// [Header("Эффект взрыва")] public ExplosionStats ExplosionArch; /// /// Тип контейнера /// [Header("Тип контейнера")] public LootCrateStats LootAppearance; /// /// Cколько единиц содержится в контейнере /// [Header("Cколько единиц содержится в контейнере")] public int UnitPerContainer; /// /// Тип оборудования /// [Header("Тип оборудования")] public MunitionHpType HpType; /// /// Требуемость боеприпасов(значения true/false) /// [Header("Требуемость боеприпасов(значения true/false)")] public bool RequiresAmmo; /// /// Количество здоровья /// [Header("Количество здоровья")] public int HitPts; /// /// Звук выстрела /// [Header("Звук выстрела")] public SoundStats OneShotSound; /// /// Звук выстрела /// [Header("Звук выстрела")] public SoundGfStats GfOneShotSound; /// /// Может работать только с ракетами. /// Устанавливает радиус, в пределах которого снаряд /// взорвется вместо того, чтобы должным образом столкнуться с целью. /// [Header("Время дистанционной детонации")] public float DetonationDist; /// /// Время жизни частицы(процент от muzzle_velocity) для конфигурирования дальности /// [Header("Время жизни частицы(процент от muzzle_velocity) для конфигурирования дальности")] public float Lifetime; /// /// Относится к двигателю , который будет использоваться, если необходимо. /// [Header("Двигатель ракеты или торпеды")] public MotorStats Motor; /// /// Если установлено значение true, оружие не сможет стрелять из ствола под углом. /// Это означает, что если оружие не может точно направиться в направлении своей цели /// (обычно из-за слишком маленькой дальности стрельбы, установленной точкой /// крепления на корабле/солнце), оно будет стрелять в неправильном направлении. /// Если установлено значение false, он сможет стрелять внутри конуса, /// как определено MUZZLE_CONE_ANGLE в файле Constants.ini. /// [Header("Стрельба под углом")] public bool ForceGunOri; /// /// Относится к эффекту , который будет использоваться для снарядов. /// [Header("Относится к эффекту , который будет использоваться для снарядов.")] public EffectMain ConstEffect; /// /// Если оружие представляет собой ракету, определяет точку крепления , /// из которой будет излучаться эффект , определенный const_effect . /// [Header("Точка крепления const_effect к ракете")] public string HPTrailParent; /// /// Используйте, чтобы превратить оружие в ракету. Может быть либо LOCK , либо DUMB , причем первый создает следящую ракету, а второй создает совершенно тупую. Помните, что даже ванильные «неуправляемые» ракеты, такие как Cannonball, используют LOCK . Необходимо использовать в сочетании с: ///time_to_lock (только если искатель LOCK ) ///seeker_range (только если искатель LOCK ) ///seeker_fov_deg ( только если искатель LOCK ) ///max_angular_velocity ( только если искатель LOCK ) ///DA_archetype материал_библиотека /// [Header("Тип ракеты")] public SeekerType Seeker; /// /// Устанавливает время в секундах, до которого ракета захватит выбранную цель. /// [Header("Тип ракеты")] public float TimeToLock; /// /// Максимальная дальность поиска, независимо от фактической эффективной дальности. /// Если цель находится за пределами этого диапазона, ракета не будет сопровождать ее. /// [Header("Максимальная дальность поиска, независимо от фактической эффективной дальности. ")] public int SeekerRange; /// /// Устанавливает поле зрения в градусах, в пределах которого будет отслеживаться ракета. /// Это значение отклоняется от оси в градусах. /// Например, значение 15 означает, что искатель будет сопровождать цель, /// расположенную под углом 15 градусов влево или вправо от его носа. /// [Header("Поле зрения в градусах")] public int SeekerFovDeg; /// /// Определяет максимальную угловую скорость в рад/с (?) /// [Header("Максимальная угловая скорость")] public float MaxAngularVelocity; /// /// Адрес до модельки 3db в оригинале /// [Header("Адрес до модельки 3db в оригинале")] public string DAArchetype; /// /// Материал /// [Header("Материал")] public string MaterialLibrary; /// /// Единица "веса" частицы(для расчета инерции), энергетическому оружию всегда 1 /// [Header("Единица веса частицы(для расчета инерции), энергетическому оружию всегда 1")] public float Mass; /// /// Вес в грузовом отсеке /// [Header("Вес в грузовом отсеке")] public float Volume; /// /// Число ракет в боезапасе /// [Header("Число ракет в боезапасе")] public int AmmoLimit; /// /// Если установлено значение true, оружие нарушит круиз, /// если нанесет урон. Обычно отсутствует, если не установлено значение true. /// [Header("Может ли нарушить круиз")] public bool CruiseDisruptor; /// /// Урон по корпусу /// [Header("Урон по корпусу")] public float HullDamage; /// /// ((hull_damade / 2) + energy_damage) = урон по щиту /// [Header("((hull_damade / 2) + energy_damage) = урон по щиту")] public float EnergyDamage; /// /// Тип оружия для расчета блокировки разными типами щитов /// [Header("Тип оружия для расчета блокировки разными типами щитов")] public WeaponTypeStats WeaponType; /// /// Импект - эффект попадания (Не следует использовать, если используется Explosion_arch) /// [Header("Импект - эффект попадания")] public EffectMain MunitionHitEffect; /// /// Безопасное время владельца /// [Header("Безопасное время владельца")] public int OwnerSafeTime; /// /// Способность выпадать из трюма при смерти игрока (значения true/false) /// [Header("Способность выпадать из трюма при смерти игрока (значения true/false)")] public bool Lootable; } }