Example #1
0
 public static LearnSpell Create()
 {
     LearnSpell Packet = new LearnSpell();
     Packet.Size = 0x0C;
     Packet.Type = 0x44F;
     return Packet;
 }
Example #2
0
        public static LearnSpell Create()
        {
            LearnSpell Packet = new LearnSpell();

            Packet.Size = 0x0C;
            Packet.Type = 0x44F;
            return(Packet);
        }
Example #3
0
 private bool UpdateSpell(GameClient Client, LearnSpell Spell)
 {
     SQLiteCommand Command = GetConnection().CreateCommand();
     Command.CommandText = "UPDATE Spells SET ID = @ID, Level = @Level WHERE ClientID = @UID AND ID = @ID;";
     Command.Parameters.Add("@ID", DbType.Int32).Value = Spell.ID;
     Command.Parameters.Add("@UID", DbType.Int32).Value = Client.UID;
     Command.Parameters.Add("@Level", DbType.Int32).Value = Spell.Level;
     return Command.ExecuteNonQuery() >= 1;
 }
Example #4
0
 private bool InsertSpell(GameClient Client, LearnSpell Spell)
 {
     SQLiteCommand Command = GetConnection().CreateCommand();
     Command.CommandText = "INSERT INTO Spells(ClientID, ID, Level) VALUES(@UID, @ID, @Level);";
     Command.Parameters.Add("@UID", DbType.Int32).Value = Client.UID;
     Command.Parameters.Add("@ID", DbType.Int32).Value = Spell.ID;
     Command.Parameters.Add("@Level", DbType.Int32).Value = Spell.Level;
     return Command.ExecuteNonQuery() >= 1;
 }
Example #5
0
        private bool InsertSpell(GameClient Client, LearnSpell Spell)
        {
            SQLiteCommand Command = GetConnection().CreateCommand();

            Command.CommandText = "INSERT INTO Spells(ClientID, ID, Level) VALUES(@UID, @ID, @Level);";
            Command.Parameters.Add("@UID", DbType.Int32).Value   = Client.UID;
            Command.Parameters.Add("@ID", DbType.Int32).Value    = Spell.ID;
            Command.Parameters.Add("@Level", DbType.Int32).Value = Spell.Level;
            return(Command.ExecuteNonQuery() >= 1);
        }
Example #6
0
        private bool UpdateSpell(GameClient Client, LearnSpell Spell)
        {
            SQLiteCommand Command = GetConnection().CreateCommand();

            Command.CommandText = "UPDATE Spells SET ID = @ID, Level = @Level WHERE ClientID = @UID AND ID = @ID;";
            Command.Parameters.Add("@ID", DbType.Int32).Value    = Spell.ID;
            Command.Parameters.Add("@UID", DbType.Int32).Value   = Client.UID;
            Command.Parameters.Add("@Level", DbType.Int32).Value = Spell.Level;
            return(Command.ExecuteNonQuery() >= 1);
        }
Example #7
0
        public void LoadSpells(GameClient Client)
        {
            SQLiteCommand Command = GetConnection().CreateCommand();

            Command.CommandText = "SELECT * FROM Spells WHERE ClientID = @UID;";
            Command.Parameters.Add("@UID", DbType.Int32).Value = Client.UID;

            LearnSpell Spell;

            SQLiteDataReader Reader = Command.ExecuteReader();

            while (Reader.Read())
            {
                Spell       = LearnSpell.Create();
                Spell.ID    = Convert.ToUInt16(Reader["ID"]);
                Spell.Level = Convert.ToUInt16(Reader["Level"]);

                Client.LearnSpell(Spell);
            }
            Reader.Close();
        }
