1. 调整近战默认攻击距离从150改为100 2. 将击退相关属性从概率改为击退距离增量,同步更新所有配置、UI显示和技能描述 3. 移除旧的击退概率判定逻辑,改为直接应用击退距离增量 4. 优化受击击退的处理流程,统一参数传递
102 lines
3.8 KiB
TypeScript
102 lines
3.8 KiB
TypeScript
|
||
|
||
// ========== 属性枚举 ==========
|
||
/**
|
||
* 英雄属性枚举
|
||
* 定义所有可用的战斗属性类型
|
||
* 按逻辑分组排序:基础生存 → 攻击属性 → 防御属性 → 特殊效果 → 基础属性
|
||
*/
|
||
export enum Attrs {
|
||
// ==================== 基础属性 ====================
|
||
ap = "ap", // 基础攻击
|
||
hp = "hp", // 基础血量
|
||
hp_max = "hp_max", // 最大血量
|
||
speed = "speed", // 基础移动速度
|
||
dis = "dis", // 基础距离
|
||
shield = "shield", // 当前护盾
|
||
|
||
// // ==================== 攻击属性 ====================
|
||
// a_cd = "a_cd", // 攻击计时
|
||
// s_cd = "s_cd", // 技能计时
|
||
// a_cd_max = "a_cd_max", // 攻击CD
|
||
// s_cd_max = "s_cd_max", // 技能CD
|
||
|
||
// ==================== 暴击与命中属性 ====================
|
||
critical = "critical", // 暴击率
|
||
critical_damage = "critical_damage", // 暴击伤害
|
||
critical_res = "critical_res", // 暴击抗性
|
||
|
||
// ==================== 特殊效果属性 ====================
|
||
freeze_chance = "freeze_chance", // 冰冻概率
|
||
freeze_res = "freeze_res", // 冰冻抗性
|
||
stun_chance = "stun_chance", // 击晕概率
|
||
stun_res = "stun_res", // 击晕抗性
|
||
knockback_chance = "knockback_chance", // 击退强化(原击退概率,现转换为击退距离增量)
|
||
knockback_distance = "knockback_distance", // 击退距离强化
|
||
knockback_res = "knockback_res", // 击退抗性
|
||
invincible_time = "invincible_time",// 无敌时间
|
||
puncture_chance = "puncture_chance", // 穿透概率
|
||
puncture_dmg_bonus = "puncture_dmg_bonus", // 穿透后伤害增量(百分点;最终穿透系数 = PUNCTURE_DMG_RATIO * (1 + bonus/100))
|
||
wfuny = "wfuny", // 风怒
|
||
}
|
||
|
||
/**
|
||
* 游戏单局统计数据接口
|
||
*/
|
||
export interface GameScoreStats {
|
||
score: number; // 基础得分
|
||
|
||
// 战斗统计
|
||
crt_count: number; // 暴击次数
|
||
wf_count: number; // 风怒次数
|
||
dod_count: number; // 闪避次数
|
||
stun_count: number; // 击晕次数
|
||
freeze_count: number; // 冰冻次数
|
||
|
||
// 伤害统计
|
||
total_dmg: number; // 总伤害
|
||
atk_count: number; // 攻击次数 (用于计算平均伤害)
|
||
avg_dmg: number; // 平均伤害
|
||
thorns_dmg: number; // 反伤伤害
|
||
crit_dmg_total: number; // 暴击伤害总额
|
||
|
||
// 生存统计
|
||
heal_total: number; // 治疗总量
|
||
lifesteal_total: number;// 吸血总量
|
||
shield_block_count: number; // 格挡次数
|
||
dead_trigger_count: number; // 死亡触发次数
|
||
|
||
// 资源统计
|
||
exp_total: number; // 经验总数
|
||
gold_total: number; // 金币总数
|
||
gold_earned: number; // 总收入金币
|
||
gold_spent: number; // 消耗金币
|
||
refresh_count: number; // 刷新次数
|
||
refresh_hit_count: number; // 刷新命中次数(刷新后选中卡)
|
||
|
||
// 击杀统计
|
||
melee_kill_count: number; // 近战怪击杀数量
|
||
remote_kill_count: number; // 远程怪击杀数量
|
||
elite_kill_count: number; // 精英怪击杀数量
|
||
boss_kill_count: number; // Boss击杀数
|
||
|
||
// 战绩统计
|
||
wave_win_count: number; // 回合胜利次数
|
||
wave_remain_monsters: number; // 累计每回合留存敌人数量
|
||
wave_all_alive_count: number; // 全员存活胜利次数
|
||
passed_wave_20: boolean; // 是否通过第20回合
|
||
highest_dmg: number; // 单次最高伤害
|
||
|
||
// 最终结算分
|
||
score_combat: number;
|
||
score_output: number;
|
||
score_defense: number;
|
||
score_build: number;
|
||
score_efficiency: number;
|
||
|
||
// 已达成的亮点成就记录
|
||
achieved_highlights: any[];
|
||
}
|
||
|
||
|