✨ feat(活动): 小游戏添加任务
This commit is contained in:
@@ -260,4 +260,9 @@ export enum BIND_PHONE_STATUS {
|
||||
WAIT_BIND = 0, // 待绑定
|
||||
HAS_BIND = 1, // 已绑定待领取
|
||||
RECEIVED = 2, // 已领取
|
||||
}
|
||||
|
||||
export enum MINI_GAME_TYPE {
|
||||
ERASE = 1, // 消消乐
|
||||
SHOOT = 2, // 射箭
|
||||
}
|
||||
@@ -853,6 +853,8 @@ export enum TASK_TYPE {
|
||||
GVG_FARM = 132, // 农庄种植/矿山采集/木堆砍柴
|
||||
GVG_VESTIGE = 133, // 中原遗迹挑战
|
||||
GVG_TECH = 134, // 千机阁捐献
|
||||
MINI_GAME_SHOOT = 135, // 单局射箭获得X分
|
||||
MINI_GAME_ERASE = 136, // 单局翻牌不超出X步
|
||||
}
|
||||
|
||||
// 任务累积类型
|
||||
|
||||
@@ -16,6 +16,9 @@ export default class Activity_MiniGame_Rec extends BaseModel {
|
||||
@prop({ required: true })
|
||||
activityId: number; // 活动Id
|
||||
|
||||
@prop({ required: true })
|
||||
gameType: number; // 小游戏类型
|
||||
|
||||
@prop({ required: true })
|
||||
roundIndex: number; // 第几轮
|
||||
|
||||
@@ -34,6 +37,9 @@ export default class Activity_MiniGame_Rec extends BaseModel {
|
||||
@prop({ required: true })
|
||||
isComplete: boolean; // 是否结束
|
||||
|
||||
@prop({ required: true, type: Number, default:[] })
|
||||
params: number[]; // 是否结束
|
||||
|
||||
public static async findRecords(serverId: number, activityId: number, roundIndex: number, roleId: string) {
|
||||
let result: ActivityMiniGameRecModelType[] = await ActivityMiniGameRecModel.find({ serverId, roleId, activityId, roundIndex, isComplete: true }).lean();
|
||||
return result;
|
||||
@@ -44,14 +50,14 @@ export default class Activity_MiniGame_Rec extends BaseModel {
|
||||
return result;
|
||||
}
|
||||
|
||||
public static async gameStart(serverId: number, activityId: number, roundIndex: number, todayIndex: number, roleId: string) {
|
||||
public static async gameStart(serverId: number, activityId: number, roundIndex: number, todayIndex: number, roleId: string, gameType: number) {
|
||||
let gameCode = genCode(10);
|
||||
let result: ActivityMiniGameRecModelType = await ActivityMiniGameRecModel.findOneAndUpdate({ gameCode }, { $set: { serverId, activityId, roundIndex, todayIndex, roleId, score: 0, isComplete: false } }, { new: true, upsert: true }).lean();
|
||||
let result: ActivityMiniGameRecModelType = await ActivityMiniGameRecModel.findOneAndUpdate({ gameCode }, { $set: { serverId, activityId, roundIndex, todayIndex, roleId, score: 0, isComplete: false, gameType } }, { new: true, upsert: true }).lean();
|
||||
return result;
|
||||
}
|
||||
|
||||
public static async gameEnd(activityId: number, roleId: string, gameCode: string, score: number) {
|
||||
let result: ActivityMiniGameRecModelType = await ActivityMiniGameRecModel.findOneAndUpdate({ activityId, roleId, gameCode, isComplete: false }, { $set: { score, isComplete: true } }, { new: true }).lean();
|
||||
public static async gameEnd(activityId: number, roleId: string, gameCode: string, score: number, params: number[]) {
|
||||
let result: ActivityMiniGameRecModelType = await ActivityMiniGameRecModel.findOneAndUpdate({ activityId, roleId, gameCode, isComplete: false }, { $set: { score, isComplete: true, params } }, { new: true }).lean();
|
||||
return result;
|
||||
}
|
||||
}
|
||||
|
||||
@@ -61,6 +61,9 @@ export class TaskParamInter {
|
||||
|
||||
skipTower?: boolean;
|
||||
debugInfo?: {condition: number};
|
||||
|
||||
score?: number; // 小游戏得分
|
||||
step?: number; // 步数
|
||||
};
|
||||
|
||||
export class TaskParam extends TaskParamInter {
|
||||
|
||||
@@ -345,14 +345,19 @@ export const ACTIVITY = {
|
||||
LOOPACTIVITYRATIO: 0.9, // 糜家商队循环活动小兵倍率
|
||||
LOOPACTIVITYRATIO_SZTM: 0.9, // 神州探秘循环活动小兵倍率
|
||||
ACTIVITY_ZHUMING_CAST_NUMLIMIT: 12, // 朱明集会神兵铸造材料数量总上限
|
||||
ACTIVITY_FLIPCARD_SCORE: '1&10|33&8|41&7|51&6|57&5', // 翻拍小游戏的得分规则(min&socre)区间下限至下一档之间的得分
|
||||
ACTIVITY_ARCHERY_SCORE: '0&1|1&2|2&3|3&3|4&4|5&5|6&6|7&7|8&8|9&9|10&12', // 射箭小游戏中的环数以及对应得分,环数&得分
|
||||
ACTIVITY_FLIPCARD_SCORE: '1&50|21&30|25&25|29&15', // 翻拍小游戏的得分规则(min(含)&socre)区间下限至下一档之间的得分
|
||||
ACTIVITY_ARCHERY_SCORE: '0&0|1&1|2&1|3&1|4&1|5&1|6&1|7&2|8&3|9&4|10&5', // 射箭小游戏中的环数以及对应得分,环数(含)&得分
|
||||
ACTIVITY_EATTING_RICEDUMPLING_SPINE_POINT: '30&0&-5|80&1&-6|100&2&-7', // 进度阶段上限&额外加分&该阶段每0.1s进度条减少进度
|
||||
ACTIVITY_EATTING_RICEDUMPLING_TOTALCOUNT: 12, // 一个粽子图片=点击X下
|
||||
ACTIVITY_EATTING_RICEDUMPLING_COUNTDOWN: 20, // 张飞吃粽子游戏倒计时(秒)
|
||||
ACTIVITY_EATTING_RICEDUMPLING_PROGRESS_SPEED: 15, // 点击1下进度条增加进度
|
||||
ACTIVITY_EATTING_RICEDUMPLING_PROGRESS_KEYPOINT: '30&80', // 张飞吃粽子进度条达到x进入狂暴模式动画
|
||||
ACTIVITY_EATTING_RICEDUMPLING_ROBOT_SPEED: '4.2&3.5', // 机器人每X秒少一个粽子图片/每X秒少一个粽子图片
|
||||
ACTIVITY_ARCHERY_SCORE_EXTRADD: '2&2&一箭双雕|3&4&连中三元|4&8&箭无虚发|5&16&百发百中', // 连续X次10环&额外加分&文字提示
|
||||
ACTIVITY_ARCHERY_ONCE_NUM: 5, // 一轮射箭可射几箭
|
||||
ACTIVITY_CATCH_ZONGZI_COUNTDOWN: 20, // 接粽子游戏倒计时(秒)
|
||||
ACTIVITY_CATCH_ZONGZI_PERSCREEN_COUNT: 10, // 接粽子小游戏一次掉落的粽子总数
|
||||
ACTIVITY_CATCH_ZONGZI_TYPE_RATIO: '1&0.8&1|2&0.2&2', // 粽子类型&掉落比例系数&得分 小粽子type=1 大粽子type=2
|
||||
};
|
||||
export const BATTLE_PREPARING = {
|
||||
CHANGE_ORDER_OPEN: 109, // 出兵界面行动顺序按钮开启关卡
|
||||
@@ -368,7 +373,7 @@ export const RECHARGE = {
|
||||
RECHARGE_RMB_RETURN_LEVEL_LIMITED: 6, // 角色到达x级后可以收到充值返还邮件
|
||||
};
|
||||
export const MINIGAME = {
|
||||
MINIGAME_ARCHER_RANGE: '0&100|29&80|69&60|104&40|143&20|177&0', // 射箭小游戏圈数积分
|
||||
MINIGAME_ARCHER_RANGE: '0&10|29&9|69&8|104&7|143&6|177&0', // 射箭小游戏圈圆心距离和环数 圆心距离(含)&环数
|
||||
MINIGAME_FLIPCARD_TYPE: 'baihe|guyuan|hongdou|huasheng|lianzi|nuomi|yimi|zao', // 翻牌游戏资源
|
||||
};
|
||||
export const JEWEL = {
|
||||
@@ -429,8 +434,8 @@ export const GVG = {
|
||||
GVG_REVIVE_GOLD: '1&100|2&100|3&100|4&100|5&100|6&100|7&100|8&100|9&100|10&100|11&200', // GVG激战期元宝购买复活的消耗,次数&元宝数
|
||||
GVG_VESTIGE_CHALLENGE_TIME: '5:00:00&22:00:00', // 征战中原遗迹可挑战时间
|
||||
GVG_DEFAULT_BATTLE_CD: 20, // 激战期战斗锁定时长,用于玩家退出时获取不到数据的情况
|
||||
GVG_VESTIGE_BUY_COST: "31002&200", // 每次购买消耗
|
||||
GVG_VESTIGE_BUY_LIMIT: 10, // 每日上限
|
||||
GVG_VESTIGE_BUY_COST: '31002&200', // 单人遗迹购买挑战每次消耗
|
||||
GVG_VESTIGE_BUY_LIMIT: 10, // 单人遗迹购买挑战次数每日上限
|
||||
};
|
||||
export const PLATFORM_CONFIG = {
|
||||
OPEN_ANIMATION: 1, // 0关,1开(开场动画视频)
|
||||
|
||||
@@ -1138,5 +1138,25 @@
|
||||
"content": 0,
|
||||
"condition": "count",
|
||||
"sumType": 2
|
||||
},
|
||||
{
|
||||
"id": 135,
|
||||
"name": "小游戏",
|
||||
"info": "单局射箭获得X分(大于等于均可)",
|
||||
"param": "score&count",
|
||||
"string": "得分&达成次数",
|
||||
"content": "(大于等于均可)",
|
||||
"condition": "count",
|
||||
"sumType": 2
|
||||
},
|
||||
{
|
||||
"id": 136,
|
||||
"name": "小游戏",
|
||||
"info": "单局翻牌不超出X步 (小于等于均可)",
|
||||
"param": "step&count",
|
||||
"string": "步数&达成次数",
|
||||
"content": "(小于等于均可)",
|
||||
"condition": "count",
|
||||
"sumType": 2
|
||||
}
|
||||
]
|
||||
Reference in New Issue
Block a user