private void SetAllUserItems(object returnValue) { Kongregate.m_Items = returnValue.ToString(); string[] array = (!string.IsNullOrEmpty(Kongregate.m_Items)) ? Kongregate.m_Items.Split(new char[] { ',' }) : new string[0]; if (array.Length == 0) { return; } StringBuilder stringBuilder = new StringBuilder("You got your bought items back:\n"); int num = 1; string[] array2 = array; for (int i = 0; i < array2.Length; i++) { string itemId = array2[i]; stringBuilder.Append(num + ". " + App.State.PremiumBoni.GetItemNameAndAddItem(itemId, Purchase.None)).Append("\n"); num++; } string value = stringBuilder.ToString(); if (!string.IsNullOrEmpty(value)) { GuiBase.ShowBigMessage(stringBuilder.ToString()); } }
private void SetUserItems(object returnValue) { Kongregate.m_Items = returnValue.ToString(); string[] array = (!string.IsNullOrEmpty(Kongregate.m_Items)) ? Kongregate.m_Items.Split(new char[] { ',' }) : new string[0]; StringBuilder stringBuilder = new StringBuilder(); int num = 1; string[] array2 = array; for (int i = 0; i < array2.Length; i++) { string arg = array2[i]; stringBuilder.Append(num + ". " + arg).Append("\n"); num++; } string text = string.Empty; if (array.Length > App.State.PremiumBoni.TotalItemsBought) { text = App.State.PremiumBoni.GetItemNameAndAddItem(App.State.PremiumBoni.ItemToPurchase, Purchase.None); } App.State.PremiumBoni.TotalItemsBought = array.Length; Kongregate.IsWaitingForPurchase = false; if (!string.IsNullOrEmpty(text)) { App.SaveGameState(); GuiBase.ShowBigMessage("Thank you for your purchase!\n" + text); } else { int num2 = App.State.KredProblems.Check(); if (num2 > 0) { GuiBase.ShowBigMessage("Thank you for your purchase!\nYou received " + num2 + " god power."); } } }
public static string SaveGameState(GameState state, string filename) { if (string.IsNullOrEmpty(filename)) { filename = "AutoSave"; } string text = Storage.ToCompressedString(state); try { if (App.CurrentPlattform == Plattform.Steam) { if (!filename.EndsWith(".txt")) { filename += ".txt"; } string text2 = Application.dataPath + "\\Saves\\"; if (!"ManualSave.txt".Equals(filename)) { text2 = Application.persistentDataPath + "\\ItRtG_Steam_\\"; } if (!Directory.Exists(text2)) { Directory.CreateDirectory(text2); } Log.Info("Game saved to: " + text2 + filename); File.WriteAllText(text2 + filename, text); } else { PlayerPrefs.SetString(filename, text); PlayerPrefs.Save(); } } catch (IOException ex) { GuiBase.ShowBigMessage("Failed so save the game!\n" + ex.StackTrace); } return text; }
internal static void Rebirth() { Monument monument3 = App.State.AllMonuments.FirstOrDefault((Monument x) => x.TypeEnum == Monument.MonumentType.black_hole); if (monument3 != null && monument3.Upgrade.Level > 0) { int num = monument3.Upgrade.Level.ToInt(); if (num > 50) { num = 50; } App.State.PremiumBoni.GodPower += num; App.State.Statistic.GPFromBlackHoleUpgrade += num; GuiBase.ShowBigMessage("You received " + num + " God Power from your black hole upgrades!"); } if (App.State.Statistic.HasStartedNoRbChallenge) { GuiBase.ShowToast("Because of your rebirth, you lost your No Rebirth Challenge!"); App.State.Statistic.HasStartedNoRbChallenge = false; } App.State.Statistic.Last5RebirthTimes.Add(App.State.Statistic.TimePlayedSinceRebirth); if (App.State.Statistic.Last5RebirthTimes.Count > 5) { App.State.Statistic.Last5RebirthTimes.RemoveAt(0); } bool shouldSubmitScore = App.State.ShouldSubmitScore; CDouble cDouble = App.State.Statistic.ApplyTimeMulti(App.State.Multiplier.RebirthMulti * App.State.Statistic.StatisticRebirthMultiplier); if (App.State.Statistic.AvgTimeLastRebirths() < 900 || App.State.Statistic.RandomDividerLastRebirth < 1) { App.State.Statistic.CalcuRandomDivider(); } else { App.State.Statistic.RandomDividerLastRebirth = 1; } bool flag = false; foreach (Creation current in App.State.AllCreations) { if (current.GodToDefeat.IsDefeated) { App.State.Statistic.GodDefeatedBeforeRebirth = current.GodToDefeat.Name; if (current.TypeEnum == Creation.CreationType.Universe) { flag = true; } } } if (flag) { App.State.Statistic.GodDefeatedBeforeRebirth = "P. Baal v " + (App.State.PrinnyBaal.Level - 1); } string base64String = App.State.Statistic.Serialize(); CDouble cDouble2 = App.State.Ext.AfkGame.ExpMulti; CDouble cDouble3 = App.State.Ext.AfkGame.Power.Level / 10000000; if (cDouble3 > 1) { cDouble3 = 1; } cDouble2 += cDouble3; CDouble achievementMultiPhysical = App.State.Multiplier.MultiBoniPhysicalRebirth * cDouble; CDouble achievementMultiMystic = App.State.Multiplier.MultiBoniMysticRebirth * cDouble; CDouble achievementMultiBattle = App.State.Multiplier.MultiBoniBattleRebirth * cDouble; CDouble achievementMultiCreating = App.State.Multiplier.MultiBoniCreatingRebirth * cDouble; int maxShadowClonesRebirth = App.State.Clones.MaxShadowClonesRebirth; int absoluteMaximum = App.State.Clones.AbsoluteMaximum; Premium premiumBoni = App.State.PremiumBoni; AvatarOptions avatar = App.State.Avatar; List <Monument> allMonuments = App.State.AllMonuments; List <GeneratorUpgrade> upgrades = App.State.Generator.Upgrades; PlayerKredProblems kredProblems = App.State.KredProblems; Planet homePlanet = App.State.HomePlanet; long creatingSpeedBoniDuration = App.State.CreatingSpeedBoniDuration; string avatarName = App.State.AvatarName; List <float> randomValues = App.State.Ext.RandomValues; int currentRandomNumber = App.State.Ext.CurrentRandomNumber; Critical crits = App.State.Crits; crits.Eyes = crits.Eyes * App.State.PremiumBoni.TbsProgressAfterRebirth / 100; crits.Feet = crits.Feet * App.State.PremiumBoni.TbsProgressAfterRebirth / 100; crits.Mouth = crits.Mouth * App.State.PremiumBoni.TbsProgressAfterRebirth / 100; crits.Tail = crits.Tail * App.State.PremiumBoni.TbsProgressAfterRebirth / 100; crits.Wings = crits.Wings * App.State.PremiumBoni.TbsProgressAfterRebirth / 100; crits.EyesNoMirror = crits.EyesNoMirror * App.State.PremiumBoni.TbsProgressAfterRebirth / 100; List <Creation> allCreations = App.State.AllCreations; Settings gameSettings = App.State.GameSettings; string kongUserId = App.State.KongUserId; string kongUserName = App.State.KongUserName; string steamId = App.State.SteamId; string steamName = App.State.SteamName; string androidId = App.State.AndroidId; string androidName = App.State.AndroidName; bool isSocialDialogShown = App.State.IsSocialDialogShown; List <Skill> allSkills = App.State.AllSkills; List <Pet> allPets = App.State.Ext.AllPets; foreach (Pet current2 in allPets) { current2.FeedTimer = 43200000L; current2.Exp = 0; current2.Level = 1; current2.ShadowCloneCount = 0; current2.CloneBattle = 1; current2.CloneMystic = 1; current2.ClonePhysical = 1; current2.CalculateValues(); } State2 ext = App.State.Ext; List <Might> allMights = App.State.AllMights; long timeStampGameClosed = App.State.TimeStampGameClosed; long timeStampGameClosedOfflineMS = App.State.TimeStampGameClosedOfflineMS; CDouble cDouble4 = 0; foreach (Crystal current3 in App.State.Ext.Factory.EquippedCrystals) { CDouble cDouble5 = current3.Level; if (current3.Type == ModuleType.Ultimate) { cDouble5 *= 2; } if (current3.Type == ModuleType.God) { cDouble5 *= 3; } cDouble4 += cDouble5; } App.State = new GameState(true, App.State.Statistic.AchievementChallengesFinished.ToInt()); App.State.GameSettings.AutofillDefenders = false; App.State.TimeStampGameClosed = timeStampGameClosed; App.State.TimeStampGameClosedOfflineMS = timeStampGameClosedOfflineMS; App.State.Ext.AfkGame.InitExpCost(); App.State.Ext.SteamCurrency = ext.SteamCurrency; App.State.Ext.SteamCountry = ext.SteamCountry; App.State.Ext.TimeSinceSteam = ext.TimeSinceSteam; App.State.Ext.AdPoints = ext.AdPoints; App.State.Ext.AdsWatched = ext.AdsWatched; App.State.Ext.TotalAdsWatched = ext.TotalAdsWatched; App.State.Ext.ImportedSaveFromKongToSteam = ext.ImportedSaveFromKongToSteam; App.State.Ext.KongConvertId = ext.KongConvertId; App.State.Ext.TwitterClicked = ext.TwitterClicked; App.State.Ext.FacebookClicked = ext.FacebookClicked; App.State.Ext.PetIdInAvatar = ext.PetIdInAvatar; App.State.Ext.Lucky = ext.Lucky; App.State.Ext.RateDialogShown = ext.RateDialogShown; App.State.Ext.PetStonesSpent = ext.PetStonesSpent; App.State.Ext.AfkGame.ExpMulti = cDouble2; App.State.KongUserId = kongUserId; App.State.KongUserName = kongUserName; App.State.SteamId = steamId; App.State.SteamName = steamName; App.State.AndroidId = androidId; App.State.AndroidName = androidName; App.State.IsTutorialShown = true; App.State.IsGuestMsgShown = true; App.State.IsSocialDialogShown = isSocialDialogShown; App.State.Multiplier.AchievementMultiPhysical = achievementMultiPhysical; App.State.Multiplier.AchievementMultiMystic = achievementMultiMystic; App.State.Multiplier.AchievementMultiBattle = achievementMultiBattle; App.State.Multiplier.AchievementMultiCreating = achievementMultiCreating; App.State.Clones.MaxShadowClones = maxShadowClonesRebirth; App.State.Clones.AbsoluteMaximum = absoluteMaximum; App.State.Multiplier.GodMultiFromRebirth = cDouble; App.State.Statistic = Statistic.FromString(base64String); Statistic expr_981 = App.State.Statistic; expr_981.TotalRebirths = ++expr_981.TotalRebirths; App.State.Statistic.TimePlayedSinceRebirth = 0L; App.State.Statistic.BlackHoleGPTimer = 0; App.State.Ext.AfkGame.Exp = App.State.Statistic.TotalRebirths * 30 * App.State.Ext.AfkGame.ExpMulti; App.State.AddMultisFromGod(); App.State.KredProblems = kredProblems; App.State.Crits = crits; App.State.CreatingSpeedBoniDuration = creatingSpeedBoniDuration; int num2 = App.State.Statistic.TotalShadowClonesCreated.ToInt() / 1000; if (num2 > 950) { num2 = 950; } App.State.CloneAttackDivider = 1000 - num2; int num3 = App.State.Statistic.TotalShadowClonesDied.ToInt() / 500; if (num3 > 950) { num3 = 950; } App.State.CloneDefenseDivider = 1000 - num3; App.State.CloneHealthDivider = 1000 - num3; App.State.InitAchievementNames(); App.State.PremiumBoni = premiumBoni; App.State.PremiumBoni.ChakraPillV2InUse = false; App.State.PremiumBoni.GodlyLiquidV2InUse = false; App.State.PremiumBoni.TotalMightIsUnlocked = false; App.State.PremiumBoni.CrystalGPTimeCurrent = 0; App.State.PremiumBoni.CrystalPower += cDouble4; App.State.ShouldSubmitScore = shouldSubmitScore; App.State.GameSettings = gameSettings; App.State.GameSettings.AutoBuyCreations = false; App.State.Avatar = avatar; App.State.Ext.RandomValues = randomValues; App.State.Ext.CurrentRandomNumber = currentRandomNumber; using (List <Creation> .Enumerator enumerator4 = App.State.AllCreations.GetEnumerator()) { while (enumerator4.MoveNext()) { Creation creation = enumerator4.Current; Creation creation3 = allCreations.FirstOrDefault((Creation x) => x.TypeEnum == creation.TypeEnum); if (creation3 != null) { creation.GodToDefeat.IsDefeatedForFirstTime = creation3.GodToDefeat.IsDefeatedForFirstTime; creation.GodToDefeat.IsDefeatedPetChallenge = creation3.GodToDefeat.IsDefeatedPetChallenge; creation.NextAtCount = creation3.NextAtCount; creation.AutoBuy = creation3.AutoBuy; } } } using (List <Skill> .Enumerator enumerator5 = App.State.AllSkills.GetEnumerator()) { while (enumerator5.MoveNext()) { Skill element = enumerator5.Current; Skill skill = allSkills.FirstOrDefault((Skill x) => x.EnumValue == element.EnumValue); if (skill != null) { element.Extension.KeyPress = skill.Extension.KeyPress; element.Extension.UsageCount = skill.Extension.UsageCount; } } } using (List <Monument> .Enumerator enumerator6 = App.State.AllMonuments.GetEnumerator()) { while (enumerator6.MoveNext()) { Monument monument = enumerator6.Current; Monument monument2 = allMonuments.FirstOrDefault((Monument x) => x.TypeEnum == monument.TypeEnum); if (monument2 != null) { monument.StopAtString = monument2.StopAtString; monument.Upgrade.StopAtString = monument2.Upgrade.StopAtString; } } } using (List <GeneratorUpgrade> .Enumerator enumerator7 = App.State.Generator.Upgrades.GetEnumerator()) { while (enumerator7.MoveNext()) { GeneratorUpgrade divGenUpgrade = enumerator7.Current; GeneratorUpgrade generatorUpgrade = upgrades.FirstOrDefault((GeneratorUpgrade x) => x.type == divGenUpgrade.type); if (generatorUpgrade != null) { divGenUpgrade.StopAt = generatorUpgrade.StopAt; } } } using (List <Might> .Enumerator enumerator8 = App.State.AllMights.GetEnumerator()) { while (enumerator8.MoveNext()) { Might might = enumerator8.Current; Might might2 = allMights.FirstOrDefault((Might x) => x.TypeEnum == might.TypeEnum); if (might2 != null) { might.NextAt = might2.NextAt; } } } App.State.Ext.PetPowerMultiCampaigns = ext.PetPowerMultiCampaigns; App.State.Ext.PetPowerMultiGods = ext.PetPowerMultiGods; App.State.Ext.PetStones = ext.PetStones; App.State.Ext.AllCampaigns = ext.AllCampaigns; foreach (PetCampaign current4 in App.State.Ext.AllCampaigns) { current4.Cancel(); } App.State.AvatarName = avatarName; App.State.HomePlanet.IsCreated = homePlanet.IsCreated; App.State.HomePlanet.UpgradeLevel = homePlanet.UpgradeLevel; App.State.HomePlanet.UltimateBeings = UltimateBeing.Initial; App.State.HomePlanet.UltimateBeingsV2 = UltimateBeingV2.Initial; App.State.HomePlanet.UpgradeLevelArtyChallenge = homePlanet.UpgradeLevelArtyChallenge; if (App.State.Statistic.UltimateBaalChallengesFinished > 0 || App.State.Statistic.ArtyChallengesFinished > 0) { App.State.HomePlanet.UltimateBeingsV2[0].IsAvailable = true; App.State.HomePlanet.UltimateBeingsV2[0].TimesDefeated = homePlanet.UltimateBeingsV2[0].TimesDefeated; App.State.HomePlanet.UltimateBeingsV2[1].TimesDefeated = homePlanet.UltimateBeingsV2[1].TimesDefeated; App.State.HomePlanet.UltimateBeingsV2[2].TimesDefeated = homePlanet.UltimateBeingsV2[2].TimesDefeated; App.State.HomePlanet.UltimateBeingsV2[3].TimesDefeated = homePlanet.UltimateBeingsV2[3].TimesDefeated; App.State.HomePlanet.UltimateBeingsV2[4].TimesDefeated = homePlanet.UltimateBeingsV2[4].TimesDefeated; } App.State.HomePlanet.InitUBMultipliers(); App.State.HomePlanet.TotalGainedGodPower = homePlanet.TotalGainedGodPower; using (List <UltimateBeing> .Enumerator enumerator10 = App.State.HomePlanet.UltimateBeings.GetEnumerator()) { while (enumerator10.MoveNext()) { UltimateBeing being = enumerator10.Current; UltimateBeing ultimateBeing = homePlanet.UltimateBeings.FirstOrDefault((UltimateBeing x) => x.Tier == being.Tier); being.IsAvailable = ultimateBeing.IsAvailable; being.ComeBack(); being.HPPercent = 0.0; } } App.State.GameSettings.AutoBuyCreations = false; App.State.GameSettings.AutoBuyCreationsForMonumentsBeforeRebirth = App.State.GameSettings.AutoBuyCreationsForMonuments; App.State.GameSettings.AutoBuyCreationsForMonuments = false; foreach (UltimateBeingV2 current5 in App.State.HomePlanet.UltimateBeingsV2) { current5.IsDefeated = false; } App.State.Ext.AllPets = allPets; if (App.State.PremiumBoni.PetFoodAfterRebirth) { App.State.Ext.PunyFood = ext.PunyFood; App.State.Ext.MightyFood = ext.MightyFood; App.State.Ext.StrongFood = ext.StrongFood; } App.State.Ext.Chocolate = ext.Chocolate; App.State.Statistic.CalculateTotalPetGrowth(App.State.Ext.AllPets); App.SaveGameState(); Creation creation2 = App.State.AllCreations.FirstOrDefault((Creation x) => x.TypeEnum == Creation.CreationType.Shadow_clone); App.State.GameSettings.LastCreation = creation2; if (creation2 != null) { creation2.IsActive = true; } if (App.State.Statistic.HasStartedUltimateBaalChallenge && App.State.Statistic.CountRebirthsInUBC) { Statistic expr_133F = App.State.Statistic; expr_133F.RebirthsAfterUBC = ++expr_133F.RebirthsAfterUBC; } if (App.State.Statistic.HasStartedArtyChallenge) { Statistic expr_136D = App.State.Statistic; expr_136D.RebirthsAfterUAC = ++expr_136D.RebirthsAfterUAC; if (App.State.Statistic.RebirthsAfterUAC > 5) { App.State.Statistic.HasStartedArtyChallenge = false; App.State.Statistic.RebirthsAfterUAC = 0; App.State.Statistic.TimeAfterUACStarted = 0; App.State.HomePlanet.IsCreated = true; if (App.State.HomePlanet.UpgradeLevelArtyChallenge > App.State.HomePlanet.UpgradeLevel) { App.State.HomePlanet.UpgradeLevel = App.State.HomePlanet.UpgradeLevelArtyChallenge; } if (App.State.Statistic.UniverseChallengesFinished > 0 && App.State.HomePlanet.UpgradeLevel < App.State.Statistic.UniverseChallengesFinished + 5) { App.State.HomePlanet.UpgradeLevel = App.State.Statistic.UniverseChallengesFinished + 5; } App.State.HomePlanet.UpgradeLevelArtyChallenge = 0; foreach (UltimateBeing current6 in App.State.HomePlanet.UltimateBeings) { if (current6.Tier <= App.State.HomePlanet.UpgradeLevel) { current6.IsAvailable = true; } } Premium premiumBoni2 = App.State.PremiumBoni; App.State.PremiumBoni = Premium.FromString(App.State.Statistic.PremiumStatsBeforeUBCChallenge); App.State.PremiumBoni.AddPremiumAfterChallenge(premiumBoni2); App.State.Statistic.PremiumStatsBeforeUBCChallenge = string.Empty; App.State.Statistic.HighestGodInUAC = 0; App.State.Clones.AbsoluteMaximum = App.State.Statistic.AbsoluteMaxClonesBeforeUBCChallenge.ToInt(); App.State.Clones.MaxShadowClones = App.State.Statistic.MaxClonesBeforeUBCChallenge.ToInt(); string[] array = App.State.Statistic.SkillUsageCountBeforeUAC.Split(new char[] { ',' }); for (int i = 0; i < array.Length; i++) { int num4 = 0; int.TryParse(array[i], out num4); if (App.State.AllSkills.Count > i) { App.State.AllSkills[i].Extension.UsageCount += (long)num4; } } App.State.Statistic.SkillUsageCountBeforeUAC = string.Empty; App.State.PremiumBoni.CheckIfGPIsAdjusted(); App.SaveGameState(); GuiBase.ShowToast("Your Challenge failed! You received back the God Power and God Power upgrades you had before the challenge."); } } Leaderboards.SubmitStat(LeaderBoardType.Rebirths, App.State.Statistic.TotalRebirths.ToInt(), false); SpecialFightUi.SortSkills(); TBSUi.Reset(); PlanetUi.Instance.Reset(); if (!App.State.Statistic.HasStartedUltimateBaalChallenge && !App.State.Statistic.HasStartedArtyChallenge && App.State.Statistic.HighestGodDefeated > 3 && !App.State.IsSocialDialogShown) { MainUi.ShowSocialDialog = true; } MainUi.Instance.Init(true); }
public void GetAttacked(CDouble attackPower, long millisecs) { int value = UnityEngine.Random.Range(1, 100); CDouble cDouble; if (value <= App.State.Crits.CriticalPercent(App.State.GameSettings.TBSEyesIsMirrored)) { attackPower = attackPower * App.State.Crits.CriticalDamage / 100; cDouble = attackPower / 5000 * millisecs; } else { cDouble = (attackPower - this.Defense) / 5000 * millisecs; } this.DamageSec = cDouble * 33; if (cDouble > 0) { this.CurrentHealth -= cDouble; } if (this.CurrentHealth <= 0) { App.State.Title = EnumName.Title(App.State.Avatar.IsFemale, this.TypeEnum); App.State.TitleGod = this.Name; if (App.State.Statistic.HighestGodDefeated < (int)this.TypeEnum) { App.State.Statistic.HighestGodDefeated = (int)this.TypeEnum; } if (App.State.Statistic.HasStartedArtyChallenge && App.State.Statistic.HighestGodInUAC < (int)this.TypeEnum) { App.State.Statistic.HighestGodInUAC = (int)this.TypeEnum; } this.IsDefeated = true; if (this.TypeEnum > God.GodType.Diana || !this.IsDefeatedForFirstTime) { this.IsDefeatedForFirstTime = true; App.State.PremiumBoni.GodPower++; GuiBase.ShowToast("Your god power is increased by 1!"); App.State.PremiumBoni.CheckIfGPIsAdjusted(); } Statistic expr_212 = App.State.Statistic; expr_212.TotalGodsDefeated = ++expr_212.TotalGodsDefeated; StoryUi.SetUnlockedStoryParts(App.State); Leaderboards.SubmitStat(LeaderBoardType.GodsDefeated, App.State.Statistic.TotalGodsDefeated.ToInt(), false); Leaderboards.SubmitStat(LeaderBoardType.HighestGodDefeated, App.State.Statistic.HighestGodDefeated.ToInt(), false); HeroImage.Init(true); if (this.TypeEnum == God.GodType.Diana) { App.State.IsMonumentUnlocked = true; GuiBase.ShowContentUnlocked("You can now build monuments."); } else if (this.TypeEnum == God.GodType.Nephthys) { App.State.IsBuyUnlocked = true; App.State.GameSettings.AutoBuyCreationsForMonuments = App.State.GameSettings.AutoBuyCreationsForMonumentsBeforeRebirth; GuiBase.ShowContentUnlocked("You can now buy creations after you created at least one."); } else if (this.TypeEnum == God.GodType.Poseidon && App.CurrentPlattform == Plattform.Android && !App.State.Ext.RateDialogShown) { App.State.Ext.RateDialogShown = true; GuiBase.ShowDialog("Rate ItRtG", "If you like the game, please rate it on google play. Good ratings helps to get more players, and more players will lead to more success of the game, and more time for me to work on updates or future games.", delegate { App.OpenWebsite("https://play.google.com/store/apps/details?id=de.shugasu.itrtg"); }, delegate { }, "Rate it", "Cancel", true, true); } else if (this.TypeEnum == God.GodType.Freya) { App.State.IsUpgradeUnlocked = true; GuiBase.ShowContentUnlocked("You can now upgrade your monuments!"); } else if (this.TypeEnum == God.GodType.Chronos && App.State.Statistic.HasStartedArtyChallenge) { UpdateStats.SaveToServer(UpdateStats.ServerSaveType.UAChallengeSave2); } else if (this.TypeEnum == God.GodType.Tyrant_Overlord_Baal) { if (App.State.Statistic.HasStartedDoubleRebirthChallenge) { App.State.Statistic.HasStartedDoubleRebirthChallenge = false; if (App.State.Statistic.FastestDRCallenge <= 0 || App.State.Statistic.FastestDRCallenge > App.State.Statistic.TimeAfterDRCStarted) { App.State.Statistic.FastestDRCallenge = App.State.Statistic.TimeAfterDRCStarted; Leaderboards.SubmitStat(LeaderBoardType.FastestDRCallenge, App.State.Statistic.FastestDRCallenge.ToInt() / 1000, false); } App.State.Statistic.TimeAfterDRCStarted = 0; Statistic expr_493 = App.State.Statistic; expr_493.DoubleRebirthChallengesFinished = ++expr_493.DoubleRebirthChallengesFinished; int num = 10; if (App.State.Statistic.DoubleRebirthChallengesFinished > 50) { num += 10; } App.State.PremiumBoni.GodPower += num; App.State.PremiumBoni.CheckIfGPIsAdjusted(); App.SaveGameState(); GuiBase.ShowToast("Your god power is increased by " + num + " because you beat the double rebirth challenge!"); } if (App.State.Statistic.HasStarted1kChallenge) { App.State.Statistic.HasStarted1kChallenge = false; if (App.State.Statistic.Fastest1KCCallenge <= 0 || App.State.Statistic.Fastest1KCCallenge > App.State.Statistic.TimeAfter1KCStarted) { App.State.Statistic.Fastest1KCCallenge = App.State.Statistic.TimeAfter1KCStarted; Leaderboards.SubmitStat(LeaderBoardType.Fastest1KCCallenge, App.State.Statistic.Fastest1KCCallenge.ToInt() / 1000, false); } App.State.Statistic.TimeAfter1KCStarted = 0; Statistic expr_5DA = App.State.Statistic; expr_5DA.OnekChallengesFinished = ++expr_5DA.OnekChallengesFinished; App.State.Clones.MaxShadowClones = App.State.Clones.AbsoluteMaximum; App.State.PremiumBoni.GodPower += 20; App.State.PremiumBoni.CheckIfGPIsAdjusted(); App.SaveGameState(); GuiBase.ShowToast("Your god power is increased by " + 20 + " because you beat the 1k challenge!"); } if (App.State.Statistic.HasStartedUltimatePetChallenge) { App.State.Statistic.HasStartedUltimatePetChallenge = false; if (App.State.Statistic.FastestUPCallenge <= 0 || App.State.Statistic.FastestUPCallenge > App.State.Statistic.TimeAfterUPCStarted) { App.State.Statistic.FastestUPCallenge = App.State.Statistic.TimeAfterUPCStarted; Leaderboards.SubmitStat(LeaderBoardType.FastestUPCallenge, App.State.Statistic.FastestUPCallenge.ToInt() / 1000, false); } App.State.Statistic.TimeAfterUPCStarted = 0; Statistic expr_71F = App.State.Statistic; expr_71F.UltimatePetChallengesFinished = ++expr_71F.UltimatePetChallengesFinished; App.SaveGameState(); GuiBase.ShowToast("You have finished the ultimate pet challenge! The rewards you can get from pet campaigns are increased by 5%!"); } if (App.State.Statistic.HasStartedNoRbChallenge) { App.State.Statistic.HasStartedNoRbChallenge = false; if (App.State.Statistic.FastestNoRbCCallenge <= 0 || App.State.Statistic.FastestNoRbCCallenge > App.State.Statistic.TimeAfterNoRbStarted) { App.State.Statistic.FastestNoRbCCallenge = App.State.Statistic.TimeAfterNoRbStarted; Leaderboards.SubmitStat(LeaderBoardType.FastestNRChallenge, App.State.Statistic.FastestNoRbCCallenge.ToInt() / 1000, false); } App.State.Statistic.TimeAfterNoRbStarted = 0; Statistic expr_809 = App.State.Statistic; expr_809.NoRbChallengesFinished = ++expr_809.NoRbChallengesFinished; App.State.PremiumBoni.GodPower += 250; App.State.PremiumBoni.CheckIfGPIsAdjusted(); App.SaveGameState(); GuiBase.ShowToast("Your god power is increased by " + 250 + " because you beat the no rebirth challenge!"); } if (App.State.Statistic.HasStartedUltimateBaalChallenge) { App.State.Statistic.HasStartedUltimateBaalChallenge = false; if (App.State.Statistic.FastestUBCallenge <= 0 || App.State.Statistic.FastestUBCallenge > App.State.Statistic.TimeAfterUBCStarted) { App.State.Statistic.FastestUBCallenge = App.State.Statistic.TimeAfterUBCStarted; if (App.State.ShouldSubmitScore) { long num2 = 0L; long.TryParse((App.State.Statistic.FastestUBCallenge.Double / 1000.0).ToString(), out num2); if (num2 == 0L) { num2 = App.State.Statistic.FastestUBCallenge.ToLong() / 1000L; } Leaderboards.SubmitStat(LeaderBoardType.FastestUBCallenge, (int)num2, false); } } App.State.Statistic.TimeAfterUBCStarted = 0; Statistic expr_983 = App.State.Statistic; expr_983.UltimateBaalChallengesFinished = ++expr_983.UltimateBaalChallengesFinished; if (App.State.Statistic.MinRebirthsAfterUBC == -1 || App.State.Statistic.MinRebirthsAfterUBC > App.State.Statistic.RebirthsAfterUBC) { App.State.Statistic.MinRebirthsAfterUBC = App.State.Statistic.RebirthsAfterUBC; } App.State.Statistic.RebirthsAfterUBC = 0; App.State.HomePlanet.UltimateBeingsV2[0].IsAvailable = true; Premium premiumBoni = App.State.PremiumBoni; App.State.PremiumBoni = Premium.FromString(App.State.Statistic.PremiumStatsBeforeUBCChallenge); App.State.PremiumBoni.AddPremiumAfterChallenge(premiumBoni); App.State.Statistic.PremiumStatsBeforeUBCChallenge = string.Empty; App.State.Clones.AbsoluteMaximum = App.State.Statistic.AbsoluteMaxClonesBeforeUBCChallenge.ToInt(); App.State.Clones.MaxShadowClones = App.State.Statistic.MaxClonesBeforeUBCChallenge.ToInt(); App.State.PremiumBoni.GodPower += 100; App.State.PremiumBoni.CheckIfGPIsAdjusted(); App.SaveGameState(); GuiBase.ShowToast("Your god power is increased by 100 because you beat the ultimate baal challenge!"); } if (App.State.Statistic.HasStartedArtyChallenge) { App.State.Statistic.HasStartedArtyChallenge = false; long num3 = 0L; if (App.State.Statistic.FastestUACallenge <= 0 || App.State.Statistic.FastestUACallenge > App.State.Statistic.TimeAfterUACStarted) { App.State.Statistic.FastestUACallenge = App.State.Statistic.TimeAfterUACStarted; num3 = (long)(App.State.Statistic.FastestUACallenge.Double / 1000.0); if (App.State.ShouldSubmitScore) { if (num3 == 0L) { num3 = App.State.Statistic.FastestUACallenge.ToLong() / 1000L; } if (num3 > 2000000L || App.State.PremiumBoni.HasPurchasedGodPowerOnce) { Leaderboards.SubmitStat(LeaderBoardType.FastestUACallenge, (int)num3, false); } } } else { num3 = (long)(App.State.Statistic.TimeAfterUACStarted.Double / 1000.0); } App.State.Statistic.TimeAfterUACStarted = 0; Statistic expr_C4C = App.State.Statistic; expr_C4C.ArtyChallengesFinished = ++expr_C4C.ArtyChallengesFinished; App.State.HomePlanet.IsCreated = true; if (App.State.HomePlanet.UpgradeLevelArtyChallenge > App.State.HomePlanet.UpgradeLevel) { App.State.HomePlanet.UpgradeLevel = App.State.HomePlanet.UpgradeLevelArtyChallenge; } if (App.State.Statistic.UniverseChallengesFinished > 0 && App.State.HomePlanet.UpgradeLevel < App.State.Statistic.UniverseChallengesFinished + 5) { App.State.HomePlanet.UpgradeLevel = App.State.Statistic.UniverseChallengesFinished + 5; } App.State.HomePlanet.UpgradeLevelArtyChallenge = 0; foreach (UltimateBeing current in App.State.HomePlanet.UltimateBeings) { if (current.Tier <= App.State.HomePlanet.UpgradeLevel) { current.IsAvailable = true; } } App.State.HomePlanet.UltimateBeingsV2[0].IsAvailable = true; if (App.State.Statistic.MinRebirthsAfterUAC <= 0 || App.State.Statistic.MinRebirthsAfterUAC > App.State.Statistic.RebirthsAfterUAC) { App.State.Statistic.MinRebirthsAfterUAC = App.State.Statistic.RebirthsAfterUAC; } App.State.Statistic.RebirthsAfterUAC = 0; Premium premiumBoni2 = App.State.PremiumBoni; App.State.PremiumBoni = Premium.FromString(App.State.Statistic.PremiumStatsBeforeUBCChallenge); App.State.PremiumBoni.AddPremiumAfterChallenge(premiumBoni2); App.State.Statistic.PremiumStatsBeforeUBCChallenge = string.Empty; App.State.Statistic.HighestGodInUAC = 0; App.State.Clones.AbsoluteMaximum = App.State.Statistic.AbsoluteMaxClonesBeforeUBCChallenge.ToInt(); App.State.Clones.MaxShadowClones = App.State.Statistic.MaxClonesBeforeUBCChallenge.ToInt(); string[] array = App.State.Statistic.SkillUsageCountBeforeUAC.Split(new char[] { ',' }); for (int i = 0; i < array.Length; i++) { int num4 = 0; int.TryParse(array[i], out num4); if (App.State.AllSkills.Count > i) { App.State.AllSkills[i].Extension.UsageCount += (long)num4; } } App.State.Statistic.SkillUsageCountBeforeUAC = string.Empty; App.State.PremiumBoni.GodPower += 200; App.State.PremiumBoni.CheckIfGPIsAdjusted(); App.SaveGameState(); if (num3 < 2000000L) { GuiBase.ShowBigMessage("Contratulations, you have beaten the Ultimate Arty Challenge!\nHowever your time doesn't seem to be legit, you won't get the Pet Token Reward.\nIf you really beat the challenge in this time without cheating, please report to [email protected], so I can look at it."); } else if (App.State.Statistic.ArtyChallengesFinished == 1) { GuiBase.ShowBigMessage("Contratulations, you have beaten the Ultimate Arty Challenge!\nYour god power is increased by 200, you unlocked the turtle with the 'Arty was here' sign and you received the turtle pet!"); } else if (App.State.Statistic.ArtyChallengesFinished == 2) { Premium expr_1032 = App.State.PremiumBoni; expr_1032.PetToken = ++expr_1032.PetToken; GuiBase.ShowBigMessage("Contratulations, you have beaten the Ultimate Arty Challenge!\nYour god power is increased by 200, and you received a pet token!"); } } App.State.PrinnyBaal.IsUnlocked = true; } } Log.Info("CurrentHealth: " + this.CurrentHealth); }