pvp:修复保存最强防守阵容位置无效bug
This commit is contained in:
@@ -316,41 +316,51 @@ export class PvpHandler {
|
|||||||
let { challengeCnt, challengeRefTime } = refresh(lastChallengeCnt, lastChallengeRefTime, seasonEndTime);
|
let { challengeCnt, challengeRefTime } = refresh(lastChallengeCnt, lastChallengeRefTime, seasonEndTime);
|
||||||
|
|
||||||
if (!!isDefaultHero) {
|
if (!!isDefaultHero) {
|
||||||
let role = await RoleModel.findByRoleId(roleId);
|
let { topLineup } = await RoleModel.findByRoleId(roleId);
|
||||||
let { resHeroes } = await defaultHeroes(role, challengeCnt, challengeRefTime, true);
|
let hids = topLineup.filter(cur => {
|
||||||
return resResult(STATUS.SUCCESS, { heroes: resHeroes, challengeCnt, challengeRefTime, isDefaultHero} );
|
return !heroes.find(ccur => ccur.actorId == cur.hid);
|
||||||
} else {
|
}).map(cur => cur.hid);
|
||||||
for (let dataId = PVP_HERO_POS.START; dataId <= PVP_HERO_POS.END; dataId++) {
|
for(let hero of heroes) {
|
||||||
let index = findIndex(heroes, {dataId});
|
if(hero.actorId) {
|
||||||
let defIndex = findIndex(defHeros, {dataId});
|
let isInTop = topLineup.find(cur => cur.hid == hero.actorId);
|
||||||
if (defIndex == -1) {
|
if(!isInTop) {
|
||||||
defIndex = defHeros.length;
|
hero.actorId = hids.shift();
|
||||||
defHeros.push({actorId:0, order:0,ce:0, hero:null,dataId});
|
}
|
||||||
}
|
}
|
||||||
if (index == -1) {
|
|
||||||
defHeros[defIndex].actorId = 0;
|
|
||||||
defHeros[defIndex].order = 0;
|
|
||||||
defHeros[defIndex].ce = 0;
|
|
||||||
defHeros[defIndex].hero = null;
|
|
||||||
defHeros[defIndex].dataId = dataId;
|
|
||||||
continue;
|
|
||||||
}
|
|
||||||
if (heroes[index].order < 1 || heroes[index].order > LINEUP_NUM) {
|
|
||||||
return resResult(STATUS.WRONG_PARMS);
|
|
||||||
}
|
|
||||||
let hero = await HeroModel.findByHidAndRole(heroes[index].actorId, roleId);
|
|
||||||
if (!hero) {
|
|
||||||
continue;
|
|
||||||
}
|
|
||||||
defHeros[defIndex].actorId = heroes[index].actorId;
|
|
||||||
defHeros[defIndex].order = heroes[index].order;
|
|
||||||
defHeros[defIndex].ce = hero.ce;
|
|
||||||
defHeros[defIndex].hero = hero._id;
|
|
||||||
defCe += hero.ce;
|
|
||||||
}
|
}
|
||||||
let { heroes: resHeroes } = await PvpDefenseModel.updateInfo(roleId, {defCe, heroes: defHeros, challengeCnt, challengeRefTime, isDefaultHero });
|
|
||||||
return resResult(STATUS.SUCCESS, { heroes: resHeroes, challengeCnt, challengeRefTime, isDefaultHero });
|
|
||||||
}
|
}
|
||||||
|
|
||||||
|
for (let dataId = PVP_HERO_POS.START; dataId <= PVP_HERO_POS.END; dataId++) {
|
||||||
|
let index = findIndex(heroes, {dataId});
|
||||||
|
let defIndex = findIndex(defHeros, {dataId});
|
||||||
|
if (defIndex == -1) {
|
||||||
|
defIndex = defHeros.length;
|
||||||
|
defHeros.push({actorId:0, order:0,ce:0, hero:null,dataId});
|
||||||
|
}
|
||||||
|
if (index == -1) {
|
||||||
|
defHeros[defIndex].actorId = 0;
|
||||||
|
defHeros[defIndex].order = 0;
|
||||||
|
defHeros[defIndex].ce = 0;
|
||||||
|
defHeros[defIndex].hero = null;
|
||||||
|
defHeros[defIndex].dataId = dataId;
|
||||||
|
continue;
|
||||||
|
}
|
||||||
|
if (heroes[index].order < 1 || heroes[index].order > LINEUP_NUM) {
|
||||||
|
return resResult(STATUS.WRONG_PARMS);
|
||||||
|
}
|
||||||
|
let hero = await HeroModel.findByHidAndRole(heroes[index].actorId, roleId);
|
||||||
|
if (!hero) {
|
||||||
|
continue;
|
||||||
|
}
|
||||||
|
defHeros[defIndex].actorId = heroes[index].actorId;
|
||||||
|
defHeros[defIndex].order = heroes[index].order;
|
||||||
|
defHeros[defIndex].ce = hero.ce;
|
||||||
|
defHeros[defIndex].hero = hero._id;
|
||||||
|
defCe += hero.ce;
|
||||||
|
}
|
||||||
|
let { heroes: resHeroes } = await PvpDefenseModel.updateInfo(roleId, {defCe, heroes: defHeros, challengeCnt, challengeRefTime, isDefaultHero });
|
||||||
|
return resResult(STATUS.SUCCESS, { heroes: resHeroes, challengeCnt, challengeRefTime, isDefaultHero });
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
async getRank(msg: {}, session: BackendSession) {
|
async getRank(msg: {}, session: BackendSession) {
|
||||||
|
|||||||
@@ -1,4 +1,9 @@
|
|||||||
[
|
[
|
||||||
|
{
|
||||||
|
"id": 0,
|
||||||
|
"content": "%d",
|
||||||
|
"time": 24
|
||||||
|
},
|
||||||
{
|
{
|
||||||
"id": 1,
|
"id": 1,
|
||||||
"content": "您对军团%d的申请被拒绝",
|
"content": "您对军团%d的申请被拒绝",
|
||||||
|
|||||||
Reference in New Issue
Block a user