feat:黄芪酒馆红点

This commit is contained in:
xichaoyin 2024-01-11 20:52:49 +08:00
parent 561954de17
commit a600998fd3
7 changed files with 74 additions and 2 deletions

View File

@ -37,4 +37,6 @@ export default async function (call: ApiCall<ReqFight, ResFight>) {
up && await HQJGFun.setMyData(call.uid, call.req.hdid, { bossres: mydata.bossres }); up && await HQJGFun.setMyData(call.uid, call.req.hdid, { bossres: mydata.bossres });
call.succ({ data: mydata, result: result }); call.succ({ data: mydata, result: result });
G.server.sendMsgByUid(call.uid, "msg_s2c/HongDianChange", ["huodonghd"])
} }

View File

@ -39,4 +39,6 @@ export default async function (call: ApiCall<ReqGiftRec, ResGiftRec>) {
await HQJGFun.setMyData(call.uid, call.req.hdid, { giftbuy: mydata.giftbuy }); await HQJGFun.setMyData(call.uid, call.req.hdid, { giftbuy: mydata.giftbuy });
call.succ({ data: mydata, prize: prize }) call.succ({ data: mydata, prize: prize })
G.server.sendMsgByUid(call.uid, "msg_s2c/HongDianChange", ["huodonghd"])
} }

View File

@ -43,4 +43,6 @@ export default async function (call: ApiCall<ReqRecDpsPrize, ResRecDpsPrize>) {
} }
call.succ({ data: mydata, prize: prize }) call.succ({ data: mydata, prize: prize })
G.server.sendMsgByUid(call.uid, "msg_s2c/HongDianChange", ["huodonghd"])
} }

View File

@ -49,4 +49,6 @@ export default async function (call: ApiCall<ReqTaskRec, ResTaskRec>) {
await HQJGFun.setMyData(call.uid, call.req.hdid, mydata); await HQJGFun.setMyData(call.uid, call.req.hdid, mydata);
call.succ({ data: mydata, prize: prize }); call.succ({ data: mydata, prize: prize });
G.server.sendMsgByUid(call.uid, "msg_s2c/HongDianChange", ["huodonghd"])
} }

View File

@ -39,4 +39,6 @@ export default async function (call: ApiCall<ReqZhaoMuPrizeRec, ResZhaoMuPrizeRe
await HQJGFun.setMyData(call.uid, call.req.hdid, { zhaomu: mydata.zhaomu }); await HQJGFun.setMyData(call.uid, call.req.hdid, { zhaomu: mydata.zhaomu });
call.succ({ prize: prize, data: mydata }) call.succ({ prize: prize, data: mydata })
G.server.sendMsgByUid(call.uid, "msg_s2c/HongDianChange", ["huodonghd"])
} }

View File

@ -334,7 +334,11 @@ export default class HQJGFun {
if (!tasks) return if (!tasks) return
await this.getMydata(call, hd.hdid) let mydata = await this.getMydata(call, hd.hdid);
if (!mydata.task.val[`day${today}`]) {
mydata.task.val[`day${today}`] = {}
}
let isset = 0; let isset = 0;
let setData = { let setData = {
@ -354,8 +358,10 @@ export default class HQJGFun {
isset = 1 isset = 1
if (isinc == 1) { // 累加 if (isinc == 1) { // 累加
mydata.task.val[`day${today}`][taskid] = (mydata.task.val[`day${today}`][taskid] || 0) + val
setData["$inc"][`task.val.day${today}.${taskid}`] = val setData["$inc"][`task.val.day${today}.${taskid}`] = val
} else { } else {
mydata.task.val[`day${today}`][taskid] = val
setData["$set"][`task.val.day${today}.${taskid}`] = val setData["$set"][`task.val.day${today}.${taskid}`] = val
} }
} }
@ -363,6 +369,10 @@ export default class HQJGFun {
// 设置任务 // 设置任务
if (isset == 1) { if (isset == 1) {
await G.mongodb.collection('event').updateOne({ uid: call.uid, type: this.dataType(hd.hdid) }, setData) await G.mongodb.collection('event').updateOne({ uid: call.uid, type: this.dataType(hd.hdid) }, setData)
if ((await this.getHongDian(call, hd, mydata)).show) {
G.server.sendMsgByUid(call.uid, "msg_s2c/HongDianChange", ["huodonghd"])
}
} }
} }
@ -406,4 +416,51 @@ export default class HQJGFun {
await PlayerFun.sendPrize(call, prize) await PlayerFun.sendPrize(call, prize)
await this.setMyData(call.uid, hd.hdid, { giftbuy: mydata.giftbuy }); await this.setMyData(call.uid, hd.hdid, { giftbuy: mydata.giftbuy });
} }
}
static async getHongDian(call: ApiCall, hd: ReqAddHuoDong, mydata?: PlayerData) {
let hdid = hd.hdid;
let hddata = hd.data as Data;
mydata = mydata || await this.getMydata(call, hdid);
// 当黄旗招募存在可领取的可选奖励时
for (let i = 0; i < hddata.choukajiangli.length; i++) {
let ele = hddata.choukajiangli[i];
if (mydata.zhaomu.num >= ele.num && !mydata.zhaomu.prize.includes(i)) {
return { show: true }
}
}
let today = this.today(hd);
// 当今日没有进行boss挑战时
if (!mydata.bossres.todaydps[today]) {
return { show: true }
}
// 当每日任务界面存在可领取的任务奖励时
for (let day = 1; day <= today; day++) {
for (let taskid in hddata.task[`day${day}`]) {
let task = hddata.task[`day${day}`][taskid];
if (mydata.task.val[`day${day}`][taskid] >= task.pval && !mydata.task.rec[`day${day}`].includes(Number(taskid))) {
return { show: true }
}
}
}
// 当干部挑战界面存在可领取的挑战任务奖励时
for (let mb of hddata.bossTask) {
if (mb.need <= mydata.bossres.maxdps && !mydata.bossres.recdpstask.includes(mb.id)) {
return { show: true }
}
}
// 当存在可以领取的免费礼包时
for (let gift of hddata.gift) {
if (gift.free && (mydata.giftbuy[gift.id]?.num || 0) < gift.buynum) {
return { show: true }
}
}
return { show: false }
}
}

View File

@ -21,6 +21,7 @@ import kfjsFun from "../../public/kaifujingsai";
import {RankKfjs} from "../../public/rank/rank_kfjs"; import {RankKfjs} from "../../public/rank/rank_kfjs";
import {ShopFun} from "../../public/shop"; import {ShopFun} from "../../public/shop";
import {Christmasfun} from '../event/christmas/fun'; import {Christmasfun} from '../event/christmas/fun';
import HQJGFun from '../event/huangqijiuguan/fun';
export class HongDianFun { export class HongDianFun {
/**黑榜争霸红点 */ /**黑榜争霸红点 */
@ -352,6 +353,10 @@ export class HuoDongHongDianFun {
// 检测 htype 10 元旦活动红点 // 检测 htype 10 元旦活动红点
ishd = await this.yuandan(call, element) ishd = await this.yuandan(call, element)
} }
if (element.htype == 15) {
// 检测 htype 15 黄芪酒馆活动红点
ishd = await HQJGFun.getHongDian(call, element)
}
// 此活动有红点 // 此活动有红点
if (ishd.show) { if (ishd.show) {