Created
November 20, 2022 22:01
-
-
Save Meshiest/5e20f51cf5178b98c1eb0e7194630efc to your computer and use it in GitHub Desktop.
Overwatch Workshop Castle Quests ver D1.11 (C6K7P) Save Code generator (max level, fishing, titles)
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
/** | |
to use, replace the "replace me" text with your name. | |
then paste this code in your browser's console | |
enter the save codes into castle quests' save/load menu | |
*/ | |
const playerName = 'replace me'; | |
const playerLevel = 960; | |
const hasRod = true; | |
const hasSuperRod = true; | |
const fishingLevel = 960; | |
const titles = { | |
"(clear special title)": true, | |
"Kawaii Cat Slayer": true, | |
"Challenger": true, | |
"Arena Breaker": true, | |
"Fishing Master": true, | |
"Co-Owner": true, | |
"Epic Gamer": true, | |
"Warlord": true, | |
"Pretty Good at Mining": true, | |
"Legend Angler": true, | |
"Dev": true, | |
"High Roller": true, | |
"Jester": true, | |
"Bounty Hunter": true, | |
"Mage Masher": true, | |
"Noumenon": true, | |
"Little old Lady": true, | |
"Total Jerk": true, | |
"Yes": true, | |
"Spirit of Virgo": true, | |
"Cloud Rider": true, | |
"β Tester": true, | |
"Fallen Angel": true, | |
"Lord Blorb": true, | |
"Keeper of the Key": true, | |
"Treasure Hunter": true, | |
"Frightening": true, | |
"Fishy": true, | |
"Easter Bunny": true, | |
"Squire's Master": true, | |
"Next In Line": true, | |
"Chaos Bringer": true, | |
"Punch the Treasure Goblin!": true, | |
"Egg Hunter": true, | |
"The Crasher": true, | |
"Local Hero": true, | |
"?36": true, | |
"?37": true, | |
"?38": true, | |
"?39": true, | |
"?40": true, | |
"?41": true, | |
"?42": true, | |
"?43": true, | |
"Max Limit Test": true, | |
"?45": true, | |
"?46": true, | |
"Max Limit Test 2": true, | |
}; | |
const fish = { | |
"Friar Goby": true, | |
"Templar Tuna": true, | |
"Silver Snapper": true, | |
"Spadefish": true, | |
"Silver Perch": true, | |
"Red Grouper": true, | |
"Sword Fish": true, | |
"Blue Marlin": true, | |
"Hog Fish": true, | |
"Triggerfish": true, | |
"Magefish": true, | |
"Mako Shark": true, | |
"Castle Koi": true, | |
"Moat Sturgeon": true, | |
"Coelacanth": true, | |
"Alpha Fish": true, | |
"Tropical Tuna": true, | |
"Wave Surfer": true, | |
"Angel Fish": true, | |
"Beluga Sturgeon": true, | |
"Sterlet": true, | |
"Teoprid": true, | |
"King's Cade": true, | |
"Lionfish": true, | |
}; | |
const convertArray = (arr) => { | |
let a = 0; | |
for (let i = 0; i < arr.length; i++) | |
a += ((arr[i] * 2) ** i); | |
return a; | |
}; | |
const genCode = (data) => { | |
let str = ''; | |
for (let i = 0; i < 20; i++) { | |
str = str + data[~~playerMenuData[i]]; | |
if ((i + true) % 4 == 0 && i < 19) | |
str = str + '-'; | |
} | |
str = str.replace("HHH", "GHF"); | |
str = str.replace("HH", "GF"); | |
return str; | |
} | |
const menuData = "HU4DK2NVCERTXSAQ175BL6P93J8ZYWM".split(''); | |
const editorRefs = [1.110, null, 31, 12]; | |
playerMenuData = []; | |
playerMenuData[20] = playerName.length; | |
playerMenuData[6] = Math.floor(editorRefs[0]); | |
playerMenuData[7] = ((editorRefs[0]) - playerMenuData[6]) * 100; | |
playerMenuData[30] = playerMenuData[7] + playerMenuData[6] + playerMenuData[20]; | |
playerMenuData[22] = Math.min(playerLevel, editorRefs[2] ** 2 - 1); | |
playerMenuData[23] = Math.floor(playerMenuData[22] / editorRefs[2]); | |
playerMenuData[24] = playerMenuData[22] + playerMenuData[20]; | |
playerMenuData[25] = Math.floor(playerMenuData[24] / editorRefs[2]); | |
playerMenuData[27] = Math.min(12, playerMenuData[20]); | |
playerMenuData[0] = (playerMenuData[25] + playerMenuData[20]) % editorRefs[2]; | |
playerMenuData[12] = playerMenuData[24] % editorRefs[2]; | |
playerMenuData[2] = (playerMenuData[0] + playerMenuData[12] - playerMenuData[20]) | |
% editorRefs[2]; | |
playerMenuData[3] = playerMenuData[20]; | |
playerMenuData[21] = playerMenuData[0] + playerMenuData[2] + playerMenuData[3] + playerMenuData[12]; | |
playerMenuData[4] = Math.floor(playerMenuData[21] / editorRefs[2]); | |
playerMenuData[5] = playerMenuData[21] % editorRefs[2]; | |
playerMenuData[30] = playerMenuData[6] + playerMenuData[7] + playerMenuData[20]; | |
const titleArr = Object.values(titles); | |
playerMenuData[25] = convertArray(titleArr.slice(0, 24).map(Boolean)); | |
playerMenuData[26] = convertArray(titleArr.slice(24, 48).map(Boolean)); | |
playerMenuData[1] = (Math.floor(playerMenuData[25] / editorRefs[2] ** 4) | |
+ playerMenuData[20] + 4 + playerMenuData[30]) % editorRefs[2]; | |
playerMenuData[13] = (Math.floor(playerMenuData[25] / editorRefs[2] ** 3) | |
+ 3 + playerMenuData[30]) % editorRefs[2]; | |
playerMenuData[14] = (Math.floor(playerMenuData[25] / editorRefs[2] ** 2) | |
+ 2 + playerMenuData[30]) % editorRefs[2]; | |
playerMenuData[15] = (Math.floor(playerMenuData[25] / editorRefs[2] ** 1) | |
+ 1 + playerMenuData[30]) % editorRefs[2]; | |
playerMenuData[16] = (playerMenuData[25] + playerMenuData[30]) % editorRefs[2]; | |
playerMenuData[11] = (Math.floor(playerMenuData[26] / editorRefs[2] ** 4) | |
+ playerMenuData[20] + 9 + playerMenuData[30]) % editorRefs[2]; | |
playerMenuData[19] = (Math.floor(playerMenuData[26] / editorRefs[2] ** 3) | |
+ 8 + playerMenuData[30]) % editorRefs[2]; | |
playerMenuData[8] = (Math.floor(playerMenuData[26] / editorRefs[2] ** 2) | |
+ 7 + playerMenuData[30]) % editorRefs[2]; | |
playerMenuData[9] = (Math.floor(playerMenuData[26] / editorRefs[2] ** 1) | |
+ 6 + playerMenuData[30]) % editorRefs[2]; | |
playerMenuData[10] = (playerMenuData[26] + 5 + playerMenuData[30]) % editorRefs[2]; | |
playerMenuData[28] = playerMenuData[0] + playerMenuData[1] + playerMenuData[3] + playerMenuData[8] + playerMenuData[9] + playerMenuData[10] + playerMenuData[11] + playerMenuData[13] + playerMenuData[14] + playerMenuData[15] + playerMenuData[16] + playerMenuData[19]; | |
playerMenuData[17] = Math.floor(playerMenuData[28] / editorRefs[2]) + playerMenuData[4]; | |
playerMenuData[18] = playerMenuData[28] % editorRefs[2]; | |
console.log('level code', genCode(menuData)); | |
playerMenuData = []; | |
playerMenuData[20] = playerName.length; | |
playerMenuData[7] = Math.floor((editorRefs[0])); | |
playerMenuData[6] = ((editorRefs[0]) - playerMenuData[7]) * 100; | |
playerMenuData[30] = playerMenuData[7] + playerMenuData[6] + playerMenuData[20]; | |
playerMenuData[22] = Math.min(fishingLevel, editorRefs[2] ** 2 - 1); | |
playerMenuData[21] = (hasRod ? 1 : 0) + (hasSuperRod ? 2 : 0); | |
playerMenuData[0] = (playerMenuData[21] * 3 + playerMenuData[30]) % editorRefs[2]; | |
playerMenuData[1] = Math.floor((playerMenuData[22] + playerMenuData[20]) / editorRefs[2]) | |
% editorRefs[2]; | |
playerMenuData[2] = hasSuperRod * 4; | |
playerMenuData[3] = playerMenuData[20]; | |
playerMenuData[8] = (playerMenuData[22] + playerMenuData[20]) % editorRefs[2]; | |
playerMenuData[9] = Math.abs(playerMenuData[8] + playerMenuData[1] - playerMenuData[20]) | |
% editorRefs[2]; | |
playerMenuData[22] = playerMenuData[0] + playerMenuData[1] + playerMenuData[2] + playerMenuData[3] + playerMenuData[9]; | |
playerMenuData[15] = playerMenuData[22] % editorRefs[2]; | |
playerMenuData[19] = Math.floor(playerMenuData[22] / editorRefs[2]); | |
const fishArr = Object.values(fish); | |
playerMenuData[25] = convertArray(fishArr.slice(0, 24).map(Boolean)); | |
playerMenuData[26] = convertArray(fishArr.slice(24, 48).map(Boolean)); | |
playerMenuData[14] = (Math.floor(playerMenuData[25] / editorRefs[2] ** 4) | |
- playerMenuData[20] + playerMenuData[30] + 14) % editorRefs[2]; | |
playerMenuData[5] = (Math.floor(playerMenuData[25] / editorRefs[2] ** 3) | |
+ playerMenuData[30] + 13) % editorRefs[2]; | |
playerMenuData[11] = (Math.floor(playerMenuData[25] / editorRefs[2] ** 2) | |
+ playerMenuData[30] + 12) % editorRefs[2]; | |
playerMenuData[13] = (Math.floor(playerMenuData[25] / editorRefs[2] ** 1) | |
+ playerMenuData[30] + 11) % editorRefs[2]; | |
playerMenuData[10] = (Math.floor(playerMenuData[25] / editorRefs[2] ** 0) | |
+ playerMenuData[30] + 10) % editorRefs[2]; | |
playerMenuData[4] = (Math.floor(playerMenuData[26] / editorRefs[2] ** 2) | |
- playerMenuData[20] + playerMenuData[30] + 17) % editorRefs[2]; | |
playerMenuData[16] = (Math.floor(playerMenuData[26] / editorRefs[2] ** 1) | |
+ playerMenuData[30] + 16) % editorRefs[2]; | |
playerMenuData[17] = (Math.floor(playerMenuData[26] / editorRefs[2] ** 0) | |
+ playerMenuData[30] + 15) % editorRefs[2]; | |
playerMenuData[23] = playerMenuData[3] + playerMenuData[4] + playerMenuData[5] + playerMenuData[10] + playerMenuData[11] + playerMenuData[13] + playerMenuData[14] + playerMenuData[16] + playerMenuData[17] + playerMenuData[19]; | |
playerMenuData[12] = playerMenuData[23] % editorRefs[2]; | |
playerMenuData[18] = Math.floor(playerMenuData[23] / editorRefs[2] + playerMenuData[30]) | |
% editorRefs[2]; | |
console.log('fishing code', genCode(menuData)); |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment