技能结果处理
This commit is contained in:
parent
a9b13f83c1
commit
6dde5183f2
BIN
doc/todolist2021.xmind
Normal file
BIN
doc/todolist2021.xmind
Normal file
Binary file not shown.
@ -468,6 +468,7 @@ export class Skill {
|
|||||||
let n = efftype == SkillEffectType.POWER_ENHANCE? tgt.dst.addBaseAP(effvalue, tgt.srcPet())
|
let n = efftype == SkillEffectType.POWER_ENHANCE? tgt.dst.addBaseAP(effvalue, tgt.srcPet())
|
||||||
: tgt.dst.addExAP(effvalue, tgt.srcPet());
|
: tgt.dst.addExAP(effvalue, tgt.srcPet());
|
||||||
tgt.success(efftype, n);
|
tgt.success(efftype, n);
|
||||||
|
tgt.success(SkillEffectType.CHG_AP, n);
|
||||||
}else{
|
}else{
|
||||||
tgt.fail(efftype, -1);
|
tgt.fail(efftype, -1);
|
||||||
}
|
}
|
||||||
@ -478,12 +479,16 @@ export class Skill {
|
|||||||
if(tgt.dsttype != GameUnitType.NONE){
|
if(tgt.dsttype != GameUnitType.NONE){
|
||||||
let oldhp = tgt.dst.getHP();
|
let oldhp = tgt.dst.getHP();
|
||||||
let n = tgt.dst.beHurt(effv, tgt.srcPet());
|
let n = tgt.dst.beHurt(effv, tgt.srcPet());
|
||||||
|
tgt.success(efftype, n);
|
||||||
if(n != 0){
|
if(n != 0){
|
||||||
tgt.success(SkillEffectType.HURT_POWER, n);
|
tgt.success(SkillEffectType.CHG_AP, n);
|
||||||
}
|
}
|
||||||
let dthp = tgt.dst.getHP() - oldhp;
|
let dthp = tgt.dst.getHP() - oldhp;
|
||||||
if(dthp != 0){
|
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 hv = n + dthp;
|
||||||
let pet = tgt.srcPet();
|
let pet = tgt.srcPet();
|
||||||
@ -491,7 +496,7 @@ export class Skill {
|
|||||||
//吸血
|
//吸血
|
||||||
let sv = pet.HPS(hv);
|
let sv = pet.HPS(hv);
|
||||||
if(sv != 0){
|
if(sv != 0){
|
||||||
tgt.success(SkillEffectType.HURT_POWER, sv, true);
|
tgt.success(SkillEffectType.CHG_AP, sv, true);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}else{
|
}else{
|
||||||
@ -509,6 +514,7 @@ export class Skill {
|
|||||||
let effv = this.EMV(effvalue);
|
let effv = this.EMV(effvalue);
|
||||||
let n = tgt.dst.addHP(effv, tgt.srcPet());
|
let n = tgt.dst.addHP(effv, tgt.srcPet());
|
||||||
tgt.success(efftype, n);
|
tgt.success(efftype, n);
|
||||||
|
tgt.success(SkillEffectType.CHG_HP, n);
|
||||||
}else{
|
}else{
|
||||||
tgt.fail(efftype, -1);
|
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.canAttack()? obj.attack(this, dst, param, v, isAtkBack): 1;
|
||||||
let n = obj.attack(this, dst, param, v, isAtkBack);
|
let n = obj.attack(this, dst, param, v, isAtkBack);
|
||||||
if(n <= 0){
|
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){
|
// if(this._data.quoteskillid){
|
||||||
// let dp = this._data.skill_users? param.oppClone(): param;
|
// let dp = this._data.skill_users? param.oppClone(): param;
|
||||||
// let pet = tgt.srcpet;
|
// let pet = tgt.srcpet;
|
||||||
@ -705,7 +714,10 @@ export class Skill {
|
|||||||
// }
|
// }
|
||||||
let dthp = tgt.dst.getHP() - oldhp;
|
let dthp = tgt.dst.getHP() - oldhp;
|
||||||
if(dthp != 0){
|
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 hv = n + dthp;
|
||||||
let pet = tgt.srcPet();
|
let pet = tgt.srcPet();
|
||||||
@ -713,7 +725,7 @@ export class Skill {
|
|||||||
//吸血
|
//吸血
|
||||||
let sv = pet.HPS(hv);
|
let sv = pet.HPS(hv);
|
||||||
if(sv != 0){
|
if(sv != 0){
|
||||||
tgt.success(SkillEffectType.HURT_POWER, sv, true);
|
tgt.success(SkillEffectType.CHG_AP, sv, true);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
tgt.success(efftype, hv);
|
tgt.success(efftype, hv);
|
||||||
|
@ -190,7 +190,7 @@ export const enum SkillRangeUnitType{
|
|||||||
* 3.抽别人牌
|
* 3.抽别人牌
|
||||||
* 4.将几张点数卡变为一张效果强化卡
|
* 4.将几张点数卡变为一张效果强化卡
|
||||||
* 5.强化战力(HP性质的战力)
|
* 5.强化战力(HP性质的战力)
|
||||||
* 6.强化战力(护盾性质的战力)
|
* 6.强化战力(护盾性质的战力)// 暂无用
|
||||||
* 7.扣除战力(伤害)
|
* 7.扣除战力(伤害)
|
||||||
* 8.召唤随从(需引用ID)
|
* 8.召唤随从(需引用ID)
|
||||||
* 9.触发技能(需引用ID) // 已废弃
|
* 9.触发技能(需引用ID) // 已废弃
|
||||||
@ -239,6 +239,9 @@ export const enum SkillEffectType
|
|||||||
CARD_DROP = 29,
|
CARD_DROP = 29,
|
||||||
BUFF_SHIELD = 30,
|
BUFF_SHIELD = 30,
|
||||||
HP_STEAL_ENHANCE = 31,
|
HP_STEAL_ENHANCE = 31,
|
||||||
|
|
||||||
|
CHG_HP = 10001,
|
||||||
|
CHG_AP = 10002,
|
||||||
};
|
};
|
||||||
|
|
||||||
// 技能效果参数类型
|
// 技能效果参数类型
|
||||||
|
@ -238,7 +238,7 @@ export class SkillTarget{
|
|||||||
obj.datas = [];
|
obj.datas = [];
|
||||||
lst.forEach((item: SkillTarget) => {
|
lst.forEach((item: SkillTarget) => {
|
||||||
let eds = item.exportEffDatas();
|
let eds = item.exportEffDatas();
|
||||||
obj.datas.push(...eds);
|
eds && obj.datas.push(...eds);
|
||||||
// item.res && item.res.forEach((skres: SkillResult) => {
|
// item.res && item.res.forEach((skres: SkillResult) => {
|
||||||
// let ed = item.exportResData(skres);
|
// let ed = item.exportResData(skres);
|
||||||
// ed && obj.datas.push(ed);
|
// ed && obj.datas.push(ed);
|
||||||
@ -312,6 +312,9 @@ export class SkillTarget{
|
|||||||
};
|
};
|
||||||
|
|
||||||
public exportEffDatas(): SKillEffectData[]{
|
public exportEffDatas(): SKillEffectData[]{
|
||||||
|
if(!this.res){
|
||||||
|
return null;
|
||||||
|
}
|
||||||
let r1: SkillResult[] = [];
|
let r1: SkillResult[] = [];
|
||||||
let r2: SkillResult[] = [];
|
let r2: SkillResult[] = [];
|
||||||
|
|
||||||
|
Loading…
x
Reference in New Issue
Block a user