public void WriteRobotPrices()
        {
            foreach (var ed in _entityDefaultReader.GetAll().GetByCategoryFlags(CategoryFlags.cf_robots))
            {
                var robotTemplate = _robotTemplateRelations.GetRelatedTemplate(ed);
                if (robotTemplate == null)
                {
                    continue;
                }

                var robot = robotTemplate.Build();

                var avg = PriceCalculator.GetAveragePrice(robot);
                if (avg <= 0)
                {
                    continue;
                }

                var res = Db.Query().CommandText("insert marketaveragesbycomponent (definition,price) values (@definition,@price)")
                          .SetParameter("@definition", ed.Definition)
                          .SetParameter("@price", avg)
                          .ExecuteNonQuery();

                if (res != 1)
                {
                    Logger.Error("error in WriteRobotPrices");
                    return;
                }
            }
        }
Exemplo n.º 2
0
        private int GetRepairPrice(Character character, Item item)
        {
            var finalRatio = GetRepairRatio(character);

            return((int)((1 - Math.Min(1, item.HealthRatio)) * PriceCalculator.GetAveragePrice(item) * finalRatio));
        }