public static void UnlockAll() { //Goes through resource file containing all unlockables... Easily updatable, just paste "RoR2.UnlockCatalog" and GetAllUnlockable does the rest. //This is needed to unlock logs foreach (var unlockableName in Main.unlockableNames) { var unlockableDef = UnlockableCatalog.GetUnlockableDef(unlockableName); NetworkUser networkUser = Util.LookUpBodyNetworkUser(Main.LocalPlayerBody); if (networkUser) { networkUser.ServerHandleUnlock(unlockableDef); } } //Gives all achievements. var achievementManager = AchievementManager.GetUserAchievementManager(LocalUserManager.GetFirstLocalUser()); foreach (var achievement in AchievementManager.allAchievementDefs) { achievementManager.GrantAchievement(achievement); } //Give all survivors var profile = LocalUserManager.GetFirstLocalUser().userProfile; foreach (var survivor in SurvivorCatalog.allSurvivorDefs) { if (profile.statSheet.GetStatValueDouble(RoR2.Stats.PerBodyStatDef.totalTimeAlive, survivor.bodyPrefab.name) == 0.0) { profile.statSheet.SetStatValueFromString(RoR2.Stats.PerBodyStatDef.totalTimeAlive.FindStatDef(survivor.bodyPrefab.name), "0.1"); } } //All items and equipments foreach (string itemName in Enum.GetNames(typeof(ItemIndex))) { ItemIndex itemIndex = (ItemIndex)Enum.Parse(typeof(ItemIndex), itemName); profile.DiscoverPickup(PickupCatalog.FindPickupIndex(itemIndex)); } foreach (string equipmentName in Enum.GetNames(typeof(EquipmentIndex))) { EquipmentIndex equipmentIndex = (EquipmentIndex)Enum.Parse(typeof(EquipmentIndex), equipmentName); profile.DiscoverPickup(PickupCatalog.FindPickupIndex(equipmentIndex)); } }
public static void UnlockAll() { //This is needed to unlock logs var unlockables = UmbraMenu.unlockables; foreach (var unlockable in unlockables) { NetworkUser networkUser = Util.LookUpBodyNetworkUser(UmbraMenu.LocalPlayerBody); if (networkUser) { networkUser.ServerHandleUnlock(unlockable.Value); } } //Gives all achievements. var achievementManager = AchievementManager.GetUserAchievementManager(LocalUserManager.GetFirstLocalUser()); foreach (var achievement in AchievementManager.allAchievementDefs) { achievementManager.GrantAchievement(achievement); } //Give all survivors var profile = LocalUserManager.GetFirstLocalUser().userProfile; foreach (var survivor in SurvivorCatalog.allSurvivorDefs) { if (profile.statSheet.GetStatValueDouble(RoR2.Stats.PerBodyStatDef.totalTimeAlive, survivor.bodyPrefab.name) == 0.0) { profile.statSheet.SetStatValueFromString(RoR2.Stats.PerBodyStatDef.totalTimeAlive.FindStatDef(survivor.bodyPrefab.name), "0.1"); } if (profile.statSheet.GetStatValueULong(RoR2.Stats.PerBodyStatDef.totalWins, survivor.bodyPrefab.name) == 0L) { profile.statSheet.SetStatValueFromString(RoR2.Stats.PerBodyStatDef.totalWins.FindStatDef(survivor.bodyPrefab.name), "1"); } if (profile.statSheet.GetStatValueULong(RoR2.Stats.PerBodyStatDef.timesPicked, survivor.bodyPrefab.name) == 0L) { profile.statSheet.SetStatValueFromString(RoR2.Stats.PerBodyStatDef.timesPicked.FindStatDef(survivor.bodyPrefab.name), "1"); } } //All items and equipments foreach (ItemIndex itemIndex in ItemCatalog.allItems) { profile.DiscoverPickup(PickupCatalog.FindPickupIndex(itemIndex)); } foreach (EquipmentIndex equipmentIndex in EquipmentCatalog.allEquipment) { profile.DiscoverPickup(PickupCatalog.FindPickupIndex(equipmentIndex)); } //All Eclipse unlockables as well StringBuilder stringBuilder = HG.StringBuilderPool.RentStringBuilder(); foreach (SurvivorDef survivorDef in SurvivorCatalog.allSurvivorDefs) { for (int i = 2; i < 9; i++) { stringBuilder.Clear().Append("Eclipse.").Append(survivorDef.cachedName).Append(".").AppendInt(i, 0U, uint.MaxValue); UnlockableDef unlockableDef = UnlockableCatalog.GetUnlockableDef(stringBuilder.ToString()); NetworkUser networkUser = Util.LookUpBodyNetworkUser(UmbraMenu.LocalPlayerBody); if (networkUser) { networkUser.ServerHandleUnlock(unlockableDef); } } } }