feat(hero): 为英雄系统添加复活机制
- 在 HeroAttrsComp 中增加 `is_revived` 字段以追踪已复活次数 - 修改 HeroViewComp 的 `scheduleRevive` 方法,使其能播放复活技能的准备动画并立即触发复活 - 在 heroInfo 接口中新增 `revive` 配置项,用于定义英雄的复活技能 - 在 SkillSet 中添加新的复活技能配置(uuid: 6501) - 新增 hero-roster.md 的元数据配置文件
This commit is contained in:
@@ -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,
|
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最大生命值",
|
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%生命",
|
||||||
|
}
|
||||||
|
|
||||||
};
|
};
|
||||||
|
|
||||||
|
|||||||
11
assets/script/game/common/config/hero-roster.md.meta
Normal file
11
assets/script/game/common/config/hero-roster.md.meta
Normal file
@@ -0,0 +1,11 @@
|
|||||||
|
{
|
||||||
|
"ver": "1.0.1",
|
||||||
|
"importer": "text",
|
||||||
|
"imported": true,
|
||||||
|
"uuid": "c86bee35-69d7-43a9-ab1a-967c1e4f08a8",
|
||||||
|
"files": [
|
||||||
|
".json"
|
||||||
|
],
|
||||||
|
"subMetas": {},
|
||||||
|
"userData": {}
|
||||||
|
}
|
||||||
@@ -70,6 +70,7 @@ export interface heroInfo {
|
|||||||
field?:number[]; // 驻场技能uuid列表,英雄在场时对全局生效
|
field?:number[]; // 驻场技能uuid列表,英雄在场时对全局生效
|
||||||
atking?:{s_uuid:number, t_num:number}[]; // 普通攻击后触发的技能配置,s_uuid: 技能id, t_num: 触发所需的普攻次数
|
atking?:{s_uuid:number, t_num:number}[]; // 普通攻击后触发的技能配置,s_uuid: 技能id, t_num: 触发所需的普攻次数
|
||||||
atked?:{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; // 攻击距离(像素)
|
// dis: number; // 攻击距离(像素)
|
||||||
speed: number; // 移动速度(像素/秒)
|
speed: number; // 移动速度(像素/秒)
|
||||||
skills: Record<number, HSkillInfo> ; // 携带技能ID列表
|
skills: Record<number, HSkillInfo> ; // 携带技能ID列表
|
||||||
|
|||||||
@@ -41,7 +41,8 @@ export class HeroAttrsComp extends ecs.Comp {
|
|||||||
puncture: number = 0; // 穿刺次数
|
puncture: number = 0; // 穿刺次数
|
||||||
wfuny: number = 0; // 风怒
|
wfuny: number = 0; // 风怒
|
||||||
|
|
||||||
revive_count: number = 0; // 复活次数
|
revive_count: number = 0; // 总复活次数
|
||||||
|
is_revived:number = 0; // 已复活次数
|
||||||
revive_time: number = 0; // 复活时间
|
revive_time: number = 0; // 复活时间
|
||||||
invincible_time: number = 0;// 无敌时间
|
invincible_time: number = 0;// 无敌时间
|
||||||
|
|
||||||
|
|||||||
@@ -405,10 +405,11 @@ export class HeroViewComp extends CCComp {
|
|||||||
* 调度复活逻辑
|
* 调度复活逻辑
|
||||||
* @param delay 延迟时间(秒)
|
* @param delay 延迟时间(秒)
|
||||||
*/
|
*/
|
||||||
scheduleRevive(delay: number) {
|
scheduleRevive(s_uuid:number) {
|
||||||
this.scheduleOnce(() => {
|
const sConf=SkillSet[s_uuid]
|
||||||
|
this.playReady(sConf.readyAnm)
|
||||||
|
this.skill_name('',s_uuid)
|
||||||
this.alive();
|
this.alive();
|
||||||
}, delay);
|
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
|
|||||||
Reference in New Issue
Block a user