xy-server/game/activity/HongBao2.ts
2025-04-23 09:34:08 +08:00

53 lines
1.7 KiB
TypeScript

import PlayerMgr from "../object/PlayerMgr";
import ActivityBase from "./ActivityBase";
import ActivityDefine from "./ActivityDefine";
import NoticeMgr from "../core/NoticeMgr";
import GameUtil from "../core/GameUtil";
import { MsgCode } from "../role/EEnum";
export default class HongBao2 extends ActivityBase {
state:any;
constructor(){
super();
this.activity_id = ActivityDefine.activityKindID.HongBao;
this.open_type = ActivityDefine.openType.DateTime;
this.is_ready_notice = false;
this.open_type_list = [20190218, 20190219];
this.player_list = {}; //已经领过的玩家列表
}
onNewHour(){
if(this.state != ActivityDefine.activityState.Opening){
return;
}
this.player_list = {};
PlayerMgr.shared.broadcast('s2c_hongbao_open');
}
playerOpenHongbao(roleid:any){
let player = PlayerMgr.shared.getPlayerByRoleId(roleid,"红包2:");
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 = 888;
let randjade = GameUtil.random(1, maxjade);
player.addMoney(1, randjade, '元宵红包');
if(randjade > (maxjade / 2)){
NoticeMgr.shared.sendNotice({
type: 2,
text: `${player.name} 获得了元宵红包, ${randjade}仙玉`,
})
}
player.send('s2c_hongbao_result',{
errorcode:MsgCode.SUCCESS,
});
}
}