56 lines
1.7 KiB
TypeScript
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,
|
|
});
|
|
}
|
|
} |