修订目标问题

This commit is contained in:
yuexin 2021-01-13 16:33:11 +08:00
parent 4b0b8850fd
commit 11dad2c3ed
2 changed files with 40 additions and 42 deletions

View File

@ -179,11 +179,10 @@ export class PetHandler {
obj.setOrignParam(eddcnt < 0? this._orignEffCnt: eddcnt, cp < 0? this._orignCardPoint: cp, from? from: this, this, tgtflag);
let bkeep = true;
if(obj.isBornSkill()){
if(from && from != this){
bkeep = false; // 一次性技能使用
}else{
if(!from || from == this){
this._bornSkills.push(obj);
}
bkeep = false; // 一次性技能使用
}else if(obj.isDieSkill()){
this._dieSkills.push(obj);
}else if(obj.isAPHaloSkill() || obj.isBuffHaloSkill()){
@ -422,7 +421,7 @@ export class PetHandler {
if(ev != 0 && !isAtkBack){
rv *= ev;
}
let myap = isAtkBack? ev: rv;
let bakap = apet.totalAP();

View File

@ -233,9 +233,7 @@ export class Skill {
setTargets(tgt: SkillTarget[]){
// todo是否需要拷贝
if(tgt && tgt.length > 0){
this._sts = tgt;
}
this._sts = tgt;
};
getQuoteValue(count: number, maxcount: number, effcount: number){
@ -321,54 +319,55 @@ export class Skill {
}
};
_real_trigger(ncount: number, param: SkillParam, cb?: any) {
_real_trigger(param: SkillParam, cb?: any) {
if(!this._sts){
this._sts = this.getTargets(param);
}
for(let i=0; i<ncount;i++){
let res = TriggerManager.onTrigger(this, param, this._sts);
let res = TriggerManager.onTrigger(this, param, this._sts);
this._currCount++;
if (!this._start) {
this._start = true;
}
cb && cb(this, param, res);
this._cb && this._cb(this, param, res);
this._currCount++;
if (!this._start) {
this._start = true;
}
cb && cb(this, param, res);
this._cb && this._cb(this, param, res);
};
trigger(param: SkillParam, cb?: any) {
if(!this._sts){
this._sts = this.getTargets(param);
}
let bnormal = !this._sts;
if(!this.isSummonSkill()){
let ncount = this.getFinalValue(EnhanceCustomType.RELEASE_TIMES, this._data.release_times,
this._data.release_timesmax, this._orign_effcnt, true);
this._real_trigger(ncount, param, cb);
let ncount = this.getFinalValue(EnhanceCustomType.RELEASE_TIMES, this._data.release_times,
this._data.release_timesmax, this._orign_effcnt, true);
this._triggerSubSkill(this._subskill, this._data.quoteskillid, this._data.skill_usersid,
this._data.quoteskill_times, this._data.quoteskill_timesmax, param, this._sts, cb);
for(let i = 0; i < ncount; i++){
if(bnormal){
this.setTargets(this.getTargets(param));
}
if(!this.isSummonSkill()){
this._real_trigger(param, cb);
this._triggerSubSkill(this._subskill2, this._data.quoteskill2id, this._data.skill2_usersid,
this._data.quoteskill2_times, this._data.quoteskill2_timesmax, param, this._sts, cb);
}else{
this._triggerSubSkill(this._subskill, this._data.quoteskillid, this._data.skill_usersid,
this._data.quoteskill_times, this._data.quoteskill_timesmax, param, this._sts, cb);
this._triggerSubSkill(this._subskill2, this._data.quoteskill2id, this._data.skill2_usersid,
this._data.quoteskill2_times, this._data.quoteskill2_timesmax, param, this._sts, cb);
let ncount = this.getFinalValue(EnhanceCustomType.RELEASE_TIMES, this._data.release_times,
this._data.release_timesmax, this._orign_effcnt, true);
this._real_trigger(ncount, param, cb);
this._triggerSubSkill(this._subskill, this._data.quoteskillid, this._data.skill_usersid,
this._data.quoteskill_times, this._data.quoteskill_timesmax, param, this._sts, cb);
this._triggerSubSkill(this._subskill2, this._data.quoteskill2id, this._data.skill2_usersid,
this._data.quoteskill2_times, this._data.quoteskill2_timesmax, param, this._sts, cb);
}else{
this._triggerSubSkill(this._subskill, this._data.quoteskillid, this._data.skill_usersid,
this._data.quoteskill_times, this._data.quoteskill_timesmax, param, this._sts, cb);
this._triggerSubSkill(this._subskill2, this._data.quoteskill2id, this._data.skill2_usersid,
this._data.quoteskill2_times, this._data.quoteskill2_timesmax, param, this._sts, cb);
this._real_trigger(param, cb);
}
}
this.setTargets(null);
};
checkTrigger(tg_type: TriggerType, tg_value: PlayerHandler, tg_target: SkillParam, cb?: any) {