任务:修复任务无法达成bug

This commit is contained in:
luying
2021-04-25 17:18:16 +08:00
parent b5b1919a56
commit 7bb445693d
21 changed files with 79 additions and 52 deletions

View File

@@ -75,7 +75,7 @@ export class GachaHandler {
let userGacha = await UserGachaModel.findByRole(roleId, gachaId, activityId);
let { floor, freeCount, hope, point, pickHero, refFreeTime } = await refreshGacha(dicGacha, userGacha);
if((gachaId == GACHA_ID.ASSIGN|| gachaId == GACHA_ID.TIMELIMIT) && pickHero) return resResult(STATUS.GACHA_NOT_ASSIGN);
if((gachaId == GACHA_ID.ASSIGN|| gachaId == GACHA_ID.TIMELIMIT) && !pickHero) return resResult(STATUS.GACHA_NOT_ASSIGN);
let userHeroes = await HeroModel.findByRole(roleId);
@@ -104,7 +104,7 @@ export class GachaHandler {
}
let costNum = count;
if(dicGacha.free.count > 0) {
if(count == 1 && dicGacha.free.count > 0) { // 单抽的时候免费
if(count > dicGacha.free.count - freeCount) {
costNum = count - dicGacha.free.count + freeCount;
freeCount = dicGacha.free.count;
@@ -120,7 +120,7 @@ export class GachaHandler {
if(!costResult) return resResult(STATUS.GACHA_COST_NOT_ENOUGH);
}
// 给东西
let { heroes } = await createHeroes(roleId, roleName, sid, serverId, heroInfo);
let { heroes } = await createHeroes(roleId, roleName, sid, serverId, funcs, heroInfo);
await addItems(roleId, roleName, sid, items);
// 更新数据
point = Math.floor(count/RECRUIT.RECRUIT_BONUS);
@@ -157,7 +157,7 @@ export class GachaHandler {
for(let { hid } of hope) {
let dicHero = gameData.hero.get(hid);
if(!dicHero) return resResult(STATUS.DIC_DATA_NOT_FOUND);
if(dicHero.quality != HERO_QUALITY_TYPE.GOLD) {
if(hid != 0 && dicHero.quality != HERO_QUALITY_TYPE.GOLD) {
return resResult(STATUS.GACHA_HOPE_NOT_GOLD);
}
}
@@ -181,6 +181,7 @@ export class GachaHandler {
const roleName: string = session.get('roleName');
const sid: string = session.get('sid');
const serverId: number = session.get('serverId');
const funcs: number[] = session.get('funcs');
let userGacha = await UserGachaModel.findByRole(roleId, gachaId, 0);
let { point, turntable } = userGacha;
@@ -210,7 +211,7 @@ export class GachaHandler {
for(let i = 0; i < count; i++) {
heroInfo.push({ hid: hero[0] })
}
let { heroes, goods } = await createHeroes(roleId, roleName, sid, serverId, heroInfo);
let { heroes, goods } = await createHeroes(roleId, roleName, sid, serverId, funcs, heroInfo);
let resultList: GachaResult[] = [];
for(let h of heroes) {
let result = new GachaResult(contentId);

View File

@@ -48,6 +48,7 @@ export class SevenDaysHandler {
const serverId = session.get('serverId');
const sid = session.get('sid');
const roleName = session.get('roleName');
const funcs: number[] = session.get('funcs');
let playerData = await getPlayerGrowthData(activityId, serverId, roleId)
if (!playerData) return resResult(STATUS.ACTIVITY_MISSING);
@@ -82,7 +83,7 @@ export class SevenDaysHandler {
let dicHero = gameData.hero.get(hid);
if (!dicHero) return resResult(STATUS.DIC_DATA_NOT_FOUND);
// createHero
let hero = await createHero(roleId, roleName, sid, serverId, { hid });
let hero = await createHero(roleId, roleName, sid, serverId, funcs, { hid });
addHeros.push(hero);
}
}
@@ -102,6 +103,7 @@ export class SevenDaysHandler {
const serverId = session.get('serverId');
const sid = session.get('sid');
const roleName = session.get('roleName');
const funcs = session.get('funcs');
let playerData = await getPlayerGrowthData(activityId, serverId, roleId)
if (!playerData) return resResult(STATUS.ACTIVITY_MISSING);
@@ -137,7 +139,7 @@ export class SevenDaysHandler {
let dicHero = gameData.hero.get(hid);
if (!dicHero) return resResult(STATUS.DIC_DATA_NOT_FOUND);
// createHero
let { heroes } = await createHero(roleId, roleName, sid, serverId, { hid });
let { heroes } = await createHero(roleId, roleName, sid, serverId, funcs, { hid });
for(let hero of heroes) {
addHeros.push(hero);
}