1. 新增LangUtil工具类实现统一的多语言映射与参数替换 2. 移除各配置文件中的硬编码多语言包装类,替换为直接中文文本 3. 更新zh.json补充成就相关多语言词条 4. 重构HighlightSet适配新的多语言调用规范
347 lines
18 KiB
TypeScript
347 lines
18 KiB
TypeScript
// ========== 从 HeroAttrs.ts 导入属性相关定义 ==========
|
||
import { Attrs } from "./HeroAttrs";
|
||
|
||
export enum HSSet {
|
||
atk = 0, // 普通攻击
|
||
skill = 1, // 一般技能
|
||
max = 2, // 必杀技
|
||
}
|
||
|
||
export enum TGroup {
|
||
Self = 0, // 自身
|
||
Ally = 1, // 所有友方,包括自己
|
||
Team = 2, // 所有友方
|
||
Enemy = 3, // 敌方单位
|
||
All = 4 // 所有单位
|
||
}
|
||
|
||
export enum DTType {
|
||
single = 0,
|
||
range = 1,
|
||
}
|
||
|
||
export enum SkillKind {
|
||
Damage = 0,
|
||
Heal = 1,
|
||
Shield = 2,
|
||
Support = 3
|
||
}
|
||
|
||
|
||
|
||
|
||
|
||
//受伤动画名称
|
||
export enum AtkedName {
|
||
atked = "atked",
|
||
ice = "atked_ice",
|
||
fire = "atked_fire",
|
||
wind = "atked_wind",
|
||
crit = "atked_crit",
|
||
}
|
||
|
||
|
||
export enum RType {
|
||
linear = 0, //直线
|
||
bezier = 1, //贝塞尔
|
||
fixed = 2, //固定起点
|
||
fixedEnd = 3, //固定终点
|
||
}
|
||
//EType 只负责动画什么时候结束,碰撞体什么时候消失不管,但是消失前一定要关闭碰撞体
|
||
export enum EType {
|
||
animationEnd = 0, //碰撞够也不消失,动画结束才消失
|
||
timeEnd = 1, //碰撞够也不消失,时间到才消失
|
||
collision = 2, //碰撞次数够就消失
|
||
}
|
||
//debuff类型
|
||
|
||
|
||
/*
|
||
=== 技能配置系统使用说明 ===
|
||
|
||
1. 基础属性:
|
||
- uuid: 技能唯一ID
|
||
- name: 技能名称
|
||
- sp_name: 特效名称
|
||
- AtkedName: 攻击类型
|
||
- path: 图片资源路径
|
||
|
||
2. 目标和效果:
|
||
- TGroup: 目标群体 (敌方、友方等)
|
||
- SType: 技能类型 (伤害、治疗、护盾等)
|
||
|
||
3. 执行参数:
|
||
- act: 角色执行的动画
|
||
- DTType: 伤害类型 (单体、范围)
|
||
- EType: 结束条件
|
||
- fname: 特效文件名
|
||
- with: 暂时无用
|
||
|
||
4. 数值参数:
|
||
- ap: 攻击力百分比
|
||
- cd: 冷却时间
|
||
- hit_count: 可命中次数
|
||
- t_num: 目标数量
|
||
- hitcd: 持续伤害的伤害间隔
|
||
- speed: 移动速度
|
||
- cost: 消耗值
|
||
*/
|
||
export enum DType {
|
||
ATK= 0, // 物理
|
||
ICE=1, // 冰元素
|
||
FIRE=2, // 火元素
|
||
WIND=3, // 风元素
|
||
}
|
||
|
||
export enum IType {
|
||
Melee = 0, // 近战
|
||
remote = 1, // 远程
|
||
support = 2, // 辅助
|
||
}
|
||
export const HeroSkillList = [6001,6001,6001,6001,6001,6001]
|
||
|
||
// Debuff配置接口
|
||
|
||
export interface BuffConf {
|
||
buff:Attrs;
|
||
value:number; // 效果值
|
||
}
|
||
|
||
interface IReady {
|
||
uuid:number,
|
||
loop: boolean,
|
||
SkillTime: number,// 技能控制存续时间时间
|
||
ReadyTime: number,// 技能前摇时间
|
||
RType: number, //技能运行类型 0-线性 1-贝塞尔 2-开始位置固定 3-目标位置固定
|
||
ready_y: number,
|
||
path:string,
|
||
}
|
||
|
||
interface IEndAnm {
|
||
uuid:number,
|
||
path:string,
|
||
loop:boolean,
|
||
time:number,
|
||
}
|
||
// 技能配置接口 - 按照6001格式排列
|
||
export interface SkillConfig {
|
||
uuid:number, // 技能唯一ID
|
||
name:string, // 技能名称
|
||
sp_name:string, // 特效名称
|
||
icon:string, // 图标ID
|
||
TGroup:TGroup, // 目标群体(敌方/友方/自身等)
|
||
act:string, // 角色执行的动画
|
||
DTType:DTType, // 伤害类型(单体/范围)
|
||
ap:number, // 伤害/治疗技能为攻击百分比,护盾技能为免疫次数
|
||
hit_count:number, // 可命中次数
|
||
hitcd:number, // 持续伤害的伤害间隔(秒)
|
||
speed:number, // 移动速度
|
||
with:number, // 宽度(暂时无用)
|
||
ready:number, // 前摇时间
|
||
readyAnm:string, // 前摇动画名称
|
||
endAnm:string, // 结束动画名称
|
||
EAnm:number, // 结束动画ID
|
||
DAnm:string, // 命中后动画ID
|
||
IType:IType, // 技能类型(近战/远程/辅助)
|
||
RType:RType, // 技能运行类型(直线/贝塞尔/固定起点/固定终点)
|
||
EType:EType, // 结束条件(动画结束/时间结束/距离结束/碰撞/次数结束)
|
||
bezier_start_y?:number, // 贝塞尔起始抬升高度
|
||
bezier_mid_y?:number, // 贝塞尔中间高度增量
|
||
bezier_arc?:number, // 贝塞尔弧度系数
|
||
time?:number, // timeEnd 持续时间(秒)
|
||
kind?:SkillKind, // 主效果类型
|
||
crt?:number, // 额外暴击率
|
||
frz?:number, // 额外冰冻概率
|
||
bck?:number, // 额外击退概率
|
||
buffs:BuffConf[], // 对目标应用的 buff 配置列表
|
||
call_hero?:number, // 召唤技能召唤英雄id(可选)
|
||
info:string, // 技能描述
|
||
}
|
||
|
||
export const SkillUpList = {
|
||
1001:{ap:0,hit_count:0,buff_ap:0,buff_hp:0,bck:0,frz:0,crt:0,num:0}
|
||
}
|
||
|
||
/******
|
||
*
|
||
* 射箭类技能 带暴击属性
|
||
* 火法技能 带击退属性
|
||
* 冰法技能 带冰冻属性
|
||
*
|
||
*/
|
||
export const SkillSet: Record<number, SkillConfig> = {
|
||
// ========== 基础技能 ==========
|
||
6001: {
|
||
uuid:6001,name:"普通攻击",sp_name:"atk",icon:"1026",TGroup:TGroup.Enemy,readyAnm:"",endAnm:"",act:"atk",
|
||
DTType:DTType.single,ap:100,hit_count:1,hitcd:0.2,speed:720,with:0,ready:0.2,EAnm:0,DAnm:"",IType:IType.Melee,
|
||
RType:RType.bezier,EType:EType.collision,buffs:[],info:"造成攻击力100%的伤害",
|
||
},
|
||
6002: {
|
||
uuid:6002,name:"火球术",sp_name:"ball_fire",icon:"1126",TGroup:TGroup.Enemy,readyAnm:"",endAnm:"",act:"atk",
|
||
DTType:DTType.single,frz:0,ap:100,hit_count:1,hitcd:0.3,speed:720,with:90,ready:0.2,EAnm:0,DAnm:"",IType:IType.remote,
|
||
RType:RType.bezier,EType:EType.collision,buffs:[],info:"发射火球,造成攻击力100%的伤害",
|
||
},
|
||
6003: {
|
||
uuid:6003,name:"风刃",sp_name:"ball_winds",icon:"1126",TGroup:TGroup.Enemy,readyAnm:"",endAnm:"",act:"atk",
|
||
DTType:DTType.single,ap:100,hit_count:1,hitcd:0.3,speed:720,with:90,ready:0.2,EAnm:0,DAnm:"",IType:IType.remote,
|
||
RType:RType.bezier,EType:EType.collision,buffs:[],info:"发射风刃,造成攻击力100%的伤害",
|
||
},
|
||
6004: {
|
||
uuid:6004,name:"暗影球",sp_name:"ball_zi",icon:"1126",TGroup:TGroup.Enemy,readyAnm:"",endAnm:"",act:"atk",
|
||
DTType:DTType.single,ap:100,hit_count:1,hitcd:0.3,speed:720,with:90,ready:0.2,EAnm:0,DAnm:"",IType:IType.remote,
|
||
RType:RType.bezier,EType:EType.collision,buffs:[],info:"发射暗影球,造成攻击力100%的伤害",
|
||
},
|
||
6005: {
|
||
uuid:6005,name:"箭矢",sp_name:"arrow",icon:"1135",TGroup:TGroup.Enemy,readyAnm:"",endAnm:"",act:"atk",
|
||
DTType:DTType.single,ap:100,hit_count:1,hitcd:0.2,speed:720,with:0,ready:0.2,EAnm:0,DAnm:"",IType:IType.remote,
|
||
RType:RType.bezier,EType:EType.collision,bezier_start_y:20,bezier_mid_y:140,bezier_arc:1.05,buffs:[],info:"射出箭矢,造成攻击力100%的伤害",
|
||
},
|
||
6007: {
|
||
uuid:6007,name:"冰霜球",sp_name:"ball_forst",icon:"1126",TGroup:TGroup.Enemy,readyAnm:"",endAnm:"",act:"atk",
|
||
DTType:DTType.single,ap:100,hit_count:1,hitcd:0.3,speed:720,with:90,ready:0.2,EAnm:0,DAnm:"",IType:IType.remote,
|
||
RType:RType.bezier,EType:EType.collision,buffs:[],info:"发射冰霜球,造成攻击力100%的伤害",
|
||
},
|
||
6008: {
|
||
uuid:6008,name:"水球",sp_name:"ball_water",icon:"1126",TGroup:TGroup.Enemy,readyAnm:"",endAnm:"",act:"atk",
|
||
DTType:DTType.single,ap:100,hit_count:1,hitcd:0.3,speed:720,with:90,ready:0.2,EAnm:0,DAnm:"",IType:IType.remote,
|
||
RType:RType.bezier,EType:EType.collision,buffs:[],info:"发射水球,造成攻击力100%的伤害",
|
||
},
|
||
|
||
|
||
|
||
|
||
//大招
|
||
6101: {
|
||
uuid:6101,name:"烈焰斩",sp_name:"atk_fire",icon:"1173",TGroup:TGroup.Enemy,readyAnm:"reds",endAnm:"",act:"max",
|
||
DTType:DTType.single,bck:20,ap:150,hit_count:6,hitcd:0.2,speed:720,with:0,ready:0.2,EAnm:0,DAnm:"",IType:IType.Melee,
|
||
RType:RType.fixed,EType:EType.animationEnd,buffs:[],info:"释放烈焰斩击,最多命中6个敌人,造成攻击力150%的伤害,附带20%击退概率",
|
||
},
|
||
6102: {
|
||
uuid:6102,name:"雷霆击",sp_name:"atk_s4",icon:"1173",TGroup:TGroup.Enemy,readyAnm:"yellow",endAnm:"",act:"max",
|
||
DTType:DTType.single,crt:20,ap:150,hit_count:6,hitcd:0.2,speed:720,with:0,ready:0.2,EAnm:0,DAnm:"",IType:IType.Melee,
|
||
RType:RType.fixed,EType:EType.animationEnd,buffs:[],info:"释放雷霆一击,最多命中6个敌人,造成攻击力150%的伤害,附带20%额外暴击率",
|
||
},
|
||
6103: {
|
||
uuid:6103,name:"火焰风暴",sp_name:"atk_fire",icon:"1173",TGroup:TGroup.Enemy,readyAnm:"reds",endAnm:"",act:"max",
|
||
DTType:DTType.range,crt:20,ap:150,hit_count:6,hitcd:0.2,speed:720,with:0,ready:0.2,EAnm:0,DAnm:"",IType:IType.remote,
|
||
RType:RType.fixed,EType:EType.animationEnd,buffs:[],info:"召唤火焰风暴,最多命中6个敌人,造成攻击力150%的范围伤害,附带20%额外暴击率",
|
||
},
|
||
6104: {
|
||
uuid:6104,name:"穿云箭",sp_name:"arrow_big_yellow",icon:"1135",TGroup:TGroup.Enemy,readyAnm:"yellow",endAnm:"",act:"max",
|
||
DTType:DTType.single,crt:20,ap:100,hit_count:6,hitcd:0.2,speed:720,with:0,ready:0.2,EAnm:0,DAnm:"",IType:IType.remote,
|
||
RType:RType.bezier,EType:EType.collision,buffs:[],info:"射出强力箭矢,最多穿透6个敌人,造成攻击力100%的伤害,附带20%额外暴击率",
|
||
},
|
||
6105: {
|
||
uuid:6105,name:"冰封领域",sp_name:"atk_fire",icon:"1173",TGroup:TGroup.Enemy,readyAnm:"blues",endAnm:"",act:"max",
|
||
DTType:DTType.range,frz:0,ap:150,hit_count:6,hitcd:0.2,speed:720,with:0,ready:0.2,EAnm:0,DAnm:"",IType:IType.remote,
|
||
RType:RType.fixed,EType:EType.animationEnd,buffs:[],info:"释放冰封领域,最多命中6个敌人,造成攻击力150%的范围伤害",
|
||
},
|
||
6106: {
|
||
uuid:6106,name:"冲击波",sp_name:"atk_fire",icon:"1173",TGroup:TGroup.Enemy,readyAnm:"reds",endAnm:"",act:"max",
|
||
DTType:DTType.range,bck:20,ap:150,hit_count:6,hitcd:0.2,speed:720,with:0,ready:0.2,EAnm:0,DAnm:"",IType:IType.remote,
|
||
RType:RType.fixed,EType:EType.animationEnd,buffs:[],info:"释放冲击波,最多命中6个敌人,造成攻击力150%的范围伤害,附带20%击退概率",
|
||
},
|
||
|
||
//============================= ====== 辅助技能 ====== ==========================
|
||
6301:{
|
||
uuid:6301,name:"护盾术",sp_name:"buff_wind",icon:"1255",TGroup:TGroup.Self,readyAnm:"up_blue",endAnm:"",act:"atk",
|
||
DTType:DTType.single,kind:SkillKind.Shield,ap:3,hit_count:1,hitcd:0.2,speed:720,with:0,ready:0.2,EAnm:0,DAnm:"",IType:IType.support,
|
||
RType:RType.fixed,EType:EType.animationEnd,buffs:[],info:"为自己添加护盾,可抵挡3次伤害",
|
||
},
|
||
6302: {
|
||
uuid:6302,name:"群体治疗",sp_name:"buff_wind",icon:"1292",TGroup:TGroup.Team,readyAnm:"up_green",endAnm:"",act:"atk",
|
||
DTType:DTType.single,kind:SkillKind.Heal,ap:300,hit_count:1,hitcd:0.2,speed:720,with:0,ready:0.2,EAnm:0,DAnm:"",IType:IType.support,
|
||
RType:RType.fixed,EType:EType.animationEnd,buffs:[],info:"为全体友方恢复攻击力300%的生命值",
|
||
},
|
||
6303:{
|
||
uuid:6303,name:"强化护盾",sp_name:"buff_wind",icon:"1255",TGroup:TGroup.Self,readyAnm:"up_blue",endAnm:"",act:"atk",
|
||
DTType:DTType.single,kind:SkillKind.Shield,ap:3,hit_count:1,hitcd:0.2,speed:720,with:0,ready:0.2,EAnm:0,DAnm:"",IType:IType.support,
|
||
RType:RType.fixed,EType:EType.animationEnd,buffs:[],info:"为自己添加强化护盾,可抵挡3次伤害",
|
||
},
|
||
6304: {
|
||
uuid:6304,name:"持续恢复",sp_name:"buff_wind",icon:"1292",TGroup:TGroup.Team,readyAnm:"up_green",endAnm:"",act:"atk",
|
||
DTType:DTType.single,kind:SkillKind.Heal,ap:200,hit_count:3,hitcd:0.2,speed:720,with:0,ready:0.2,EAnm:0,DAnm:"",IType:IType.support,
|
||
RType:RType.fixed,EType:EType.animationEnd,buffs:[],info:"为全体友方持续恢复,共3次,每次恢复攻击力200%的生命值",
|
||
},
|
||
6305:{
|
||
uuid:6305,name:"团队护盾",sp_name:"buff_wind",icon:"1255",TGroup:TGroup.Team,readyAnm:"up_blue",endAnm:"",act:"atk",
|
||
DTType:DTType.single,kind:SkillKind.Shield,ap:2,hit_count:3,hitcd:0.2,speed:720,with:0,ready:0.2,EAnm:0,DAnm:"",IType:IType.support,
|
||
RType:RType.fixed,EType:EType.animationEnd,buffs:[],info:"为全体友方添加护盾,每人可抵挡2次伤害,持续3次",
|
||
},
|
||
//==========================buff 技能=====================
|
||
6401:{
|
||
uuid:6401,name:"攻击强化",sp_name:"buff_wind",icon:"1255",TGroup:TGroup.Team,readyAnm:"up_ap",endAnm:"",act:"atk",
|
||
DTType:DTType.single,kind:SkillKind.Support,ap:0,hit_count:1,hitcd:0.2,speed:720,with:0,ready:0.2,EAnm:0,DAnm:"",IType:IType.support,
|
||
RType:RType.fixed,EType:EType.animationEnd,buffs:[{buff:Attrs.ap,value:5}],info:"全体友方攻击力提升5点,持续1次",
|
||
},
|
||
6402:{
|
||
uuid:6402,name:"生命强化",sp_name:"buff_wind",icon:"1255",TGroup:TGroup.Team,readyAnm:"up_hp",endAnm:"",act:"atk",
|
||
DTType:DTType.single,kind:SkillKind.Support,ap:0,hit_count:1,hitcd:0.2,speed:720,with:0,ready:0.2,EAnm:0,DAnm:"",IType:IType.support,
|
||
RType:RType.fixed,EType:EType.animationEnd,buffs:[{buff:Attrs.hp_max,value:20}],info:"全体友方最大生命值提升20点,持续1次",
|
||
},
|
||
6403:{
|
||
uuid:6403,name:"全面强化",sp_name:"buff_wind",icon:"1255",TGroup:TGroup.Team,readyAnm:"up_hp",endAnm:"",act:"atk",
|
||
DTType:DTType.single,kind:SkillKind.Support,ap:0,hit_count:1,hitcd:0.2,speed:720,with:0,ready:0.2,EAnm:0,DAnm:"",IType:IType.support,
|
||
RType:RType.fixed,EType:EType.animationEnd,buffs:[{buff:Attrs.ap,value:5},{buff:Attrs.hp_max,value:20}],info:"全体友方攻击力提升5点,最大生命值提升20点,持续1次",
|
||
},
|
||
6404:{
|
||
uuid:6404,name:"持续攻击强化",sp_name:"buff_wind",icon:"1255",TGroup:TGroup.Team,readyAnm:"up_ap",endAnm:"",act:"atk",
|
||
DTType:DTType.single,kind:SkillKind.Support,ap:0,hit_count:3,hitcd:0.2,speed:720,with:0,ready:0.2,EAnm:0,DAnm:"",IType:IType.support,
|
||
RType:RType.fixed,EType:EType.animationEnd,buffs:[{buff:Attrs.ap,value:2}],info:"全体友方攻击力提升2点,持续3次",
|
||
},
|
||
6405:{
|
||
uuid:6405,name:"持续生命强化",sp_name:"buff_wind",icon:"1255",TGroup:TGroup.Team,readyAnm:"up_hp",endAnm:"",act:"atk",
|
||
DTType:DTType.single,kind:SkillKind.Support,ap:0,hit_count:3,hitcd:0.2,speed:720,with:0,ready:0.2,EAnm:0,DAnm:"",IType:IType.support,
|
||
RType:RType.fixed,EType:EType.animationEnd,buffs:[{buff:Attrs.hp_max,value:10}],info:"全体友方最大生命值提升10点,持续3次",
|
||
},
|
||
6406:{
|
||
uuid:6406,name:"持续全面强化",sp_name:"buff_wind",icon:"1255",TGroup:TGroup.Team,readyAnm:"up_ap",endAnm:"",act:"atk",
|
||
DTType:DTType.single,kind:SkillKind.Support,ap:0,hit_count:3,hitcd:0.2,speed:720,with:0,ready:0.2,EAnm:0,DAnm:"",IType:IType.support,
|
||
RType:RType.fixed,EType:EType.animationEnd,buffs:[{buff:Attrs.ap,value:2},{buff:Attrs.hp_max,value:10}],info:"全体友方攻击力提升2点,最大生命值提升10点,持续3次",
|
||
},
|
||
6501:{
|
||
uuid:6501,name:"自我强化",sp_name:"buff_wind",icon:"1255",TGroup:TGroup.Self,readyAnm:"up_ap",endAnm:"",act:"atk",
|
||
DTType:DTType.single,kind:SkillKind.Support,ap:50,hit_count:3,hitcd:0.2,speed:720,with:0,ready:0.2,EAnm:0,DAnm:"",IType:IType.support,
|
||
RType:RType.fixed,EType:EType.animationEnd,buffs:[],info:"自身攻击力提升50点,持续3次",
|
||
}
|
||
|
||
};
|
||
//***************驻场技能配置***************
|
||
export enum FieldSkillType {
|
||
SummonCount = 1, // 召唤触发技能次数提升
|
||
DeadCount = 2, // 死亡触发技能次数提升
|
||
StartCount = 3, // 战斗开始触发技能次数提升
|
||
EndCount = 4, // 战斗结束触发技能次数提升
|
||
WaveGold = 5, // 每回合金币收益提升
|
||
SellGold = 6, // 卖出英雄金币提升
|
||
WaveHeal = 7, // 战斗结束生命回复量提升
|
||
HeroAtk = 8, // 英雄攻击力加成
|
||
HeroFrost = 9, // 英雄冰冻加成
|
||
HeroCrit = 10, // 英雄暴击加成
|
||
HeroCritDamage = 11, // 英雄暴击伤害加成
|
||
HeroSpeed = 12, // 英雄攻击速度加成
|
||
}
|
||
|
||
export interface FieldSkillConfig {
|
||
uuid: number;
|
||
name: string;
|
||
type: FieldSkillType;
|
||
value: number; // 提升的数值
|
||
info: string;
|
||
}
|
||
|
||
export const FieldSkillSet: Record<number, FieldSkillConfig> = {
|
||
7001: { uuid: 7001, name: "召唤强化", type: FieldSkillType.SummonCount, value: 1, info: "召唤触发技能次数+1" },
|
||
7002: { uuid: 7002, name: "死亡强化", type: FieldSkillType.DeadCount, value: 1, info: "死亡触发技能次数+1" },
|
||
7003: { uuid: 7003, name: "开场强化", type: FieldSkillType.StartCount, value: 1, info: "战斗开始触发技能次数+1" },
|
||
7004: { uuid: 7004, name: "结束强化", type: FieldSkillType.EndCount, value: 1, info: "战斗结束触发技能次数+1" },
|
||
7005: { uuid: 7005, name: "金币收益", type: FieldSkillType.WaveGold, value: 10, info: "每回合金币收益+10" },
|
||
7006: { uuid: 7006, name: "出售强化", type: FieldSkillType.SellGold, value: 5, info: "卖出英雄金币+5" },
|
||
7007: { uuid: 7007, name: "战后恢复", type: FieldSkillType.WaveHeal, value: 0.3, info: "战斗结束生命回复量+30%" },
|
||
7008: { uuid: 7008, name: "攻击加成", type: FieldSkillType.HeroAtk, value: 0.2, info: "英雄攻击力+20%" },
|
||
7009: { uuid: 7009, name: "冰冻加成", type: FieldSkillType.HeroFrost, value: 0.1, info: "英雄冰冻概率+10%" },
|
||
7010: { uuid: 7010, name: "暴击加成", type: FieldSkillType.HeroCrit, value: 0.1, info: "英雄暴击率+10%" },
|
||
7011: { uuid: 7011, name: "暴伤加成", type: FieldSkillType.HeroCritDamage, value: 0.5, info: "英雄暴击伤害+50%" },
|
||
7012: { uuid: 7012, name: "攻速加成", type: FieldSkillType.HeroSpeed, value: 0.2, info: "英雄攻击速度+20%" },
|
||
};
|