Files
pixelheros/assets/script/game/common/config/HeroAttrs.ts
panFD 2fc085c3aa feat: 新增天赋系统,实现局外天赋养成与战斗属性加成
- 新增天赋配置表与相关枚举、数据结构
- 新增全局单例的天赋数据管理接口,支持升级、重置、点数管理
- 新增天赋属性加成结算逻辑,支持全局天赋与职业专精天赋
- 新增治疗强化、buff强化属性与对应天赋支持
- 新增天赋更新事件,同步UI与战斗数据
- 在英雄加载、升级流程中接入天赋加成计算
2026-08-24 22:58:27 +08:00

109 lines
4.7 KiB
TypeScript
Raw Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
// ========== 属性枚举 ==========
/**
* 英雄属性枚举
* 定义所有可用的战斗属性类型
* 按逻辑分组排序:基础生存 → 攻击属性 → 防御属性 → 特殊效果 → 基础属性
*/
export enum Attrs {
// ==================== 基础属性 ====================
ap = "ap", // 基础攻击
hp = "hp", // 基础血量
hp_max = "hp_max", // 最大血量
speed = "speed", // 基础移动速度
dis = "dis", // 基础距离
shield = "shield", // 当前护盾
defense = "defense", // 防御(除法递减模型:减伤率 = defense / (defense + DEFENSE_K))
// // ==================== 攻击属性 ====================
// 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", // 击晕抗性
paralyze_chance = "paralyze_chance", // 麻痹概率(百分点,雷电技能默认附带 30)
knockback_chance = "knockback_chance", // 击退强化(原击退概率,现转换为击退距离增量)
knockback_skill_chance = "knockback_skill_chance", // 技能击退概率(百分点;由 SkillSet.bck_chance 快照,可被 heroSet overrides 覆写)
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", // 风怒
vulnerable_res = "vulnerable_res", // 易伤抗性(百分比减免易伤附加伤害)
paralyze_power = "paralyze_power", // 麻痹强化(百分点;提升麻痹对技能 CD 的减速量,累计达 100 则 CD 停止增长)
heal_power = "heal_power", // 治疗强化(百分点;放大该英雄施放技能的治疗量,辅助专精天赋写入)
buff_power = "buff_power", // buff 强化(百分点;放大该英雄施加的友方 buff 数值,辅助专精天赋写入)
}
/**
* 游戏单局统计数据接口
*/
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[];
}