NLDClient-yudde/ProjectNLD/Assets/Code/Scripts/Gameplay/Character/Data/CharacterConfigData.cs

288 lines
6.5 KiB
C#

using System.Collections.Generic;
using cfg.CharacterCfg;
using Gameplay.Common;
using Gameplay.Unit.Data;
using UnityEngine;
namespace Gameplay.Character
{
public class CharacterConfigData
{
public int cfgId;
public int localId;
/// <summary>
/// 等级
/// </summary>
public int level;
/// <summary>
/// 攻击力
/// </summary>
public int attack
{
get;
set;
}
/// <summary>
/// 攻击CD
/// </summary>
public float shootCd
{
get;
set;
}
/// <summary>
/// 是否可以撤离
/// </summary>
public bool canEvacuate
{
get;
set;
}
/// <summary>
/// 攻击距离对应的命中率
/// </summary>
public List<float> distanceHitRate = new List<float>()
{
1f
};
/// <summary>
/// 举枪时间
/// </summary>
public float raiseWeaponTime;
/// <summary>
/// 最大子弹数量
/// </summary>
public int maxBulletCount;
/// <summary>
/// 装弹时间
/// </summary>
public float reloadTime;
/// <summary>
/// 单次换弹数量
/// </summary>
public int perReloadCount;
/// <summary>
/// 是否允许换弹过程中未满子弹攻击
/// </summary>
public bool canAttackNoReloadFull;
/// <summary>
/// 防御力
/// </summary>
public int defense;
/// <summary>
/// 防御力缩放
/// </summary>
public float defenseScale
{
get;
set;
}
/// <summary>
/// 最大血量
/// </summary>
public int maxHp;
/// <summary>
/// 最大护甲值
/// </summary>
public int maxShield;
/// <summary>
/// 移动速度
/// </summary>
public float moveSpeed;
/// <summary>
/// 无战斗移动速度
/// </summary>
public float noFightMoveSpeed;
/// <summary>
/// 逃跑速度
/// </summary>
public float retreatSpeed;
/// <summary>
/// 转身速度
/// </summary>
public float turnSpeed;
/// <summary>
/// 攻击距离
/// </summary>
public int shootDistance;
/// <summary>
/// 士气伤害值
/// </summary>
public int moraleAttack;
/// <summary>
/// 最大士气值
/// </summary>
public int maxMorale
{
get
{
return _maxMorale;
}
set
{
_maxMorale = value;
exitRetreatMorale = Mathf.FloorToInt(GLConfig.Inst.data.FightExitRetreatMoralePercent * _maxMorale);
}
}
private int _maxMorale;
/// <summary>
/// 脱离逃跑状态士气值
/// </summary>
public int exitRetreatMorale;
/// <summary>
/// 初始士气值
/// </summary>
public int initMorale;
/// <summary>
/// 进入被压制状态的士气值
/// </summary>
public int suppressMorale;
/// <summary>
/// 撤退士气值
/// </summary>
public int retreatMorale;
/// <summary>
/// 士气值恢复量
/// </summary>
public int moraleRecover;
/// <summary>
/// 对人形伤害增伤
/// </summary>
public float damageCharacterScale = 1;
/// <summary>
/// 对载具伤害增伤
/// </summary>
public float damageVehicleScale = 1;
/// <summary>
/// 对建筑伤害增伤
/// </summary>
public float damageBuildingsScale = 1;
/// <summary>
/// 暴击几率
/// </summary>
public float criticalRate;
/// <summary>
/// 暴击伤害缩放
/// </summary>
public float criticalScale;
/// <summary>
/// 职业
/// </summary>
public Ejob job;
/// <summary>
/// 阵营
/// </summary>
public Efaction faction;
/// <summary>
/// 星级
/// </summary>
public float rarity;
/// <summary>
/// 0 代表不可移动射击
/// 1 代表可移动射击
/// </summary>
public int moveShootType;
/// <summary>
/// 主动技能ID
/// </summary>
public int skillId;
/// <summary>
/// 模型路径
/// </summary>
public string modelPath
{
get;
set;
}
/// <summary>
/// 使用行为树名字
/// </summary>
public string aiName;
/// <summary>
/// 武器Id
/// </summary>
public int weaponId;
/// <summary>
/// 索敌范围
/// </summary>
public float findEnemyRange;
/// <summary>
/// 怪物追踪范围
/// </summary>
public int trackRange;
public int crossLevel;
public int standLevel;
public string eyeBrowsType;
public string eyeBrowColor;
public string eyesColor;
public List<int> boundTags;
public float shiledRecoverDelay;
public float shieldRecoverFix;
public float shiledRecoverPercent;
public int overflowShield;
public float hpRecoverDelay;
public float hpRecoverFix;
public float hpRecoverPercent;
public float attackShiledScale = 1f;
public float attackHpScale = 1f;
public string nameId
{
get;
set;
}
public int breakPassiveSkillId;
public int awakePassiveSkillId;
public bool isAttackIgnoreBlock = false;
public List<int> passiveBuffIds = new List<int>();
public float attackEndTime
{
get;
set;
}
public int attackLoopCount = 1;
public DebugShowInfo debugShowInfo;
/// <summary>
/// 伤害穿甲等级
/// </summary>
public int attackPowerLevel;
}
}