武器 击晕 冰冻 易伤 效果添加
This commit is contained in:
@@ -66,14 +66,17 @@ export class HeroViewComp extends CCComp {
|
||||
def: number = 0; //防御
|
||||
vun: number = 0; //易伤
|
||||
burn_count:number=0; //易伤次数
|
||||
|
||||
burn_value:number=0; //易伤值
|
||||
stun_time:number=0; //眩晕加成
|
||||
stun_ratto:number=0; //攻击眩晕概率加成
|
||||
dod: number = 0; //闪避率
|
||||
dod_no:boolean=false;
|
||||
crit:number=0; //暴击率
|
||||
crit_no:boolean=false; //暴击免疫
|
||||
crit_d:number=0; //暴击伤害
|
||||
wfuny:number=0; //风怒概率
|
||||
|
||||
frost_ratto:number=0; //冰冻概率
|
||||
frost_time:number=0; //冰冻时间
|
||||
|
||||
shield:number = 0; //护盾,免伤1次减1
|
||||
speed: number = 100; /** 角色移动速度 */
|
||||
@@ -377,16 +380,17 @@ export class HeroViewComp extends CCComp {
|
||||
this.BUFF_DEDOWN.splice(i,1)
|
||||
}
|
||||
}
|
||||
let n_deR=deR-DEBUFF_DOWN-buff_debuff_down
|
||||
let r=RandomManager.instance.getRandomInt(0,100)
|
||||
if(r > n_deR) {
|
||||
this.BUFFCOMP.tooltip(TooltipTypes.uskill,"*抵抗*")
|
||||
let n_deR=deR-DEBUFF_DOWN-buff_debuff_down // 触发概率
|
||||
let r=RandomManager.instance.getRandomInt(0,100) // 随机数
|
||||
console.log("[HeroViewComp]:类型,值,次数,技能概率,实际概率,随机数",type,deV,deC,deR,n_deR,r)
|
||||
if(r < n_deR) {
|
||||
// this.BUFFCOMP.tooltip(TooltipTypes.uskill,"*抵抗*")
|
||||
return
|
||||
}
|
||||
|
||||
switch(type){
|
||||
case DebuffAttr.BURN:
|
||||
this.DEBUFF_BURNS.push({value:deV,count:deC})
|
||||
this.DEBUFF_BURNS.push({value:deV,count:deC+FightSet.BURN_COUNT})
|
||||
break
|
||||
case DebuffAttr.DECD:
|
||||
this.DEBUFF_DECDS.push({value:deV,count:deC})
|
||||
@@ -399,10 +403,11 @@ export class HeroViewComp extends CCComp {
|
||||
this.DEBUFF_FROST+=deV
|
||||
break
|
||||
case DebuffAttr.STUN:
|
||||
if(this.DEBUFF_STUN>0) return
|
||||
this.at=0 // 眩晕 cd归零
|
||||
this.BUFFCOMP.in_yun(deV)
|
||||
this.DEBUFF_STUN+=deV
|
||||
this.is_stop=true
|
||||
this.BUFFCOMP.in_yun(deV+FightSet.STUN_TIME) // 眩晕时间
|
||||
this.DEBUFF_STUN+=deV+FightSet.STUN_TIME // 眩晕时间
|
||||
// this.is_stop=true
|
||||
break
|
||||
case DebuffAttr.DEHP:
|
||||
this.hp_max-=deV/100*this.hp_max
|
||||
@@ -425,9 +430,9 @@ export class HeroViewComp extends CCComp {
|
||||
if(tx > 320) tx=320
|
||||
tween(this.node).to(0.3, { position:v3(tx,this.node.position.y,0)}).start()
|
||||
}
|
||||
|
||||
break
|
||||
}
|
||||
console.log("[HeroViewComp]:debuffs",type,deV,deC,deR,this.DEBUFF_BURNS)
|
||||
}
|
||||
|
||||
add_buff(buff:number,count:number,type:number){
|
||||
@@ -447,9 +452,19 @@ export class HeroViewComp extends CCComp {
|
||||
}
|
||||
}
|
||||
|
||||
do_atked(remainingDamage:number,crit:number=0,crit_d:number=0){
|
||||
do_atked(remainingDamage:number,
|
||||
crit:number=0,crit_d:number=0,
|
||||
burn_count:number=0,burn_value:number=0,
|
||||
stun_time:number=0,stun_ratto:number=0,
|
||||
frost_time:number=0,frost_ratto:number=0,
|
||||
){
|
||||
this.do_atked_trigger()
|
||||
|
||||
if(burn_count>0){
|
||||
this.add_debuff(DebuffAttr.BURN,burn_value,burn_count,100)
|
||||
}
|
||||
if(stun_time>0){
|
||||
this.add_debuff(DebuffAttr.STUN,stun_time,1,stun_ratto)
|
||||
}
|
||||
if(this.check_shield()) return
|
||||
if(this.check_dodge()) return
|
||||
let is_crit = this.check_crit(crit)
|
||||
@@ -502,7 +517,7 @@ export class HeroViewComp extends CCComp {
|
||||
if(buff!==null) buff_def=buff.DEF
|
||||
|
||||
damage=remainingDamage*(100-(buff_def+def)+Burn)/100
|
||||
|
||||
console.log("[HeroViewComp]:最终伤害,敌人伤害值,免伤,防御,易伤",damage,remainingDamage,buff_def,def,Burn)
|
||||
return Math.floor(damage)
|
||||
}
|
||||
count_debuff(){
|
||||
|
||||
Reference in New Issue
Block a user