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(); }
/// <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))); }