Skip to content

Instantly share code, notes, and snippets.

@Meshiest
Created November 20, 2022 22:01
Show Gist options
  • Save Meshiest/5e20f51cf5178b98c1eb0e7194630efc to your computer and use it in GitHub Desktop.
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)
/**
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