diff --git a/game-server/app/servers/activity/handler/treasureHuntHandler.ts b/game-server/app/servers/activity/handler/treasureHuntHandler.ts index 5631ea651..58c113932 100644 --- a/game-server/app/servers/activity/handler/treasureHuntHandler.ts +++ b/game-server/app/servers/activity/handler/treasureHuntHandler.ts @@ -19,6 +19,10 @@ export class TreasureHuntHandler { /************************寻宝骑兵活动****************************/ /** + * 每日物资:商店 + 寻宝备战:完成任务获得奖励,(奖品达到一定数量后开启 “寻宝大冒险”) + 寻宝大冒险:完成战棋关卡获得奖励 + 天子宝库:物品兑换奖励 * @description 获取寻宝骑兵活动的数据 * @param {BackendSession} session * @memberof TreasureHuntHandler @@ -64,7 +68,7 @@ export class TreasureHuntHandler { if (!item) { return resResult(STATUS.ACTIVITY_MISSING, {}); } - if (item.price >= 0) { + if (item.price > 0) { return resResult(STATUS.ACTIVITY_NEED_PAY, {}); } if (item.buyCount >= item.countMax) { diff --git a/game-server/app/services/treasureHuntService.ts b/game-server/app/services/treasureHuntService.ts index c63d2cde0..a24865ccf 100644 --- a/game-server/app/services/treasureHuntService.ts +++ b/game-server/app/services/treasureHuntService.ts @@ -44,7 +44,7 @@ export async function getPlayerTreasureHuntData(activityId: number, serverId: nu playerData.todayIndex = deltaDays(moment(huntBeginTime).startOf('d').toDate(), new Date) + 1;; playerData.roundIndex = huntRoundIndex; - let playerShopRecord: ActivityTreasureHuntShopModelType = await ActivityTreasureHuntShopModel.findTreasureData(serverId, activityId, roleId, huntRoundIndex, playerData.todayIndex); + let playerShopRecord: ActivityTreasureHuntShopModelType = await ActivityTreasureHuntShopModel.findTreasureData(activityId, roleId, huntRoundIndex, playerData.todayIndex); playerData.shop.setPlayerRecords(playerShopRecord); return playerData; } @@ -58,7 +58,7 @@ export async function getPlayerTreasureHuntShopData(activityId: number, serverId playerData.todayIndex = deltaDays(moment(huntBeginTime).startOf('d').toDate(), new Date) + 1;; playerData.roundIndex = huntRoundIndex; - let playerShopRecord: ActivityTreasureHuntShopModelType = await ActivityTreasureHuntShopModel.findTreasureData(serverId, activityId, roleId, huntRoundIndex, playerData.todayIndex); + let playerShopRecord: ActivityTreasureHuntShopModelType = await ActivityTreasureHuntShopModel.findTreasureData(activityId, roleId, huntRoundIndex, playerData.todayIndex); playerData.shop.setPlayerRecords(playerShopRecord); return playerData; } diff --git a/shared/db/ActivityTreasureHuntShop.ts b/shared/db/ActivityTreasureHuntShop.ts index 1c1c6f988..79833a4e2 100644 --- a/shared/db/ActivityTreasureHuntShop.ts +++ b/shared/db/ActivityTreasureHuntShop.ts @@ -14,7 +14,7 @@ export default class Activity_Treasure_Hunt_Shop extends ActivityShop { dayIndex: number; // 第几天 //根据活动id查询活动数据 - public static async findTreasureData(_serverId: number, activityId: number, roleId: string, roundIndex: number, dayIndex: number) { + public static async findTreasureData(activityId: number, roleId: string, roundIndex: number, dayIndex: number) { let result: ActivityTreasureHuntShopModelType = await ActivityTreasureHuntShopModel.findOne({ roleId, activityId, roundIndex, dayIndex }).lean(true); return result; } diff --git a/shared/domain/activityField/growthField.ts b/shared/domain/activityField/growthField.ts index c8cc618cc..2c512c2b6 100644 --- a/shared/domain/activityField/growthField.ts +++ b/shared/domain/activityField/growthField.ts @@ -117,7 +117,7 @@ export class GrowthData extends ActivityBase { //解析玩家领取记录 public async setPlayerRecords(data: ActivityGrowthModelType[], roleId: string, userHeroes: HeroType[]) { - let { heroNum } = await RoleModel.findByRoleId(roleId); + let { heroNum, towerLv } = await RoleModel.findByRoleId(roleId); for (let obj of this.list) { let index = data.findIndex(record => { return obj.dayIndex == record.dayIndex && obj.cellIndex == record.cellIndex }) if (index != -1) { @@ -130,6 +130,8 @@ export class GrowthData extends ActivityBase { let lv = obj.taskParamArray[1]; let heroes = userHeroes.filter(hero => { return hero.lv >= lv }) obj.totalCount = heroes.length; + } else if (obj.taskType === TASK_TYPE.BATTLE_TOWER_LV) { + obj.totalCount = towerLv; } } } diff --git a/shared/domain/activityField/treasureHuntField.ts b/shared/domain/activityField/treasureHuntField.ts index 9b9f26c32..c1acbe916 100644 --- a/shared/domain/activityField/treasureHuntField.ts +++ b/shared/domain/activityField/treasureHuntField.ts @@ -63,7 +63,7 @@ export class TreasureHuntShopData { return; } for (let item of this.list) { - let buyRecords = record.records.filter(obj => { obj.id === item.cellIndex }); + let buyRecords = record.records.filter(obj => { return obj.id === item.cellIndex }); item.buyCount = buyRecords.length; } } diff --git a/shared/pubUtils/taskUtil.ts b/shared/pubUtils/taskUtil.ts index df82d83c0..9abb3b1c7 100644 --- a/shared/pubUtils/taskUtil.ts +++ b/shared/pubUtils/taskUtil.ts @@ -696,7 +696,7 @@ export function isComplete(roleId: string, taskType: TASK_TYPE, taskParam: strin break; case TASK_TYPE.BATTLE_MAIN: - addCount = param[0] == paramObj.warId ? 1 : 0; + addCount = (param[1] == paramObj.warId) ? 1 : 0; break; case TASK_TYPE.EQUIP_JEWEL_SUM: addCount = count; @@ -794,6 +794,11 @@ export function isComplete(roleId: string, taskType: TASK_TYPE, taskParam: strin addCount = count; break; } + case TASK_TYPE.BATTLE_TOWER_LV://{towerLv} + { + addCount = paramObj.towerLv; + break; + } default: addCount = 0; break;