Files
pixelheros/assets/script/game/common/config/TalentSet.ts
panw 1a45c87e70 feat(hero): 为英雄系统添加天赋加成支持
- 在 HeroAttrsComp 中添加 getTalentValue 静态方法,用于获取指定天赋的加成数值
- 定义 TalentType 枚举,明确各类天赋类型
- 调整部分天赋配置,如亡语强化和召唤强化的数值与消耗
- 在 Hero 实体初始化时,根据英雄阵营应用攻击、生命、暴击等天赋加成
- 在召唤技能触发逻辑中,增加召唤强化天赋的额外触发次数
2026-04-28 15:26:47 +08:00

71 lines
3.1 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.
/**
* @file TalentSet.ts
* @description 天赋系统配置数据,包含经验要求、消耗、每个天赋的具体加成数值和描述。
*/
export enum TalentType {
Attack = 1, // 攻击强化
Hp = 2, // 生命强化
Critical = 3, // 暴击强化
WindFury = 4, // 风怒强化
Freeze = 5, // 冰冻强化
Puncture = 6, // 穿刺强化
DeadTrigger = 7,// 亡语强化
Summon = 8, // 召唤强化
BuyDiscount = 9,// 采购优惠
RefreshDiscount = 10, // 刷新优惠
SellBonus = 11 // 出售补贴
}
export interface TalentInfo {
/** 天赋 ID */
id: number;
/** 天赋名称 */
name: string;
/** 天赋图标或标识(可选) */
icon?: string;
/** 描述模板,使用 {value} 替换具体数值 */
desc: string;
/** 最大等级 */
maxLevel: number;
/** 每一级的加成数值从第1级到最大级 */
values: number[];
/** 升到每一级所需的消耗点数从第1级到最大级 */
costs: number[];
}
export const TalentConfig = {
// 玩家升级所需经验配置
expRequirements: [
{ maxLevel: 10, expPerLevel: 100 },
{ maxLevel: 20, expPerLevel: 150 },
{ maxLevel: 30, expPerLevel: 200 }
],
// 天赋列表
talents: [
{ id: 1, name: "攻击强化", icon: "⚔️", desc: "所有英雄 ATK +{value}%",
maxLevel: 5, values: [3, 6, 9, 12, 15], costs: [1, 1, 2, 2, 3] },
{ id: 2, name: "生命强化", icon: "❤️", desc: "所有英雄 HP +{value}%",
maxLevel: 5, values: [5, 10, 15, 20, 25], costs: [1, 1, 2, 2, 3] },
{ id: 3, name: "暴击强化", icon: "🔥", desc: "所有英雄暴击率 +{value}%",
maxLevel: 5, values: [2, 4, 6, 8, 10], costs: [1, 1, 2, 2, 3] },
{ id: 4, name: "风怒强化", icon: "⚡", desc: "所有英雄风怒率 +{value}%",
maxLevel: 5, values: [2, 4, 6, 8, 10], costs: [1, 1, 2, 2, 3] },
{ id: 5, name: "冰冻强化", icon: "❄️", desc: "所有英雄冰冻率 +{value}%",
maxLevel: 5, values: [2, 4, 6, 8, 10], costs: [1, 1, 2, 2, 3] },
{ id: 6, name: "穿刺强化", icon: "🗡️", desc: "所有英雄穿刺 +{value}",
maxLevel: 5, values: [0.2, 0.4, 0.6, 0.8, 1.0], costs: [1, 1, 2, 2, 3] },
{ id: 7, name: "亡语强化", icon: "🛡️", desc: "死亡触发技能额外触发次数+{value}次",
maxLevel: 5, values: [1], costs: [25] },
{ id: 8, name: "召唤强化", icon: "🛡️", desc: "召唤触发技能额外触发次数+{value}次",
maxLevel: 1, values: [1], costs: [25] },
{ id: 9, name: "采购优惠", icon: "🛒", desc: "购买英雄 -{value}金",
maxLevel: 1, values: [1], costs: [10] },
{ id: 10, name: "刷新优惠", icon: "🔄", desc: "刷新重抽 -{value}金",
maxLevel: 1, values: [1], costs: [10] },
{ id: 11, name: "出售补贴", icon: "💰", desc: "出售英雄返还 +{value}%金币",
maxLevel: 1, values: [1], costs: [10] }
] as TalentInfo[]
};