NLDClient-yudde/ProjectNLD/Assets/Code/Scripts/Gameplay/Unit/Data/UnitFightData.cs

224 lines
5.9 KiB
C#
Raw Normal View History

2023-10-19 15:00:19 +08:00
using CodeStage.AntiCheat.ObscuredTypes;
2023-12-13 16:20:41 +08:00
namespace Gameplay.Unit.Data
2023-08-22 19:08:45 +08:00
{
public class UnitFightData
{
public GameUnit owner;
/// <summary>
/// 攻击力
/// </summary>
2023-10-19 15:00:19 +08:00
public ObscuredInt attack = 0;
2023-11-06 16:50:41 +08:00
public ObscuredFloat baseAttack = 0;
2023-08-22 19:08:45 +08:00
/// <summary>
/// 防御力
/// </summary>
2023-10-19 15:00:19 +08:00
public ObscuredInt defense = 0;
2023-11-06 16:50:41 +08:00
public ObscuredFloat baseDefense = 0;
2023-08-22 19:08:45 +08:00
/// <summary>
/// 技能倍率
/// </summary>
2023-10-19 15:00:19 +08:00
public ObscuredFloat skillRate = 1;
2023-08-22 19:08:45 +08:00
/// <summary>
/// 对人类的伤害倍率
/// </summary>
2023-10-19 15:00:19 +08:00
public ObscuredFloat scaleForHuman = 1;
2023-08-22 19:08:45 +08:00
/// <summary>
/// 对载具的伤害倍率
/// </summary>
2023-10-19 15:00:19 +08:00
public ObscuredFloat scaleForVehicle = 1;
2023-08-22 19:08:45 +08:00
/// <summary>
/// 最终伤害提升倍率
/// </summary>
2023-10-19 15:00:19 +08:00
public ObscuredFloat finalDamageScale = 1;
/// <summary>
/// 杀伤系数
/// </summary>
public ObscuredFloat attackScaleForHp = 1;
/// <summary>
/// 穿甲系数
/// </summary>
public ObscuredFloat attackScaleForShiled = 1;
2023-08-22 19:08:45 +08:00
2023-11-16 13:20:03 +08:00
/// <summary>
/// 伤害倍率-载具
/// </summary>
public ObscuredFloat damageScaleForVehicle = 1;
2023-08-22 19:08:45 +08:00
/// <summary>
/// 攻击距离
/// </summary>
2023-10-19 15:00:19 +08:00
public ObscuredInt attackDistance = 0;
2023-11-06 16:50:41 +08:00
/// <summary>
/// 攻击距离-基础值
/// </summary>
public ObscuredInt baseAttackDistance = 0;
/// <summary>
/// 技能释放距离缩放
/// </summary>
public ObscuredFloat skillReleaseDistanceScale = 1;
2023-08-22 19:08:45 +08:00
/// <summary>
/// 移动速度
/// </summary>
2023-10-19 15:00:19 +08:00
public ObscuredFloat moveSpeed = 0;
2023-11-06 16:28:35 +08:00
/// <summary>
/// 移动速度-基础值
/// </summary>
public ObscuredFloat baseMoveSpeed = 0;
/// <summary>
/// 逃跑速度
/// </summary>
public ObscuredFloat retreatSpeed = 0;
/// <summary>
/// 逃跑速度-基础值
/// </summary>
public ObscuredFloat baseRetreatSpeed = 0;
2023-08-22 19:08:45 +08:00
/// <summary>
/// 转身速度
/// </summary>
2023-10-19 15:00:19 +08:00
public ObscuredFloat turnSpeed = 0;
2023-08-22 19:08:45 +08:00
/// <summary>
/// 索敌范围
/// </summary>
2023-10-19 15:00:19 +08:00
public ObscuredFloat findEnemyRange;
2023-08-22 19:08:45 +08:00
/// <summary>
/// 攻击间隔
/// </summary>
2023-10-19 15:00:19 +08:00
public ObscuredFloat shootCd;
/// <summary>
/// 攻击间隔加成
/// </summary>
public ObscuredFloat p_shootCdScale = 1f;
/// <summary>
/// 基础攻击间隔
/// </summary>
public ObscuredFloat p_shootCd = 1f;
2023-08-22 19:08:45 +08:00
/// <summary>
/// 最大弹药量
/// </summary>
2023-10-19 15:00:19 +08:00
public ObscuredInt maxBulletCount;
2023-12-13 14:11:09 +08:00
public ObscuredInt baseMaxBulletCount;
2023-08-22 19:08:45 +08:00
/// <summary>
/// 每一次射击的弹药量
/// </summary>
2023-10-19 15:00:19 +08:00
public ObscuredInt perShootBulletCount;
2023-08-22 19:08:45 +08:00
2023-10-19 15:00:19 +08:00
public ObscuredFloat criticalRate = 0f;
public ObscuredFloat criticalScale = 1f;
2023-08-22 19:08:45 +08:00
/// <summary>
/// 士气攻击
/// </summary>
2023-10-19 15:00:19 +08:00
public ObscuredInt moraleAttack;
2023-08-22 19:08:45 +08:00
/// <summary>
/// 第一次开枪时间
/// </summary>
2023-10-19 15:00:19 +08:00
public ObscuredFloat firstShootTime;
2023-11-15 16:09:10 +08:00
/// <summary>
/// 士气恢复缩放
/// </summary>
public ObscuredFloat moraleRecoverScale = 1f;
2023-08-22 19:08:45 +08:00
/// <summary>
/// 装弹时间
/// </summary>
2023-10-19 15:00:19 +08:00
public ObscuredFloat reloadTime;
2023-11-16 13:06:13 +08:00
2023-11-07 13:49:30 +08:00
/// <summary>
/// 装弹时间-基础值
/// </summary>
public ObscuredFloat baseReloadTime;
2023-10-19 15:00:19 +08:00
/// <summary>
/// 自动恢复护盾延迟时间
/// </summary>
public ObscuredFloat autoRecoverShiledDealy = 1f;
/// <summary>
/// 自动恢复护盾值-固定值
/// </summary>
public ObscuredInt autoRecoverShiledValueFixed = 1;
/// <summary>
/// 自动恢复护盾值-百分比
/// </summary>
public ObscuredFloat autoRecoverShiledValuePercent = 0f;
/// <summary>
/// 最大过量护盾值
/// </summary>
public ObscuredInt overflowShiledMaxValue = 0;
/// <summary>
/// 自动恢复HP延迟时间
/// </summary>
public ObscuredFloat autoRecoverHPDealy = 1f;
/// <summary>
/// 自动恢复HP值-固定值
/// </summary>
public ObscuredInt autoRecoverHPValueFixed = 1;
/// <summary>
/// 自动恢复HP值-百分比
/// </summary>
public ObscuredFloat autoRecoverHPValuePercent = 0f;
2023-08-22 19:08:45 +08:00
/// <summary>
/// 受到伤害的倍率
/// ps:承伤系数
/// </summary>
2023-10-19 15:00:19 +08:00
public ObscuredFloat beDamageScale = 1f;
/// <summary>
/// 士气攻击的倍率
/// </summary>
public ObscuredFloat moraleDamageScale = 1f;
/// <summary>
/// 士气受到伤害的倍率
/// </summary>
public ObscuredFloat moraleBeDamageScale = 1f;
2023-11-09 14:58:32 +08:00
/// <summary>
/// 最后移动的时间
/// </summary>
public ObscuredFloat lastMoveTime = 0f;
2023-11-16 13:48:40 +08:00
/// <summary>
/// 攻击时无视护盾的概率
/// </summary>
public ObscuredFloat ignoreShieldRate = 0f;
2023-08-22 19:08:45 +08:00
2023-11-16 14:15:30 +08:00
/// <summary>
/// 抵抗debuff的概率
/// </summary>
public ObscuredFloat ignoreDebuffRate = 0f;
2023-08-22 19:08:45 +08:00
public UnitFightData(GameUnit owner)
{
this.owner = owner;
}
public ObscuredFloat GetMoveSpeed()
{
if (moveSpeed < 0)
{
return 0;
}
return moveSpeed;
}
2023-08-22 19:08:45 +08:00
}
}