FLResourceLibrary/FLGenerateLibrary/FreelancerCoreClasses/Equipments/MineStats.cs

155 lines
6.9 KiB
C#
Raw Normal View History

2025-05-13 15:23:06 +03:00
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using UnityEngine.Serialization;
using UnityEngine;
namespace FLGenerateLibrary
{
public class MineStats : Equipment
{
/// <summary>
/// Уникальный идентификатор частицы
/// </summary>
[Header("Уникальный идентификатор частицы")]
public string Nickname;
/// <summary>
/// Эффект взрыва
/// </summary>
[Header("Эффект взрыва")]
public ExplosionStats ExplosionArch;
/// <summary>
/// Тип контейнера
/// </summary>
[Header("Тип контейнера")]
public LootCrateStats LootAppearance;
/// <summary>
/// Cколько единиц содержится в контейнере
/// </summary>
[Header("Cколько единиц содержится в контейнере")]
public int UnitPerContainer;
/// <summary>
/// Требуемость боеприпасов(значения true/false)
/// </summary>
[Header("Требуемость боеприпасов(значения true/false)")]
public bool RequiresAmmo;
/// <summary>
/// Количество здоровья
/// </summary>
[Header("Количество здоровья")]
public int HitPts;
/// <summary>
/// Звук выстрела
/// </summary>
[Header("Звук выстрела")]
public SoundStats OneShotSound;
/// <summary>
/// Может работать только с ракетами.
/// Устанавливает радиус, в пределах которого снаряд
/// взорвется вместо того, чтобы должным образом столкнуться с целью.
/// </summary>
[Header("Время дистанционной детонации")]
public float DetonationDist;
/// <summary>
/// Время жизни частицы(процент от muzzle_velocity) для конфигурирования дальности
/// </summary>
[Header("Время жизни частицы(процент от muzzle_velocity) для конфигурирования дальности")]
public float Lifetime;
/// <summary>
/// Если установлено значение true, оружие не сможет стрелять из ствола под углом.
/// Это означает, что если оружие не может точно направиться в направлении своей цели
/// (обычно из-за слишком маленькой дальности стрельбы, установленной точкой
/// крепления на корабле/солнце), оно будет стрелять в неправильном направлении.
/// Если установлено значение false, он сможет стрелять внутри конуса,
/// как определено MUZZLE_CONE_ANGLE в файле Constants.ini.
/// </summary>
[Header("Стрельба под углом")]
public bool ForceGunOri;
/// <summary>
/// Адрес до модельки 3db в оригинале
/// </summary>
[Header("Адрес до модельки 3db в оригинале")]
public string DAArchetype;
/// <summary>
/// Материал
/// </summary>
[Header("Материал")]
public string MaterialLibrary;
/// <summary>
/// Единица "веса" частицы(для расчета инерции), энергетическому оружию всегда 1
/// </summary>
[Header("Единица веса частицы(для расчета инерции), энергетическому оружию всегда 1")]
public float Mass;
/// <summary>
/// Вес в грузовом отсеке
/// </summary>
[Header("Вес в грузовом отсеке")]
public float Volume;
/// <summary>
/// Время в секундах, в течение которого владелец не может активировать мину.
/// </summary>
[Header("Время в секундах, в течение которого владелец не может активировать мину.")]
public int OwnerSafeTime;
/// <summary>
/// Линейный противовес. Т.е. это как на круиз встаешь на КЭ и тебя останавливает потихоньку
/// </summary>
[Header("Линейный противовес")]
public float LinearDrag;
/// <summary>
/// Расстояние в метрах, на котором мина начнет двигаться.
/// </summary>
[Header("Расстояние в метрах, на котором мина начнет двигаться.")]
public int SeekDist;
/// <summary>
/// Максимальная скорость мины.
/// Это не зависит от скорости корабля.
/// («нормальные» скорости снаряда добавляются к текущей
/// скорости движения стреляющего корабля)
/// </summary>
[Header("Максимальная скорость мины.")]
public int TopSpeed;
/// <summary>
/// Ускорение мины в м/с^2 до достижения максимальной скорости.
/// </summary>
[Header("Ускорение мины в м/с^2 до достижения максимальной скорости.")]
public int Acceleration;
/// <summary>
/// Относится к эффекту , который будет использоваться для снарядов.
/// </summary>
[Header("Относится к эффекту , который будет использоваться для снарядов.")]
public EffectMain ConstEffect;
/// <summary>
/// Число в боезапасе
/// </summary>
[Header("Число в боезапасе")]
public int AmmoLimit;
/// <summary>
/// Дальность видимости модели оружия
/// </summary>
[FormerlySerializedAs("LODranges")]
[Header("Дальность видимости модели оружия")]
public List<string> LODRanges;
}
}