refactor(skill): 移除溅射伤害设定,溅射以后有特定技能触发

清理不再使用的溅射伤害功能,包括移除SDataCom中的splash字段、Skill和SACastSystem中的相关参数,
以及删除TalSet中的溅射天赋配置
This commit is contained in:
2025-11-25 15:24:38 +08:00
parent 03a8a41980
commit 3edc69deff
4 changed files with 10 additions and 17 deletions

View File

@@ -26,13 +26,12 @@ export enum TalEffet {
BUFF = 5, // 暴击率,闪避率等,可叠加的触发后清零
STATS=6, // 状态
WFUNY=7, // 风怒
SPLASH=8, // 溅射
D_SKILL=9, //两次技能
SHIELD=10, // 护盾
LDMG=11, // 减伤
D_SKILL=8, //两次技能
SHIELD=9, // 护盾
LDMG=10, // 减伤
C_MSKILL=11, // 必杀技能必暴
C_ATK=12, // 普工必爆
C_SKILL=13, // 一般技能必暴
C_MSKILL=14, // 必杀技能必暴
}
export enum TalTarget {
@@ -89,8 +88,7 @@ export const talConf: Record<number, ItalConf> = {
/*** 普通攻击触发 ***/
7001:{uuid:7001,name:"风怒",triType:TriType.ATK,Trigger:3,count:1,target:TalTarget.ENEMY,effet:TalEffet.WFUNY,vType:BType.RATIO, value:50,attrs:TalAttrs.NON,
desc:"普通攻击3次后, 立即给与目标150%伤害的额外打击"},
7002:{uuid:7002,name:"溅射",triType:TriType.ATK,Trigger:3,count:1,target:TalTarget.ENEMY,effet:TalEffet.SPLASH,vType:BType.RATIO, value:50,attrs:TalAttrs.NON,
desc:"普通攻击3次后, 会对目标100码内的敌人造成30%伤害"},
7003:{uuid:7003,name:"回血",triType:TriType.ATK,Trigger:3,count:1,target:TalTarget.SELF,effet:TalEffet.HP,vType:BType.RATIO, value:1,attrs:TalAttrs.NON,
desc:"普通攻击3次后, 会回复10%的生命值"},
7004:{uuid:7004,name:"回蓝",triType:TriType.ATK,Trigger:3,count:1,target:TalTarget.SELF,effet:TalEffet.MP,vType:BType.RATIO, value:1,attrs:TalAttrs.NON,

View File

@@ -161,19 +161,17 @@ export class SACastSystem extends ecs.ComblockSystem implements ecs.ISystemUpdat
if (hset === HSSet.atk){
let delay = 0.3
let ext_dmg = heroAttrs.useCountValTal(TalEffet.ATK_DMG);
let splash = heroAttrs.useCountValTal(TalEffet.SPLASH);
heroView.scheduleOnce(() => {
this.createSkill(s_uuid, heroView,targets,ext_dmg,splash);
this.createSkill(s_uuid, heroView,targets,ext_dmg);
}, delay);
//风怒wfuny 只针对 普通攻击起效
if (heroAttrs.useCountTal(TalEffet.WFUNY)){
let ext2_dmg = heroAttrs.useCountValTal(TalEffet.ATK_DMG);
let splash2 = heroAttrs.useCountValTal(TalEffet.SPLASH);
let delay = 0.3
heroView.playSkillEffect(s_uuid);
//需要再添加 风怒动画
heroView.scheduleOnce(() => {
this.createSkill(s_uuid, heroView,targets,ext2_dmg,splash2);
this.createSkill(s_uuid, heroView,targets,ext2_dmg);
},delay);
}
}
@@ -214,7 +212,7 @@ export class SACastSystem extends ecs.ComblockSystem implements ecs.ISystemUpdat
/**
* 创建技能实体
*/
private createSkill(s_uuid: number, caster: HeroViewComp,targets:Vec3[]=[],ext_dmg:number=0,splash:number=0) {
private createSkill(s_uuid: number, caster: HeroViewComp,targets:Vec3[]=[],ext_dmg:number=0) {
// 检查节点有效性
if (!caster.node || !caster.node.isValid) {
console.warn("[SACastSystem] 施法者节点无效");
@@ -239,7 +237,7 @@ export class SACastSystem extends ecs.ComblockSystem implements ecs.ISystemUpdat
const targetPos = targets[0]; // 使用第一个目标位置
// console.log(`[SACastSystem]: ${s_uuid}, 起始位置: ${startPos}, 目标位置: ${targetPos}`);
// 加载技能实体(包括预制体、组件初始化等)
skill.load(startPos, parent, s_uuid, targetPos, caster,ext_dmg,splash);
skill.load(startPos, parent, s_uuid, targetPos, caster,ext_dmg);
}
/**

View File

@@ -13,7 +13,6 @@ export class SDataCom extends ecs.Comp {
fac: number = 0; // 0:hero 1:monster
s_uuid:number=0
ext_dmg:number=0 //额外伤害
splash:number=0 //溅射伤害
dmg_ratio:number=1 //伤害比例
hit_count:number=0 //击中数量
reset() {
@@ -24,7 +23,6 @@ export class SDataCom extends ecs.Comp {
this.caster=null
this.hit_count=0
this.ext_dmg=0
this.splash=0
this.dmg_ratio=1
}
}

View File

@@ -29,7 +29,7 @@ export class Skill extends ecs.Entity {
this.addComponents<SMoveDataComp>(SMoveDataComp);
}
load(startPos: Vec3, parent: Node, s_uuid: number, targetPos: Vec3,
caster:HeroViewComp,ext_dmg:number=0,splash:number=0) {
caster:HeroViewComp,ext_dmg:number=0) {
const config = SkillSet[s_uuid];
if (!config) {
@@ -94,7 +94,6 @@ export class Skill extends ecs.Entity {
sDataCom.s_uuid=s_uuid
sDataCom.fac=cAttrsComp.fac
sDataCom.ext_dmg=ext_dmg
sDataCom.splash=splash
}
/** 模块资源释放 */