任务:任务去除funcs的判断,直接达成

This commit is contained in:
luying
2021-09-10 16:53:35 +08:00
parent 28f9c65873
commit faf4d25f60
76 changed files with 471 additions and 610 deletions
@@ -29,7 +29,7 @@ export class ActivityHandler {
const roleId = session.get('roleId'); const roleId = session.get('roleId');
const serverId = session.get('serverId'); const serverId = session.get('serverId');
const sid: string = session.get('sid'); const sid: string = session.get('sid');
const funcs: number[] = session.get('funcs');
let playerActivityArray = []; let playerActivityArray = [];
@@ -61,20 +61,20 @@ export class ActivityHandler {
const roleId = session.get('roleId'); const roleId = session.get('roleId');
const serverId = session.get('serverId'); const serverId = session.get('serverId');
const sid: string = session.get('sid'); const sid: string = session.get('sid');
const funcs: number[] = session.get('funcs');
let heroNum = 1; let heroNum = 1;
// await checkActivityTask(serverId, sid, funcs, roleId, TASK_TYPE.HERO_QUALITY, heroNum, { heroes: [{ quality: 3 }] }) // await checkActivityTask(serverId, sid, roleId, TASK_TYPE.HERO_QUALITY, heroNum, { heroes: [{ quality: 3 }] })
// await checkActivityTask(serverId, sid, funcs, roleId, TASK_TYPE.HERO_QUALITY_TO_QUALITY_COUNT, 1, { oldQuality: 1, quality: 2 }) // await checkActivityTask(serverId, sid, roleId, TASK_TYPE.HERO_QUALITY_TO_QUALITY_COUNT, 1, { oldQuality: 1, quality: 2 })
// await checkActivityTask(serverId, sid, funcs, roleId, TASK_TYPE.HERO_WAKE_UP_STAR_UP_COUNT, 1, { quality: 1, colorStar: 1 }) // await checkActivityTask(serverId, sid, roleId, TASK_TYPE.HERO_WAKE_UP_STAR_UP_COUNT, 1, { quality: 1, colorStar: 1 })
// await checkActivityTask(serverId, sid, funcs, roleId, TASK_TYPE.BATTLE_MAIN_ELITE, 1, { mainEliteWarId: 9001 }) // await checkActivityTask(serverId, sid, roleId, TASK_TYPE.BATTLE_MAIN_ELITE, 1, { mainEliteWarId: 9001 })
// await checkActivityTask(serverId, sid, funcs, roleId, TASK_TYPE.BATTLE_DUNGEON_WAR, 1, { warId: 5001 }) // await checkActivityTask(serverId, sid, roleId, TASK_TYPE.BATTLE_DUNGEON_WAR, 1, { warId: 5001 })
// await checkActivityTask(serverId, sid, funcs, roleId, TASK_TYPE.BATTLE_EXPEDITION_BOX, 1) // await checkActivityTask(serverId, sid, roleId, TASK_TYPE.BATTLE_EXPEDITION_BOX, 1)
// await checkActivityTask(serverId, sid, funcs, roleId, TASK_TYPE.ROLE_LV, 100) // await checkActivityTask(serverId, sid, roleId, TASK_TYPE.ROLE_LV, 100)
// await checkActivityTask(serverId, sid, funcs, roleId, TASK_TYPE.PVP, 1) // await checkActivityTask(serverId, sid, roleId, TASK_TYPE.PVP, 1)
// await checkActivityTask(serverId, sid, funcs, roleId, TASK_TYPE.BATTLE_TOWER_LV, 1, { towerLv: lv }) // await checkActivityTask(serverId, sid, roleId, TASK_TYPE.BATTLE_TOWER_LV, 1, { towerLv: lv })
// await checkActivityTask(serverId, sid, funcs, roleId, TASK_TYPE.GASHA, 1) // await checkActivityTask(serverId, sid, roleId, TASK_TYPE.GASHA, 1)
// if (lv == 2) { // if (lv == 2) {
// await GTCreateListMessage('批量推送测试11', 259200000, '哈哈哈哈哈11', '噢噢噢噢噢噢噢噢11') // await GTCreateListMessage('批量推送测试11', 259200000, '哈哈哈哈哈11', '噢噢噢噢噢噢噢噢11')
@@ -104,7 +104,7 @@ export class ActivityHandler {
const roleId = session.get('roleId'); const roleId = session.get('roleId');
const serverId = session.get('serverId'); const serverId = session.get('serverId');
const sid: string = session.get('sid'); const sid: string = session.get('sid');
const funcs: number[] = session.get('funcs');
let activityData = await ActivityModel.debugFindActivityByType(type); let activityData = await ActivityModel.debugFindActivityByType(type);
return resResult(STATUS.SUCCESS, activityData); return resResult(STATUS.SUCCESS, activityData);
} }
@@ -31,7 +31,7 @@ export class ActivityMonopolyHandler {
const roleId = session.get('roleId'); const roleId = session.get('roleId');
const serverId = session.get('serverId'); const serverId = session.get('serverId');
const sid: string = session.get('sid'); const sid: string = session.get('sid');
const funcs: number[] = session.get('funcs');
let playerData = await getPlayerMonopolyData(activityId, serverId, roleId) let playerData = await getPlayerMonopolyData(activityId, serverId, roleId)
@@ -52,7 +52,7 @@ export class ActivityMonopolyHandler {
const roleId = session.get('roleId'); const roleId = session.get('roleId');
const serverId = session.get('serverId'); const serverId = session.get('serverId');
const sid: string = session.get('sid'); const sid: string = session.get('sid');
const funcs: number[] = session.get('funcs');
const roleName = session.get('roleName'); const roleName = session.get('roleName');
let moveStep = 0; let moveStep = 0;
@@ -81,7 +81,7 @@ export class ActivityMonopolyHandler {
if (landData.rewards.length > landData.stopCount) { if (landData.rewards.length > landData.stopCount) {
let reward = landData.rewards[landData.level - 1]; let reward = landData.rewards[landData.level - 1];
let rewardArray = stringToRewardParam(reward) let rewardArray = stringToRewardParam(reward)
landReward = await addReward(roleId, roleName, sid, serverId, funcs, rewardArray); landReward = await addReward(roleId, roleName, sid, serverId, rewardArray);
} }
//土地升级 //土地升级
@@ -97,7 +97,7 @@ export class ActivityMonopolyHandler {
if (records.length < landData.takeOutMax) { if (records.length < landData.takeOutMax) {
let resource = landData.record[0].resource; let resource = landData.record[0].resource;
let rewardArray = stringToRewardParam(resource) let rewardArray = stringToRewardParam(resource)
bankReward = await addReward(roleId, roleName, sid, serverId, funcs, rewardArray); bankReward = await addReward(roleId, roleName, sid, serverId, rewardArray);
let recordResult = await ActivityMonopolyLandModel.addRecord(serverId, activityId, roleId, newPosition, BANK_TYPE.OUT, resource); let recordResult = await ActivityMonopolyLandModel.addRecord(serverId, activityId, roleId, newPosition, BANK_TYPE.OUT, resource);
landData.record = recordResult.record; landData.record = recordResult.record;
} }
@@ -109,7 +109,7 @@ export class ActivityMonopolyHandler {
if (records.length < landData.takeOutMax) { if (records.length < landData.takeOutMax) {
let resource = landData.record[0].resource; let resource = landData.record[0].resource;
let rewardArray = stringToRewardParam(resource) let rewardArray = stringToRewardParam(resource)
bankReward = await addReward(roleId, roleName, sid, serverId, funcs, rewardArray); bankReward = await addReward(roleId, roleName, sid, serverId, rewardArray);
let recordResult = await ActivityMonopolyLandModel.addRecord(serverId, activityId, roleId, newPosition, BANK_TYPE.OUT, resource); let recordResult = await ActivityMonopolyLandModel.addRecord(serverId, activityId, roleId, newPosition, BANK_TYPE.OUT, resource);
landData.record = recordResult.record; landData.record = recordResult.record;
} }
@@ -131,7 +131,7 @@ export class ActivityMonopolyHandler {
const roleId = session.get('roleId'); const roleId = session.get('roleId');
const serverId = session.get('serverId'); const serverId = session.get('serverId');
const sid: string = session.get('sid'); const sid: string = session.get('sid');
const funcs: number[] = session.get('funcs');
if (addCount > 0) { if (addCount > 0) {
let playerData = await getPlayerMonopolyData(activityId, serverId, roleId) let playerData = await getPlayerMonopolyData(activityId, serverId, roleId)
@@ -209,7 +209,7 @@ export class ActivityMonopolyHandler {
const serverId = session.get('serverId'); const serverId = session.get('serverId');
const sid = session.get('sid'); const sid = session.get('sid');
const roleName = session.get('roleName'); const roleName = session.get('roleName');
const funcs: number[] = session.get('funcs');
let playerMonopolyData: ActivityMonopolyModelType = await ActivityMonopolyModel.findData(serverId, monopolyActivityId, roleId); let playerMonopolyData: ActivityMonopolyModelType = await ActivityMonopolyModel.findData(serverId, monopolyActivityId, roleId);
let playerData = await getPlayerMonopolyData(monopolyActivityId, serverId, roleId) let playerData = await getPlayerMonopolyData(monopolyActivityId, serverId, roleId)
if (!playerData) return resResult(STATUS.ACTIVITY_MISSING); if (!playerData) return resResult(STATUS.ACTIVITY_MISSING);
@@ -243,7 +243,7 @@ export class ActivityMonopolyHandler {
if (!consumeResult) return resResult(STATUS.ROLE_MATERIAL_NOT_ENOUGH); if (!consumeResult) return resResult(STATUS.ROLE_MATERIAL_NOT_ENOUGH);
let rewardArray = stringToRewardParam(item.reward) let rewardArray = stringToRewardParam(item.reward)
let result = await addReward(roleId, roleName, sid, serverId, funcs, rewardArray); let result = await addReward(roleId, roleName, sid, serverId, rewardArray);
await ActivityRefreshShopModel.addRecord(shopActivityId, roleId, roundIndex, pageIndex, id); await ActivityRefreshShopModel.addRecord(shopActivityId, roleId, roundIndex, pageIndex, id);
@@ -49,7 +49,7 @@ export class DailyChallengesHandler {
const serverId = session.get('serverId'); const serverId = session.get('serverId');
const sid = session.get('sid'); const sid = session.get('sid');
const roleName = session.get('roleName'); const roleName = session.get('roleName');
const funcs = session.get('funcs');
let playerData = await getPlayerDailyChallengesData(activityId, serverId, roleId) let playerData = await getPlayerDailyChallengesData(activityId, serverId, roleId)
if (!playerData) return resResult(STATUS.ACTIVITY_MISSING); if (!playerData) return resResult(STATUS.ACTIVITY_MISSING);
@@ -68,7 +68,7 @@ export class DailyChallengesHandler {
await ActivityDailyChallengesModel.addCellRecord(serverId, activityId, roleId, dayIndex, cellIndex, type, 1); await ActivityDailyChallengesModel.addCellRecord(serverId, activityId, roleId, dayIndex, cellIndex, type, 1);
let rewardParamArr: Array<RewardParam> = stringToRewardParam(dailyItemData.reward); let rewardParamArr: Array<RewardParam> = stringToRewardParam(dailyItemData.reward);
let result = await addReward(roleId, roleName, sid, serverId, funcs, rewardParamArr) let result = await addReward(roleId, roleName, sid, serverId, rewardParamArr)
dailyItemData.receiveRewardCount = 1; dailyItemData.receiveRewardCount = 1;
return resResult(STATUS.SUCCESS, Object.assign(result, { return resResult(STATUS.SUCCESS, Object.assign(result, {
@@ -55,7 +55,7 @@ export class DailyCoinHandler {
const serverId = session.get('serverId'); const serverId = session.get('serverId');
const sid = session.get('sid'); const sid = session.get('sid');
const roleName = session.get('roleName'); const roleName = session.get('roleName');
const funcs = session.get('funcs');
let playerData = await getPlayerDailyCoinData(activityId, serverId, roleId) let playerData = await getPlayerDailyCoinData(activityId, serverId, roleId)
if (!playerData) return resResult(STATUS.ACTIVITY_MISSING); if (!playerData) return resResult(STATUS.ACTIVITY_MISSING);
@@ -127,7 +127,7 @@ export class DailyCoinHandler {
//免费期间 //免费期间
let time = moment(new Date()).valueOf(); let time = moment(new Date()).valueOf();
let result = await addReward(roleId, roleName, sid, serverId, funcs, newReward) let result = await addReward(roleId, roleName, sid, serverId, newReward)
await ActivityDailyCoinModel.addExchangeRecord(serverId, activityId, roleId, playerData.beginTime, count, addCoin, `${count}&${consumeGold}&${addCoin}&${time}`); await ActivityDailyCoinModel.addExchangeRecord(serverId, activityId, roleId, playerData.beginTime, count, addCoin, `${count}&${consumeGold}&${addCoin}&${time}`);
let exchangeCount = playerData.exchangeCount + count; let exchangeCount = playerData.exchangeCount + count;
@@ -46,7 +46,7 @@ export class DailyGKHandler {
const serverId = session.get('serverId'); const serverId = session.get('serverId');
const sid = session.get('sid'); const sid = session.get('sid');
const roleName = session.get('roleName'); const roleName = session.get('roleName');
const funcs = session.get('funcs');
let playerData = await getPlayerDailyGKData(activityId, serverId, roleId) let playerData = await getPlayerDailyGKData(activityId, serverId, roleId)
if (!playerData) return resResult(STATUS.ACTIVITY_MISSING); if (!playerData) return resResult(STATUS.ACTIVITY_MISSING);
@@ -66,7 +66,7 @@ export class DailyGKHandler {
// await ActivityDailyGKModel.addRecord(serverId, activityId, roleId, dayIndex); // await ActivityDailyGKModel.addRecord(serverId, activityId, roleId, dayIndex);
// let rewardParamArr: Array<RewardParam> = stringToRewardParam(dailyItemData.reward); // let rewardParamArr: Array<RewardParam> = stringToRewardParam(dailyItemData.reward);
// let result = await addReward(roleId, roleName, sid, serverId, funcs, rewardParamArr) // let result = await addReward(roleId, roleName, sid, serverId, rewardParamArr)
// dailyItemData.isSuccess = true; // dailyItemData.isSuccess = true;
return resResult(STATUS.SUCCESS, { return resResult(STATUS.SUCCESS, {
@@ -51,7 +51,7 @@ export class DailyGiftsHandler {
const serverId = session.get('serverId'); const serverId = session.get('serverId');
const sid = session.get('sid'); const sid = session.get('sid');
const roleName = session.get('roleName'); const roleName = session.get('roleName');
const funcs = session.get('funcs');
let playerData = await getPlayerDailyGiftsData(activityId, serverId, roleId) let playerData = await getPlayerDailyGiftsData(activityId, serverId, roleId)
if (!playerData) return resResult(STATUS.ACTIVITY_MISSING); if (!playerData) return resResult(STATUS.ACTIVITY_MISSING);
@@ -81,7 +81,7 @@ export class DailyGiftsHandler {
await ActivityDailyGiftsModel.buyRecord(serverId, activityId, roleId, dayIndex, cellIndex, 1); await ActivityDailyGiftsModel.buyRecord(serverId, activityId, roleId, dayIndex, cellIndex, 1);
let rewardParamArr: Array<RewardParam> = stringToRewardParam(dailyItemData.reward); let rewardParamArr: Array<RewardParam> = stringToRewardParam(dailyItemData.reward);
let result = await addReward(roleId, roleName, sid, serverId, funcs, rewardParamArr) let result = await addReward(roleId, roleName, sid, serverId, rewardParamArr)
dailyItemData.buyCount += 1; dailyItemData.buyCount += 1;
return resResult(STATUS.SUCCESS, Object.assign(result, { return resResult(STATUS.SUCCESS, Object.assign(result, {
@@ -52,7 +52,7 @@ export class DailyMealHandler {
const serverId = session.get('serverId'); const serverId = session.get('serverId');
const sid = session.get('sid'); const sid = session.get('sid');
const roleName = session.get('roleName'); const roleName = session.get('roleName');
const funcs = session.get('funcs');
let playerData = await getPlayerDailyMealData(activityId, serverId, roleId) let playerData = await getPlayerDailyMealData(activityId, serverId, roleId)
if (!playerData) return resResult(STATUS.ACTIVITY_MISSING); if (!playerData) return resResult(STATUS.ACTIVITY_MISSING);
@@ -76,7 +76,7 @@ export class DailyMealHandler {
} }
//免费期间 //免费期间
let rewardParamArr: Array<RewardParam> = stringToRewardParam(itemData.reward); let rewardParamArr: Array<RewardParam> = stringToRewardParam(itemData.reward);
let result = await addReward(roleId, roleName, sid, serverId, funcs, rewardParamArr) let result = await addReward(roleId, roleName, sid, serverId, rewardParamArr)
await ActivityDailyMealModel.addReceiveRecord(serverId, activityId, roleId, type, curDate); await ActivityDailyMealModel.addReceiveRecord(serverId, activityId, roleId, type, curDate);
itemData.isReceive = true; itemData.isReceive = true;
return resResult(STATUS.SUCCESS, Object.assign(result, { return resResult(STATUS.SUCCESS, Object.assign(result, {
@@ -48,7 +48,7 @@ export class DailyRMBGiftsHandler {
const serverId = session.get('serverId'); const serverId = session.get('serverId');
const sid = session.get('sid'); const sid = session.get('sid');
const roleName = session.get('roleName'); const roleName = session.get('roleName');
const funcs: number[] = session.get('funcs');
let playerData = await getPlayerDailyRMBGiftsData(activityId, serverId, roleId) let playerData = await getPlayerDailyRMBGiftsData(activityId, serverId, roleId)
if (!playerData) return resResult(STATUS.ACTIVITY_MISSING); if (!playerData) return resResult(STATUS.ACTIVITY_MISSING);
@@ -65,7 +65,7 @@ export class DailyRMBGiftsHandler {
return resResult(STATUS.ACTIVITY_NEED_PAY); return resResult(STATUS.ACTIVITY_NEED_PAY);
} }
let rewardParamArr: Array<RewardParam> = stringToRewardParam(item.reward); let rewardParamArr: Array<RewardParam> = stringToRewardParam(item.reward);
let result = await addReward(roleId, roleName, sid, serverId, funcs, rewardParamArr) let result = await addReward(roleId, roleName, sid, serverId, rewardParamArr)
await ActivityDailyRMBGiftsModel.receiveRecord(serverId, activityId, roleId, moment(playerData.beginTime).toDate(), [item.id]); await ActivityDailyRMBGiftsModel.receiveRecord(serverId, activityId, roleId, moment(playerData.beginTime).toDate(), [item.id]);
item.isReceive = true; item.isReceive = true;
return resResult(STATUS.SUCCESS, Object.assign(result, { return resResult(STATUS.SUCCESS, Object.assign(result, {
@@ -88,7 +88,7 @@ export class DailyRMBGiftsHandler {
rewardArray = rewardArray.concat(rewardParamArr); rewardArray = rewardArray.concat(rewardParamArr);
item.isReceive = true; item.isReceive = true;
} }
let result = await addReward(roleId, roleName, sid, serverId, funcs, rewardArray) let result = await addReward(roleId, roleName, sid, serverId, rewardArray)
await ActivityDailyRMBGiftsModel.receiveRecord(serverId, activityId, roleId, moment(playerData.beginTime).toDate(), ids); await ActivityDailyRMBGiftsModel.receiveRecord(serverId, activityId, roleId, moment(playerData.beginTime).toDate(), ids);
return resResult(STATUS.SUCCESS, Object.assign(result, { return resResult(STATUS.SUCCESS, Object.assign(result, {
param: { activityId }, param: { activityId },
@@ -54,7 +54,7 @@ export class FirstGiftHandler {
const serverId = session.get('serverId'); const serverId = session.get('serverId');
const sid = session.get('sid'); const sid = session.get('sid');
const roleName = session.get('roleName'); const roleName = session.get('roleName');
const funcs: number[] = session.get('funcs');
let playerData = await getPlayerFirstGiftData(activityId, serverId, roleId); let playerData = await getPlayerFirstGiftData(activityId, serverId, roleId);
if (!playerData) { if (!playerData) {
@@ -74,7 +74,7 @@ export class FirstGiftHandler {
indexArray.push(item.index) indexArray.push(item.index)
item.isReceive = true; item.isReceive = true;
} }
let result = await addReward(roleId, roleName, sid, serverId, funcs, rewardArray); let result = await addReward(roleId, roleName, sid, serverId, rewardArray);
let isOver = playerData.isComplete(); let isOver = playerData.isComplete();
@@ -50,7 +50,7 @@ export class GachaHandler {
const roleName: string = session.get('roleName'); const roleName: string = session.get('roleName');
const sid: string = session.get('sid'); const sid: string = session.get('sid');
const serverId: number = session.get('serverId'); const serverId: number = session.get('serverId');
const funcs: number[] = session.get('funcs');
let { lv } = await RoleModel.findByRoleId(roleId); let { lv } = await RoleModel.findByRoleId(roleId);
@@ -88,7 +88,7 @@ export class GachaHandler {
} }
// 给东西 // 给东西
// console.log('****', heroInfo) // console.log('****', heroInfo)
let { heroes } = await createHeroes(roleId, roleName, sid, serverId, funcs, heroInfo); let { heroes } = await createHeroes(roleId, roleName, sid, serverId, heroInfo);
await addItems(roleId, roleName, sid, items); await addItems(roleId, roleName, sid, items);
// 更新数据 // 更新数据
userGacha = await UserGachaModel.updateInfo(roleId, gachaId, activityId, { userGacha = await UserGachaModel.updateInfo(roleId, gachaId, activityId, {
@@ -98,13 +98,13 @@ export class GachaHandler {
await UserGachaRecModel.createRec(roleId, gachaId, activityId, count, resultList); await UserGachaRecModel.createRec(roleId, gachaId, activityId, count, resultList);
// 任务 // 任务
await checkTask(roleId, sid, funcs, TASK_TYPE.GASHA, count, true, {}); await checkTask(roleId, sid, TASK_TYPE.GASHA, count, true, {});
//活动统计 //活动统计
await checkActivityTask(serverId, sid, funcs, roleId, TASK_TYPE.GASHA, count) await checkActivityTask(serverId, sid, roleId, TASK_TYPE.GASHA, count)
for (let hero of heroes) { for (let hero of heroes) {
activityData.push({ hid: hero.hid, quality: hero.quality }); activityData.push({ hid: hero.hid, quality: hero.quality });
} }
await checkActivityTask(serverId, sid, funcs, roleId, TASK_TYPE.GACHA_QUALITY_COUNT, count, { heroes: activityData }) await checkActivityTask(serverId, sid, roleId, TASK_TYPE.GACHA_QUALITY_COUNT, count, { heroes: activityData })
let resultRefFreeTime = 0; let resultRefFreeTime = 0;
if (dicGacha.free.count > 0) { if (dicGacha.free.count > 0) {
@@ -157,7 +157,7 @@ export class GachaHandler {
const roleName: string = session.get('roleName'); const roleName: string = session.get('roleName');
const sid: string = session.get('sid'); const sid: string = session.get('sid');
const serverId: number = session.get('serverId'); const serverId: number = session.get('serverId');
const funcs: number[] = session.get('funcs');
let userGacha = await UserGachaModel.findByRole(roleId, gachaId, 0); let userGacha = await UserGachaModel.findByRole(roleId, gachaId, 0);
let { point, turntable, costPoint } = userGacha; let { point, turntable, costPoint } = userGacha;
@@ -187,7 +187,7 @@ export class GachaHandler {
for (let i = 0; i < count; i++) { for (let i = 0; i < count; i++) {
heroInfo.push({ hid: hero, count: 1 }) heroInfo.push({ hid: hero, count: 1 })
} }
let { heroes, goods } = await createHeroes(roleId, roleName, sid, serverId, funcs, heroInfo); let { heroes, goods } = await createHeroes(roleId, roleName, sid, serverId, heroInfo);
let resultList: GachaResult[] = []; let resultList: GachaResult[] = [];
for (let h of heroes) { for (let h of heroes) {
let result = new GachaResult(contentId); let result = new GachaResult(contentId);
@@ -49,7 +49,7 @@ export class GrowthFundHandler {
const serverId = session.get('serverId'); const serverId = session.get('serverId');
const sid = session.get('sid'); const sid = session.get('sid');
const roleName = session.get('roleName'); const roleName = session.get('roleName');
const funcs: number[] = session.get('funcs');
let playerData = await getPlayerGrowthFundData(activityId, serverId, roleId) let playerData = await getPlayerGrowthFundData(activityId, serverId, roleId)
if (!playerData) return resResult(STATUS.ACTIVITY_MISSING); if (!playerData) return resResult(STATUS.ACTIVITY_MISSING);
@@ -72,7 +72,7 @@ export class GrowthFundHandler {
await ActivityGrowthFundModel.addRecord(activityId, roleId, pageIndex, cellIndex); await ActivityGrowthFundModel.addRecord(activityId, roleId, pageIndex, cellIndex);
let rewardParamArr: Array<RewardParam> = stringToRewardParam(growthFundItemData.reward); let rewardParamArr: Array<RewardParam> = stringToRewardParam(growthFundItemData.reward);
let result = await addReward(roleId, roleName, sid, serverId, funcs, rewardParamArr) let result = await addReward(roleId, roleName, sid, serverId, rewardParamArr)
return resResult(STATUS.SUCCESS, Object.assign(result, { return resResult(STATUS.SUCCESS, Object.assign(result, {
param: { activityId, pageIndex, cellIndex }, param: { activityId, pageIndex, cellIndex },
@@ -50,7 +50,7 @@ export class GrowthHandler {
const serverId = session.get('serverId'); const serverId = session.get('serverId');
const sid = session.get('sid'); const sid = session.get('sid');
const roleName = session.get('roleName'); const roleName = session.get('roleName');
const funcs: number[] = session.get('funcs');
let playerData = await getPlayerGrowthData(activityId, serverId, roleId) let playerData = await getPlayerGrowthData(activityId, serverId, roleId)
if (!playerData) return resResult(STATUS.ACTIVITY_MISSING); if (!playerData) return resResult(STATUS.ACTIVITY_MISSING);
@@ -68,7 +68,7 @@ export class GrowthHandler {
await ActivityGrowthModel.addCellRecord(serverId, activityId, roleId, dayIndex, cellIndex, type, 1); await ActivityGrowthModel.addCellRecord(serverId, activityId, roleId, dayIndex, cellIndex, type, 1);
let rewardParamArr: Array<RewardParam> = stringToRewardParam(growthItemData.reward); let rewardParamArr: Array<RewardParam> = stringToRewardParam(growthItemData.reward);
let result = await addReward(roleId, roleName, sid, serverId, funcs, rewardParamArr) let result = await addReward(roleId, roleName, sid, serverId, rewardParamArr)
growthItemData.receiveRewardCount = 1; growthItemData.receiveRewardCount = 1;
return resResult(STATUS.SUCCESS, Object.assign(result, { return resResult(STATUS.SUCCESS, Object.assign(result, {
@@ -89,7 +89,7 @@ export class GrowthHandler {
const serverId = session.get('serverId'); const serverId = session.get('serverId');
const sid = session.get('sid'); const sid = session.get('sid');
const roleName = session.get('roleName'); const roleName = session.get('roleName');
const funcs = session.get('funcs');
let playerData = await getPlayerGrowthData(activityId, serverId, roleId) let playerData = await getPlayerGrowthData(activityId, serverId, roleId)
if (!playerData) return resResult(STATUS.ACTIVITY_MISSING); if (!playerData) return resResult(STATUS.ACTIVITY_MISSING);
@@ -108,7 +108,7 @@ export class GrowthHandler {
await ActivityGrowthPointModel.addRecord(serverId, activityId, roleId, id); await ActivityGrowthPointModel.addRecord(serverId, activityId, roleId, id);
let rewardParamArr: Array<RewardParam> = stringToRewardParam(pointItemData.reward); let rewardParamArr: Array<RewardParam> = stringToRewardParam(pointItemData.reward);
let result = await addReward(roleId, roleName, sid, serverId, funcs, rewardParamArr) let result = await addReward(roleId, roleName, sid, serverId, rewardParamArr)
pointItemData.getPointReward = true; pointItemData.getPointReward = true;
@@ -77,7 +77,7 @@ export class LimitPackageHandler {
const serverId = session.get('serverId'); const serverId = session.get('serverId');
const sid = session.get('sid'); const sid = session.get('sid');
const roleName = session.get('roleName'); const roleName = session.get('roleName');
const funcs: number[] = session.get('funcs');
let playerData = await getPlayerLimitPackageData(activityId, serverId, roleId); let playerData = await getPlayerLimitPackageData(activityId, serverId, roleId);
if (!playerData) { if (!playerData) {
@@ -120,7 +120,7 @@ export class LimitPackageHandler {
if (!consumeResult) return resResult(STATUS.ROLE_MATERIAL_NOT_ENOUGH); if (!consumeResult) return resResult(STATUS.ROLE_MATERIAL_NOT_ENOUGH);
let rewardArray = stringToRewardParam(item.reward) let rewardArray = stringToRewardParam(item.reward)
let result = await addReward(roleId, roleName, sid, serverId, funcs, rewardArray); let result = await addReward(roleId, roleName, sid, serverId, rewardArray);
await ActivityShopModel.addRecord(activityId, roleId, roundIndex, id); await ActivityShopModel.addRecord(activityId, roleId, roundIndex, id);
@@ -41,9 +41,9 @@ export class MonthlyTicketHandler {
const serverId = session.get('serverId'); const serverId = session.get('serverId');
const sid = session.get('sid'); const sid = session.get('sid');
const roleName = session.get('roleName'); const roleName = session.get('roleName');
const funcs: number[] = session.get('funcs');
let result = await getPlayerMonthlyTicketDayReward(roleId, roleName, sid, serverId, funcs, activityId) let result = await getPlayerMonthlyTicketDayReward(roleId, roleName, sid, serverId, activityId)
if (result) { if (result) {
return resResult(STATUS.SUCCESS, Object.assign(result, { return resResult(STATUS.SUCCESS, Object.assign(result, {
param: { activityId }, param: { activityId },
@@ -46,7 +46,7 @@ export class NewHeroGKHandler {
const serverId = session.get('serverId'); const serverId = session.get('serverId');
const sid = session.get('sid'); const sid = session.get('sid');
const roleName = session.get('roleName'); const roleName = session.get('roleName');
const funcs = session.get('funcs');
let playerData = await getPlayerNewHeroGKData(activityId, serverId, roleId) let playerData = await getPlayerNewHeroGKData(activityId, serverId, roleId)
if (!playerData) return resResult(STATUS.ACTIVITY_MISSING); if (!playerData) return resResult(STATUS.ACTIVITY_MISSING);
@@ -67,7 +67,7 @@ export class NewHeroGachaHandler {
const serverId = session.get('serverId'); const serverId = session.get('serverId');
const sid = session.get('sid'); const sid = session.get('sid');
const roleName = session.get('roleName'); const roleName = session.get('roleName');
const funcs = session.get('funcs');
let playerData = await getPlayerNewHeroGachaData(activityId, serverId, roleId) let playerData = await getPlayerNewHeroGachaData(activityId, serverId, roleId)
if (!playerData) return resResult(STATUS.ACTIVITY_MISSING); if (!playerData) return resResult(STATUS.ACTIVITY_MISSING);
@@ -95,12 +95,12 @@ export class NewHeroGachaHandler {
await ActivityNewHeroGachaModel.addRecord(serverId, activityId, roleId, hid, floorCount, JSON.stringify(resultList), hasGetFloor); await ActivityNewHeroGachaModel.addRecord(serverId, activityId, roleId, hid, floorCount, JSON.stringify(resultList), hasGetFloor);
// 给东西 // 给东西
let { heroes } = await createHeroes(roleId, roleName, sid, serverId, funcs, heroInfo); let { heroes } = await createHeroes(roleId, roleName, sid, serverId, heroInfo);
await addItems(roleId, roleName, sid, items); await addItems(roleId, roleName, sid, items);
//固定奖励 //固定奖励
let rewardParamArr: Array<RewardParam> = stringToRewardParam(item.commonReward); let rewardParamArr: Array<RewardParam> = stringToRewardParam(item.commonReward);
let newRewardParamArr: Array<RewardParam> = rewardParamArr.map(obj => { return { id: obj.id, type: obj.type, count: obj.count * count } }); let newRewardParamArr: Array<RewardParam> = rewardParamArr.map(obj => { return { id: obj.id, type: obj.type, count: obj.count * count } });
let commonResult = await addReward(roleId, roleName, sid, serverId, funcs, newRewardParamArr) let commonResult = await addReward(roleId, roleName, sid, serverId, newRewardParamArr)
return resResult(STATUS.SUCCESS, { return resResult(STATUS.SUCCESS, {
hid, activityId, count, randomReward: { heroes, result: resultList }, commonReward: commonResult hid, activityId, count, randomReward: { heroes, result: resultList }, commonReward: commonResult
@@ -47,7 +47,7 @@ export class NewHeroGiftsHandler {
const serverId = session.get('serverId'); const serverId = session.get('serverId');
const sid = session.get('sid'); const sid = session.get('sid');
const roleName = session.get('roleName'); const roleName = session.get('roleName');
const funcs: number[] = session.get('funcs');
let playerData = await getPlayerNewHeroGiftsData(activityId, serverId, roleId) let playerData = await getPlayerNewHeroGiftsData(activityId, serverId, roleId)
if (!playerData) return resResult(STATUS.ACTIVITY_MISSING); if (!playerData) return resResult(STATUS.ACTIVITY_MISSING);
@@ -63,7 +63,7 @@ export class NewHeroGiftsHandler {
return resResult(STATUS.ACTIVITY_NO_POINT); return resResult(STATUS.ACTIVITY_NO_POINT);
} }
let rewardParamArr: Array<RewardParam> = stringToRewardParam(item.reward); let rewardParamArr: Array<RewardParam> = stringToRewardParam(item.reward);
let result = await addReward(roleId, roleName, sid, serverId, funcs, rewardParamArr) let result = await addReward(roleId, roleName, sid, serverId, rewardParamArr)
await ActivityNewHeroGiftModel.addReceiveRecord(serverId, activityId, roleId, index, item.consumePoint); await ActivityNewHeroGiftModel.addReceiveRecord(serverId, activityId, roleId, index, item.consumePoint);
item.buyCount += 1; item.buyCount += 1;
return resResult(STATUS.SUCCESS, Object.assign(result, { return resResult(STATUS.SUCCESS, Object.assign(result, {
@@ -51,7 +51,7 @@ export class PopUpShopHandler {
const serverId = session.get('serverId'); const serverId = session.get('serverId');
const sid = session.get('sid'); const sid = session.get('sid');
const roleName = session.get('roleName'); const roleName = session.get('roleName');
const funcs: number[] = session.get('funcs');
let beginTime = moment(beginTimeStamp).toDate(); let beginTime = moment(beginTimeStamp).toDate();
let activityData: ActivityModelType = await ActivityModel.findActivity(activityId); let activityData: ActivityModelType = await ActivityModel.findActivity(activityId);
@@ -97,7 +97,7 @@ export class PopUpShopHandler {
if (!resourceResult) return resResult(STATUS.ROLE_MATERIAL_NOT_ENOUGH); if (!resourceResult) return resResult(STATUS.ROLE_MATERIAL_NOT_ENOUGH);
let rewardParamArr: Array<RewardParam> = stringToRewardParam(playerData.reward); let rewardParamArr: Array<RewardParam> = stringToRewardParam(playerData.reward);
let result = await addReward(roleId, roleName, sid, serverId, funcs, rewardParamArr) let result = await addReward(roleId, roleName, sid, serverId, rewardParamArr)
await ActivityPopUpShopModel.addRecord(serverId, activityId, roleId, id, playerData.taskType, 1, beginTime); await ActivityPopUpShopModel.addRecord(serverId, activityId, roleId, id, playerData.taskType, 1, beginTime);
@@ -47,7 +47,7 @@ export class RechargeMoneyHandler {
const serverId = session.get('serverId'); const serverId = session.get('serverId');
const sid = session.get('sid'); const sid = session.get('sid');
const roleName = session.get('roleName'); const roleName = session.get('roleName');
const funcs: number[] = session.get('funcs');
let playerData = await getPlayerRechargeMoneyData(activityId, serverId, roleId); let playerData = await getPlayerRechargeMoneyData(activityId, serverId, roleId);
if (!playerData) return resResult(STATUS.ACTIVITY_MISSING); if (!playerData) return resResult(STATUS.ACTIVITY_MISSING);
@@ -66,7 +66,7 @@ export class RechargeMoneyHandler {
console.log(JSON.stringify(recordArray)); console.log(JSON.stringify(recordArray));
await ActivityRechargeMoneyModel.addRecord(rechargeItem._id, item.id, item.reward) await ActivityRechargeMoneyModel.addRecord(rechargeItem._id, item.id, item.reward)
let rewardParamArr: Array<RewardParam> = stringToRewardParam(item.reward); let rewardParamArr: Array<RewardParam> = stringToRewardParam(item.reward);
let result = await addReward(roleId, roleName, sid, serverId, funcs, rewardParamArr) let result = await addReward(roleId, roleName, sid, serverId, rewardParamArr)
if (playerData.isLast()) { if (playerData.isLast()) {
let _ids = playerData.recordArray.map(a => a._id) let _ids = playerData.recordArray.map(a => a._id)
await ActivityRechargeMoneyModel.setEndState(serverId, roleId, _ids); await ActivityRechargeMoneyModel.setEndState(serverId, roleId, _ids);
@@ -48,7 +48,7 @@ export class RefreshShopHandler {
const serverId = session.get('serverId'); const serverId = session.get('serverId');
const sid = session.get('sid'); const sid = session.get('sid');
const roleName = session.get('roleName'); const roleName = session.get('roleName');
const funcs: number[] = session.get('funcs');
let playerData = await getPlayerRefreshShopData(activityId, serverId, roleId); let playerData = await getPlayerRefreshShopData(activityId, serverId, roleId);
if (!playerData) { if (!playerData) {
@@ -76,7 +76,7 @@ export class RefreshShopHandler {
if (!consumeResult) return resResult(STATUS.ROLE_MATERIAL_NOT_ENOUGH); if (!consumeResult) return resResult(STATUS.ROLE_MATERIAL_NOT_ENOUGH);
let rewardArray = stringToRewardParam(item.reward) let rewardArray = stringToRewardParam(item.reward)
let result = await addReward(roleId, roleName, sid, serverId, funcs, rewardArray); let result = await addReward(roleId, roleName, sid, serverId, rewardArray);
await ActivityRefreshShopModel.addRecord(activityId, roleId, roundIndex, pageIndex, id); await ActivityRefreshShopModel.addRecord(activityId, roleId, roundIndex, pageIndex, id);
@@ -50,7 +50,7 @@ export class RefreshTaskHandler {
const serverId = session.get('serverId'); const serverId = session.get('serverId');
const sid = session.get('sid'); const sid = session.get('sid');
const roleName = session.get('roleName'); const roleName = session.get('roleName');
const funcs = session.get('funcs');
let playerData = await getPlayerRefreshTaskData(activityId, serverId, roleId) let playerData = await getPlayerRefreshTaskData(activityId, serverId, roleId)
if (!playerData) return resResult(STATUS.ACTIVITY_MISSING); if (!playerData) return resResult(STATUS.ACTIVITY_MISSING);
@@ -71,7 +71,7 @@ export class RefreshTaskHandler {
await ActivityRefreshTaskModel.addReceiveRecord(serverId, activityId, roleId, roundIndex, pageIndex, id, type, 1); await ActivityRefreshTaskModel.addReceiveRecord(serverId, activityId, roleId, roundIndex, pageIndex, id, type, 1);
let rewardParamArr: Array<RewardParam> = stringToRewardParam(dailyItemData.reward); let rewardParamArr: Array<RewardParam> = stringToRewardParam(dailyItemData.reward);
let result = await addReward(roleId, roleName, sid, serverId, funcs, rewardParamArr) let result = await addReward(roleId, roleName, sid, serverId, rewardParamArr)
//获得点数 //获得点数
await ActivityRefreshTaskPointModel.addPoint(serverId, activityId, roleId, dailyItemData.point); await ActivityRefreshTaskPointModel.addPoint(serverId, activityId, roleId, dailyItemData.point);
@@ -108,7 +108,7 @@ export class RefreshTaskHandler {
const serverId = session.get('serverId'); const serverId = session.get('serverId');
const sid = session.get('sid'); const sid = session.get('sid');
const roleName = session.get('roleName'); const roleName = session.get('roleName');
const funcs = session.get('funcs');
let playerData = await getPlayerRefreshTaskData(activityId, serverId, roleId) let playerData = await getPlayerRefreshTaskData(activityId, serverId, roleId)
if (!playerData) return resResult(STATUS.ACTIVITY_MISSING); if (!playerData) return resResult(STATUS.ACTIVITY_MISSING);
@@ -123,7 +123,7 @@ export class RefreshTaskHandler {
await ActivityRefreshTaskPointModel.addReceiveRecord(serverId, activityId, roleId, playerData.consumePoint); await ActivityRefreshTaskPointModel.addReceiveRecord(serverId, activityId, roleId, playerData.consumePoint);
let rewardParamArr: Array<RewardParam> = stringToRewardParam(playerData.reward); let rewardParamArr: Array<RewardParam> = stringToRewardParam(playerData.reward);
let result = await addReward(roleId, roleName, sid, serverId, funcs, rewardParamArr) let result = await addReward(roleId, roleName, sid, serverId, rewardParamArr)
playerData.exchangePoint += playerData.consumePoint; playerData.exchangePoint += playerData.consumePoint;
return resResult(STATUS.SUCCESS, Object.assign(result, { return resResult(STATUS.SUCCESS, Object.assign(result, {
@@ -52,7 +52,7 @@ export class SelfServiceShopHandler {
const serverId = session.get('serverId'); const serverId = session.get('serverId');
const sid = session.get('sid'); const sid = session.get('sid');
const roleName = session.get('roleName'); const roleName = session.get('roleName');
const funcs: number[] = session.get('funcs');
let activityData: ActivityModelType = await ActivityModel.findActivity(activityId); let activityData: ActivityModelType = await ActivityModel.findActivity(activityId);
let { createTime } = await RoleModel.findByRoleId(roleId); let { createTime } = await RoleModel.findByRoleId(roleId);
@@ -75,7 +75,7 @@ export class SelfServiceShopHandler {
let consumeResult = await handleCost(roleId, sid, consume); let consumeResult = await handleCost(roleId, sid, consume);
if (!consumeResult) return resResult(STATUS.ROLE_MATERIAL_NOT_ENOUGH); if (!consumeResult) return resResult(STATUS.ROLE_MATERIAL_NOT_ENOUGH);
let result = await addSelfServiceShopGiftReward(roleId, roleName, sid, serverId, funcs, activityId, roundIndex, index, item); let result = await addSelfServiceShopGiftReward(roleId, roleName, sid, serverId, activityId, roundIndex, index, item);
return resResult(STATUS.SUCCESS, Object.assign(result, {})); return resResult(STATUS.SUCCESS, Object.assign(result, {}));
} }
@@ -91,7 +91,7 @@ export class SelfServiceShopHandler {
const serverId = session.get('serverId'); const serverId = session.get('serverId');
const sid = session.get('sid'); const sid = session.get('sid');
const roleName = session.get('roleName'); const roleName = session.get('roleName');
const funcs: number[] = session.get('funcs');
for (let obj of data) { for (let obj of data) {
await ActivitySelfServiceGoodsModel.addGoods(obj.activityId, roleId, obj.roundIndex, obj.index, obj.cellIndex, obj.rewardIndex); await ActivitySelfServiceGoodsModel.addGoods(obj.activityId, roleId, obj.roundIndex, obj.index, obj.cellIndex, obj.rewardIndex);
@@ -112,7 +112,7 @@ export class SelfServiceShopHandler {
const serverId = session.get('serverId'); const serverId = session.get('serverId');
const sid = session.get('sid'); const sid = session.get('sid');
const roleName = session.get('roleName'); const roleName = session.get('roleName');
const funcs: number[] = session.get('funcs');
let activityData: ActivityModelType = await ActivityModel.findActivity(activityId); let activityData: ActivityModelType = await ActivityModel.findActivity(activityId);
let { createTime } = await RoleModel.findByRoleId(roleId); let { createTime } = await RoleModel.findByRoleId(roleId);
@@ -135,7 +135,7 @@ export class SelfServiceShopHandler {
await ActivitySelfServiceModel.addBuyRecord(serverId, activityId, roleId, roundIndex, 1); await ActivitySelfServiceModel.addBuyRecord(serverId, activityId, roleId, roundIndex, 1);
let rewardArray = stringToRewardParam(unitReward) let rewardArray = stringToRewardParam(unitReward)
let result = await addReward(roleId, roleName, sid, serverId, funcs, rewardArray); let result = await addReward(roleId, roleName, sid, serverId, rewardArray);
return resResult(STATUS.SUCCESS, Object.assign(result, { unitBuyCount: buyCount + 1 })); return resResult(STATUS.SUCCESS, Object.assign(result, { unitBuyCount: buyCount + 1 }));
} }
@@ -152,7 +152,7 @@ export class SelfServiceShopHandler {
const serverId = session.get('serverId'); const serverId = session.get('serverId');
const sid = session.get('sid'); const sid = session.get('sid');
const roleName = session.get('roleName'); const roleName = session.get('roleName');
const funcs: number[] = session.get('funcs');
let playerData = await getPlayerActivityData(activityId, serverId, roleId) let playerData = await getPlayerActivityData(activityId, serverId, roleId)
if (!playerData) return resResult(STATUS.ACTIVITY_MISSING); if (!playerData) return resResult(STATUS.ACTIVITY_MISSING);
@@ -54,7 +54,7 @@ export class SevenDaysHandler {
const serverId = session.get('serverId'); const serverId = session.get('serverId');
const sid = session.get('sid'); const sid = session.get('sid');
const roleName = session.get('roleName'); const roleName = session.get('roleName');
const funcs: number[] = session.get('funcs');
let playerData = await getPlayerSevenDaysGrowthData(activityId, serverId, roleId) let playerData = await getPlayerSevenDaysGrowthData(activityId, serverId, roleId)
if (!playerData) return resResult(STATUS.ACTIVITY_MISSING); if (!playerData) return resResult(STATUS.ACTIVITY_MISSING);
@@ -72,7 +72,7 @@ export class SevenDaysHandler {
await ActivityGrowthModel.addCellRecord(serverId, activityId, roleId, dayIndex, cellIndex, type, 1); await ActivityGrowthModel.addCellRecord(serverId, activityId, roleId, dayIndex, cellIndex, type, 1);
let rewardParamArr: Array<RewardParam> = stringToRewardParam(growthItemData.reward); let rewardParamArr: Array<RewardParam> = stringToRewardParam(growthItemData.reward);
let result = await addReward(roleId, roleName, sid, serverId, funcs, rewardParamArr) let result = await addReward(roleId, roleName, sid, serverId, rewardParamArr)
growthItemData.receiveRewardCount = 1; growthItemData.receiveRewardCount = 1;
return resResult(STATUS.SUCCESS, Object.assign(result, { return resResult(STATUS.SUCCESS, Object.assign(result, {
@@ -93,7 +93,7 @@ export class SevenDaysHandler {
const serverId = session.get('serverId'); const serverId = session.get('serverId');
const sid = session.get('sid'); const sid = session.get('sid');
const roleName = session.get('roleName'); const roleName = session.get('roleName');
const funcs = session.get('funcs');
let playerData = await getPlayerSevenDaysGrowthData(activityId, serverId, roleId) let playerData = await getPlayerSevenDaysGrowthData(activityId, serverId, roleId)
if (!playerData) return resResult(STATUS.ACTIVITY_MISSING); if (!playerData) return resResult(STATUS.ACTIVITY_MISSING);
@@ -112,7 +112,7 @@ export class SevenDaysHandler {
await ActivityGrowthPointModel.addRecord(serverId, activityId, roleId, id); await ActivityGrowthPointModel.addRecord(serverId, activityId, roleId, id);
let rewardParamArr: Array<RewardParam> = stringToRewardParam(pointItemData.reward); let rewardParamArr: Array<RewardParam> = stringToRewardParam(pointItemData.reward);
let result = await addReward(roleId, roleName, sid, serverId, funcs, rewardParamArr) let result = await addReward(roleId, roleName, sid, serverId, rewardParamArr)
pointItemData.getPointReward = true; pointItemData.getPointReward = true;
@@ -136,7 +136,7 @@ export class SevenDaysHandler {
const serverId = session.get('serverId'); const serverId = session.get('serverId');
const sid = session.get('sid'); const sid = session.get('sid');
const roleName = session.get('roleName'); const roleName = session.get('roleName');
const funcs = session.get('funcs');
let playerData = await getPlayerSevenDaysDailyChallengesData(activityId, serverId, roleId) let playerData = await getPlayerSevenDaysDailyChallengesData(activityId, serverId, roleId)
if (!playerData) return resResult(STATUS.ACTIVITY_MISSING); if (!playerData) return resResult(STATUS.ACTIVITY_MISSING);
@@ -155,7 +155,7 @@ export class SevenDaysHandler {
await ActivityDailyChallengesModel.addCellRecord(serverId, activityId, roleId, dayIndex, cellIndex, type, 1); await ActivityDailyChallengesModel.addCellRecord(serverId, activityId, roleId, dayIndex, cellIndex, type, 1);
let rewardParamArr: Array<RewardParam> = stringToRewardParam(dailyItemData.reward); let rewardParamArr: Array<RewardParam> = stringToRewardParam(dailyItemData.reward);
let result = await addReward(roleId, roleName, sid, serverId, funcs, rewardParamArr) let result = await addReward(roleId, roleName, sid, serverId, rewardParamArr)
dailyItemData.receiveRewardCount = 1; dailyItemData.receiveRewardCount = 1;
return resResult(STATUS.SUCCESS, Object.assign(result, { return resResult(STATUS.SUCCESS, Object.assign(result, {
@@ -179,7 +179,7 @@ export class SevenDaysHandler {
const serverId = session.get('serverId'); const serverId = session.get('serverId');
const sid = session.get('sid'); const sid = session.get('sid');
const roleName = session.get('roleName'); const roleName = session.get('roleName');
const funcs = session.get('funcs');
let playerData = await getPlayerSevenDaysDailyGiftsData(activityId, serverId, roleId) let playerData = await getPlayerSevenDaysDailyGiftsData(activityId, serverId, roleId)
if (!playerData) return resResult(STATUS.ACTIVITY_MISSING); if (!playerData) return resResult(STATUS.ACTIVITY_MISSING);
@@ -209,7 +209,7 @@ export class SevenDaysHandler {
await ActivityDailyGiftsModel.buyRecord(serverId, activityId, roleId, dayIndex, cellIndex, 1); await ActivityDailyGiftsModel.buyRecord(serverId, activityId, roleId, dayIndex, cellIndex, 1);
let rewardParamArr: Array<RewardParam> = stringToRewardParam(dailyItemData.reward); let rewardParamArr: Array<RewardParam> = stringToRewardParam(dailyItemData.reward);
let result = await addReward(roleId, roleName, sid, serverId, funcs, rewardParamArr) let result = await addReward(roleId, roleName, sid, serverId, rewardParamArr)
dailyItemData.buyCount += 1; dailyItemData.buyCount += 1;
return resResult(STATUS.SUCCESS, Object.assign(result, { return resResult(STATUS.SUCCESS, Object.assign(result, {
@@ -56,7 +56,7 @@ export class SignInHandler {
const serverId = session.get('serverId'); const serverId = session.get('serverId');
const sid = session.get('sid'); const sid = session.get('sid');
const roleName = session.get('roleName'); const roleName = session.get('roleName');
const funcs: number[] = session.get('funcs');
let playerData = await getPlayerSignInData(activityId, serverId, roleId) let playerData = await getPlayerSignInData(activityId, serverId, roleId)
if (!playerData) return resResult(STATUS.ACTIVITY_MISSING); if (!playerData) return resResult(STATUS.ACTIVITY_MISSING);
@@ -107,7 +107,7 @@ export class SignInHandler {
await ActivitySignInModel.addSignInRecord(activityId, roleId, roundIndex, [dayIndex]); await ActivitySignInModel.addSignInRecord(activityId, roleId, roundIndex, [dayIndex]);
let rewardParamArr: Array<RewardParam> = stringToRewardParam(signinItemData.reward); let rewardParamArr: Array<RewardParam> = stringToRewardParam(signinItemData.reward);
let result = await addReward(roleId, roleName, sid, serverId, funcs, rewardParamArr) let result = await addReward(roleId, roleName, sid, serverId, rewardParamArr)
return resResult(STATUS.SUCCESS, Object.assign(result, { return resResult(STATUS.SUCCESS, Object.assign(result, {
param: { activityId, dayIndex }, param: { activityId, dayIndex },
@@ -53,7 +53,7 @@ export class ThirtyDaysHandler {
const serverId = session.get('serverId'); const serverId = session.get('serverId');
const sid = session.get('sid'); const sid = session.get('sid');
const roleName = session.get('roleName'); const roleName = session.get('roleName');
const funcs: number[] = session.get('funcs');
let todayIndex = await playerThirtyDaysActivityDays(roleId);//玩家当前的天数 let todayIndex = await playerThirtyDaysActivityDays(roleId);//玩家当前的天数
let { activityGroupId } = await ServerlistModel.findByServerId(serverId); let { activityGroupId } = await ServerlistModel.findByServerId(serverId);
@@ -104,7 +104,7 @@ export class ThirtyDaysHandler {
await ActivityThirtyDaysModel.addRecord(serverId, activityId, roleId, pageIndex, cellIndex, tab); await ActivityThirtyDaysModel.addRecord(serverId, activityId, roleId, pageIndex, cellIndex, tab);
let rewardParamArr: Array<RewardParam> = stringToRewardParam(thirtyDaysItemData.reward); let rewardParamArr: Array<RewardParam> = stringToRewardParam(thirtyDaysItemData.reward);
let result = await addReward(roleId, roleName, sid, serverId, funcs, rewardParamArr) let result = await addReward(roleId, roleName, sid, serverId, rewardParamArr)
thirtyDaysItemData.isReceive = true; thirtyDaysItemData.isReceive = true;
return resResult(STATUS.SUCCESS, Object.assign(result, { return resResult(STATUS.SUCCESS, Object.assign(result, {
param: { activityId, pageIndex, cellIndex }, param: { activityId, pageIndex, cellIndex },
@@ -124,7 +124,7 @@ export class ThirtyDaysHandler {
const serverId = session.get('serverId'); const serverId = session.get('serverId');
const sid = session.get('sid'); const sid = session.get('sid');
const roleName = session.get('roleName'); const roleName = session.get('roleName');
const funcs: number[] = session.get('funcs');
let playerData = await getPlayerThirtyDaysData(activityId, serverId, roleId) let playerData = await getPlayerThirtyDaysData(activityId, serverId, roleId)
if (!playerData) return resResult(STATUS.ACTIVITY_MISSING); if (!playerData) return resResult(STATUS.ACTIVITY_MISSING);
@@ -148,7 +148,7 @@ export class ThirtyDaysHandler {
} }
let rewardParamArr: Array<RewardParam> = stringToRewardParam(reward); let rewardParamArr: Array<RewardParam> = stringToRewardParam(reward);
let result = await addReward(roleId, roleName, sid, serverId, funcs, rewardParamArr) let result = await addReward(roleId, roleName, sid, serverId, rewardParamArr)
thirtyDaysPointItemData.isReceive = true; thirtyDaysPointItemData.isReceive = true;
return resResult(STATUS.SUCCESS, Object.assign(result, { return resResult(STATUS.SUCCESS, Object.assign(result, {
@@ -56,7 +56,7 @@ export class TreasureHuntHandler {
const serverId = session.get('serverId'); const serverId = session.get('serverId');
const sid = session.get('sid'); const sid = session.get('sid');
const roleName = session.get('roleName'); const roleName = session.get('roleName');
const funcs: number[] = session.get('funcs');
let { huntActivityId, huntBeginTime, huntEndTime, huntRoundIndex, activityData } = await getTreasureHuntData(serverId, roleId); let { huntActivityId, huntBeginTime, huntEndTime, huntRoundIndex, activityData } = await getTreasureHuntData(serverId, roleId);
if (!activityData) { if (!activityData) {
@@ -77,7 +77,7 @@ export class TreasureHuntHandler {
await ActivityTreasureHuntFirstPageModel.receiveReward(serverId, activityId, roleId, huntRoundIndex); await ActivityTreasureHuntFirstPageModel.receiveReward(serverId, activityId, roleId, huntRoundIndex);
let rewardParamArr: Array<RewardParam> = stringToRewardParam(playerData.firstPage.reward); let rewardParamArr: Array<RewardParam> = stringToRewardParam(playerData.firstPage.reward);
let result = await addReward(roleId, roleName, sid, serverId, funcs, rewardParamArr) let result = await addReward(roleId, roleName, sid, serverId, rewardParamArr)
playerData.firstPage.isReceive = true; playerData.firstPage.isReceive = true;
return resResult(STATUS.SUCCESS, Object.assign(result, { return resResult(STATUS.SUCCESS, Object.assign(result, {
@@ -97,7 +97,7 @@ export class TreasureHuntHandler {
const serverId = session.get('serverId'); const serverId = session.get('serverId');
const sid = session.get('sid'); const sid = session.get('sid');
const roleName = session.get('roleName'); const roleName = session.get('roleName');
const funcs: number[] = session.get('funcs');
let { huntActivityId, huntBeginTime, huntEndTime, huntRoundIndex, activityData } = await getTreasureHuntData(serverId, roleId); let { huntActivityId, huntBeginTime, huntEndTime, huntRoundIndex, activityData } = await getTreasureHuntData(serverId, roleId);
if (!activityData) { if (!activityData) {
@@ -129,7 +129,7 @@ export class TreasureHuntHandler {
await ActivityTreasureHuntShopModel.buyShopRecord(activityId, roleId, huntRoundIndex, playerData.todayIndex, cellIndex); await ActivityTreasureHuntShopModel.buyShopRecord(activityId, roleId, huntRoundIndex, playerData.todayIndex, cellIndex);
let rewardParamArr: Array<RewardParam> = stringToRewardParam(item.reward); let rewardParamArr: Array<RewardParam> = stringToRewardParam(item.reward);
let result = await addReward(roleId, roleName, sid, serverId, funcs, rewardParamArr) let result = await addReward(roleId, roleName, sid, serverId, rewardParamArr)
item.buyCount += 1; item.buyCount += 1;
return resResult(STATUS.SUCCESS, Object.assign(result, { return resResult(STATUS.SUCCESS, Object.assign(result, {
@@ -149,7 +149,7 @@ export class TreasureHuntHandler {
const serverId = session.get('serverId'); const serverId = session.get('serverId');
const sid = session.get('sid'); const sid = session.get('sid');
const roleName = session.get('roleName'); const roleName = session.get('roleName');
const funcs: number[] = session.get('funcs');
let { huntActivityId, huntBeginTime, huntEndTime, huntRoundIndex, activityData } = await getTreasureHuntData(serverId, roleId); let { huntActivityId, huntBeginTime, huntEndTime, huntRoundIndex, activityData } = await getTreasureHuntData(serverId, roleId);
if (!activityData) { if (!activityData) {
@@ -176,7 +176,7 @@ export class TreasureHuntHandler {
await ActivityTreasureHuntTaskModel.receiveReward(serverId, activityId, roleId, huntRoundIndex, cellIndex, 1); await ActivityTreasureHuntTaskModel.receiveReward(serverId, activityId, roleId, huntRoundIndex, cellIndex, 1);
let rewardParamArr: Array<RewardParam> = stringToRewardParam(item.reward); let rewardParamArr: Array<RewardParam> = stringToRewardParam(item.reward);
let result = await addReward(roleId, roleName, sid, serverId, funcs, rewardParamArr) let result = await addReward(roleId, roleName, sid, serverId, rewardParamArr)
item.isReceive = true; item.isReceive = true;
return resResult(STATUS.SUCCESS, Object.assign(result, { return resResult(STATUS.SUCCESS, Object.assign(result, {
@@ -196,7 +196,7 @@ export class TreasureHuntHandler {
const serverId = session.get('serverId'); const serverId = session.get('serverId');
const sid = session.get('sid'); const sid = session.get('sid');
const roleName = session.get('roleName'); const roleName = session.get('roleName');
const funcs: number[] = session.get('funcs');
let { huntActivityId, huntBeginTime, huntEndTime, huntRoundIndex, activityData } = await getTreasureHuntData(serverId, roleId); let { huntActivityId, huntBeginTime, huntEndTime, huntRoundIndex, activityData } = await getTreasureHuntData(serverId, roleId);
if (!activityData) { if (!activityData) {
@@ -233,7 +233,7 @@ export class TreasureHuntHandler {
const serverId = session.get('serverId'); const serverId = session.get('serverId');
const sid = session.get('sid'); const sid = session.get('sid');
const roleName = session.get('roleName'); const roleName = session.get('roleName');
const funcs: number[] = session.get('funcs');
let { huntActivityId, huntBeginTime, huntEndTime, huntRoundIndex, activityData } = await getTreasureHuntData(serverId, roleId); let { huntActivityId, huntBeginTime, huntEndTime, huntRoundIndex, activityData } = await getTreasureHuntData(serverId, roleId);
if (!activityData) { if (!activityData) {
@@ -262,7 +262,7 @@ export class TreasureHuntHandler {
await ActivityTreasureHuntTreasureShopModel.addRecord(activityId, roleId, huntRoundIndex, cellIndex); await ActivityTreasureHuntTreasureShopModel.addRecord(activityId, roleId, huntRoundIndex, cellIndex);
let rewardParamArr: Array<RewardParam> = stringToRewardParam(item.reward); let rewardParamArr: Array<RewardParam> = stringToRewardParam(item.reward);
let result = await addReward(roleId, roleName, sid, serverId, funcs, rewardParamArr) let result = await addReward(roleId, roleName, sid, serverId, rewardParamArr)
item.buyCount += 1; item.buyCount += 1;
return resResult(STATUS.SUCCESS, Object.assign(result, { return resResult(STATUS.SUCCESS, Object.assign(result, {
@@ -49,7 +49,7 @@ export class VipRechargeMoneyHandler {
const serverId = session.get('serverId'); const serverId = session.get('serverId');
const sid = session.get('sid'); const sid = session.get('sid');
const roleName = session.get('roleName'); const roleName = session.get('roleName');
const funcs: number[] = session.get('funcs');
let playerData = await getPlayerVipRechargeMoneyData(activityId, serverId, roleId); let playerData = await getPlayerVipRechargeMoneyData(activityId, serverId, roleId);
if (!playerData) return resResult(STATUS.ACTIVITY_MISSING); if (!playerData) return resResult(STATUS.ACTIVITY_MISSING);
@@ -68,7 +68,7 @@ export class VipRechargeMoneyHandler {
await ActivityVipRechargeMoneyModel.addRecord(serverId, activityId, roleId, id); await ActivityVipRechargeMoneyModel.addRecord(serverId, activityId, roleId, id);
let rewardParamArr: Array<RewardParam> = stringToRewardParam(item.reward); let rewardParamArr: Array<RewardParam> = stringToRewardParam(item.reward);
let result = await addReward(roleId, roleName, sid, serverId, funcs, rewardParamArr) let result = await addReward(roleId, roleName, sid, serverId, rewardParamArr)
item.receiveCount += 1; item.receiveCount += 1;
return resResult(STATUS.SUCCESS, Object.assign(result, { return resResult(STATUS.SUCCESS, Object.assign(result, {
@@ -89,7 +89,7 @@ export class VipRechargeMoneyHandler {
const serverId = session.get('serverId'); const serverId = session.get('serverId');
const sid = session.get('sid'); const sid = session.get('sid');
const roleName = session.get('roleName'); const roleName = session.get('roleName');
const funcs: number[] = session.get('funcs');
if (begin > 0 && count > 0) { if (begin > 0 && count > 0) {
let orders = await UserOrderModel.findOrderList(serverId, roleId, begin - 1, count) let orders = await UserOrderModel.findOrderList(serverId, roleId, begin - 1, count)
@@ -561,7 +561,7 @@ export class ComBattleHandler {
let roleId = session.get('roleId'); let roleId = session.get('roleId');
let roleName = session.get('roleName'); let roleName = session.get('roleName');
let sid = session.get('sid'); let sid = session.get('sid');
const funcs: number[] = session.get('funcs');
let { teamCode } = msg; let { teamCode } = msg;
let team = await ComBattleTeamModel.getTeamByCode(teamCode); let team = await ComBattleTeamModel.getTeamByCode(teamCode);
clearRobotHurtTimer(team, this.robotHurtTimer); clearRobotHurtTimer(team, this.robotHurtTimer);
@@ -578,7 +578,7 @@ export class ComBattleHandler {
if (!warInfo) return resResult(STATUS.BATTLE_MISS_INFO); if (!warInfo) return resResult(STATUS.BATTLE_MISS_INFO);
let role = await RoleModel.findByRoleId(roleId, 'lv'); let role = await RoleModel.findByRoleId(roleId, 'lv');
let apJson = await setAp(roleId, role.lv, -1 * warInfo.cost, sid, funcs); // 扣除体力 let apJson = await setAp(roleId, role.lv, -1 * warInfo.cost, sid); // 扣除体力
if(!apJson) { if(!apJson) {
return resResult(STATUS.BATTLE_ACTION_POINT_LACK); return resResult(STATUS.BATTLE_ACTION_POINT_LACK);
} }
@@ -595,7 +595,7 @@ export class ComBattleHandler {
const goods = await addItems(roleId, roleName, sid, roleSt.fixReward); const goods = await addItems(roleId, roleName, sid, roleSt.fixReward);
let actordata = await roleLevelup(KING_EXP_RATIO_TYPE.BATTLE, roleId, warInfo.kingExp, session);// 主公升级经验 let actordata = await roleLevelup(KING_EXP_RATIO_TYPE.BATTLE, roleId, warInfo.kingExp, session);// 主公升级经验
// 任务 // 任务
await checkTaskWithGoods(roleId, sid, funcs, TASK_TYPE.COM_BATTLE_DROP, goods); await checkTaskWithGoods(roleId, sid, TASK_TYPE.COM_BATTLE_DROP, goods);
return resResult(STATUS.SUCCESS, { battleGoods: goods, ...actordata, teamInfo: {status, teamCode, roleStatus, bossHpArr} }); return resResult(STATUS.SUCCESS, { battleGoods: goods, ...actordata, teamInfo: {status, teamCode, roleStatus, bossHpArr} });
} }
@@ -770,7 +770,7 @@ export class ComBattleHandler {
const roleName = session.get('roleName'); const roleName = session.get('roleName');
const sid = session.get('sid'); const sid = session.get('sid');
const serverId = session.get('serverId'); const serverId = session.get('serverId');
const funcs: number[] = session.get('funcs');
const { original } = msg; const { original } = msg;
@@ -810,7 +810,7 @@ export class ComBattleHandler {
const { name } = gameData.goods.get(target); const { name } = gameData.goods.get(target);
pushNormalItemMsg(roleId, roleName, serverId, MSG_SOURCE.ORANGE_BLUEPRT_COMPOSE, target, name); pushNormalItemMsg(roleId, roleName, serverId, MSG_SOURCE.ORANGE_BLUEPRT_COMPOSE, target, name);
} }
await checkTask(roleId, sid, funcs, TASK_TYPE.COM_BATTLE_BLUEPRT, 1, true, { quality: dicCompose.targetQuality }); await checkTask(roleId, sid, TASK_TYPE.COM_BATTLE_BLUEPRT, 1, true, { quality: dicCompose.targetQuality });
return resResult(STATUS.SUCCESS, { goods, costGold: 0 }); return resResult(STATUS.SUCCESS, { goods, costGold: 0 });
} }
@@ -2,7 +2,7 @@ import { Application, BackendSession, HandlerService, } from 'pinus';
import { EventRecordModel } from '../../../db/EventRecord'; import { EventRecordModel } from '../../../db/EventRecord';
import { RoleModel } from '../../../db/Role'; import { RoleModel } from '../../../db/Role';
import { EVENT_STATUS, EVENT_RECORD_STATUS, EVENT_ANSWER_STATUS, TASK_TYPE } from '../../../consts'; import { EVENT_STATUS, EVENT_RECORD_STATUS, EVENT_ANSWER_STATUS, TASK_TYPE } from '../../../consts';
import { checkEvent, checkEventStatus, getEventSuccessStatus, getEvent, checkQuiz, startEvent } from '../../../services/eventSercive'; import { checkEventStatus, getEventSuccessStatus, getEvent, checkQuiz, startEvent } from '../../../services/eventSercive';
import { addItems } from '../../../services/rewardService'; import { addItems } from '../../../services/rewardService';
import { STATUS } from '../../../consts/statusCode'; import { STATUS } from '../../../consts/statusCode';
import { resResult } from '../../../pubUtils/util'; import { resResult } from '../../../pubUtils/util';
@@ -85,7 +85,7 @@ export class EventBattleHandler {
let eventStatus = session.get('eventStatus'); let eventStatus = session.get('eventStatus');
let sid = session.get('sid'); let sid = session.get('sid');
const serverId = session.get('serverId'); const serverId = session.get('serverId');
const funcs: number[] = session.get('funcs');
let event = await EventRecordModel.getEventRecordByCode(roleId, eventCode); let event = await EventRecordModel.getEventRecordByCode(roleId, eventCode);
if (!event) { if (!event) {
@@ -126,9 +126,9 @@ export class EventBattleHandler {
// 推送消息刷新 // 推送消息刷新
// await checkEvent(session, true); // await checkEvent(session, true);
// 任务 // 任务
await checkTask(roleId, sid, funcs, TASK_TYPE.BATTLE_EVENT, 1, true, { eventType: dicEvent.eventType }) await checkTask(roleId, sid, TASK_TYPE.BATTLE_EVENT, 1, true, { eventType: dicEvent.eventType })
// 活动任务 // 活动任务
await checkActivityTask(serverId, sid, funcs, roleId, TASK_TYPE.BATTLE_EVENT, 1, { eventType: dicEvent.eventType }) await checkActivityTask(serverId, sid, roleId, TASK_TYPE.BATTLE_EVENT, 1, { eventType: dicEvent.eventType })
return resResult(STATUS.SUCCESS, { return resResult(STATUS.SUCCESS, {
isSuccess, isSuccess,
eventCode: result.eventCode, eventCode: result.eventCode,
@@ -184,7 +184,7 @@ export class ExpeditionBattleHandler {
let roleName = session.get('roleName'); let roleName = session.get('roleName');
const serverId = session.get('serverId'); const serverId = session.get('serverId');
let sid = session.get('sid'); let sid = session.get('sid');
let funcs: number[] = session.get('funcs');
let warInfo = gameData.war.get(battleId); let warInfo = gameData.war.get(battleId);
if (!warInfo) { if (!warInfo) {
@@ -206,7 +206,7 @@ export class ExpeditionBattleHandler {
} }
let role = await RoleModel.findByRoleId(roleId, 'lv'); let role = await RoleModel.findByRoleId(roleId, 'lv');
let apJson = await setAp(roleId, role.lv, isSuccess?-1 * warInfo.cost: 0, sid, funcs); // 扣除体力 let apJson = await setAp(roleId, role.lv, isSuccess?-1 * warInfo.cost: 0, sid); // 扣除体力
if (!apJson) { if (!apJson) {
return resResult(STATUS.BATTLE_ACTION_POINT_LACK); return resResult(STATUS.BATTLE_ACTION_POINT_LACK);
} }
@@ -239,7 +239,7 @@ export class ExpeditionBattleHandler {
// 更新下一关状态 // 更新下一关状态
await ExpeditionWarRecordModel.updateStatus(expeditionCode, expeditionId + 1, EXPEDITION_WAR_RECORD_STATUS.WAITING); await ExpeditionWarRecordModel.updateStatus(expeditionCode, expeditionId + 1, EXPEDITION_WAR_RECORD_STATUS.WAITING);
} }
await checkTaskInBattleEnd(serverId, roleId, sid, funcs, battleId, dbHeroes, star); await checkTaskInBattleEnd(serverId, roleId, sid, battleId, dbHeroes, star);
return resResult(STATUS.SUCCESS, { return resResult(STATUS.SUCCESS, {
expeditionCode, expeditionId, expeditionCode, expeditionId,
@@ -261,7 +261,7 @@ export class ExpeditionBattleHandler {
let roleId = session.get('roleId'); let roleId = session.get('roleId');
let roleName = session.get('roleName'); let roleName = session.get('roleName');
let sid = session.get('sid'); let sid = session.get('sid');
const funcs: number[] = session.get('funcs');
const serverId = session.get('serverId'); const serverId = session.get('serverId');
let role = await RoleModel.findByRoleId(roleId); let role = await RoleModel.findByRoleId(roleId);
@@ -301,8 +301,8 @@ export class ExpeditionBattleHandler {
let pointRewards = await getPointRewardStatus(roleId); let pointRewards = await getPointRewardStatus(roleId);
// 任务 // 任务
await checkTask(roleId, sid, funcs, TASK_TYPE.BATTLE_EXPEDITION_BOX, 1, true, { point }); await checkTask(roleId, sid, TASK_TYPE.BATTLE_EXPEDITION_BOX, 1, true, { point });
await checkActivityTask(serverId, sid, funcs, roleId, TASK_TYPE.BATTLE_EXPEDITION_BOX, 1) await checkActivityTask(serverId, sid, roleId, TASK_TYPE.BATTLE_EXPEDITION_BOX, 1)
let goods = await addItems(roleId, roleName, sid, curDicExpeditionPoint.reward); let goods = await addItems(roleId, roleName, sid, curDicExpeditionPoint.reward);
@@ -14,7 +14,7 @@ import { RoleModel } from '../../../db/Role';
import { RScriptRecordModel } from '../../../db/RScriptRecord'; import { RScriptRecordModel } from '../../../db/RScriptRecord';
import { updateWarStar, checkBattleHeroes, roleLevelup, getBattleList } from '../../../services/normalBattleService'; import { updateWarStar, checkBattleHeroes, roleLevelup, getBattleList } from '../../../services/normalBattleService';
import { checkDungeonNum, checkDungeonAndIncrease, saveDungeonFirst } from '../../../services/dungeonService'; import { checkDungeonNum, checkDungeonAndIncrease, saveDungeonFirst } from '../../../services/dungeonService';
import { switchOnFunc } from '../../../services/funcSwitchService'; // import { switchOnFunc } from '../../../services/funcSwitchService';
import { gameData } from '../../../pubUtils/data'; import { gameData } from '../../../pubUtils/data';
import { pushMysteryFirstMsg, pushTowerMsg, pushVestigeFirstMsg } from '../../../services/chatService'; import { pushMysteryFirstMsg, pushTowerMsg, pushVestigeFirstMsg } from '../../../services/chatService';
import { nowSeconds } from '../../../pubUtils/timeUtil'; import { nowSeconds } from '../../../pubUtils/timeUtil';
@@ -128,7 +128,7 @@ export class NormalBattleHandler {
let roleId = session.get('roleId'); let roleId = session.get('roleId');
let roleName = session.get('roleName'); let roleName = session.get('roleName');
let sid = session.get('sid'); let sid = session.get('sid');
const funcs: number[] = session.get('funcs');
let serverId = session.get('serverId'); let serverId = session.get('serverId');
let skipReward = false;//是否跳过奖励结算 let skipReward = false;//是否跳过奖励结算
@@ -156,7 +156,7 @@ export class NormalBattleHandler {
} }
let role = await RoleModel.findByRoleId(roleId, 'lv'); let role = await RoleModel.findByRoleId(roleId, 'lv');
let apJson = await setAp(roleId, role.lv, isSuccess? -1 * warInfo.cost: 0, sid, funcs); // 扣除体力 let apJson = await setAp(roleId, role.lv, isSuccess? -1 * warInfo.cost: 0, sid); // 扣除体力
if (!apJson) { if (!apJson) {
return resResult(STATUS.BATTLE_ACTION_POINT_LACK); return resResult(STATUS.BATTLE_ACTION_POINT_LACK);
} }
@@ -178,7 +178,7 @@ export class NormalBattleHandler {
// 记录事件状态 // 记录事件状态
await setBattleStatus(session, roleId, battleId, isSuccess, battleCode); await setBattleStatus(session, roleId, battleId, isSuccess, battleCode);
} else if (warInfo.warType == WAR_TYPE.TOWER) { } else if (warInfo.warType == WAR_TYPE.TOWER) {
let towerEndResult = await towerBattleEnd(sid, funcs, roleId, serverId, battleCode, battleId, isSuccess, heroes); let towerEndResult = await towerBattleEnd(sid, roleId, serverId, battleCode, battleId, isSuccess, heroes);
if (towerEndResult) { if (towerEndResult) {
if (towerEndResult.status == -1) { if (towerEndResult.status == -1) {
return towerEndResult.resResult; return towerEndResult.resResult;
@@ -210,7 +210,7 @@ export class NormalBattleHandler {
if (role) { if (role) {
let r = new Rank(REDIS_KEY.MAIN_ELITE_RANK, { serverId }); let r = new Rank(REDIS_KEY.MAIN_ELITE_RANK, { serverId });
await r.setRankWithRoleInfo(roleId, role.mainEliteWarId, role.mainEliteUpdatedAt, role); await r.setRankWithRoleInfo(roleId, role.mainEliteWarId, role.mainEliteUpdatedAt, role);
await checkActivityTask(serverId, sid, funcs, roleId, TASK_TYPE.BATTLE_MAIN_ELITE, 1, { mainEliteWarId: battleId }) await checkActivityTask(serverId, sid, roleId, TASK_TYPE.BATTLE_MAIN_ELITE, 1, { mainEliteWarId: battleId })
} }
} else if (warInfo.warType == WAR_TYPE.ACT_SELF_SHOP) { } else if (warInfo.warType == WAR_TYPE.ACT_SELF_SHOP) {
//糜家商队挑战成功后记录挑战次数 //糜家商队挑战成功后记录挑战次数
@@ -233,7 +233,7 @@ export class NormalBattleHandler {
// 是否首通 // 是否首通
let condition1 = warStar.find(cur => cur.id == battleId); let condition1 = warStar.find(cur => cur.id == battleId);
if (!condition1) { if (!condition1) {
await switchOnFunc(roleId, FUNC_OPT_TYPE.BATTLE_END, battleId, session); // await switchOnFunc(roleId, FUNC_OPT_TYPE.BATTLE_END, battleId, session);
warReward.setCondition(0, true); warReward.setCondition(0, true);
pushMysteryFirstMsg(roleId, roleName, serverId, warInfo.warType, warInfo.war_id); pushMysteryFirstMsg(roleId, roleName, serverId, warInfo.warType, warInfo.war_id);
pushVestigeFirstMsg(roleId, roleName, serverId, warInfo.warType, warInfo.war_id); pushVestigeFirstMsg(roleId, roleName, serverId, warInfo.warType, warInfo.war_id);
@@ -258,7 +258,7 @@ export class NormalBattleHandler {
let actordata = await roleLevelup(KING_EXP_RATIO_TYPE.BATTLE, roleId, isSuccess ? warInfo.kingExp : 0, session);// 主公升级经验 let actordata = await roleLevelup(KING_EXP_RATIO_TYPE.BATTLE, roleId, isSuccess ? warInfo.kingExp : 0, session);// 主公升级经验
await checkTaskInBattleEnd(serverId, roleId, sid, funcs, battleId, dbHeroes, star); await checkTaskInBattleEnd(serverId, roleId, sid, battleId, dbHeroes, star);
// 返回值: // 返回值:
// towerStatus: false-本层未通过, true-本层已通过 // towerStatus: false-本层未通过, true-本层已通过
return resResult(STATUS.SUCCESS, { return resResult(STATUS.SUCCESS, {
@@ -276,7 +276,7 @@ export class NormalBattleHandler {
let roleName = session.get('roleName'); let roleName = session.get('roleName');
let sid = session.get('sid'); let sid = session.get('sid');
let serverId = session.get('serverId'); let serverId = session.get('serverId');
let funcs: number[] = session.get('funcs');
let warInfo = gameData.war.get(battleId); let warInfo = gameData.war.get(battleId);
if (!warInfo) { if (!warInfo) {
return resResult(STATUS.BATTLE_MISS_INFO); return resResult(STATUS.BATTLE_MISS_INFO);
@@ -290,7 +290,7 @@ export class NormalBattleHandler {
// 扣体力 // 扣体力
let role = await RoleModel.findByRoleId(roleId, 'lv'); let role = await RoleModel.findByRoleId(roleId, 'lv');
let apJson = await setAp(roleId, role.lv, -1 * warInfo.cost * count, sid, funcs); // 扣除体力 let apJson = await setAp(roleId, role.lv, -1 * warInfo.cost * count, sid); // 扣除体力
if (!apJson) { if (!apJson) {
return resResult(STATUS.BATTLE_ACTION_POINT_LACK); return resResult(STATUS.BATTLE_ACTION_POINT_LACK);
} }
@@ -329,9 +329,9 @@ export class NormalBattleHandler {
}); });
// 任务 // 任务
await checkTaskWithWar(roleId, sid, funcs, TASK_TYPE.BATTLE_MAIN_SWEEP, battleId, [], count, 0); await checkTaskWithWar(roleId, sid, TASK_TYPE.BATTLE_MAIN_SWEEP, battleId, [], count, 0);
//活动任务 //活动任务
await checkActivityTask(serverId, sid, funcs, roleId, TASK_TYPE.BATTLE_MAIN_SWEEP, count, { battleId }) await checkActivityTask(serverId, sid, roleId, TASK_TYPE.BATTLE_MAIN_SWEEP, count, { battleId })
return resResult(STATUS.SUCCESS, { return resResult(STATUS.SUCCESS, {
battleId, count, battleId, count,
@@ -38,7 +38,7 @@ export class PvpHandler {
let { heroScores: addHeroScores } = msg; let { heroScores: addHeroScores } = msg;
let roleId = session.get('roleId'); let roleId = session.get('roleId');
let sid = session.get('sid'); let sid = session.get('sid');
const funcs: number[] = session.get('funcs');
let { heroScores, hisScore } = await PvpDefenseModel.findByRoleId(roleId); let { heroScores, hisScore } = await PvpDefenseModel.findByRoleId(roleId);
let score = 0; let score = 0;
for (let { hid, score: heroScore } of addHeroScores) { for (let { hid, score: heroScore } of addHeroScores) {
@@ -69,7 +69,7 @@ export class PvpHandler {
await r.setRankWithRoleInfo(roleId, pvpDefense.score, pvpDefense.updatedAt.getTime(), role); await r.setRankWithRoleInfo(roleId, pvpDefense.score, pvpDefense.updatedAt.getTime(), role);
// 任务 // 任务
await checkTask(roleId, sid, funcs, TASK_TYPE.PVP_HERO_SCORE, 0, false, { heroScores }); await checkTask(roleId, sid, TASK_TYPE.PVP_HERO_SCORE, 0, false, { heroScores });
return resResult(STATUS.SUCCESS, { score, hisScore, heroScores }); return resResult(STATUS.SUCCESS, { score, hisScore, heroScores });
} }
@@ -239,7 +239,7 @@ export class PvpHandler {
let roleId = session.get('roleId'); let roleId = session.get('roleId');
let roleName = session.get('roleName'); let roleName = session.get('roleName');
let sid = session.get('sid'); let sid = session.get('sid');
const funcs: number[] = session.get('funcs');
const serverId = session.get('serverId'); const serverId = session.get('serverId');
const { battleCode, isSuccess, myHeroes, oppHeroes } = msg; const { battleCode, isSuccess, myHeroes, oppHeroes } = msg;
@@ -307,11 +307,11 @@ export class PvpHandler {
await r.setRankWithRoleInfo(roleId, pvpDefense.score, pvpDefense.updatedAt.getTime(), role); await r.setRankWithRoleInfo(roleId, pvpDefense.score, pvpDefense.updatedAt.getTime(), role);
let myRank = await r.getMyRank({ roleId }); let myRank = await r.getMyRank({ roleId });
await checkTaskInPvpEnd(roleId, sid, funcs, isSuccess, heroScores); await checkTaskInPvpEnd(roleId, sid, isSuccess, heroScores);
await checkActivityTask(serverId, sid, funcs, roleId, TASK_TYPE.PVP, 1) await checkActivityTask(serverId, sid, roleId, TASK_TYPE.PVP, 1)
if (isSuccess) { if (isSuccess) {
await checkActivityTask(serverId, sid, funcs, roleId, TASK_TYPE.PVP_WIN, 1) await checkActivityTask(serverId, sid, roleId, TASK_TYPE.PVP_WIN, 1)
await checkActivityTask(serverId, sid, funcs, roleId, TASK_TYPE.PVP_WIN_SERIES, 1) await checkActivityTask(serverId, sid, roleId, TASK_TYPE.PVP_WIN_SERIES, 1)
} }
return resResult(STATUS.SUCCESS, { return resResult(STATUS.SUCCESS, {
@@ -485,7 +485,7 @@ export class PvpHandler {
let roleId = session.get('roleId'); let roleId = session.get('roleId');
let sid: string = session.get('sid'); let sid: string = session.get('sid');
let roleName = session.get('roleName'); let roleName = session.get('roleName');
const funcs: number[] = session.get('funcs');
let { seasonEndTime } = await PVPConfigModel.findCurPVPConfig(); let { seasonEndTime } = await PVPConfigModel.findCurPVPConfig();
let { hisScore, receivedBox, challengeCnt: lastChallengeCnt, challengeRefTime: lastChallengeRefTime } = await PvpDefenseModel.findByRoleIdIncludeAll(roleId); let { hisScore, receivedBox, challengeCnt: lastChallengeCnt, challengeRefTime: lastChallengeRefTime } = await PvpDefenseModel.findByRoleIdIncludeAll(roleId);
let pvpBoxs = getPvpBoxs(); let pvpBoxs = getPvpBoxs();
@@ -501,7 +501,7 @@ export class PvpHandler {
await PvpDefenseModel.updateInfo(roleId, { receivedBox, challengeCnt, challengeRefTime }); await PvpDefenseModel.updateInfo(roleId, { receivedBox, challengeCnt, challengeRefTime });
let result = await addItems(roleId, roleName, sid, pvpBox.reward); let result = await addItems(roleId, roleName, sid, pvpBox.reward);
// 任务 // 任务
await checkTask(roleId, sid, funcs, TASK_TYPE.PVP_RECEIVE_BOX, 1, true, {}); await checkTask(roleId, sid, TASK_TYPE.PVP_RECEIVE_BOX, 1, true, {});
return resResult(STATUS.SUCCESS, { goods: result, receivedBox, challengeCnt, challengeRefTime }); return resResult(STATUS.SUCCESS, { goods: result, receivedBox, challengeCnt, challengeRefTime });
} }
@@ -88,7 +88,7 @@ export class ChatHandler {
const roleName = session.get('roleName'); const roleName = session.get('roleName');
const serverId = session.get('serverId'); const serverId = session.get('serverId');
const guildCode = session.get('guildCode'); const guildCode = session.get('guildCode');
const funcs: number[] = session.get('funcs');
const sid = session.get('sid'); const sid = session.get('sid');
let channelId = ''; let channelId = '';
if (channel === CHANNEL_PREFIX.WORLD) channelId = `${serverId}`; if (channel === CHANNEL_PREFIX.WORLD) channelId = `${serverId}`;
@@ -98,10 +98,10 @@ export class ChatHandler {
await pushGroupMsgToRoom(msgData); await pushGroupMsgToRoom(msgData);
// 任务 // 任务
await checkTaskWithArgs(roleId, sid, funcs, TASK_TYPE.CHAT, [CHANNEL_TYPE.get(channel)]); await checkTaskWithArgs(roleId, sid, TASK_TYPE.CHAT, [CHANNEL_TYPE.get(channel)]);
//活动任务 //活动任务
await checkActivityTask(serverId, sid, funcs, roleId, TASK_TYPE.CHAT, 1, { chatType: CHANNEL_TYPE.get(channel) }) await checkActivityTask(serverId, sid, roleId, TASK_TYPE.CHAT, 1, { chatType: CHANNEL_TYPE.get(channel) })
return resResult(STATUS.SUCCESS, msgData); return resResult(STATUS.SUCCESS, msgData);
} }
@@ -117,16 +117,16 @@ export class ChatHandler {
const roleId = session.get('roleId'); const roleId = session.get('roleId');
const serverId = session.get('serverId'); const serverId = session.get('serverId');
const roleName = session.get('roleName'); const roleName = session.get('roleName');
const funcs: number[] = session.get('funcs');
const sid = session.get('sid'); const sid = session.get('sid');
const msgData = await createPrivateMsg(roleId, roleName, type, MSG_SOURCE.ROLE_SEND_TEXT, content, targetRoleId, targetMsgCode); const msgData = await createPrivateMsg(roleId, roleName, type, MSG_SOURCE.ROLE_SEND_TEXT, content, targetRoleId, targetMsgCode);
await pushMsgToRole(msgData); await pushMsgToRole(msgData);
if (!msgData) return resResult(STATUS.WRONG_PARMS); if (!msgData) return resResult(STATUS.WRONG_PARMS);
// 任务 // 任务
await checkTaskWithArgs(roleId, sid, funcs, TASK_TYPE.CHAT, [CHANNEL_TYPE.get('private')]); await checkTaskWithArgs(roleId, sid, TASK_TYPE.CHAT, [CHANNEL_TYPE.get('private')]);
//活动任务 //活动任务
await checkActivityTask(serverId, sid, funcs, roleId, TASK_TYPE.CHAT, 1, { chatType: CHANNEL_TYPE.get('private') }) await checkActivityTask(serverId, sid, roleId, TASK_TYPE.CHAT, 1, { chatType: CHANNEL_TYPE.get('private') })
return resResult(STATUS.SUCCESS, msgData); return resResult(STATUS.SUCCESS, msgData);
} }
@@ -11,7 +11,6 @@ import { COM_BTL_QUALITY, HERO_SELECT, DEBUG_MAGIC_WORD, REDIS_KEY, TASK_TYPE, E
import { getAp } from '../../../services/actionPointService'; import { getAp } from '../../../services/actionPointService';
import { ItemModel } from '../../../db/Item'; import { ItemModel } from '../../../db/Item';
import { SkinModel } from '../../../db/Skin'; import { SkinModel } from '../../../db/Skin';
import { chackFunOpenWhenLogin } from '../../../services/funcSwitchService';
import { loginRefresh } from '../../../services/playerEventService'; import { loginRefresh } from '../../../services/playerEventService';
import { nowSeconds, getZeroPoint } from '../../../pubUtils/timeUtil'; import { nowSeconds, getZeroPoint } from '../../../pubUtils/timeUtil';
import { rmRoleFromQueue, roleLeave, getRoleOnlineInfo, roleLogin } from '../../../services/redisService'; import { rmRoleFromQueue, roleLeave, getRoleOnlineInfo, roleLogin } from '../../../services/redisService';
@@ -60,7 +59,7 @@ export class EntryHandler {
await self.app.rpc.connector.connectorRemote.remoteLogin.toServer(connect.sid, role.roleId); await self.app.rpc.connector.connectorRemote.remoteLogin.toServer(connect.sid, role.roleId);
} }
let serverName = this.app.getServerId(); let serverName = this.app.getServerId();
await roleLogin(role.roleId, user.userCode, serverName, user.pkgName, role.funcs || []); // 保存在线用户 await roleLogin(role.roleId, user.userCode, serverName, user.pkgName); // 保存在线用户
await this.addSession(role, session); await this.addSession(role, session);
let channelService = self.app.get('channelService'); let channelService = self.app.get('channelService');
@@ -79,7 +78,6 @@ export class EntryHandler {
let equips = await EquipModel.findbyRole(role.roleId); let equips = await EquipModel.findbyRole(role.roleId);
let items = await ItemModel.findbyRole(role.roleId); let items = await ItemModel.findbyRole(role.roleId);
let skins = await SkinModel.findbyRole(role.roleId); let skins = await SkinModel.findbyRole(role.roleId);
await chackFunOpenWhenLogin(role, session);
if (role.hasInit) await loginRefresh(role.roleId); if (role.hasInit) await loginRefresh(role.roleId);
reportOneOnline(role.roleId, user.userCode, self.app.get('serverId'), true, user); reportOneOnline(role.roleId, user.userCode, self.app.get('serverId'), true, user);
@@ -89,8 +87,8 @@ export class EntryHandler {
r2.setRankWithRoleInfo(role.roleId, role.lv, role.updatedAt.getTime(), role); r2.setRankWithRoleInfo(role.roleId, role.lv, role.updatedAt.getTime(), role);
// 任务 // 任务
checkTaskWithRole(serverId, role.roleId, self.app.get('serverId'), role.funcs, TASK_TYPE.LOGIN_SUM, role); checkTaskWithRole(serverId, role.roleId, self.app.get('serverId'), TASK_TYPE.LOGIN_SUM, role);
checkTaskWithRole(serverId, role.roleId, self.app.get('serverId'), role.funcs, TASK_TYPE.LOGIN_SERIES, role); checkTaskWithRole(serverId, role.roleId, self.app.get('serverId'), TASK_TYPE.LOGIN_SERIES, role);
// 推送数据 // 推送数据
if (role.hasInit) pushData(role, session); if (role.hasInit) pushData(role, session);
@@ -129,7 +127,6 @@ export class EntryHandler {
session.set('eventStatus', role.eventStatus); session.set('eventStatus', role.eventStatus);
session.set('sid', self.app.get('serverId')); session.set('sid', self.app.get('serverId'));
session.set('serverId', role.serverId); session.set('serverId', role.serverId);
session.set('funcs', role.funcs || []);
session.set('guildCode', role.guildCode); session.set('guildCode', role.guildCode);
session.push('userid', () => { }); session.push('userid', () => { });
session.push('sid', () => { }); session.push('sid', () => { });
@@ -137,7 +134,6 @@ export class EntryHandler {
session.push('roleName', () => { }); session.push('roleName', () => { });
session.push('eventStatus', () => { }); session.push('eventStatus', () => { });
session.push('serverId', () => { }); session.push('serverId', () => { });
session.push('funcs', () => { });
session.push('updatedMailAt', () => { }); session.push('updatedMailAt', () => { });
session.push('guildCode', () => { }); session.push('guildCode', () => { });
console.log(role.guildCode) console.log(role.guildCode)
@@ -167,8 +163,8 @@ export class EntryHandler {
let { serverId } = role; let { serverId } = role;
// 任务 // 任务
checkTaskWithRole(serverId, role.roleId, self.app.get('serverId'), role.funcs, TASK_TYPE.LOGIN_SUM, role); checkTaskWithRole(serverId, role.roleId, self.app.get('serverId'), TASK_TYPE.LOGIN_SUM, role);
checkTaskWithRole(serverId, role.roleId, self.app.get('serverId'), role.funcs, TASK_TYPE.LOGIN_SERIES, role); checkTaskWithRole(serverId, role.roleId, self.app.get('serverId'), TASK_TYPE.LOGIN_SERIES, role);
// 推送数据 // 推送数据
pushData(role, session, 'refresh'); pushData(role, session, 'refresh');
@@ -266,7 +266,7 @@ export class CityActivityHandler {
let sid = session.get('sid'); let sid = session.get('sid');
let guildCode = session.get('guildCode'); let guildCode = session.get('guildCode');
let serverId = session.get('serverId'); let serverId = session.get('serverId');
const funcs: number[] = session.get('funcs');
let { cityId, code, isSuccess } = msg; let { cityId, code, isSuccess } = msg;
let obj = getCityActivityObj(); let obj = getCityActivityObj();
@@ -292,9 +292,9 @@ export class CityActivityHandler {
let gateHp = obj.getGateHpAndInc(serverId, cityId, dicCity.hp); let gateHp = obj.getGateHpAndInc(serverId, cityId, dicCity.hp);
// 任务 // 任务
await checkTask(roleId, sid, funcs, TASK_TYPE.GUILD_ACTIVITY, 1, true, { aid: this.aid }); await checkTask(roleId, sid, TASK_TYPE.GUILD_ACTIVITY, 1, true, { aid: this.aid });
//成长任务 //成长任务
await checkActivityTask(serverId, sid, funcs, roleId, TASK_TYPE.GUILD_ACTIVITY, 1, { aid: this.aid }) await checkActivityTask(serverId, sid, roleId, TASK_TYPE.GUILD_ACTIVITY, 1, { aid: this.aid })
return resResult(STATUS.SUCCESS, { return resResult(STATUS.SUCCESS, {
isSuccess, isSuccess,
@@ -51,7 +51,7 @@ export class DonationHandler {
const roleName: string = session.get('roleName'); const roleName: string = session.get('roleName');
const serverId: number = parseInt(session.get('serverId')); const serverId: number = parseInt(session.get('serverId'));
const sid: string = session.get('sid'); const sid: string = session.get('sid');
const funcs: number[] = session.get('funcs');
let userGuild = await refreshUserGuild(myUserGuild, roleId); let userGuild = await refreshUserGuild(myUserGuild, roleId);
if (!userGuild) return resResult(STATUS.WRONG_PARMS); if (!userGuild) return resResult(STATUS.WRONG_PARMS);
const { guildCode: code, donateCnt: resdonateCnt } = userGuild; const { guildCode: code, donateCnt: resdonateCnt } = userGuild;
@@ -74,9 +74,9 @@ export class DonationHandler {
this.app.rpc.chat.guildRemote.updateInfo.toServer(CHAT_SERVER, code, { fund }); this.app.rpc.chat.guildRemote.updateInfo.toServer(CHAT_SERVER, code, { fund });
await addActive(roleId, serverId, GUILD_POINT_WAYS.DONATE, id); await addActive(roleId, serverId, GUILD_POINT_WAYS.DONATE, id);
// 任务 // 任务
await checkTask(roleId, sid, funcs, TASK_TYPE.GUILD_DONATE, 1, true, {}); await checkTask(roleId, sid, TASK_TYPE.GUILD_DONATE, 1, true, {});
//活动任务 //活动任务
await checkActivityTask(serverId, sid, funcs, roleId, TASK_TYPE.GUILD_DONATE, 1); await checkActivityTask(serverId, sid, roleId, TASK_TYPE.GUILD_DONATE, 1);
return resResult(STATUS.SUCCESS, { donateFund, reports, donateCnt, simpleGoods: goods }); return resResult(STATUS.SUCCESS, { donateFund, reports, donateCnt, simpleGoods: goods });
} }
@@ -206,7 +206,7 @@ export class GateActivityHandler {
let sid = session.get('sid'); let sid = session.get('sid');
let guildCode = session.get('guildCode'); let guildCode = session.get('guildCode');
let serverId = session.get('serverId'); let serverId = session.get('serverId');
const funcs: number[] = session.get('funcs');
let { code, isSuccess } = msg; let { code, isSuccess } = msg;
let obj = getGateActivityObj(); let obj = getGateActivityObj();
@@ -256,9 +256,9 @@ export class GateActivityHandler {
} }
// 任务 // 任务
await checkTask(roleId, sid, funcs, TASK_TYPE.GUILD_ACTIVITY, 1, true, { aid: this.aid }); await checkTask(roleId, sid, TASK_TYPE.GUILD_ACTIVITY, 1, true, { aid: this.aid });
//成长任务 //成长任务
await checkActivityTask(serverId, sid, funcs, roleId, TASK_TYPE.GUILD_ACTIVITY, 1, { aid: this.aid }) await checkActivityTask(serverId, sid, roleId, TASK_TYPE.GUILD_ACTIVITY, 1, { aid: this.aid })
return resResult(STATUS.SUCCESS, { return resResult(STATUS.SUCCESS, {
code, code,
...statusResult, ...statusResult,
@@ -161,7 +161,7 @@ export class GuildHandler {
const { battleCode, myUserGuild: userGuild } = msg; const { battleCode, myUserGuild: userGuild } = msg;
const roleId = session.get('roleId'); const roleId = session.get('roleId');
const sid = session.get('sid'); const sid = session.get('sid');
const funcs: number[] = session.get('funcs');
const serverId: number = parseInt(session.get('serverId')); const serverId: number = parseInt(session.get('serverId'));
const { guildCode: code } = userGuild; const { guildCode: code } = userGuild;
const battleRecord = await BattleRecordModel.getBattleRecordByCode(battleCode, true); const battleRecord = await BattleRecordModel.getBattleRecordByCode(battleCode, true);
@@ -175,7 +175,7 @@ export class GuildHandler {
let result = await getBossInstanceWhenEnd(bossInstance, roleId, battleRecord.record.recordNum); let result = await getBossInstanceWhenEnd(bossInstance, roleId, battleRecord.record.recordNum);
await addActive(roleId, serverId, GUILD_POINT_WAYS.BOSS_WAR);//获得活跃值 await addActive(roleId, serverId, GUILD_POINT_WAYS.BOSS_WAR);//获得活跃值
// 任务 // 任务
await checkTask(roleId, sid, funcs, TASK_TYPE.GUILD_BOSS, 1, true, {}); await checkTask(roleId, sid, TASK_TYPE.GUILD_BOSS, 1, true, {});
return resResult(STATUS.SUCCESS, result); return resResult(STATUS.SUCCESS, result);
} }
@@ -802,7 +802,7 @@ export class GuildHandler {
const roleName = session.get('roleName'); const roleName = session.get('roleName');
const sid = session.get('sid'); const sid = session.get('sid');
const serverId = session.get('serverId'); const serverId = session.get('serverId');
const funcs: number[] = session.get('funcs');
const { code, id, myUserGuild } = msg; const { code, id, myUserGuild } = msg;
let userGuild = await refreshUserGuild(myUserGuild, roleId); let userGuild = await refreshUserGuild(myUserGuild, roleId);
@@ -827,7 +827,7 @@ export class GuildHandler {
userGuild = await UserGuildModel.updateInfo(roleId, { receivedActive: userGuild.receivedActive }, {}, 'receivedActive'); userGuild = await UserGuildModel.updateInfo(roleId, { receivedActive: userGuild.receivedActive }, {}, 'receivedActive');
// 任务 // 任务
await checkTask(roleId, sid, funcs, TASK_TYPE.GUILD_RECEIVE_BOX, 1, true, {}); await checkTask(roleId, sid, TASK_TYPE.GUILD_RECEIVE_BOX, 1, true, {});
return resResult(STATUS.SUCCESS, { goods, receivedActive: userGuild.receivedActive }); return resResult(STATUS.SUCCESS, { goods, receivedActive: userGuild.receivedActive });
} }
@@ -49,7 +49,7 @@ export class GuildRefineHandler {
const roleId: string = session.get('roleId'); const roleId: string = session.get('roleId');
const sid: string = session.get('sid'); const sid: string = session.get('sid');
const roleName: string = session.get('roleName'); const roleName: string = session.get('roleName');
const funcs: number[] = session.get('funcs');
let pieceInfo = getGoodById(pid); let pieceInfo = getGoodById(pid);
let { guildCode: code } = userGuild; let { guildCode: code } = userGuild;
@@ -73,7 +73,7 @@ export class GuildRefineHandler {
let goods = await addItems(roleId, roleName, sid, [{ id: pid, count: 1 }]); let goods = await addItems(roleId, roleName, sid, [{ id: pid, count: 1 }]);
// 任务 // 任务
await checkTask(roleId, sid, funcs, TASK_TYPE.GUILD_REFINE, 1, true, { quality: pieceInfo.lvLimited }); await checkTask(roleId, sid, TASK_TYPE.GUILD_REFINE, 1, true, { quality: pieceInfo.lvLimited });
return resResult(STATUS.SUCCESS, { goods }); return resResult(STATUS.SUCCESS, { goods });
} }
/** /**
@@ -135,7 +135,7 @@ export class GuildRefineHandler {
const roleId: string = session.get('roleId'); const roleId: string = session.get('roleId');
const serverId: number = session.get('serverId'); const serverId: number = session.get('serverId');
const sid: string = session.get('sid'); const sid: string = session.get('sid');
const funcs: number[] = session.get('funcs');
const { guildCode: code } = userGuild; const { guildCode: code } = userGuild;
let res: any = await lockData(serverId, DATA_NAME.GUILD_ASSIST_REFINE, code);//加锁 let res: any = await lockData(serverId, DATA_NAME.GUILD_ASSIST_REFINE, code);//加锁
if (!!res.err) if (!!res.err)
@@ -167,7 +167,7 @@ export class GuildRefineHandler {
res.releaseCallback(); res.releaseCallback();
// 任务 // 任务
await checkTask(roleId, sid, funcs, TASK_TYPE.GUILD_ASSIST_REFINE, 1, true, {}); await checkTask(roleId, sid, TASK_TYPE.GUILD_ASSIST_REFINE, 1, true, {});
return resResult(STATUS.SUCCESS, { scienceTrees }); return resResult(STATUS.SUCCESS, { scienceTrees });
} }
@@ -136,7 +136,7 @@ export class GuildTrainHandler {
const serverId: number = parseInt(session.get('serverId')); const serverId: number = parseInt(session.get('serverId'));
const roleName: string = session.get('roleName'); const roleName: string = session.get('roleName');
const sid: string = session.get('sid'); const sid: string = session.get('sid');
const funcs: number[] = session.get('funcs');
let userGuild = await refreshTrain(myUserGuild, roleId, serverId); let userGuild = await refreshTrain(myUserGuild, roleId, serverId);
if (!userGuild) if (!userGuild)
return resResult(STATUS.WRONG_PARMS); return resResult(STATUS.WRONG_PARMS);
@@ -239,7 +239,7 @@ export class GuildTrainHandler {
res.releaseCallback();//解锁 res.releaseCallback();//解锁
} }
if (isComplete) {//解锁下一关,弹出礼包 // 1 true true 6Sjkgp(trainId, isComplete, needLockNext, code) if (isComplete) {//解锁下一关,弹出礼包 // 1 true true 6Sjkgp(trainId, isComplete, needLockNext, code)
let pushMessage = await checkActivityTask(serverId, sid, funcs, roleId, TASK_TYPE.GUILD_TRAIN_COUNT, 1, { trainId, code }) let pushMessage = await checkActivityTask(serverId, sid, roleId, TASK_TYPE.GUILD_TRAIN_COUNT, 1, { trainId, code })
await sendPopUpActivityData(code, serverId, pushMessage); await sendPopUpActivityData(code, serverId, pushMessage);
} }
@@ -251,11 +251,11 @@ export class GuildTrainHandler {
// 任务 // 任务
if (isSuccess) { if (isSuccess) {
await checkTask(roleId, sid, funcs, TASK_TYPE.GUILD_TRAIN_SUCESS, 1, true, {}); await checkTask(roleId, sid, TASK_TYPE.GUILD_TRAIN_SUCESS, 1, true, {});
} }
await checkTask(roleId, sid, funcs, TASK_TYPE.GUILD_TRAIN, 1, true, {}); await checkTask(roleId, sid, TASK_TYPE.GUILD_TRAIN, 1, true, {});
//成长任务 //成长任务
await checkActivityTask(serverId, sid, funcs, roleId, TASK_TYPE.GUILD_TRAIN, 1) await checkActivityTask(serverId, sid, roleId, TASK_TYPE.GUILD_TRAIN, 1)
return resResult(STATUS.SUCCESS, result); return resResult(STATUS.SUCCESS, result);
} }
@@ -159,7 +159,7 @@ export class RaceActivityHandler {
let sid = session.get('sid'); let sid = session.get('sid');
let guildCode = session.get('guildCode'); let guildCode = session.get('guildCode');
let serverId = session.get('serverId'); let serverId = session.get('serverId');
const funcs: number[] = session.get('funcs');
let { code, isSuccess } = msg; let { code, isSuccess } = msg;
@@ -178,9 +178,9 @@ export class RaceActivityHandler {
let myGuildRank = await r.getMyRank({ guildCode }); let myGuildRank = await r.getMyRank({ guildCode });
// 任务 // 任务
await checkTask(roleId, sid, funcs, TASK_TYPE.GUILD_ACTIVITY, 1, true, { aid: this.aid }); await checkTask(roleId, sid, TASK_TYPE.GUILD_ACTIVITY, 1, true, { aid: this.aid });
//成长任务 //成长任务
await checkActivityTask(serverId, sid, funcs, roleId, TASK_TYPE.GUILD_ACTIVITY, 1, { aid: this.aid }) await checkActivityTask(serverId, sid, roleId, TASK_TYPE.GUILD_ACTIVITY, 1, { aid: this.aid })
return resResult(STATUS.SUCCESS, { return resResult(STATUS.SUCCESS, {
timestamp: Date.now(), timestamp: Date.now(),
woodenHorse: guildActivityRec.woodenHorse, woodenHorse: guildActivityRec.woodenHorse,
@@ -102,7 +102,7 @@ export class orderHandler {
const serverId = session.get('serverId'); const serverId = session.get('serverId');
const sid = session.get('sid'); const sid = session.get('sid');
const roleName = session.get('roleName'); const roleName = session.get('roleName');
const funcs: number[] = session.get('funcs');
if (!localOrderID || !_.isString(localOrderID)) { if (!localOrderID || !_.isString(localOrderID)) {
return resResult(STATUS.WRONG_PARMS); return resResult(STATUS.WRONG_PARMS);
} }
@@ -196,7 +196,7 @@ export class orderHandler {
await addRechargeMoney(roleId, serverId, price); await addRechargeMoney(roleId, serverId, price);
await addVipRechargeMoney(roleId, serverId, price); await addVipRechargeMoney(roleId, serverId, price);
//成长任务 //成长任务
await checkActivityTask(serverId, sid, funcs, roleId, TASK_TYPE.ACTIVITY_RMB, price, { activityId: orderInfo.activityId }) await checkActivityTask(serverId, sid, roleId, TASK_TYPE.ACTIVITY_RMB, price, { activityId: orderInfo.activityId })
console.log('结算完成', localOrderID) console.log('结算完成', localOrderID)
@@ -223,7 +223,7 @@ export class orderHandler {
const serverId = session.get('serverId'); const serverId = session.get('serverId');
const sid = session.get('sid'); const sid = session.get('sid');
const roleName = session.get('roleName'); const roleName = session.get('roleName');
const funcs: number[] = session.get('funcs');
let payType = PAY_TYPE.TEST let payType = PAY_TYPE.TEST
//如果有特殊情况,activityId可为0 //如果有特殊情况,activityId可为0
@@ -272,7 +272,7 @@ export class orderHandler {
await addRechargeMoney(roleId, serverId, price); await addRechargeMoney(roleId, serverId, price);
await addVipRechargeMoney(roleId, serverId, price); await addVipRechargeMoney(roleId, serverId, price);
//成长任务 //成长任务
await checkActivityTask(serverId, sid, funcs, roleId, TASK_TYPE.ACTIVITY_RMB, price, { activityId }) await checkActivityTask(serverId, sid, roleId, TASK_TYPE.ACTIVITY_RMB, price, { activityId })
console.log(`测试支付完成!!!!!!!!!!!!! serverId:${serverId}, productID:${productID}, productType:${productType}, roleId:${roleId}, localOrderID:${localOrderID}, payType:${payType}`) console.log(`测试支付完成!!!!!!!!!!!!! serverId:${serverId}, productID:${productID}, productType:${productType}, roleId:${roleId}, localOrderID:${localOrderID}, payType:${payType}`)
return resResult(STATUS.SUCCESS, result.data); return resResult(STATUS.SUCCESS, result.data);
} }
@@ -102,7 +102,7 @@ export class EquipHandler {
// let roleName: string = session.get('roleName'); // let roleName: string = session.get('roleName');
const serverId = session.get('serverId'); const serverId = session.get('serverId');
let sid: string = session.get('sid'); let sid: string = session.get('sid');
let funcs: number[] = session.get('funcs');
let { hid, ePlaceId, type } = msg; let { hid, ePlaceId, type } = msg;
let hero = await HeroModel.findByHidAndRoleWithEquip(hid, roleId); let hero = await HeroModel.findByHidAndRoleWithEquip(hid, roleId);
@@ -174,9 +174,9 @@ export class EquipHandler {
await calPlayerCeAndSave(HERO_SYSTEM_TYPE.EQUIP_BASE, sid, roleId, hero, { ePlace }); await calPlayerCeAndSave(HERO_SYSTEM_TYPE.EQUIP_BASE, sid, roleId, hero, { ePlace });
// 任务 // 任务
await checkTaskWithHero(roleId, sid, funcs, TASK_TYPE.EQUIP_STRENGTHEN, hero, oldLvs); await checkTaskWithHero(roleId, sid, TASK_TYPE.EQUIP_STRENGTHEN, hero, oldLvs);
//成长任务 //成长任务
await checkActivityTask(serverId, sid, funcs, roleId, TASK_TYPE.EQUIP_STRENGTHEN, 1, changeData) await checkActivityTask(serverId, sid, roleId, TASK_TYPE.EQUIP_STRENGTHEN, 1, changeData)
const curHero = { const curHero = {
hid, hid,
@@ -191,7 +191,7 @@ export class EquipHandler {
let roleId: string = session.get('roleId'); let roleId: string = session.get('roleId');
// let roleName: string = session.get('roleName'); // let roleName: string = session.get('roleName');
let sid: string = session.get('sid'); let sid: string = session.get('sid');
let funcs: number[] = session.get('funcs');
const serverId = session.get('serverId'); const serverId = session.get('serverId');
let changeData = [];//变化的等级数据 let changeData = [];//变化的等级数据
@@ -256,9 +256,9 @@ export class EquipHandler {
await calPlayerCeAndSave(HERO_SYSTEM_TYPE.EQUIP_BASE, sid, roleId, hero, { ePlace }); await calPlayerCeAndSave(HERO_SYSTEM_TYPE.EQUIP_BASE, sid, roleId, hero, { ePlace });
// 任务 // 任务
await checkTaskWithHero(roleId, sid, funcs, TASK_TYPE.EQUIP_STRENGTHEN, hero, oldLvs); await checkTaskWithHero(roleId, sid, TASK_TYPE.EQUIP_STRENGTHEN, hero, oldLvs);
//成长任务 //成长任务
await checkActivityTask(serverId, sid, funcs, roleId, TASK_TYPE.EQUIP_STRENGTHEN, 1, changeData) await checkActivityTask(serverId, sid, roleId, TASK_TYPE.EQUIP_STRENGTHEN, 1, changeData)
const curHero = { const curHero = {
hid, hid,
@@ -273,7 +273,7 @@ export class EquipHandler {
let roleName: string = session.get('roleName'); let roleName: string = session.get('roleName');
let serverId = session.get('serverId'); let serverId = session.get('serverId');
let sid: string = session.get('sid'); let sid: string = session.get('sid');
let funcs: number[] = session.get('funcs');
let { hid, ePlaceId, type } = msg; let { hid, ePlaceId, type } = msg;
@@ -322,8 +322,8 @@ export class EquipHandler {
let curEquip = <EquipType>equip; let curEquip = <EquipType>equip;
pushEquipRefineSucMsg(roleId, roleName, serverId, curEplace, curEquip ? curEquip.quality : 0); pushEquipRefineSucMsg(roleId, roleName, serverId, curEplace, curEquip ? curEquip.quality : 0);
await checkTask(roleId, sid, funcs, TASK_TYPE.EQUIP_REFINE, times, true, {}); await checkTask(roleId, sid, TASK_TYPE.EQUIP_REFINE, times, true, {});
await checkActivityTask(serverId, sid, funcs, roleId, TASK_TYPE.EQUIP_REFINE_LV, times, { lv: curEplace.refineLv }); await checkActivityTask(serverId, sid, roleId, TASK_TYPE.EQUIP_REFINE_LV, times, { lv: curEplace.refineLv });
return resResult(STATUS.SUCCESS, { curHero }); return resResult(STATUS.SUCCESS, { curHero });
} }
@@ -425,7 +425,7 @@ export class EquipHandler {
let roleId: string = session.get('roleId'); let roleId: string = session.get('roleId');
// let roleName: string = session.get('roleName'); // let roleName: string = session.get('roleName');
let sid: string = session.get('sid'); let sid: string = session.get('sid');
let funcs: number[] = session.get('funcs');
let { eid } = msg; let { eid } = msg;
let equip = await EquipModel.findbySeqId(eid); let equip = await EquipModel.findbySeqId(eid);
@@ -452,7 +452,7 @@ export class EquipHandler {
await calPlayerCeAndSave(HERO_SYSTEM_TYPE.RESTRENGTHEN, sid, roleId, hero, {}, [ePlaceId, ...removeSeidList]); await calPlayerCeAndSave(HERO_SYSTEM_TYPE.RESTRENGTHEN, sid, roleId, hero, {}, [ePlaceId, ...removeSeidList]);
} }
await checkTask(roleId, sid, funcs, TASK_TYPE.EQUIP_RESTRENGTHEN, 1, true, {}); await checkTask(roleId, sid, TASK_TYPE.EQUIP_RESTRENGTHEN, 1, true, {});
return resResult(STATUS.SUCCESS, { curEquip: pick(equipResult, ['seqId', 'id', 'randSe', 'previewRandSe']) }); return resResult(STATUS.SUCCESS, { curEquip: pick(equipResult, ['seqId', 'id', 'randSe', 'previewRandSe']) });
@@ -485,7 +485,7 @@ export class EquipHandler {
let roleId: string = session.get('roleId'); let roleId: string = session.get('roleId');
// let roleName: string = session.get('roleName'); // let roleName: string = session.get('roleName');
let sid: string = session.get('sid'); let sid: string = session.get('sid');
let funcs: number[] = session.get('funcs');
let { eid, type } = msg; let { eid, type } = msg;
let equip = await EquipModel.findbySeqId(eid); let equip = await EquipModel.findbySeqId(eid);
@@ -613,7 +613,7 @@ export class EquipHandler {
let roleId: string = session.get('roleId'); let roleId: string = session.get('roleId');
let serverId: number = session.get('serverId'); let serverId: number = session.get('serverId');
let sid: string = session.get('sid'); let sid: string = session.get('sid');
let funcs: number[] = session.get('funcs');
// 原武将:heroA,原武将穿戴着的装备a,将要穿戴的装备b,装备b被装备着的武将B // 原武将:heroA,原武将穿戴着的装备a,将要穿戴的装备b,装备b被装备着的武将B
let heroA = await HeroModel.findByHidAndRoleWithEquip(hid, roleId); let heroA = await HeroModel.findByHidAndRoleWithEquip(hid, roleId);
@@ -679,38 +679,38 @@ export class EquipHandler {
if(heroA) { if(heroA) {
await calPlayerCeAndSave(HERO_SYSTEM_TYPE.EQUIP, sid, roleId, heroA, {}, argsA); await calPlayerCeAndSave(HERO_SYSTEM_TYPE.EQUIP, sid, roleId, heroA, {}, argsA);
if(heroAPutNum != 0) { if(heroAPutNum != 0) {
await checkTaskWithHero(roleId, sid, funcs, TASK_TYPE.EQUIP_BY_HERO, heroA, [heroAPutNum]); await checkTaskWithHero(roleId, sid, TASK_TYPE.EQUIP_BY_HERO, heroA, [heroAPutNum]);
} }
} }
if(heroB) { if(heroB) {
await calPlayerCeAndSave(HERO_SYSTEM_TYPE.EQUIP, sid, roleId, heroB, {}, argsB); await calPlayerCeAndSave(HERO_SYSTEM_TYPE.EQUIP, sid, roleId, heroB, {}, argsB);
if(heroBPutTNum != 0) await checkTaskWithHero(roleId, sid, funcs, TASK_TYPE.EQUIP_BY_HERO, heroA, [heroBPutTNum]); if(heroBPutTNum != 0) await checkTaskWithHero(roleId, sid, TASK_TYPE.EQUIP_BY_HERO, heroA, [heroBPutTNum]);
} }
if(heroAPutNum + heroBPutTNum != 0) { if(heroAPutNum + heroBPutTNum != 0) {
await checkTask(roleId, sid, funcs, TASK_TYPE.EQUIP_SUM, heroAPutNum + heroBPutTNum, true, {}); await checkTask(roleId, sid, TASK_TYPE.EQUIP_SUM, heroAPutNum + heroBPutTNum, true, {});
await checkActivityTask(serverId, sid, funcs, roleId, TASK_TYPE.EQUIP_SUM, heroAPutNum + heroBPutTNum) await checkActivityTask(serverId, sid, roleId, TASK_TYPE.EQUIP_SUM, heroAPutNum + heroBPutTNum)
} }
let curEquips: Array<{ seqId: number, hid: number }> = []; let curEquips: Array<{ seqId: number, hid: number }> = [];
if(equipA) { if(equipA) {
curEquips.push(pick(equipA, ['seqId', 'hid'])); curEquips.push(pick(equipA, ['seqId', 'hid']));
if(equipA.hid == 0) { if(equipA.hid == 0) {
await checkTaskWithEquip(roleId, sid, funcs, TASK_TYPE.EQUIP_QUALITY, equipA, [-1]); // equipA必然是脱,如果hid不为0说明从一个人穿到另一个人,不算任务 await checkTaskWithEquip(roleId, sid, TASK_TYPE.EQUIP_QUALITY, equipA, [-1]); // equipA必然是脱,如果hid不为0说明从一个人穿到另一个人,不算任务
await checkActivityTask(serverId, sid, funcs, roleId, TASK_TYPE.EQUIP_QUALITY, 1, { quality: equipA.quality }); await checkActivityTask(serverId, sid, roleId, TASK_TYPE.EQUIP_QUALITY, 1, { quality: equipA.quality });
} }
} }
if(equipB) { if(equipB) {
curEquips.push(pick(equipB, ['seqId', 'hid'])); curEquips.push(pick(equipB, ['seqId', 'hid']));
if(equipB.hid != 0) { if(equipB.hid != 0) {
await checkTaskWithEquip(roleId, sid, funcs, TASK_TYPE.EQUIP_QUALITY, equipB, [1]); // equipB必然是穿,如果hid为0说明没有变化,不算任务 await checkTaskWithEquip(roleId, sid, TASK_TYPE.EQUIP_QUALITY, equipB, [1]); // equipB必然是穿,如果hid为0说明没有变化,不算任务
await checkActivityTask(serverId, sid, funcs, roleId, TASK_TYPE.EQUIP_QUALITY, 1, { quality: equipB.quality }); await checkActivityTask(serverId, sid, roleId, TASK_TYPE.EQUIP_QUALITY, 1, { quality: equipB.quality });
} }
} }
if(type == 1) { if(type == 1) {
let { isTask, jewelLevel } = await checkTaskConditionEquipSuitJewelStage(heroA)//英雄满装备且都镶嵌相同阶数的宝石 let { isTask, jewelLevel } = await checkTaskConditionEquipSuitJewelStage(heroA)//英雄满装备且都镶嵌相同阶数的宝石
if (isTask) { if (isTask) {
await checkActivityTask(serverId, sid, funcs, roleId, TASK_TYPE.EQUIP_SUIT_JEWEL_STAGE, 1, { stage: jewelLevel }) await checkActivityTask(serverId, sid, roleId, TASK_TYPE.EQUIP_SUIT_JEWEL_STAGE, 1, { stage: jewelLevel })
} }
} }
@@ -723,7 +723,7 @@ export class EquipHandler {
let roleId: string = session.get('roleId'); let roleId: string = session.get('roleId');
const serverId = session.get('serverId'); const serverId = session.get('serverId');
let sid: string = session.get('sid'); let sid: string = session.get('sid');
let funcs: number[] = session.get('funcs');
let hero = await HeroModel.findByHidAndRoleWithEquip(hid, roleId); let hero = await HeroModel.findByHidAndRoleWithEquip(hid, roleId);
if (!hero) return resResult(STATUS.HERO_NOT_FIND); if (!hero) return resResult(STATUS.HERO_NOT_FIND);
let args = calEquipSeids(hero); let args = calEquipSeids(hero);
@@ -773,7 +773,7 @@ export class EquipHandler {
//英雄满装备且都镶嵌相同阶数的宝石 //英雄满装备且都镶嵌相同阶数的宝石
let { isTask, jewelLevel } = await checkTaskConditionEquipSuitJewelStage(hero) let { isTask, jewelLevel } = await checkTaskConditionEquipSuitJewelStage(hero)
if (isTask) { if (isTask) {
await checkActivityTask(serverId, sid, funcs, roleId, TASK_TYPE.EQUIP_SUIT_JEWEL_STAGE, 1, { stage: jewelLevel }) await checkActivityTask(serverId, sid, roleId, TASK_TYPE.EQUIP_SUIT_JEWEL_STAGE, 1, { stage: jewelLevel })
} }
await calPlayerCeAndSave(HERO_SYSTEM_TYPE.EQUIP, sid, roleId, hero, {}, args); await calPlayerCeAndSave(HERO_SYSTEM_TYPE.EQUIP, sid, roleId, hero, {}, args);
@@ -815,7 +815,7 @@ export class EquipHandler {
let roleId: string = session.get('roleId'); let roleId: string = session.get('roleId');
const serverId = session.get('serverId'); const serverId = session.get('serverId');
let sid: string = session.get('sid'); let sid: string = session.get('sid');
let funcs: number[] = session.get('funcs');
let consumes: Array<{ id: number, count: number }> = []; let consumes: Array<{ id: number, count: number }> = [];
let goods: Array<{ id: number, count: number }> = []; let goods: Array<{ id: number, count: number }> = [];
let equip = await EquipModel.getEquip(eid); let equip = await EquipModel.getEquip(eid);
@@ -850,17 +850,17 @@ export class EquipHandler {
//英雄满装备且都镶嵌相同阶数的宝石 //英雄满装备且都镶嵌相同阶数的宝石
let { isTask, jewelLevel } = await checkTaskConditionEquipSuitJewelStage(hero) let { isTask, jewelLevel } = await checkTaskConditionEquipSuitJewelStage(hero)
if (isTask) { if (isTask) {
await checkActivityTask(serverId, sid, funcs, roleId, TASK_TYPE.EQUIP_SUIT_JEWEL_STAGE, 1, { stage: jewelLevel }) await checkActivityTask(serverId, sid, roleId, TASK_TYPE.EQUIP_SUIT_JEWEL_STAGE, 1, { stage: jewelLevel })
} }
} }
// 任务 // 任务
await checkTaskWithEquip(roleId, sid, funcs, TASK_TYPE.EQUIP_JEWEL, equip, [oldJewelCount]); await checkTaskWithEquip(roleId, sid, TASK_TYPE.EQUIP_JEWEL, equip, [oldJewelCount]);
await checkTaskWithArgs(roleId, sid, funcs, TASK_TYPE.EQUIP_JEWEL_STAGE, [jewel, oldJewel]); await checkTaskWithArgs(roleId, sid, TASK_TYPE.EQUIP_JEWEL_STAGE, [jewel, oldJewel]);
await checkTaskWithEquip(roleId, sid, funcs, TASK_TYPE.EQUIP_JEWEL_SUM, equip, [oldJewelCount]); await checkTaskWithEquip(roleId, sid, TASK_TYPE.EQUIP_JEWEL_SUM, equip, [oldJewelCount]);
//成长任务 //成长任务
await checkActivityTask(serverId, sid, funcs, roleId, TASK_TYPE.EQUIP_JEWEL_SUM, 1) await checkActivityTask(serverId, sid, roleId, TASK_TYPE.EQUIP_JEWEL_SUM, 1)
await checkActivityTask(serverId, sid, funcs, roleId, TASK_TYPE.EQUIP_JEWEL_STAGE, 1) await checkActivityTask(serverId, sid, roleId, TASK_TYPE.EQUIP_JEWEL_STAGE, 1)
return resResult(STATUS.SUCCESS, { curEquip: { seqId: eid, holes: equip.holes } }); return resResult(STATUS.SUCCESS, { curEquip: { seqId: eid, holes: equip.holes } });
} }
@@ -898,7 +898,7 @@ export class EquipHandler {
let { eid, id } = msg; let { eid, id } = msg;
let roleId: string = session.get('roleId'); let roleId: string = session.get('roleId');
let roleName: string = session.get('roleName'); let roleName: string = session.get('roleName');
let funcs: number[] = session.get('funcs');
let sid: string = session.get('sid'); let sid: string = session.get('sid');
let goods: Array<{ id: number, count: number }> = []; let goods: Array<{ id: number, count: number }> = [];
let equip = await EquipModel.getEquip(eid); let equip = await EquipModel.getEquip(eid);
@@ -919,9 +919,9 @@ export class EquipHandler {
} }
// 任务 // 任务
await checkTaskWithEquip(roleId, sid, funcs, TASK_TYPE.EQUIP_JEWEL, equip, [oldJewelCount]); await checkTaskWithEquip(roleId, sid, TASK_TYPE.EQUIP_JEWEL, equip, [oldJewelCount]);
await checkTaskWithArgs(roleId, sid, funcs, TASK_TYPE.EQUIP_JEWEL_STAGE, [0, jewel]); await checkTaskWithArgs(roleId, sid, TASK_TYPE.EQUIP_JEWEL_STAGE, [0, jewel]);
await checkTaskWithEquip(roleId, sid, funcs, TASK_TYPE.EQUIP_JEWEL_SUM, equip, [oldJewelCount]); await checkTaskWithEquip(roleId, sid, TASK_TYPE.EQUIP_JEWEL_SUM, equip, [oldJewelCount]);
return resResult(STATUS.SUCCESS, { curEquip: { seqId: eid, holes: equip.holes } }); return resResult(STATUS.SUCCESS, { curEquip: { seqId: eid, holes: equip.holes } });
} }
@@ -984,7 +984,7 @@ export class EquipHandler {
let roleName: string = session.get('roleName'); let roleName: string = session.get('roleName');
let sid: string = session.get('sid'); let sid: string = session.get('sid');
let serverId = session.get('serverId'); let serverId = session.get('serverId');
let funcs: number[] = session.get('funcs');
let goodInfo = getGoodById(jewel); let goodInfo = getGoodById(jewel);
let good = ITID.get(goodInfo.itid); let good = ITID.get(goodInfo.itid);
let needUpdate = false; let needUpdate = false;
@@ -1030,16 +1030,16 @@ export class EquipHandler {
//英雄满装备且都镶嵌相同阶数的宝石 //英雄满装备且都镶嵌相同阶数的宝石
let { isTask, jewelLevel } = await checkTaskConditionEquipSuitJewelStage(hero) let { isTask, jewelLevel } = await checkTaskConditionEquipSuitJewelStage(hero)
if (isTask) { if (isTask) {
await checkActivityTask(serverId, sid, funcs, roleId, TASK_TYPE.EQUIP_SUIT_JEWEL_STAGE, 1, { stage: jewelLevel }) await checkActivityTask(serverId, sid, roleId, TASK_TYPE.EQUIP_SUIT_JEWEL_STAGE, 1, { stage: jewelLevel })
} }
} }
// 任务 // 任务
await checkTaskWithEquip(roleId, sid, funcs, TASK_TYPE.EQUIP_JEWEL, equip, [oldJewelCount]); await checkTaskWithEquip(roleId, sid, TASK_TYPE.EQUIP_JEWEL, equip, [oldJewelCount]);
await checkTaskWithArgs(roleId, sid, funcs, TASK_TYPE.EQUIP_JEWEL_STAGE, [jewel, oldJewel]); await checkTaskWithArgs(roleId, sid, TASK_TYPE.EQUIP_JEWEL_STAGE, [jewel, oldJewel]);
await checkTaskWithEquip(roleId, sid, funcs, TASK_TYPE.EQUIP_JEWEL_SUM, equip, [oldJewelCount]); await checkTaskWithEquip(roleId, sid, TASK_TYPE.EQUIP_JEWEL_SUM, equip, [oldJewelCount]);
//成长任务 //成长任务
await checkActivityTask(serverId, sid, funcs, roleId, TASK_TYPE.EQUIP_JEWEL_SUM, count) await checkActivityTask(serverId, sid, roleId, TASK_TYPE.EQUIP_JEWEL_SUM, count)
return resResult(STATUS.SUCCESS, { curEquip: { seqId: eid, holes: equip.holes } }); return resResult(STATUS.SUCCESS, { curEquip: { seqId: eid, holes: equip.holes } });
} else { } else {
@@ -1061,7 +1061,7 @@ export class EquipHandler {
const roleName = session.get('roleName'); const roleName = session.get('roleName');
const sid = session.get('sid'); const sid = session.get('sid');
const serverId = session.get('serverId'); const serverId = session.get('serverId');
const funcs: number[] = session.get('funcs');
const { target, original } = msg; const { target, original } = msg;
@@ -1103,7 +1103,7 @@ export class EquipHandler {
const { name } = gameData.goods.get(target); const { name } = gameData.goods.get(target);
pushNormalItemMsg(roleId, roleName, serverId, MSG_SOURCE.ORANGE_BLUEPRT_COMPOSE, target, name); pushNormalItemMsg(roleId, roleName, serverId, MSG_SOURCE.ORANGE_BLUEPRT_COMPOSE, target, name);
} }
await checkTask(roleId, sid, funcs, TASK_TYPE.COM_BATTLE_BLUEPRT, 1, true, { quality: dicCompose.targetQuality }); await checkTask(roleId, sid, TASK_TYPE.COM_BATTLE_BLUEPRT, 1, true, { quality: dicCompose.targetQuality });
return resResult(STATUS.SUCCESS, { goods, costGold: 0 }); return resResult(STATUS.SUCCESS, { goods, costGold: 0 });
} }
@@ -179,7 +179,7 @@ export class FriendHandler {
public async handleApply(msg: { applyCodeList: string[], isPass: boolean }, session: BackendSession) { public async handleApply(msg: { applyCodeList: string[], isPass: boolean }, session: BackendSession) {
let roleId: string = session.get('roleId'); let roleId: string = session.get('roleId');
let sid: string = session.get('sid'); let sid: string = session.get('sid');
let funcs: number[] = session.get('funcs');
const serverId = session.get('serverId'); const serverId = session.get('serverId');
let { applyCodeList, isPass } = msg; let { applyCodeList, isPass } = msg;
@@ -248,7 +248,7 @@ export class FriendHandler {
role = await RoleModel.increaseFriendApplyCnt(roleId, -1 * resultApplyCodeList.length, 50); role = await RoleModel.increaseFriendApplyCnt(roleId, -1 * resultApplyCodeList.length, 50);
roles.push(role); roles.push(role);
// 任务 // 任务
await checkTaskWithRoles(serverId, roleId, sid, funcs, TASK_TYPE.FRIEND_NUM, roles); await checkTaskWithRoles(serverId, roleId, sid, TASK_TYPE.FRIEND_NUM, roles);
// 特殊处理:如果他点一键同意,有很多人,这个单独的人就不做这个额外的提示,直接把他好友申请删掉就好 // 特殊处理:如果他点一键同意,有很多人,这个单独的人就不做这个额外的提示,直接把他好友申请删掉就好
if (str == getResStr(STATUS.FRIEND_HAS_ADD) && resultApplyCodeList.length > 1) str = ''; if (str == getResStr(STATUS.FRIEND_HAS_ADD) && resultApplyCodeList.length > 1) str = '';
@@ -310,7 +310,7 @@ export class FriendHandler {
public async setBlackList(msg: { roleId: string, type: number }, session: BackendSession) { public async setBlackList(msg: { roleId: string, type: number }, session: BackendSession) {
let roleId: string = session.get('roleId'); let roleId: string = session.get('roleId');
let sid: string = session.get('sid'); let sid: string = session.get('sid');
let funcs: number[] = session.get('funcs');
const serverId = session.get('serverId'); const serverId = session.get('serverId');
let { roleId: hisRoleId, type } = msg; let { roleId: hisRoleId, type } = msg;
@@ -414,7 +414,7 @@ export class FriendHandler {
let { friendCnt = 0, blockCnt = 0 } = role; let { friendCnt = 0, blockCnt = 0 } = role;
// 任务 // 任务
await checkTaskWithRoles(serverId, roleId, sid, funcs, TASK_TYPE.FRIEND_NUM, [role, friend]); await checkTaskWithRoles(serverId, roleId, sid, TASK_TYPE.FRIEND_NUM, [role, friend]);
return resResult(STATUS.SUCCESS, { return resResult(STATUS.SUCCESS, {
frdRoleIds, blackRoleIds, frdRoleIds, blackRoleIds,
@@ -431,7 +431,7 @@ export class FriendHandler {
let roleName: string = session.get('roleName'); let roleName: string = session.get('roleName');
let sid: string = session.get('sid'); let sid: string = session.get('sid');
let serverId: number = session.get('serverId'); let serverId: number = session.get('serverId');
const funcs: number[] = session.get('funcs');
let { roleId: hisRoleId } = msg; let { roleId: hisRoleId } = msg;
@@ -486,10 +486,10 @@ export class FriendHandler {
// 更新情谊值 // 更新情谊值
frdPointRec = await FriendPointModel.updateSendCntToday(roleId, roleName, todaySendInc, max, FRIEND_DROP_TYPE.SEND_GIFT); frdPointRec = await FriendPointModel.updateSendCntToday(roleId, roleName, todaySendInc, max, FRIEND_DROP_TYPE.SEND_GIFT);
// 任务 // 任务
await checkTask(roleId, sid, funcs, TASK_TYPE.FRIEND_SEND_HEART, todaySendInc, true, {}); await checkTask(roleId, sid, TASK_TYPE.FRIEND_SEND_HEART, todaySendInc, true, {});
// 活动任务 // 活动任务
if (todaySendInc > 0) { if (todaySendInc > 0) {
await checkActivityTask(serverId, sid, funcs, roleId, TASK_TYPE.FRIEND_SEND_HEART, todaySendInc); await checkActivityTask(serverId, sid, roleId, TASK_TYPE.FRIEND_SEND_HEART, todaySendInc);
} }
return resResult(STATUS.SUCCESS, { return resResult(STATUS.SUCCESS, {
@@ -104,7 +104,7 @@ export class HeroHandler {
let roleName: string = session.get('roleName'); let roleName: string = session.get('roleName');
let sid: string = session.get('sid'); let sid: string = session.get('sid');
let serverId: number = session.get('serverId'); let serverId: number = session.get('serverId');
let funcs: number[] = session.get('funcs');
let { hid } = msg; let { hid } = msg;
@@ -119,7 +119,7 @@ export class HeroHandler {
let costResult = await handleCost(roleId, sid, [{ id: pieceId, count: pieceCount }]); let costResult = await handleCost(roleId, sid, [{ id: pieceId, count: pieceCount }]);
if (!costResult) return resResult(STATUS.ROLE_MATERIAL_NOT_ENOUGH); if (!costResult) return resResult(STATUS.ROLE_MATERIAL_NOT_ENOUGH);
// createHero // createHero
let { heroes } = await createHero(roleId, roleName, sid, serverId, funcs, { hid, count: 1 }); let { heroes } = await createHero(roleId, roleName, sid, serverId, { hid, count: 1 });
pushComposeOrangeHero(roleId, roleName, serverId, heroes[0]); pushComposeOrangeHero(roleId, roleName, serverId, heroes[0]);
return resResult(STATUS.SUCCESS, { curHero: heroes[0] }); return resResult(STATUS.SUCCESS, { curHero: heroes[0] });
@@ -129,7 +129,7 @@ export class HeroHandler {
public async lvUp(msg: { hid: number, type: number }, session: BackendSession) { public async lvUp(msg: { hid: number, type: number }, session: BackendSession) {
let roleId: string = session.get('roleId'); let roleId: string = session.get('roleId');
let sid: string = session.get('sid'); let sid: string = session.get('sid');
let funcs: number[] = session.get('funcs');
const serverId = session.get('serverId'); const serverId = session.get('serverId');
let { hid, type } = msg; let { hid, type } = msg;
@@ -188,8 +188,8 @@ export class HeroHandler {
hero = await calPlayerCeAndSave(HERO_SYSTEM_TYPE.LVUP, sid, roleId, hero, update); hero = await calPlayerCeAndSave(HERO_SYSTEM_TYPE.LVUP, sid, roleId, hero, update);
// 任务 // 任务
await checkTaskWithHero(roleId, sid, funcs, TASK_TYPE.HERO_LV, hero, [oldLv]); await checkTaskWithHero(roleId, sid, TASK_TYPE.HERO_LV, hero, [oldLv]);
await checkActivityTask(serverId, sid, funcs, roleId, TASK_TYPE.HERO_LV, 1, { hid, lv: update.lv }); await checkActivityTask(serverId, sid, roleId, TASK_TYPE.HERO_LV, 1, { hid, lv: update.lv });
const curHero = { const curHero = {
hid, lv: hero.lv, exp: hero.exp hid, lv: hero.lv, exp: hero.exp
@@ -203,7 +203,7 @@ export class HeroHandler {
let roleId: string = session.get('roleId'); let roleId: string = session.get('roleId');
const serverId = session.get('serverId'); const serverId = session.get('serverId');
let sid: string = session.get('sid'); let sid: string = session.get('sid');
let funcs: number[] = session.get('funcs');
let { hid, star, starStage, isOneClick } = msg; let { hid, star, starStage, isOneClick } = msg;
// 根据dic_hero 获得 1. 碎片id 2. 碎片数量 3. 初始武将星级 4. 初始品质 // 根据dic_hero 获得 1. 碎片id 2. 碎片数量 3. 初始武将星级 4. 初始品质
@@ -253,10 +253,10 @@ export class HeroHandler {
if (isUpStar) { if (isUpStar) {
await calAllHeroCe(HERO_SYSTEM_TYPE.STAR, sid, roleId, {}, [hid, isUpStar ? 1 : 0]); // 升星可能影响到百家学院全局加成 await calAllHeroCe(HERO_SYSTEM_TYPE.STAR, sid, roleId, {}, [hid, isUpStar ? 1 : 0]); // 升星可能影响到百家学院全局加成
// 任务 // 任务
await checkTaskWithHero(roleId, sid, funcs, TASK_TYPE.HERO_STAR_UP, hero); await checkTaskWithHero(roleId, sid, TASK_TYPE.HERO_STAR_UP, hero);
await checkTaskWithHero(roleId, sid, funcs, TASK_TYPE.HERO_QUALITY_STAR_UP, hero); await checkTaskWithHero(roleId, sid, TASK_TYPE.HERO_QUALITY_STAR_UP, hero);
//成长任务 //成长任务
await checkActivityTask(serverId, sid, funcs, roleId, TASK_TYPE.HERO_QUALITY_STAR_UP, 1, { quality: dicHero.quality, star: hero.star }); await checkActivityTask(serverId, sid, roleId, TASK_TYPE.HERO_QUALITY_STAR_UP, 1, { quality: dicHero.quality, star: hero.star });
} }
@@ -276,7 +276,7 @@ export class HeroHandler {
let roleName: string = session.get('roleName'); let roleName: string = session.get('roleName');
let sid: string = session.get('sid'); let sid: string = session.get('sid');
let serverId: number = session.get('serverId'); let serverId: number = session.get('serverId');
let funcs: number[] = session.get('funcs');
let { hid, quality } = msg; let { hid, quality } = msg;
let dicHero = gameData.hero.get(hid); let dicHero = gameData.hero.get(hid);
@@ -311,9 +311,9 @@ export class HeroHandler {
await calAllHeroCe(HERO_SYSTEM_TYPE.QUALITY, sid, roleId, {}, [hid, 0]); // 升品可能影响到百家学院全局加成 await calAllHeroCe(HERO_SYSTEM_TYPE.QUALITY, sid, roleId, {}, [hid, 0]); // 升品可能影响到百家学院全局加成
// 任务 // 任务
await checkTaskWithHero(roleId, sid, funcs, TASK_TYPE.HERO_QUALITY_UP, hero); await checkTaskWithHero(roleId, sid, TASK_TYPE.HERO_QUALITY_UP, hero);
// 任务 // 任务
await checkActivityTask(serverId, sid, funcs, roleId, TASK_TYPE.HERO_QUALITY_TO_QUALITY_COUNT, 1, { oldQuality: dicHero.quality, quality: hero.quality }); await checkActivityTask(serverId, sid, roleId, TASK_TYPE.HERO_QUALITY_TO_QUALITY_COUNT, 1, { oldQuality: dicHero.quality, quality: hero.quality });
const curHero = { const curHero = {
hid, hid,
@@ -330,7 +330,7 @@ export class HeroHandler {
let sid: string = session.get('sid'); let sid: string = session.get('sid');
let roleName: string = session.get('roleName'); let roleName: string = session.get('roleName');
const serverId = session.get('serverId'); const serverId = session.get('serverId');
let funcs: number[] = session.get('funcs');
let { hid, colorStar, colorStarStage, isOneClick } = msg; let { hid, colorStar, colorStarStage, isOneClick } = msg;
// 根据dic_hero 获得 1. 碎片id 2. 碎片数量 3. 初始武将星级 4. 初始品质 // 根据dic_hero 获得 1. 碎片id 2. 碎片数量 3. 初始武将星级 4. 初始品质
@@ -386,11 +386,11 @@ export class HeroHandler {
await calAllHeroCe(HERO_SYSTEM_TYPE.COLORSTAR, sid, roleId, {}, [hid, isUpStar ? 1 : 0]); // 升星可能影响到百家学院全局加成 await calAllHeroCe(HERO_SYSTEM_TYPE.COLORSTAR, sid, roleId, {}, [hid, isUpStar ? 1 : 0]); // 升星可能影响到百家学院全局加成
; ;
// 任务 // 任务
await checkTaskWithHero(roleId, sid, funcs, TASK_TYPE.HERO_STAR_UP, hero); await checkTaskWithHero(roleId, sid, TASK_TYPE.HERO_STAR_UP, hero);
await checkTask(roleId, sid, funcs, TASK_TYPE.HERO_WAKE_UP, 1, true, {}); await checkTask(roleId, sid, TASK_TYPE.HERO_WAKE_UP, 1, true, {});
await checkActivityTask(serverId, sid, funcs, roleId, TASK_TYPE.HERO_QUALITY_WAKE_UP_COUNT, 1, { quality: hero.quality }); await checkActivityTask(serverId, sid, roleId, TASK_TYPE.HERO_QUALITY_WAKE_UP_COUNT, 1, { quality: hero.quality });
await checkActivityTask(serverId, sid, funcs, roleId, TASK_TYPE.HERO_WAKE_UP_COUNT, 1, { hid: hid }); await checkActivityTask(serverId, sid, roleId, TASK_TYPE.HERO_WAKE_UP_COUNT, 1, { hid: hid });
await checkActivityTask(serverId, sid, funcs, roleId, TASK_TYPE.HERO_WAKE_UP_STAR_UP_COUNT, 1, { quality: dicHero.quality, colorStar: update.colorStar }); await checkActivityTask(serverId, sid, roleId, TASK_TYPE.HERO_WAKE_UP_STAR_UP_COUNT, 1, { quality: dicHero.quality, colorStar: update.colorStar });
} }
const curHero = { const curHero = {
hid, hid,
@@ -409,7 +409,7 @@ export class HeroHandler {
async heroJobTrain(msg: { hid: number, isOneClick: boolean }, session: BackendSession) { async heroJobTrain(msg: { hid: number, isOneClick: boolean }, session: BackendSession) {
let roleId: string = session.get('roleId'); let roleId: string = session.get('roleId');
let sid: string = session.get('sid'); let sid: string = session.get('sid');
let funcs: number[] = session.get('funcs');
const serverId = session.get('serverId'); const serverId = session.get('serverId');
let { hid, isOneClick } = msg; let { hid, isOneClick } = msg;
let hero = await HeroModel.findByHidAndRole(hid, roleId); let hero = await HeroModel.findByHidAndRole(hid, roleId);
@@ -445,11 +445,11 @@ export class HeroHandler {
jobStage: newJobStage jobStage: newJobStage
}); });
// 任务 // 任务
await checkTaskWithHero(roleId, sid, funcs, TASK_TYPE.HERO_TRAIN, hero); await checkTaskWithHero(roleId, sid, TASK_TYPE.HERO_TRAIN, hero);
await checkTask(roleId, sid, funcs, TASK_TYPE.HERO_TRAIN_SUM, 1, true, {}); await checkTask(roleId, sid, TASK_TYPE.HERO_TRAIN_SUM, 1, true, {});
//活动统计 //活动统计
await checkActivityTask(serverId, sid, funcs, roleId, TASK_TYPE.HERO_TRAIN_SUM, 1) await checkActivityTask(serverId, sid, roleId, TASK_TYPE.HERO_TRAIN_SUM, 1)
await checkActivityTask(serverId, sid, funcs, roleId, TASK_TYPE.HERO_TRAIN, 1, { hid }) await checkActivityTask(serverId, sid, roleId, TASK_TYPE.HERO_TRAIN, 1, { hid })
return resResult(STATUS.SUCCESS, { curHero: { hid: hero.hid, job: hero.job, jobStage: hero.jobStage } }); return resResult(STATUS.SUCCESS, { curHero: { hid: hero.hid, job: hero.job, jobStage: hero.jobStage } });
} }
@@ -459,7 +459,7 @@ export class HeroHandler {
let roleId: string = session.get('roleId'); let roleId: string = session.get('roleId');
const serverId = session.get('serverId'); const serverId = session.get('serverId');
let sid: string = session.get('sid'); let sid: string = session.get('sid');
let funcs: number[] = session.get('funcs');
let { hid } = msg; let { hid } = msg;
let hero = await HeroModel.findByHidAndRole(hid, roleId); let hero = await HeroModel.findByHidAndRole(hid, roleId);
if (!hero) if (!hero)
@@ -484,8 +484,8 @@ export class HeroHandler {
} }
hero = await calPlayerCeAndSave(HERO_SYSTEM_TYPE.STAGEUP, sid, roleId, hero, update); hero = await calPlayerCeAndSave(HERO_SYSTEM_TYPE.STAGEUP, sid, roleId, hero, update);
// 任务 // 任务
await checkTaskWithHero(roleId, sid, funcs, TASK_TYPE.HERO_STAGE_UP, hero); await checkTaskWithHero(roleId, sid, TASK_TYPE.HERO_STAGE_UP, hero);
await checkActivityTask(serverId, sid, funcs, roleId, TASK_TYPE.HERO_STAGE_UP, 1, { job: hero.job }); await checkActivityTask(serverId, sid, roleId, TASK_TYPE.HERO_STAGE_UP, 1, { job: hero.job });
return resResult(STATUS.SUCCESS, { curHero: { hid: hero.hid, job: hero.job, jobStage: hero.jobStage } }); return resResult(STATUS.SUCCESS, { curHero: { hid: hero.hid, job: hero.job, jobStage: hero.jobStage } });
} }
@@ -494,7 +494,7 @@ export class HeroHandler {
async heroConectionActivate(msg: { shipId: number }, session: BackendSession) { async heroConectionActivate(msg: { shipId: number }, session: BackendSession) {
let roleId: string = session.get('roleId'); let roleId: string = session.get('roleId');
let sid: string = session.get('sid'); let sid: string = session.get('sid');
const funcs: number[] = session.get('funcs');
let { shipId } = msg; let { shipId } = msg;
let shipHidAndLevel = gameData.friendShipHidAandIds.get(shipId); let shipHidAndLevel = gameData.friendShipHidAandIds.get(shipId);
if (!shipHidAndLevel) return resResult(STATUS.HERO_CONECTION_IS_NOT_EXIT); if (!shipHidAndLevel) return resResult(STATUS.HERO_CONECTION_IS_NOT_EXIT);
@@ -536,7 +536,7 @@ export class HeroHandler {
hero = await calPlayerCeAndSave(HERO_SYSTEM_TYPE.CONNECT, sid, roleId, hero, { connections: heroConnections }, [shipId]); hero = await calPlayerCeAndSave(HERO_SYSTEM_TYPE.CONNECT, sid, roleId, hero, { connections: heroConnections }, [shipId]);
// 任务 // 任务
await checkTask(roleId, sid, funcs, TASK_TYPE.HERO_CONNECT, 1, true, { connectLv: level }) await checkTask(roleId, sid, TASK_TYPE.HERO_CONNECT, 1, true, { connectLv: level })
return resResult(STATUS.SUCCESS, { curHero: { hid: hero.hid, connections: hero.connections } }); return resResult(STATUS.SUCCESS, { curHero: { hid: hero.hid, connections: hero.connections } });
} }
@@ -544,7 +544,7 @@ export class HeroHandler {
async heroGiveFavor(msg: { hid: number, type: number }, session: BackendSession) { async heroGiveFavor(msg: { hid: number, type: number }, session: BackendSession) {
let roleId: string = session.get('roleId'); let roleId: string = session.get('roleId');
let sid: string = session.get('sid'); let sid: string = session.get('sid');
let funcs: number[] = session.get('funcs');
let { hid, type } = msg; let { hid, type } = msg;
let addLv = 0; let addLv = 0;
@@ -610,7 +610,7 @@ export class HeroHandler {
}, [oldLv]); }, [oldLv]);
// 任务 // 任务
await checkTaskWithHero(roleId, sid, funcs, TASK_TYPE.HERO_FAVOUR_LV, hero); await checkTaskWithHero(roleId, sid, TASK_TYPE.HERO_FAVOUR_LV, hero);
} else { } else {
hero = await HeroModel.updateHeroInfo(roleId, hero.hid, { favour: newExp, favourLv: newLv }); hero = await HeroModel.updateHeroInfo(roleId, hero.hid, { favour: newExp, favourLv: newLv });
} }
@@ -658,7 +658,7 @@ export class HeroHandler {
let roleName: string = session.get('roleName'); let roleName: string = session.get('roleName');
let sid: string = session.get('sid'); let sid: string = session.get('sid');
let serverId: number = session.get('serverId'); let serverId: number = session.get('serverId');
let funcs: number[] = session.get('funcs');
const { magicWord } = msg; const { magicWord } = msg;
if (magicWord !== DEBUG_MAGIC_WORD) { if (magicWord !== DEBUG_MAGIC_WORD) {
@@ -681,7 +681,7 @@ export class HeroHandler {
} }
} }
} }
let resultHeroes = await createHeroes(roleId, roleName, sid, serverId, funcs, heroInfos); let resultHeroes = await createHeroes(roleId, roleName, sid, serverId, heroInfos);
return resResult(STATUS.SUCCESS, resultHeroes); return resResult(STATUS.SUCCESS, resultHeroes);
} }
@@ -32,7 +32,7 @@ export class ItemHandler {
const serverId = session.get('serverId'); const serverId = session.get('serverId');
const sid = session.get('sid'); const sid = session.get('sid');
const roleName = session.get('roleName'); const roleName = session.get('roleName');
const funcs = session.get('funcs');
if (count > 0) { if (count > 0) {
let consumeResult = await handleCost(roleId, sid, [{ id: id, count: count }]); let consumeResult = await handleCost(roleId, sid, [{ id: id, count: count }]);
@@ -51,7 +51,7 @@ export class ItemHandler {
if (!giftID) { if (!giftID) {
return resResult(STATUS.NOT_GIFTPACKAGE); return resResult(STATUS.NOT_GIFTPACKAGE);
} }
let result = await useGiftPackage(roleId, roleName, sid, serverId, funcs, giftID, selected, count) let result = await useGiftPackage(roleId, roleName, sid, serverId, giftID, selected, count)
return resResult(STATUS.SUCCESS, result); return resResult(STATUS.SUCCESS, result);
} }
@@ -65,7 +65,7 @@ export class ItemHandler {
let { id, count } = msg; let { id, count } = msg;
const roleId = session.get('roleId'); const roleId = session.get('roleId');
const sid = session.get('sid'); const sid = session.get('sid');
const funcs = session.get('funcs');
if (count > 0) { if (count > 0) {
let dicGoods = gameData.goods.get(id); let dicGoods = gameData.goods.get(id);
@@ -85,7 +85,7 @@ export class ItemHandler {
let consumeResult = await handleCost(roleId, sid, [{ id: id, count: count }]); let consumeResult = await handleCost(roleId, sid, [{ id: id, count: count }]);
if (!consumeResult) return resResult(STATUS.BATTLE_CONSUMES_NOT_ENOUGH); if (!consumeResult) return resResult(STATUS.BATTLE_CONSUMES_NOT_ENOUGH);
let apJson = await setAp(roleId, role.lv, dicGoods.value * count, sid, funcs); let apJson = await setAp(roleId, role.lv, dicGoods.value * count, sid);
return resResult(STATUS.SUCCESS, { return resResult(STATUS.SUCCESS, {
apJson apJson
@@ -173,10 +173,10 @@ export class ItemHandler {
const roleId = session.get('roleId'); const roleId = session.get('roleId');
const sid = session.get('sid'); const sid = session.get('sid');
const funcs = session.get('funcs');
let role = await RoleModel.findByRoleId(roleId, 'lv'); let role = await RoleModel.findByRoleId(roleId, 'lv');
let apJson = await setAp(roleId, role.lv, msg.ap, sid, funcs); let apJson = await setAp(roleId, role.lv, msg.ap, sid);
if (!apJson) return resResult(STATUS.BATTLE_ACTION_POINT_LACK) if (!apJson) return resResult(STATUS.BATTLE_ACTION_POINT_LACK)
return resResult(STATUS.SUCCESS, { apJson }); return resResult(STATUS.SUCCESS, { apJson });
} }
@@ -37,7 +37,7 @@ export class RoleHandler {
let roleId = session.get('roleId'); let roleId = session.get('roleId');
let serverId = session.get('serverId'); let serverId = session.get('serverId');
let sid: string = session.get('sid'); let sid: string = session.get('sid');
let funcs: number[] = session.get('funcs');
let { roleName } = msg; let { roleName } = msg;
let role = await RoleModel.findByRoleId(roleId, 'roleName hasInit', true); let role = await RoleModel.findByRoleId(roleId, 'roleName hasInit', true);
@@ -50,7 +50,7 @@ export class RoleHandler {
let initInfos: { role: RoleUpdate, initInfos: {heroInfo: HeroUpdate, skinInfo: SkinUpdate}[], figureInfo: { heads: Figure[], frames: Figure[], spines: Figure[] }} let initInfos: { role: RoleUpdate, initInfos: {heroInfo: HeroUpdate, skinInfo: SkinUpdate}[], figureInfo: { heads: Figure[], frames: Figure[], spines: Figure[] }}
= await this.app.rpc.role.roleRemote.getInitRoleInfos.toServer(this.app.getServerId()); = await this.app.rpc.role.roleRemote.getInitRoleInfos.toServer(this.app.getServerId());
role = await RoleModel.updateRoleInfo(roleId, {...initInfos.role, roleName, hasInit: true}); role = await RoleModel.updateRoleInfo(roleId, {...initInfos.role, roleName, hasInit: true});
let createHero = new CreateHeroes(roleId, roleName, serverId, funcs); let createHero = new CreateHeroes(roleId, roleName, serverId);
let infos = new Map(); let infos = new Map();
for(let {heroInfo, skinInfo} of initInfos.initInfos) { for(let {heroInfo, skinInfo} of initInfos.initInfos) {
@@ -91,7 +91,7 @@ export class RoleHandler {
let roleId = session.get('roleId'); let roleId = session.get('roleId');
let sid: string = session.get('sid'); let sid: string = session.get('sid');
const serverId = session.get('serverId'); const serverId = session.get('serverId');
let funcs: number[] = session.get('funcs');
let role = await RoleModel.findByRoleId(roleId); let role = await RoleModel.findByRoleId(roleId);
@@ -110,9 +110,9 @@ export class RoleHandler {
let calResult = await calAllHeroCe(HERO_SYSTEM_TYPE.TITLE, sid, roleId, update); let calResult = await calAllHeroCe(HERO_SYSTEM_TYPE.TITLE, sid, roleId, update);
// 任务 // 任务
await checkTask(roleId, sid, funcs, TASK_TYPE.ROLE_TITLE, 1, false, { title }); await checkTask(roleId, sid, TASK_TYPE.ROLE_TITLE, 1, false, { title });
//成长任务 //成长任务
await checkActivityTask(serverId, sid, funcs, roleId, TASK_TYPE.ROLE_TITLE, update.title) await checkActivityTask(serverId, sid, roleId, TASK_TYPE.ROLE_TITLE, update.title)
return resResult(STATUS.SUCCESS, { roleId: calResult.role, title: role.title }); return resResult(STATUS.SUCCESS, { roleId: calResult.role, title: role.title });
} }
@@ -122,7 +122,7 @@ export class RoleHandler {
let { id, count } = msg; let { id, count } = msg;
let roleId = session.get('roleId'); let roleId = session.get('roleId');
let sid: string = session.get('sid'); let sid: string = session.get('sid');
let funcs: number[] = session.get('funcs');
let role = await RoleModel.findByRoleId(roleId, 'roleId teraphs gold coin'); let role = await RoleModel.findByRoleId(roleId, 'roleId teraphs gold coin');
let teraphs = role.teraphs; let teraphs = role.teraphs;
@@ -145,7 +145,7 @@ export class RoleHandler {
let calResult = await calAllHeroCe(HERO_SYSTEM_TYPE.TERAPH, sid, roleId, { teraphs }, [id]); let calResult = await calAllHeroCe(HERO_SYSTEM_TYPE.TERAPH, sid, roleId, { teraphs }, [id]);
// 任务 // 任务
await checkTask(roleId, sid, funcs, TASK_TYPE.ROLE_TERAPH_STRENGTHEN, count, true, {}); await checkTask(roleId, sid, TASK_TYPE.ROLE_TERAPH_STRENGTHEN, count, true, {});
return resResult(STATUS.SUCCESS, { roleId, teraphs: calResult.role.teraphs, criAttr }); return resResult(STATUS.SUCCESS, { roleId, teraphs: calResult.role.teraphs, criAttr });
} }
@@ -156,7 +156,7 @@ export class RoleHandler {
let roleId = session.get('roleId'); let roleId = session.get('roleId');
let sid: string = session.get('sid'); let sid: string = session.get('sid');
const serverId = session.get('serverId'); const serverId = session.get('serverId');
let funcs: number[] = session.get('funcs');
let role = await RoleModel.findByRoleId(roleId); let role = await RoleModel.findByRoleId(roleId);
let teraphs = role.teraphs; let teraphs = role.teraphs;
@@ -189,7 +189,7 @@ export class RoleHandler {
let calResult = await calAllHeroCe(HERO_SYSTEM_TYPE.TERAPH_UP, sid, roleId, { teraphs }, [id]); let calResult = await calAllHeroCe(HERO_SYSTEM_TYPE.TERAPH_UP, sid, roleId, { teraphs }, [id]);
// 神像进阶,进阶一次就触发一次礼包弹框 // 神像进阶,进阶一次就触发一次礼包弹框
await checkActivityTask(serverId, sid, funcs, roleId, TASK_TYPE.ROLE_TERAPH_STAGE_UP, 1) await checkActivityTask(serverId, sid, roleId, TASK_TYPE.ROLE_TERAPH_STAGE_UP, 1)
return resResult(STATUS.SUCCESS, { roleId, teraphs: calResult.role.teraphs }); return resResult(STATUS.SUCCESS, { roleId, teraphs: calResult.role.teraphs });
} }
@@ -207,7 +207,7 @@ export class RoleHandler {
async changeSchoolHero(msg: { schoolId: number, positionId: number, hid: number }, session: BackendSession) { async changeSchoolHero(msg: { schoolId: number, positionId: number, hid: number }, session: BackendSession) {
let roleId = session.get('roleId'); let roleId = session.get('roleId');
let sid = session.get('sid'); let sid = session.get('sid');
let funcs: number[] = session.get('funcs');
const serverId = session.get('serverId'); const serverId = session.get('serverId');
let { schoolId, positionId, hid } = msg; let { schoolId, positionId, hid } = msg;
@@ -246,10 +246,10 @@ export class RoleHandler {
await calAllHeroCe(HERO_SYSTEM_TYPE.SCHOOL, sid, roleId, {}, [schoolId, hid, preHid]); await calAllHeroCe(HERO_SYSTEM_TYPE.SCHOOL, sid, roleId, {}, [schoolId, hid, preHid]);
// 任务 // 任务
await checkTaskWithArgs(roleId, sid, funcs, TASK_TYPE.ROLE_SCHOOL_UNLOCK, [hid, preHid]); await checkTaskWithArgs(roleId, sid, TASK_TYPE.ROLE_SCHOOL_UNLOCK, [hid, preHid]);
if (hid > 0) { if (hid > 0) {
//成长任务 //成长任务
await checkActivityTask(serverId, sid, funcs, roleId, TASK_TYPE.ROLE_SCHOOL_PUT_HERO, 1) await checkActivityTask(serverId, sid, roleId, TASK_TYPE.ROLE_SCHOOL_PUT_HERO, 1)
} }
return resResult(STATUS.SUCCESS, { return resResult(STATUS.SUCCESS, {
@@ -262,7 +262,7 @@ export class RoleHandler {
async unlockSchoolPosition(msg: { schoolId: number, positionId: number }, session: BackendSession) { async unlockSchoolPosition(msg: { schoolId: number, positionId: number }, session: BackendSession) {
let roleId = session.get('roleId'); let roleId = session.get('roleId');
let sid = session.get('sid'); let sid = session.get('sid');
let funcs: number[] = session.get('funcs');
let { schoolId, positionId } = msg; let { schoolId, positionId } = msg;
if (!gameData.school.has(schoolId)) { if (!gameData.school.has(schoolId)) {
@@ -288,7 +288,7 @@ export class RoleHandler {
curSchool = await SchoolModel.updateBySclAndPos(roleId, schoolId, positionId, { isOpen: true }) curSchool = await SchoolModel.updateBySclAndPos(roleId, schoolId, positionId, { isOpen: true })
// 任务 // 任务
await checkTask(roleId, sid, funcs, TASK_TYPE.ROLE_SCHOOL_UNLOCK, 1, true, {}); await checkTask(roleId, sid, TASK_TYPE.ROLE_SCHOOL_UNLOCK, 1, true, {});
return resResult(STATUS.SUCCESS, { return resResult(STATUS.SUCCESS, {
schoolId, positionId, hid: curSchool.hid, isOpen: curSchool.isOpen schoolId, positionId, hid: curSchool.hid, isOpen: curSchool.isOpen
@@ -299,7 +299,7 @@ export class RoleHandler {
async activeHeroScroll(msg: { hid: number }, session: BackendSession) { async activeHeroScroll(msg: { hid: number }, session: BackendSession) {
let roleId = session.get('roleId'); let roleId = session.get('roleId');
let sid = session.get('sid'); let sid = session.get('sid');
let funcs: number[] = session.get('funcs');
let serverId: number = session.get('serverId'); let serverId: number = session.get('serverId');
let { hid } = msg; let { hid } = msg;
@@ -328,7 +328,7 @@ export class RoleHandler {
update.favour += SCROLL.SCROLL_ACTIVE_FAVOUR; update.favour += SCROLL.SCROLL_ACTIVE_FAVOUR;
update.favourLv = getFriendLvByExp(update.favour); update.favourLv = getFriendLvByExp(update.favour);
} }
await checkActivityTask(serverId, sid, funcs, roleId, TASK_TYPE.HERO_UNLOCK, 1, { dicHeroes: [dicHero] }) await checkActivityTask(serverId, sid, roleId, TASK_TYPE.HERO_UNLOCK, 1, { dicHeroes: [dicHero] })
} else { } else {
if (star > scrollStar) { // 可以升星 if (star > scrollStar) { // 可以升星
update.scrollStar++; update.scrollStar++;
@@ -350,8 +350,8 @@ export class RoleHandler {
calAllHeroCe(HERO_SYSTEM_TYPE.SCROLL, sid, roleId, {}, [hid]); // 全局增加战力 calAllHeroCe(HERO_SYSTEM_TYPE.SCROLL, sid, roleId, {}, [hid]); // 全局增加战力
// 任务 // 任务
if (favourLv != hero.favourLv) await checkTaskWithHero(roleId, sid, funcs, TASK_TYPE.HERO_FAVOUR_LV, hero); if (favourLv != hero.favourLv) await checkTaskWithHero(roleId, sid, TASK_TYPE.HERO_FAVOUR_LV, hero);
if (!scrollActive) await checkTask(roleId, sid, funcs, TASK_TYPE.ROLE_SCROLL_ACTIVE, 1, true, {}); if (!scrollActive) await checkTask(roleId, sid, TASK_TYPE.ROLE_SCROLL_ACTIVE, 1, true, {});
return resResult(STATUS.SUCCESS, { return resResult(STATUS.SUCCESS, {
curHero: { curHero: {
@@ -215,14 +215,14 @@ export class ShopHandler {
async debugCompleteRandTask(msg: { type: number }, session: BackendSession) { async debugCompleteRandTask(msg: { type: number }, session: BackendSession) {
const roleId: string = session.get('roleId'); const roleId: string = session.get('roleId');
const sid: string = session.get('sid'); const sid: string = session.get('sid');
const funcs: number[] = session.get('funcs');
const { type } = msg const { type } = msg
let tasks: (DicMainTask | DicDailyTask | DicAchievement)[] = []; let tasks: (DicMainTask | DicDailyTask | DicAchievement)[] = [];
for (let [_id, task] of gameData.tasks.get(type)) { for (let [_id, task] of gameData.tasks.get(type)) {
tasks.push(task); tasks.push(task);
} }
let task = getRandSingleEelm(tasks); let task = getRandSingleEelm(tasks);
await checkTask(roleId, sid, [1, 2, 3, 4, 5], task.taskType, task.condition, false, { isDebug: true }); await checkTask(roleId, sid, task.taskType, task.condition, false, { isDebug: true });
return resResult(STATUS.SUCCESS, { return resResult(STATUS.SUCCESS, {
task task
}); });
@@ -61,9 +61,8 @@ function getApWithDataAp(lv: number, dataAp: ActionPointType, fromGetAp = false)
* @param lv 玩家等级 * @param lv 玩家等级
* @param changeAp 体力变化,正是加,负是减 * @param changeAp 体力变化,正是加,负是减
* @param sid * @param sid
* @param funcs 开启的功能
*/ */
export async function setAp(roleId: string, lv: number, changeAp: number, sid: string, funcs: number[]) { export async function setAp(roleId: string, lv: number, changeAp: number, sid: string) {
const now = Date.now(); const now = Date.now();
const dicAp = getDicApByLv(lv); const dicAp = getDicApByLv(lv);
let ApResult = await getAp(roleId, lv, true); let ApResult = await getAp(roleId, lv, true);
@@ -83,9 +82,9 @@ export async function setAp(roleId: string, lv: number, changeAp: number, sid: s
} }
if (changeAp < 0) { if (changeAp < 0) {
await checkTask(roleId, sid, funcs, TASK_TYPE.BATTLE_COST_AP, -1 * changeAp, true, {}); await checkTask(roleId, sid, TASK_TYPE.BATTLE_COST_AP, -1 * changeAp, true, {});
let { serverId } = await RoleModel.findByRoleId(roleId); let { serverId } = await RoleModel.findByRoleId(roleId);
await checkActivityTask(serverId, sid, funcs, roleId, TASK_TYPE.BATTLE_COST_AP, -1 * changeAp,); await checkActivityTask(serverId, sid, roleId, TASK_TYPE.BATTLE_COST_AP, -1 * changeAp,);
} }
let apJson = await getApWithDataAp(lv, dataAp); let apJson = await getApWithDataAp(lv, dataAp);
@@ -65,7 +65,7 @@ export async function getPlayerDailyRMBGiftsData(activityId: number, serverId: n
* @param {string} productID 商品ID * @param {string} productID 商品ID
* *
*/ */
export async function makeDailyRMBGiftsReward(roleId: string, roleName: string, sid: string, serverId: number, funcs: number[], export async function makeDailyRMBGiftsReward(roleId: string, roleName: string, sid: string, serverId: number,
activityId: number, productID: string) { activityId: number, productID: string) {
let activityData: ActivityModelType = await ActivityModel.findActivity(activityId); let activityData: ActivityModelType = await ActivityModel.findActivity(activityId);
if (activityData.type !== ACTIVITY_TYPE.DAILY_RMB_GIFTS) { if (activityData.type !== ACTIVITY_TYPE.DAILY_RMB_GIFTS) {
@@ -99,7 +99,7 @@ export async function makeDailyRMBGiftsReward(roleId: string, roleName: string,
} }
} }
let rewardParamArr: Array<RewardParam> = stringToRewardParam(item.reward); let rewardParamArr: Array<RewardParam> = stringToRewardParam(item.reward);
let result = await addReward(roleId, roleName, sid, serverId, funcs, rewardParamArr) let result = await addReward(roleId, roleName, sid, serverId, rewardParamArr)
await ActivityDailyRMBGiftsModel.receiveRecord(serverId, activityId, roleId, moment(playerData.beginTime).toDate(), [item.id]); await ActivityDailyRMBGiftsModel.receiveRecord(serverId, activityId, roleId, moment(playerData.beginTime).toDate(), [item.id]);
item.isReceive = true; item.isReceive = true;
return { return {
@@ -17,7 +17,7 @@ import { decodeArrayListStr } from '../../pubUtils/util';
* @param giftCount 一共消耗多少个礼包 * @param giftCount 一共消耗多少个礼包
* @param sid * @param sid
*/ */
export async function useGiftPackage(roleId: string, roleName: string, sid: string, serverId: number, funcs: number[], giftID: number, selected: Array<number> = [], giftCount: number) { export async function useGiftPackage(roleId: string, roleName: string, sid: string, serverId: number, giftID: number, selected: Array<number> = [], giftCount: number) {
console.log("bbbbbbbb", giftID, selected) console.log("bbbbbbbb", giftID, selected)
let result = { goods: [], addHeros: [] } let result = { goods: [], addHeros: [] }
let giftPackageData = gameData.giftPackage.get(giftID); let giftPackageData = gameData.giftPackage.get(giftID);
@@ -39,7 +39,7 @@ export async function useGiftPackage(roleId: string, roleName: string, sid: stri
allReward = reward; allReward = reward;
} }
result = await addReward(roleId, roleName, sid, serverId, funcs, allReward); result = await addReward(roleId, roleName, sid, serverId, allReward);
break; break;
} }
case GIFT_PACKAGE_TYPE.SELECTED_X://手选 case GIFT_PACKAGE_TYPE.SELECTED_X://手选
@@ -57,7 +57,7 @@ export async function useGiftPackage(roleId: string, roleName: string, sid: stri
} else { } else {
allReward = selectedReward; allReward = selectedReward;
} }
result = await addReward(roleId, roleName, sid, serverId, funcs, allReward); result = await addReward(roleId, roleName, sid, serverId, allReward);
break; break;
} }
case GIFT_PACKAGE_TYPE.RANDOM_X://随机 case GIFT_PACKAGE_TYPE.RANDOM_X://随机
@@ -69,7 +69,7 @@ export async function useGiftPackage(roleId: string, roleName: string, sid: stri
let selectedReward = getSelectedReward(giftPackageData, selectedArray) let selectedReward = getSelectedReward(giftPackageData, selectedArray)
allReward = allReward.concat(selectedReward); allReward = allReward.concat(selectedReward);
} }
result = await addReward(roleId, roleName, sid, serverId, funcs, allReward); result = await addReward(roleId, roleName, sid, serverId, allReward);
break; break;
} }
default: default:
@@ -80,7 +80,7 @@ export async function useGiftPackage(roleId: string, roleName: string, sid: stri
} }
//结算奖励的内容 //结算奖励的内容
export async function addReward(roleId: string, roleName: string, sid: string, serverId: number, funcs: number[], reward: Array<RewardParam>) { export async function addReward(roleId: string, roleName: string, sid: string, serverId: number, reward: Array<RewardParam>) {
let giftReward = rewardItemData(reward); let giftReward = rewardItemData(reward);
let goodArray = giftReward.goods; let goodArray = giftReward.goods;
let heroArray = giftReward.heroes; let heroArray = giftReward.heroes;
@@ -89,7 +89,7 @@ export async function addReward(roleId: string, roleName: string, sid: string, s
let goods = await addItems(roleId, roleName, sid, goodArray) let goods = await addItems(roleId, roleName, sid, goodArray)
let addHeros = []; let addHeros = [];
if (heroArray.length > 0) { if (heroArray.length > 0) {
let heroResult = await createHeroes(roleId, roleName, sid, serverId, funcs, heroArray); let heroResult = await createHeroes(roleId, roleName, sid, serverId, heroArray);
goods = goods.concat(heroResult.goods) goods = goods.concat(heroResult.goods)
addHeros = addHeros.concat(heroResult.heroes); addHeros = addHeros.concat(heroResult.heroes);
} }
@@ -124,7 +124,7 @@ export async function getPlayerGrowthFundData(activityId: number, serverId: numb
* @param {string} productID 商品ID * @param {string} productID 商品ID
* *
*/ */
export async function makeGrowthFund(roleId: string, roleName: string, sid: string, serverId: number, funcs: number[], export async function makeGrowthFund(roleId: string, roleName: string, sid: string, serverId: number,
activityId: number, productID: string) { activityId: number, productID: string) {
let activityData: ActivityModelType = await ActivityModel.findActivity(activityId); let activityData: ActivityModelType = await ActivityModel.findActivity(activityId);
if (!activityData) { if (!activityData) {
@@ -101,7 +101,7 @@ export async function newPlayerActivityDays(roleId: string) {
* @param {string} productID 商品ID * @param {string} productID 商品ID
* *
*/ */
export async function makeLimitPackageReward(roleId: string, roleName: string, sid: string, serverId: number, funcs: number[], export async function makeLimitPackageReward(roleId: string, roleName: string, sid: string, serverId: number,
activityId: number, productID: string) { activityId: number, productID: string) {
let activityData: ActivityModelType = await ActivityModel.findActivity(activityId); let activityData: ActivityModelType = await ActivityModel.findActivity(activityId);
if (!activityData) { if (!activityData) {
@@ -127,7 +127,7 @@ export async function makeLimitPackageReward(roleId: string, roleName: string, s
} }
let rewardArray = stringToRewardParam(item.reward) let rewardArray = stringToRewardParam(item.reward)
let result = await addReward(roleId, roleName, sid, serverId, funcs, rewardArray); let result = await addReward(roleId, roleName, sid, serverId, rewardArray);
await ActivityShopModel.addRecord(activityId, roleId, playerData.roundIndex, item.id); await ActivityShopModel.addRecord(activityId, roleId, playerData.roundIndex, item.id);
@@ -72,7 +72,7 @@ export async function getPlayerMonthlyTicketData(activityId: number, serverId: n
* @param {string} roleId 角色Id * @param {string} roleId 角色Id
* *
*/ */
export async function getPlayerMonthlyTicketDayReward(roleId: string, roleName: string, sid: string, serverId: number, funcs: number[], export async function getPlayerMonthlyTicketDayReward(roleId: string, roleName: string, sid: string, serverId: number,
activityId: number,) { activityId: number,) {
let activityData: ActivityModelType = await ActivityModel.findActivity(activityId); let activityData: ActivityModelType = await ActivityModel.findActivity(activityId);
let { createTime } = await RoleModel.findByRoleId(roleId); let { createTime } = await RoleModel.findByRoleId(roleId);
@@ -88,7 +88,7 @@ export async function getPlayerMonthlyTicketDayReward(roleId: string, roleName:
if (playerData.todayIndex > playerData.dayIndex) {//今天还没领取 if (playerData.todayIndex > playerData.dayIndex) {//今天还没领取
await ActivityMonthlyTicketModel.setDayIndex(serverId, roleId, activityId, playerData.todayIndex); await ActivityMonthlyTicketModel.setDayIndex(serverId, roleId, activityId, playerData.todayIndex);
let rewardParamArr: Array<RewardParam> = stringToRewardParam(playerData.baseReward); let rewardParamArr: Array<RewardParam> = stringToRewardParam(playerData.baseReward);
let result = await addReward(roleId, roleName, sid, serverId, funcs, rewardParamArr) let result = await addReward(roleId, roleName, sid, serverId, rewardParamArr)
return result return result
} }
} }
@@ -104,7 +104,7 @@ export async function getPlayerMonthlyTicketDayReward(roleId: string, roleName:
* @param {string} productID 商品ID * @param {string} productID 商品ID
* *
*/ */
export async function makeMonthlyTicketReward(roleId: string, roleName: string, sid: string, serverId: number, funcs: number[], export async function makeMonthlyTicketReward(roleId: string, roleName: string, sid: string, serverId: number,
activityId: number, productID: string) { activityId: number, productID: string) {
let activityData: ActivityModelType = await ActivityModel.findActivity(activityId); let activityData: ActivityModelType = await ActivityModel.findActivity(activityId);
if (activityData.type !== ACTIVITY_TYPE.MONTHLY_TICKET_1 && activityData.type !== ACTIVITY_TYPE.MONTHLY_TICKET_2) { if (activityData.type !== ACTIVITY_TYPE.MONTHLY_TICKET_1 && activityData.type !== ACTIVITY_TYPE.MONTHLY_TICKET_2) {
@@ -120,7 +120,7 @@ export async function makeMonthlyTicketReward(roleId: string, roleName: string,
let firstReward = playerData.firstReward; let firstReward = playerData.firstReward;
let rewardParamArr: Array<RewardParam> = stringToRewardParam(firstReward); let rewardParamArr: Array<RewardParam> = stringToRewardParam(firstReward);
let result = await addReward(roleId, roleName, sid, serverId, funcs, rewardParamArr) let result = await addReward(roleId, roleName, sid, serverId, rewardParamArr)
return { return {
code: 0, code: 0,
data: Object.assign(result, { item: { isOpen: true, todayIndex: 1 }, activityId: activityData.activityId }) data: Object.assign(result, { item: { isOpen: true, todayIndex: 1 }, activityId: activityData.activityId })
@@ -66,7 +66,7 @@ export async function getPlayerPopUpShopData(activityId: number, serverId: numbe
* @param {string} productID 商品ID * @param {string} productID 商品ID
* *
*/ */
export async function makePopUpShopReward(roleId: string, roleName: string, sid: string, serverId: number, funcs: number[], export async function makePopUpShopReward(roleId: string, roleName: string, sid: string, serverId: number,
activityId: number, productID: string, paramStr: string) { activityId: number, productID: string, paramStr: string) {
if (!paramStr) { if (!paramStr) {
return STATUS.ORDER_PARAM_ERROR; return STATUS.ORDER_PARAM_ERROR;
@@ -105,7 +105,7 @@ export async function makePopUpShopReward(roleId: string, roleName: string, sid:
playerData.setPlayerRecords(playerRecord); playerData.setPlayerRecords(playerRecord);
let rewardParamArr: Array<RewardParam> = stringToRewardParam(playerData.reward); let rewardParamArr: Array<RewardParam> = stringToRewardParam(playerData.reward);
let result = await addReward(roleId, roleName, sid, serverId, funcs, rewardParamArr) let result = await addReward(roleId, roleName, sid, serverId, rewardParamArr)
return { return {
@@ -111,7 +111,7 @@ export async function newPlayerActivityDays(roleId: string) {
* @param {number} roundIndex 大富翁重置回合数 * @param {number} roundIndex 大富翁重置回合数
* *
*/ */
export async function makeRefreshShopReward(roleId: string, roleName: string, sid: string, serverId: number, funcs: number[], export async function makeRefreshShopReward(roleId: string, roleName: string, sid: string, serverId: number,
activityId: number, productID: string, roundIndex: number) { activityId: number, productID: string, roundIndex: number) {
let activityData: ActivityModelType = await ActivityModel.findActivity(activityId); let activityData: ActivityModelType = await ActivityModel.findActivity(activityId);
if (!activityData) { if (!activityData) {
@@ -138,7 +138,7 @@ export async function makeRefreshShopReward(roleId: string, roleName: string, si
} }
let rewardArray = stringToRewardParam(item.reward) let rewardArray = stringToRewardParam(item.reward)
let result = await addReward(roleId, roleName, sid, serverId, funcs, rewardArray); let result = await addReward(roleId, roleName, sid, serverId, rewardArray);
await ActivityRefreshShopModel.addRecord(activityId, roleId, playerData.roundIndex, item.pageIndex, item.id); await ActivityRefreshShopModel.addRecord(activityId, roleId, playerData.roundIndex, item.pageIndex, item.id);
@@ -85,7 +85,7 @@ export async function getPlayerActivityData(activityId: number, serverId: number
* *
*/ */
export async function addSelfServiceShopGiftReward(roleId: string, roleName: string, sid: string, serverId: number, funcs: number[], activityId: number, roundIndex: number, index: number, item: SelfServiceShopItem) { export async function addSelfServiceShopGiftReward(roleId: string, roleName: string, sid: string, serverId: number, activityId: number, roundIndex: number, index: number, item: SelfServiceShopItem) {
let playerGoods: ActivitySelfServiceGoodsModelType[] = await ActivitySelfServiceGoodsModel.findDataByIndex(activityId, roleId, roundIndex, index); let playerGoods: ActivitySelfServiceGoodsModelType[] = await ActivitySelfServiceGoodsModel.findDataByIndex(activityId, roleId, roundIndex, index);
let rewardArray: Array<RewardParam> = []; let rewardArray: Array<RewardParam> = [];
@@ -100,7 +100,7 @@ export async function addSelfServiceShopGiftReward(roleId: string, roleName: str
for (let obj of rewardArray) { for (let obj of rewardArray) {
goodsStr += `${obj.type}&${obj.id}&${obj.count}|`; goodsStr += `${obj.type}&${obj.id}&${obj.count}|`;
} }
let result = await addReward(roleId, roleName, sid, serverId, funcs, rewardArray); let result = await addReward(roleId, roleName, sid, serverId, rewardArray);
//购买记录 //购买记录
console.log('dddddddd', rewardArray.length, serverId, activityId, roleId, roundIndex, index, goodsStr, JSON.stringify(item)) console.log('dddddddd', rewardArray.length, serverId, activityId, roleId, roundIndex, index, goodsStr, JSON.stringify(item))
await ActivitySelfServiceShopModel.addBuyRecord(serverId, activityId, roleId, roundIndex, index, goodsStr); await ActivitySelfServiceShopModel.addBuyRecord(serverId, activityId, roleId, roundIndex, index, goodsStr);
@@ -117,7 +117,7 @@ export async function addSelfServiceShopGiftReward(roleId: string, roleName: str
* @param {string} productID 商品ID * @param {string} productID 商品ID
* *
*/ */
export async function makeSelfServerShop(roleId: string, roleName: string, sid: string, serverId: number, funcs: number[], export async function makeSelfServerShop(roleId: string, roleName: string, sid: string, serverId: number,
activityId: number, productID: string) { activityId: number, productID: string) {
let activityData: ActivityModelType = await ActivityModel.findActivity(activityId); let activityData: ActivityModelType = await ActivityModel.findActivity(activityId);
@@ -142,7 +142,7 @@ export async function makeSelfServerShop(roleId: string, roleName: string, sid:
} }
} }
} }
let result = await addSelfServiceShopGiftReward(roleId, roleName, sid, serverId, funcs, activityId, playerData.roundIndex, item.index, item); let result = await addSelfServiceShopGiftReward(roleId, roleName, sid, serverId, activityId, playerData.roundIndex, item.index, item);
item.buyCount += 1; item.buyCount += 1;
return { return {
code: 0, code: 0,
@@ -153,7 +153,7 @@ export async function getPlayerSignInData(activityId: number, serverId: number,
* @param {string} productID 商品ID * @param {string} productID 商品ID
* *
*/ */
export async function makeSignInVIP(roleId: string, roleName: string, sid: string, serverId: number, funcs: number[], export async function makeSignInVIP(roleId: string, roleName: string, sid: string, serverId: number,
activityId: number, productID: string) { activityId: number, productID: string) {
let activityData: ActivityModelType = await ActivityModel.findActivity(activityId); let activityData: ActivityModelType = await ActivityModel.findActivity(activityId);
if (activityData.type !== ACTIVITY_TYPE.SIGN_IN_VIP) { if (activityData.type !== ACTIVITY_TYPE.SIGN_IN_VIP) {
@@ -304,7 +304,7 @@ async function getNextActivityData(serverId: number, roleId: string, oldHuntActi
* @param {string} productID 商品ID * @param {string} productID 商品ID
* *
*/ */
export async function makeShop(roleId: string, roleName: string, sid: string, serverId: number, funcs: number[], export async function makeShop(roleId: string, roleName: string, sid: string, serverId: number,
activityId: number, productID: string) { activityId: number, productID: string) {
// let activityData: ActivityModelType = await ActivityModel.findActivity(activityId); // let activityData: ActivityModelType = await ActivityModel.findActivity(activityId);
let { huntActivityId, huntBeginTime, huntEndTime, huntRoundIndex, activityData } = await getTreasureHuntData(serverId, roleId); let { huntActivityId, huntBeginTime, huntEndTime, huntRoundIndex, activityData } = await getTreasureHuntData(serverId, roleId);
@@ -339,7 +339,7 @@ export async function makeShop(roleId: string, roleName: string, sid: string, se
await ActivityTreasureHuntShopModel.buyShopRecord(activityId, roleId, huntRoundIndex, playerData.todayIndex, cellIndex); await ActivityTreasureHuntShopModel.buyShopRecord(activityId, roleId, huntRoundIndex, playerData.todayIndex, cellIndex);
let rewardParamArr: Array<RewardParam> = stringToRewardParam(item.reward); let rewardParamArr: Array<RewardParam> = stringToRewardParam(item.reward);
let result = await addReward(roleId, roleName, sid, serverId, funcs, rewardParamArr) let result = await addReward(roleId, roleName, sid, serverId, rewardParamArr)
item.buyCount += 1; item.buyCount += 1;
return { return {
@@ -58,7 +58,7 @@ export async function getPlayerYuanbaoShopData(activityId: number, serverId: num
* @param {string} productID 商品ID * @param {string} productID 商品ID
* *
*/ */
export async function makeYuanbaoShopReward(roleId: string, roleName: string, sid: string, serverId: number, funcs: number[], export async function makeYuanbaoShopReward(roleId: string, roleName: string, sid: string, serverId: number,
activityId: number, productID: string) { activityId: number, productID: string) {
let records = await UserOrderModel.findSuccessOrderByProductID(productID, roleId, activityId); let records = await UserOrderModel.findSuccessOrderByProductID(productID, roleId, activityId);
let activityData: ActivityModelType = await ActivityModel.findActivity(activityId); let activityData: ActivityModelType = await ActivityModel.findActivity(activityId);
@@ -87,7 +87,7 @@ export async function makeYuanbaoShopReward(roleId: string, roleName: string, si
} }
} }
let result = await addReward(roleId, roleName, sid, serverId, funcs, arr) let result = await addReward(roleId, roleName, sid, serverId, arr)
item.buyCount += 1; item.buyCount += 1;
return { return {
code: 0, code: 0,
+3 -3
View File
@@ -202,7 +202,7 @@ function checkForbiddenChar(hid: number, fobiddenCharactor: {type: number, id: n
return flag; return flag;
} }
export async function towerBattleEnd(sid: string, funcs: number[], roleId: string, serverId: number, battleCode: string, battleId: number, succeed: boolean, heroes: Array<number>) { export async function towerBattleEnd(sid: string, roleId: string, serverId: number, battleCode: string, battleId: number, succeed: boolean, heroes: Array<number>) {
if (succeed) { if (succeed) {
let battleRec = await BattleRecordModel.getBattleRecordByCode(battleCode); let battleRec = await BattleRecordModel.getBattleRecordByCode(battleCode);
if (battleRec.battleId != battleId) { if (battleRec.battleId != battleId) {
@@ -248,8 +248,8 @@ export async function towerBattleEnd(sid: string, funcs: number[], roleId: strin
await startHangUp(roleId, roleName); await startHangUp(roleId, roleName);
} }
// 任务 // 任务
await checkTask(roleId, sid, funcs, TASK_TYPE.BATTLE_TOWER_LV, role.towerLv, false, {}); await checkTask(roleId, sid, TASK_TYPE.BATTLE_TOWER_LV, role.towerLv, false, {});
await checkActivityTask(serverId, sid, funcs, roleId, TASK_TYPE.BATTLE_TOWER_LV, 1, { towerLv: role.towerLv }); await checkActivityTask(serverId, sid, roleId, TASK_TYPE.BATTLE_TOWER_LV, 1, { towerLv: role.towerLv });
} }
return { return {
status: 0, status: 0,
+3 -48
View File
@@ -83,9 +83,8 @@ export function getEventTime(now: Date) {
*/ */
export async function startEvent(session: FrontendOrBackendSession) { export async function startEvent(session: FrontendOrBackendSession) {
// const funcs = session.get('funcs'); const eventStatus = session.get('eventStatus');
// const eventStatus = session.get('eventStatus')||EVENT_STATUS.WAITING; if(eventStatus == EVENT_STATUS.WAITING) {
// if(funcs && funcs.includes(FUNCS_ID.EVENT) && eventStatus == EVENT_STATUS.WAITING) {
// console.log('*******setEventStatus') // console.log('*******setEventStatus')
let roleId = session.get('roleId'); let roleId = session.get('roleId');
let roleName = session.get('roleName'); let roleName = session.get('roleName');
@@ -95,52 +94,8 @@ export async function startEvent(session: FrontendOrBackendSession) {
session.set('eventStatus', EVENT_STATUS.STARTING); session.set('eventStatus', EVENT_STATUS.STARTING);
session.push('eventStatus', () => {}); session.push('eventStatus', () => {});
pushEventMsg(sid, roleId, { event }); // 推送 pushEventMsg(sid, roleId, { event }); // 推送
// }
}
/**
* 从filter调用,用于每次检查时间,获取事件并推送
*
* @param session
* @param isForce 即使不是12点和18点也强制刷新
*/
export async function checkEvent(session: FrontendOrBackendSession, isForce:boolean = false) {
try {
let roleId = session.get('roleId');
let serverId = session.get('serverId');
let funcs = session.get('funcs');
let sid = session.get('sid');
if(roleId) {
let roleName = session.get('roleName');
let eventStatus = session.get('eventStatus')||EVENT_STATUS.WAITING;
if(funcs && funcs.includes(FUNCS_ID.EVENT) && eventStatus == EVENT_STATUS.WAITING) {
await startEvent(session);
} else {
let eventTime = session.get('getEventTime')||0;
let now = new Date();
let t = getEventTime(now);
if(eventTime < t || isForce) { // 第一次登陆后可以刷新了
let event = await getEvent(eventStatus, roleId, roleName);
if (eventStatus == EVENT_STATUS.STARTING || eventStatus == EVENT_STATUS.OPEN) {
pushEventMsg(sid, roleId, { event }); // 推送
session.set('getEventTime', t);
session.push('getEventTime', () => {});
}
}
}
}
return;
}catch(err) {
console.log(err.stack);
throw err
} }
} }
/** /**
* 获取当前的奇遇事件 * 获取当前的奇遇事件
@@ -1,44 +0,0 @@
import { BackendSession, FrontendSession, pinus } from "pinus";
import { RoleModel } from "../db/Role";
import { resResult } from "../pubUtils/util";
import { STATUS, FUNC_OPT_TYPE } from "../consts";
import { eventOnPlayerLvUp } from '../services/playerEventService';
import { checkResetTrain } from '../services/guildTrainService';
import { getUserGuildWithRefActive } from '../services/guildService';
// 开启功能
export async function switchOnFunc(roleId: string, type: number, param: number, session: (BackendSession|FrontendSession)) {
const dataFuncs = session.get('funcs');
const sid = session.get('sid');
let addFuncs = new Array<number>();
switch (type) {
case FUNC_OPT_TYPE.LEVEL_UP://等级提升,触发事件
await eventOnPlayerLvUp(roleId, param, addFuncs, dataFuncs);
break;
case FUNC_OPT_TYPE.BATTLE_END://战斗结束,触发事件
// 暂无
break;
}
if (addFuncs.length) {
pinus.app.get('channelService').pushMessageByUids('onFuncSwitchOn', resResult(STATUS.SUCCESS, {addFuncs}), [{
uid: roleId,
sid: sid
}]);
const recs = await RoleModel.pushFuncs(roleId, addFuncs);
session.set('funcs', recs.funcs||[]);
session.push('funcs', () => {});
return recs;
}
}
/**
* 登录检查刷新
* @param role
* @param session
*/
export async function chackFunOpenWhenLogin(role: any, session: BackendSession|FrontendSession) {
await switchOnFunc(role.roleId, FUNC_OPT_TYPE.LEVEL_UP, role.lv, session);
await checkResetTrain(role.roleId, role.serverId);
await getUserGuildWithRefActive(role.roleId, '', true)
}
+2 -2
View File
@@ -115,7 +115,7 @@ export async function joinGuild(code: string, guildName: string, lv: number, rol
} }
//成长任务-加入军团 //成长任务-加入军团
await checkActivityTask(serverId, sid, [], roleId, TASK_TYPE.GUILD_JOIN, 1); await checkActivityTask(serverId, sid, roleId, TASK_TYPE.GUILD_JOIN, 1);
await pinus.app.rpc.connector.connectorRemote.setOtherUserGuildSession.toServer(sid,[{ roleId, userGuild }]); await pinus.app.rpc.connector.connectorRemote.setOtherUserGuildSession.toServer(sid,[{ roleId, userGuild }]);
@@ -307,7 +307,7 @@ export async function settleGuildWeekly() {
}); });
await sendMailByContent(MAIL_TYPE.GUILD_ACTIVE_REWARD, roleId, { goods: reward }); await sendMailByContent(MAIL_TYPE.GUILD_ACTIVE_REWARD, roleId, { goods: reward });
// 任务 // 任务
await checkTask(roleId, null, null, TASK_TYPE.GUILD_JOB, 1, false, { job }); await checkTask(roleId, null, TASK_TYPE.GUILD_JOB, 1, false, { job });
} }
await GuildModel.updateInfo(code, { activeWeekly: 0 }, {}); await GuildModel.updateInfo(code, { activeWeekly: 0 }, {});
@@ -3,7 +3,7 @@ import { HeroModel } from '../db/Hero';
import Role, { RoleModel, RoleType } from '../db/Role' import Role, { RoleModel, RoleType } from '../db/Role'
import { getLvByExp, getExpByLv, gameData, getDicApByLv } from '../pubUtils/data'; import { getLvByExp, getExpByLv, gameData, getDicApByLv } from '../pubUtils/data';
import { updateUserInfo } from './redisService'; import { updateUserInfo } from './redisService';
import { switchOnFunc } from './funcSwitchService'; // import { switchOnFunc } from './funcSwitchService';
import { FUNC_OPT_TYPE, TASK_TYPE, WAR_TYPE, STATUS, KING_EXP_RATIO_TYPE } from '../consts'; import { FUNC_OPT_TYPE, TASK_TYPE, WAR_TYPE, STATUS, KING_EXP_RATIO_TYPE } from '../consts';
import { BackendSession, pinus } from 'pinus'; import { BackendSession, pinus } from 'pinus';
import { REDIS_KEY } from '../consts'; import { REDIS_KEY } from '../consts';
@@ -18,7 +18,7 @@ import { LineupParam } from '../domain/rank';
export async function roleLevelup(type: KING_EXP_RATIO_TYPE, roleId: string, kingExp: number = 0, session: BackendSession) { export async function roleLevelup(type: KING_EXP_RATIO_TYPE, roleId: string, kingExp: number = 0, session: BackendSession) {
const serverId = session.get('serverId'); const serverId = session.get('serverId');
const sid = session.get('sid'); const sid = session.get('sid');
const funcs = session.get('funcs');
let role = await RoleModel.findByRoleId(roleId); let role = await RoleModel.findByRoleId(roleId);
let { lv = 1, exp = 0 } = role; let { lv = 1, exp = 0 } = role;
let canGetExp = lv < gameData.maxPlayerLv.max; // 当主公超过最大级后,挑战结算不再获得经验值 let canGetExp = lv < gameData.maxPlayerLv.max; // 当主公超过最大级后,挑战结算不再获得经验值
@@ -34,16 +34,16 @@ export async function roleLevelup(type: KING_EXP_RATIO_TYPE, roleId: string, kin
role = await RoleModel.levelup(roleId, newLv, newExp); role = await RoleModel.levelup(roleId, newLv, newExp);
if (newLv > lv) { // 升级 if (newLv > lv) { // 升级
await switchOnFunc(roleId, FUNC_OPT_TYPE.LEVEL_UP, newLv, session); // await switchOnFunc(roleId, FUNC_OPT_TYPE.LEVEL_UP, newLv, session);
await updateUserInfo(REDIS_KEY.USER_INFO, roleId, [{ field: 'lv', value: newLv }]); await updateUserInfo(REDIS_KEY.USER_INFO, roleId, [{ field: 'lv', value: newLv }]);
let r = new Rank(REDIS_KEY.USER_LV, { serverId: role.serverId }); let r = new Rank(REDIS_KEY.USER_LV, { serverId: role.serverId });
await r.setRankWithRoleInfo(roleId, newLv, Date.now(), role); await r.setRankWithRoleInfo(roleId, newLv, Date.now(), role);
// 任务 // 任务
await checkTask(roleId, session.get('sid'), session.get('funcs'), TASK_TYPE.ROLE_LV, newLv, false, {}); await checkTask(roleId, session.get('sid'), TASK_TYPE.ROLE_LV, newLv, false, {});
//成长任务 //成长任务
await checkActivityTask(serverId, session.get('sid'), session.get('funcs'), roleId, TASK_TYPE.ROLE_LV, newLv); await checkActivityTask(serverId, session.get('sid'), roleId, TASK_TYPE.ROLE_LV, newLv);
} }
let actordata: { lv: number, exp: number, getExp: number, mostExp: number }[] = []; let actordata: { lv: number, exp: number, getExp: number, mostExp: number }[] = [];
@@ -65,7 +65,7 @@ export async function roleLevelup(type: KING_EXP_RATIO_TYPE, roleId: string, kin
}); });
if(i != lv) { // 升级加体力 if(i != lv) { // 升级加体力
let dicAp = getDicApByLv(i); let dicAp = getDicApByLv(i);
await setAp(roleId, i, dicAp.restoreAp, sid, funcs); await setAp(roleId, i, dicAp.restoreAp, sid);
} }
} }
// 推送 // 推送
+14 -14
View File
@@ -55,65 +55,65 @@ export async function makeOrder(localOrderID: string, sid: string, orderInfo: Us
switch (productType) { switch (productType) {
case ACTIVITY_TYPE.SIGN_IN_VIP: case ACTIVITY_TYPE.SIGN_IN_VIP:
{ {
rewardResult = await makeSignInVIP(roleId, roleInfo.roleName, sid, orderInfo.serverId, roleInfo.funcs, orderInfo.activityId, orderInfo.productID) rewardResult = await makeSignInVIP(roleId, roleInfo.roleName, sid, orderInfo.serverId, orderInfo.activityId, orderInfo.productID)
break; break;
} }
case ACTIVITY_TYPE.NEW_PLAYER_LIMIT_PACKAGE: case ACTIVITY_TYPE.NEW_PLAYER_LIMIT_PACKAGE:
{ {
rewardResult = await makeLimitPackageReward(roleId, roleInfo.roleName, sid, orderInfo.serverId, roleInfo.funcs, orderInfo.activityId, orderInfo.productID) rewardResult = await makeLimitPackageReward(roleId, roleInfo.roleName, sid, orderInfo.serverId, orderInfo.activityId, orderInfo.productID)
break; break;
} }
case ACTIVITY_TYPE.LIMIT_PACKAGE_SHOP_DAILY: case ACTIVITY_TYPE.LIMIT_PACKAGE_SHOP_DAILY:
case ACTIVITY_TYPE.LIMIT_PACKAGE_SHOP_WEEKLY: case ACTIVITY_TYPE.LIMIT_PACKAGE_SHOP_WEEKLY:
{ {
rewardResult = await makeLimitPackageReward(roleId, roleInfo.roleName, sid, orderInfo.serverId, roleInfo.funcs, orderInfo.activityId, orderInfo.productID) rewardResult = await makeLimitPackageReward(roleId, roleInfo.roleName, sid, orderInfo.serverId, orderInfo.activityId, orderInfo.productID)
break; break;
} }
case ACTIVITY_TYPE.YUAN_BAO_SHOP: case ACTIVITY_TYPE.YUAN_BAO_SHOP:
{ {
rewardResult = await makeYuanbaoShopReward(roleId, roleInfo.roleName, sid, orderInfo.serverId, roleInfo.funcs, orderInfo.activityId, orderInfo.productID) rewardResult = await makeYuanbaoShopReward(roleId, roleInfo.roleName, sid, orderInfo.serverId, orderInfo.activityId, orderInfo.productID)
break; break;
} }
case ACTIVITY_TYPE.MONTHLY_TICKET_1: case ACTIVITY_TYPE.MONTHLY_TICKET_1:
case ACTIVITY_TYPE.MONTHLY_TICKET_2: case ACTIVITY_TYPE.MONTHLY_TICKET_2:
{ {
rewardResult = await makeMonthlyTicketReward(roleId, roleInfo.roleName, sid, orderInfo.serverId, roleInfo.funcs, orderInfo.activityId, orderInfo.productID) rewardResult = await makeMonthlyTicketReward(roleId, roleInfo.roleName, sid, orderInfo.serverId, orderInfo.activityId, orderInfo.productID)
break; break;
} }
case ACTIVITY_TYPE.DAILY_RMB_GIFTS: case ACTIVITY_TYPE.DAILY_RMB_GIFTS:
{ {
rewardResult = await makeDailyRMBGiftsReward(roleId, roleInfo.roleName, sid, orderInfo.serverId, roleInfo.funcs, orderInfo.activityId, orderInfo.productID) rewardResult = await makeDailyRMBGiftsReward(roleId, roleInfo.roleName, sid, orderInfo.serverId, orderInfo.activityId, orderInfo.productID)
break; break;
} }
case ACTIVITY_TYPE.POP_UP_SHOP://弹出礼包 case ACTIVITY_TYPE.POP_UP_SHOP://弹出礼包
{ {
rewardResult = await makePopUpShopReward(roleId, roleInfo.roleName, sid, orderInfo.serverId, roleInfo.funcs, orderInfo.activityId, orderInfo.productID, orderInfo.paramStr) rewardResult = await makePopUpShopReward(roleId, roleInfo.roleName, sid, orderInfo.serverId, orderInfo.activityId, orderInfo.productID, orderInfo.paramStr)
break; break;
} }
case ACTIVITY_TYPE.GROWTH_FUND_MAIN_VIP: //主线成长基金(高阶) case ACTIVITY_TYPE.GROWTH_FUND_MAIN_VIP: //主线成长基金(高阶)
{ {
rewardResult = await makeGrowthFund(roleId, roleInfo.roleName, sid, orderInfo.serverId, roleInfo.funcs, orderInfo.activityId, orderInfo.productID) rewardResult = await makeGrowthFund(roleId, roleInfo.roleName, sid, orderInfo.serverId, orderInfo.activityId, orderInfo.productID)
break; break;
} }
case ACTIVITY_TYPE.GROWTH_FUND_TOWER_VIP://镇念塔成长基金(高阶) case ACTIVITY_TYPE.GROWTH_FUND_TOWER_VIP://镇念塔成长基金(高阶)
{ {
rewardResult = await makeGrowthFund(roleId, roleInfo.roleName, sid, orderInfo.serverId, roleInfo.funcs, orderInfo.activityId, orderInfo.productID) rewardResult = await makeGrowthFund(roleId, roleInfo.roleName, sid, orderInfo.serverId, orderInfo.activityId, orderInfo.productID)
break; break;
} }
case ACTIVITY_TYPE.GROWTH_FUND_MAIN_ELITE_VIP://精英成长基金(高阶) case ACTIVITY_TYPE.GROWTH_FUND_MAIN_ELITE_VIP://精英成长基金(高阶)
{ {
rewardResult = await makeGrowthFund(roleId, roleInfo.roleName, sid, orderInfo.serverId, roleInfo.funcs, orderInfo.activityId, orderInfo.productID) rewardResult = await makeGrowthFund(roleId, roleInfo.roleName, sid, orderInfo.serverId, orderInfo.activityId, orderInfo.productID)
break; break;
} }
case ACTIVITY_TYPE.TREASURE_HUNT://寻宝奇兵活动-每日物资商店 case ACTIVITY_TYPE.TREASURE_HUNT://寻宝奇兵活动-每日物资商店
{ {
rewardResult = await makeShop(roleId, roleInfo.roleName, sid, orderInfo.serverId, roleInfo.funcs, orderInfo.activityId, orderInfo.productID) rewardResult = await makeShop(roleId, roleInfo.roleName, sid, orderInfo.serverId, orderInfo.activityId, orderInfo.productID)
break; break;
} }
case ACTIVITY_TYPE.SELF_SERVICE_SHOP://自选商店-购买礼包 case ACTIVITY_TYPE.SELF_SERVICE_SHOP://自选商店-购买礼包
{ {
rewardResult = await makeSelfServerShop(roleId, roleInfo.roleName, sid, orderInfo.serverId, roleInfo.funcs, orderInfo.activityId, orderInfo.productID) rewardResult = await makeSelfServerShop(roleId, roleInfo.roleName, sid, orderInfo.serverId, orderInfo.activityId, orderInfo.productID)
break; break;
} }
case ACTIVITY_TYPE.REFRESH_SHOP://通用的刷新商店(分页,可刷新,限制购买次数,支持rmb与资源兑换) case ACTIVITY_TYPE.REFRESH_SHOP://通用的刷新商店(分页,可刷新,限制购买次数,支持rmb与资源兑换)
@@ -125,12 +125,12 @@ export async function makeOrder(localOrderID: string, sid: string, orderInfo: Us
let playerMonopolyData: ActivityMonopolyModelType = await ActivityMonopolyModel.findData(orderInfo.serverId, activityId, roleId); let playerMonopolyData: ActivityMonopolyModelType = await ActivityMonopolyModel.findData(orderInfo.serverId, activityId, roleId);
let playerLandData: ActivityMonopolyLandModelType = await ActivityMonopolyLandModel.findDataByPosition(orderInfo.serverId, activityId, roleId, playerMonopolyData.curPosition); let playerLandData: ActivityMonopolyLandModelType = await ActivityMonopolyLandModel.findDataByPosition(orderInfo.serverId, activityId, roleId, playerMonopolyData.curPosition);
let roundIndex = playerLandData.stopCount; let roundIndex = playerLandData.stopCount;
rewardResult = await makeRefreshShopReward(roleId, roleInfo.roleName, sid, orderInfo.serverId, roleInfo.funcs, orderInfo.activityId, orderInfo.productID, roundIndex) rewardResult = await makeRefreshShopReward(roleId, roleInfo.roleName, sid, orderInfo.serverId, orderInfo.activityId, orderInfo.productID, roundIndex)
break; break;
} }
} }
//正常商店结算 //正常商店结算
rewardResult = await makeRefreshShopReward(roleId, roleInfo.roleName, sid, orderInfo.serverId, roleInfo.funcs, orderInfo.activityId, orderInfo.productID, 0) rewardResult = await makeRefreshShopReward(roleId, roleInfo.roleName, sid, orderInfo.serverId, orderInfo.activityId, orderInfo.productID, 0)
break; break;
} }
default: default:
+3 -4
View File
@@ -279,8 +279,8 @@ export async function clearChannelServers() {
* @param userCode user表唯一字符串标识 * @param userCode user表唯一字符串标识
* @param sid connector服的那个sid * @param sid connector服的那个sid
*/ */
export async function roleLogin(roleId: string, userCode: string, sid: string, pkgName: string, funcs: number[]) { export async function roleLogin(roleId: string, userCode: string, sid: string, pkgName: string) {
let param = { userCode, sid, pkgName, funcs }; let param = { userCode, sid, pkgName };
return await redisClient().hsetAsync(REDIS_KEY.ONLINE_USERS, roleId, JSON.stringify(param)); return await redisClient().hsetAsync(REDIS_KEY.ONLINE_USERS, roleId, JSON.stringify(param));
} }
@@ -316,8 +316,7 @@ export async function getRoleOnlineInfo(roleId: string) {
isOnline: true, isOnline: true,
userCode: result.userCode, userCode: result.userCode,
sid: result.sid, sid: result.sid,
pkgName: result.pkgName, pkgName: result.pkgName
funcs: result.funcs
} }
} catch(e) { } catch(e) {
return { isOnline: false } return { isOnline: false }
+8 -8
View File
@@ -136,7 +136,7 @@ export async function handleCost(roleId: string, sid: string, goods: Array<ItemI
} }
await calPlayerCeAndSave(HERO_SYSTEM_TYPE.EQUIP, sid, roleId, hero, {}, args); await calPlayerCeAndSave(HERO_SYSTEM_TYPE.EQUIP, sid, roleId, hero, {}, args);
await checkTaskWithHero(roleId, sid, null, TASK_TYPE.EQUIP_BY_HERO, hero, [-1]); await checkTaskWithHero(roleId, sid, TASK_TYPE.EQUIP_BY_HERO, hero, [-1]);
} }
@@ -183,11 +183,11 @@ export async function addItems(roleId: string, roleName: string, sid: string, go
//装备推送 //装备推送
if (!!equipInfos.length) if (!!equipInfos.length)
pinus.app.get('channelService').pushMessageByUids('onEquipAdd', resResult(STATUS.SUCCESS, { equipInfos }), uids); pinus.app.get('channelService').pushMessageByUids('onEquipAdd', resResult(STATUS.SUCCESS, { equipInfos }), uids);
pushTaskUpdate(roleId, sid, null, pushMessages); pushTaskUpdate(roleId, sid, pushMessages);
//统计装备 //统计装备
if (equipInfos.length > 0) { if (equipInfos.length > 0) {
let { serverId } = await RoleModel.findByRoleId(roleId); let { serverId } = await RoleModel.findByRoleId(roleId);
await checkActivityTask(serverId, sid, [], roleId, TASK_TYPE.EQUIP_QUALITY_COUNT, equipInfos.length, { equips: equipInfos.map(obj => { return { quality: obj.quality } }) }) await checkActivityTask(serverId, sid, roleId, TASK_TYPE.EQUIP_QUALITY_COUNT, equipInfos.length, { equips: equipInfos.map(obj => { return { quality: obj.quality } }) })
} }
// 发邮件的 // 发邮件的
if(mailEquips.length > 0) { if(mailEquips.length > 0) {
@@ -209,7 +209,7 @@ export async function addItems(roleId: string, roleName: string, sid: string, go
// 3. 货币推送 // 3. 货币推送
if(gold.length > 0 || coin > 0 || ap > 0) { if(gold.length > 0 || coin > 0 || ap > 0) {
let { ap: addAp } = await setAp(roleId, role.lv, ap, sid, []); let { ap: addAp } = await setAp(roleId, role.lv, ap, sid);
role = await RoleModel.increaseGoldAndCoin(roleId, gold, coin); role = await RoleModel.increaseGoldAndCoin(roleId, gold, coin);
pinus.app.get('channelService').pushMessageByUids('onPlayerDataChange', resResult(STATUS.SUCCESS, { pinus.app.get('channelService').pushMessageByUids('onPlayerDataChange', resResult(STATUS.SUCCESS, {
@@ -437,7 +437,7 @@ export async function pushFigureUpdate(roleId: string, sid: string, figureInfo:
* @param serverId * @param serverId
* @param heroInfo * @param heroInfo
*/ */
export async function createHeroes(roleId: string, roleName: string, sid: string, serverId: number, funcs: number[], heroInfo: CreateHeroParam[]) { export async function createHeroes(roleId: string, roleName: string, sid: string, serverId: number, heroInfo: CreateHeroParam[]) {
let hids = heroInfo.map(cur => cur.hid); let hids = heroInfo.map(cur => cur.hid);
let userHeroesMap = await HeroModel.findMapByHidRange(hids, roleId); let userHeroesMap = await HeroModel.findMapByHidRange(hids, roleId);
@@ -465,7 +465,7 @@ export async function createHeroes(roleId: string, roleName: string, sid: string
let resultHeroes: HeroType[] = [], resultItems: RewardInter[] = []; let resultHeroes: HeroType[] = [], resultItems: RewardInter[] = [];
if (infos.size > 0) { if (infos.size > 0) {
let createHero = new CreateHeroes(roleId, roleName, serverId, funcs); let createHero = new CreateHeroes(roleId, roleName, serverId);
await createHero.createWithHeroInfo(infos); await createHero.createWithHeroInfo(infos);
await createHero.pushMessage(pinus, sid); await createHero.pushMessage(pinus, sid);
await createHero.updateRedisRank(Rank); await createHero.updateRedisRank(Rank);
@@ -479,8 +479,8 @@ export async function createHeroes(roleId: string, roleName: string, sid: string
return { heroes: resultHeroes, goods: resultItems } return { heroes: resultHeroes, goods: resultItems }
} }
export async function createHero(roleId: string, roleName: string, sid: string, serverId: number, funcs: number[], heroInfo: CreateHeroParam) { export async function createHero(roleId: string, roleName: string, sid: string, serverId: number, heroInfo: CreateHeroParam) {
let result = await createHeroes(roleId, roleName, sid, serverId, funcs, [heroInfo]); let result = await createHeroes(roleId, roleName, sid, serverId, [heroInfo]);
return result; return result;
} }
+56 -58
View File
@@ -16,55 +16,54 @@ import { gameData, getGoodById } from '../pubUtils/data';
import { getSeconds, getZeroPointD } from '../pubUtils/timeUtil'; import { getSeconds, getZeroPointD } from '../pubUtils/timeUtil';
import { RoleStatus } from '../db/ComBattleTeam'; import { RoleStatus } from '../db/ComBattleTeam';
export async function checkTaskWithRoles(serverId: number, roleId: string, sid: string, funcs: number[], taskType: number, roles: RoleType[]) { export async function checkTaskWithRoles(serverId: number, roleId: string, sid: string, taskType: number, roles: RoleType[]) {
for (let role of roles) { for (let role of roles) {
if (role) { if (role) {
await checkTaskWithRole(serverId, role.roleId, role.roleId == roleId ? sid : null, role.roleId == roleId ? funcs : null, taskType, role); await checkTaskWithRole(serverId, role.roleId, role.roleId == roleId ? sid : null, taskType, role);
} }
} }
} }
export async function checkTaskWithRole(serverId: number, roleId: string, sid: string, funcs: number[], taskType: number, role: RoleType) { export async function checkTaskWithRole(serverId: number, roleId: string, sid: string, taskType: number, role: RoleType) {
let pushMessage = await taskUtil.checkTaskWithRole(serverId, roleId, taskType, role, funcs); let pushMessage = await taskUtil.checkTaskWithRole(serverId, roleId, taskType, role);
pushTaskUpdate(roleId, sid, funcs, pushMessage); pushTaskUpdate(roleId, sid, pushMessage);
} }
export async function checkTaskWithHero(roleId: string, sid: string, funcs: number[], taskType: number, hero: HeroType, args?: number[]) { export async function checkTaskWithHero(roleId: string, sid: string, taskType: number, hero: HeroType, args?: number[]) {
let pushMessage = await taskUtil.checkTaskWithHero(roleId, taskType, hero, args, funcs); let pushMessage = await taskUtil.checkTaskWithHero(roleId, taskType, hero, args);
pushTaskUpdate(roleId, sid, funcs, pushMessage); pushTaskUpdate(roleId, sid, pushMessage);
} }
export async function checkTaskWithEquip(roleId: string, sid: string, funcs: number[], taskType: number, equip: EquipType, args?: number[]) { export async function checkTaskWithEquip(roleId: string, sid: string, taskType: number, equip: EquipType, args?: number[]) {
let pushMessage = await taskUtil.checkTaskWithEquip(roleId, taskType, equip, args, funcs); let pushMessage = await taskUtil.checkTaskWithEquip(roleId, taskType, equip, args);
pushTaskUpdate(roleId, sid, funcs, pushMessage); pushTaskUpdate(roleId, sid, pushMessage);
} }
export async function checkTaskWithArgs(roleId: string, sid: string, funcs: number[], taskType: number, args: number[]) { export async function checkTaskWithArgs(roleId: string, sid: string, taskType: number, args: number[]) {
let pushMessage = await taskUtil.checkTaskWithArgs(roleId, taskType, args, funcs); let pushMessage = await taskUtil.checkTaskWithArgs(roleId, taskType, args);
pushTaskUpdate(roleId, sid, funcs, pushMessage); pushTaskUpdate(roleId, sid, pushMessage);
} }
export async function checkTaskWithWar(roleId: string, sid: string, funcs: number[], taskType: number, warId: number, heroes: number[], count: number, star: number) { export async function checkTaskWithWar(roleId: string, sid: string, taskType: number, warId: number, heroes: number[], count: number, star: number) {
let pushMessage = await taskUtil.checkTaskWithWar(roleId, taskType, warId, heroes, count, star, funcs); let pushMessage = await taskUtil.checkTaskWithWar(roleId, taskType, warId, heroes, count, star);
pushTaskUpdate(roleId, sid, funcs, pushMessage); pushTaskUpdate(roleId, sid, pushMessage);
} }
export async function checkTaskWithGoods(roleId: string, sid: string, funcs: number[], taskType: number, goods: ItemInter[]) { export async function checkTaskWithGoods(roleId: string, sid: string, taskType: number, goods: ItemInter[]) {
let pushMessage = await taskUtil.checkTaskWithGoods(roleId, taskType, goods, funcs); let pushMessage = await taskUtil.checkTaskWithGoods(roleId, taskType, goods);
pushTaskUpdate(roleId, sid, funcs, pushMessage); pushTaskUpdate(roleId, sid, pushMessage);
} }
export async function checkTask(roleId: string, sid: string, funcs: number[], taskType: number, count: number, isInc: boolean, param: TaskParam) { export async function checkTask(roleId: string, sid: string, taskType: number, count: number, isInc: boolean, param: TaskParam) {
let pushMessage = await taskUtil.checkTask(roleId, taskType, count, isInc, param, funcs); let pushMessage = await taskUtil.checkTask(roleId, taskType, count, isInc, param);
pushTaskUpdate(roleId, sid, funcs, pushMessage); pushTaskUpdate(roleId, sid, pushMessage);
} }
export async function pushTaskUpdate(roleId: string, sid: string, funcs: number[], pushMessage: TaskListReturn[]) { export async function pushTaskUpdate(roleId: string, sid: string, pushMessage: TaskListReturn[]) {
if (pushMessage.length > 0) { if (pushMessage.length > 0) {
if (!sid || !funcs) { if (!sid) {
let onlineUser = await getRoleOnlineInfo(roleId); let onlineUser = await getRoleOnlineInfo(roleId);
sid = onlineUser.sid; sid = onlineUser.sid;
funcs = onlineUser.funcs || [];
} }
if (!!sid) { if (!!sid) {
let uids = [{ uid: roleId, sid }]; let uids = [{ uid: roleId, sid }];
@@ -74,19 +73,18 @@ export async function pushTaskUpdate(roleId: string, sid: string, funcs: number[
} }
export async function checkActivityTask(serverId: number, sid: string, funcs: number[], roleId: string, taskType: TASK_TYPE, count: number, parma?: any) { export async function checkActivityTask(serverId: number, sid: string, roleId: string, taskType: TASK_TYPE, count: number, parma?: any) {
let pushMessage = await taskUtil.accomplishTask(serverId, roleId, taskType, count, parma); let pushMessage = await taskUtil.accomplishTask(serverId, roleId, taskType, count, parma);
pushActivityUpdate(roleId, sid, funcs, pushMessage); pushActivityUpdate(roleId, sid, pushMessage);
return pushMessage; return pushMessage;
} }
export async function pushActivityUpdate(roleId: string, sid: string, funcs: number[], pushMessage: any[]) { export async function pushActivityUpdate(roleId: string, sid: string, pushMessage: any[]) {
console.log('pushActivityUpdate', JSON.stringify(pushMessage)) console.log('pushActivityUpdate', JSON.stringify(pushMessage))
if (pushMessage.length > 0) { if (pushMessage.length > 0) {
if (!sid || !funcs) { if (!sid) {
let onlineUser = await getRoleOnlineInfo(roleId); let onlineUser = await getRoleOnlineInfo(roleId);
sid = onlineUser.sid; sid = onlineUser.sid;
funcs = onlineUser.funcs || [];
} }
if (!!sid) { if (!!sid) {
let uids = [{ uid: roleId, sid }]; let uids = [{ uid: roleId, sid }];
@@ -98,30 +96,30 @@ export async function pushActivityUpdate(roleId: string, sid: string, funcs: num
/** /**
* battle.normalBattleHandler.battleEnd 中会触发的任务,因为有点多提出来了 * battle.normalBattleHandler.battleEnd 中会触发的任务,因为有点多提出来了
*/ */
export async function checkTaskInBattleEnd(serverId: number, roleId: string, sid: string, funcs: number[], battleId: number, heroes: number[], star: number) { export async function checkTaskInBattleEnd(serverId: number, roleId: string, sid: string, battleId: number, heroes: number[], star: number) {
await checkTaskWithWar(roleId, sid, funcs, TASK_TYPE.BATTLE_WITH_HERO, battleId, heroes, 1, star); await checkTaskWithWar(roleId, sid, TASK_TYPE.BATTLE_WITH_HERO, battleId, heroes, 1, star);
await checkTaskWithWar(roleId, sid, funcs, TASK_TYPE.BATTLE_MAIN, battleId, heroes, 1, star); await checkTaskWithWar(roleId, sid, TASK_TYPE.BATTLE_MAIN, battleId, heroes, 1, star);
await checkTaskWithWar(roleId, sid, funcs, TASK_TYPE.BATTLE_DAILY_STAR, battleId, heroes, 1, star); await checkTaskWithWar(roleId, sid, TASK_TYPE.BATTLE_DAILY_STAR, battleId, heroes, 1, star);
await checkTaskWithWar(roleId, sid, funcs, TASK_TYPE.BATTLE_DAILY, battleId, heroes, 1, star); await checkTaskWithWar(roleId, sid, TASK_TYPE.BATTLE_DAILY, battleId, heroes, 1, star);
await checkTaskWithWar(roleId, sid, funcs, TASK_TYPE.BATTLE_DUNGEON, battleId, heroes, 1, star); await checkTaskWithWar(roleId, sid, TASK_TYPE.BATTLE_DUNGEON, battleId, heroes, 1, star);
await checkTaskWithWar(roleId, sid, funcs, TASK_TYPE.BATTLE_DUNGEON_WAR, battleId, heroes, 1, star); await checkTaskWithWar(roleId, sid, TASK_TYPE.BATTLE_DUNGEON_WAR, battleId, heroes, 1, star);
await checkTaskWithWar(roleId, sid, funcs, TASK_TYPE.BATTLE_TOWER, battleId, heroes, 1, star); await checkTaskWithWar(roleId, sid, TASK_TYPE.BATTLE_TOWER, battleId, heroes, 1, star);
await checkTaskWithWar(roleId, sid, funcs, TASK_TYPE.BATTLE_VESTIGE, battleId, heroes, 1, star); await checkTaskWithWar(roleId, sid, TASK_TYPE.BATTLE_VESTIGE, battleId, heroes, 1, star);
await checkTaskWithWar(roleId, sid, funcs, TASK_TYPE.BATTLE_EXPEDITION, battleId, heroes, 1, star); await checkTaskWithWar(roleId, sid, TASK_TYPE.BATTLE_EXPEDITION, battleId, heroes, 1, star);
//成长任务 //成长任务
let dicWar = gameData.war.get(battleId); let dicWar = gameData.war.get(battleId);
if (dicWar) { if (dicWar) {
if (dicWar.warType == WAR_TYPE.NORMAL) { if (dicWar.warType == WAR_TYPE.NORMAL) {
await checkActivityTask(serverId, sid, funcs, roleId, TASK_TYPE.BATTLE_MAIN, 1, { warId: battleId }) await checkActivityTask(serverId, sid, roleId, TASK_TYPE.BATTLE_MAIN, 1, { warId: battleId })
} else if (dicWar.warType == WAR_TYPE.EXPEDITION) { } else if (dicWar.warType == WAR_TYPE.EXPEDITION) {
await checkActivityTask(serverId, sid, funcs, roleId, TASK_TYPE.BATTLE_EXPEDITION, 1) await checkActivityTask(serverId, sid, roleId, TASK_TYPE.BATTLE_EXPEDITION, 1)
} else if (dicWar.warType == WAR_TYPE.MYSTERY || dicWar.warType == WAR_TYPE.MYSTERY_ELITE) { } else if (dicWar.warType == WAR_TYPE.MYSTERY || dicWar.warType == WAR_TYPE.MYSTERY_ELITE) {
await checkActivityTask(serverId, sid, funcs, roleId, TASK_TYPE.BATTLE_DUNGEON_WAR, 1, { warId: battleId }) await checkActivityTask(serverId, sid, roleId, TASK_TYPE.BATTLE_DUNGEON_WAR, 1, { warId: battleId })
} else if (dicWar.warType == WAR_TYPE.TOWER) { } else if (dicWar.warType == WAR_TYPE.TOWER) {
await checkActivityTask(serverId, sid, funcs, roleId, TASK_TYPE.BATTLE_TOWER, 1) await checkActivityTask(serverId, sid, roleId, TASK_TYPE.BATTLE_TOWER, 1)
} else if (dicWar.warType == WAR_TYPE.DAILY) { } else if (dicWar.warType == WAR_TYPE.DAILY) {
await checkActivityTask(serverId, sid, funcs, roleId, TASK_TYPE.BATTLE_DAILY, 1, { warId: battleId }) await checkActivityTask(serverId, sid, roleId, TASK_TYPE.BATTLE_DAILY, 1, { warId: battleId })
} }
} }
@@ -135,30 +133,30 @@ export async function checkTaskInComBattleEnd(roleStatus: RoleStatus[], capId: s
let { serverId } = await RoleModel.findByRoleId(roleId); let { serverId } = await RoleModel.findByRoleId(roleId);
if (roleId == capId && roleStatus.length > 1) { // 招募队友 if (roleId == capId && roleStatus.length > 1) { // 招募队友
await checkTask(roleId, null, null, TASK_TYPE.COM_BATTLE_CREATE_TEAM, 1, true, {}); await checkTask(roleId, null, TASK_TYPE.COM_BATTLE_CREATE_TEAM, 1, true, {});
} else if (roleId !== capId) { // 协助寻宝 } else if (roleId !== capId) { // 协助寻宝
await checkTask(roleId, null, null, TASK_TYPE.COM_BATTLE_ASSIST_TEAM, 1, true, {}); await checkTask(roleId, null, TASK_TYPE.COM_BATTLE_ASSIST_TEAM, 1, true, {});
//活动任务 //活动任务
await checkActivityTask(serverId, null, null, roleId, TASK_TYPE.COM_BATTLE_ASSIST_TEAM, 1); await checkActivityTask(serverId, null, roleId, TASK_TYPE.COM_BATTLE_ASSIST_TEAM, 1);
} }
await checkTask(roleId, null, null, TASK_TYPE.COM_BATTLE, 1, true, {}); await checkTask(roleId, null, TASK_TYPE.COM_BATTLE, 1, true, {});
await checkTask(roleId, null, null, TASK_TYPE.COM_BATTLE_QUALITY, 1, true, { quality }); await checkTask(roleId, null, TASK_TYPE.COM_BATTLE_QUALITY, 1, true, { quality });
//活动任务 //活动任务
await checkActivityTask(serverId, null, null, roleId, TASK_TYPE.COM_BATTLE, 1); await checkActivityTask(serverId, null, roleId, TASK_TYPE.COM_BATTLE, 1);
} }
} }
} }
export async function checkTaskInPvpEnd(roleId: string, sid: string, funcs: number[], isSuccess: boolean, heroScores: HeroScores[]) { export async function checkTaskInPvpEnd(roleId: string, sid: string, isSuccess: boolean, heroScores: HeroScores[]) {
await checkTask(roleId, sid, funcs, TASK_TYPE.PVP, 1, true, {}); await checkTask(roleId, sid, TASK_TYPE.PVP, 1, true, {});
if (isSuccess) { if (isSuccess) {
await checkTask(roleId, sid, funcs, TASK_TYPE.PVP_WIN, 1, true, {}); await checkTask(roleId, sid, TASK_TYPE.PVP_WIN, 1, true, {});
await checkTask(roleId, sid, funcs, TASK_TYPE.PVP_WIN_SERIES, 1, true, {}); await checkTask(roleId, sid, TASK_TYPE.PVP_WIN_SERIES, 1, true, {});
} else { } else {
await checkTask(roleId, sid, funcs, TASK_TYPE.PVP_WIN_SERIES, 0, false, {}); await checkTask(roleId, sid, TASK_TYPE.PVP_WIN_SERIES, 0, false, {});
} }
await checkTask(roleId, sid, funcs, TASK_TYPE.PVP_HERO_SCORE, 0, false, { heroScores }); await checkTask(roleId, sid, TASK_TYPE.PVP_HERO_SCORE, 0, false, { heroScores });
} }
+2 -2
View File
@@ -232,8 +232,8 @@ export async function checkResult(pvpDefense: PvpDefenseType, seasonNum: number,
}, heroGoods, rankGoods, show: true }, heroGoods, rankGoods, show: true
});//结算修改玩家pvp信息 });//结算修改玩家pvp信息
// 更新任务 // 更新任务
await checkTask(pvpDefense.roleId, null, null, TASK_TYPE.PVP_HERO_SCORE, 0, false, { heroScores: pvpDefense.heroScores }); await checkTask(pvpDefense.roleId, null, TASK_TYPE.PVP_HERO_SCORE, 0, false, { heroScores: pvpDefense.heroScores });
await checkTask(pvpDefense.roleId, null, null, TASK_TYPE.PVP_RANK, 1, false, { rankLv }); await checkTask(pvpDefense.roleId, null, TASK_TYPE.PVP_RANK, 1, false, { rankLv });
return { return {
rankLv, score, pLv, heroScores: pvpDefense.heroScores, seasonNum, challengeCnt: PVP.PVP_CHALLENGE_COUNTS, challengeRefTime: 0, oldSeasonEndTime, heroGoods: heroGoods.map(({ id, count }) => { rankLv, score, pLv, heroScores: pvpDefense.heroScores, seasonNum, challengeCnt: PVP.PVP_CHALLENGE_COUNTS, challengeRefTime: 0, oldSeasonEndTime, heroGoods: heroGoods.map(({ id, count }) => {
return { id, count }; return { id, count };
+1 -1
View File
@@ -1,7 +1,7 @@
export enum ROLE_SELECT { export enum ROLE_SELECT {
// 初始登录数据 // 初始登录数据
ENTRY = 'serverId userInfo.uid userInfo.tel userInfo.serverType ce topLineup topLineupCe teraphs roleId roleName tili lv exp gold coin vLv title hasGuild funcs eventStatus heads head frames frame spines spine guildCode frdCnt showLineup updatedAt heroNum heroNumUpdatedAt loginTime hasInit rankReceived', ENTRY = 'serverId userInfo.uid userInfo.tel userInfo.serverType ce topLineup topLineupCe teraphs roleId roleName tili lv exp gold coin vLv title hasGuild eventStatus heads head frames frame spines spine guildCode frdCnt showLineup updatedAt heroNum heroNumUpdatedAt loginTime hasInit rankReceived',
// 玩家列表显示基础数据 // 玩家列表显示基础数据
SHOW_SIMPLE = 'roleId roleName ce head frame spine lv title job quitTime loginTime vLv guildName serverId userInfo.serverType', SHOW_SIMPLE = 'roleId roleName ce head frame spine lv title job quitTime loginTime vLv guildName serverId userInfo.serverType',
// 显示申请需要的信息 // 显示申请需要的信息
-9
View File
@@ -229,9 +229,6 @@ export default class Role extends BaseModel {
@prop({ required: true, default: 0 }) @prop({ required: true, default: 0 })
quitTime: number; // 更新 / 登录时间 quitTime: number; // 更新 / 登录时间
@prop({ required: true, type: Number, default: [], _id: false })
funcs: Array<number>; // 开启了的功能
// 天梯相关 // 天梯相关
@prop({ required: true, default: 1 }) @prop({ required: true, default: 1 })
towerLv: number; // 天梯当前层数 towerLv: number; // 天梯当前层数
@@ -583,12 +580,6 @@ export default class Role extends BaseModel {
} }
} }
// 保存开启功能
public static async pushFuncs(roleId: string, funcs: number[], lean = true) {
const recs: RoleType = await RoleModel.findOneAndUpdate({ roleId }, { $push: { funcs: { $each: funcs } } }, { new: true }).lean(lean);
return recs
}
public static async updateRoleInfo(roleId: string, roleUpdate: RoleUpdate, getters = false, virtuals = true) { public static async updateRoleInfo(roleId: string, roleUpdate: RoleUpdate, getters = false, virtuals = true) {
delete roleUpdate._id; delete roleUpdate._id;
let result: RoleType = await RoleModel.findOneAndUpdate({ roleId }, { $set: roleUpdate }, { new: true }).lean({ getters, virtuals }); let result: RoleType = await RoleModel.findOneAndUpdate({ roleId }, { $set: roleUpdate }, { new: true }).lean({ getters, virtuals });
+5 -7
View File
@@ -69,7 +69,6 @@ export class UpdateHeroes {
roleId: string; roleId: string;
roleName: string; roleName: string;
serverId: number; serverId: number;
funcs: number[] = [];
incHeroNum: number = 0; incHeroNum: number = 0;
incRoleCe: number = 0; incRoleCe: number = 0;
pushHeroes: {hid: number, incHeroCe: number, ce: number, hero: HeroUpdate}[] = []; pushHeroes: {hid: number, incHeroCe: number, ce: number, hero: HeroUpdate}[] = [];
@@ -77,11 +76,10 @@ export class UpdateHeroes {
role: RoleType; role: RoleType;
guild: GuildType; guild: GuildType;
constructor(roleId: string, roleName: string, serverId: number, funcs?: number[]) { constructor(roleId: string, roleName: string, serverId: number) {
this.roleId = roleId; this.roleId = roleId;
this.roleName = roleName; this.roleName = roleName;
this.serverId = serverId; this.serverId = serverId;
if(funcs) this.funcs = funcs;
} }
public setRole(role: RoleType) { public setRole(role: RoleType) {
@@ -241,10 +239,10 @@ export class CreateHeroes extends UpdateHeroes {
private async clearTask() { private async clearTask() {
// 任务 // 任务
console.log('****** checkTask before', Date.now()) console.log('****** checkTask before', Date.now())
let m1 = await checkTask(this.roleId, TASK_TYPE.HERO_NUM, this.heroNum, true, {}, this.funcs); let m1 = await checkTask(this.roleId, TASK_TYPE.HERO_NUM, this.heroNum, true, {});
let m2 = await checkTaskWithHeroes(this.roleId, TASK_TYPE.HERO_QUALITY, this.resultHeroes, this.funcs); let m2 = await checkTaskWithHeroes(this.roleId, TASK_TYPE.HERO_QUALITY, this.resultHeroes);
let m3 = await checkTaskWithHeroes(this.roleId, TASK_TYPE.HERO_QUALITY_STAR_UP, this.resultHeroes, this.funcs); let m3 = await checkTaskWithHeroes(this.roleId, TASK_TYPE.HERO_QUALITY_STAR_UP, this.resultHeroes);
let m4 = await checkTaskWithHeroes(this.roleId, TASK_TYPE.HERO_LV, this.resultHeroes, this.funcs); let m4 = await checkTaskWithHeroes(this.roleId, TASK_TYPE.HERO_LV, this.resultHeroes);
this.taskPushMessage.push(...m1, ...m2, ...m3, ...m4); this.taskPushMessage.push(...m1, ...m2, ...m3, ...m4);
console.log('****** checkTask after', Date.now()) console.log('****** checkTask after', Date.now())
//成长任务 //成长任务
+51 -80
View File
@@ -1,6 +1,6 @@
import { gameData } from './data'; import { gameData } from './data';
import { DicTask } from './dictionary/DicTask'; import { DicTask } from './dictionary/DicTask';
import { TASK_TYPE, ABI_STAGE, WAR_TYPE, GUILD_JOB, TASK_FUN_TYPE, FUNCS_ID } from '../consts'; import { TASK_TYPE, ABI_STAGE, WAR_TYPE, GUILD_JOB } from '../consts';
import { UserTaskRecModel, UserTaskRecType } from '../db/UserTaskRec' import { UserTaskRecModel, UserTaskRecType } from '../db/UserTaskRec'
import { RoleType, RoleModel } from '../db/Role'; import { RoleType, RoleModel } from '../db/Role';
import { TaskParam, TaskListReturn } from '../domain/roleField/task'; import { TaskParam, TaskListReturn } from '../domain/roleField/task';
@@ -34,24 +34,24 @@ import { ActivityRefreshTaskModel } from '../db/ActivityRefreshTask';
export async function checkTaskWithRoles(serverId: number, taskType: number, roles: RoleType[], funcs?: number[]) { export async function checkTaskWithRoles(serverId: number, taskType: number, roles: RoleType[]) {
let pushMessage = new Array<TaskListReturn>(); let pushMessage = new Array<TaskListReturn>();
for (let role of roles) { for (let role of roles) {
if (role) { if (role) {
let singlePush = await checkTaskWithRole(serverId, role.roleId, taskType, role, funcs); let singlePush = await checkTaskWithRole(serverId, role.roleId, taskType, role);
pushMessage.concat(singlePush); pushMessage.concat(singlePush);
} }
} }
return pushMessage return pushMessage
} }
export async function checkTaskWithRole(serverId: number, roleId: string, taskType: number, role: RoleType, funcs?: number[]) { export async function checkTaskWithRole(serverId: number, roleId: string, taskType: number, role: RoleType) {
let pushMessage = new Array<TaskListReturn>(); let pushMessage = new Array<TaskListReturn>();
if (taskType == TASK_TYPE.LOGIN_SUM) { if (taskType == TASK_TYPE.LOGIN_SUM) {
let today = getZeroPoint(); let today = getZeroPoint();
if (today > role.loginTime) { if (today > role.loginTime) {
pushMessage = await checkTask(roleId, taskType, 1, true, {}, funcs); pushMessage = await checkTask(roleId, taskType, 1, true, {});
//成长任务-累计登录游戏天数 //成长任务-累计登录游戏天数
await accomplishTask(serverId, roleId, taskType, 1) await accomplishTask(serverId, roleId, taskType, 1)
} }
@@ -60,60 +60,60 @@ export async function checkTaskWithRole(serverId: number, roleId: string, taskTy
let today = getZeroPoint(); let today = getZeroPoint();
if (today > role.loginTime) { if (today > role.loginTime) {
if (today - role.loginTime > 24 * 60 * 60) { if (today - role.loginTime > 24 * 60 * 60) {
pushMessage = await checkTask(roleId, taskType, 1, false, {}, funcs); pushMessage = await checkTask(roleId, taskType, 1, false, {});
} else { } else {
pushMessage = await checkTask(roleId, taskType, 1, true, {}, funcs); pushMessage = await checkTask(roleId, taskType, 1, true, {});
} }
} }
} }
else if (taskType == TASK_TYPE.FRIEND_NUM) { else if (taskType == TASK_TYPE.FRIEND_NUM) {
let { friendCnt } = role; let { friendCnt } = role;
pushMessage = await checkTask(roleId, taskType, friendCnt, false, {}, funcs); pushMessage = await checkTask(roleId, taskType, friendCnt, false, {});
} }
return pushMessage return pushMessage
} }
export async function checkTaskWithHeroes(roleId: string, taskType: number, heroes: HeroType[], funcs?: number[]) { export async function checkTaskWithHeroes(roleId: string, taskType: number, heroes: HeroType[]) {
let pushMessage = new Array<TaskListReturn>(); let pushMessage = new Array<TaskListReturn>();
for (let hero of heroes) { for (let hero of heroes) {
let singlePush = await checkTaskWithHero(roleId, taskType, hero, [], funcs); let singlePush = await checkTaskWithHero(roleId, taskType, hero, []);
pushMessage.concat(singlePush); pushMessage.concat(singlePush);
} }
return pushMessage return pushMessage
} }
export async function checkTaskWithHero(roleId: string, taskType: number, hero: HeroType, args: number[] = [], funcs?: number[]) { export async function checkTaskWithHero(roleId: string, taskType: number, hero: HeroType, args: number[] = []) {
let pushMessage = new Array<TaskListReturn>(); let pushMessage = new Array<TaskListReturn>();
if (taskType == TASK_TYPE.HERO_STAR_UP) { if (taskType == TASK_TYPE.HERO_STAR_UP) {
let dicHero = gameData.hero.get(hero.hid); let dicHero = gameData.hero.get(hero.hid);
let starUp = hero.star - dicHero.initialStars; let starUp = hero.star - dicHero.initialStars;
if (hero.colorStar > 1) starUp += hero.colorStar - 1; if (hero.colorStar > 1) starUp += hero.colorStar - 1;
pushMessage = await checkTask(roleId, taskType, 1, true, { star: starUp }, funcs) pushMessage = await checkTask(roleId, taskType, 1, true, { star: starUp })
} }
else if (taskType == TASK_TYPE.HERO_QUALITY) { else if (taskType == TASK_TYPE.HERO_QUALITY) {
let dicHero = gameData.hero.get(hero.hid); let dicHero = gameData.hero.get(hero.hid);
pushMessage = await checkTask(roleId, taskType, 1, true, { quality: dicHero.quality }, funcs); pushMessage = await checkTask(roleId, taskType, 1, true, { quality: dicHero.quality });
} }
else if (taskType == TASK_TYPE.HERO_QUALITY_STAR_UP) { else if (taskType == TASK_TYPE.HERO_QUALITY_STAR_UP) {
let dicHero = gameData.hero.get(hero.hid); let dicHero = gameData.hero.get(hero.hid);
pushMessage = await checkTask(roleId, taskType, 1, true, { quality: dicHero.quality, star: hero.star }, funcs); pushMessage = await checkTask(roleId, taskType, 1, true, { quality: dicHero.quality, star: hero.star });
} }
else if (taskType == TASK_TYPE.HERO_LV) { else if (taskType == TASK_TYPE.HERO_LV) {
pushMessage = await checkTask(roleId, taskType, 1, true, { lv: hero.lv, oldLv: args[0] }, funcs); pushMessage = await checkTask(roleId, taskType, 1, true, { lv: hero.lv, oldLv: args[0] });
} }
else if (taskType == TASK_TYPE.HERO_TRAIN) { else if (taskType == TASK_TYPE.HERO_TRAIN) {
let dicHero = gameData.hero.get(hero.hid); let dicHero = gameData.hero.get(hero.hid);
let initGrage = gameData.job.get(dicHero.jobid).grade; let initGrage = gameData.job.get(dicHero.jobid).grade;
let curGrade = gameData.job.get(hero.job).grade; let curGrade = gameData.job.get(hero.job).grade;
let count = (curGrade - initGrage) * (ABI_STAGE.END - ABI_STAGE.START) + (hero.jobStage - ABI_STAGE.START); // 训练次数 let count = (curGrade - initGrage) * (ABI_STAGE.END - ABI_STAGE.START) + (hero.jobStage - ABI_STAGE.START); // 训练次数
pushMessage = await checkTask(roleId, taskType, 1, true, { count }, funcs); pushMessage = await checkTask(roleId, taskType, 1, true, { count });
} }
else if (taskType == TASK_TYPE.HERO_QUALITY_UP) { else if (taskType == TASK_TYPE.HERO_QUALITY_UP) {
let dicHero = gameData.hero.get(hero.hid); let dicHero = gameData.hero.get(hero.hid);
if (hero.quality - dicHero.quality == 1) { // 每个武将升品算一次 if (hero.quality - dicHero.quality == 1) { // 每个武将升品算一次
pushMessage = await checkTask(roleId, taskType, 1, true, {}, funcs); pushMessage = await checkTask(roleId, taskType, 1, true, {});
} }
} }
else if (taskType == TASK_TYPE.HERO_STAGE_UP) { else if (taskType == TASK_TYPE.HERO_STAGE_UP) {
@@ -121,23 +121,23 @@ export async function checkTaskWithHero(roleId: string, taskType: number, hero:
let initGrage = gameData.job.get(dicHero.jobid).grade; let initGrage = gameData.job.get(dicHero.jobid).grade;
let curGrade = gameData.job.get(hero.job).grade; let curGrade = gameData.job.get(hero.job).grade;
let count = curGrade - initGrage; // 进阶次数 let count = curGrade - initGrage; // 进阶次数
pushMessage = await checkTask(roleId, taskType, 1, true, { count }, funcs); pushMessage = await checkTask(roleId, taskType, 1, true, { count });
} }
else if (taskType == TASK_TYPE.HERO_FAVOUR_LV) { else if (taskType == TASK_TYPE.HERO_FAVOUR_LV) {
pushMessage = await checkTask(roleId, taskType, 1, true, { favourLv: hero.favourLv }, funcs) pushMessage = await checkTask(roleId, taskType, 1, true, { favourLv: hero.favourLv })
} }
else if (taskType == TASK_TYPE.EQUIP_BY_HERO) { else if (taskType == TASK_TYPE.EQUIP_BY_HERO) {
// arg[0] 1:穿上 -1:脱下 // arg[0] 1:穿上 -1:脱下
let { ePlace } = hero; let { ePlace } = hero;
let count = ePlace.filter(cur => cur.equip).length; let count = ePlace.filter(cur => cur.equip).length;
pushMessage = await checkTask(roleId, taskType, args[0], true, { count, isPutOn: args[0] }, funcs); pushMessage = await checkTask(roleId, taskType, args[0], true, { count, isPutOn: args[0] });
} }
else if (taskType == TASK_TYPE.EQUIP_STRENGTHEN) { else if (taskType == TASK_TYPE.EQUIP_STRENGTHEN) {
// args: 依次为原先的装备的强化等级 // args: 依次为原先的装备的强化等级
let { ePlace } = hero; let { ePlace } = hero;
let index = 0; let index = 0;
for (let { lv } of ePlace) { for (let { lv } of ePlace) {
let p = await checkTask(roleId, taskType, 1, true, { oldLv: args[index++], lv }, funcs); let p = await checkTask(roleId, taskType, 1, true, { oldLv: args[index++], lv });
pushMessage = pushMessage.concat(p); pushMessage = pushMessage.concat(p);
} }
} }
@@ -146,27 +146,27 @@ export async function checkTaskWithHero(roleId: string, taskType: number, hero:
} }
export async function checkTaskWithEquip(roleId: string, taskType: number, equip: EquipType, args: number[] = [], funcs?: number[]) { export async function checkTaskWithEquip(roleId: string, taskType: number, equip: EquipType, args: number[] = []) {
let pushMessage = new Array<TaskListReturn>(); let pushMessage = new Array<TaskListReturn>();
if (taskType == TASK_TYPE.EQUIP_QUALITY) { if (taskType == TASK_TYPE.EQUIP_QUALITY) {
// args[0] 1:装上 -1:脱下 // args[0] 1:装上 -1:脱下
let dicGood = gameData.goods.get(equip.id); let dicGood = gameData.goods.get(equip.id);
pushMessage = await checkTask(roleId, taskType, args[0], true, { quality: dicGood.quality }, funcs) pushMessage = await checkTask(roleId, taskType, args[0], true, { quality: dicGood.quality })
} }
else if (taskType == TASK_TYPE.EQUIP_JEWEL) { else if (taskType == TASK_TYPE.EQUIP_JEWEL) {
// args[0] 原来镶嵌了多少宝石 // args[0] 原来镶嵌了多少宝石
let { holes } = equip; let { holes } = equip;
let jewelCount = holes.filter(cur => cur.jewel > 0).length; let jewelCount = holes.filter(cur => cur.jewel > 0).length;
if (jewelCount > 0 && args[0] <= 0) { // 原来没有,镶嵌上了 if (jewelCount > 0 && args[0] <= 0) { // 原来没有,镶嵌上了
pushMessage = await checkTask(roleId, taskType, 1, true, {}, funcs); pushMessage = await checkTask(roleId, taskType, 1, true, {});
} else if (jewelCount <= 0 && args[0] > 0) { // 原来镶嵌着,现在没了 } else if (jewelCount <= 0 && args[0] > 0) { // 原来镶嵌着,现在没了
pushMessage = await checkTask(roleId, taskType, -1, true, {}, funcs); pushMessage = await checkTask(roleId, taskType, -1, true, {});
} }
} }
else if (taskType == TASK_TYPE.EQUIP_COMPOSE_SUIT) { else if (taskType == TASK_TYPE.EQUIP_COMPOSE_SUIT) {
let dicGood = gameData.goods.get(equip.id); let dicGood = gameData.goods.get(equip.id);
if (dicGood.suitId) { if (dicGood.suitId) {
pushMessage = await checkTask(roleId, taskType, 1, true, {}, funcs); pushMessage = await checkTask(roleId, taskType, 1, true, {});
} }
} }
else if (taskType == TASK_TYPE.EQUIP_SUIT) { else if (taskType == TASK_TYPE.EQUIP_SUIT) {
@@ -189,7 +189,7 @@ export async function checkTaskWithEquip(roleId: string, taskType: number, equip
if (id == equip.id) curCount = count; if (id == equip.id) curCount = count;
} }
if (curCount == minCount) { if (curCount == minCount) {
pushMessage = await checkTask(roleId, taskType, 1, true, {}, funcs); pushMessage = await checkTask(roleId, taskType, 1, true, {});
} }
} }
} }
@@ -197,20 +197,20 @@ export async function checkTaskWithEquip(roleId: string, taskType: number, equip
// args[0] 原来镶嵌了多少宝石 // args[0] 原来镶嵌了多少宝石
let { holes } = equip; let { holes } = equip;
let jewelCount = holes.filter(cur => cur.jewel > 0).length; let jewelCount = holes.filter(cur => cur.jewel > 0).length;
pushMessage = await checkTask(roleId, taskType, jewelCount - args[0], true, {}, funcs); pushMessage = await checkTask(roleId, taskType, jewelCount - args[0], true, {});
} }
return pushMessage return pushMessage
} }
export async function checkTaskWithArgs(roleId: string, taskType: number, args: number[], funcs?: number[]) { export async function checkTaskWithArgs(roleId: string, taskType: number, args: number[]) {
let pushMessage = new Array<TaskListReturn>(); let pushMessage = new Array<TaskListReturn>();
if (taskType == TASK_TYPE.ROLE_SCHOOL_PUT_HERO) { if (taskType == TASK_TYPE.ROLE_SCHOOL_PUT_HERO) {
let [hid, preHid] = args; let [hid, preHid] = args;
if (hid > 0 && preHid <= 0) { // 放置 if (hid > 0 && preHid <= 0) { // 放置
pushMessage = await checkTask(roleId, taskType, 1, true, {}, funcs); pushMessage = await checkTask(roleId, taskType, 1, true, {});
} else if (hid <= 0 && preHid > 0) { // 卸下 } else if (hid <= 0 && preHid > 0) { // 卸下
pushMessage = await checkTask(roleId, taskType, -1, true, {}, funcs); pushMessage = await checkTask(roleId, taskType, -1, true, {});
} }
} }
else if (taskType == TASK_TYPE.EQUIP_JEWEL_STAGE) { else if (taskType == TASK_TYPE.EQUIP_JEWEL_STAGE) {
@@ -218,83 +218,83 @@ export async function checkTaskWithArgs(roleId: string, taskType: number, args:
let [putOnJewel, putOffJewel] = args; let [putOnJewel, putOffJewel] = args;
if (putOnJewel > 0) { if (putOnJewel > 0) {
let dicGood = gameData.goods.get(putOnJewel); let dicGood = gameData.goods.get(putOnJewel);
let push = await checkTask(roleId, taskType, 1, true, { stage: dicGood.lvLimited }, funcs); let push = await checkTask(roleId, taskType, 1, true, { stage: dicGood.lvLimited });
pushMessage.concat(push); pushMessage.concat(push);
} }
if (putOffJewel > 0) { if (putOffJewel > 0) {
let dicGood = gameData.goods.get(putOffJewel); let dicGood = gameData.goods.get(putOffJewel);
let push = await checkTask(roleId, taskType, -1, true, { stage: dicGood.lvLimited }, funcs); let push = await checkTask(roleId, taskType, -1, true, { stage: dicGood.lvLimited });
pushMessage.concat(push); pushMessage.concat(push);
} }
} }
else if (taskType == TASK_TYPE.CHAT) { else if (taskType == TASK_TYPE.CHAT) {
// args[0] 聊天type 1-系统 2-世界 3-军团 4-组队 5-私聊 // args[0] 聊天type 1-系统 2-世界 3-军团 4-组队 5-私聊
pushMessage = await checkTask(roleId, taskType, 1, true, { chatType: args[0] }, funcs) pushMessage = await checkTask(roleId, taskType, 1, true, { chatType: args[0] })
} }
return pushMessage return pushMessage
} }
export async function checkTaskWithWar(roleId: string, taskType: number, warId: number, heroes: number[], count: number, star: number, funcs?: number[]) { export async function checkTaskWithWar(roleId: string, taskType: number, warId: number, heroes: number[], count: number, star: number) {
let dicWar = gameData.war.get(warId); let dicWar = gameData.war.get(warId);
let pushMessage = new Array<TaskListReturn>(); let pushMessage = new Array<TaskListReturn>();
if (taskType == TASK_TYPE.BATTLE_WITH_HERO) { if (taskType == TASK_TYPE.BATTLE_WITH_HERO) {
pushMessage = await checkTask(roleId, taskType, count, true, { warId, heroes }, funcs); pushMessage = await checkTask(roleId, taskType, count, true, { warId, heroes });
} }
else if (taskType == TASK_TYPE.BATTLE_MAIN) { else if (taskType == TASK_TYPE.BATTLE_MAIN) {
if (dicWar.warType == WAR_TYPE.NORMAL) { if (dicWar.warType == WAR_TYPE.NORMAL) {
pushMessage = await checkTask(roleId, taskType, count, true, { warId }, funcs); pushMessage = await checkTask(roleId, taskType, count, true, { warId });
} }
} }
else if (taskType == TASK_TYPE.BATTLE_MAIN_SWEEP) { else if (taskType == TASK_TYPE.BATTLE_MAIN_SWEEP) {
if (dicWar.warType == WAR_TYPE.NORMAL) { if (dicWar.warType == WAR_TYPE.NORMAL) {
pushMessage = await checkTask(roleId, taskType, count, true, {}, funcs); pushMessage = await checkTask(roleId, taskType, count, true, {});
} }
} }
else if (taskType == TASK_TYPE.BATTLE_DAILY_STAR) { else if (taskType == TASK_TYPE.BATTLE_DAILY_STAR) {
if (dicWar.warType == WAR_TYPE.DAILY) { if (dicWar.warType == WAR_TYPE.DAILY) {
pushMessage = await checkTask(roleId, taskType, count, true, { warId, star }, funcs); pushMessage = await checkTask(roleId, taskType, count, true, { warId, star });
} }
} }
else if (taskType == TASK_TYPE.BATTLE_DAILY) { else if (taskType == TASK_TYPE.BATTLE_DAILY) {
if (dicWar.warType == WAR_TYPE.DAILY) { if (dicWar.warType == WAR_TYPE.DAILY) {
pushMessage = await checkTask(roleId, taskType, count, true, { dailyType: dicWar.dailyType }, funcs) pushMessage = await checkTask(roleId, taskType, count, true, { dailyType: dicWar.dailyType })
} }
} }
else if (taskType == TASK_TYPE.BATTLE_DUNGEON) { else if (taskType == TASK_TYPE.BATTLE_DUNGEON) {
if (dicWar.warType == WAR_TYPE.MYSTERY || dicWar.warType == WAR_TYPE.MYSTERY_ELITE) { if (dicWar.warType == WAR_TYPE.MYSTERY || dicWar.warType == WAR_TYPE.MYSTERY_ELITE) {
pushMessage = await checkTask(roleId, taskType, count, true, {}, funcs); pushMessage = await checkTask(roleId, taskType, count, true, {});
} }
} }
else if (taskType == TASK_TYPE.BATTLE_DUNGEON_WAR) { else if (taskType == TASK_TYPE.BATTLE_DUNGEON_WAR) {
if (dicWar.warType == WAR_TYPE.MYSTERY || dicWar.warType == WAR_TYPE.MYSTERY_ELITE) { if (dicWar.warType == WAR_TYPE.MYSTERY || dicWar.warType == WAR_TYPE.MYSTERY_ELITE) {
pushMessage = await checkTask(roleId, taskType, count, true, { warId }, funcs); pushMessage = await checkTask(roleId, taskType, count, true, { warId });
} }
} }
else if (taskType == TASK_TYPE.BATTLE_TOWER) { else if (taskType == TASK_TYPE.BATTLE_TOWER) {
if (dicWar.warType == WAR_TYPE.TOWER) { if (dicWar.warType == WAR_TYPE.TOWER) {
pushMessage = await checkTask(roleId, taskType, count, true, {}, funcs); pushMessage = await checkTask(roleId, taskType, count, true, {});
} }
} }
else if (taskType == TASK_TYPE.BATTLE_VESTIGE) { else if (taskType == TASK_TYPE.BATTLE_VESTIGE) {
if (dicWar.warType == WAR_TYPE.VESTIGE) { if (dicWar.warType == WAR_TYPE.VESTIGE) {
pushMessage = await checkTask(roleId, taskType, count, true, {}, funcs); pushMessage = await checkTask(roleId, taskType, count, true, {});
} }
} }
else if (taskType == TASK_TYPE.BATTLE_EXPEDITION) { else if (taskType == TASK_TYPE.BATTLE_EXPEDITION) {
if (dicWar.warType == WAR_TYPE.EXPEDITION) { if (dicWar.warType == WAR_TYPE.EXPEDITION) {
pushMessage = await checkTask(roleId, taskType, count, true, {}, funcs); pushMessage = await checkTask(roleId, taskType, count, true, {});
} }
} }
return pushMessage return pushMessage
} }
export async function checkTaskWithGoods(roleId: string, taskType: number, goods: ItemInter[], funcs?: number[]) { export async function checkTaskWithGoods(roleId: string, taskType: number, goods: ItemInter[]) {
let pushMessage = new Array<TaskListReturn>(); let pushMessage = new Array<TaskListReturn>();
if (taskType == TASK_TYPE.COM_BATTLE_DROP) { if (taskType == TASK_TYPE.COM_BATTLE_DROP) {
for (let { id, count } of goods) { for (let { id, count } of goods) {
let push = await checkTask(roleId, taskType, count, true, { gid: id }, funcs); let push = await checkTask(roleId, taskType, count, true, { gid: id });
pushMessage.concat(push); pushMessage.concat(push);
} }
} }
@@ -302,8 +302,8 @@ export async function checkTaskWithGoods(roleId: string, taskType: number, goods
} }
// 根据taskType判断有哪些任务需要check的 // 根据taskType判断有哪些任务需要check的
export async function checkTask(roleId: string, taskType: number, count: number, isInc: boolean, param: TaskParam, funcs?: number[]) { export async function checkTask(roleId: string, taskType: number, count: number, isInc: boolean, param: TaskParam) {
// console.log('******checkTask', roleId, taskType, count, isInc, param, funcs) // console.log('******checkTask', roleId, taskType, count, isInc, param)
let tasks = gameData.taskType.get(taskType) || []; let tasks = gameData.taskType.get(taskType) || [];
let pushMessage = new Array<TaskListReturn>(); let pushMessage = new Array<TaskListReturn>();
let groups = new Map<string, { task0: DicTask, tasks: DicTask[] }>(); let groups = new Map<string, { task0: DicTask, tasks: DicTask[] }>();
@@ -313,17 +313,13 @@ export async function checkTask(roleId: string, taskType: number, count: number,
} }
groups.get(`${dicTask.type}_${dicTask.group}`).tasks.push(dicTask); groups.get(`${dicTask.type}_${dicTask.group}`).tasks.push(dicTask);
} }
if (!funcs) {
let role = await RoleModel.findByRoleId(roleId, 'funcs');
funcs = role.funcs || [];
}
for (let [typeAndGroup, { task0, tasks }] of groups) { for (let [typeAndGroup, { task0, tasks }] of groups) {
let arr = typeAndGroup.split('_'); let arr = typeAndGroup.split('_');
let type = parseInt(arr[0]); let type = parseInt(arr[0]);
let group = parseInt(arr[1]); let group = parseInt(arr[1]);
let rec = await checkTaskRec(roleId, type, group, task0, count, isInc, param, funcs); let rec = await checkTaskRec(roleId, type, group, task0, count, isInc, param);
if (rec) { if (rec) {
for (let dicTask of tasks) { for (let dicTask of tasks) {
if (checkRecResult(rec, dicTask.id)) { if (checkRecResult(rec, dicTask.id)) {
@@ -337,15 +333,9 @@ export async function checkTask(roleId: string, taskType: number, count: number,
} }
// 检查各项任务是否达成,达成了就保存到数据库 // 检查各项任务是否达成,达成了就保存到数据库
export async function checkTaskRec(roleId: string, type: number, group: number, dicTask: DicTask, count: number, isInc: boolean, param: TaskParam, funcs: number[]) { export async function checkTaskRec(roleId: string, type: number, group: number, dicTask: DicTask, count: number, isInc: boolean, param: TaskParam) {
let { taskParam, taskType } = dicTask; let { taskParam, taskType } = dicTask;
let sp = [TASK_TYPE.LOGIN_SUM, TASK_TYPE.LOGIN_SERIES];
if (type == TASK_FUN_TYPE.DAILY && funcs.indexOf(FUNCS_ID.DAILY_TASK) == -1 && sp.indexOf(taskType) == -1) { // 功能未开启
return false;
}
let isMatch = true; // 条件是否满足 let isMatch = true; // 条件是否满足
let checkHistory = false; // 是否检查历史 let checkHistory = false; // 是否检查历史
switch (taskType) { switch (taskType) {
@@ -1233,23 +1223,4 @@ export function isComplete(_roleId: string, taskType: TASK_TYPE, taskParam: stri
} }
// console.log('dddddddddddd', addCount, record) // console.log('dddddddddddd', addCount, record)
return { addCount, record }; return { addCount, record };
}
/**
* 创建账号时临时获得可开启功能,主要用于check 主公升级任务
* 该函数不会存储funcs,如pvp开启会在entryHandler里面再查一次funcs,那时候正式开启
* @param dataFuncs
* @param lv
*/
export async function getCreateUserFuncs(dataFuncs: number[], lv: number) {
let addFuncs: number[] = [];
for (let [id, dicFunSwitch] of gameData.funcsSwitch) {
if (dataFuncs.includes(id)) continue; // 已开启过了
if (dicFunSwitch && lv >= dicFunSwitch.param) {
addFuncs.push(id);
}
return addFuncs;
}
} }
+2 -4
View File
@@ -12,7 +12,7 @@ import { getAge } from '../pubUtils/timeUtil';
import { resResult } from '../pubUtils/util'; import { resResult } from '../pubUtils/util';
import { checkTeeanAgerTime } from '../pubUtils/authenticateUtil'; import { checkTeeanAgerTime } from '../pubUtils/authenticateUtil';
import { authenticate } from '../pubUtils/httpUtil'; import { authenticate } from '../pubUtils/httpUtil';
import { checkTask, getCreateUserFuncs } from 'app/pubUtils/taskUtil'; import { checkTask } from 'app/pubUtils/taskUtil';
/** /**
* Test Service * Test Service
@@ -305,10 +305,8 @@ export default class Auth extends Service {
const role = await RoleModel.createRole(uid, serverId, { roleId, code, roleName: roleId, seqId, lv: DEFAULT_LV, exp: (getExpByLv(DEFAULT_LV - 1) || { sum: 0 }).sum || 0 }); const role = await RoleModel.createRole(uid, serverId, { roleId, code, roleName: roleId, seqId, lv: DEFAULT_LV, exp: (getExpByLv(DEFAULT_LV - 1) || { sum: 0 }).sum || 0 });
if (role) { if (role) {
let funcs = await getCreateUserFuncs(role.funcs, role.lv);
// 任务 // 任务
await checkTask(roleId, TASK_TYPE.ROLE_LV, role.lv, false, {}, funcs); await checkTask(roleId, TASK_TYPE.ROLE_LV, role.lv, false, {});
return ctx.service.utils.resResult(STATUS.SUCCESS, { roleId: role.roleId }); return ctx.service.utils.resResult(STATUS.SUCCESS, { roleId: role.roleId });
} }