feat(hero): 为英雄系统添加复活机制

- 在 HeroAttrsComp 中增加 `is_revived` 字段以追踪已复活次数
- 修改 HeroViewComp 的 `scheduleRevive` 方法,使其能播放复活技能的准备动画并立即触发复活
- 在 heroInfo 接口中新增 `revive` 配置项,用于定义英雄的复活技能
- 在 SkillSet 中添加新的复活技能配置(uuid: 6501)
- 新增 hero-roster.md 的元数据配置文件
This commit is contained in:
panw
2026-04-23 09:09:49 +08:00
parent 100a520df1
commit 8ab0cc3971
5 changed files with 24 additions and 5 deletions

View File

@@ -296,6 +296,11 @@ export const SkillSet: Record<number, SkillConfig> = {
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:"随机3个友方+2攻击,+10最大生命值",
},
6501:{
uuid:6501,name:"复活",sp_name:"buff_wind",icon:"1255",TGroup:TGroup.Self,readyAnm:"ap_up",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%生命",
}
};

View File

@@ -0,0 +1,11 @@
{
"ver": "1.0.1",
"importer": "text",
"imported": true,
"uuid": "c86bee35-69d7-43a9-ab1a-967c1e4f08a8",
"files": [
".json"
],
"subMetas": {},
"userData": {}
}

View File

@@ -70,6 +70,7 @@ export interface heroInfo {
field?:number[]; // 驻场技能uuid列表英雄在场时对全局生效
atking?:{s_uuid:number, t_num:number}[]; // 普通攻击后触发的技能配置s_uuid: 技能id, t_num: 触发所需的普攻次数
atked?:{s_uuid:number, t_num:number}[]; // 受击后触发的技能配置s_uuid: 技能id, t_num: 触发所需的受击次数
revive?:{s_uuid:number,r_num:number,upr:number}[]
// dis: number; // 攻击距离(像素)
speed: number; // 移动速度(像素/秒)
skills: Record<number, HSkillInfo> ; // 携带技能ID列表

View File

@@ -41,7 +41,8 @@ export class HeroAttrsComp extends ecs.Comp {
puncture: number = 0; // 穿刺次数
wfuny: number = 0; // 风怒
revive_count: number = 0; // 复活次数
revive_count: number = 0; // 复活次数
is_revived:number = 0; // 已复活次数
revive_time: number = 0; // 复活时间
invincible_time: number = 0;// 无敌时间

View File

@@ -405,10 +405,11 @@ export class HeroViewComp extends CCComp {
* 调度复活逻辑
* @param delay 延迟时间(秒)
*/
scheduleRevive(delay: number) {
this.scheduleOnce(() => {
this.alive();
}, delay);
scheduleRevive(s_uuid:number) {
const sConf=SkillSet[s_uuid]
this.playReady(sConf.readyAnm)
this.skill_name('',s_uuid)
this.alive();
}
/**