活动:修复任务

This commit is contained in:
qiaoxin
2021-06-09 15:22:08 +08:00
parent 064e9148b4
commit 9209378b9d
5 changed files with 14 additions and 79 deletions
@@ -68,6 +68,8 @@ export class GachaHandler {
let userHeroes = await HeroModel.findByRole(roleId);
let items: RewardInter[] = [], heroInfo: CreateHeroParam[] = [], resultList: GachaResult[] = [];
let activityData = [];//活动需要统计抽中的英雄、碎片品质
for (let i = 0; i < count; i++) {
// 按照一般概率抽出
let { dic: { id: base } } = getRandEelmWithWeight(dicGacha.percent);
@@ -79,6 +81,7 @@ export class GachaHandler {
result.setSetPickHero(pickHero);
let hasHero = userHeroes.find(cur => cur.hid == result.hid);
if (hasHero) { // 已有转换为碎片
activityData.push({ hid: hasHero.hid, quality: hasHero.quality });
let { pieceId, count } = transPiece(result.hid);
result.transferToPiece(pieceId, count);
items.push({ id: pieceId, count });
@@ -121,7 +124,10 @@ export class GachaHandler {
await checkTask(roleId, sid, funcs, TASK_TYPE.GASHA, count, true, {});
//活动统计
await checkActivityTask(serverId, sid, funcs, roleId, TASK_TYPE.GASHA, count)
await checkActivityTask(serverId, sid, funcs, roleId, TASK_TYPE.GACHA_QUALITY_COUNT, count, { heroes })
for (let hero of heroes) {
activityData.push({ hid: hero.hid, quality: hero.quality });
}
await checkActivityTask(serverId, sid, funcs, roleId, TASK_TYPE.GACHA_QUALITY_COUNT, count, { heroes: activityData })
let resultRefFreeTime = 0;
if (dicGacha.free.count > 0) {
@@ -298,6 +298,7 @@ export class RoleHandler {
let roleId = session.get('roleId');
let sid = session.get('sid');
let funcs: number[] = session.get('funcs');
let serverId: number = session.get('serverId');
let { hid } = msg;
@@ -325,6 +326,7 @@ export class RoleHandler {
update.favour += SCROLL.SCROLL_ACTIVE_FAVOUR;
update.favourLv = getFriendLvByExp(update.favour);
}
await checkActivityTask(serverId, sid, funcs, roleId, TASK_TYPE.HERO_UNLOCK, 1, { dicHeroes: [dicHero] })
} else {
if (star > scrollStar) { // 可以升星
update.scrollStar++;