Esempio n. 1
0
        public static void LearnSkill(Client client, PacketIn packet)
        {
            byte skillId = packet.ReadByte();
            if(client.Character.Player.SkillPoints >= 1)
            {
                if(!client.Character.Skills.ContainsKey(skillId))
                {
                    using(ISession session = Server.Factory.OpenSession())
                    {
                        PlayerSkill skill = new PlayerSkill();
                        skill.Level       = 1;
                        skill.PlayerId    = client.Character.Player.PlayerId;
                        skill.SkillIndex  = (int)skillId;

                        client.Character.Skills[skillId] = skill;
                        client.Send(new Packets.SkillSet(skillId,(byte)1));

                        using(ITransaction transaction = session.BeginTransaction())
                        {
                            session.Save(skill);
                            transaction.Commit();
                        }
                    }
                    client.Character.Player.SkillPoints--;
                    client.Send(new Packets.ValueChange(0x18,(byte)client.Character.Player.SkillPoints));
                }
            }
        }
Esempio n. 2
0
 public void OnRequest(PlayerSkill skill, Character caster, Character target)
 {
 }
Esempio n. 3
0
 public void OnPassiveRemove(PlayerSkill skill, Character caster, byte level)
 {
 }
Esempio n. 4
0
 public void OnPassiveApply(PlayerSkill skill, Character caster, byte level)
 {
 }
Esempio n. 5
0
 public void OnExecute(PlayerSkill skill, Character caster, byte mode, byte level, Character target)
 {
 }