Files
pixelheros/assets/script/game/common/config/HeroAttrs.ts
walkpan e194132731 feat: 新增暴击抗性和冰冻抗性属性并完善暴击冰冻判定
1.  在HeroAttrs枚举中新增critical_res和freeze_res属性
2.  在HeroAttrsComp中添加对应抗性属性并在重置方法中初始化
3.  修改暴击和冰冻判定逻辑,加入抗性减免计算
2026-05-14 22:53:15 +08:00

99 lines
3.5 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", // 冰冻抗性
knockback_chance = "knockback_chance", // 击退概率
knockback_distance = "knockback_distance", // 击退距离强化
knockback_res = "knockback_res", // 击退抗性
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[];
}