refactor(game): 重构结算积分与奖励逻辑

1. 移除HeroAttrs中废弃的分数字段
2. 重构积分计算规则,简化为基础分+行为分
3. 调整胜利奖励计算逻辑,改用怪物等级作为成长参数替换原wave计数
4. 同步更新结算配置注释与日志输出
This commit is contained in:
pan
2026-09-11 16:25:28 +08:00
parent 5fe961846f
commit ea15b464ad
5 changed files with 42 additions and 78 deletions

View File

@@ -219,14 +219,14 @@ export function getLvColor(lv: number): Color {
export const RARITY_BG_COLORS: string[] = ["green", "blue", "purple", "yellow", "red"];
/**
* 战斗结算奖励配置(每局结束后发放:英雄碎片 + 金币 + 天赋经验)。
* 数值均为"失败基准",胜利时整体乘以 victory_multiplier。
* 战斗结算奖励配置(每节结束后发放:英雄碎片 + 金币 + 天赋经验)。
* 胜利奖励随关卡进度(怪物等级 = 大关号)线性增长,整体乘以 victory_multiplier。
*/
export const VICTORY_REWARD_SET = {
/** 金币:base + wave_win_count × per_wave */
gold: { base: 100, per_wave: 50 },
/** 天赋经验:base + wave_win_count × per_wave */
talent_exp: { base: 20, per_wave: 10 },
/** 金币:base + monLv × per_lv */
gold: { base: 100, per_lv: 50 },
/** 天赋经验:base + monLv × per_lv */
talent_exp: { base: 20, per_lv: 10 },
/** 每个出场英雄保底碎片数 */
played_fragment: 1,
/** 随机英雄碎片数量(发放给随机抽中的 1 个英雄) */

View File

@@ -100,13 +100,6 @@ export interface GameScoreStats {
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[];
}