2025-04-23 09:34:08 +08:00

56 lines
1.7 KiB
TypeScript

import PlayerMgr from "../object/PlayerMgr";
import ActivityBase from "./ActivityBase";
import ActivityDefine from "./ActivityDefine";
import NoticeMgr from "../core/NoticeMgr";
import SKDataUtil from "../gear/SKDataUtil";
import { MsgCode } from "../role/EEnum";
export default class HongBao extends ActivityBase {
constructor() {
super();
this.activity_id = ActivityDefine.activityKindID.HongBao;
this.open_type = ActivityDefine.openType.DateTime;
this.is_ready_notice = false;
this.open_type_list = [20190329, 20190401];
this.player_list = {}; //已经领过的玩家列表
this.init();
}
onNewHour() {
if (this.activity_state != ActivityDefine.activityState.Opening) {
return;
}
this.player_list = {};
PlayerMgr.shared.broadcast('s2c_hongbao_open');
}
playerOpenHongbao(roleid: any) {
let player = PlayerMgr.shared.getPlayerByRoleId(roleid,"红包:");
if (player == null) {
return;
}
if (this.player_list[roleid] != null) {
player.send('s2c_hongbao_result', {
errorcode: MsgCode.HONGBAO_GET_YET,
});
return;
}
this.player_list[roleid] = 1;
let maxjade = 88;
let randjade = SKDataUtil.random(1, maxjade);
player.addMoney(1, randjade, '愚人节红包',MsgCode.SUCCESS);
if (randjade > (maxjade / (3 * 2))) {
NoticeMgr.shared.sendNotice({
type: 2,
text: `${player.name} 获得了愚人节红包, ${randjade}仙玉`,
})
}
player.send('s2c_hongbao_result', {
errorcode: MsgCode.SUCCESS,
});
}
}