feat(gvg): 征战中原动态、任务、贡献

This commit is contained in:
luying
2023-02-04 18:14:34 +08:00
parent 1f083dc0fa
commit e7a62c4e3e
12 changed files with 104 additions and 29 deletions

View File

@@ -2,6 +2,8 @@
// 动态
import { GVG_REC_ID, GVG_REC_TYPE, GVG_RESOURCE_TYPE } from "../../consts";
import { GVGRecModel } from "../../db/GVGRec";
import { GVGVestigeRecType } from "../../db/GVGVestigeRec";
import { gameData } from "../../pubUtils/data";
import { nowSeconds } from "../../pubUtils/timeUtil";
import { getGVGConfig } from "./gvgService";
@@ -34,4 +36,32 @@ function getResourceNameByType(resourceType: GVG_RESOURCE_TYPE) {
case GVG_RESOURCE_TYPE.MINERAL: return '矿物';
case GVG_RESOURCE_TYPE.WOOD: return '木堆';
}
}
export async function addVestigeBattleEndRec(rec: GVGVestigeRecType) {
if(!rec) return;
let { configId, vestigeId } = rec;
let vestigeName = gameData.gvgVestigeName.get(vestigeId);
if(rec.defenseInfo && rec.defenseInfo.isRobot) { // 对手是机器人,驻扎动态
let { roleId, roleName, leagueCode, newRank, isSuccess } = rec.attackInfo;
if(isSuccess) {
let params = [ roleName, vestigeName, `${newRank}`];
await GVGRecModel.addRec({ roleId, leagueCode, configId, type: GVG_REC_TYPE.PREPARE, recId: GVG_REC_ID.SETTLE_POINT, createTime: nowSeconds(), params });
}
}
if(rec.defenseInfo && !rec.defenseInfo.isRobot && rec.attackInfo.leagueCode != rec.defenseInfo.leagueCode) {
let { leagueName, newRank, isSuccess } = rec.attackInfo;
let { roleId, leagueCode, roleName } = rec.defenseInfo;
if(isSuccess) {
let params = [ roleName, vestigeName, `${newRank}`, leagueName];
await GVGRecModel.addRec({ roleId, leagueCode, configId, type: GVG_REC_TYPE.PREPARE, recId: GVG_REC_ID.POINT_BE_GRAB, createTime: nowSeconds(), params });
}
}
}
export async function addVestigeLeagueRankRec(configId: number, ranks: { rank: number, field: string }[]) {
await GVGRecModel.addRecs(ranks.map(({ rank, field: leagueCode }) => {
let params = [ `${rank}`];
return { leagueCode, configId, type: GVG_REC_TYPE.PREPARE, recId: GVG_REC_ID.VESTIGE_RANK, createTime: nowSeconds(), params };
}));
}