pvp: 更改pvpdefense结构

This commit is contained in:
luying
2021-10-26 11:23:08 +08:00
parent 4a5e23969b
commit e39b120af4
31 changed files with 1542 additions and 1137 deletions

View File

@@ -193,7 +193,7 @@ export default class GMUsers extends Service {
let { uid, tel } = role.userInfo;
result.push({
key: roleId, roleId, roleName, serverId, lv, vLv, uid, tel, heroCount, equipCount, itemCount, gold, coin,
hasDefense: defense ? '是' : '否', defCe: defense ? defense.defCe : 0
hasDefense: defense ? '是' : '否', defCe: 0
});
}
return ctx.service.utils.resResult(STATUS.SUCCESS, { list: result });
@@ -394,59 +394,59 @@ export default class GMUsers extends Service {
// })
// }
public async saveHeroToDefense(roleId: string, _roleName: string, hid: number) {
const { ctx } = this;
let hero = await HeroModel.findByHidAndRole(hid, roleId);
let role = await RoleModel.findByRoleId(roleId);
if (!hero || !role) {
return ctx.service.utils.resResult(STATUS.GM_HERO_NOT_FOUND);
}
let { lv, ce, attr: heroAttrs } = hero;
let { attr: roleAttrs } = role;
// public async saveHeroToDefense(roleId: string, _roleName: string, hid: number) {
// const { ctx } = this;
// let hero = await HeroModel.findByHidAndRole(hid, roleId);
// let role = await RoleModel.findByRoleId(roleId);
// if (!hero || !role) {
// return ctx.service.utils.resResult(STATUS.GM_HERO_NOT_FOUND);
// }
// let { lv, ce, attr: heroAttrs } = hero;
// let { attr: roleAttrs } = role;
let dicHero = gameData.hero.get(hid);
// let dicHero = gameData.hero.get(hid);
let attribute = new AttributeCal();
attribute.setByDbData(roleAttrs, heroAttrs);
// let attribute = new AttributeCal();
// attribute.setByDbData(roleAttrs, heroAttrs);
let heroInfo = {
actorId: dicHero.heroId,
actorName: dicHero.name,
attribute, lv,
ce
};
// let heroInfo = {
// actorId: dicHero.heroId,
// actorName: dicHero.name,
// attribute, lv,
// ce
// };
let defense = await PvpDefenseModel.findByRoleId(roleId);
if (!defense) {
// defense = await PvpDefenseModel.createPvpDefense({roleId, roleName, heroes: [], defCe:ce});
} else {
defense = await PvpDefenseModel.addHeroToDefense(roleId, heroInfo, ce);
}
return ctx.service.utils.resResult(STATUS.SUCCESS, {
defense
});
}
// let defense = await PvpDefenseModel.findByRoleId(roleId);
// if (!defense) {
// // defense = await PvpDefenseModel.createPvpDefense({roleId, roleName, heroes: [], defCe:ce});
// } else {
// defense = await PvpDefenseModel.addHeroToDefense(roleId, heroInfo, ce);
// }
// return ctx.service.utils.resResult(STATUS.SUCCESS, {
// defense
// });
// }
public async removeHeroFromDefense(roleId: string, hid: number) {
const { ctx } = this;
// public async removeHeroFromDefense(roleId: string, hid: number) {
// const { ctx } = this;
let defense = await PvpDefenseModel.findByRoleId(roleId);
if (!defense) {
return ctx.service.utils.resResult(STATUS.GM_PVP_DEFENSE_NOT_FOUND);
}
let { heroes } = defense;
let curHero = heroes.find(cur => cur.actorId == hid);
if (!curHero) {
return ctx.service.utils.resResult(STATUS.GM_PVP_DEFENSE_HERO_NOT_FOUND);
}
defense = await PvpDefenseModel.removeHeroFromDefense(roleId, hid, curHero.ce);
// let defense = await PvpDefenseModel.findByRoleId(roleId);
// if (!defense) {
// return ctx.service.utils.resResult(STATUS.GM_PVP_DEFENSE_NOT_FOUND);
// }
// let { heroes } = defense;
// let curHero = heroes.find(cur => cur.actorId == hid);
// if (!curHero) {
// return ctx.service.utils.resResult(STATUS.GM_PVP_DEFENSE_HERO_NOT_FOUND);
// }
// defense = await PvpDefenseModel.removeHeroFromDefense(roleId, hid, curHero.ce);
return ctx.service.utils.resResult(STATUS.SUCCESS, {
defense
});
}
// return ctx.service.utils.resResult(STATUS.SUCCESS, {
// defense
// });
// }
/**
* 根据类型等搜索玩家