public void UpLevel()
        {
            var db = new skagryDataContext();

            var tblStructureTurn = db.GetTable <structure_turn>();

            int    charSkillLevel     = 0;
            double charSkillBaseValue = 0;

            // get character mods
            Character character = PlanetHelper.GetCharacter(PlanetId);

            if (null != character)
            {
                // todo get from character
                var charSkills = character.GetSkillLevels();

                charSkillLevel     = (int)charSkills["s16"];
                charSkillBaseValue = character.GetSkill("s16").GetValue();
            }

            var startDate = DateTime.UtcNow;

            var duration = GetTimePrice() * Math.Pow(GetLevelMod(), GetLevel());

            if (0 < charSkillLevel)
            {
                duration *= charSkillBaseValue * charSkillLevel;
            }

            var endDate = startDate.AddSeconds(duration);

            tblStructureTurn.InsertOnSubmit(new structure_turn
            {
                planet_id            = GetPlanetId(),
                structure_class_name = GetName(),
                next_level           = GetLevel() + 1,
                start_date           = startDate,
                end_date             = endDate
            });

            db.SubmitChanges();
        }
Esempio n. 2
0
        /// <summary>
        /// Получает максимальный обхем всего хранилища
        /// </summary>
        /// <returns>Максимальный обхем всего хранилища с учетом всех модификаторов</returns>
        public double GetResultValue()
        {
            int    charSkillLevel     = 0;
            double charSkillBaseValue = 0;

            // get character mods
            Character character = PlanetHelper.GetCharacter(PlanetId);

            if (null != character)
            {
                // todo get from character
                var charSkills = character.GetSkillLevels();

                charSkillLevel     = (int)charSkills["s12"];
                charSkillBaseValue = character.GetSkill("s12").GetValue();
            }

            return(BaseStorageValue * (Math.Pow(LevelMod, GetLevel() - 1) * ((charSkillLevel * charSkillBaseValue) + 1)));
        }