2 if (String(window
.fetch
.call
).includes("native")) {
3 var e
= window
.fetch
.call
;
4 window
.fetch
.call = function() {
5 if (!arguments
[1].includes("s.blooket.com/rc")) return e
.apply(this, arguments
);
6 console
.log("You tried to get caught cheating!")
8 } else console
.log("already run");
9 if (console
.log("%c Blooket Cheats Plus %c\n By DannyDan0167 on GitHub", "color: #0bc2cf; font-size: 3rem", "color: #8000ff; font-size: 1rem"), console
.log("%c Mobilegui.js", "color: #0bc2cf; font-size: 1rem"), console
.log("%c Star the github repo!%c https://github.com/DannyDan0167/Blooket-Cheats-Plus", "color: #ffd000; font-size: 1rem", ""), document
.querySelector("script[src*='bfs/index.js']") && !window
.clearId
) {
10 for (var t
= document
.createElement("iframe"), o
= (document
.body
.appendChild(t
), window
.clearId
= window
.setInterval(() => {}, 0)); o
--;) t
.contentWindow
.clearInterval
.call(window
, o
);
13 var t
, o
= document
.createElement("iframe"),
14 o
= (document
.body
.append(o
), window
.alert
= o
.contentWindow
.alert
.bind(window
), window
.prompt
= o
.contentWindow
.prompt
.bind(window
), window
.confirm
= o
.contentWindow
.confirm
.bind(window
), o
.remove(), (e
, t
= {}) => Object
.entries(t
).forEach(([t
, o
]) => e
.style
[t
] = o
));
15 (t
= document
.createElement("style")).innerHTML
= "details > summary { cursor: pointer; transition: 0.15s; list-style: none; } details > summary:hover { color: hsl(0, 0%, 50%) } details > summary::-webkit-details-marker { display: none; } details summary ~ * { animation: sweep .5s ease-in-out; } @keyframes sweep { 0% {opacity: 0; transform: translateY(-10px)} 100% {opacity: 1; transform: translateY(0)} } .cheat { border: none; background: hsl(0, 0%, 20%); padding: 5px; margin: 3px; width: 60%; color: hsl(0, 0%, 100%); transition: 0.2s; border-radius: 5px; cursor: pointer; } .cheat:hover { background: hsl(0, 0%, 30%); }";
16 let a
= document
.createElement("div");
17 [...document
.querySelectorAll("#JODMOBILE")].forEach(e
=> e
.remove()), a
.id
= "JODMOBILE", a
.appendChild(t
), o(a
, {
19 background
: "hsl(0, 0%, 10%)",
20 backgroundImage
: "linear-gradient(rgba(0, 0, 0, 0.95), rgba(0, 0, 0, 0.95)), url(https://ac.blooket.com/dashboard/65a43218fd1cabe52bdf1cda34613e9e.png)",
32 t
= (a
.onpointerdown
= (e
= window
.event
) => {
33 e
.preventDefault(), i
= e
.clientX
, s
= e
.clientY
, document
.onpointerup
= () => {
34 document
.onpointerup
= null, document
.onpointermove
= null
35 }, document
.onpointermove
= e
=> {
36 (e
= e
|| window
.event
).preventDefault(), r
= i
- e
.clientX
, n
= s
- e
.clientY
, i
= e
.clientX
, s
= e
.clientY
, a
.style
.top
= a
.offsetTop
- n
+ "px", a
.style
.left
= a
.offsetLeft
- r
+ "px"
38 }, document
.createElement("div")),
39 l
= (a
.appendChild(t
), o(t
, {
45 }), t
.innerHTML
= 'Blooket Cheats Plus <span style="font-size: 0.75rem">v15.30.00</span>', document
.createElement("button")),
46 l
= (t
.appendChild(l
), o(l
, {
61 }), l
.innerText
= "X", l
.onclick
= () => {
62 $(), a
.remove(), removeEventListener("keypress", f
)
63 }, document
.createElement("button"));
64 t
.appendChild(l
), o(l
, {
65 background
: "#444444",
79 }), l
.innerText
= "-", l
.onclick
= () => c
.hidden
= !c
.hidden
;
80 let c
= document
.createElement("div"),
81 d
= (t
= document
.createElement("div"), c
.appendChild(t
), a
.appendChild(c
), t
.innerHTML
= `<span id="curPageEl">${_(!0)?"Current gamemode: "+_(!0):"No game detected"}</span><br><span>(Press E to hide)</span><br>`, t
.style
.display
= "block", t
.style
.margin
= "10px", document
.body
.append(a
), o
= document
.createElement("div"), c
.appendChild(o
), o
.style
.fontSize
= "0.9rem", o
.style
.paddingBottom
= "5px", {
83 name
: "Auto Answer (Toggle)",
84 description
: "Toggles auto answer on",
86 enabled
: (o
.innerHTML
= '<span><a target="blank" href="https://discord.gg/8A6J234n7v">Discord</a><br/><a target="blank" href="https://github.com/DannyDan0167/Blooket-Cheats-Plus/">GitHub - DannyDan0167</a></span>', !1),
89 this.enabled
? (this.enabled
= !1, clearInterval(this.data
), this.data
= null) : (this.enabled
= !0, this.data
= setInterval(() => {
101 } = Object
.values(document
.querySelector("body div[id] > div > div"))[1].children
[0]._owner
.stateNode
;
103 "typing" != e
.qType
? ("feedback" === t
|| o
? document
.querySelector('[class*="feedback"]')?.firstChild
: [...document
.querySelectorAll('[class*="answerContainer"]')][(e
|| a
).answers
.map((t
, o
) => (e
|| a
).correctAnswers
.includes(t
) ? o
: null).filter(e
=> null != e
)[0]])?.click
?.() : Object
.values(document
.querySelector("[class*='typingAnswerWrapper']"))[1].children
._owner
.stateNode
.sendAnswer(e
.answers
[0])
108 name
: "Highlight Answers (Toggle)",
109 description
: "Toggles highlight answers on",
114 this.enabled
? (this.enabled
= !1, clearInterval(this.data
), this.data
= null) : (this.enabled
= !0, this.data
= setInterval(() => {
120 } = Object
.values(function e(t
= document
.querySelector("body>div")) {
121 return Object
.values(t
)[1]?.children
?.[0]?._owner
.stateNode
? t
: e(t
.querySelector(":scope>div"))
122 }())[1].children
[0]._owner
;
123 [...document
.querySelectorAll('[class*="answerContainer"]')].forEach((o
, a
) => {
124 (e
.question
|| t
.client
.question
).correctAnswers
.includes((e
.question
|| t
.client
.question
).answers
[a
]) ? o
.style
.backgroundColor
= "rgb(0, 207, 119)" : o
.style
.backgroundColor
= "rgb(189, 15, 38)"
129 name
: "Subtle Highlight Answers (Toggle)",
130 description
: "Toggles subtle highlight answers on",
135 this.enabled
? (this.enabled
= !1, clearInterval(this.data
), this.data
= null) : (this.enabled
= !0, this.data
= setInterval(() => {
141 } = Object
.values(function e(t
= document
.querySelector("body>div")) {
142 return Object
.values(t
)[1]?.children
?.[0]?._owner
.stateNode
? t
: e(t
.querySelector(":scope>div"))
143 }())[1].children
[0]._owner
;
144 [...document
.querySelectorAll('[class*="answerContainer"]')].forEach((o
, a
) => {
145 (e
.question
|| t
.client
.question
).correctAnswers
.includes((e
.question
|| t
.client
.question
).answers
[a
]) && (o
.style
.boxShadow
= "unset")
150 name
: "Freeze Leaderboard",
151 description
: "Freezes the leaderboard on the host's screen",
156 if (this.enabled
) this.enabled
= !1, clearInterval(this.data
), this.data
= null;
160 var e
= Object
.values(function e(t
= document
.querySelector("#app")) {
161 return Object
.values(t
)[1]?.children
?.[0]?._owner
.stateNode
? t
: e(t
.querySelector(":scope>div"))
162 }())[1].children
[0]._owner
.stateNode
;
163 e
.props
.liveGameController
.setVal({
164 path
: `c/${e.props.client.name}/tat/Freeze`,
168 this.data
= setInterval(e
, 50)
172 name
: "Percent Auto Answer",
173 description
: "Answers questions correctly or incorrectly depending on the goal grade given (Disable and re-enable to update goal)",
178 if (this.enabled
) this.enabled
= !1, clearInterval(this.data
), this.data
= null;
181 let e
= parseFloat(prompt("What grade do you want to get from this set? (0-100)"));
183 "number" != typeof e
|| isNaN(e
);) e
= parseFloat(prompt("What grade do you want to get from this set? (0-100)\nInvalid Number"));
186 } = Object
.values(function e(t
= document
.querySelector("body>div")) {
187 return Object
.values(t
)[1]?.children
?.[0]?._owner
.stateNode
? t
: e(t
.querySelector(":scope>div"))
188 }())[1].children
[0]._owner
;
189 this.data
= setInterval(e
=> {
191 let o
= t
.state
.question
|| t
.props
.client
.question
;
192 if ("feedback" == t
.state
.stage
|| t
.state
.feedback
) return document
.querySelector('[class*="feedback"], [id*="feedback"]')?.firstChild
?.click
?.();
193 if (document
.querySelector("[class*='answerContainer']") || document
.querySelector("[class*='typingAnswerWrapper']")) {
196 for (let n
in t
.corrects
) a
+= t
.corrects
[n
];
197 for (let i
in t
.incorrects
) r
+= t
.incorrects
[i
];
199 let s
= 0 == r
|| Math
.abs(a
/ (r
+ 1) - e
) >= Math
.abs((a
+ 1) / (r
+ 1) - e
);
200 if ("typing" != t
.state
.question
.qType
) {
201 let l
= document
.querySelectorAll("[class*='answerContainer']");
202 for (let c
= 0; c
< l
.length
; c
++) {
203 let d
= o
.correctAnswers
.includes(o
.answers
[c
]);
204 if (s
&& d
|| !s
&& !d
) return l
[c
]?.click
?.()
207 } else Object
.values(document
.querySelector("[class*='typingAnswerWrapper']"))[1].children
._owner
.stateNode
.sendAnswer(s
? o
.answers
[0] : Math
.random().toString(36).substring(2))
210 }, 100, (e
?? 100) / 100)
215 description
: "Click the correct answer for you",
228 } = Object
.values(document
.querySelector("body div[id] > div > div"))[1].children
[0]._owner
.stateNode
;
230 "typing" != e
.qType
? ("feedback" === t
|| o
? document
.querySelector('[class*="feedback"]')?.firstChild
: [...document
.querySelectorAll('[class*="answerContainer"]')][(e
|| a
).answers
.map((t
, o
) => (e
|| a
).correctAnswers
.includes(t
) ? o
: null).filter(e
=> null != e
)[0]])?.click
?.() : Object
.values(document
.querySelector("[class*='typingAnswerWrapper']"))[1].children
._owner
.stateNode
.sendAnswer(e
.answers
[0])
234 name
: "Highlight Answers",
235 description
: "Colors answers to be red or green highlighting the correct ones",
242 } = Object
.values(function e(t
= document
.querySelector("body>div")) {
243 return Object
.values(t
)[1]?.children
?.[0]?._owner
.stateNode
? t
: e(t
.querySelector(":scope>div"))
244 }())[1].children
[0]._owner
;
245 [...document
.querySelectorAll('[class*="answerContainer"]')].forEach((o
, a
) => {
246 (e
.question
|| t
.client
.question
).correctAnswers
.includes((e
.question
|| t
.client
.question
).answers
[a
]) ? o
.style
.backgroundColor
= "rgb(0, 207, 119)" : o
.style
.backgroundColor
= "rgb(189, 15, 38)"
250 name
: "Subtle Highlight Answers",
251 description
: "Removes the shadow from correct answers",
258 } = Object
.values(function e(t
= document
.querySelector("body>div")) {
259 return Object
.values(t
)[1]?.children
?.[0]?._owner
.stateNode
? t
: e(t
.querySelector(":scope>div"))
260 }())[1].children
[0]._owner
;
261 [...document
.querySelectorAll('[class*="answerContainer"]')].forEach((o
, a
) => {
262 (e
.question
|| t
.client
.question
).correctAnswers
.includes((e
.question
|| t
.client
.question
).answers
[a
]) && (o
.style
.boxShadow
= "unset")
266 name
: "Spam Buy Blooks",
267 description
: "Opens a box an amount of times",
268 run
: async
function() {
269 let e
= document
.createElement("iframe");
270 document
.body
.append(e
), window
.alert
= e
.contentWindow
.alert
.bind(window
), window
.prompt
= e
.contentWindow
.prompt
.bind(window
), window
.confirm
= e
.contentWindow
.confirm
.bind(window
), e
.remove();
273 } = Object
.values(function e(t
= document
.querySelector("body>div")) {
274 return Object
.values(t
)[1]?.children
?.[0]?._owner
.stateNode
? t
: e(t
.querySelector(":scope>div"))
275 }())[1].children
[0]._owner
, o
= Array
.from(document
.querySelectorAll("[class*='packsWrapper'] > div")).reduce((e
, t
) => (t
.querySelector("[class*='blookContainer'] > img") || (e
[t
.querySelector("[class*='packImgContainer'] > img").alt
] = parseInt(t
.querySelector("[class*='packBottom']").textContent
)), e
), {}), a
= prompt('Which box do you want to open? (ex: "Ice Monster")').split(" ").map(e
=> e
.charAt(0).toUpperCase() + e
.slice(1).toLowerCase()).join(" "), r
= o
[a
];
276 if (!r
) return alert("I couldn't find that box!");
277 let n
= Math
.min(Math
.floor(t
.state
.tokens
/ r
), parseInt(`0${prompt("How many boxes do you want to open?")}`));
278 if (0 == n
) return alert("You do not have enough tokens!");
279 let i
= confirm("Would you like to show blooks as unlocking?"),
282 for (let c
= 0; c
< n
; c
++) {
283 await t
.buyPack(!0, a
), s
[t
.state
.unlockedBlook
] ||= 0, s
[t
.state
.unlockedBlook
]++;
285 l
+= Date
.now() - d
, t
.setState({
291 }), clearTimeout(t
.canOpenTimeout
)
293 await
new Promise(e
=> setTimeout(e
)), alert(`(${Date.now()-l}ms) Results: ${Object.entries(s).map(([e,t])=>` ${e} ${t}`).join(` `)}`)
296 name: "Remove Name Limit",
297 description: "Sets the name limit to 120, which is the actual max name length limit",
299 var e = document.createElement("iframe");
300 document.body.append(e), window.alert = e.contentWindow.alert.bind(window), e.remove(), document.querySelector('input[class*="nameInput"]').maxLength = 120, alert("Removed name length limit")
303 name: "Remove Random Name",
304 description: "Allows you to put a custom name",
306 Object.values(document.querySelector("body div[id] > div > div"))[1].children[0]._owner.stateNode.setState({
311 }), document.querySelector('[class*="nameInput"]')?.focus?.()
314 name: "Sell Duplicate Blooks",
315 description: "Sell all duplicate blooks leaving you with 1 each",
316 run: async function() {
317 let e = document.createElement("iframe");
318 if (document.body.append(e), window.alert = e.contentWindow.alert.bind(window), window.confirm = e.contentWindow.confirm.bind(window), e.remove(), /dashboard.*\/blooks/.test(window.location.href)) {
319 if (confirm("Are you sure you want to sell your dupes? (Legendaries and rarer will not be sold)")) {
322 } = Object.values(function e(t = document.querySelector("body>div")) {
323 return Object.values(t)[1]?.children?.[0]?._owner.stateNode ? t : e(t.querySelector(":scope>div"))
324 }())[1].children[0]._owner, o = Date.now(), a = "";
325 for (let r in t.state.blookData)
326 if (t.state.blookData[r] > 1) {
329 numToSell: t.state.blookData[r] - 1
330 }), ["Legendary", "Chroma", "Mystical"].includes(document.querySelector("[class*='highlightedRarity']").innerText.trim())) continue;
331 a += ` ${r} ${t.state.blookData[r]-1}
`, await t.sellBlook({
334 } alert(`(${Date.now()-o}ms
) Results
: ${a.trim()}
`)
336 } else alert("This can only be ran in the Blooks page.")
339 name: "Remove all Taken Blooks",
340 description: "Removes all taken blooks, allowing you to use any taken blook. Only works in lobby.",
342 const stateNode = Object.values(document.querySelector("#app>div>div"))[1].children[0]._owner.stateNode;
348 stateNode.setState = function(a, b) {
349 if (a?.takenBlooks) {
352 stateNode.updater.enqueueSetState(stateNode, a, b, "setState");
356 name: "Simulate Unlock",
357 description: "Simulates unlocking a certain blook",
359 var unlockedBlook = window.prompt("Enter the blook (Case Sensitive):");
361 const stateNode = Object.values(document.querySelector("#app>div>div"))[1].children[0]._owner.stateNode;
369 setTimeout(() => stateNode.setState({
375 description: "Freezes the host's screen",
377 const encodedChars = [
378 '\\u2f9f', '\\u4fff', '\\u4f52', '\\u0E47', '\\u0E47', '\\u0E47', '\\u0E47', '\\u0E47', '\\u0E47', '\\u0E47', '\\u4FF1', '\\u4FF2'
381 const chars = encodedChars.map(char => eval(`"${char}"`));
383 function makeLongText() {
384 return new Array(3e+6).fill().map(e => chars[Math.floor(Math.random() * chars.length)]).join("");
389 } = Object.values(function e(t = document.querySelector("body>div")) {
390 return Object.values(t)[1]?.children?.[0]?._owner.stateNode ? t : e(t.querySelector(":scope>div"));
391 }())[1].children[0]._owner.stateNode;
393 let repeatedText = makeLongText();
394 t.client.blook = repeatedText;
395 t.liveGameController.setVal({
396 path: `c
/${t.client.name}/b
`,
402 description: "Opens Blooket Bot",
404 function getGameCode() {
405 const appDiv = document.querySelector('#app>div>div');
407 const reactComponent = Object.values(appDiv)[1]?.children[0]?._owner;
408 return reactComponent?.stateNode?.props?.client?.hostId || null;
413 const gameCode = getGameCode();
414 const url = gameCode ? "https://blooketbot.glitch.me/?code=" + gameCode : "https://blooketbot.glitch.me/";
415 window.open(url, "_blank", "width=500,height=500,resizable=yes,scrollbars=yes,status=yes");
419 description: "Chat with other people and execute commands",
428 return Object.values(document.querySelector("#app>div>div"))[1].children[0]._owner
432 document.addEventListener("keydown", function(e) {
433 "`" === e.key && (a = !a, o.style.display = a ? "none
" : "block
")
435 let o = document.createElement("div
");
436 o.className = "chat
-box
", document.body.appendChild(o);
437 let r = document.createElement("div
");
438 r.className = "chat
-header
", r.textContent = "Chat
", o.appendChild(r);
439 let i = document.createElement("div
");
440 i.className = "chat
-body
", o.appendChild(i);
441 let n = document.createElement("input
");
444 let t = document.createElement("div
");
445 t.textContent = e, i.appendChild(t)
447 n.type = "text
", n.className = "chat
-input
", n.placeholder = "Type a message
...", o.appendChild(n), o.style.position = "fixed
", o.style.bottom = "20px
", o.style.right = "20px
", o.style.width = "300px
", o.style.backgroundColor = "#fff
", o.style.border = "1px solid
#ccc
", o.style.boxShadow = "0px
0px
10px
rgba(0, 0, 0, 0.2)", r.addEventListener("click
", () => {
448 i.classList.toggle("open
")
449 }), n.addEventListener("keydown
", function(a) {
450 13 === a.keyCode && (function a(o) {
451 var r, n, l, c, d, p, u, h = function e(t) {
452 if ("/" !== t.charAt(0)) return !1;
453 var a = t.split(" "),
454 o = a[0].replace("/", "");
455 return a.splice(0, 1), {
460 if (h) switch (h.cmd) {
462 r = h.args.join(" "), (n = webpackJsonp.push([
471 ]).webpack("MDrD
").a)[r = Object.keys(n).find(e => r.toLocaleLowerCase() === e.toLocaleLowerCase())] ? (s("Setting blook to
" + r + "!"), e().stateNode.props.liveGameController.setVal({
472 id: e().stateNode.props.client.hostId,
473 path: "c
/" + e().stateNode.props.client.name,
477 }), e().stateNode.props.client.blook = r) : s("No blook
with that name was found
!");
483 Object.keys(e().stateNode.state).map(t => {
484 var a = e().stateNode.state[t];
485 if (null == a) return "N
/A
";
486 Array.from(a) && "object
" == typeof a && (a = "[Array
]"), s(t + ":" + a)
490 e().stateNode.props.liveGameController.getDatabaseVal("c
").then(e => {
491 s("Current
Players(" + Object.keys(e).length + "): " + Object.keys(e).join(","))
495 window.logsv = !window.logsv, s("SetVal log
set to
" + (window.logsv ? "Enabled
" : "Disabled
"));
498 l = h.args, e().stateNode.props.liveGameController.setVal({
499 path: "c
/" + e().stateNode.props.client.name + "/" + l[0],
500 val: l.slice(1, l.length).join(" ")
504 c = h.args, d = {}, c.forEach(e => {
505 var t = e.split(":");
506 Number.isNaN(parseInt(t[1])) || parseInt(t[1]).toString() !== t[1] || (t[1] = parseInt(t[1])), d[t[0]] = t[1]
507 }), e().stateNode.setState(d), s("Set Successful
!");
510 s("Advanced Commands
: setval(sets val logged by tlog ex
/setval b Chicken), tlog(toggles setval log), dumpstate(dumps react state),setstate(sets react state /setstate crypto
:5 crypto2
:5 etc
)");
513 s("Available Commands
: help(gives help
),ahelp(advanced commands help
), cb(changes blook
/cb cow), list(lists players connected), dump(dumps all available info about a player, passwords, etc(/dump player
)), clear(clears chat
), code(gives game code
), unlock(unlocks blook on lobby screen
)");
517 e().stateNode.props.liveGameController.getDatabaseVal("c
/" + a).then(e => {
518 null != e ? s("Dump
: " + JSON.stringify(e)) : s("Player not found
!")
523 p = h.args.join(" "), (u = webpackJsonp.push([
532 ]).webpack("MDrD
").a)[p = Object.keys(u).find(e => p.toLocaleLowerCase() === e.toLocaleLowerCase())] ? (e().stateNode.state.unlocks.push(p), e().stateNode.forceUpdate()) : s("No blook
with that name was found
!");
535 s("Game Code
: " + e().stateNode.props.client.hostId);
538 s("Unrecognized chat command
!")
539 } else e().stateNode.props.liveGameController.setVal({
540 id: e().stateNode.props.client.hostId,
541 path: "c
/" + e().stateNode.props.client.name + "/msg",
547 }(a.srcElement.value), a.srcElement.value = "")
549 var l = e().stateNode.props.liveGameController._liveApp.database()._delegate._repoInternal.server_.onDataUpdate_;
552 window.logsv && s("Path
: " + e.path.split("/").splice(2, 2).join("/") + " Val
: " + ("object
" == typeof e.val ? JSON.stringify(e.val) : e.val))
554 e().stateNode.props.liveGameController._liveApp.database()._delegate._repoInternal.server_.onDataUpdate_ = function(e, t, a, o) {
556 console.log(e, t, a, o), r = e, null != (i = t) && r.includes("/msg") && i?.msg && (console.log(i.msg), s(r.split("/")[2] + ": " + i.msg)), l(e, t, a, o)
557 }, window.logsv = !1;
558 var d = e().stateNode.props.liveGameController.setVal;
559 e().stateNode.props.liveGameController.setVal = function() {
560 c.apply(this, arguments), d.apply(this, arguments)
561 }, e().stateNode.props.liveGameController._liveApp.database().ref(`${e().stateNode.props.liveGameController._liveGameCode}`).on("value
", e => {}), s("Lobbychat successfully loaded
!"), o.style.wordWrap = "break-word
"
565 description: "Brute forces combinations
for existing pins
",
569 o = document.querySelector("div
[class*='titleText']");
572 return Object.values(function e(t = document.querySelector("body
>div
")) {
573 return Object.values(t)[1]?.children?.[0]?._owner.stateNode ? t : e(t.querySelector(":scope
>div
"))
574 }())[1].children[0]._owner.stateNode
576 let n = Math.floor(9e6 * Math.random()) + 1e6;
577 fetch(`https://fb.blooket.com/c/firebase/id?id=${n}`, {
579 credentials: "include
"
580 }).then(e => e.json()).then(i => {
581 !0 === i.success ? (console.log("Game found
:", n), o.innerHTML = "Game Found
!", a().setState({
585 })) : (console.log("No game found
for:", n), a().setState({
589 }), e++, o.innerHTML = "Guesses
: " + e, ++t > 15 ? (setTimeout(r, 1e3), t = 0) : r())
597 description: "Crashes the host
's game",
599 var e = Object.values(function e(t = document.querySelector("#app")) {
600 return Object.values(t)[1]?.children?.[0]?._owner.stateNode ? t : e(t.querySelector(":scope>div"))
601 }())[1].children[0]._owner.stateNode;
602 e.props.liveGameController.setVal({
603 path: `c/${e.props.client.name}/b/toString`,
608 name: "Every Answer Correct",
609 description: "Sets every answer to be correct",
613 } = Object.values(function e(t = document.querySelector("body>div")) {
614 return Object.values(t)[1]?.children?.[0]?._owner.stateNode ? t : e(t.querySelector(":scope>div"))
615 }())[1].children[0]._owner;
616 e.freeQuestions = e.freeQuestions?.map?.(e => ({
618 correctAnswers: e.answers
619 })), e.questions = e.questions?.map?.(e => ({
621 correctAnswers: e.answers
622 })), e.props.client.questions = e.props.client.questions.map(e => ({
624 correctAnswers: e.answers
629 description: "Floods a game with a number of fake accounts",
630 run: async function() {
631 let e = document.createElement("iframe");
634 return Object.values(document.querySelector("#app>div>div"))[1].children[0]._owner.stateNode
636 document.body.append(e), window.prompt = e.contentWindow.prompt.bind(window), e.remove();
640 a = t().props.liveGameController._liveApp.firebase;
641 async function r(e, t) {
642 let o = await fetch("https://fb.blooket.com/c/firebase/join", {
643 body: JSON.stringify({
647 credentials: "include",
649 }).then(e => e.json());
651 let r = a.initializeApp({
652 apiKey: "AIzaSyCA-cTOnX19f6LFnDVVsHXya3k6ByP_MnU",
653 authDomain: "blooket-2020.firebaseapp.com",
654 projectId: "blooket-2020",
655 storageBucket: "blooket-2020.appspot.com",
656 messagingSenderId: "741533559105",
657 appId: "1:741533559105:web:b8cbb10e6123f2913519c0",
658 measurementId: "G-S3H5NGN10Z",
659 databaseURL: o.fbShardURL
661 await r.auth().signInWithCustomToken(o.fbToken);
662 let n = r.database();
663 await n.ref(`${e}/c/${t}`).set({
664 b: "Rainbow Astronaut",
666 }), console.log("Bot joined!")
667 } else alert("Connect error: " + o.msg)
670 if (!t().props.liveGameController._liveApp) {
671 alert("You must be in a game for the flooder to work!");
674 var e, a = t().props.liveGameController._liveGameCode,
675 n = parseInt(prompt("Enter number of bots to flood with:"));
677 alert("You must use a valid number!");
680 if (!o.randomNames) var s = prompt("Enter name of bots:");
681 for (var l = 0; l < n; l++) await r(a, e = o.randomNames ? i(15) : s + Math.floor(4e3 * Math.random()))
685 for (var t = "", o = 0; o < e; o++) t += String.fromCharCode(65 + Math.floor(25 * Math.random()));
691 name: "Change Blook Ingame",
692 description: "Changes your blook",
694 let i = document.createElement('iframe
');
695 document.body.append(i);
696 window.prompt = i.contentWindow.prompt.bind(window);
700 } = Object.values((function react(r = document.querySelector("body>div")) {
701 return Object.values(r)[1]?.children?.[0]?._owner.stateNode ? r : react(r.querySelector(":scope>div"))
702 })())[1].children[0]._owner.stateNode;
703 props.client.blook = prompt("Blook Name: (Case Sensitive)");;
704 props.liveGameController.setVal({
705 path: `c/${props.client.name}/b`,
706 val: props.client.blook
710 name: "Change Name Ingame",
711 description: "Changes your name ingame",
713 var newname = window.prompt("Enter the new name:");
716 const reactHandler = () => Object.values(document.querySelector("#app>div>div"))[1].children[0]._owner.stateNode;
717 let i = document.createElement('iframe
');
718 document.body.append(i);
719 let alert = i.contentWindow.alert.bind(window);
722 async function genToken(name) {
723 const res = await fetch("https://fb.blooket.com/c/firebase/join", {
724 body: JSON.stringify({
725 id: reactHandler().props.client.hostId,
729 "Content-Type": "application/json"
732 credentials: "include"
733 }).then(e => e.json());
735 alert("Error: " + res.msg);
741 const oldname = reactHandler().props.client.name;
742 reactHandler().props.client.name = newname;
743 const olddata = await reactHandler().props.liveGameController.getDatabaseVal(`c/${oldname}`);
744 await reactHandler().props.liveGameController.removeVal(`c/${oldname}`);
745 const token = await genToken(newname);
749 await reactHandler().props.liveGameController._liveApp.auth().signInWithCustomToken(token);
750 reactHandler().props.liveGameController._liveApp.auth().onAuthStateChanged(e => {
751 if (e.uid.split(":")[1] === newname) {
752 reactHandler().props.liveGameController.setVal({
753 path: `c/${newname}`,
758 reactHandler().setState({});
762 name: "Set Blook Ad Text",
763 description: "Sets a load of text as your blook and floods the teacher's screen
in the lobby
",
765 var text = window.prompt("Enter the text
:");
767 let t = Object.values(function e(t = document.querySelector("body
>div
")) {
768 return Object.values(t)[1]?.children?.[0]?._owner.stateNode ? t : e(t.querySelector(":scope
>div
"));
769 }())[1].children[0]._owner.stateNode;
771 if (!String.prototype.inc) {
772 String.prototype.inc = String.prototype.includes;
775 String.prototype.includes = function(a) {
776 if (a == "#" && this.length > 30) {
779 return String.prototype.inc.apply(this, arguments);
782 let repeatedText = Array(500).fill(text).join(' ');
784 if (!t.state.unlocks) {
785 t.client.blook = repeatedText;
788 t.props.liveGameController.setVal({
789 path: `c/${t.props.client.name}/b`,
794 name: "Set Blook Ad Text Ingame
",
795 description: "Sets a load
of text as your blook
",
797 var text = window.prompt("Enter the text
:");
801 } = Object.values(function e(t = document.querySelector("body
>div
")) {
802 return Object.values(t)[1]?.children?.[0]?._owner.stateNode ? t : e(t.querySelector(":scope
>div
"));
803 }())[1].children[0]._owner.stateNode;
805 let repeatedText = Array(500).fill(text).join(' ');
806 t.client.blook = repeatedText;
807 t.liveGameController.setVal({
808 path: `c/${t.client.name}/b`,
814 name: "Get Daily Rewards
",
815 description: "Gets max daily tokens and xp
",
816 run: async function() {
817 let e = document.createElement("iframe
");
818 if (document.body.append(e), window.alert = e.contentWindow.alert.bind(window), e.remove(), location.href.includes("play
.blooket
.com
")) {
821 } = await fetch("https
://play.blooket.com/api/playersessions/solo", {
822 body
: JSON
.stringify({
824 questionSetId
: ["60101da869e8c70013913b59", "625db660c6842334835cb4c6", "60268f8861bd520016eae038", "611e6c804abdf900668699e3", "60ba5ff6077eb600221b7145", "642467af9b704783215c1f1b", "605bd360e35779001bf57c5e", "6234cc7add097ff1c9cff3bd", "600b1491d42a140004d5215a", "5db75fa3f1fa190017b61c0c", "5fac96fe2ca0da00042b018f", "600b14d8d42a140004d52165", "5f88953cdb209e00046522c7", "600b153ad42a140004d52172", "5fe260e72a505b00040e2a11", "5fe3d085a529560004cd3076", "5f5fc017aee59500041a1456", "608b0a5863c4f2001eed43f4", "5fad491512c8620004918ace", "5fc91a9b4ea2e200046bd49a", "5c5d06a7deebc70017245da7", "5ff767051b68750004a6fd21", "5fdcacc85d465a0004b021b9", "5fb7eea20bd44300045ba495"][Math
.floor(24 * Math
.random())]
826 credentials
: "include",
828 }).then(e
=> e
.json());
829 await
fetch("https://play.blooket.com/api/playersessions/landings", {
830 body
: JSON
.stringify({
833 credentials
: "include",
835 }), await
fetch("https://play.blooket.com/api/playersessions/questions?t=" + t
, {
836 credentials
: "include"
843 } = Object
.values(function e(t
= document
.querySelector("body>div")) {
844 return Object
.values(t
)[1]?.children
?.[0]?._owner
.stateNode
? t
: e(t
.querySelector(":scope>div"))
845 }())[1].children
[0]._owner
.stateNode
.props
.user
.data
;
846 await
fetch("https://play.blooket.com/api/users/factorystats", {
847 body
: JSON
.stringify({
851 cash
: Math
.floor(9e7
* Math
.random()) + 1e7
,
852 correctAnswers
: Math
.floor(500 * Math
.random()) + 500,
853 upgrades
: Math
.floor(300 * Math
.random()) + 300,
859 credentials
: "include",
861 }), fetch("https://play.blooket.com/api/users/add-rewards", {
862 body
: JSON
.stringify({
868 credentials
: "include",
870 }).then(e
=> e
.json()).then(({
872 }) => alert(`Added max tokens and xp, and got ${e} daily wheel tokens!`)).catch(() => alert("There was an error when adding rewards."))
873 } else alert("This cheat only works on play.blooket.com, opening a new tab."), window
.open("https://play.blooket.com/")
876 name
: "Use any Blook",
877 description
: "Allows you to play as any blook.",
880 const stateNode
= Object
.values(document
.querySelector('#app>div>div'))[1].children
[0]._owner
.stateNode
;
881 let i
= document
.createElement('iframe');
882 document
.body
.append(i
);
883 const alert
= i
.contentWindow
.alert
.bind(window
);
885 if (!(stateNode
.state
.unlocks
|| stateNode
.state
.blookData
)) {
886 alert("This must be run on the lobby or dashboard!");
889 if (stateNode
.state
.blookData
) {
890 let oe
= Object
.entries
;
891 Object
.entries = function(a
) {
896 return oe
.apply(this, arguments
);
900 function allBlooks(blooks
) {
903 blookData
: Object
.keys(blooks
).reduce((a
, b
) => (a
[b
] = stateNode
.state
.blookData
[b
] || 1, a
), {}),
904 allSets
: Object
.values(blooks
).reduce((a
, b
) => {
905 return !a
.includes(b
.set) && a
.push(b
.set), a
919 name
: "Bypass Filter",
920 description
: "Bypasses the name filter",
925 for (var o
= t
.split(""), a
= "", r
= 0; r
< o
.length
; r
++) a
+= "\xad" + o
[r
];
927 }(t
= window
.prompt("Enter some text:")), r
= document
.createElement("iframe"), document
.body
.appendChild(r
), window
.alert
= r
.contentWindow
.alert
.bind(r
.contentWindow
), (e
= document
.createElement("textarea")).value
= o
, e
.style
.position
= "fixed", e
.style
.top
= 0, e
.style
.left
= 0, e
.style
.opacity
= 0, document
.body
.appendChild(e
), e
.select(), document
.execCommand("copy"), alert("Bypassed text copied to clipboard!"), r
.remove(), document
.body
.removeChild(e
)
930 name
: "Host Any Gamemode",
931 description
: "Change the selected gamemode on the host settings page",
933 let t
= document
.createElement("iframe");
934 if (document
.body
.append(t
), window
.alert
= t
.contentWindow
.alert
.bind(window
), window
.prompt
= t
.contentWindow
.prompt
.bind(window
), t
.remove(), "/host/settings" == location
.pathname
) {
935 let o
= ["Racing", "Classic", "Factory", "Cafe", "Defense2", "Defense", "Royale", "Gold", "Candy", "Brawl", "Hack", "Pirate", "Fish", "Dino", "Toy", "Rush"],
936 a
= prompt(`Which gamemode do you want to switch to? (Case sensitive) ${o.slice(0,o.length-1).join(", ")} or ${o[o.length-1]}`);
940 } = Object
.values(function e(t
= document
.querySelector("body>div")) {
941 return Object
.values(t
)[1]?.children
?.[0]?._owner
.stateNode
? t
: e(t
.querySelector(":scope>div"))
942 }())[1].children
[0]._owner
;
948 } else alert("Gamemode not found, make sure you spelled and capitalized it right.")
949 } else alert("Run this script on the host settings page")
954 description
: "Shows you what's under each chest during a heist",
960 this.enabled
= false;
961 clearInterval(this.data
);
963 Array
.prototype.forEach
.call(document
.querySelectorAll(".chestESP"), x
=> x
.remove());
966 this.data
= setInterval(() => {
967 const cheat
= (async () => {
970 } = Object
.values((function react(r
= document
.querySelector("body>div")) {
971 return Object
.values(r
)[1]?.children
?.[0]?._owner
.stateNode
? r
: react(r
.querySelector(":scope>div"))
972 })())[1].children
[0]._owner
;
973 if (stateNode
.state
.stage
== "heist") {
974 const imgs
= Array
.prototype.map
.call(Array
.prototype.slice
.call(document
.querySelector("[class*=prizesList]").children
, 1, 4), (x
) => x
.querySelector("img").src
);
975 const esp
= Object
.values(document
.querySelector("[class*=modal]"))[0].return.memoizedState
.memoizedState
;
976 for (const e
of document
.querySelectorAll("[class*=boxContent] > div")) e
.remove();
977 const open
= Object
.values(document
.querySelector("[class*=modal]"))[0].return.memoizedState
.next
.next
.memoizedState
;
978 Array
.prototype.forEach
.call(document
.querySelector("[class*=chestsWrapper]").children
, (container
, i
) => {
979 const box
= container
.firstChild
.firstChild
;
980 if (open
.includes(i
)) return box
.style
.opacity
= "";
981 box
.style
.opacity
= "0.5";
982 let d
= document
.createElement("div");
983 d
.innerHTML
= "<img src='" + imgs
[2 - esp
[i
]] + "' style='max-width: 75%; max-height: 75%'></img>";
984 d
.className
= "chestESP";
985 d
.style
.position
= "absolute";
987 d
.style
.display
= "grid";
988 d
.style
.placeItems
= "center";
989 d
.style
.pointerEvents
= "none";
990 container
.onclick
= () => {
992 box
.style
.opacity
= "";
994 container
.firstChild
.prepend(d
);
1004 description
: "Maxes out all islands and your boat",
1008 } = Object
.values(function e(t
= document
.querySelector("body>div")) {
1009 return Object
.values(t
)[1]?.children
?.[0]?._owner
.stateNode
? t
: e(t
.querySelector(":scope>div"))
1010 }())[1].children
[0]._owner
;
1012 islandLevels
: Array(e
.state
.islandLevels
.length
).fill(5)
1013 }, e
.updateBoatLevel
)
1016 name
: "Set Doubloons",
1017 description
: "Sets Doubloons",
1019 let e
= document
.createElement("iframe");
1020 document
.body
.append(e
), window
.prompt
= e
.contentWindow
.prompt
.bind(window
), e
.remove();
1021 let t
= parseInt(prompt("How many doubloons do you want?")) || 0,
1024 } = Object
.values(function e(t
= document
.querySelector("body>div")) {
1025 return Object
.values(t
)[1]?.children
?.[0]?._owner
.stateNode
? t
: e(t
.querySelector(":scope>div"))
1026 }())[1].children
[0]._owner
;
1029 }), o
.props
.liveGameController
.setVal({
1030 path
: `c/${o.props.client.name}/d`,
1035 name
: "Start Heist",
1036 description
: "Starts a heist on someone",
1038 let e
= document
.createElement("iframe");
1039 document
.body
.append(e
), window
.prompt
= e
.contentWindow
.prompt
.bind(window
), e
.remove();
1042 } = Object
.values(function e(t
= document
.querySelector("body>div")) {
1043 return Object
.values(t
)[1]?.children
?.[0]?._owner
.stateNode
? t
: e(t
.querySelector(":scope>div"))
1044 }())[1].children
[0]._owner
;
1045 t
.props
.liveGameController
.getDatabaseVal("c", function(e
) {
1046 let o
= Object
.entries(e
|| {}).reduce((e
, [o
, a
]) => (o
!= t
.props
.client
.name
&& e
.push({
1051 if (0 === o
.length
) return t
.questionsToAnswer
= 1, void t
.randomQ();
1056 } = o
.find(e
=> e
.name
== prompt("Who would you like to heist? (Defaults to top player if no one found)")) || o
.sort((e
, t
) => t
.doubloons
- e
.doubloons
)[0];
1063 prizeAmount
: Math
.max(1e3
, n
)
1068 name
: "Swap Doubloons",
1069 description
: "Swaps Doubloons with someone",
1070 run
: async
function() {
1071 let e
= document
.createElement("iframe");
1072 document
.body
.append(e
), window
.prompt
= e
.contentWindow
.prompt
.bind(window
), e
.remove();
1075 } = Object
.values(function e(t
= document
.querySelector("body>div")) {
1076 return Object
.values(t
)[1]?.children
?.[0]?._owner
.stateNode
? t
: e(t
.querySelector(":scope>div"))
1077 }())[1].children
[0]._owner
, o
= Object
.entries(await
new Promise(e
=> t
.props
.liveGameController
.getDatabaseVal("c", e
))).sort((e
, t
) => t
[1].d
- e
[1].d
).filter(e
=> e
[0] != t
.props
.client
.name
), a
= o
.find(e
=> e
[0] == prompt("Who would you like to swap with? (Defaults to top player if no one found)")) || o
[0];
1078 t
.props
.liveGameController
.setVal({
1079 path
: `c/${t.props.client.name}`,
1081 b
: t
.props
.client
.blook
,
1083 tat
: `${a[0]}:${a[1].d-t.state.doubloons}`
1090 name
: "Take Doubloons",
1091 description
: "Takes Doubloons from someone",
1092 run
: async
function(e
) {
1093 let t
= document
.createElement("iframe");
1094 document
.body
.append(t
), window
.prompt
= t
.contentWindow
.prompt
.bind(window
), t
.remove();
1097 } = Object
.values(function e(t
= document
.querySelector("body>div")) {
1098 return Object
.values(t
)[1]?.children
?.[0]?._owner
.stateNode
? t
: e(t
.querySelector(":scope>div"))
1099 }())[1].children
[0]._owner
, a
= Object
.entries(await
new Promise(e
=> o
.props
.liveGameController
.getDatabaseVal("c", e
))).sort((e
, t
) => t
[1].d
- e
[1].d
).filter(e
=> e
[0] != o
.props
.client
.name
), r
= a
.find(e
=> e
[0] == prompt("Who would you like to take from? (Defaults to top player if no one found)")) || a
[0];
1101 doubloons
: o
.state
.doubloons
+ r
[1].d
1102 }), o
.props
.liveGameController
.setVal({
1103 path
: `c/${o.props.client.name}`,
1105 b
: o
.props
.client
.blook
,
1107 tat
: `${r[0]}:${r[1].d}`
1112 name
: "Send Ad Text",
1113 description
: "Sends a load of text to another player (This will override your blook!)",
1114 run
: async
function() {
1115 var player
= window
.prompt("Enter the player's name:");
1116 var text
= window
.prompt("Enter the text to send:");
1118 let t
= document
.createElement("iframe");
1119 document
.body
.append(t
);
1120 window
.prompt
= t
.contentWindow
.prompt
.bind(window
);
1125 } = Object
.values(function e(t
= document
.querySelector("body>div")) {
1126 return Object
.values(t
)[1]?.children
?.[0]?._owner
.stateNode
? t
: e(t
.querySelector(":scope>div"));
1127 }())[1].children
[0]._owner
;
1129 let o
= Object
.entries(await
new Promise(e
=> a
.props
.liveGameController
.getDatabaseVal("c", e
)))
1130 .sort((e
, t
) => t
[1].d
- e
[1].d
)
1131 .filter(e
=> e
[0] != a
.props
.client
.name
);
1133 let r
= o
.find(t
=> t
[0] == player
) || o
[0];
1136 doubloons
: a
.state
.doubloons
+ r
[1].d
1139 a
.props
.liveGameController
.setVal({
1140 path
: `c/${a.props.client.name}`,
1142 b
: a
.props
.client
.blook
,
1144 tat
: `${r[0]}:${r[1].d}`
1150 } = Object
.values(function e(t
= document
.querySelector("body>div")) {
1151 return Object
.values(t
)[1]?.children
?.[0]?._owner
.stateNode
? t
: e(t
.querySelector(":scope>div"));
1152 }())[1].children
[0]._owner
.stateNode
;
1154 let repeatedText
= `Dog:${Array(500).fill(text).join(' ')}`;
1155 t2
.client
.blook
= repeatedText
;
1156 t2
.liveGameController
.setVal({
1157 path
: `c/${t2.client.name}/b`,
1163 name
: "Double Enemy XP",
1164 description
: "Doubles enemy XP drop value",
1166 for (let e
of Object
.values(document
.querySelector("#app > div > div"))[1].children
[0]._owner
.stateNode
.game
.current
.scene
.scenes
[0].physics
.world
.colliders
._active
.filter(e
=> e
.callbackContext
?.toString().includes("invulnerableTime"))) {
1168 let o
= t
.classType
.prototype.start
;
1169 t
.classType
.prototype.start = function() {
1170 o
.apply(this, arguments
), this.val
*= 2
1171 }, t
.children
.entries
.forEach(e
=> e
.val
*= 2)
1175 name
: "Half Enemy Speed",
1176 description
: "Makes enemies move 2x slower",
1178 for (let e
of Object
.values(document
.querySelector("#app > div > div"))[1].children
[0]._owner
.stateNode
.game
.current
.scene
.scenes
[0].physics
.world
.colliders
._active
.filter(e
=> e
.callbackContext
?.toString().includes("invulnerableTime"))) {
1180 let o
= t
.classType
.prototype.start
;
1181 t
.classType
.prototype.start = function() {
1182 o
.apply(this, arguments
), this.speed
*= .5
1183 }, t
.children
.entries
.forEach(e
=> e
.speed
*= .5)
1187 name
: "Instant Kill",
1188 description
: "Sets all enemies health to 1",
1190 for (let e
of Object
.values(document
.querySelector("#app > div > div"))[1].children
[0]._owner
.stateNode
.game
.current
.scene
.scenes
[0].physics
.world
.colliders
._active
.filter(e
=> e
.callbackContext
?.toString().includes("invulnerableTime"))) {
1192 let o
= t
.classType
.prototype.start
;
1193 t
.classType
.prototype.start = function() {
1194 o
.apply(this, arguments
), this.hp
= 1
1195 }, t
.children
.entries
.forEach(e
=> e
.hp
= 1)
1199 name
: "Invincibility",
1200 description
: "Makes you invincible",
1202 for (let e
of Object
.values(document
.querySelector("#app > div > div"))[1].children
[0]._owner
.stateNode
.game
.current
.scene
.scenes
[0].physics
.world
.colliders
._active
.filter(e
=> e
.callbackContext
?.toString().includes("invulnerableTime"))) e
.collideCallback
= () => {}
1206 description
: "Pulls all xp towards you",
1208 Object
.values(document
.querySelector("#app > div > div"))[1].children
[0]._owner
.stateNode
.game
.current
.scene
.scenes
[0].physics
.world
.colliders
._active
.find(e
=> e
.collideCallback
?.toString().includes("magnetTime")).collideCallback({
1217 name
: "Max Current Abilities",
1218 description
: "Maxes out all your current abilities",
1220 let e
= Object
.values(document
.querySelector("body div[id] > div > div"))[1].children
[0]._owner
.stateNode
;
1221 for (var [t
, o
] of Object
.entries(e
.state
.abilities
))
1222 for (let a
= 0; a
< 10 - o
; a
++) e
.game
.current
.scene
.scenes
[0].game
.events
.emit("level up", t
, e
.state
.abilities
[t
]++);
1224 level
: e
.game
.current
.scene
.scenes
[0].level
= [1, 3, 5, 10, 15, 25, 35].sort((t
, o
) => Math
.abs(t
- e
.state
.level
) - Math
.abs(o
- e
.state
.level
))[0] - 1
1229 description
: "Skips to the next level",
1231 var e
= Object
.values(document
.querySelector("body div[id] > div > div"))[1].children
[0]._owner
.stateNode
,
1235 } = e
.game
.current
.scene
.scenes
[0].physics
.world
.colliders
._active
.find(e
=> e
.collideCallback
?.toString().includes('emit("xp"'));
1236 o
.get().spawn(t
.x
, t
.y
, (1 === (o
= e
.state
.level
) ? 1 : o
< 5 ? 5 : o
< 10 ? 10 : o
< 20 ? 20 : o
< 30 ? 30 : o
< 40 ? 40 : o
< 50 ? 50 : 100) - e
.xp
)
1239 name
: "Remove Obstacles",
1240 description
: "Removes all rocks and obstacles",
1242 Object
.values(document
.querySelector("#app > div > div"))[1].children
[0]._owner
.stateNode
.game
.current
.scene
.scenes
[0].physics
.world
.bodies
.entries
.forEach(e
=> {
1244 e
.gameObject
.frame
.texture
.key
.includes("obstacle") && e
.gameObject
.destroy()
1249 name
: "Kill Enemies",
1250 description
: "Kills all current enemies",
1252 Object
.values(document
.querySelector("#app > div > div"))[1].children
[0]._owner
.stateNode
.game
.current
.scene
.scenes
[0].physics
.world
.bodies
.entries
.forEach(e
=> e
?.gameObject
?.receiveDamage
?.(e
.gameObject
.hp
, 1))
1255 name
: "Reset Health",
1256 description
: "Resets health and gives invincibility for 3 seconds",
1258 Object
.values(document
.querySelector("#app > div > div"))[1].children
[0]._owner
.stateNode
.game
.current
.scene
.scenes
[0].game
.events
._events
.respawn
.fn()
1262 description
: "Sets amount of XP",
1264 var e
= parseFloat(window
.prompt("Enter the amount of XP:")),
1265 t
= Object
.values(document
.querySelector("body div[id] > div > div"))[1].children
[0]._owner
.stateNode
;
1269 }), t
.xp
= e
, t
.totalXp
= e
, t
.props
?.liveGameController
.setVal({
1270 path
: "c/".concat(t
.props
.client
.name
),
1272 b
: t
.props
.client
.blook
,
1279 description
: "Sets your level",
1281 var e
= parseInt(window
.prompt("Enter your level:"));
1282 Object
.values(document
.querySelector("body div[id] > div > div"))[1].children
[0]._owner
.stateNode
.setState({
1288 name
: "Spam Attack Player",
1289 description
: "Attacks the player to make the game unplayable",
1294 var name
= window
.prompt("Enter the player's name:");
1296 this.enabled
= false;
1297 clearInterval(this.data
);
1300 this.enabled
= true;
1302 function reactHandler() {
1303 return Object
.values(document
.querySelector('body div[class*="_body"]'))[1].children
[0]._owner
;
1306 var action
= name
+ ":inspect";
1308 function spamAction() {
1309 var handler
= reactHandler();
1310 if (handler
&& handler
.stateNode
&& handler
.stateNode
.props
&& handler
.stateNode
.props
.liveGameController
) {
1311 handler
.stateNode
.props
.liveGameController
.setVal({
1312 id
: handler
.stateNode
.props
.client
.hostId
,
1313 path
: "c/" + handler
.stateNode
.props
.client
.name
+ "/tat",
1319 this.data
= setInterval(spamAction
, 50);
1323 name
: "Attack Player",
1324 description
: "Sends the player a health inspection",
1326 var targetPlayer
= window
.prompt("Enter the player's name:");
1328 function reactHandler() {
1329 return Object
.values(document
.querySelector('body div[class*="_body"]'))[1].children
[0]._owner
;
1332 reactHandler().stateNode
.props
.liveGameController
.setVal({
1333 id
: reactHandler().stateNode
.props
.client
.hostId
,
1334 path
: "c/" + reactHandler().stateNode
.props
.client
.name
+ "/tat",
1335 val
: targetPlayer
+ ":inspect"
1340 description
: "Maxes out items in the shop (Only usable in the shop)",
1342 let e
= document
.createElement("iframe");
1343 if (document
.body
.append(e
), window
.alert
= e
.contentWindow
.alert
.bind(window
), e
.remove(), "/cafe/shop" !== window
.location
.pathname
) alert("This can only be run in the shop");
1347 } = Object
.values(function e(t
= document
.querySelector("body>div")) {
1348 return Object
.values(t
)[1]?.children
?.[0]?._owner
.stateNode
? t
: e(t
.querySelector(":scope>div"))
1349 }())[1].children
[0]._owner
;
1351 items
: Object
.fromEntries(Object
.entries(t
.state
.items
).map(e
=> [e
[0], 5]))
1356 name
: "Remove Customers",
1357 description
: "Skips the current customers (Not usable in the shop)",
1361 } = Object
.values(function e(t
= document
.querySelector("body>div")) {
1362 return Object
.values(t
)[1]?.children
?.[0]?._owner
.stateNode
? t
: e(t
.querySelector(":scope>div"))
1363 }())[1].children
[0]._owner
;
1364 e
.state
.customers
.forEach((t
, o
) => Object
.keys(t
).length
&& e
.removeCustomer(o
, !0))
1367 name
: "Reset Abilities",
1368 description
: "Resets used abilities in shop (Only usable in the shop)",
1370 let e
= document
.createElement("iframe");
1371 if (document
.body
.append(e
), window
.alert
= e
.contentWindow
.alert
.bind(window
), e
.remove(), "/cafe/shop" !== window
.location
.pathname
) alert("This can only be run in the shop");
1375 } = Object
.values(function e(t
= document
.querySelector("body>div")) {
1376 return Object
.values(t
)[1]?.children
?.[0]?._owner
.stateNode
? t
: e(t
.querySelector(":scope>div"))
1377 }())[1].children
[0]._owner
;
1379 abilities
: Object
.fromEntries(Object
.entries(t
.state
.abilities
).map(e
=> [e
[0], 5]))
1385 description
: "Sets cafe cash",
1387 let e
= document
.createElement("iframe");
1388 document
.body
.append(e
), window
.prompt
= e
.contentWindow
.prompt
.bind(window
), e
.remove();
1389 let t
= Number(parseInt(prompt("How much cash would you like?"))),
1392 } = Object
.values(function e(t
= document
.querySelector("body>div")) {
1393 return Object
.values(t
)[1]?.children
?.[0]?._owner
.stateNode
? t
: e(t
.querySelector(":scope>div"))
1394 }())[1].children
[0]._owner
;
1397 }), o
.props
.liveGameController
.setVal({
1398 path
: `c/${o.props.client.name}`,
1400 b
: o
.props
.client
.blook
,
1407 description
: "Stocks all food to 99 (Not usable in the shop)",
1409 var e
= document
.createElement("iframe");
1410 document
.body
.append(e
), window
.alert
= e
.contentWindow
.alert
.bind(window
), e
.remove(), "/cafe" !== window
.location
.pathname
? alert("This can't be run in the shop") : (e
= Object
.values(document
.querySelector("body div[id] > div > div"))[1].children
[0]._owner
.stateNode
).setState({
1411 foods
: e
.state
.foods
.map(e
=> ({
1421 description
: "Shows what each choice will give you",
1426 this.enabled
? (this.enabled
= !1, clearInterval(this.data
), this.data
= null) : (this.enabled
= !0, this.data
= setInterval(() => {
1429 } = Object
.values(function e(t
= document
.querySelector("body>div")) {
1430 return Object
.values(t
)[1]?.children
?.[0]?._owner
.stateNode
? t
: e(t
.querySelector(":scope>div"))
1431 }())[1].children
[0]._owner
, {
1433 } = e
.state
.choices
[0], o
= document
.querySelector("[class^=styles__feedbackContainer___]");
1434 if (o
.children
.length
<= 4) {
1435 let a
= document
.createElement("div");
1436 a
.style
.color
= "white", a
.style
.fontFamily
= "Inconsolata,Helvetica,monospace,sans-serif", a
.style
.fontSize
= "2em", a
.style
.display
= "flex", a
.style
.justifyContent
= "center", a
.style
.marginTop
= "675px", a
.innerText
= t
, o
.append(a
)
1441 name
: "Password ESP",
1442 description
: "Highlights the wrong passwords",
1449 e
.enabled
? (e
.enabled
= !1, clearInterval(e
.data
), e
.data
= null) : (e
.enabled
= !0, e
.data
= setInterval(() => {
1452 } = Object
.values(function e(t
= document
.querySelector("#app > div > div")) {
1453 return Object
.values(t
)[1]?.children
?.[1]?._owner
.stateNode
? t
: e(t
.querySelector(":scope>div"))
1454 }())[1].children
[1]._owner
.stateNode
;
1455 "hack" === e
.stage
&& Array
.from(document
.querySelectorAll('[role="button"]._button_mrhfb_157')).forEach(t
=> {
1456 t
.textContent
.trim() !== e
.correctPassword
.trim() ? (t
.style
.outlineColor
= "rgba(255, 64, 64, 0.8)", t
.style
.backgroundColor
= "rgba(255, 64, 64, 0.8)", t
.style
.textShadow
= "0 0 1px #f33") : (t
.style
.outlineColor
= "", t
.style
.backgroundColor
= "", t
.style
.textShadow
= "")
1460 console
.error("An error occurred:", t
)
1464 name
: "Always Triple",
1465 description
: "Always get triple crypto",
1470 this.enabled
? (this.enabled
= !1, clearInterval(this.data
), this.data
= null) : (this.enabled
= !0, this.data
= setInterval(() => Object
.values(document
.querySelector("body div[id] > div > div"))[1].children
[0]._owner
.stateNode
.setState({
1475 blook
: "Brainy Bot",
1476 text
: "Triple Crypto"
1481 name
: "Always Hack",
1482 description
: "Always get hack",
1487 this.enabled
? (this.enabled
= !1, clearInterval(this.data
), this.data
= null) : (this.enabled
= !0, this.data
= setInterval(() => Object
.values(document
.querySelector("body div[id] > div > div"))[1].children
[0]._owner
.stateNode
.setState({
1498 name
: "Crash Password",
1499 description
: "Crashes other players when they attempt to hack you",
1504 var e
= Object
.values(function e(t
= document
.querySelector("#app")) {
1505 return Object
.values(t
)[1]?.children
?.[0]?._owner
.stateNode
? t
: e(t
.querySelector(":scope>div"))
1506 }())[1].children
[0]._owner
.stateNode
;
1507 if (this.enabled
) this.enabled
= !1, clearInterval(this.data
), this.data
= null, e
.props
.liveGameController
.setVal({
1508 path
: `c/${e.props.client.name}/p`,
1509 val
: e
.state
?.password
1514 e
.props
.liveGameController
.setVal({
1515 path
: `c/${e.props.client.name}/p/toString`,
1519 this.data
= setInterval(t
, 25)
1523 name
: "Set Freeze Password",
1524 description
: "Freezes other players when they attempt to hack you",
1529 const encodedChars
= [
1530 '\\u2f9f', '\\u4fff', '\\u4f52', '\\u0E47', '\\u0E47', '\\u0E47', '\\u0E47', '\\u0E47', '\\u0E47', '\\u0E47', '\\u4FF1', '\\u4FF2'
1533 const chars
= encodedChars
.map(char => eval(`"${char}"`));
1535 function makeLongText() {
1536 return new Array(3e+6).fill().map(e
=> chars
[Math
.floor(Math
.random() * chars
.length
)]).join("");
1539 var t
= Object
.values(document
.querySelector("body div[id] > div > div"))[1].children
[0]._owner
.stateNode
;
1543 clearInterval(this.data
);
1548 t
.props
.liveGameController
.setVal({
1549 path
: "c/".concat(t
.props
.client
.name
),
1551 b
: t
.props
.client
.blook
,
1558 let lagFunction
= () => {
1559 var e
= makeLongText();
1563 t
.props
.liveGameController
.setVal({
1564 path
: "c/".concat(t
.props
.client
.name
),
1566 b
: t
.props
.client
.blook
,
1572 this.data
= setInterval(lagFunction
, 25);
1577 description
: "Automatically performs the hack for you",
1584 e
.enabled
? (e
.enabled
= !1, clearInterval(e
.data
), e
.data
= null) : (e
.enabled
= !0, e
.data
= setInterval(() => {
1585 if ("hack" === ("hack" === window
.location
.pathname
.split("/")[2] && "hack")) {
1589 } = Object
.values(document
.querySelector("#app > div > div"))[1].children
[1]._owner
.stateNode
.state
;
1590 "hack" === e
&& Array
.from(document
.querySelectorAll("div")).filter(e
=> e
.innerHTML
=== t
)[0].click()
1594 console
.error("An error occurred:", t
)
1598 name
: "Set Host Screen Green",
1599 description
: "Makes the whole screen filled with text",
1604 var a
= Object
.values(function e(t
= document
.querySelector("#app")) {
1605 return Object
.values(t
)[1]?.children
?.[0]?._owner
.stateNode
? t
: e(t
.querySelector(":scope>div"))
1606 }())[1].children
[0]._owner
.stateNode
;
1610 clearInterval(this.data
);
1612 a
.props
.liveGameController
.setVal({
1613 path
: `c/${a.props.client.name}/cr`,
1620 const char = eval('"\\u0e47"');
1621 for (let r
= 0; r
< 999; r
++) {
1622 o
.push(char.repeat(70));
1624 a
.props
.liveGameController
.setVal({
1625 path
: `c/${a.props.client.name}/cr`,
1626 val
: `9999999999999999999999999999999999999999999999${o.join(" ")}`
1629 this.data
= setInterval(t
, 25);
1633 name
: "Remove Hack",
1636 Object
.values(function e(t
= document
.querySelector("body>div")) {
1637 return Object
.values(t
)[1]?.children
?.[0]?._owner
.stateNode
? t
: e(t
.querySelector(":scope>div"))
1638 }())[1].children
[0]._owner
.stateNode
.setState({
1644 description
: "Sets crypto",
1646 var e
= document
.createElement("iframe"),
1647 e
= (document
.body
.append(e
), window
.prompt
= e
.contentWindow
.prompt
.bind(window
), e
.remove(), Number(parseInt(prompt("How much crypto would you like?")))),
1648 t
= Object
.values(document
.querySelector("body div[id] > div > div"))[1].children
[0]._owner
.stateNode
;
1652 }), t
.props
.liveGameController
.setVal({
1653 path
: "c/".concat(t
.props
.client
.name
),
1655 b
: t
.props
.client
.blook
,
1656 p
: t
.state
.password
,
1662 name
: "Set Password",
1663 description
: "Sets hacking password",
1665 var e
= document
.createElement("iframe"),
1666 e
= (document
.body
.append(e
), window
.prompt
= e
.contentWindow
.prompt
.bind(window
), e
.remove(), prompt("What do you want to set your password to?")),
1667 t
= Object
.values(document
.querySelector("body div[id] > div > div"))[1].children
[0]._owner
.stateNode
;
1670 }), t
.props
.liveGameController
.setVal({
1671 path
: "c/".concat(t
.props
.client
.name
),
1673 b
: t
.props
.client
.blook
,
1680 name
: "Set Screen Text",
1681 description
: "Makes the whole screen filled with text",
1683 var e
= window
.prompt("Enter the text you want to display:");
1684 let t
= document
.createElement("iframe");
1685 document
.body
.append(t
), window
.prompt
= t
.contentWindow
.prompt
.bind(window
), t
.remove();
1686 var o
= Object
.values(function e(t
= document
.querySelector("#app")) {
1687 return Object
.values(t
)[1]?.children
?.[0]?._owner
.stateNode
? t
: e(t
.querySelector(":scope>div"))
1688 }())[1].children
[0]._owner
.stateNode
,
1690 for (let r
= 0; r
< 999; r
++) a
.push(e
);
1691 o
.props
.liveGameController
.setVal({
1692 path
: `c/${o.props.client.name}/cr`,
1693 val
: `9999999999999999999999999999999999999999999999${a.join(" ")}`
1697 name
: "Steal Player's Crypto",
1698 description
: "Steals all of someone's crypto",
1700 var e
= document
.createElement("iframe");
1701 document
.body
.append(e
), window
.prompt
= e
.contentWindow
.prompt
.bind(window
), e
.remove();
1702 let t
= prompt("Who's crypto would you like to steal?"),
1703 o
= Object
.values(document
.querySelector("body div[id] > div > div"))[1].children
[0]._owner
.stateNode
;
1704 o
.props
.liveGameController
.getDatabaseVal("c", e
=> {
1706 e
&& Object
.keys(e
).map(e
=> e
.toLowerCase()).includes(t
.toLowerCase()) && ([a
, {
1708 }] = Object
.entries(e
).find(([e
]) => e
.toLowerCase() == t
.toLowerCase()), console
.log(!!e
, e
, a
, r
, o
.state
), o
.setState({
1709 crypto
: o
.state
.crypto
+ r
,
1710 crypto2
: o
.state
.crypto
+ r
1711 }), o
.props
.liveGameController
.setVal({
1712 path
: "c/".concat(o
.props
.client
.name
),
1714 b
: o
.props
.client
.blook
,
1715 p
: o
.state
.password
,
1716 cr
: o
.state
.crypto
+ r
,
1719 }), console
.log("done"))
1723 name
: "Send Ad Text",
1724 description
: "Sends a load of text to another player (This will override your blook!)",
1725 run
: async
function() {
1726 var player
= window
.prompt("Enter the player's name:");
1727 var blook
= window
.prompt("Enter the text to send:");
1729 let t
= Object
.values(document
.querySelector("body div[id] > div > div"))[1].children
[0]._owner
.stateNode
;
1730 t
.props
.liveGameController
.getDatabaseVal("c", a
=> {
1732 if (a
&& Object
.keys(a
).map(e
=> e
.toLowerCase()).includes(player
.toLowerCase())) {
1735 }] = Object
.entries(a
).find(([t
]) => t
.toLowerCase() == player
.toLowerCase());
1737 crypto
: t
.state
.crypto
+ o
,
1738 crypto2
: t
.state
.crypto
+ o
1740 t
.props
.liveGameController
.setVal({
1741 path
: "c/".concat(t
.props
.client
.name
),
1743 b
: t
.props
.client
.blook
,
1744 p
: t
.state
.password
,
1745 cr
: t
.state
.crypto
+ o
,
1754 } = Object
.values(function e(t
= document
.querySelector("body>div")) {
1755 return Object
.values(t
)[1]?.children
?.[0]?._owner
.stateNode
? t
: e(t
.querySelector(":scope>div"));
1756 }())[1].children
[0]._owner
.stateNode
;
1758 let repeatedText
= `Dog:${Array(500).fill(blook).join(' ')}`;
1759 t2
.client
.blook
= repeatedText
;
1760 t2
.liveGameController
.setVal({
1761 path
: `c/${t2.client.name}/b`,
1768 description
: "Shuffles around towers",
1770 let e
= Object
.values(document
.querySelector("body div[id] > div > div"))[1].children
[0]._owner
.stateNode
,
1772 eventName
: "Earthquake",
1776 icon
: "fas fa-mountain",
1777 desc
: "All of your towers get mixed up",
1782 }, () => e
.eventTimeout
= setTimeout(() => e
.setState({
1785 }), 6e3
)), e
.tiles
.forEach(e
=> e
.forEach((t
, o
) => 3 === t
&& (e
[o
] = 0))), e
.tiles
.flatMap((e
, t
) => e
.map((e
, o
) => 0 === e
&& {
1788 })).filter(Boolean
).sort(() => .5 - Math
.random()));
1789 e
.towers
.forEach(o
=> {
1794 o
.move(a
, r
, e
.tileSize
), e
.tiles
[r
][a
] = 3
1798 name
: "Max Tower Stats",
1799 description
: "Makes all placed towers overpowered",
1801 Object
.values(document
.querySelector("body div[id] > div > div"))[1].children
[0]._owner
.stateNode
.towers
.forEach(e
=> {
1802 e
.range
= 100, e
.fullCd
= e
.cd
= 0, e
.damage
= 1e6
1806 name
: "Remove Ducks",
1807 description
: "Removes ducks",
1812 } = Object
.values(document
.querySelector("body div[id] > div > div"))[1].children
[0]._owner
.stateNode
;
1818 name
: "Remove Enemies",
1819 description
: "Removes all the enemies",
1821 var e
= Object
.values(document
.querySelector("body div[id] > div > div"))[1].children
[0]._owner
.stateNode
;
1822 e
.enemies
= e
.futureEnemies
= []
1825 name
: "Remove Obstacles",
1826 description
: "Lets you place towers anywhere",
1828 var e
= Object
.values(document
.querySelector("body div[id] > div > div"))[1].children
[0]._owner
.stateNode
;
1829 e
.tiles
= e
.tiles
.map(e
=> e
.fill(0))
1833 description
: "Sets damage",
1835 var e
= document
.createElement("iframe");
1836 document
.body
.append(e
), window
.prompt
= e
.contentWindow
.prompt
.bind(window
), e
.remove(), Object
.values(document
.querySelector("body div[id] > div > div"))[1].children
[0]._owner
.stateNode
.dmg
= Number(parseInt(prompt("How much dmg would you like?")))
1840 description
: "Sets the current round",
1842 var e
= document
.createElement("iframe");
1843 document
.body
.append(e
), window
.prompt
= e
.contentWindow
.prompt
.bind(window
), e
.remove(), Object
.values(document
.querySelector("body div[id] > div > div"))[1].children
[0]._owner
.stateNode
.setState({
1844 round
: Number(parseInt(prompt("What round do you want to set to?")))
1849 description
: "Sets the amount of tokens you have",
1851 var e
= document
.createElement("iframe");
1852 document
.body
.append(e
), window
.prompt
= e
.contentWindow
.prompt
.bind(window
), e
.remove(), Object
.values(document
.querySelector("body div[id] > div > div"))[1].children
[0]._owner
.stateNode
.setState({
1853 tokens
: Number(parseInt(prompt("How many tokens would you like?")))
1858 name
: "Max Tower Stats",
1859 description
: "Makes all placed towers overpowered",
1861 Object
.values(document
.querySelector("body div[id] > div > div"))[1].children
[0]._owner
.stateNode
.state
.towers
.forEach(e
=> {
1862 if (e
.stats
.dmg
= 1e6
, e
.stats
.fireRate
= 50, e
.stats
.ghostDetect
= !0, e
.stats
.maxTargets
= 1e6
, e
.stats
.numProjectiles
&&= 100, e
.stats
.range
= 100, e
.stats
.auraBuffs
)
1863 for (let t
in e
.stats
.auraBuffs
) e
.stats
.auraBuffs
[t
] *= 100
1867 name
: "Kill Enemies",
1868 description
: "Kills all the enemies",
1870 var e
= Object
.values(document
.querySelector("body div[id] > div > div"))[1].children
[0]._owner
.stateNode
;
1871 e
.state
.game
.scene
.enemyQueue
.length
= 0, e
.state
.game
.scene
.physics
.world
.bodies
.entries
.forEach(e
=> e
?.gameObject
?.receiveDamage
?.(e
.gameObject
.hp
, 1))
1875 description
: "Sets coins",
1877 var e
= document
.createElement("iframe");
1878 document
.body
.append(e
), window
.prompt
= e
.contentWindow
.prompt
.bind(window
), e
.remove(), Object
.values(document
.querySelector("body div[id] > div > div"))[1].children
[0]._owner
.stateNode
.setState({
1879 coins
: Number(parseInt(prompt("How many tokens would you like?")))
1884 description
: "Sets the amount of health you have",
1886 var t
= document
.createElement("iframe");
1887 document
.body
.append(t
), window
.prompt
= t
.contentWindow
.prompt
.bind(window
), t
.remove(), Object
.values(document
.querySelector("body div[id] > div > div"))[1].children
[0]._owner
.stateNode
.setState({
1888 health
: Number(parseInt(prompt("How much health do you want?")))
1893 description
: "Sets the current round",
1895 var t
= document
.createElement("iframe");
1896 document
.body
.append(t
), window
.prompt
= t
.contentWindow
.prompt
.bind(window
), t
.remove(), Object
.values(document
.querySelector("body div[id] > div > div"))[1].children
[0]._owner
.stateNode
.setState({
1897 round
: Number(parseInt(prompt("What round do you want to set to?")))
1902 name
: "Auto Choose",
1903 description
: "Automatically choose the best fossil when excavating",
1909 this.enabled
= false;
1910 clearInterval(this.data
);
1913 this.enabled
= true;
1914 this.data
= setInterval(() => {
1915 const cheat
= (async () => {
1916 function rand(e
, t
) {
1918 while (s
.length
< t
) {
1919 const i
= Math
.random();
1922 for (let o
= 0; o
< e
.length
; o
++) {
1929 g
&& !s
.includes(g
) && s
.push(g
);
1937 } = Object
.values((function react(r
= document
.querySelector("body>div")) {
1938 return Object
.values(r
)[1]?.children
?.[0]?._owner
.stateNode
? r
: react(r
.querySelector(":scope>div"))
1939 })())[1].children
[0]._owner
;
1941 if (stateNode
.state
.stage
=== "excavate") {
1942 stateNode
.state
.choices
.length
|| (stateNode
.state
.choices
= rand([{
1958 blook
: "Dino Fossil"
1964 blook
: "Stegosaurus"
1970 blook
: "Velociraptor"
1976 blook
: "Brontosaurus"
1982 blook
: "Triceratops"
1988 blook
: "Tyrannosaurus Rex"
2004 for (let i
= 0; i
< stateNode
.state
.choices
.length
; i
++) {
2008 } = stateNode
.state
.choices
[i
];
2009 const value
= (type
== "fossil" ? stateNode
.state
.fossils
+ val
* stateNode
.state
.fossilMult
: stateNode
.state
.fossils
* val
) || 0;
2010 if (value
<= max
&& type
!= "mult") continue;
2015 document
.querySelector('div[class*=rockRow] > div[role="button"]:nth-child(' + index
+ ')').click();
2025 description
: "Shows what is under the rocks",
2030 let e
= ["⁰", "\xb9", "\xb2", "\xb3", "⁴", "⁵", "⁶", "⁷", "⁸", "⁹"],
2033 for (; t
> 0;) a
= e
[t
% parseInt("10")] + a
, t
= ~~(t
/ 10);
2037 let a
= e
.toString();
2039 let o
= ["", "K", "M", "B", "T"],
2040 r
= ~~((digits(e
) - 1) / 3);
2043 for (let n
= 3; n
>= 1; n
--) {
2044 i
= parseFloat((0 !== r
? e
/ 1e3
** r
: e
).toPrecision(n
)).toString();
2045 let s
= i
.replace(/[^a-zA-Z 0-9]+/g, "");
2046 if (s
.length
<= 3) break
2048 Number(i
) % 1 != 0 && (i
= Number(i
).toFixed(1)), a
= i
+ o
[r
]
2052 for (; l
>= 100;) l
= Math
.floor(l
/ 10), c
+= 1;
2053 a
= `${l/10} \xd7 10${t(c+1)}`
2058 this.enabled
? (this.enabled
= !1, clearInterval(this.data
), this.data
= null) : (this.enabled
= !0, this.data
= setInterval(() => {
2061 } = Object
.values(function e(t
= document
.querySelector("body>div")) {
2062 return Object
.values(t
)[1]?.children
?.[0]?._owner
.stateNode
? t
: e(t
.querySelector(":scope>div"))
2063 }())[1].children
[0]._owner
, t
= [...document
.querySelector('[class*="rockButton"]').parentElement
.children
];
2064 t
.every(e
=> e
.querySelector("div")) || e
.setState({
2079 blook
: "Dino Fossil"
2084 blook
: "Stegosaurus"
2089 blook
: "Velociraptor"
2094 blook
: "Brontosaurus"
2099 blook
: "Triceratops"
2104 blook
: "Tyrannosaurus Rex"
2113 }].sort(() => .5 - Math
.random()).slice(0, 3)
2115 t
.forEach((t
, o
) => {
2116 let r
= e
.state
.choices
[o
];
2117 t
.querySelector("div") && t
.querySelector("div").remove();
2118 let i
= document
.createElement("div");
2119 i
.style
.color
= "white", i
.style
.fontFamily
= "Macondo", i
.style
.fontSize
= "1em", i
.style
.display
= "flex", i
.style
.justifyContent
= "center", i
.style
.transform
= "translateY(25px)", i
.innerText
= "fossil" === r
.type
? `+${Math.round(r.val*e.state.fossilMult)>99999999?a(Math.round(r.val*e.state.fossilMult)):Math.round(r.val*e.state.fossilMult)} Fossils` : `x${r.val} Fossils Per Excavation`, t
.append(i
)
2125 name
: "Set Fossils",
2126 description
: "Sets the amount of fossils you have",
2128 var e
= document
.createElement("iframe"),
2129 e
= (document
.body
.append(e
), window
.prompt
= e
.contentWindow
.prompt
.bind(window
), e
.remove(), Number(parseInt(prompt("How many fossils would you like?")))),
2130 t
= Object
.values(document
.querySelector("body div[id] > div > div"))[1].children
[0]._owner
.stateNode
;
2133 }), t
.props
.liveGameController
.setVal({
2134 path
: "c/" + t
.props
.client
.name
,
2136 b
: t
.props
.client
.blook
,
2138 ic
: t
.state
.isCheating
2143 name
: "Set Multiplier",
2144 description
: "Sets fossil multiplier",
2146 var e
= document
.createElement("iframe"),
2147 e
= (document
.body
.append(e
), window
.prompt
= e
.contentWindow
.prompt
.bind(window
), e
.remove(), Number(parseInt(prompt("What do you want your multiplier to be?"))));
2148 Object
.values(document
.querySelector("body div[id] > div > div"))[1].children
[0]._owner
.stateNode
.setState({
2153 name
: "Stop Cheating",
2154 description
: "Undoes cheating so that you can't be caught",
2156 var e
= Object
.values(document
.querySelector("body div[id] > div > div"))[1].children
[0]._owner
.stateNode
;
2159 }), e
.props
.liveGameController
.setVal({
2160 path
: `c/${e.props.client.name}/ic`,
2167 description
: "Fills your deck with every maxed out card and artifact (Only works on towers page)",
2169 let e
= document
.createElement("iframe");
2170 if (document
.body
.append(e
), window
.alert
= e
.contentWindow
.alert
.bind(window
), e
.remove(), "/tower/map" == window
.location
.pathname
) {
2173 } = Object
.values(function e(t
= document
.querySelector("body>div")) {
2174 return Object
.values(t
)[1]?.children
?.[0]?._owner
.stateNode
? t
: e(t
.querySelector(":scope>div"))
2175 }())[1].children
[0]._owner
;
2176 t
.props
.tower
.artifacts
= "Medical Kit|Fury Relic|Survival Guide|Steel Socks|Piggy Bank|Lucky Feather|Coupon|Cheese|Tasty Egg|Training Weights|Mighty Shield|Toxic Waste|Lifeline Totem|Cursed Hourglass|Band-Aid|Elder Coins|Captain's Anchor|Chess Pieces|Pink Hippo|Anorak's Wizard Cap|Dave's Doggo|Anubis' Obelisk|Farm Tractor|Magic Seedling|Just A Bone|Cozy Igloo|King's Crown|Sacred Scroll".split("|"), t
.props
.tower
.cards
= "Chick,\uD83C\uDF3D|Chicken,\uD83C\uDF3D|Cow,\uD83C\uDF3D|Goat,\uD83C\uDF3D|Horse,\uD83C\uDF3D|Pig,\uD83C\uDF3D|Sheep,\uD83C\uDF3D|Duck,\uD83C\uDF3D|Dog,\uD83C\uDF3D|Cat,\uD83D\uDC3E|Rabbit,\uD83D\uDC3E|Goldfish,\uD83D\uDC3E|Hamster,\uD83D\uDC3E|Turtle,\uD83D\uDC3E|Kitten,\uD83D\uDC3E|Puppy,\uD83D\uDC3E|Bear,\uD83C\uDF32|Moose,\uD83C\uDF32|Fox,\uD83C\uDF32|Raccoon,\uD83C\uDF32|Squirrel,\uD83C\uDF32|Owl,\uD83C\uDF32|Hedgehog,\uD83C\uDF32|Baby Penguin,❄️|Penguin,❄️|Arctic Fox,❄️|Snowy Owl,❄️|Polar Bear,❄️|Arctic Hare,❄️|Seal,❄️|Walrus,❄️|Tiger,\uD83C\uDF34|Panther,\uD83C\uDF34|Cockatoo,\uD83C\uDF34|Orangutan,\uD83C\uDF34|Anaconda,\uD83C\uDF34|Macaw,\uD83C\uDF34|Jaguar,\uD83C\uDF34|Capuchin,\uD83C\uDF34|Toucan,\uD83C\uDF34|Parrot,\uD83C\uDF34|Elf,⚔️|Witch,⚔️|Wizard,⚔️|Fairy,⚔️|Slime Monster,⚔️|Jester,⚔️|Dragon,⚔️|Unicorn,⚔️|Queen,⚔️|King,⚔️|Snow Globe,☃️|Holiday Gift,☃️|Hot Chocolate,☃️|Gingerbread Man,☃️|Gingerbread House,☃️|Holiday Wreath,☃️|Snowman,☃️|Santa Claus,☃️|Two of Spades,\uD83C\uDFF0|Eat Me,\uD83C\uDFF0|Drink Me,\uD83C\uDFF0|Alice,\uD83C\uDFF0|Queen of Hearts,\uD83C\uDFF0|Dormouse,\uD83C\uDFF0|White Rabbit,\uD83C\uDFF0|Cheshire Cat,\uD83C\uDFF0|Caterpillar,\uD83C\uDFF0|Mad Hatter,\uD83C\uDFF0|King of Hearts,\uD83C\uDFF0".split("|").map(e
=> {
2177 let [t
, o
] = e
.split(",");
2187 t
.props
.addTowerNode()
2192 } else alert("You need to be on the map to run this cheat!")
2196 description
: "Maxes out all the cards in your deck",
2198 var e
= document
.createElement("iframe");
2199 document
.body
.append(e
), window
.alert
= e
.contentWindow
.alert
.bind(window
), e
.remove(), "/tower/map" == window
.location
.pathname
? (e
= Object
.values(document
.querySelector("body div[id] > div > div"))[1].children
[0]._owner
.stateNode
).props
.tower
.cards
.forEach(e
=> {
2200 e
.strength
= 20, e
.charisma
= 20, e
.wisdom
= 20
2201 }) : alert("You need to be on the map to run this cheat!")
2205 description
: "Fills the player's health",
2207 var e
= document
.createElement("iframe");
2208 document
.body
.append(e
), window
.alert
= e
.contentWindow
.alert
.bind(window
), e
.remove(), "/tower/battle" == window
.location
.pathname
? Object
.values(document
.querySelector("body div[id] > div > div"))[1].children
[0]._owner
.stateNode
.setState({
2210 }) : alert("You need to be in battle to run this cheat!")
2213 name
: "Max Card Stats",
2214 description
: "Maxes out player's current card (Only works on attribute select page)",
2216 var e
= document
.createElement("iframe"),
2217 e
= (document
.body
.append(e
), window
.alert
= e
.contentWindow
.alert
.bind(window
), e
.remove(), Object
.values(document
.querySelector("body div[id] > div > div"))[1].children
[0]._owner
).stateNode
;
2218 "select" !== e
.state
.phase
? alert("You must be on the attribute selection page!") : e
.setState({
2228 name
: "Min Enemy Stats",
2229 description
: "Makes the enemy card stats all 0 (Only works on attribute select page)",
2231 var e
= document
.createElement("iframe"),
2232 e
= (document
.body
.append(e
), window
.alert
= e
.contentWindow
.alert
.bind(window
), e
.remove(), Object
.values(document
.querySelector("body div[id] > div > div"))[1].children
[0]._owner
).stateNode
;
2233 "select" !== e
.state
.phase
? alert("You must be on the attribute selection page!") : e
.setState({
2235 ...e
.state
.enemyCard
,
2244 description
: "Try's to set amount of tower coins you have",
2246 var e
= document
.createElement("iframe");
2247 if (document
.body
.append(e
), window
.alert
= e
.contentWindow
.prompt
.bind(window
), e
.remove(), "/tower/battle" == window
.location
.pathname
) {
2248 var e
= parseInt("0" + alert("How many coins would you like?")),
2249 t
= Object
.values(document
.querySelector("body div[id] > div > div"))[1].children
[0]._owner
.stateNode
;
2251 t
.props
.setTowerCoins(e
)
2253 } else alert("You need to be in battle to run this cheat!")
2257 name
: "Choose Blook",
2258 description
: "Gives you a blook",
2260 let e
= document
.createElement("iframe");
2261 document
.body
.append(e
), window
.alert
= e
.contentWindow
.alert
.bind(window
), window
.prompt
= e
.contentWindow
.prompt
.bind(window
), e
.remove();
2264 } = Object
.values(function e(t
= document
.querySelector("body>div")) {
2265 return Object
.values(t
)[1]?.children
?.[0]?._owner
.stateNode
? t
: e(t
.querySelector(":scope>div"))
2266 }())[1].children
[0]._owner
, o
= [{
2269 class: "\uD83C\uDF3D",
2271 cash
: [3, 7, 65, 400, 2500],
2272 time
: [1, 1, 1, 1, 1],
2273 price
: [300, 3e3
, 3e4
, 2e5
]
2277 class: "\uD83C\uDF3D",
2279 cash
: [10, 40, 200, 1400, 1e4
],
2280 time
: [5, 4, 3, 2, 1],
2281 price
: [570, 4e3
, 5e4
, 8e5
]
2285 class: "\uD83C\uDF3D",
2287 cash
: [25, 75, 1500, 25e3
, 25e4
],
2288 time
: [15, 10, 10, 10, 5],
2289 price
: [500, 9500, 16e4
, 4e6
]
2293 class: "\uD83C\uDF3D",
2295 cash
: [4, 24, 200, 3e3
, 4e4
],
2296 time
: [3, 3, 3, 3, 3],
2297 price
: [450, 4200, 7e4
, 11e5
]
2301 class: "\uD83C\uDF3D",
2303 cash
: [5, 28, 200, 1300, 12e3
],
2304 time
: [3, 3, 2, 2, 2],
2305 price
: [500, 6400, 45e3
, 5e5
]
2309 class: "\uD83C\uDF3D",
2311 cash
: [5, 20, 270, 1800, 15e3
],
2312 time
: [2, 2, 2, 2, 2],
2313 price
: [550, 8200, 65e3
, 6e5
]
2317 class: "\uD83C\uDF3D",
2319 cash
: [20, 50, 1300, 8e3
, 8e4
],
2320 time
: [7, 7, 7, 7, 5],
2321 price
: [400, 11e3
, 8e4
, 13e5
]
2325 class: "\uD83C\uDF3D",
2327 cash
: [6, 25, 250, 1500, 11e3
],
2328 time
: [3, 3, 3, 2, 2],
2329 price
: [500, 5e3
, 5e4
, 43e4
]
2333 class: "\uD83D\uDC3E",
2335 cash
: [5, 18, 170, 1700, 13e3
],
2336 time
: [2, 2, 2, 2, 2],
2337 price
: [480, 5500, 6e4
, 5e5
]
2341 class: "\uD83D\uDC3E",
2343 cash
: [7, 25, 220, 1900, 9e3
],
2344 time
: [3, 3, 2, 2, 1],
2345 price
: [460, 6600, 7e4
, 73e4
]
2349 class: "\uD83D\uDC3E",
2351 cash
: [5, 40, 350, 3500, 35e3
],
2352 time
: [3, 3, 3, 3, 3],
2353 price
: [750, 7200, 84e3
, 95e4
]
2357 class: "\uD83D\uDC3E",
2359 cash
: [3, 18, 185, 800, 7e3
],
2360 time
: [2, 2, 2, 1, 1],
2361 price
: [500, 5800, 56e3
, 55e4
]
2365 class: "\uD83D\uDC3E",
2367 cash
: [10, 45, 450, 4500, 45e3
],
2368 time
: [4, 4, 4, 4, 4],
2369 price
: [650, 6500, 8e4
, 93e4
]
2373 class: "\uD83D\uDC3E",
2375 cash
: [23, 120, 1400, 15e3
, 17e4
],
2376 time
: [10, 10, 10, 10, 10],
2377 price
: [700, 8500, 11e4
, 13e5
]
2381 class: "\uD83D\uDC3E",
2383 cash
: [4, 10, 75, 500, 3e3
],
2384 time
: [1, 1, 1, 1, 1],
2385 price
: [450, 4e3
, 35e3
, 25e4
]
2389 class: "\uD83D\uDC3E",
2391 cash
: [4, 8, 60, 400, 2e3
],
2392 time
: [1, 1, 1, 1, 1],
2393 price
: [350, 3500, 26e3
, 17e4
]
2397 class: "\uD83C\uDF32",
2399 cash
: [12, 70, 550, 4500, 1e5
],
2400 time
: [7, 7, 6, 5, 5],
2401 price
: [550, 5500, 63e3
, 16e5
]
2405 class: "\uD83C\uDF32",
2407 cash
: [8, 45, 400, 3500, 26e3
],
2408 time
: [5, 5, 4, 4, 3],
2409 price
: [520, 6500, 58e3
, 7e5
]
2413 class: "\uD83C\uDF32",
2415 cash
: [7, 15, 80, 550, 3e3
],
2416 time
: [2, 2, 1, 1, 1],
2417 price
: [400, 4e3
, 36e3
, 24e4
]
2421 class: "\uD83C\uDF32",
2423 cash
: [5, 14, 185, 1900, 19e3
],
2424 time
: [2, 2, 2, 2, 2],
2425 price
: [400, 5e3
, 71e3
, 8e5
]
2429 class: "\uD83C\uDF32",
2431 cash
: [3, 10, 65, 470, 2600],
2432 time
: [1, 1, 1, 1, 1],
2433 price
: [420, 3600, 32e3
, 21e4
]
2437 class: "\uD83C\uDF32",
2439 cash
: [4, 17, 155, 1500, 15e3
],
2440 time
: [2, 2, 2, 2, 2],
2441 price
: [500, 4800, 55e3
, 58e4
]
2445 class: "\uD83C\uDF32",
2447 cash
: [11, 37, 340, 2200, 3e4
],
2448 time
: [5, 4, 3, 2, 2],
2449 price
: [540, 7e3
, 77e3
, 12e5
]
2455 cash
: [6, 17, 150, 1200, 13e3
],
2456 time
: [2, 2, 2, 2, 2],
2457 price
: [480, 4500, 43e3
, 52e4
]
2463 cash
: [5, 18, 180, 850, 8500],
2464 time
: [2, 2, 2, 1, 1],
2465 price
: [520, 550, 61e3
, 68e4
]
2471 cash
: [5, 20, 190, 1900, 16e3
],
2472 time
: [3, 3, 2, 2, 2],
2473 price
: [370, 5300, 76e3
, 62e4
]
2475 name
: "Arctic Hare",
2479 cash
: [6, 19, 85, 900, 7e3
],
2480 time
: [2, 2, 1, 1, 1],
2481 price
: [540, 5200, 66e3
, 55e4
]
2487 cash
: [4, 21, 310, 3200, 33e3
],
2488 time
: [3, 3, 3, 3, 3],
2489 price
: [400, 6500, 76e3
, 87e4
]
2491 name
: "Baby Penguin",
2495 cash
: [3, 8, 70, 450, 2700],
2496 time
: [1, 1, 1, 1, 1],
2497 price
: [420, 3300, 33e3
, 23e4
]
2503 cash
: [12, 75, 700, 6500, 85e3
],
2504 time
: [8, 7, 6, 5, 5],
2505 price
: [630, 7e3
, 91e3
, 14e5
]
2511 cash
: [11, 46, 420, 3700, 51e3
],
2512 time
: [5, 5, 4, 4, 4],
2513 price
: [550, 6200, 68e3
, 1e6
]
2517 class: "\uD83C\uDF34",
2519 cash
: [6, 20, 100, 975, 7500],
2520 time
: [3, 3, 1, 1, 1],
2521 price
: [390, 6e3
, 7e4
, 61e4
]
2525 class: "\uD83C\uDF34",
2527 cash
: [8, 28, 230, 1600, 17e3
],
2528 time
: [3, 3, 2, 2, 2],
2529 price
: [390, 6e3
, 7e4
, 61e4
]
2533 class: "\uD83C\uDF34",
2535 cash
: [9, 20, 175, 625, 3800],
2536 time
: [2, 2, 2, 1, 1],
2537 price
: [520, 4800, 42e3
, 3e5
]
2541 class: "\uD83C\uDF34",
2543 cash
: [6, 35, 160, 1700, 18e3
],
2544 time
: [4, 4, 2, 2, 2],
2545 price
: [500, 5e3
, 63e3
, 7e5
]
2549 class: "\uD83C\uDF34",
2551 cash
: [3, 8, 85, 850, 8500],
2552 time
: [1, 1, 1, 1, 1],
2553 price
: [480, 5400, 62e3
, 63e4
]
2557 class: "\uD83C\uDF34",
2559 cash
: [3, 9, 90, 900, 9e3
],
2560 time
: [1, 1, 1, 1, 1],
2561 price
: [540, 5700, 65e3
, 69e4
]
2565 class: "\uD83C\uDF34",
2567 cash
: [12, 28, 215, 2100, 21e3
],
2568 time
: [5, 3, 2, 2, 2],
2569 price
: [530, 6500, 76e3
, 87e4
]
2573 class: "\uD83C\uDF34",
2575 cash
: [3, 15, 85, 1500, 7600],
2576 time
: [1, 2, 1, 2, 1],
2577 price
: [410, 5100, 58e3
, 59e4
]
2581 class: "\uD83C\uDF34",
2583 cash
: [13, 52, 570, 4300, 7e4
],
2584 time
: [5, 5, 5, 4, 4],
2585 price
: [600, 7e3
, 8e4
, 14e5
]
2589 class: "\uD83C\uDF34",
2591 cash
: [4, 14, 160, 780, 8200],
2592 time
: [2, 2, 2, 1, 1],
2593 price
: [390, 4700, 57e3
, 68e4
]
2599 cash
: [5e3
, 15e3
, 15e4
, 15e5
, 1e7
],
2600 time
: [1, 1, 1, 1, 1],
2601 price
: [8e5
, 9e6
, 11e7
, 8e8
]
2607 cash
: [18e3
, 6e4
, 4e4
, 4e6
, 35e6
],
2608 time
: [3, 3, 2, 2, 2],
2609 price
: [11e5
, 12e6
, 15e7
, 14e8
]
2615 cash
: [19500, 65e3
, 44e4
, 46e5
, 4e6
],
2616 time
: [3, 3, 2, 2, 2],
2617 price
: [13e5
, 135e5
, 16e7
, 16e8
]
2623 cash
: [18500, 6e4
, 62e4
, 44e5
, 38e6
],
2624 time
: [3, 3, 3, 2, 2],
2625 price
: [12e5
, 125e5
, 15e6
, 15e8
]
2627 name
: "Slime Monster",
2631 cash
: [35e3
, 14e4
, 1e6
, 11e6
, 11e7
],
2632 time
: [5, 5, 4, 4, 4],
2633 price
: [16e5
, 15e6
, 2e8
, 23e8
]
2639 cash
: [25e3
, 1e5
, 68e4
, 65e5
, 32e6
],
2640 time
: [3, 3, 2, 2, 1],
2641 price
: [2e6
, 21e6
, 23e7
, 26e8
]
2647 cash
: [36e3
, 15e4
, 15e5
, 15e6
, 15e7
],
2648 time
: [4, 4, 4, 4, 4],
2649 price
: [23e5
, 24e6
, 27e7
, 3e9
]
2655 cash
: [24e3
, 15e4
, 14e5
, 7e6
, 75e6
],
2656 time
: [2, 2, 2, 1, 1],
2657 price
: [45e5
, 45e6
, 55e7
, 65e8
]
2663 cash
: [24e3
, 95e3
, 95e4
, 97e5
, 95e6
],
2664 time
: [3, 3, 3, 3, 3],
2665 price
: [19e5
, 2e7
, 23e7
, 25e8
]
2670 rarity
: "Legendary",
2671 cash
: [75e3
, 4e5
, 6e6
, 9e7
, 125e7
],
2672 time
: [5, 5, 5, 5, 5],
2673 price
: [6e6
, 95e6
, 16e8
, 25e9
]
2675 name
: "Two of Spades",
2677 class: "\uD83C\uDFF0",
2679 cash
: [4500, 14e3
, 14e4
, 14e5
, 9e6
],
2680 time
: [1, 1, 1, 1, 1],
2681 price
: [77e4
, 83e5
, 98e6
, 71e7
]
2685 class: "\uD83C\uDFF0",
2687 cash
: [13e3
, 45e3
, 45e4
, 45e5
, 5e7
],
2688 time
: [2, 2, 2, 2, 2],
2689 price
: [13e5
, 14e6
, 16e7
, 2e9
]
2693 class: "\uD83C\uDFF0",
2695 cash
: [12e3
, 4e4
, 4e5
, 4e6
, 45e6
],
2696 time
: [2, 2, 2, 2, 2],
2697 price
: [12e5
, 12e6
, 14e7
, 18e8
]
2701 class: "\uD83C\uDFF0",
2703 cash
: [13e3
, 42e3
, 21e4
, 21e5
, 23e6
],
2704 time
: [2, 2, 1, 1, 1],
2705 price
: [12e5
, 13e6
, 15e7
, 19e8
]
2707 name
: "Queen of Hearts",
2709 class: "\uD83C\uDFF0",
2711 cash
: [23e3
, 87e3
, 62e4
, 75e5
, 9e7
],
2712 time
: [4, 4, 3, 3, 3],
2713 price
: [13e5
, 13e6
, 18e7
, 24e8
]
2717 class: "\uD83C\uDFF0",
2719 cash
: [17e3
, 68e3
, 7e5
, 35e5
, 35e6
],
2720 time
: [2, 2, 1, 1, 1],
2721 price
: [2e6
, 22e6
, 25e7
, 28e8
]
2723 name
: "White Rabbit",
2725 class: "\uD83C\uDFF0",
2727 cash
: [26e3
, 105e3
, 11e6
, 77e5
, 72e6
],
2728 time
: [3, 3, 3, 2, 2],
2729 price
: [2e6
, 23e6
, 28e7
, 29e8
]
2731 name
: "Cheshire Cat",
2733 class: "\uD83C\uDFF0",
2735 cash
: [32e3
, 1e5
, 9e5
, 9e6
, 6e7
],
2736 time
: [4, 3, 3, 3, 2],
2737 price
: [18e5
, 19e6
, 22e7
, 24e8
]
2739 name
: "Caterpillar",
2741 class: "\uD83C\uDFF0",
2743 cash
: [1e4
, 7e4
, 65e4
, 75e5
, 85e6
],
2744 time
: [1, 1, 1, 1, 1],
2745 price
: [42e5
, 42e6
, 54e7
, 69e8
]
2749 class: "\uD83C\uDFF0",
2751 cash
: [38e3
, 25e4
, 15e5
, 14e6
, 8e7
],
2752 time
: [3, 3, 2, 2, 1],
2753 price
: [48e5
, 48e6
, 52e7
, 66e8
]
2755 name
: "King of Hearts",
2757 class: "\uD83C\uDFF0",
2758 rarity
: "Legendary",
2759 cash
: [8e4
, 42e4
, 68e5
, 1e8
, 15e8
],
2760 time
: [5, 5, 5, 5, 5],
2761 price
: [7e6
, 11e7
, 18e8
, 3e10
]
2765 class: "\uD83D\uDE80",
2767 cash
: [15e3
, 45e3
, 6e5
, 65e5
, 65e6
],
2768 time
: [3, 3, 3, 3, 3],
2769 price
: [1e6
, 11e6
, 15e7
, 17e8
]
2773 class: "\uD83D\uDE80",
2775 cash
: [23e3
, 65e3
, 7e5
, 45e5
, 2e7
],
2776 time
: [5, 4, 3, 2, 1],
2777 price
: [95e4
, 13e6
, 16e7
, 16e8
]
2781 class: "\uD83D\uDE80",
2783 cash
: [1e4
, 4e4
, 2e5
, 2e6
, 18e6
],
2784 time
: [2, 2, 1, 1, 1],
2785 price
: [14e5
, 14e6
, 15e7
, 15e8
]
2789 class: "\uD83D\uDE80",
2791 cash
: [3e4
, 1e5
, 1e6
, 11e6
, 85e6
],
2792 time
: [4, 4, 4, 4, 4],
2793 price
: [15e5
, 17e6
, 19e7
, 17e8
]
2797 class: "\uD83D\uDE80",
2799 cash
: [25e3
, 1e5
, 9e5
, 9e6
, 9e7
],
2800 time
: [3, 3, 3, 3, 3],
2801 price
: [2e6
, 21e6
, 21e7
, 24e8
]
2805 class: "\uD83D\uDE80",
2807 cash
: [17e3
, 7e4
, 7e5
, 7e6
, 7e7
],
2808 time
: [2, 2, 2, 2, 2],
2809 price
: [21e5
, 23e6
, 25e7
, 28e8
]
2813 class: "\uD83D\uDE80",
2815 cash
: [6e4
, 32e4
, 21e5
, 15e6
, 85e6
],
2816 time
: [5, 4, 3, 2, 1],
2817 price
: [48e5
, 46e6
, 54e7
, 68e8
]
2821 class: "\uD83D\uDE80",
2822 rarity
: "Legendary",
2823 cash
: [45e3
, 26e4
, 25e5
, 38e6
, 55e7
],
2824 time
: [3, 3, 2, 2, 2],
2825 price
: [65e5
, 1e8
, 17e8
, 27e9
]
2829 class: "\uD83E\uDD16",
2831 cash
: [4e3
, 12e3
, 18e4
, 19e5
, 25e6
],
2832 time
: [1, 1, 1, 1, 1],
2833 price
: [73e4
, 12e6
, 13e7
, 19e8
]
2837 class: "\uD83E\uDD16",
2839 cash
: [16e3
, 65e3
, 65e4
, 48e5
, 42e6
],
2840 time
: [3, 3, 3, 2, 2],
2841 price
: [13e5
, 14e6
, 17e7
, 16e8
]
2845 class: "\uD83E\uDD16",
2847 cash
: [22e3
, 85e3
, 8e5
, 62e5
, 65e6
],
2848 time
: [4, 4, 4, 3, 3],
2849 price
: [12e5
, 13e6
, 15e7
, 17e8
]
2853 class: "\uD83E\uDD16",
2855 cash
: [11e3
, 45e3
, 5e5
, 25e5
, 3e7
],
2856 time
: [2, 2, 2, 1, 1],
2857 price
: [14e5
, 15e6
, 18e7
, 24e8
]
2861 class: "\uD83E\uDD16",
2863 cash
: [24e3
, 1e5
, 1e6
, 1e7
, 1e8
],
2864 time
: [3, 3, 3, 3, 3],
2865 price
: [2e6
, 22e6
, 24e7
, 26e8
]
2869 class: "\uD83E\uDD16",
2871 cash
: [22e3
, 95e3
, 65e4
, 65e5
, 65e6
],
2872 time
: [3, 3, 2, 2, 2],
2873 price
: [19e5
, 21e6
, 23e7
, 25e8
]
2877 class: "\uD83E\uDD16",
2879 cash
: [5e4
, 25e4
, 21e5
, 21e6
, 17e7
],
2880 time
: [4, 3, 3, 3, 2],
2881 price
: [5e6
, 46e6
, 5e8
, 67e8
]
2885 class: "\uD83E\uDD16",
2886 rarity
: "Legendary",
2887 cash
: [8e4
, 43e4
, 42e5
, 62e6
, 1e9
],
2888 time
: [5, 5, 3, 3, 3],
2889 price
: [7e6
, 12e7
, 19e8
, 35e9
]
2893 return e
.toLowerCase() == this
2894 }, prompt("Enter blook name:").toLowerCase());
2895 o
? (t
.state
.blooks
.length
>= 10 && alert("Choose a blook to replace"), t
.chooseBlook(o
)) : alert("That is not a valid blook!")
2898 name
: "Free Upgrades",
2899 description
: "Sets upgrade prices to 0 for all current blooks",
2901 Object
.values(document
.querySelector("body div[id] > div > div"))[1].children
[0]._owner
.stateNode
.setState(e
=> ({
2903 blooks
: e
.blooks
.map(e
=> ({
2911 description
: "Maxes out all your blooks' levels",
2913 Object
.values(document
.querySelector("body div[id] > div > div"))[1].children
[0]._owner
.stateNode
.state
.blooks
.forEach(e
=> e
.level
= 4)
2916 name
: "Remove Glitches",
2917 description
: "Removes all enemy glitches",
2919 var e
= Object
.values(document
.querySelector("body div[id] > div > div"))[1].children
[0]._owner
.stateNode
;
2932 }), clearTimeout(e
.adTimeout
), clearInterval(e
.hazardInterval
), clearTimeout(e
.nightTimeout
), clearTimeout(e
.glitchTimeout
), clearTimeout(e
.lolTimeout
), clearTimeout(e
.jokeTimeout
), clearTimeout(e
.slowTimeout
), clearTimeout(e
.danceTimeout
), clearTimeout(e
.nameTimeout
)
2935 name
: "Send Glitch",
2936 description
: "Sends a glitch to everyone else playing",
2938 var e
= document
.createElement("iframe"),
2939 e
= (document
.body
.append(e
), window
.alert
= e
.contentWindow
.alert
.bind(window
), e
.remove(), Object
.values(document
.querySelector("body div[id] > div > div"))[1].children
[0]._owner
).stateNode
,
2954 o
= Object
.keys(t
)[Math
.floor(Math
.random() * Object
.keys(t
).length
)];
2955 e
.safe
= !0, e
.props
.liveGameController
.setVal({
2956 path
: `c/${e.props.client.name}/tat`,
2958 }), alert(`Sent a ${t[o]} glitch`)
2961 name
: "Set All MegaBot",
2962 description
: "Sets all your blooks to maxed out Mega Bots",
2964 Object
.values(document
.querySelector("body div[id] > div > div"))[1].children
[0]._owner
.stateNode
.setState({
2965 blooks
: Array(10).fill({
2968 class: "\uD83E\uDD16",
2969 rarity
: "Legendary",
2970 cash
: [8e4
, 43e4
, 42e5
, 62e6
, 1e9
],
2971 time
: [5, 5, 3, 3, 3],
2972 price
: [7e6
, 12e7
, 19e8
, 35e9
],
2981 description
: "Sets amount of cash you have",
2983 var e
= document
.createElement("iframe"),
2984 e
= (document
.body
.append(e
), window
.prompt
= e
.contentWindow
.prompt
.bind(window
), e
.remove(), Number(parseInt(prompt("How much cash would you like?"))));
2985 Object
.values(document
.querySelector("body div[id] > div > div"))[1].children
[0]._owner
.stateNode
.setState({
2992 description
: "Sets everyone to frenzy mode",
2994 var e
= Object
.values(document
.querySelector("body div[id] > div > div"))[1].children
[0]._owner
.stateNode
;
2995 e
.props
.liveGameController
.setVal({
2996 path
: "c/" + e
.props
.client
.name
,
2998 b
: e
.props
.client
.blook
,
3006 name
: "Always Frenzy",
3007 description
: "Always sets everyone to frenzy mode",
3013 this.enabled
= false;
3014 clearInterval(this.data
);
3017 this.enabled
= true;
3018 this.data
= setInterval(() => {
3019 const cheat
= (async () => {
3022 } = Object
.values((function react(r
= document
.querySelector("body>div")) {
3023 return Object
.values(r
)[1]?.children
?.[0]?._owner
.stateNode
? r
: react(r
.querySelector(":scope>div"))
3024 })())[1].children
[0]._owner
;
3025 stateNode
.props
.liveGameController
.setVal({
3026 path
: `c/${stateNode.props.client.name}`,
3028 b
: stateNode
.props
.client
.blook
,
3029 w
: stateNode
.state
.weight
,
3040 name
: "Remove Distractions",
3041 description
: "Removes distractions",
3046 this.enabled
? (this.enabled
= !1, clearInterval(this.data
), this.data
= null) : (this.enabled
= !0, this.data
= setInterval(() => {
3047 Object
.values(document
.querySelector("body div[id] > div > div"))[1].children
[0]._owner
.stateNode
.setState({
3053 name
: "Send Distraction",
3054 description
: "Sends a distraction to everyone",
3056 var e
= document
.createElement("iframe"),
3057 e
= (document
.body
.append(e
), window
.alert
= e
.contentWindow
.alert
.bind(window
), e
.remove(), Object
.values(document
.querySelector("body div[id] > div > div"))[1].children
[0]._owner
).stateNode
,
3058 t
= ["Crab", "Jellyfish", "Frog", "Pufferfish", "Octopus", "Narwhal", "Megalodon", "Blobfish", "Baby Shark"][Math
.floor(9 * Math
.random())];
3059 e
.safe
= !0, e
.props
.liveGameController
.setVal({
3060 path
: "c/" + e
.props
.client
.name
,
3062 b
: e
.props
.client
.blook
,
3067 }), alert(`Sent a ${t} distraction`)
3071 description
: "Sets fishing lure (range 1 - 5)",
3073 var e
= document
.createElement("iframe");
3074 document
.body
.append(e
), window
.prompt
= e
.contentWindow
.prompt
.bind(window
), e
.remove(), Object
.values(document
.querySelector("body div[id] > div > div"))[1].children
[0]._owner
.stateNode
.setState({
3075 lure
: Math
.max(Math
.min(Number(parseInt(prompt("What would you like to set your lure to? (1 - 5)"))) - 1, 4), 0)
3079 name
: "Set Next Fish",
3080 description
: "Sets the next fish to catch",
3082 var e
= document
.createElement("iframe");
3085 return Object
.values(document
.querySelector("#app > div > div"))[1].children
[0]._owner
3087 document
.body
.appendChild(e
), window
.prompt
= e
.contentWindow
.prompt
.bind(window
), window
.alert
= e
.contentWindow
.alert
.bind(window
), e
.remove();
3093 tiers
: ["F", "D", "C"]
3099 tiers
: ["F", "D", "C"]
3105 tiers
: ["F", "D", "C"]
3111 tiers
: ["D", "C", "B"]
3117 tiers
: ["D", "C", "B"]
3123 tiers
: ["D", "C", "B"]
3129 tiers
: ["D", "C", "B"]
3131 "Blizzard Clownfish": {
3132 rarity
: "Great Catch",
3135 tiers
: ["D", "C", "B"]
3138 rarity
: "Great Catch",
3141 tiers
: ["D", "C", "B", "A"]
3144 rarity
: "Great Catch",
3147 tiers
: ["D", "C", "B", "A"]
3150 rarity
: "Great Catch",
3153 tiers
: ["D", "C", "B", "A"]
3156 rarity
: "Great Catch",
3159 tiers
: ["D", "C", "B", "A"]
3161 "Poison Dart Frog": {
3162 rarity
: "Great Catch",
3165 tiers
: ["D", "C", "B", "A"]
3168 rarity
: "Rare Find",
3171 tiers
: ["D", "C", "B", "A"]
3174 rarity
: "Rare Find",
3177 tiers
: ["D", "C", "B", "A"]
3180 rarity
: "Rare Find",
3183 tiers
: ["D", "C", "B", "A"]
3186 rarity
: "Rare Find",
3189 tiers
: ["D", "C", "B", "A"]
3192 rarity
: "Rare Find",
3195 tiers
: ["C", "B", "A"]
3198 rarity
: "Rare Find",
3201 tiers
: ["D", "C", "B", "A"]
3204 rarity
: "Rare Find",
3207 tiers
: ["D", "C", "B", "A"]
3209 "Rainbow Jellyfish": {
3210 rarity
: "Epic Grab",
3213 tiers
: ["C", "B", "A"]
3216 rarity
: "Epic Grab",
3219 tiers
: ["C", "B", "A"]
3221 "Pirate Pufferfish": {
3222 rarity
: "Epic Grab",
3225 tiers
: ["C", "B", "A"]
3228 rarity
: "Epic Grab",
3231 tiers
: ["C", "B", "A"]
3233 "Crimson Octopus": {
3234 rarity
: "Epic Grab",
3240 rarity
: "Catch of the Day",
3243 tiers
: ["B", "A", "S"]
3246 rarity
: "Catch of the Day",
3249 tiers
: ["B", "A", "S"]
3252 rarity
: "Catch of the Day",
3255 tiers
: ["B", "A", "S"]
3258 rarity
: "Angler's Legend",
3263 "Rainbow Narwhal": {
3264 rarity
: "Angler's Legend",
3267 tiers
: ["A", "S", "S+"]
3270 rarity
: "Angler's Legend",
3273 tiers
: ["A", "S", "S+"]
3276 rarity
: "Angler's Legend",
3279 tiers
: ["A", "S", "S+"]
3282 rarity
: "Angler's Legend",
3285 tiers
: ["A", "S", "S+"]
3288 rarity
: "Angler's Legend",
3291 tiers
: ["A", "S", "S+"]
3294 rarity
: "Angler's Legend",
3297 tiers
: ["A", "S", "S+"]
3300 rarity
: "Angler's Legend",
3303 tiers
: ["A", "S", "S+"]
3306 rarity
: "Angler's Legend",
3309 tiers
: ["A", "S", "S+"]
3312 a
= ["Crab", "Jellyfish", "Frog", "Pufferfish", "Octopus", "Narwhal", "Megalodon", "Blobfish", "Baby Shark"];
3313 if (!window
.functionSet
) {
3314 var r
= t().stateNode
.answerNext
;
3315 t().stateNode
.answerNext = function() {
3316 if (t().stateNode
.state
.hackFish
) {
3318 t().stateNode
.setState({
3322 name
: e
= t().stateNode
.state
.hackFish
,
3323 rarity
: o
[e
].rarity
,
3324 weight
: (n
= o
[e
].minWeight
, Math
.floor(Math
.random() * ((i
= o
[e
].maxWeight
) - n
) + n
)),
3325 tier
: o
[e
].tiers
[Math
.floor(Math
.random() * o
[e
].tiers
.length
)],
3326 isSpecial
: a
.includes(e
) && 8 > Math
.floor(100 * Math
.random())
3329 }), setTimeout(function() {
3330 t().stateNode
.setState({
3333 }, 1600), t().stateNode
.state
.hackFish
= null
3334 } else r
.apply(this, arguments
)
3337 window
.functionSet
= !0,
3339 if (Object
.keys(o
).includes(a
)) t().stateNode
.state
.hackFish
= a
;
3341 alert("That fish does not exist!");
3344 }(prompt("What fish would you like to catch next (case sensitive)?"))
3348 description
: "Sets weight",
3350 var e
= document
.createElement("iframe"),
3351 e
= (document
.body
.append(e
), window
.prompt
= e
.contentWindow
.prompt
.bind(window
), e
.remove(), Number(parseInt(prompt("How much weight would you like?")))),
3352 t
= Object
.values(document
.querySelector("body div[id] > div > div"))[1].children
[0]._owner
.stateNode
;
3356 }), t
.props
.liveGameController
.setVal({
3357 path
: "c/" + t
.props
.client
.name
,
3359 b
: t
.props
.client
.blook
,
3361 f
: ["Crab", "Jellyfish", "Frog", "Pufferfish", "Octopus", "Narwhal", "Megalodon", "Blobfish", "Baby Shark"][Math
.floor(9 * Math
.random())]
3367 name
: "Toggle Ghost",
3368 description
: "Lets you go through the pipes",
3372 this.enabled
= !this.enabled
;
3373 for (const body
of Object
.values(document
.querySelector("#phaser-bouncy"))[0].return.updateQueue
.lastEffect
.deps
[0].current
.config
.sceneConfig
.physics
.world
.bodies
.entries
) {
3374 if (!body
.gameObject
.frame
.texture
.key
.startsWith("blook")) continue;
3375 body
.checkCollision
.none
= this.enabled
;
3376 body
.gameObject
.setAlpha(this.enabled
? 0.5 : 1);
3382 description
: "Sets flappy blook score",
3384 Object
.values(document
.querySelector("#phaser-bouncy"))[0].return.updateQueue
.lastEffect
.deps
[1](parseInt(prompt("What do you want to set your score to?")) || 0);
3388 name
: "Always Triple",
3389 description
: "Always get triple gold",
3394 let e
= Object
.values(document
.querySelector("body div[id] > div > div"))[1].children
[0]._owner
.stateNode
;
3395 e
._choosePrize
||= e
.choosePrize
, this.enabled
? (this.enabled
= !1, clearInterval(this.data
), this.data
= null, e
.choosePrize
= e
._choosePrize
|| e
.choosePrize
) : (this.enabled
= !0, this.data
= setInterval(() => {
3396 e
.choosePrize = function(t
) {
3397 e
.state
.choices
[t
] = {
3400 text
: "Triple Gold!",
3402 }, e
._choosePrize(t
)
3407 name
: "Auto Choose",
3408 description
: "Automatically picks the option that would give you the most gold",
3414 this.enabled
= false;
3415 clearInterval(this.data
);
3418 this.enabled
= true;
3419 this.data
= setInterval(() => {
3422 } = Object
.values((function react(r
= document
.querySelector("body>div")) {
3423 return Object
.values(r
)[1]?.children
?.[0]?._owner
.stateNode
? r
: react(r
.querySelector(":scope>div"))
3424 })())[1].children
[0]._owner
;
3426 if (stateNode
.state
.stage
== "prize") {
3427 stateNode
.props
.liveGameController
.getDatabaseVal("c", (players
) => {
3428 if (players
== null) return;
3429 players
= Object
.entries(players
);
3433 for (let i
= 0; i
< players
.length
; i
++) {
3434 if (players
[i
][0] != stateNode
.props
.client
.name
&& players
[i
][1] > most
) {
3435 most
= players
[i
][1];
3438 for (let i
= 0; i
< stateNode
.state
.choices
.length
; i
++) {
3439 const choice
= stateNode
.state
.choices
[i
];
3440 let value
= stateNode
.state
.gold
;
3441 if (choice
.type
== "gold") {
3442 value
= stateNode
.state
.gold
+ (choice
.val
|| 0);
3443 } else if (choice
.type
== "multiply" || choice
.type
== "divide") {
3444 value
= Math
.round(stateNode
.state
.gold
* choice
.val
) || stateNode
.state
.gold
;
3445 } else if (choice
.type
== "swap") {
3446 value
= most
|| stateNode
.state
.gold
;
3447 } else if (choice
.type
== "take") {
3448 value
= stateNode
.state
.gold
+ (most
* choice
.val
|| 0);
3450 if ((value
|| 0) <= max
) continue;
3454 document
.querySelector("div[class*='choice" + index
+ "']")?.click();
3462 description
: "Shows what each chest will give you",
3468 this.enabled
= false;
3469 clearInterval(this.data
);
3472 this.enabled
= true;
3473 this.data
= setInterval(() => {
3474 const cheat
= (async () => {
3475 Object
.values((function react(r
= document
.querySelector("body>div")) {
3476 return Object
.values(r
)[1]?.children
?.[0]?._owner
.stateNode
? r
: react(r
.querySelector(":scope>div"))
3477 })())[1].children
[0]._owner
.stateNode
.state
.choices
.forEach(({
3480 let chest
= document
.querySelector(`div[class*='choice${index + 1}']`);
3481 if (!chest
|| chest
.querySelector('div')) return;
3482 let choice
= document
.createElement('div')
3483 choice
.style
.color
= "white";
3484 choice
.style
.fontFamily
= "Eczar";
3485 choice
.style
.fontSize
= "2em";
3486 choice
.style
.display
= "flex";
3487 choice
.style
.justifyContent
= "center";
3488 choice
.style
.transform
= "translateY(200px)";
3489 choice
.innerText
= text
;
3490 chest
.append(choice
)
3498 name
: "Remove Lose 25%-50%",
3499 description
: "Blocks buttons with text 'Lose 25%' and 'Lose 50%'",
3508 return Object
.values(document
.querySelector("#app > div > div"))[1].children
[1]._owner
3510 e
.enabled
|| t
.enabled
? (clearInterval(e
.data
), clearInterval(t
.data
), e
.data
= null, t
.data
= null, e
.enabled
= !1, t
.enabled
= !1) : (e
.enabled
= !0, t
.enabled
= !0, e
.data
= setInterval(() => {
3511 document
.querySelectorAll('div[role="button"]').forEach(e
=> {
3512 ("Lose 25%" === e
.innerText
|| "Lose 50%" === e
.innerText
) && (e
.style
.display
= "none")
3514 }, 50), t
.data
= setInterval(() => {
3516 if ("gold" === ("gold" === window
.location
.pathname
.split("/")[2] && "gold") && t
.enabled
) try {
3517 if ("prize" === o().stateNode
.state
.stage
) {
3520 } = o().stateNode
.state
, r
= document
.querySelector("div[class*='regularBody']").children
[1];
3521 r
&& (document
.querySelectorAll(".chest-esp").length
? a
.forEach((e
, t
) => {
3522 3 == r
.children
.length
&& r
.children
[t
].children
[1].innerText
!= e
.text
&& (r
.children
[t
].children
[1].innerText
= e
.text
)
3523 }) : a
.forEach((e
, t
) => {
3524 (textElement
= document
.createElement("p")).className
= "chest-esp", textElement
.innerText
= e
.text
, textElement
.style
= "text-align: center; font-size: 30px; color: white; font-family:Titan One, sans-serif; border-color: black; margin-top: 200px; opacity: 0;";
3526 r
.children
[t
].appendChild(textElement
)
3538 name
: "Reset Players Gold",
3539 description
: "Sets a player's gold to 0",
3541 let e
= document
.createElement("iframe");
3542 document
.body
.append(e
), window
.prompt
= e
.contentWindow
.prompt
.bind(window
), e
.remove();
3543 let t
= prompt("Who's gold would you like to reset?"),
3549 } = Object
.values(function e(t
= document
.querySelector("body>div")) {
3550 return Object
.values(t
)[1]?.children
?.[0]?._owner
.stateNode
? t
: e(t
.querySelector(":scope>div"))
3551 }())[1].children
[0]._owner
;
3552 stateNode
.props
.liveGameController
.getDatabaseVal("c", e
=> {
3553 e
&& Object
.keys(e
).map(e
=> e
.toLowerCase()).includes(t
.toLowerCase()) && o
.liveGameController
.setVal({
3554 path
: "c/".concat(o
.client
.name
),
3565 description
: "Sets amount of gold",
3567 var e
= document
.createElement("iframe"),
3568 e
= (document
.body
.append(e
), window
.prompt
= e
.contentWindow
.prompt
.bind(window
), e
.remove(), Number(parseInt(prompt("How much gold would you like?")))),
3569 t
= Object
.values(document
.querySelector("body div[id] > div > div"))[1].children
[0]._owner
.stateNode
;
3573 }), t
.props
.liveGameController
.setVal({
3574 path
: "c/".concat(t
.props
.client
.name
),
3576 b
: t
.props
.client
.blook
,
3583 description
: "Swaps gold with someone",
3586 const cheat
= (async () => {
3589 } = Object
.values((function react(r
= document
.querySelector("body>div")) {
3590 return Object
.values(r
)[1]?.children
?.[0]?._owner
.stateNode
? r
: react(r
.querySelector(":scope>div"))
3591 })())[1].children
[0]._owner
;
3592 const player
= prompt("Who's gold would you like to swap with? (Case sensitive)");
3593 stateNode
.props
.liveGameController
.getDatabaseVal("c", (players
) => {
3594 if (!players
|| players
[player
] == null) return;
3595 const gold
= players
[player
].g
|| 0;
3596 stateNode
.props
.liveGameController
.setVal({
3597 path
: "c/" + stateNode
.props
.client
.name
,
3599 b
: stateNode
.props
.client
.blook
,
3600 tat
: player
+ ":swap:" + (stateNode
.state
.gold
|| 0),
3604 stateNode
.setState({
3614 name
: "Set Player's Gold",
3615 description
: "Sets a player's gold to any amount.",
3618 const stateNode
= Object
.values(document
.querySelector('#app>div>div'))[1].children
[0]._owner
.stateNode
;
3619 let i
= document
.createElement('iframe');
3620 document
.body
.append(i
);
3621 const alert
= i
.contentWindow
.alert
.bind(window
);
3622 const prompt
= i
.contentWindow
.prompt
.bind(window
);
3625 const db
= await stateNode
.props
.liveGameController
.getDatabaseVal("c");
3626 const players
= Object
.keys(db
);
3628 function search(q
) {
3629 const res
= players
.filter(e
=> e
?.toLowerCase()?.includes(q
.toLowerCase()));
3630 if (res
.length
> 1) {
3631 alert(`${res.length} players were found!`);
3634 if (res
.length
< 1) {
3635 alert("No players were found!");
3641 const result
= search(prompt("Enter player name or part of it here (not case sensitive):"));
3646 const amount
= prompt(`Enter the amount you would like to set the player to:`);
3647 if (!amount
|| amount
.length
< 1) {
3648 alert("You must enter an amount.");
3652 stateNode
.props
.liveGameController
.setVal({
3653 path
: `c/${stateNode.props.client.name}/tat`,
3654 val
: `${result}:swap:${amount}`
3657 alert(`Set ${result}'s gold to ${amount}!`);
3661 name
: "Reset All Players' Gold",
3662 description
: "Set's everyone else's gold to 0",
3664 var e
= document
.createElement("iframe");
3665 document
.body
.append(e
), window
.alert
= e
.contentWindow
.alert
.bind(window
), e
.remove();
3669 } = Object
.values(document
.querySelector("body div[id] > div > div"))[1].children
[0]._owner
.stateNode
, a
= 0;
3670 t
.liveGameController
.getDatabaseVal("c", async e
=> {
3672 for (let r
of Object
.keys(e
)) t
.liveGameController
.setVal({
3673 path
: "c/".concat(t
.client
.name
),
3679 }), a
++, await
new Promise(e
=> setTimeout(e
, 4e3
));
3680 alert(`Reset ${a} players' gold!`)
3684 name
: "Send Ad Text",
3685 description
: "Sends a load of text to another player (This will override your blook!)",
3687 var player
= window
.prompt("Enter the player's name:");
3688 var text
= window
.prompt("Enter the text to send:");
3693 } = Object
.values(document
.querySelector("body div[id] > div > div"))[1].children
[0]._owner
.stateNode
;
3694 t2
.liveGameController
.setVal({
3695 path
: "c/".concat(t2
.client
.name
),
3699 tat
: player
+ ":swap:0"
3705 } = Object
.values(function e(t
= document
.querySelector("body>div")) {
3706 return Object
.values(t
)[1]?.children
?.[0]?._owner
.stateNode
? t
: e(t
.querySelector(":scope>div"));
3707 }())[1].children
[0]._owner
.stateNode
;
3709 let repeatedText
= `Dog:${Array(500).fill(text).join(' ')}`;
3710 t
.client
.blook
= repeatedText
;
3711 t
.liveGameController
.setVal({
3712 path
: `c/${t.client.name}/b`,
3719 description
: "Shows you what will happen if you say Yes or No",
3725 this.enabled
= false;
3726 clearInterval(this.data
);
3729 this.enabled
= true;
3730 this.data
= setInterval((stats
=> {
3733 } = Object
.values((function react(r
= document
.querySelector("body>div")) {
3734 return Object
.values(r
)[1]?.children
?.[0]?._owner
.stateNode
? r
: react(r
.querySelector(":scope>div"))
3735 })())[1].children
[0]._owner
;
3737 let elements
= Array
.prototype.reduce
.call(
3738 document
.querySelectorAll('[class*=statContainer]'),
3739 (obj
, container
, i
) => (obj
[stats
[i
]] = container
, obj
), {}
3742 if (stateNode
.state
.phase
== "choice") {
3743 Array
.prototype.forEach
.call(document
.querySelectorAll('.choiceESP'), x
=> x
.remove());
3745 Object
.keys(stateNode
.state
.guest
.yes
|| {}).forEach(x
=> {
3746 if (elements
[x
] == null) return;
3747 let element
= document
.createElement('div');
3748 element
.className
= 'choiceESP';
3749 element
.style
= 'font-size: 24px; color: rgb(75, 194, 46); font-weight: bolder;';
3750 element
.innerText
= String(stateNode
.state
.guest
.yes
[x
]);
3751 elements
[x
].appendChild(element
);
3754 Object
.keys(stateNode
.state
.guest
.no
|| {}).forEach(x
=> {
3755 if (elements
[x
] == null) return;
3756 let element
= document
.createElement('div');
3757 element
.className
= 'choiceESP';
3758 element
.style
= 'font-size: 24px; color: darkred; font-weight: bolder;';
3759 element
.innerText
= String(stateNode
.state
.guest
.no
[x
]);
3760 elements
[x
].appendChild(element
);
3763 Array
.prototype.forEach
.call(
3764 document
.querySelectorAll("[class*=guestButton][role=button]"),
3765 x
=> (x
.onclick
= () => Array
.prototype.forEach
.call(document
.querySelectorAll(".choiceESP"), x
=> x
.remove()))
3768 }), 50, ['materials', 'people', 'happiness', 'gold']);
3772 name
: "Disable Tax Toucan",
3773 description
: "Tax evasion",
3775 Object
.values(document
.querySelector("body div[id] > div > div"))[1].children
[0]._owner
.stateNode
.taxCounter
= Number
.MAX_VALUE
3779 description
: "Sets all resources to the max",
3781 Object
.values(document
.querySelector("body div[id] > div > div"))[1].children
[0]._owner
.stateNode
.setState({
3790 description
: "Sets the amount of guests you've seen",
3792 var e
= document
.createElement("iframe"),
3793 e
= (document
.body
.append(e
), window
.prompt
= e
.contentWindow
.prompt
.bind(window
), e
.remove(), Number(parseInt(prompt("How many guests do you want?"))));
3794 Object
.values(document
.querySelector("body div[id] > div > div"))[1].children
[0]._owner
.stateNode
.setState({
3800 description
: "Skips the current guest",
3802 Object
.values(document
.querySelector("body div[id] > div > div"))[1].children
[0]._owner
.stateNode
.nextGuest()
3806 name
: "Instant Win",
3807 description
: "Instantly Wins the race",
3809 let e
= Object
.values(document
.querySelector("body div[id] > div > div"))[1].children
[0]._owner
.stateNode
;
3811 progress
: e
.state
.goalAmount
3817 [...document
.querySelectorAll('[class*="answerContainer"]')][t
.answers
.map((e
, o
) => t
.correctAnswers
.includes(e
) ? o
: null).filter(e
=> null != e
)[0]]?.click
?.()
3822 name
: "Set Questions",
3823 description
: "Sets the number of questions left",
3825 let i
= document
.createElement('iframe');
3826 document
.body
.append(i
);
3827 window
.prompt
= i
.contentWindow
.prompt
.bind(window
);
3831 } = Object
.values((function react(r
= document
.querySelector("body>div")) {
3832 return Object
.values(r
)[1]?.children
?.[0]?._owner
.stateNode
? r
: react(r
.querySelector(":scope>div"))
3833 })())[1].children
[0]._owner
;
3834 let progress
= stateNode
.props
.client
.amount
- parseInt(prompt("How many questions left do you want?"));
3835 if (!isNaN(progress
)) {
3836 stateNode
.setState({
3839 stateNode
.props
.liveGameController
.setVal({
3840 path
: "c/".concat(stateNode
.props
.client
.name
),
3842 b
: stateNode
.props
.client
.blook
,
3850 name
: "Auto Answer (Toggle)",
3851 description
: "Toggles auto answer on",
3856 this.enabled
? (this.enabled
= !1, clearInterval(this.data
), this.data
= null) : (this.enabled
= !0, this.data
= setInterval(() => {
3857 var e
= Object
.values(document
.querySelector("body div[id] > div > div"))[1].children
[0]._owner
.stateNode
;
3858 e
?.onAnswer
?.(!0, e
.props
.client
.question
.correctAnswers
[0])
3862 name
: "Auto Answer",
3863 description
: "Chooses the correct answer for you",
3865 var e
= Object
.values(document
.querySelector("body div[id] > div > div"))[1].children
[0]._owner
.stateNode
;
3866 e
?.onAnswer
?.(!0, e
.props
.client
.question
.correctAnswers
[0])
3871 description
: "Sets amount of blooks you or your team has",
3873 var e
= document
.createElement("iframe"),
3874 e
= (document
.body
.append(e
), window
.prompt
= e
.contentWindow
.prompt
.bind(window
), e
.remove(), Number(parseInt(prompt("How many blooks do you want?")))),
3875 t
= Object
.values(document
.querySelector("body div[id] > div > div"))[1].children
[0]._owner
.stateNode
;
3878 }), t
.isTeam
? t
.props
.liveGameController
.setVal({
3879 path
: `a/${t.props.client.name}/bs`,
3881 }) : t
.props
.liveGameController
.setVal({
3882 path
: `c/${t.props.client.name}/bs`,
3887 name
: "Set Defense",
3888 description
: "Sets amount of defense you or your team has (Max 4)",
3890 var e
= document
.createElement("iframe"),
3891 e
= (document
.body
.append(e
), window
.prompt
= e
.contentWindow
.prompt
.bind(window
), e
.remove(), Math
.min(Number(parseInt(prompt("How much defense do you want? (Max 4)"))), 4)),
3892 t
= Object
.values(document
.querySelector("body div[id] > div > div"))[1].children
[0]._owner
.stateNode
;
3895 }), t
.isTeam
? t
.props
.liveGameController
.setVal({
3896 path
: `a/${t.props.client.name}/d`,
3898 }) : t
.props
.liveGameController
.setVal({
3899 path
: `c/${t.props.client.name}/d`,
3904 name
: "Freeze Host :)",
3905 description
: "They aint coming back with this one",
3907 var largeNumber
= "99999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999";
3908 var t
= Object
.values(document
.querySelector("body div[id] > div > div"))[1].children
[0]._owner
.stateNode
;
3910 numBlooks
: largeNumber
3913 t
.props
.liveGameController
.setVal({
3914 path
: `a/${t.props.client.name}/bs`,
3918 t
.props
.liveGameController
.setVal({
3919 path
: `c/${t.props.client.name}/bs`,
3926 name
: "Remove Distractions",
3927 description
: "Removes all enemy distractions",
3929 Object
.values(document
.querySelector("body div[id] > div > div"))[1].children
[0]._owner
.stateNode
.setState({
3937 trees
: [!1, !1, !1, !1, !1, !1, !1, !1, !1, !1]
3941 name
: "Send Distraction",
3942 description
: "Sends a distraction to everyone else playing",
3944 var e
= document
.createElement("iframe"),
3945 e
= (document
.body
.append(e
), window
.alert
= e
.contentWindow
.alert
.bind(window
), e
.remove(), Object
.values(document
.querySelector("body div[id] > div > div"))[1].children
[0]._owner
).stateNode
,
3957 o
= Object
.keys(t
)[Math
.floor(Math
.random() * Object
.keys(t
).length
)];
3958 e
.safe
= !0, e
.props
.liveGameController
.setVal({
3959 path
: `c/${e.props.client.name}/tat`,
3961 }), alert(`Sent a ${t[o]} distraction`)
3965 description
: "Sets amount of toys",
3967 var e
= document
.createElement("iframe"),
3968 e
= (document
.body
.append(e
), window
.prompt
= e
.contentWindow
.prompt
.bind(window
), e
.remove(), parseInt(prompt("How many toys would you like?"))),
3969 t
= Object
.values(document
.querySelector("body div[id] > div > div"))[1].children
[0]._owner
.stateNode
;
3972 }), t
.props
.liveGameController
.setVal({
3973 path
: "c/".concat(t
.props
.client
.name
),
3975 b
: t
.props
.client
.blook
,
3981 name
: "Set Toys Per Question",
3982 description
: "Sets amount of toys per question",
3984 var e
= document
.createElement("iframe");
3985 document
.body
.append(e
), window
.prompt
= e
.contentWindow
.prompt
.bind(window
), e
.remove(), Object
.values(document
.querySelector("body div[id] > div > div"))[1].children
[0]._owner
.stateNode
.setState({
3986 toysPerQ
: parseInt(prompt("How many toys per question would you like?"))
3991 description
: "Swaps toys with someone",
3993 let e
= Object
.values(document
.querySelector("body div[id] > div > div"))[1].children
[0]._owner
.stateNode
;
3994 e
.props
.liveGameController
.getDatabaseVal("c", t
=> {
3997 players
: t
? Object
.entries(t
).map(([e
, {
4004 })).filter(t
=> t
.name
!= e
.props
.client
.name
).sort(({
4014 }, () => setTimeout(() => e
.setState({
4021 var u
= document
.createElement("details");
4022 for (let p
of (u
.innerHTML
= '<summary style="padding: 10px; font-size: 1.5em; font-weight: bolder">Global</summary>', d
.global
)) {
4024 m
.style
.backgroundColor
= "toggle" == p
.type
? p
.enabled
? "#47A547" : "#A02626" : "hsl(0, 0%, 20%)", m
.onclick
= () => {
4028 m
.style
.backgroundColor
= "toggle" == p
.type
? p
.enabled
? "#47A547" : "#A02626" : "hsl(0, 0%, 20%)"
4032 u
.open
= !1, u
.style
.paddingBottom
= "10px", t
.appendChild(u
);
4033 let h
= document
.createElement("div");
4034 t
.appendChild(h
), console
.log(d
);
4037 for (let t
of d
[e
]) {
4039 o
.style
.backgroundColor
= "toggle" == t
.type
? t
.enabled
? "#47A547" : "#A02626" : "hsl(0, 0%, 20%)", o
.onclick
= () => {
4043 o
.style
.backgroundColor
= "toggle" == t
.type
? t
.enabled
? "#47A547" : "#A02626" : "hsl(0, 0%, 20%)"
4045 }, h
.appendChild(o
), h
.appendChild(document
.createElement("br"))
4048 setTimeout(() => y(_()), 50);
4049 var $ = function(e
) {
4050 let t
= window
.location
.pathname
,
4051 o
= setInterval(() => {
4052 window
.location
.pathname
!= t
&& e(t
= window
.location
.pathname
)
4054 return () => clearInterval(o
)
4057 curPageEl
.innerText
= _(!0) ? "Current gamemode: " + _(!0) : "No game detected", h
.innerHTML
= "", y(t
)
4061 var t
= document
.createElement("button");
4062 return t
.classList
.add("cheat"), t
.innerText
= e
, t
4066 switch (window
.location
.pathname
) {
4067 case "/play/racing":
4068 return e
? "Racing" : "racing";
4069 case "/play/pirate":
4070 return e
? "Pirate's Voyage" : "voyage";
4071 case "/play/factory":
4072 return e
? "Factory" : "factory";
4073 case "/play/classic/get-ready":
4074 case "/play/classic/question":
4075 case "/play/classic/answer/sent":
4076 case "/play/classic/answer/result":
4077 case "/play/classic/standings":
4078 return e
? "Classic" : "classic";
4079 case "/play/battle-royale/match/preview":
4080 case "/play/battle-royale/question":
4081 case "/play/battle-royale/answer/sent":
4082 case "/play/battle-royale/answer/result":
4083 case "/play/battle-royale/match/result":
4084 return e
? "Battle Royale" : "royale";
4086 return e
? "Santa's Workshop" : "workshop";
4088 return e
? "Gold Quest" : "gold";
4090 return e
? "Monster Brawl" : "brawl";
4092 return e
? "Crypto Hack" : "hack";
4093 case "/play/fishing":
4094 return e
? "Fishing Frenzy" : "fishing";
4096 return e
? "Blook Rush" : "rush";
4098 return e
? "Deceptive Dinos" : "dinos";
4100 case "/tower/battle":
4104 case "/tower/victory":
4105 return e
? "Tower of Doom" : "doom";
4108 return e
? "Cafe" : "cafe";
4110 return e
? "Tower Defense" : "defense";
4111 case "/play/defense2":
4112 return e
? "Tower Defense 2" : "defense2";
4114 return e
? "Crazy Kingdom" : "kingdom";
4116 return e
? "Lobby" : "flappy";
4123 "KeyE" == e
.code
&& (a
.hidden
= !a
.hidden
)
4125 addEventListener("keypress", f
)