Exemple #1
0
        private static void HandleFirstSent(GameSession session, PacketReader packet)
        {
            long  skillSN    = packet.ReadLong();
            int   unkValue   = packet.ReadInt();
            int   skillId    = packet.ReadInt();
            short skillLevel = packet.ReadShort();

            packet.ReadByte();
            CoordF coords = packet.Read <CoordF>();

            packet.ReadShort();

            SkillCast skillCast = new SkillCast(skillId, skillLevel, skillSN, unkValue);
            int       skillCost = skillCast.GetCost();

            if (session.Player.Stats[PlayerStatId.Spirit].Current >= skillCost)
            {
                session.FieldPlayer.Value.SkillCast = skillCast;
                session.Player.ConsumeSp(skillCost);
                session.Send(SkillUsePacket.SkillUse(skillCast, coords));
                session.Send(StatPacket.SetStats(session.FieldPlayer));
            }
        }