Example #8
0
        public CommandAction Process(GameClient Client, string[] Input)
        {
            string From    = Input[0];
            string To      = Input[1];
            string Message = Input[3];

            string[] Command = Message.Split(' ');


            CommandAction Action = CommandAction.None;

            if (Command[0].StartsWith("@"))
            {
                Action = CommandAction.Processed;
            }

            try
            {
                switch (Command[0])
                {
                case "@quit":
                {
                    Client.Disconnect();
                } break;

                case "@mm":
                {
                    ushort MapID = ushort.Parse(Command[1]);
                    ushort X     = ushort.Parse(Command[2]);
                    ushort Y     = ushort.Parse(Command[3]);

                    Client.Teleport(MapID, X, Y);
                } break;

                case "@gold":
                {
                    Client.Entity.Money = uint.Parse(Command[1]);
                } break;

                case "@item":
                {
                    if (Command.Length > 2)
                    {
                        ConquerItem Item = new ConquerItem(Client, Database.GetItemDetail(Command[1], Command[2]));
                        Item.Position = ItemPosition.Inventory;
                        if (Command.Length > 3)
                        {
                            Item.Plus = byte.Parse(Command[3]);
                            if (Command.Length > 4)
                            {
                                Item.SocketOne = byte.Parse(Command[4]);
                                if (Command.Length > 5)
                                {
                                    Item.SocketTwo = byte.Parse(Command[5]);
                                }
                            }
                        }
                        Client.AddInventory(Item);
                    }
                } break;

                case "@prof":
                {
                    LearnProfiency Profiency = LearnProfiency.Create();
                    Profiency.ID    = uint.Parse(Command[1]);
                    Profiency.Level = uint.Parse(Command[2]);
                    Client.LearnProfiency(Profiency);
                } break;

                case "@spell":
                {
                    LearnSpell Spell = LearnSpell.Create();
                    Spell.ID    = ushort.Parse(Command[1]);
                    Spell.Level = ushort.Parse(Command[2]);
                    Client.LearnSpell(Spell);
                } break;

                case "@job":
                {
                    Client.Entity.Class = byte.Parse(Command[1]);

                    Client.Entity.BeginStatusUpdates();
                    Client.Entity.AddStatusUpdate(StatusUpdateEntry.Create(ConquerStatusIDs.Job, Client.Entity.Class));
                    Client.Entity.EndStatusUpdates();
                } break;

                case "@str":
                {
                    byte Strength = byte.Parse(Command[1]);
                    if (Strength <= Client.Entity.StatusPoints.Free)
                    {
                        Client.Entity.StatusPoints.Strength += Strength;
                        Client.Entity.StatusPoints.Free     -= Strength;

                        Client.Entity.BeginStatusUpdates();
                        Client.Entity.AddStatusUpdate(StatusUpdateEntry.Create(ConquerStatusIDs.StatPoints, Client.Entity.StatusPoints.Free));
                        Client.Entity.AddStatusUpdate(StatusUpdateEntry.Create(ConquerStatusIDs.Strength, Client.Entity.StatusPoints.Strength));
                        Client.Entity.EndStatusUpdates();
                    }
                } break;

                case "@vit":
                {
                    byte Vitality = byte.Parse(Command[1]);
                    if (Vitality <= Client.Entity.StatusPoints.Free)
                    {
                        Client.Entity.StatusPoints.Vitality += Vitality;
                        Client.Entity.StatusPoints.Free     -= Vitality;

                        Client.Entity.BeginStatusUpdates();
                        Client.Entity.AddStatusUpdate(StatusUpdateEntry.Create(ConquerStatusIDs.StatPoints, Client.Entity.StatusPoints.Free));
                        Client.Entity.AddStatusUpdate(StatusUpdateEntry.Create(ConquerStatusIDs.Vitality, Client.Entity.StatusPoints.Vitality));
                        Client.Entity.EndStatusUpdates();
                    }
                } break;

                case "@dex":
                {
                    byte Dexterity = byte.Parse(Command[1]);
                    if (Dexterity <= Client.Entity.StatusPoints.Free)
                    {
                        Client.Entity.StatusPoints.Dexterity += Dexterity;
                        Client.Entity.StatusPoints.Free      -= Dexterity;

                        Client.Entity.BeginStatusUpdates();
                        Client.Entity.AddStatusUpdate(StatusUpdateEntry.Create(ConquerStatusIDs.StatPoints, Client.Entity.StatusPoints.Free));
                        Client.Entity.AddStatusUpdate(StatusUpdateEntry.Create(ConquerStatusIDs.Agility, Client.Entity.StatusPoints.Dexterity));
                        Client.Entity.EndStatusUpdates();
                    }
                } break;

                case "@spi":
                {
                    byte Spirit = byte.Parse(Command[1]);
                    if (Spirit <= Client.Entity.StatusPoints.Free)
                    {
                        Client.Entity.StatusPoints.Spirit += Spirit;
                        Client.Entity.StatusPoints.Free   -= Spirit;

                        Client.Entity.BeginStatusUpdates();
                        Client.Entity.AddStatusUpdate(StatusUpdateEntry.Create(ConquerStatusIDs.StatPoints, Client.Entity.StatusPoints.Free));
                        Client.Entity.AddStatusUpdate(StatusUpdateEntry.Create(ConquerStatusIDs.Spirit, Client.Entity.StatusPoints.Spirit));
                        Client.Entity.EndStatusUpdates();
                    }
                } break;

                case "@free":
                {
                    Client.Entity.StatusPoints.Free      = 397;
                    Client.Entity.StatusPoints.Dexterity = 0;
                    Client.Entity.StatusPoints.Spirit    = 0;
                    Client.Entity.StatusPoints.Strength  = 0;
                    Client.Entity.StatusPoints.Vitality  = 0;

                    Client.Entity.BeginStatusUpdates();
                    Client.Entity.AddStatusUpdate(StatusUpdateEntry.Create(ConquerStatusIDs.StatPoints, Client.Entity.StatusPoints.Free));
                    Client.Entity.AddStatusUpdate(StatusUpdateEntry.Create(ConquerStatusIDs.Spirit, Client.Entity.StatusPoints.Spirit));
                    Client.Entity.AddStatusUpdate(StatusUpdateEntry.Create(ConquerStatusIDs.Agility, Client.Entity.StatusPoints.Dexterity));
                    Client.Entity.AddStatusUpdate(StatusUpdateEntry.Create(ConquerStatusIDs.Vitality, Client.Entity.StatusPoints.Vitality));
                    Client.Entity.AddStatusUpdate(StatusUpdateEntry.Create(ConquerStatusIDs.Strength, Client.Entity.StatusPoints.Strength));
                    Client.Entity.EndStatusUpdates();
                } break;

                case "@reload_npc":
                {
                    return(CommandAction.ClearNpcScripts);
                }
                }
            }
            catch (Exception exception)
            {
                Client.Message(exception.Message, ChatType.Top, Color.White);
                Console.WriteLine(exception.ToString());
            }
            return(Action);
        }