技能结果处理

This commit is contained in:
yuexin 2021-01-11 11:40:18 +08:00
parent a9b13f83c1
commit 6dde5183f2
4 changed files with 26 additions and 8 deletions

BIN
doc/todolist2021.xmind Normal file

Binary file not shown.

View File

@ -468,6 +468,7 @@ export class Skill {
let n = efftype == SkillEffectType.POWER_ENHANCE? tgt.dst.addBaseAP(effvalue, tgt.srcPet())
: tgt.dst.addExAP(effvalue, tgt.srcPet());
tgt.success(efftype, n);
tgt.success(SkillEffectType.CHG_AP, n);
}else{
tgt.fail(efftype, -1);
}
@ -478,12 +479,16 @@ export class Skill {
if(tgt.dsttype != GameUnitType.NONE){
let oldhp = tgt.dst.getHP();
let n = tgt.dst.beHurt(effv, tgt.srcPet());
tgt.success(efftype, n);
if(n != 0){
tgt.success(SkillEffectType.HURT_POWER, n);
tgt.success(SkillEffectType.CHG_AP, n);
}
let dthp = tgt.dst.getHP() - oldhp;
if(dthp != 0){
tgt.success(SkillEffectType.HURT_HP, dthp);
tgt.success(SkillEffectType.CHG_HP, dthp);
}
if(n == 0 && dthp == 0){
tgt.success(SkillEffectType.CHG_AP, 0);
}
let hv = n + dthp;
let pet = tgt.srcPet();
@ -491,7 +496,7 @@ export class Skill {
//吸血
let sv = pet.HPS(hv);
if(sv != 0){
tgt.success(SkillEffectType.HURT_POWER, sv, true);
tgt.success(SkillEffectType.CHG_AP, sv, true);
}
}
}else{
@ -509,6 +514,7 @@ export class Skill {
let effv = this.EMV(effvalue);
let n = tgt.dst.addHP(effv, tgt.srcPet());
tgt.success(efftype, n);
tgt.success(SkillEffectType.CHG_HP, n);
}else{
tgt.fail(efftype, -1);
}
@ -694,7 +700,10 @@ export class Skill {
// let n = obj.canAttack()? obj.attack(this, dst, param, v, isAtkBack): 1;
let n = obj.attack(this, dst, param, v, isAtkBack);
if(n <= 0){
tgt.success(SkillEffectType.HURT_POWER, n);
tgt.success(efftype, n);
if(n != 0){
tgt.success(SkillEffectType.CHG_AP, n);
}
// if(this._data.quoteskillid){
// let dp = this._data.skill_users? param.oppClone(): param;
// let pet = tgt.srcpet;
@ -705,7 +714,10 @@ export class Skill {
// }
let dthp = tgt.dst.getHP() - oldhp;
if(dthp != 0){
tgt.success(SkillEffectType.HURT_HP, dthp);
tgt.success(SkillEffectType.CHG_HP, dthp);
}
if(n == 0 && dthp == 0){
tgt.success(SkillEffectType.CHG_AP, 0);
}
let hv = n + dthp;
let pet = tgt.srcPet();
@ -713,7 +725,7 @@ export class Skill {
//吸血
let sv = pet.HPS(hv);
if(sv != 0){
tgt.success(SkillEffectType.HURT_POWER, sv, true);
tgt.success(SkillEffectType.CHG_AP, sv, true);
}
}
tgt.success(efftype, hv);

View File

@ -190,7 +190,7 @@ export const enum SkillRangeUnitType{
* 3.
* 4.
* 5.HP性质的战力
* 6.
* 6.// 暂无用
* 7.
* 8.ID
* 9.ID // 已废弃
@ -239,6 +239,9 @@ export const enum SkillEffectType
CARD_DROP = 29,
BUFF_SHIELD = 30,
HP_STEAL_ENHANCE = 31,
CHG_HP = 10001,
CHG_AP = 10002,
};
// 技能效果参数类型

View File

@ -238,7 +238,7 @@ export class SkillTarget{
obj.datas = [];
lst.forEach((item: SkillTarget) => {
let eds = item.exportEffDatas();
obj.datas.push(...eds);
eds && obj.datas.push(...eds);
// item.res && item.res.forEach((skres: SkillResult) => {
// let ed = item.exportResData(skres);
// ed && obj.datas.push(ed);
@ -312,6 +312,9 @@ export class SkillTarget{
};
public exportEffDatas(): SKillEffectData[]{
if(!this.res){
return null;
}
let r1: SkillResult[] = [];
let r2: SkillResult[] = [];