信息展示 继续

This commit is contained in:
2025-06-25 17:00:43 +08:00
parent 75136d665b
commit db0a0dd19c
12 changed files with 6500 additions and 5891 deletions

View File

@@ -67,7 +67,7 @@ export class Skill extends ecs.Entity {
return;
}
console.log("[Skill]:caster=>",caster,config.name+"scomp=>",SComp,"fightcon=>",FIGHTCON)
// 确保caster有必要的属性
if (typeof caster.ap === 'undefined') {
@@ -80,12 +80,12 @@ export class Skill extends ecs.Entity {
return;
}
SComp.ap = this.get_ap(caster,dmg)
let ap_data = this.get_ap(caster,dmg,uuid,FIGHTCON)
SComp.ap = ap_data.ap
SComp.caster_crit = ap_data.crit
SComp.caster_crit_d = ap_data.crit_d
console.log("[Skill]:caster.box_group=>",caster.box_group,config.name+"scomp.group=>",SComp.group)
console.log("[Skill]:caster=>",caster,config.name+"scomp=>",SComp,"fightcon=>",FIGHTCON)
// 设置技能组件属性
Object.assign(SComp, {
s_uuid: uuid,
@@ -104,35 +104,48 @@ export class Skill extends ecs.Entity {
this.add(SComp);
}
get_ap(view:HeroViewComp,dmg:number=0){
let buff_key=null
if(view.is_master) {buff_key="hero"}
if(view.is_friend) {buff_key="friend"}
if(view.is_boss) {buff_key="enemy"}
if(view.is_kalami) {buff_key="enemy"}
if(buff_key==null) return
let debuff=this.FIGHTCON[buff_key+"_debuff"]
let buff=this.FIGHTCON[buff_key+"_buff"]
let buff_ap=(100+buff.ATK-debuff.DEATK)/100 //装备区 总加成
get_ap(view:HeroViewComp,dmg:number=0,uuid:number=0,FIGHTCON:FightConComp=null!){
let ap=0
let crit=0
let crit_d=0
let buff_ap=1
let buff=null
if(view.is_master) buff=FIGHTCON.hero_buff
if(view.is_friend) buff=FIGHTCON.friend_buff
if(view.is_boss) buff=FIGHTCON.enemy_buff
if(view.is_kalami) buff=FIGHTCON.enemy_buff
if(!buff==null) {
buff_ap=(100+buff.ATK)/100 //装备区 总加成
}
// 汇总DEBUFF_DECD并处理count值
let BUFF_ATK = 0;
for (let i = view.BUFF_ATKS.length - 1; i >= 0; i--) {
BUFF_ATK += view.BUFF_ATKS[i].value;
view.BUFF_ATKS[i].count--;
if (view.BUFF_ATKS[i].count <= 0) {
view.BUFF_ATKS.splice(i, 1);
let BUFF_ATK = 0
let DEBUFF_DEATK = 0
if(view.BUFF_ATKS.length>0){
for (let i = view.BUFF_ATKS.length - 1; i >= 0; i--) {
BUFF_ATK += view.BUFF_ATKS[i].value;
view.BUFF_ATKS[i].count--;
if (view.BUFF_ATKS[i].count <= 0) {
view.BUFF_ATKS.splice(i, 1);
}
}
}
let DEBUFF_DEATK = 0;
for (let i = view.DEBUFF_DEATKS.length - 1; i >= 0; i--) {
DEBUFF_DEATK += view.DEBUFF_DEATKS[i].value;
view.DEBUFF_DEATKS[i].count--;
if (view.DEBUFF_DEATKS[i].count <= 0) {
view.DEBUFF_DEATKS.splice(i, 1);
if(view.DEBUFF_DEATKS.length>0) {
for (let i = view.DEBUFF_DEATKS.length - 1; i >= 0; i--) {
DEBUFF_DEATK += view.DEBUFF_DEATKS[i].value;
view.DEBUFF_DEATKS[i].count--;
if (view.DEBUFF_DEATKS[i].count <= 0) {
view.DEBUFF_DEATKS.splice(i, 1);
}
}
}
let BUFF_AP=(100-DEBUFF_DEATK+BUFF_ATK+dmg)/100 //buff区 总加成
return view.ap*buff_ap*BUFF_AP
ap=view.ap*buff_ap*BUFF_AP*SkillSet[uuid].ap/100
crit=view.crit+buff.CRITICAL
crit_d=view.crit_d+buff.CRITICAL_DMG
console.log("[Skill]:ap=>",ap,"crit=>",crit,"crit_d=>",crit_d)
return {ap,crit,crit_d}
}
}