任务:强化装备至多少级

This commit is contained in:
luying
2022-04-27 11:30:16 +08:00
parent d7bbc07485
commit a7fff6bc3c
5 changed files with 26 additions and 18 deletions
@@ -253,7 +253,7 @@ export class ExpeditionBattleHandler {
await RoleModel.updateRoleInfo(roleId, { warStar: newWarStars }); await RoleModel.updateRoleInfo(roleId, { warStar: newWarStars });
} }
} }
await checkTaskInBattleEnd(serverId, roleId, sid, battleId, dbHeroes, star); await checkTaskInBattleEnd(serverId, roleId, sid, battleId, dbHeroes, star, isSuccess);
return resResult(STATUS.SUCCESS, { return resResult(STATUS.SUCCESS, {
expeditionCode, expeditionId, expeditionCode, expeditionId,
@@ -380,6 +380,10 @@ async function updateRank(roleId: string, serverId: number, topLineupCe: number,
if(guild) { if(guild) {
await updateUserInfo(REDIS_KEY.GUILD_INFO, guild.code, [{ field: 'guildCe', value: guild.guildCe }]); await updateUserInfo(REDIS_KEY.GUILD_INFO, guild.code, [{ field: 'guildCe', value: guild.guildCe }]);
} }
// 武将数量
let r6 = new Rank(REDIS_KEY.HERO_NUM_RANK, { serverId });
await r6.setRankWithRoleInfo(roleId, role.heroNum, role.heroNumUpdatedAt, role);
} }
export async function getSumCe(roleId: string, num: number) { export async function getSumCe(roleId: string, num: number) {
+2 -2
View File
@@ -11,9 +11,10 @@ import { transPiece } from "./util";
import { addItems, unlockFigure, } from "./rewardService"; import { addItems, unlockFigure, } from "./rewardService";
import { CounterModel } from "../../db/Counter"; import { CounterModel } from "../../db/Counter";
import { calculateCes } from "../playerCeService"; import { calculateCes } from "../playerCeService";
import { RoleUpdate } from "../../db/Role"; import { RoleModel, RoleType, RoleUpdate } from "../../db/Role";
import { sendMessageToUser, sendMessageToUserWithSuc } from "../pushService"; import { sendMessageToUser, sendMessageToUserWithSuc } from "../pushService";
import { checkTaskInCreateHero } from "../task/taskService"; import { checkTaskInCreateHero } from "../task/taskService";
import { Rank } from "../rankService";
/** /**
* 创建多个武将 * 创建多个武将
@@ -87,7 +88,6 @@ export async function createHero(roleId: string, roleName: string, sid: string,
return result; return result;
} }
function getSkinPushMsg(resultHeroes: HeroType[], skins: SkinUpdate[]) { function getSkinPushMsg(resultHeroes: HeroType[], skins: SkinUpdate[]) {
let skinPushMessages: {heros: {skins: HeroSkin[], hid: number}[], skins: {id: number, hid: number, inc: number, reason: number }[]} = { heros: [], skins:[] }; // 皮肤推送信息 let skinPushMessages: {heros: {skins: HeroSkin[], hid: number}[], skins: {id: number, hid: number, inc: number, reason: number }[]} = { heros: [], skins:[] }; // 皮肤推送信息
for(let { hid, skins } of resultHeroes) { for(let { hid, skins } of resultHeroes) {
+6 -1
View File
@@ -144,7 +144,12 @@ export function addConsumeToHero(oldConsume: Reward[] = [], consumes: ItemInter[
if(!oldConsume) oldConsume = []; if(!oldConsume) oldConsume = [];
let consumeMap = new Map<number, number>(); let consumeMap = new Map<number, number>();
for(let { id, count = 1 } of consumes) { for(let { id, count = 1 } of consumes) {
consumeMap.set(id, count); if(!consumeMap.has(id)) {
consumeMap.set(id, count);
} else {
consumeMap.set(id, consumeMap.get(id) + count);
}
} }
let newConsume: Reward[] = []; let newConsume: Reward[] = [];
for(let {id, count} of oldConsume) { for(let {id, count} of oldConsume) {
+13 -14
View File
@@ -951,10 +951,9 @@ export class CheckSingleTask {
let addCount = 0; let addCount = 0;
for(let eplaceId of ePlaceIds) { for(let eplaceId of ePlaceIds) {
let { oldEquip, newEquip } = getEquipById(oldEplace, newEplace, eplaceId); let { oldEquip, newEquip } = getEquipById(oldEplace, newEplace, eplaceId);
if(oldEquip.lv < param[1] && newEquip.lv >= param[1]) { console.log('##### oldEquip', oldEquip.lv, newEquip.lv, dicTaskParam[1])
if(oldEquip.lv < dicTaskParam[1] && newEquip.lv >= dicTaskParam[1]) {
addCount += 1; addCount += 1;
} else if (oldEquip.lv >= param[1] && newEquip.lv < param[1]) {
addCount -= 1;
} }
} }
if(addCount != 0) { if(addCount != 0) {
@@ -981,9 +980,9 @@ export class CheckSingleTask {
let oldStoneCnt = oldEquip.stones.filter(cur => cur.stone != 0).length; let oldStoneCnt = oldEquip.stones.filter(cur => cur.stone != 0).length;
let newStoneCnt = newEquip.stones.filter(cur => cur.stone != 0).length; let newStoneCnt = newEquip.stones.filter(cur => cur.stone != 0).length;
if(oldStoneCnt < param[1] && newStoneCnt >= param[1]) { if(oldStoneCnt < dicTaskParam[1] && newStoneCnt >= dicTaskParam[1]) {
result = { inc: 1 }; result = { inc: 1 };
} else if (oldStoneCnt >= param[1] && newStoneCnt < param[1]) { } else if (oldStoneCnt >= dicTaskParam[1] && newStoneCnt < dicTaskParam[1]) {
result = { inc: -1 }; result = { inc: -1 };
} }
break; break;
@@ -993,7 +992,7 @@ export class CheckSingleTask {
let { oldEquip, newEquip } = param; let { oldEquip, newEquip } = param;
let oldStar = oldEquip?.star||0; let oldStar = oldEquip?.star||0;
let star = newEquip?.star||0 let star = newEquip?.star||0
if(oldStar < param[1] && star >= param[1]) { if(oldStar < dicTaskParam[1] && star >= dicTaskParam[1]) {
result = { inc: 1 }; result = { inc: 1 };
}; };
break; break;
@@ -1042,7 +1041,7 @@ export class CheckSingleTask {
if(oldStar >= star) oldCount++; if(oldStar >= star) oldCount++;
if(newStar >= star) count++; if(newStar >= star) count++;
} }
if(oldCount < param[1] && count >= param[1]) { if(oldCount < dicTaskParam[1] && count >= dicTaskParam[1]) {
result = { inc: 1 }; result = { inc: 1 };
} }
break; break;
@@ -1066,7 +1065,7 @@ export class CheckSingleTask {
let { oldEquip, newEquip } = param; let { oldEquip, newEquip } = param;
let oldQuality = oldEquip?.quality||0; let oldQuality = oldEquip?.quality||0;
let quality = newEquip?.quality||0; let quality = newEquip?.quality||0;
if(oldQuality < param[1] && quality >= param[1]) { if(oldQuality < dicTaskParam[1] && quality >= dicTaskParam[1]) {
result = { inc: 1 }; result = { inc: 1 };
} }
break; break;
@@ -1132,11 +1131,11 @@ export class CheckSingleTask {
let dicStone = gameData.stone.get(cur.stone); let dicStone = gameData.stone.get(cur.stone);
return dicStone?dicStone.lv: 0; return dicStone?dicStone.lv: 0;
}); });
let oldCount = oldStoneLvs.filter(lv => lv >= param[2]).length; let oldCount = oldStoneLvs.filter(lv => lv >= dicTaskParam[2]).length;
let newCount = newStoneLvs.filter(lv => lv >= param[2]).length; let newCount = newStoneLvs.filter(lv => lv >= dicTaskParam[2]).length;
if(oldCount < param[1] && newCount >= param[1]) { if(oldCount < dicTaskParam[1] && newCount >= dicTaskParam[1]) {
result = { inc: 1 }; result = { inc: 1 };
} else if (oldCount >= param[1] && newCount < param[1]) { } else if (oldCount >= dicTaskParam[1] && newCount < dicTaskParam[1]) {
result = { inc: -1 } result = { inc: -1 }
} }
break; break;
@@ -1156,9 +1155,9 @@ export class CheckSingleTask {
return isRandSeUnLock(newJewel.id, se.id, newEquip.stones); return isRandSeUnLock(newJewel.id, se.id, newEquip.stones);
}).length; }).length;
if(oldUnlockSeCnt < param[1] && newUnlockSeCnt >= param[1]) { if(oldUnlockSeCnt < dicTaskParam[1] && newUnlockSeCnt >= dicTaskParam[1]) {
result = { inc: -1 }; result = { inc: -1 };
} else if (oldUnlockSeCnt >= param[1] && newUnlockSeCnt < param[1]) { } else if (oldUnlockSeCnt >= dicTaskParam[1] && newUnlockSeCnt < dicTaskParam[1]) {
result = { inc: 1 }; result = { inc: 1 };
} }
break; break;