diff --git a/src/Achievements/AchievementData.json b/src/Achievements/AchievementData.json index 15f7ff909..ff1d17c39 100644 --- a/src/Achievements/AchievementData.json +++ b/src/Achievements/AchievementData.json @@ -481,7 +481,16 @@ "ID": "DEVMENU", "Name": "Exploit: you're not meant to access this", "Description": "Open the dev menu." + }, + "RAINBOW": { + "ID": "RAINBOW", + "Name": "Exploit: rainbow", + "Description": "Make good use of the rainbow." + }, + "TRUE_RECURSION": { + "ID": "TRUE_RECURSION", + "Name": "Exploit: true recursion", + "Description": "Beat BN1 in megabyteburner 2000." } } } - diff --git a/src/Achievements/Achievements.ts b/src/Achievements/Achievements.ts index 09827c8cd..d11db4cbb 100644 --- a/src/Achievements/Achievements.ts +++ b/src/Achievements/Achievements.ts @@ -553,7 +553,8 @@ export const achievements: IMap = { ...achievementData["MAX_CACHE"], Icon: "HASHNETCAP", Visible: () => hasAccessToSF(Player, 9), - Condition: () => hasHacknetServers(Player) && + Condition: () => + hasHacknetServers(Player) && Player.hashManager.hashes === Player.hashManager.capacity && Player.hashManager.capacity > 0, }, @@ -729,6 +730,18 @@ export const achievements: IMap = { Secret: true, Condition: () => Player.exploits.includes(Exploit.YoureNotMeantToAccessThis), }, + RAINBOW: { + ...achievementData["RAINBOW"], + Icon: "SF-1", + Secret: true, + Condition: () => Player.exploits.includes(Exploit.INeedARainbow), + }, + TRUE_RECURSION: { + ...achievementData["TRUE_RECURSION"], + Icon: "SF-1", + Secret: true, + Condition: () => Player.exploits.includes(Exploit.TrueRecursion), + }, }; // Steam has a limit of 100 achievement. So these were planned but commented for now.