500抽:活动格式

This commit is contained in:
luying
2022-07-28 20:27:08 +08:00
parent dbcbabfda6
commit 2806fdd9b1
10 changed files with 205 additions and 200 deletions
@@ -43,6 +43,7 @@ import { PopUpShopItemShow } from '../../domain/activityField/popUpShopField';
import { sendMessageToGuildWithSuc, sendMessageToUserWithSuc } from '../pushService';
import { UserOrderModelType } from '../../db/UserOrder';
import { isArray } from 'underscore';
import { getGuideGachaData } from './guideGachaService';
/**
* 获取活动数据
@@ -212,7 +213,15 @@ export async function getActivity(serverId: number, roleId: string, guildCode: s
case ACTIVITY_TYPE.GUILD_PAY:
{
activityData = await getGuildPayDataShow(serverId, activityId, roleId, guildCode);
break
}
case ACTIVITY_TYPE.GUIDE_GACHA:
{
activityData = await getGuideGachaData(serverId, activityId, roleId);
break
}
case ACTIVITY_TYPE.SHOP:
break
default: {
console.log('未知活动类型.........', activityType)
break;
@@ -1,6 +1,6 @@
import { GachaData, Floor as UserFloor, Hope as UserHope, GachaListReturn, GachaResultIndb } from "../../domain/activityField/gachaField";;
import { Floor as UserFloor, Hope as UserHope, GachaListReturn, GachaResultIndb } from "../../domain/activityField/gachaField";;
import { DicGacha } from "../../pubUtils/dictionary/DicGacha";
import { UserGachaType, UserGachaModel, SimpleResult } from "../../db/UserGacha";
import { UserGachaType, UserGachaModel } from "../../db/UserGacha";
import { shouldRefresh, getRandEelm, getRandEelmWithWeight, getRandSingleIndex, getRandSingleEelm } from "../../pubUtils/util";
import { REFRESH_TIME, GACHA_FLOOR_TYPE, HERO_QUALITY_TYPE, IT_TYPE, ITID, CONSUME_TYPE, SPECIAL_ATTR, TIME_OUTPUT_TYPE, GACHA_TYPE, GACHA_PLAN_TYPE } from "../../consts";
import { getTimeFunD, getZeroPointD } from "../../pubUtils/timeUtil";
@@ -11,6 +11,7 @@ import { HeroType } from "../../db/Hero";
import { getActivityById } from "./activityService";
import { transPiece } from "../role/util";
import { getRoleCreateTime, getServerCreateTime } from "../redisService";
import { SimpleResult } from "../../domain/activityField/guideGachaField";
/**
* 获取招募列表
@@ -31,26 +32,6 @@ export async function getGachaList(roleId: string) {
return list;
}
/**
* 获取活动页签里的限时卡池
*
* @param roleId 玩家id
* @param aid 活动id
*/
export async function getLimitGacha(serverId: number, roleId: string, activityId: number) {
let activityData = await getActivityById(activityId);
if (!activityData) return false;
let createTime = await getRoleCreateTime(roleId);
let serverTime = await getServerCreateTime(serverId);
let gachaData = new GachaData(activityData, createTime, serverTime);
let userGacha = await UserGachaModel.findByRole(roleId, gachaData.gachaId, activityId);
userGacha = await refreshGacha(gameData.gacha.get(gachaData.gachaId), userGacha);
gachaData.setUserGacha(userGacha);
return gachaData
}
export function getGuideGachaId() {
let ids = gameData.gachaByType.get(GACHA_TYPE.GUIDE);
return ids[0];
@@ -0,0 +1,15 @@
import { UserGachaModel } from "../../db/UserGacha";
import { GuideGachaData } from "../../domain/activityField/guideGachaField";
import { getRoleCreateTime, getServerCreateTime } from "../redisService";
import { getActivityById } from "./activityService";
export async function getGuideGachaData(serverId: number, activityId: number, roleId: string) {
let activityData = await getActivityById(activityId);
let createTime = await getRoleCreateTime(roleId);
let serverTime = await getServerCreateTime(serverId);
let playerData = new GuideGachaData(activityData, createTime, serverTime);
let userGacha = await UserGachaModel.findByRole(roleId, playerData.gachaId, activityId);
playerData.setPlayerData(userGacha);
if(playerData.hasChoosen) return null
return playerData;
}
+2 -1
View File
@@ -645,7 +645,8 @@ export function checkRouteParam(route: string, msg: any) {
if(!checkNaturalArray(heroes)) return false;
if (heroes.length > LINEUP_NUM) return false;
for(let { actorId, order } of heroes) {
if(!checkNaturalNumbers(actorId, order)) return false;
if(!checkNaturalNumbers(actorId)) return false;
if(!checkNumberIfExist(order)) return false;
}
break;
}
+1 -2
View File
@@ -156,10 +156,9 @@ export async function getModuleData(type: string, data: { role: RoleType, sessio
case 'pvp': // pvp
return await getPvpEntryData(roleId);
case 'gacha':
const { gachaHasGuide } = role;
const gachalist = await getGachaList(roleId);
const visitList = await getVisitedHeroList(roleId);
return { hasInit: !!gachaHasGuide, gachalist, visitList }
return { hasInit: true, gachalist, visitList }
case 'school':
return await getSchoolList(roleId);
case 'guild':