导表+技能结果重新处理

This commit is contained in:
y.x 2021-01-09 02:10:25 +08:00
parent ed2f5795a9
commit bfad074862
4 changed files with 64 additions and 7 deletions

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

View File

@ -204,6 +204,7 @@ export class SkillTarget{
return this.bresok? this.lasttime: 0; return this.bresok? this.lasttime: 0;
}; };
// 暂无用
public exportData(): SkillInfoMsg{ public exportData(): SkillInfoMsg{
let msg = new SkillInfoMsg(); let msg = new SkillInfoMsg();
msg.data = new SkillInfoData(); msg.data = new SkillInfoData();
@ -236,10 +237,12 @@ export class SkillTarget{
obj.pos = st.srcpet? st.srcpet._idx: 0; obj.pos = st.srcpet? st.srcpet._idx: 0;
obj.datas = []; obj.datas = [];
lst.forEach((item: SkillTarget) => { lst.forEach((item: SkillTarget) => {
item.res && item.res.forEach((skres: SkillResult) => { let eds = item.exportEffDatas();
let ed = item.exportResData(skres); obj.datas.push(...eds);
ed && obj.datas.push(ed); // item.res && item.res.forEach((skres: SkillResult) => {
}); // let ed = item.exportResData(skres);
// ed && obj.datas.push(ed);
// });
}); });
return msg; return msg;
}; };
@ -271,6 +274,60 @@ export class SkillTarget{
} }
return null; return null;
};
public exportEffData(reslst: SkillResult[], bopp: boolean = false): SKillEffectData{
if(!reslst || reslst.length <= 0){
return null;
}
let ed = new SKillEffectData();
let item = this;
if(bopp){
ed.pos = item.srcPet()._idx;
ed.player = item.srcPlayer().getId();
}else{
if(item.dsttype == GameUnitType.PLAYER){
ed.pos = 0;
ed.player = (item.dst as PlayerHandler).getId();
}else {
ed.pos = (item.dst as PetHandler)._idx;
ed.player = (item.dst as PetHandler)._owner.getId();
}
}
reslst.forEach((item: SkillResult) => {
let obj = {
effect_id: item.effect_type,
val: item.bsuccess? item.effect_res: item.err,
result: item.bsuccess? 0: -1,
};
ed.data.push(obj);
});
return ed;
};
public exportEffDatas(): SKillEffectData[]{
let r1: SkillResult[] = [];
let r2: SkillResult[] = [];
this.res.forEach((item: SkillResult) => {
if(item.beffsrc){
r2.push(item);
}else{
r1.push(item);
}
});
let reslst = [];
let res = this.exportEffData(r1);
res && reslst.push(res);
res = this.exportEffData(r2, true);
res && reslst.push(res);
return reslst;
} }
}; };