예제 #1
0
        public Task ModifySkill(Action <ModifySkillContext> action = null, bool exclRequest = false)
        {
            var context = new ModifySkillContext(Character);

            action?.Invoke(context);
            ValidateStat();
            using (var p = new OutPacket(GameSendOperations.ChangeSkillRecordResult))
            {
                p.Encode <bool>(exclRequest);
                context.Encode(p);
                p.Encode <bool>(true);
                return(SendPacket(p));
            }
        }
예제 #2
0
        public async Task ModifySkills(Action <IModifySkillContext> action = null, bool exclRequest = false)
        {
            var context = new ModifySkillContext(Character);

            action?.Invoke(context);
            await UpdateStats();

            var skillPacket = new UnstructuredOutgoingPacket(PacketSendOperations.ChangeSkillRecordResult);

            skillPacket.WriteBool(exclRequest);
            skillPacket.Write(context);
            skillPacket.WriteBool(true);

            await Dispatch(skillPacket);
        }