Files
pixelheros/assets/script/game/common/config/HeroAttrs.ts
walkpan c5d416c697 feat(score): 新增亮点成就系统并集成至结算评分
- 添加亮点成就配置文件,定义九类成就及其等级阈值、奖励分数和称号
- 在游戏得分统计数据结构中增加已达成亮点记录字段
- 实现亮点成就判定逻辑,根据玩家表现计算达成的最高等级
- 将亮点成就奖励分数计入总分计算,并在结算界面展示前三个亮点
- 新增动画资源用于界面表现
2026-04-26 00:23:24 +08:00

93 lines
3.1 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", // 暴击率
// ==================== 特殊效果属性 ====================
freeze_chance = "freeze_chance", // 冰冻概率
invincible_time = "invincible_time",// 无敌时间
puncture = "puncture", // 穿刺次数
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[];
}