Example #1
0
        public static InventoryItemModel TryCreateItem(int templateId, TaxCollector TCollector, int quantity = 1, short position = -1, string Stats = null, Boolean useMax = false)
        {
            if (!ItemTemplateTable.Cache.ContainsKey(templateId)) // Template inexistant
            {
                return(null);
            }

            // Recup template
            var Template = ItemTemplateTable.GetTemplate(templateId);

            // Creation

            var Item = new InventoryItemModel()
            {
                ID         = DatabaseCache.nextItemGuid++,
                TemplateID = templateId,
                Position   = position,
                Quantity   = quantity,
                Effects    = (Stats == null ? Template.GenerateStats().ToItemStats() : Stats)
            };

            Item.GetStats();

            // Ajout de l'item dans l'inventaire
            TCollector.Items.Add(Item.ID, Item);
            addItem(Item, true);

            return(Item);
        }
Example #2
0
        public static void Load()
        {
            ObjTemplateByMount.Clear();
            StatsByMount.Clear();
            var reader = DatabaseManager.Provider.ExecuteReader("SELECT * FROM static_mounts");

            while (reader.Read())
            {
                ObjTemplateByMount.Add(reader.GetInt32("id"), ItemTemplateTable.GetTemplate(reader.GetInt32("scrollID")));
                try
                {
                    List <Couple <int, Double> > _stats = new List <Couple <int, Double> >();
                    foreach (String stat in Regex.Split(reader.GetString("stats"), "\\|"))
                    {
                        String[]             infos = stat.Split('=');
                        Couple <int, Double> c     = new Couple <int, Double>(int.Parse(infos[0]), (infos.Length > 1 ? double.Parse(infos[1], CultureInfo.InvariantCulture) : 0));
                        _stats.Add(c);
                    }
                    StatsByMount.Add(reader.GetInt32("id"), _stats);
                }
                catch (Exception e)
                {
                    Logger.Error(e);
                }
            }
            reader.Close();

            Logger.Info("Loaded @'" + ObjTemplateByMount.Count + "'@ Mount");
        }
Example #3
0
        public static InventoryItemModel TryCreateItem(int templateId, Player Character, int quantity = 1, short position = -1, string Stats = null, Boolean useMax = false)
        {
            if (!ItemTemplateTable.Cache.ContainsKey(templateId)) // Template inexistant
            {
                return(null);
            }

            // Recup template
            var Template = ItemTemplateTable.GetTemplate(templateId);

            // Creation

            var Item = new InventoryItemModel()
            {
                ID         = DatabaseCache.nextItemGuid++,
                TemplateID = templateId,
                Position   = position,
                Quantity   = quantity,
                Effects    = (Stats == null ? (Template.Type == 113 ? Template.StatsTemplate : Template.GenerateStats(useMax).ToItemStats()) : Stats)
            };

            Item.GetStats();

            // Ajout de l'item dans l'inventaire
            if (Character.InventoryCache.Add(Item))
            {
                addItem(Item, true);
            }
            return(Item);
        }