public void CMissionScoreReq(GameSession session, CMissionScoreReqMessage message) { session.SendAsync(new SMissionScoreAckMessage { Unk1 = session.Player.Account.Id, Unk2 = message.Unk }); session.SendAsync(new SMissionNotifyAckMessage { Unk = message.Unk }); }
[Firewall(typeof(MustBeTimeState), GameTimeState.HalfTime, Invert = true)] // Must not be half time public Task <bool> OnHandle(MessageContext context, CMissionScoreReqMessage message) { var session = context.GetSession <Session>(); var plr = session.Player; var room = plr.Room; if (plr.State != PlayerState.Alive) { return(Task.FromResult(true)); } room.GameRule.OnScoreMission(plr); return(Task.FromResult(true)); }