伤害计算 需要统一

This commit is contained in:
panw
2025-06-25 11:10:03 +08:00
parent 6b030894ef
commit b4ed42456e
6 changed files with 4952 additions and 4660 deletions

View File

@@ -186,15 +186,36 @@ export class SkillConComp extends CCComp {
Object.values(this._timers).forEach(clearTimeout);
}
get_cd(cd:number,view:HeroViewComp){
if(view.fac==FacSet.HERO){
if(view.is_master){
return cd*(100-this.FIGHTCON.hero_buff.ATK_CD+this.FIGHTCON.hero_debuff.DECD)/100
}else{
return cd*(100-this.FIGHTCON.friend_buff.ATK_CD+this.FIGHTCON.friend_debuff.DECD)/100
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"]
// 汇总DEBUFF_DECD并处理count值
let decd = 0;
for (let i = view.DEBUFF_DECDS.length - 1; i >= 0; i--) {
decd += view.DEBUFF_DECDS[i].value;
view.DEBUFF_DECDS[i].count--;
// 当count为0时移除该记录
if (view.DEBUFF_DECDS[i].count <= 0) {
view.DEBUFF_DECDS.splice(i, 1);
}
}else{
return cd*(100-this.FIGHTCON.enemy_buff.ATK_CD+this.FIGHTCON.enemy_debuff.DECD)/100
}
let bcd=0
for (let i = view.BUFF_CDS.length - 1; i >= 0; i--) {
bcd += view.BUFF_CDS[i].value;
view.BUFF_CDS[i].count--;
if (view.BUFF_CDS[i].count <= 0) {
view.BUFF_CDS.splice(i, 1);
}
}
return cd*(100-bcd-buff.ATK_CD+decd+debuff.DECD)/100
}
get_count(count:number,view:HeroViewComp){
if(view.fac==FacSet.HERO){