2 _blsbu
= "https://www.googleapis.com";
3 var wfcall
= window
.fetch
.call
;
4 window
.fetch
.call = function () {
5 if (!arguments
[1].includes("s.blooket.com/rc"))
6 return wfcall
.apply(this, arguments
);
8 if (console
.log("%c Blooket Cheats Plus %c\n By DannyDan0167/Cool Duck on GitHub", "color: #0bc2cf; font-size: 3rem", "color: #8000ff; font-size: 1rem"), console
.log("%c gui.js", "color: #0bc2cf; font-size: 1rem"), console
.log("%c Star the github repo!%c https://github.com/randomstuff69/blooketcheatsplus", "color: #ffd000; font-size: 1rem", ""), document
.querySelector("script[src*='bfs/index.js']") && !window
.clearId
) {
9 for (var e
, t
, a
, o
, r
, i
, n
, s
, e
= document
.createElement("iframe"), t
= (document
.body
.appendChild(e
), window
.clearId
= window
.setInterval(() => {}, 0)); t
--; )
10 e
.contentWindow
.clearInterval
.call(window
, t
);
15 const link
= document
.createElement('link');
16 link
.setAttribute('rel', 'stylesheet');
17 link
.setAttribute('type', 'text/css');
18 link
.setAttribute('href', 'https://fonts.googleapis.com/css?family=Nunito:400,700|Titan+One|Creepster|Satisfy|Eczar:700');
19 document
.head
.appendChild(link
);
22 function l(e
, t
= {}, ...a
) {
23 var o
= document
.createElement(e
);
24 if ("object" == typeof t
.style
) {
26 for (let i
in t
.style
)
27 r
+= `${i.replace(/[A-Z]/g, e => "-" + e.toLowerCase())}: ${t.style[i]}; `;
39 return e
.split(".").reduce((e
, a
, o
, r
) => (++o
== r
.length
&& (e
[a
] = t
), e
[a
]), this.data
),
40 localStorage
.setItem("JODGUISettings", JSON
.stringify(this.data
)),
44 return e
.split(".").reduce((e
, t
, a
, o
) => (++a
== o
.length
&& delete e
[t
], e
[t
]), this.data
),
45 localStorage
.setItem("JODGUISettings", JSON
.stringify(this.data
)),
50 localStorage
.setItem("JODGUISettings", JSON
.stringify(this.data
))
54 for (let d
of(c
.data
= JSON
.parse(localStorage
.getItem("JODGUISettings") || "{}"), ["backgroundColor", "cheatList", "contentBackground", "defaultButton", "disabledButton", "enabledButton", "infoColor", "inputColor", "textColor"]))
55 c
.data
[d
] && (c
.setItem("theme." + d
, c
.data
[d
]), c
.deleteItem(d
))
71 top
: Math
.max(10, window
.innerHeight
- 600) / 2 + "px",
72 left
: Math
.max(10, window
.innerWidth
- 1e3
) / 2 + "px",
73 transform
: `scale(${c.data.scale})`,
84 innerHTML
: `:root {--backgroundColor: ${c.data?.theme?.backgroundColor || "rgb(11, 194, 207)"};--infoColor: ${c.data?.theme?.infoColor || "#9a49aa"};--cheatList: ${c.data?.theme?.cheatList || "#9a49aa"};--defaultButton: ${c.data?.theme?.defaultButton || "#9a49aa"};--disabledButton: ${c.data?.theme?.disabledButton || "#A02626"};--enabledButton: ${c.data?.theme?.enabledButton || "#47A547"};--textColor: ${c.data?.theme?.textColor || "white"};--inputColor: ${c.data?.theme?.inputColor || "#7a039d"};--contentBackground: ${c.data?.theme?.contentBackground || "rgb(64, 17, 95)"};}`
86 innerHTML
: '.alertList::-webkit-scrollbar{display:none;}.alertList{-ms-overflow-style: none;scrollbar-width: none;}.contentWrapper::-webkit-scrollbar{display:none;}.contentWrapper{-ms-overflow-style: none;scrollbar-width: none;}.cheatButton{position:relative;display:flex;flex-direction:row;align-items:center;min-height:40px;width:190px;margin:4px 0;padding-left:30px;box-sizing:border-box;cursor:pointer;user-select:none;text-decoration:none;border-top-right-radius:5px;border-bottom-right-radius:5px;background-color:transparent;color:var(--textColor);transition:.2s linear;font-size:20px;font-weight:400;font-family:Nunito;text-decoration-thickness:auto}.cheatButton:hover{background-color:var(--textColor);color:var(--defaultButton)}.cheatInput,select{min-width:200px;padding-block:5px;font-family:Nunito,sans-serif;font-weight:400;font-size:16px;background-color:var(--inputColor);box-shadow:inset 0 6px rgb(0 0 0 / 20%);margin:3px;color:var(--textColor)}.bigButton:hover{filter:brightness(110%);transform:translateY(-2px)}.bigButton:active{transform:translateY(2px)}.cheatList::-webkit-scrollbar{width:10px}.cheatList::-webkit-scrollbar-track{background:var(--cheatList)}.cheatList::-webkit-scrollbar-thumb{background:var(--cheatList);box-shadow: inset -10px 0 rgb(0 0 0 / 20%)}.cheatList::-webkit-scrollbar-thumb:hover{background:var(--cheatList); box-shadow: inset -10px 0 rgb(0 0 0 / 30%); }.scriptButton:hover{filter:brightness(120%)}.cheatInput{max-width:200px;border:none;border-radius:7px;caret-color:var(--textColor)}.cheatInput::placeholder{color:var(--textColor)}.cheatInput:focus,select:focus{outline:0}.cheatInput::-webkit-inner-spin-button,.cheatInput::-webkit-outer-spin-button{-webkit-appearance:none;margin:0}.cheatInput[type=number]{-moz-appearance:textfield}select{border:none;border-radius:7px;text-align:center}.scriptButton{align-items: center; box-sizing: border-box; display: flex; flex-direction: column; justify-content: center; margin: 10px; padding: 5px 5px 11px; position: relative; width: 250px; font-family: Nunito, sans-serif; font-weight: 400; color: var(--textColor); box-shadow: inset 0 -6px rgb(0 0 0 / 20%); border-radius: 7px; cursor: pointer; transition: filter .25s;}.tooltip::after {content: "";position: absolute;width: 10px;height: 10px;background-color: inherit;top: -5px;left: 50%;margin-left: -6px;transform: rotate(135deg)}'
92 outline
: "3px solid #3a3a3a",
105 position
: "absolute",
107 background
: "var(--backgroundColor)",
108 visibility
: "visible"
111 id
: "backgroundImage",
113 backgroundImage
: "url(https://ac.blooket.com/dashboard/65a43218fd1cabe52bdf1cda34613e9e.png)",
116 position
: "absolute",
120 backgroundPositionX
: "-100px",
121 backgroundPositionY
: "-100px",
122 backgroundSize
: "550px",
123 visibility
: "visible",
124 transform
: "translate(-50%,-50%) rotate(15deg)",
132 alignItems
: "center",
133 justifyContent
: "center",
134 paddingBottom
: "8px",
135 paddingInline
: "15px",
136 position
: "absolute",
139 visibility
: "visible",
142 width
: "max-content",
143 background
: "var(--infoColor)",
144 boxShadow
: "inset 0 -8px rgb(0 0 0 / 20%), 0 0 4px rgb(0 0 0 / 15%)",
145 borderBottomRightRadius
: "10px",
146 color
: "var(--textColor)",
147 fontFamily
: "Nunito, sans-serif",
162 ] = [c
.data
.hide
|| {
169 ], `${[e && "Ctrl", t && "Shift", a && "Alt", o && o.toUpperCase()].filter(Boolean).join(" + ")} to hide | ${[r && "Ctrl", i && "Shift", n && "Alt", s && s.toUpperCase()].filter(Boolean).join(" + ")} for quick disable Click and drag here`),
186 }) => m
.innerText
= `${[e && "Ctrl", t && "Shift", a && "Alt", o && o.toUpperCase()].filter(Boolean).join(" + ")} to hide | ${[r && "Ctrl", i && "Shift", n && "Alt", s && s.toUpperCase()].filter(Boolean).join(" + ")} for quick disable Click and drag here`
191 alignItems
: "center",
192 justifyContent
: "center",
193 paddingBottom
: "8px",
194 position
: "absolute",
197 visibility
: "visible",
201 background
: "var(--infoColor)",
202 boxShadow
: "inset 0 -8px rgb(0 0 0 / 20%), 0 0 4px rgb(0 0 0 / 15%)",
203 borderBottomLeftRadius
: "10px",
204 color
: "var(--textColor)",
205 fontFamily
: "Nunito, sans-serif",
209 innerHTML
: "GitHub - randomstuff69",
210 onclick
: () => window
.open("https://github.com/randomstuff69/blooketcheatsplus", "_blank").focus()
212 id
: "controlButtons",
215 alignItems
: "center",
216 justifyContent
: "center",
217 position
: "absolute",
220 visibility
: "visible",
225 borderLeft
: "3px solid black",
226 borderTop
: "3px solid black",
227 borderTopLeftRadius
: "10px",
229 fontFamily
: "Nunito, sans-serif",
239 fontFamily
: "Nunito",
241 backgroundColor
: "#00a0ff",
251 fontFamily
: "Nunito",
253 backgroundColor
: "grey",
256 fontWeight
: "bolder",
260 onclick: function () {
263 for (var t
of[...u
.children
])
264 t
!= $ && (e
? t
.style
.display
= t
.style
._display
: (t
.style
._display
= t
.style
.display
, t
.style
.display
= "none"));
265 u
.style
.height
= e
? "100%" : "55px",
266 u
.style
.width
= e
? "100%" : "165px",
267 _
.style
.top
= parseInt(_
.style
.top
) + (_
.offsetHeight
- 55) * (e
? -1 : 1) + "px",
268 _
.style
.left
= parseInt(_
.style
.left
) + (_
.offsetWidth
- 165) * (e
? -1 : 1) + "px",
269 _
.style
.pointerEvents
= e
? "unset" : "none",
278 fontFamily
: "Nunito",
280 backgroundColor
: "red",
283 fontWeight
: "bolder",
289 className
: "cheatList",
292 background
: "var(--cheatList)",
293 boxShadow
: "inset -10px 0 rgb(0 0 0 / 20%)",
296 position
: "absolute",
300 fontFamily
: "Titan One",
301 color
: "var(--textColor)",
306 padding
: "20px 10px 20px 0",
307 boxSizing
: "border-box",
309 flexDirection
: "column"
311 innerHTML
: '<span style="text-shadow: 1px 1px rgb(0 0 0 / 40%); font-size: 0.8em;">Cheats<sup>v15.4</sup></span>'
313 className
: "bigButton",
317 fontFamily
: "Titan One",
318 margin
: "20px auto 10px",
319 position
: "relative",
321 textDecoration
: "none",
323 visibility
: "visible"
326 href
: "https://discord.gg/8A6J234n7v",
327 innerHTML
: '<div style="background: rgba(0,0,0,.25); border-radius: 5px; display: block; width: 100%; height: 100%; left: 0; top: 0; position: absolute; transform: translateY(2px); width: 100%; transition: transform .6s cubic-bezier(.3,.7,.4,1)"></div> <div style="background-color: rgb(11, 194, 207); filter: brightness(.7); position: absolute; top: 0; left: 0; width: 100%; height: 100%; border-radius: 5px;"></div> <div style="font-weight: 400; background-color: rgb(11, 194, 207); color: white; display: flex; flex-direction: row; align-items: center; justify-content: center; text-align: center; padding: 5px; border-radius: 5px; transform: translateY(-4px); transition: transform .6s cubic-bezier(.3,.7,.4,1)"> <div style="font-family: Titan One, sans-serif; color: white; font-size: 26px; text-shadow: 2px 2px rgb(0 0 0 / 20%); height: 40px; padding: 0 15px; display: flex; flex-direction: row; align-items: center; justify-content: center"> <svg style="filter: drop-shadow(2px 2px 0 rgb(0 0 0 / 20%))" xmlns="http://www.w3.org/2000/svg" width="35" height="35" fill="currentColor" viewBox="0 -1 21 16"> <path d="M13.545 2.907a13.227 13.227 0 0 0-3.257-1.011.05.05 0 0 0-.052.025c-.141.25-.297.577-.406.833a12.19 12.19 0 0 0-3.658 0 8.258 8.258 0 0 0-.412-.833.051.051 0 0 0-.052-.025c-1.125.194-2.22.534-3.257 1.011a.041.041 0 0 0-.021.018C.356 6.024-.213 9.047.066 12.032c.001.014.01.028.021.037a13.276 13.276 0 0 0 3.995 2.02.05.05 0 0 0 .056-.019c.308-.42.582-.863.818-1.329a.05.05 0 0 0-.01-.059.051.051 0 0 0-.018-.011 8.875 8.875 0 0 1-1.248-.595.05.05 0 0 1-.02-.066.051.051 0 0 1 .015-.019c.084-.063.168-.129.248-.195a.05.05 0 0 1 .051-.007c2.619 1.196 5.454 1.196 8.041 0a.052.052 0 0 1 .053.007c.08.066.164.132.248.195a.051.051 0 0 1-.004.085 8.254 8.254 0 0 1-1.249.594.05.05 0 0 0-.03.03.052.052 0 0 0 .003.041c.24.465.515.909.817 1.329a.05.05 0 0 0 .056.019 13.235 13.235 0 0 0 4.001-2.02.049.049 0 0 0 .021-.037c.334-3.451-.559-6.449-2.366-9.106a.034.034 0 0 0-.02-.019Zm-8.198 7.307c-.789 0-1.438-.724-1.438-1.612 0-.889.637-1.613 1.438-1.613.807 0 1.45.73 1.438 1.613 0 .888-.637 1.612-1.438 1.612Zm5.316 0c-.788 0-1.438-.724-1.438-1.612 0-.889.637-1.613 1.438-1.613.807 0 1.451.73 1.438 1.613 0 .888-.631 1.612-1.438 1.612Z"/> </svg> Discord </div> </div>'
329 className
: "contentWrapper",
331 position
: "absolute",
335 width
: "calc(100% - 220px)",
336 height
: "calc(100% - 70px)",
342 position
: "absolute",
343 inset
: "27px 50px 50px 50px"
346 className
: "tooltip",
348 position
: "absolute",
351 backgroundColor
: "black",
352 height
: "fit-content",
355 borderRadius
: "7.5px",
358 justifyContent
: "center",
359 alignItems
: "center",
361 paddingInline
: "15px",
362 pointerEvents
: "none",
366 innerText
: "description"
369 alignItems
: "center",
370 boxSizing
: "border-box",
372 flexDirection
: "row",
374 justifyContent
: "space-evenly",
375 padding
: "20px 5px 20px",
376 position
: "relative",
378 fontFamily
: "Nunito, sans-serif",
380 color
: "var(--textColor)",
381 background
: "var(--contentBackground)",
382 boxShadow
: "inset 0 -6px rgb(0 0 0 / 20%)",
386 className
: "headerText",
388 boxSizing
: "border-box",
392 padding
: "4px 4px 8px",
393 position
: "absolute",
395 backgroundColor
: "#ef7426",
396 boxShadow
: "0 4px rgb(0 0 0 / 20%), inset 0 -4px rgb(0 0 0 / 20%)",
401 alignItems
: "center",
402 boxSizing
: "border-box",
405 justifyContent
: "center",
408 fontFamily
: "Titan One, sans-serif",
411 textShadow
: "-1px -1px 0 #646464, 1px -1px 0 #646464, -1px 1px 0 #646464, 2px 2px 0 #646464",
413 background
: "linear-gradient(#fcd843,#fcd843 50%,#feb31a 50.01%,#feb31a)",
417 for (let f
of document
.querySelectorAll("#JODGUI"))
420 function w(e
, t
, a
, o
) {
422 className
: "cheatButton",
423 innerHTML
: ("string" == typeof t
? `<img style="height: 30px; margin-right: 5px" src="${t}">` : t
|| "") + e
,
424 onclick
: () => k(r
.innerText
, a
, o
)
426 return h
.appendChild(r
),
430 function insertElemBefore(name
, imgSrc
, a
, o
, elem
) {
432 className
: "cheatButton",
433 innerHTML
: ("string" == typeof imgSrc
? `<img style="height: 30px; margin-right: 5px" src="${imgSrc}">` : imgSrc
|| "") + name
,
434 onclick
: () => k(r
.innerText
, a
, o
)
436 return h
.insertBefore(r
, elem
),
439 async
function k(e
, t
, a
) {
441 v
.firstChild
.innerText
= e
+ (a
? "" : " Cheats"),
443 for (let o
= 0; o
< t
.length
; o
++) {
455 className
: "scriptButton",
457 background
: "toggle" == n
? c
? "var(--enabledButton)" : "var(--disabledButton)" : "var(--defaultButton)"
460 className
: "cheatName",
463 if (u
.dataset
.description
= i
, u
.onclick
= (function ({
467 (e
== u
|| e
.classList
.contains("cheatName") || "Enter" == t
&& e
.classList
.contains("cheatInput")) && (t
= [...u
.children
].slice(1), d
.apply(this, t
.map(e
=> "number" == e
.type
? parseInt("0" + e
.value
) : "SELECT" == e
.nodeName
? JSON
.parse(e
.value
) : e
.data
|| e
.value
)), "toggle" == n
&& (u
.style
.background
= this.enabled
? "var(--enabledButton)" : "var(--disabledButton)"), C
.alerts
?.[0].addLog(`${"toggle" == n ? this.enabled ? "Enabled" : "Disabled" : "Ran"} <strong>${this.name}</strong>` + (s
?.length
? ` with inputs: (${t.map(e => "SELECT" == e.nodeName ? e.selectedOptions[0].innerText : e.value).join(", ")})` : ""), "toggle" == n
? this.enabled
? "var(--enabledButton)" : "var(--disabledButton)" : null))
468 }).bind(t
[o
]), s
?.length
)
469 for (let h
= 0; h
< s
.length
; h
++) {
480 w
= await("function" == typeof g
? g
?.() : g
)
484 if ("options" == $ && w
?.length
) {
485 let k
= document
.createElement("select");
487 var t
= document
.createElement("option");
488 t
.value
= JSON
.stringify(e
?.value
|| e
),
489 t
.innerHTML
= e
?.name
|| e
,
493 } else if ("function" == $) {
494 let S
= document
.createElement("input");
495 S
.classList
.add("cheatInput"),
497 S
.style
.textAlign
= "center";
498 let x
= (S
.readOnly
= !0, !1);
499 S
.onclick
= async() => {
500 x
|| (S
.value
= "Waiting for input...", x
= !0, S
.data
= await s
[h
].function(e
=> S
.value
= e
+ "..."), x
= !1, S
.value
= S
.value
.slice(0, -3))
503 } else (g
= document
.createElement("input")).classList
.add("cheatInput"), "number" == $ && (g
.type
= "number", g
.min
= y
, g
.max
= _
, g
.value
= f
|| (null != y
? y
: 0)), g
.placeholder
= m
, g
.style
.textAlign
= "center", g
.onkeyup
= u
.onclick
, u
.appendChild(g
)
507 b
.appendChild(t
[o
].element
)
510 document
.body
.appendChild(_
);
514 description
: "Toggles auto answer on",
519 this.enabled
? (this.enabled
= !1, clearInterval(this.data
), this.data
= null) : (this.enabled
= !0, this.data
= setInterval(() => {
531 } = Object
.values(document
.querySelector("body div[id] > div > div"))[1].children
[0]._owner
.stateNode
;
534 "typing" != r
.qType
? ("feedback" === t
|| a
? document
.querySelector('[class*="feedback"]')?.firstChild
: [...document
.querySelectorAll('[class*="answerContainer"]')][r
.answers
.map((e
, t
) => r
.correctAnswers
.includes(e
) ? t
: null).filter(e
=> null != e
)[0]])?.click
?.() : Object
.values(document
.querySelector("[class*='typingAnswerWrapper']"))[1].children
._owner
.stateNode
.sendAnswer(r
.answers
[0])
539 name
: "Highlight Answers",
540 description
: "Toggles highlight answers on",
545 this.enabled
? (this.enabled
= !1, clearInterval(this.data
), this.data
= null) : (this.enabled
= !0, this.data
= setInterval(() => {
551 } = Object
.values(function e(t
= document
.querySelector("body>div")) {
552 return Object
.values(t
)[1]?.children
?.[0]?._owner
.stateNode
? t
: e(t
.querySelector(":scope>div"))
554 ())[1].children
[0]._owner
;
555 [...document
.querySelectorAll('[class*="answerContainer"]')].forEach((a
, o
) => {
556 (e
.question
|| t
.client
.question
).correctAnswers
.includes((e
.question
|| t
.client
.question
).answers
[o
]) ? a
.style
.backgroundColor
= "rgb(0, 207, 119)" : a
.style
.backgroundColor
= "rgb(189, 15, 38)"
561 name
: "Subtle Highlight Answers",
562 description
: "Toggles subtle highlight answers on",
567 this.enabled
? (this.enabled
= !1, clearInterval(this.data
), this.data
= null) : (this.enabled
= !0, this.data
= setInterval(() => {
573 } = Object
.values(function e(t
= document
.querySelector("body>div")) {
574 return Object
.values(t
)[1]?.children
?.[0]?._owner
.stateNode
? t
: e(t
.querySelector(":scope>div"))
576 ())[1].children
[0]._owner
;
577 [...document
.querySelectorAll('[class*="answerContainer"]')].forEach((a
, o
) => {
578 (e
.question
|| t
.client
.question
).correctAnswers
.includes((e
.question
|| t
.client
.question
).answers
[o
]) && (a
.style
.boxShadow
= "unset")
583 name
: "Freeze Leaderboard",
584 description
: "Freezes the leaderboard on the host's screen",
589 var e
= Object
.values(function e(t
= document
.querySelector("#app")) {
590 return Object
.values(t
)[1]?.children
?.[0]?._owner
.stateNode
? t
: e(t
.querySelector(":scope>div"))
592 ())[1].children
[0]._owner
.stateNode
;
594 this.enabled
= !1, clearInterval(this.data
), this.data
= null, e
.props
.liveGameController
.removeVal(`c/${e.props.client.name}/tat`);
598 e
.props
.liveGameController
.setVal({
599 path
: `c/${e.props.client.name}/tat/Freeze`,
603 this.data
= setInterval(t
, 25)
607 name
: "Percent Auto Answer",
608 description
: "Answers questions correctly or incorrectly depending on the goal grade given (Disable and re-enable to update goal)",
610 name
: "Target Grade",
619 this.enabled
= !1, clearInterval(this.data
), this.data
= null;
624 } = Object
.values(function e(t
= document
.querySelector("body>div")) {
625 return Object
.values(t
)[1]?.children
?.[0]?._owner
.stateNode
? t
: e(t
.querySelector(":scope>div"))
627 ())[1].children
[0]._owner
;
628 this.data
= setInterval(e
=> {
630 let a
= t
.state
.question
|| t
.props
.client
.question
;
631 if ("feedback" == t
.state
.stage
|| t
.state
.feedback
)
632 return document
.querySelector('[class*="feedback"], [id*="feedback"]')?.firstChild
?.click
?.();
633 if (document
.querySelector("[class*='answerContainer']") || document
.querySelector("[class*='typingAnswerWrapper']")) {
636 for (let i
in t
.corrects
)
638 for (let n
in t
.incorrects
)
639 r
+= t
.incorrects
[n
];
641 let s
= 0 == r
|| Math
.abs(o
/ (r
+ 1) - e
) >= Math
.abs((o
+ 1) / (r
+ 1) - e
);
642 if ("typing" != t
.state
.question
.qType
) {
643 let l
= document
.querySelectorAll("[class*='answerContainer']");
644 for (let c
= 0; c
< l
.length
; c
++) {
645 let d
= a
.correctAnswers
.includes(a
.answers
[c
]);
646 if (s
&& d
|| !s
&& !d
)
647 return l
[c
]?.click
?.()
651 Object
.values(document
.querySelector("[class*='typingAnswerWrapper']"))[1].children
._owner
.stateNode
.sendAnswer(s
? a
.answers
[0] : Math
.random().toString(36).substring(2))
654 }, 100, (e
?? 100) / 100)
658 name
: "Use any Banner",
659 description
: "Unlocked all banners",
663 options
: Object
.entries({
666 "Tech Chip": "techChip",
667 Shamrocks
: "shamrocks",
668 "Orange Ice Pop": "orangeIcePop",
671 "Falling Blocks": "fallingBlocks",
672 Racetrack
: "racetrack",
673 "Football Field": "footballField",
674 "Ice Cream Sandwich": "iceCreamSandwich",
675 "Winter Landscape": "winterLandscape",
677 "Music Class": "musicClass",
678 "Science Class": "scienceClass",
679 "Art Class": "artClass",
680 Clockwork
: "clockwork",
681 "Hockey Rink": "hockeyRink",
682 "Outer Space": "outerSpace",
683 "Soccer Field": "soccerField",
685 "Toaster Pastry": "toasterPastry",
686 "Fish Tank": "fishTank",
690 "Spooky Cat": "spookyCat",
691 "Spooky Window": "spookyWindow",
692 Frankenstein
: "frankenstein",
697 Pumpkins
: "pumpkins",
698 "Christmas Tree": "christmasTree",
699 Chalkboard
: "chalkboard",
700 Balloons
: "balloons",
701 Skateboard
: "skateboard",
704 "Pirate Map": "pirateMap",
706 "Road Sign": "roadSign",
707 "Corn Dog": "cornDog",
709 "Chili Pepper": "chiliPepper",
710 "Love Letter": "loveLetter",
712 "Winter Train": "winterTrain",
713 "Winter Drive": "winterDrive",
714 Workbench
: "workbench",
716 Chocolate
: "chocolate",
717 "Fall Picnic": "fallPicnic",
718 Bookshelf
: "bookshelf",
719 "Easter Pattern": "easterPattern",
721 "Easter Field": "easterField",
724 "Gummy Worm": "gummyWorm",
725 "Basketball Court": "basketballCourt",
726 "Flying Kite": "flyingKite",
728 "Japanese Garden": "japaneseGarden",
729 Sandwich
: "sandwich",
731 "Ball Pit": "ballPit",
732 "Xylophone": "xylophone",
733 "Holiday Lights": "holidayLights",
734 "Ice Cream Truck": "iceCreamTruck",
735 "Holiday Gift Wrap": "holidayGiftWrap",
736 "Winter Sweater": "winterSweater",
737 "Holiday Ornaments": "holidayOrnaments",
738 Watermelon
: "watermelon",
739 Baguette
: "baguette",
740 Rollerblades
: "rollerblades",
741 Surfboard
: "surfboard",
745 Lightning
: "lightning",
746 Baseball
: "baseball",
747 "Shamrock Coins": "shamrockCoins",
748 "End Of The Rainbow": "endRainbow",
749 "Easter Field": "easterField",
753 "Alphabet Soup": "alphabetSoup"
754 }).map(([e
, t
]) => ({
761 var t
= document
.createElement("iframe");
764 return Object
.values(document
.querySelector("#app>div>div"))[1].children
[0]._owner
766 document
.head
.appendChild(t
),
767 window
.alert
= t
.contentWindow
.alert
.bind(window
),
768 window
.prompt
= t
.contentWindow
.prompt
.bind(window
),
770 a().stateNode
.props
.liveGameController
.setVal({
771 path
: "c/" + a().stateNode
.props
.client
.name
+ "/bg",
776 name
: "Spam Buy Blooks",
777 description
: "Opens a box an amount of times",
781 options
: () => Array
.from(document
.querySelectorAll("[class*='packsWrapper'] > div")).reduce((e
, t
) => (t
.querySelector("[class*='blookContainer'] > img") || e
.push(t
.querySelector("[class*='packImgContainer'] > img").alt
), e
), [])
786 name
: "Show Unlocks",
789 name
: "Show Unlocks",
792 name
: "Don't Show Unlocks",
798 run
: async
function (e
, t
, a
) {
799 let o
= document
.createElement("iframe");
800 document
.body
.append(o
),
801 window
.alert
= o
.contentWindow
.alert
.bind(window
),
802 window
.prompt
= o
.contentWindow
.prompt
.bind(window
),
803 window
.confirm
= o
.contentWindow
.confirm
.bind(window
),
807 } = Object
.values(function e(t
= document
.querySelector("body>div")) {
808 return Object
.values(t
)[1]?.children
?.[0]?._owner
.stateNode
? t
: e(t
.querySelector(":scope>div"))
810 ())[1].children
[0]._owner
,
811 i
= 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
), {}),
812 n
= e
.split(" ").map(e
=> e
.charAt(0).toUpperCase() + e
.slice(1).toLowerCase()).join(" "),
815 return alert("I couldn't find that box!");
816 let l
= Math
.min(Math
.floor(r
.state
.tokens
/ s
), t
);
818 return alert("You do not have enough tokens!");
821 for (let p
= 0; p
< l
; p
++) {
822 await r
.buyPack(!0, n
),
823 c
[r
.state
.unlockedBlook
] ||= 0,
824 c
[r
.state
.unlockedBlook
]++;
834 clearTimeout(r
.canOpenTimeout
)
836 await
new Promise(e
=> setTimeout(e
)),
837 alert(`(${Date.now() - d}ms) Results: ${Object.entries(c).map(([e, t]) => ` ${e} ${t}`).join(` `)}`)
841 description: "Floods a game with a number of fake accounts",
851 options: ["Chick", "Chicken", "Cow", "Goat", "Horse", "Pig", "Sheep", "Duck", "Alpaca", "Dog", "Cat", "Rabbit", "Goldfish", "Hamster", "Turtle", "Kitten", "Puppy", "Bear", "Moose", "Fox", "Raccoon", "Squirrel", "Owl", "Hedgehog", "Deer", "Wolf", "Beaver", "Tiger", "Orangutan", "Cockatoo", "Parrot", "Anaconda", "Jaguar", "Macaw", "Toucan", "Panther", "Capuchin", "Gorilla", "Hippo", "Rhino", "Giraffe", "Snowy Owl", "Polar Bear", "Arctic Fox", "Baby Penguin", "Penguin", "Arctic Hare", "Seal", "Walrus", "Witch", "Wizard", "Elf", "Fairy", "Slime Monster", "Jester", "Dragon", "Queen", "Unicorn", "King", "Two of Spades", "Eat Me", "Drink Me", "Alice", "Queen of Hearts", "Dormouse", "White Rabbit", "Cheshire Cat", "Caterpillar", "Mad Hatter", "King of Hearts", "Toast", "Cereal", "Yogurt", "Breakfast Combo", "Orange Juice", "Milk", "Waffle", "Pancakes", "French Toast", "Pizza", "Earth", "Meteor", "Stars", "Alien", "Planet", "UFO", "Spaceship", "Astronaut", "Lil Bot", "Lovely Bot", "Angry Bot", "Happy Bot", "Watson", "Buddy Bot", "Brainy Bot", "Mega Bot", "Old Boot", "Jellyfish", "Clownfish", "Frog", "Crab", "Pufferfish", "Blobfish", "Octopus", "Narwhal", "Dolphin", "Baby Shark", "Megalodon", "Panda", "Sloth", "Tenrec", "Flamingo", "Zebra", "Elephant", "Lemur", "Peacock", "Chameleon", "Lion", "Amber", "Dino Egg", "Dino Fossil", "Stegosaurus", "Velociraptor", "Brontosaurus", "Triceratops", "Tyrannosaurus Rex", "Ice Bat", "Ice Bug", "Ice Elemental", "Rock Monster", "Dink", "Donk", "Bush Monster", "Yeti", "Dingo", "Echidna", "Koala", "Kookaburra", "Platypus", "Joey", "Kangaroo", "Crocodile", "Sugar Glider", "Deckhand", "Buccaneer", "Swashbuckler", "Treasure Map", "Seagull", "Jolly Pirate", "Pirate Ship", "Kraken", "Captain Blackbeard", "Snow Globe", "Holiday Gift", "Hot Chocolate", "Holiday Wreath", "Stocking", "Gingerbread Man", "Gingerbread House", "Reindeer", "Snowman", "Santa Claus", "Pumpkin", "Swamp Monster", "Frankenstein", "Vampire", "Zombie", "Mummy", "Caramel Apple", "Candy Corn", "Werewolf", "Ghost", "Rainbow Jellyfish", "Blizzard Clownfish", "Lovely Frog", "Lucky Frog", "Spring Frog", "Poison Dart Frog", "Lucky Hamster", "Chocolate Rabbit", "Spring Rabbit", "Lemon Crab", "Pirate Pufferfish", "Donut Blobfish", "Crimson Octopus", "Rainbow Narwhal", "Frost Wreath", "Tropical Globe", "New York Snow Globe", "London Snow Globe", "Japan Snow Globe", "Egypt Snow Globe", "Paris Snow Globe", "Red Sweater Snowman", "Blue Sweater Snowman", "Elf Sweater Snowman", "Santa Claws", "Cookies Combo", "Chilly Flamingo", "Snowy Bush Monster", "Nutcracker Koala", "Sandwich", "Ice Slime", "Frozen Fossil", "Ice Crab", "Rainbow Panda", "White Peacock", "Tiger Zebra", "Teal Platypus", "Red Astronaut", "Orange Astronaut", "Yellow Astronaut", "Lime Astronaut", "Green Astronaut", "Cyan Astronaut", "Blue Astronaut", "Pink Astronaut", "Purple Astronaut", "Brown Astronaut", "Black Astronaut", "Lovely Planet", "Lovely Peacock", "Haunted Pumpkin", "Pumpkin Cookie", "Ghost Cookie", "Red Gummy Bear", "Blue Gummy Bear", "Green Gummy Bear", "Chick Chicken", "Chicken Chick", "Raccoon Bandit", "Owl Sheriff", "Vampire Frog", "Pumpkin King", "Leprechaun", "Anaconda Wizard", "Spooky Pumpkin", "Spooky Mummy", "Agent Owl", "Master Elf", "Party Pig", "Wise Owl", "Spooky Ghost", "Phantom King", "Tim the Alien", "Rainbow Astronaut", "Hamsta Claus", "Light Blue", "Black", "Red", "Purple", "Pink", "Orange", "Lime", "Green", "Teal", "Tan", "Maroon", "Gray", "Mint", "Salmon", "Burgandy", "Baby Blue", "Dust", "Brown", "Dull Blue", "Yellow", "Blue"].map(e => ({
858 options: Object.entries({
861 "Tech Chip": "techChip",
862 Shamrocks: "shamrocks",
863 "Orange Ice Pop": "orangeIcePop",
866 "Falling Blocks": "fallingBlocks",
867 Racetrack: "racetrack",
868 "Football Field": "footballField",
869 "Ice Cream Sandwich": "iceCreamSandwich",
870 "Winter Landscape": "winterLandscape",
872 "Music Class": "musicClass",
873 "Science Class": "scienceClass",
874 "Art Class": "artClass",
875 Clockwork: "clockwork",
876 "Hockey Rink": "hockeyRink",
877 "Outer Space": "outerSpace",
878 "Soccer Field": "soccerField",
880 "Toaster Pastry": "toasterPastry",
881 "Fish Tank": "fishTank",
885 "Spooky Cat": "spookyCat",
886 "Spooky Window": "spookyWindow",
887 Frankenstein: "frankenstein",
892 Pumpkins: "pumpkins",
893 "Christmas Tree": "christmasTree",
894 Chalkboard: "chalkboard",
895 Balloons: "balloons",
896 Skateboard: "skateboard",
899 "Pirate Map": "pirateMap",
901 "Road Sign": "roadSign",
902 "Corn Dog": "cornDog",
904 "Chili Pepper": "chiliPepper",
905 "Love Letter": "loveLetter",
907 "Winter Train": "winterTrain",
908 "Winter Drive": "winterDrive",
909 Workbench: "workbench",
911 Chocolate: "chocolate",
912 "Fall Picnic": "fallPicnic",
913 Bookshelf: "bookshelf",
914 "Easter Pattern": "easterPattern",
916 "Easter Field": "easterField",
919 "Gummy Worm": "gummyWorm",
920 "Basketball Court": "basketballCourt",
921 "Flying Kite": "flyingKite",
923 "Japanese Garden": "japaneseGarden",
924 Sandwich: "sandwich",
926 "Ball Pit": "ballPit",
927 "Xylophone": "xylophone",
928 "Holiday Lights": "holidayLights",
929 "Ice Cream Truck": "iceCreamTruck",
930 "Holiday Gift Wrap": "holidayGiftWrap",
931 "Winter Sweater": "winterSweater",
932 "Holiday Ornaments": "holidayOrnaments",
933 Watermelon: "watermelon",
934 Baguette: "baguette",
935 Rollerblades: "rollerblades",
936 Surfboard: "surfboard",
940 Lightning: "lightning",
941 Baseball: "baseball",
942 "Shamrock Coins": "shamrockCoins",
943 "End Of The Rainbow": "endRainbow",
944 "Easter Field": "easterField",
948 "Alphabet Soup": "alphabetSoup"
949 }).map(([e, t]) => ({
955 run: async function (e, t, a, o) {
956 let r = document.createElement("iframe");
959 return Object.values(document.querySelector("#app>div>div"))[1].children[0]._owner.stateNode
961 document.body.append(r),
962 window.prompt = r.contentWindow.prompt.bind(window),
963 window.alert = r.contentWindow.alert.bind(window),
968 if (!i().props.liveGameController._liveApp) {
969 alert("You must be in a game to use the flooder!");
972 var s = i().props.liveGameController._liveApp.firebase;
973 async function l(e, t) {
974 let r = await fetch("https://fb.blooket.com/c/firebase/join", {
975 body: JSON.stringify({
979 credentials: "include",
981 }).then(e => e.json());
983 let i = s.initializeApp({
984 apiKey: "AIzaSyCA-cTOnX19f6LFnDVVsHXya3k6ByP_MnU",
985 authDomain: "blooket-2020.firebaseapp.com",
986 projectId: "blooket-2020",
987 storageBucket: "blooket-2020.appspot.com",
988 messagingSenderId: "741533559105",
989 appId: "1:741533559105:web:b8cbb10e6123f2913519c0",
990 measurementId: "G-S3H5NGN10Z",
991 databaseURL: r.fbShardURL
993 await i.auth().signInWithCustomToken(r.fbToken);
994 let n = i.database();
995 await n.ref(`${e}
/c
/${t}
`).set({
999 C.alerts[0].addLog(`Bot ${t} joined
!`)
1001 alert("Connect error: " + r.msg)
1003 async function c() {
1004 if (!i().props.liveGameController._liveApp) {
1005 alert("You must be in a game for the flooder to work!");
1009 o = i().props.liveGameController._liveGameCode,
1012 alert("You must use a valid number!");
1017 for (var c = 0; c < r; c++)
1018 await l(o, a = n.randomNames ? d(15) : s + Math.floor(4e3 * Math.random()))
1022 for (var t = "", a = 0; a < e; a++)
1023 t += String.fromCharCode(65 + Math.floor(25 * Math.random()));
1029 name: "Simulate Unlock",
1030 description: "Simulates unlocking a certian blook",
1032 name: "Blook (Case Sensitive)"
1035 run: (unlockedBlook) => {
1036 const stateNode = Object.values(document.querySelector("#app>div>div"))[1].children[0]._owner.stateNode;
1037 stateNode.setState({
1044 setTimeout(() => stateNode.setState({
1049 name: "Simulate Pack",
1050 description: "Simulates unlocking a pack",
1054 options: () => [...document.querySelector("[class*=packsWrapper]")?.children]?.map(e => e.children[0].children[0].alt)
1057 run: async(packName) => {
1058 let i = document.createElement('iframe');
1059 document.body.append(i);
1060 const alert = i.contentWindow.alert.bind(window);
1062 if (window.location.pathname !== "/market") {
1063 alert("You must be on the market page to run this cheat!");
1066 const stateNode = Object.values(document.querySelector("#app>div>div"))[1].children[0]._owner.stateNode;
1067 const getProbs = (pack) => (new Promise(res => {
1068 if (!Array.prototype.map2) {
1069 Array.prototype.map2 = Array.prototype.map;
1071 Array.prototype.map = function () {
1072 if (typeof this[0]?.[1] == "number") {
1074 Array.prototype.map = Array.prototype.map2;
1076 return Array.prototype.map2.apply(this, arguments);
1078 var a = new(stateNode.constructor)();
1079 a.state.currentPack = pack;
1083 async function pickRandom(pack) {
1084 let probs = (await getProbs(pack));
1085 const choice = pickW(probs.map(e => e[1]));
1086 return probs[choice];
1091 const rand = Math.floor(Math.random() * a.reduce((a, b) => a + b, 0));
1092 a.forEach(e => (sum.push(v), v += e));
1093 return sum.map(e => rand < e).findLastIndex(e => e ? 0 : 1);
1095 stateNode.setState({
1098 unlockedBlook: (await pickRandom(packName))[0],
1102 setTimeout(() => stateNode.setState({
1107 name: "Bypass Filter",
1108 description: "Bypasses the name filter",
1120 for (var a = t.split(""), o = "", r = 0; r < a.length; r++)
1125 r = document.createElement("iframe"),
1126 document.body.appendChild(r),
1127 window.alert = r.contentWindow.alert.bind(r.contentWindow),
1128 (o = document.createElement("textarea")).value = a,
1129 o.style.position = "fixed",
1132 o.style.opacity = 0,
1133 document.body.appendChild(o),
1135 document.execCommand("copy"),
1136 alert("Bypassed text copied to clipboard!"),
1138 document.body.removeChild(o)
1141 name: "Change Name Ingame",
1142 description: "Changes your name ingame",
1148 run: (function (newname) {
1150 const reactHandler = (e => Object.values(document.querySelector("#app>div>div"))[1].children[0]._owner.stateNode);
1151 let i = document.createElement('iframe');
1152 document.body.append(i);
1153 let alert = i.contentWindow.alert.bind(window);
1156 async function genToken(name) {
1157 const res = await fetch("https://fb.blooket.com/c/firebase/join", {
1158 body: JSON.stringify({
1159 id: reactHandler().props.client.hostId,
1163 "Content-Type": "application/json"
1166 credentials: "include"
1167 }).then(e => e.json());
1169 alert("Error: " + res.msg);
1175 const oldname = reactHandler().props.client.name;
1176 reactHandler().props.client.name = newname;
1177 const olddata = await reactHandler().props.liveGameController.getDatabaseVal(`c
/${oldname}
`);
1178 await reactHandler().props.liveGameController.removeVal(`c
/${oldname}
`);
1179 const token = await genToken(newname);
1183 await reactHandler().props.liveGameController._liveApp.auth().signInWithCustomToken(token);
1184 reactHandler().props.liveGameController._liveApp.auth().onAuthStateChanged(e => {
1185 if (e.uid.split(":")[1] === newname) {
1186 reactHandler().props.liveGameController.setVal({
1187 path: `c
/${newname}
`,
1192 reactHandler().setState({});
1196 name: "Use Banner IDs",
1197 description: "Enter Banner ID to use Banner",
1204 var t = document.createElement("iframe");
1207 return Object.values(document.querySelector("#app>div>div"))[1].children[0]._owner
1209 document.head.appendChild(t),
1210 window.alert = t.contentWindow.alert.bind(window),
1211 window.prompt = t.contentWindow.prompt.bind(window),
1213 a().stateNode.props.liveGameController.setVal({
1214 path: "c/" + a().stateNode.props.client.name + "/bg",
1219 name: "Change Blook Ingame",
1220 description: "Changes your blook",
1227 } = webpackJsonp.push([
1237 return Object.keys(Object.values(e.c).find(e => e.exports.a?.Chick && e.exports.a?.Elephant).exports.a)
1244 } = Object.values(function e(t = document.querySelector("body>div")) {
1245 return Object.values(t)[1]?.children?.[0]?._owner.stateNode ? t : e(t.querySelector(":scope>div"))
1247 ())[1].children[0]._owner.stateNode;
1249 t.liveGameController.setVal({
1250 path: `c
/${t.client.name}/b
`,
1255 name: "Set Blook Ad Text",
1256 description: "Sets a load of text as your blook and floods teachers screen on lobby",
1263 let t = Object.values(function e(t = document.querySelector("body>div")) {
1264 return Object.values(t)[1]?.children?.[0]?._owner.stateNode ? t : e(t.querySelector(":scope>div"));
1266 ())[1].children[0]._owner.stateNode;
1267 if (!String.prototype.inc) {
1268 String.prototype.inc = String.prototype.includes;
1270 String.prototype.includes = function (a) {
1271 if (a == "#" && this.length > 30) {
1274 return String.prototype.inc.apply(this, arguments);
1276 let repeatedText = Array(500).fill(e).join(' ');
1277 if (!t.state.unlocks) {
1278 t.client.blook = repeatedText;
1280 t.props.liveGameController.setVal({
1281 path: `c
/${t.props.client.name}/b
`,
1286 name: "Set Blook Ad Text Ingame",
1287 description: "Sets a load of text as your blook",
1294 } = webpackJsonp.push([
1304 return Object.keys(Object.values(e.c).find(e => e.exports.a?.Chick && e.exports.a?.Elephant).exports.a);
1311 } = Object.values(function e(t = document.querySelector("body>div")) {
1312 return Object.values(t)[1]?.children?.[0]?._owner.stateNode ? t : e(t.querySelector(":scope>div"));
1314 ())[1].children[0]._owner.stateNode;
1316 let repeatedText = Array(500).fill(e).join(' ');
1317 t.client.blook = repeatedText;
1318 t.liveGameController.setVal({
1319 path: `c
/${t.client.name}/b
`,
1324 name: "Auto Answer",
1325 description: "Click the correct answer for you",
1338 } = Object.values(document.querySelector("body div[id] > div > div"))[1].children[0]._owner.stateNode;
1340 "typing" != e.qType ? ("feedback" === t || a ? document.querySelector('[class*="feedback"]')?.firstChild : [...document.querySelectorAll('[class*="answerContainer"]')][(e || o).answers.map((t, a) => (e || o).correctAnswers.includes(t) ? a : null).filter(e => null != e)[0]])?.click?.() : Object.values(document.querySelector("[class*='typingAnswerWrapper']"))[1].children._owner.stateNode.sendAnswer(e.answers[0])
1344 name: "Highlight Answers",
1345 description: "Colors answers to be red or green highlighting the correct ones",
1352 } = Object.values(function e(t = document.querySelector("body>div")) {
1353 return Object.values(t)[1]?.children?.[0]?._owner.stateNode ? t : e(t.querySelector(":scope>div"))
1355 ())[1].children[0]._owner;
1356 [...document.querySelectorAll('[class*="answerContainer"]')].forEach((a, o) => {
1357 (e.question || t.client.question).correctAnswers.includes((e.question || t.client.question).answers[o]) ? a.style.backgroundColor = "rgb(0, 207, 119)" : a.style.backgroundColor = "rgb(189, 15, 38)"
1361 name: "Subtle Highlight Answers",
1362 description: "Removes the shadow from correct answers",
1369 } = Object.values(function e(t = document.querySelector("body>div")) {
1370 return Object.values(t)[1]?.children?.[0]?._owner.stateNode ? t : e(t.querySelector(":scope>div"))
1372 ())[1].children[0]._owner;
1373 [...document.querySelectorAll('[class*="answerContainer"]')].forEach((a, o) => {
1374 (e.question || t.client.question).correctAnswers.includes((e.question || t.client.question).answers[o]) && (a.style.boxShadow = "unset")
1378 name: "Get Daily Rewards",
1379 description: "Gets max daily tokens and xp",
1380 run: async function () {
1381 let e = document.createElement("iframe");
1382 if (document.body.append(e), window.alert = e.contentWindow.alert.bind(window), e.remove(), location.href.includes("play.blooket.com")) {
1385 } = await fetch("https://play.blooket.com/api/playersessions/solo", {
1386 body: JSON.stringify({
1387 gameMode: "Factory",
1388 questionSetId: ["5fac96fe2ca0da00042b018f", "66702d024ec37ac03062cc06", "600b1491d42a140004d5215a", "65d4810a8a408800b6449e57", "5fac96fe2ca0da00042b018f", "615e9cd727d0720066bcf638", "5fac96fe2ca0da00042b018f", "600b1491d42a140004d5215a", "63ee6c1fbd7c007948b2f986", "65d8de5bd25f9bd49916d855", "600b14d8d42a140004d52165", "6352e93608ea4ee9d0a5fe7f", "64cd1b99ff6f69f3025fc25a", "600b1491d42a140004d5215a", "5db75fa3f1fa190017b61c0c", "65fb6005f986c984060ed92c", "65e88b461a39195a37309c57", "60cc9f943f191b00230ae2a2", "61f5484186dade0979280d54", "664418e736bd1bf1890b2dae", "640a7d9bde68f5243d403977", "66256e6b861ee38a258b8b61", "65119f1fba0bb577d186df8e", "661d7540a452254baf51b1dd", "65ff17a207a715061a6249e6", "61c3570ad8f92ff303ee4733", "63efbff8e2b70e8a1bb1a583", "644a30c06dd4d2c2c5c9c6ae", "66461ff5c671f7c7db225cb3", "664777444be95fa91fc9a4ee", "6425e5e052b1ba5ae2cb07a2", "612e2aad654d48002a4f384d", "6548ffabcbe542c105812e64", "666092337e18e9b7b044e6c8", "6277e6ca21e2151edc435c53", "6268270201c2a958b75af1cf", "61aa4f9c190f70ceda79cf92", "6680e522559ac110b3c6ef28", "6657d986e92bbd481c12a6e8", "61d877c1910d317630b69e02", "618e5d8b7242bec7572b53ca", "656d4a2ac3bc01302555bfbd", "61d7463d2250de5603ad8ba1", "6650bd7a87c4bb5302d69c08", "61b1fdb09a3347d1a298157b", "60b632ff2089ea0028d26fc8", "5fdcacc85d465a0004b021b9", "665e3161785c8a4e8853f995", "61b9d07a7a1e178d18ccd903", "6624a2cd861ee38a258b814d", "650b3ccd54b65594ff99e620", "61b2a39895bd185869e3844e", "6581df4af27a6029a933d954", "641eecaec2e1181b54481588", "668ce3d2eb8513f5ed4c79c1", "5fac96fe2ca0da00042b018f", "6192afff6cb94db501ecc7d5", "600b14d8d42a140004d52165", "665898ae99eca64187ffe7df", "5fe3d085a529560004cd3076", "64fb8fbfdbeffc06f36f8f5f", "654e79558169fc618f544ac7", "628d24107ffc913af879c58a", "617041e0e97439003084cb25", "6408cc2a52d433570018126b", "663c5686d93c1e441547529f", "666c3d24c9e069d6094bbcce", "6548ffabcbe542c105812e64", "663d4766d93c1e4415476a9d", "5f88953cdb209e00046522c7", "64fcec87be8604702a6e0559", "614b2b3747e4cd002c3c0e35", "600b14d8d42a140004d52165", "63640a18c5370a98f00349b1", "6690e0ec559ac110b3c7b4dd", "664644bd7ea36b003839459c", "600b153ad42a140004d52172", "63e638d8db4486e546547014", "61406d240c2275002a272a95", "627bced5fdb8934dfba749a8", "619c2736a7fb3a4c9d3810cc", "650a06c4fe5c6757ff82208c", "6060c2240db34f001ddfe119", "6525532901343f98c90eee3e", "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(107 * Math.random())]
1390 credentials: "include",
1392 }).then(e => e.json());
1393 await fetch("https://play.blooket.com/api/playersessions/landings", {
1394 body: JSON.stringify({
1397 credentials: "include",
1400 await fetch("https://play.blooket.com/api/playersessions/questions?t=" + t, {
1401 credentials: "include"
1403 await fetch("https://play.blooket.com/api/users/factorystats", {
1404 body: JSON.stringify({
1407 cash: Math.floor(9e7 * Math.random()) + 1e7,
1408 correctAnswers: Math.floor(500 * Math.random()) + 500,
1409 upgrades: Math.floor(300 * Math.random()) + 300,
1415 credentials: "include",
1418 fetch("https://play.blooket.com/api/users/add-rewards", {
1419 body: JSON.stringify({
1425 credentials: "include",
1427 }).then(e => e.json()).then(({
1429 }) => alert(`Added max tokens and xp
, and got ${e} daily wheel tokens
!`)).catch(() => alert("There was an error when adding rewards."))
1431 alert("This cheat only works on play.blooket.com, opening a new tab."), window.open("https://play.blooket.com/")
1434 name: "Use any Blook",
1435 description: "Allows you to play as any blook.",
1438 const stateNode = Object.values(document.querySelector('#app>div>div'))[1].children[0]._owner.stateNode;
1439 let i = document.createElement('iframe');
1440 document.body.append(i);
1441 const alert = i.contentWindow.alert.bind(window);
1443 if (!(stateNode.state.unlocks || stateNode.state.blookData)) {
1444 alert("This must be run on the lobby or dashboard!");
1447 if (stateNode.state.blookData) {
1448 let oe = Object.entries;
1449 Object.entries = function (a) {
1452 Object.entries = oe;
1454 return oe.apply(this, arguments);
1458 function allBlooks(blooks) {
1460 stateNode.setState({
1461 blookData: Object.keys(blooks).reduce((a, b) => (a[b] = stateNode.state.blookData[b] || 1, a), {}),
1462 allSets: Object.values(blooks).reduce((a, b) => {
1463 return !a.includes(b.set) && a.push(b.set),
1469 stateNode.setState({
1478 name: "Get More Blooks (Lobby)",
1479 description: "Gives you an abundance of custom blooks to try (Some images might be blocked)",
1481 const containerClass = '_blooksHolder_1bg6w_141';
1482 const targetContainer = document.querySelector(`.${containerClass}
`);
1484 if (targetContainer) {
1485 const imageUrls = ["https://i.imghippo.com/files/wfNvV1725233960.webp", "https://i.imghippo.com/files/3kDQK1725233922.webp", "https://camo.githubusercontent.com/e471c0c3c98c8b0095b5cc645dfd4732db238c98632f1638d8fa153d4b6e003d/68747470733a2f2f63646e2e646973636f72646170702e636f6d2f656d6f6a69732f31303536393839373839363931333232343539", "https://i.ibb.co/YfwphhN/youtubelogo.png", "https://i.ibb.co/wCGsQD7/1107210565740396625.webp", "https://i.ibb.co/j3k7jYJ/1056899107844800522.webp", "https://i.ibb.co/xsQfVdm/1056898967801188404.webp", "https://i.ibb.co/LxHL2bP/1061744882496065566.webp", "https://ac.blooket.com/dashboard/assets/Cashier-BqZ02xhF.svg", "https://i.ibb.co/sm60M8q/merk.png", "https://ac.blooket.com/dashboard/assets/Token-DmrosBZF.svg", "https://media.blooket.com/image/upload/v1664334335/BlookParts/hat35.svg", "https://media.blooket.com/image/upload/v1664334335/BlookParts/hat36.svg", "https://media.blooket.com/image/upload/v1664334114/BlookParts/glasses16.svg", "https://media.blooket.com/image/upload/v1664334335/BlookParts/hat33.svg", "https://preview.redd.it/custom-blooks-i-made-v0-b0hneftessz91.png?width=300&format=png&auto=webp&s=f7cdba1490c1aba76b9bde994b082a3c76818466", "https://preview.redd.it/custom-blooks-i-made-v0-g3nvjltessz91.png?width=300&format=png&auto=webp&s=0d38efcec1212896912c1ec4e20b7601eaa686ea", "https://preview.redd.it/custom-blooks-i-made-v0-ka56tptessz91.png?width=300&format=png&auto=webp&s=0f247448aa4b0ca2b1f1fe8f0e1059767d3d15f8", "https://preview.redd.it/custom-blooks-i-made-v0-6asu9ztessz91.png?width=300&format=png&auto=webp&s=6bc047e638e0cb6596e619d0eb367d551dc455b0", "https://preview.redd.it/custom-blooks-i-made-v0-czdr64uessz91.png?width=500&format=png&auto=webp&s=858764ba17888fa8aaa487f97feb32b2d8b81f62", "https://preview.redd.it/custom-blooks-i-made-v0-lsgc29uessz91.png?width=500&format=png&auto=webp&s=cddb4dbf09a226c296d2e659aa80851bbd481921", "https://preview.redd.it/64mcrm1aceh91.png?width=1256&format=png&auto=webp&s=5f53991654cd7a45fe58de4097c9ae1177a10bfd", "https://preview.redd.it/trp3snp9ceh91.png?width=1419&format=png&auto=webp&s=663663e4d93424141cd6500c6b24d91042700cc2", "https://preview.redd.it/1d4uxcb9ceh91.png?width=1254&format=png&auto=webp&s=3a54cc9a95897f47c2f9007b8a49aa98cf46089f", "https://preview.redd.it/k0894xv8ceh91.png?width=1254&format=png&auto=webp&s=181019f5ef1c288cb9c855776dd14f6eec0ff993", "https://preview.redd.it/xrb6fug8ceh91.png?width=1273&format=png&auto=webp&s=7df11f3dddc5f1fd8354c99de670c2fb34cc2f10", "https://preview.redd.it/beicsi08ceh91.png?width=1258&format=png&auto=webp&s=313cc36ded78d3c3e386b85abf2d6ba498401d1f", "https://preview.redd.it/810eoco7ceh91.png?width=1258&format=png&auto=webp&s=16be55f32fda316611c41ab5dbc53da0b42a5891", "https://preview.redd.it/4iq2am87ceh91.png?width=1255&format=png&auto=webp&s=af5825a0f2a0e0680252767de622c8b16b8bd530", "https://preview.redd.it/9b0eq1v6ceh91.png?width=1258&format=png&auto=webp&s=3c570c3f2f70a156723f375ba1cc68b1879283d8", "https://preview.redd.it/0g4eflh6ceh91.png?width=1252&format=png&auto=webp&s=ba426c277dbf7a89dbd01e108bb4b397895bd9e2", "https://preview.redd.it/gq1ol7z5ceh91.png?width=1258&format=png&auto=webp&s=72eb5b3df4c152b0f1405c2fa1c8f6689c96e5ea", "https://preview.redd.it/zs746135ceh91.png?width=1254&format=png&auto=webp&s=fed0bb921be560d8fe254065b9a986ac88e08010", "https://preview.redd.it/custom-blooks-i-have-made-v0-uz0uxh4sh9gc1.png?width=485&format=png&auto=webp&s=f8fb21906226f94e64272616cbe37ce2292a0494", "https://preview.redd.it/custom-blooks-i-have-made-v0-gfdrycozh9gc1.png?width=536&format=png&auto=webp&s=445b74e0e1f1d12ae3c4c470cab1b46527792e18", "https://preview.redd.it/custom-blooks-i-have-made-v0-nojhsxb2i9gc1.png?width=504&format=png&auto=webp&s=e2b22b88b703ff7fb908248a7de93c7bc02861fe", "https://preview.redd.it/custom-blooks-i-have-made-v0-dagyqk2pi9gc1.png?width=522&format=png&auto=webp&s=5be59b74b295e5634fb7769efc2b78ed1a2d0ab2", "https://preview.redd.it/more-custom-blooks-that-i-made-v0-evaee2nzi92a1.png?width=300&format=png&auto=webp&s=e2910bcf63138d255d8f2d2a42819e04aa25b20c", "https://preview.redd.it/more-custom-blooks-that-i-made-v0-3jkr9dlzi92a1.png?width=300&format=png&auto=webp&s=36834cdd172dd4377f0f040a1cfa0348a0cf9f2c", "https://preview.redd.it/more-custom-blooks-that-i-made-v0-chgp4clzi92a1.png?width=300&format=png&auto=webp&s=2ba607d48f1a01c48cca5f5177ce609c8e3b740e", "https://preview.redd.it/more-custom-blooks-that-i-made-v0-esxetdlzi92a1.png?width=300&format=png&auto=webp&s=843674b51fecfc633c67386d6ec7a53664002229", "https://images-wixmp-ed30a86b8c4ca887773594c2.wixmp.com/f/7e7e889a-de90-46e6-b7e0-a80a0e698de6/dbpu9b-51118e9e-16bd-4a28-bbe6-921fc1da8181.gif?token=eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJ1cm46YXBwOjdlMGQxODg5ODIyNjQzNzNhNWYwZDQxNWVhMGQyNmUwIiwiaXNzIjoidXJuOmFwcDo3ZTBkMTg4OTgyMjY0MzczYTVmMGQ0MTVlYTBkMjZlMCIsIm9iaiI6W1t7InBhdGgiOiJcL2ZcLzdlN2U4ODlhLWRlOTAtNDZlNi1iN2UwLWE4MGEwZTY5OGRlNlwvZGJwdTliLTUxMTE4ZTllLTE2YmQtNGEyOC1iYmU2LTkyMWZjMWRhODE4MS5naWYifV1dLCJhdWQiOlsidXJuOnNlcnZpY2U6ZmlsZS5kb3dubG9hZCJdfQ.h309S-rnZJWgrquS7zLKqNmCyGpKi6EydLGfeGlmwSY", "https://i.ibb.co/2tPhQQ9/Screenshot-2024-03-13-8-38-54-PM-removebg-preview.png", "https://i.ibb.co/hfGKRGg/5rcse2.png", "https://i.ibb.co/dk5X1Qx/wolf-svg-1.gif", "https://i.ibb.co/MRYh2jY/madhatter-svg-1-1.gif", "https://i.ibb.co/prhrSLG/penguin-svg.png", "https://i.ibb.co/y0Lz9KM/dog-2-svg-1.png", "https://i.ibb.co/ZVjPyyW/egyptsnowglobe-svg.gif", "https://i.ibb.co/27J4Tzc/hamster-1-svg-2.gif", "https://i.ibb.co/GWS1F1B/Untitled1942-20240816213512.png", "https://i.ibb.co/b1w1Zt3/Untitled1944-20240816220241-2.png", "https://i.ibb.co/sP1n7px/image-2.png", "https://i.ibb.co/749D31P/31-BFAFFD-21-D5-416-C-8-EDB-C1-EC31-FE9-B7-E.png", "https://i.ibb.co/k8y3Q3C/image-3.png", "https://i.ibb.co/h9sgDc3/1185712529960349726.png", "https://i.ibb.co/6X1mCwq/moai-blook.png", "https://i.imghippo.com/files/VfIxx1725062188.gif", "https://i.ibb.co/Rb8B8xH/pickle-jar-blook.png", "https://i.ibb.co/FntT4VR/c96edb96a2571742004c4240a5c4abe3.webp", "https://styles.redditmedia.com/t5_2zesh/styles/communityIcon_6gx6y4qpdw651.png", "https://play-lh.googleusercontent.com/AUGkRrKMtUCLVE9vCvlfMY9Ny9EBqzx17yejVtEEhvpkw-H6lJlvBHgCMqPJm8HV_tM=s256-rw", "https://play-lh.googleusercontent.com/JQqSn7wuCj0SxBqpBThNI33qCR9gwY0str2TIAnu-m_xrVCgZk3IPxYK2S7zC9WG0ig=s256-rw", "https://play-lh.googleusercontent.com/epeBd8ftLXNHy9TjcB4k2Ip0KzcMT-4oTjDUt_DwMjgDwrbSTuVI77ccVWMdoDMXDQ=s256-rw", "https://play-lh.googleusercontent.com/ndILnpPIPE5Kfqmwzjlbdz2duHMjh0yvnZ31PBJ_-oZOPa9iYfh1jedpj2-td2pyrKmj=w240-h256-rw", "https://i.ibb.co/Rp56kCC/bee-blook.png", "https://i.ibb.co/y0Sdwg0/golden-blook.gif", "https://i.ibb.co/B2ZyFBj/rainbow-blook.gif", "https://i.ibb.co/Y0mJq9g/blacket-legacy.png", "https://i.ibb.co/JHFsXdx/betastar.png", "https://i.ibb.co/h2m8fGf/blacket.png", "https://i.ibb.co/QKdZ1b4/logo-2.png", "https://i.ibb.co/pPVh8bt/Blooket-Emblem.png", "https://i.ibb.co/sWqBm0K/1024.png", "https://i.ibb.co/pdSYc4M/Site-logo.png", "https://raw.githubusercontent.com/The-Blooket-Hacks/Blooket-Hacks/main/images/animated_icon.gif", "https://raw.githubusercontent.com/The-Blooket-Hacks/Blooket-Hacks/main/images/icon.png", "https://i.ibb.co/bHks2LC/image-3.png", "https://i.ibb.co/0Z4Gn6n/logo.png", "https://i.ibb.co/LCZTRsY/e222502653c42a263899a4e6a9c58dca.webp", "https://i.ibb.co/1fH15Rs/yellow-submarine.png", "https://i.ibb.co/zRGywqm/watermelon20min.png", "https://i.ibb.co/6rs8hky/valentines-present.png", "https://i.ibb.co/g3hB9t3/turkey.png", "https://i.ibb.co/RzNPvNf/touch-grass-blook.png", "https://i.ibb.co/PDgmxqQ/taco.png", "https://i.ibb.co/vZ40Jf9/squash2.png", "https://i.ibb.co/CMVh9Yq/space-mug.png", "https://i.ibb.co/zVZb2Bq/rubber-duck.png", "https://i.ibb.co/8jchMBy/sombrero.png", "https://i.ibb.co/hKtyzDw/pumpkinking.png", "https://i.ibb.co/M9fq4zD/pumpkin-pie.png", "https://i.ibb.co/FV5Vj7r/prehistoric-globbe.png", "https://i.ibb.co/6Z8QWpp/pineapple.png", "https://i.ibb.co/1GtRrkj/pilgrim-hat.png", "https://i.ibb.co/R6zJhbc/static-assets-upload10217624323675156800.png", "https://i.ibb.co/NjyMT23/pig-snowman.png", "https://i.ibb.co/J70xZZZ/mrbaest.png", "https://i.ibb.co/QcSLKxC/moon.png", "https://i.ibb.co/vdhvvtz/meteor-impact.png", "https://i.ibb.co/1KBf6K5/mega-king.png", "https://i.ibb.co/0ZFjpF1/mayflower.png", "https://i.ibb.co/VCyKwMq/magic8ball.png", "https://i.ibb.co/vdH0sJ0/lunar-globe.png", "https://i.ibb.co/xFWDzNz/life-buoy.png", "https://i.ibb.co/nj8zHRd/lemonade.png", "https://i.ibb.co/hRLdSRn/ladybug.png", "https://i.ibb.co/51B9Yfw/blob-ghost.png", "https://i.ibb.co/87j9XBs/ghost-pumpkin.png", "https://i.ibb.co/vL53Qwt/jackinthebox.png", "https://i.ibb.co/LNzSYX8/freedom-frog.png", "https://i.ibb.co/NpV9VrQ/egg.png", "https://i.ibb.co/vzmCC55/dream.png", "https://i.ibb.co/b2w7f14/cyborg-santa.png", "https://i.ibb.co/2nXpv57/cooked-turkey.png", "https://i.ibb.co/NmPW8H6/comic-crew-inc-blook.png", "https://i.ibb.co/ynsBMVv/chili-pepper.png", "https://i.ibb.co/WyvtbNB/beehive.png", "https://i.ibb.co/34WM19w/candy-heart.png", "https://i.ibb.co/LYrF1xn/candy-basket.png", "https://i.ibb.co/RCLkQS8/box-of-white-chocolates.png", "https://i.ibb.co/N2nDcpB/box-of-chocolates.png", "https://i.ibb.co/N2nDcpB/box-of-chocolates.png", "https://i.ibb.co/6W6wvXJ/apple-barrel.png", "https://i.ibb.co/RNp7frY/acorn.png", "https://i.ibb.co/zsKsX4f/Button-Add-icon.png", "https://i.ibb.co/rfsnSyp/Button-Delete-icon.png", "https://blacket.org/content/blooks/Dinah.webp", "https://blacket.org/content/blooks/March%20Hare.webp", "https://blacket.org/content/blooks/Basketball.webp", "https://blacket.org/content/blooks/Baseball.webp", "https://blacket.org/content/blooks/Soccer%20Ball.webp", "https://blacket.org/content/blooks/Tennis%20Ball.webp", "https://blacket.org/content/blooks/Golf%20Ball.webp", "https://blacket.org/content/blooks/Football.webp", "https://blacket.org/content/blooks/Bowling%20Ball.webp", "https://blacket.org/content/blooks/Ping%20Pong%20Racket.webp", "https://blacket.org/content/blooks/Curling%20Stone.webp", "https://blacket.org/content/blooks/Football%20Helmet.webp", "https://blacket.org/content/blooks/Space%20Terminal.webp", "https://blacket.org/content/blooks/Space%20Debugger.webp", "https://blacket.org/content/blooks/Dark%20Dragon.webp", "https://blacket.org/content/blooks/Jasper.webp", "https://blacket.org/content/blooks/Jade.webp", "https://blacket.org/content/blooks/Onyx.webp", "https://blacket.org/content/blooks/Quartz.webp", "https://blacket.org/content/blooks/Lapis%20Lazuli.webp", "https://blacket.org/content/blooks/Topaz.webp", "https://blacket.org/content/blooks/Ruby.webp", "https://blacket.org/content/blooks/Sapphire.webp", "https://blacket.org/content/blooks/Amethyst.webp", "https://blacket.org/content/blooks/Opal.webp", "https://blacket.org/content/blooks/Moonstone.webp", "https://blacket.org/content/blooks/Rose%20Quartz.webp", "https://blacket.org/content/blooks/Black%20Opal.webp", "https://blacket.org/content/blooks/Apple.webp", "https://blacket.org/content/blooks/Orange.webp", "https://blacket.org/content/blooks/Lemon.webp", "https://blacket.org/content/blooks/Lime.webp", "https://blacket.org/content/blooks/Grape.webp", "https://blacket.org/content/blooks/Strawberry.webp", "https://blacket.org/content/blooks/Raspberry.webp", "https://i.imghippo.com/files/7cAht1725062940.png", "https://blacket.org/content/blooks/Watermelon.webp", "https://blacket.org/content/blooks/Dragon%20Fruit.webp", "https://blacket.org/content/blooks/Starfruit.webp", "https://blacket.org/content/blooks/Green%20Apple.webp", "https://blacket.org/content/blooks/Blue%20Raspberry.webp", "https://blacket.org/content/blooks/Golden%20Apple.webp", "https://blacket.org/content/blooks/Golden%20Amber.webp", "https://blacket.org/content/blooks/Rainbow%20Blook.webp", "https://blacket.org/content/blooks/Candy%20Corn.webp", "https://blacket.org/content/blooks/Jellybean.webp", "https://blacket.org/content/blooks/Lollipop.webp", "https://blacket.org/content/blooks/Black%20Licorice.webp", "https://blacket.org/content/blooks/Peppermint.webp", "https://blacket.org/content/blooks/Chocolate.webp", "https://blacket.org/content/blooks/Gummy%20Worm.webp", "https://blacket.org/content/blooks/Rock%20Candy.webp", "https://blacket.org/content/blooks/White%20Chocolate.webp", "https://blacket.org/content/blooks/Red%20Licorice.webp", "https://blacket.org/content/blooks/Blue%20Gummy%20Worm.webp", "https://blacket.org/content/blooks/Chocolate%20Milk.webp", "https://i.ibb.co/W0LDVvq/image-removebg-preview.png", "https://blacket.org/content/blooks/Forgotten%20Bot.webp", "https://blacket.org/content/blooks/Donut%20Blobfish.webp", "https://blacket.org/content/blooks/Magic%20Spellbook.webp", "https://blacket.org/content/blooks/Cursed%20Ring.webp", "https://blacket.org/content/blooks/Bubbling%20Cauldron.webp", "https://blacket.org/content/blooks/Fairy%20Dust.webp", "https://blacket.org/content/blooks/Enchantment%20Hall.webp", "https://blacket.org/content/blooks/Magician's%20Wand.webp", "https://blacket.org/content/blooks/Ancient%20Runes.webp", "https://blacket.org/content/blooks/Strength%20Potion.webp", "https://blacket.org/content/blooks/Magician's%20Hat.webp", "https://blacket.org/content/blooks/Sentient%20Spellbook.webp", "https://blacket.org/content/blooks/Golden%20Magician's%20Wand.webp", "https://blacket.org/content/blooks/Invisibility%20Cloak.webp", "https://blacket.org/content/blooks/Dial%20Telephone.webp", "https://blacket.org/content/blooks/EtchASketch.webp", "https://blacket.org/content/blooks/Cassette%20Tape.webp", "https://blacket.org/content/blooks/Polaroid%20Camera.webp", "https://blacket.org/content/blooks/Vending%20Machine.webp", "https://blacket.org/content/blooks/GameBlook.webp", "https://blacket.org/content/blooks/Donkey%20Kong%20Machine.webp", "https://blacket.org/content/blooks/BoomBox.webp", "https://blacket.org/content/blooks/CRT%20Television.webp", "https://blacket.org/content/blooks/GameBlook%20Color.webp", "https://blacket.org/content/blooks/PacMan%20Machine.webp", "https://blacket.org/content/blooks/Blackintosh.webp", "https://blacket.org/content/blooks/Gravity%20Switcher.webp", "https://blacket.org/content/blooks/Stealth%20Disguise%20Kit.webp", "https://blacket.org/content/blooks/Object%20Miniaturizer.webp", "https://blacket.org/content/blooks/Object%20Maximizer.webp", "https://blacket.org/content/blooks/Holographic%20Display.webp", "https://blacket.org/content/blooks/Flying%20Car.webp", "https://blacket.org/content/blooks/Void%20Pistol.webp", "https://blacket.org/content/blooks/Red%20Lightsaber.webp", "https://blacket.org/content/blooks/Neural%20Implant.webp", "https://blacket.org/content/blooks/Hijacked%20Radio.webp", "https://blacket.org/content/blooks/Eternal%20Prism%20Blade.webp", "https://blacket.org/content/blooks/Blue%20Lightsaber.webp", "https://blacket.org/content/blooks/Hijacked%20Neural%20Implant.webp", "https://blacket.org/content/blooks/Celestial%20Oracle%20Staff.webp", "https://blacket.org/content/blooks/Sea%20Monster.webp", "https://blacket.org/content/blooks/Pocket%20Watch.webp", "https://blacket.org/content/blooks/Hourglass.webp", "https://blacket.org/content/blooks/Cuckoo%20Clock.webp", "https://blacket.org/content/blooks/Calendar%20Scroll.webp", "https://blacket.org/content/blooks/Analog%20Clock.webp", "https://blacket.org/content/blooks/Astrolabe.webp", "https://blacket.org/content/blooks/Time%20Capsule.webp", "https://blacket.org/content/blooks/Orrey.webp", "https://blacket.org/content/blooks/Grandfather%20Clock.webp", "https://blacket.org/content/blooks/Clock%20Tower.webp", "https://blacket.org/content/blooks/Time%20Stone.webp", "https://blacket.org/content/blooks/Time%20Machine.webp", "https://blacket.org/content/blooks/Pac-Man.webp", "https://blacket.org/content/blooks/Space%20Invader.webp", "https://blacket.org/content/blooks/Among%20Us.webp", "https://blacket.org/content/blooks/Poke%20Ball.webp", "https://blacket.org/content/blooks/Flappy%20Bird.webp", "https://blacket.org/content/blooks/Goomba.webp", "https://blacket.org/content/blooks/Big%20Shield.webp", "https://blacket.org/content/blooks/Creeper.webp", "https://blacket.org/content/blooks/Red%20Bird.webp", "https://blacket.org/content/blooks/Companion%20Cube.webp", "https://blacket.org/content/blooks/Master%20Chief.webp", "https://blacket.org/content/blooks/Golden%20Among%20Us.webp", "https://blacket.org/content/blooks/Gaming%20Mouse.webp", "https://blacket.org/content/blooks/Sand%20Bucket.webp", "https://blacket.org/content/blooks/Beach%20Ball.webp", "https://blacket.org/content/blooks/Plastic%20Shovel.webp", "https://blacket.org/content/blooks/Popsicle.webp", "https://blacket.org/content/blooks/Life%20Float.webp", "https://blacket.org/content/blooks/Conch%20Shell.webp", "https://blacket.org/content/blooks/Surfboard.webp", "https://blacket.org/content/blooks/Sand%20Castle.webp", "https://blacket.org/content/blooks/Coconut%20Cocktail.webp", "https://blacket.org/content/blooks/Tropical%20Pig.webp", "https://blacket.org/content/blooks/Sheet%20Music.webp", "https://blacket.org/content/blooks/Music%20Disc.webp", "https://blacket.org/content/blooks/Xylophone.webp", "https://blacket.org/content/blooks/Drums.webp", "https://blacket.org/content/blooks/Metronome.webp", "https://blacket.org/content/blooks/Triangle.webp", "https://blacket.org/content/blooks/Speaker.webp", "https://blacket.org/content/blooks/Piano.webp", "https://blacket.org/content/blooks/White%20Piano.webp", "https://blacket.org/content/blooks/Golden%20Harp.webp", "https://blacket.org/content/blooks/Viking%20Helmet.webp", "https://blacket.org/content/blooks/Iron%20Chestplate.webp", "https://blacket.org/content/blooks/Spiked%20Boot.webp", "https://blacket.org/content/blooks/Silver%20Shuriken.webp", "https://blacket.org/content/blooks/Knight%20Shield.webp", "https://blacket.org/content/blooks/Knight%20Sword.webp", "https://blacket.org/content/blooks/Fragment%20Grenade.webp", "https://blacket.org/content/blooks/M12%20Shotgun.webp", "https://blacket.org/content/blooks/Diamond%20Sword.webp", "https://blacket.org/content/blooks/Golden%20Shuriken.webp", "https://blacket.org/content/blooks/Golden%20Gift.webp", "https://blacket.org/content/blooks/Diamond%20Gift.webp", "https://blacket.org/content/blooks/Ankha.webp", "https://blacket.org/content/blooks/Mummy%20Ankha.webp", "https://blacket.org/content/blooks/Realistic%20Ankha.webp", "https://blacket.org/content/blooks/Glowing%20Ankha.webp", "https://blacket.org/content/blooks/Mark%20Ankha.webp", "https://blacket.org/content/blooks/Ankha's%20House.webp", "https://blacket.org/content/blooks/High%20Ankha.webp", "https://blacket.org/content/blooks/Black%20Ankha.webp", "https://blacket.org/content/blooks/Golden%20Ankha.webp", "https://blacket.org/content/blooks/Zone%20Ankha.webp", "https://blacket.org/content/blooks/Rainbow%20Ankha.webp", "https://blacket.org/content/blooks/acai.webp", "https://blacket.org/content/blooks/alicialol.webp", "https://blacket.org/content/blooks/Pablo.webp", "https://blacket.org/content/blooks/fristic.webp", "https://blacket.org/content/blooks/Minesraft2.webp", "https://blacket.org/content/blooks/Piotr.webp", "https://blacket.org/content/blooks/GAMERYT.webp", "https://blacket.org/content/blooks/painbow.webp", "https://blacket.org/content/blooks/okr765.webp", "https://blacket.org/content/blooks/Cerulean.webp", "https://i.ibb.co/0DZt7cc/notAI.png", "https://blacket.org/content/blooks/iBlooket.webp", "https://blacket.org/content/blooks/root.webp", "https://blacket.org/content/blooks/envi.webp", "https://blacket.org/content/blooks/zastix.webp", "https://blacket.org/content/blooks/monkxy.webp", "https://blacket.org/content/blooks/Xotic.webp", "https://blacket.org/content/blooks/10k.webp", "https://blacket.org/content/blooks/Lunar%20Frog.webp", "https://blacket.org/content/blooks/Lucky%20Ankha.webp", "https://blacket.org/content/blooks/Spring%20Ankha.webp", "https://blacket.org/content/blooks/Turkey%20Ankha.webp", "https://blacket.org/content/blooks/Festive%20Xotic.webp", "https://blacket.org/content/blooks/Ukraine%20Ankha.webp", "https://blacket.org/content/blooks/American%20Ankha.webp", "https://blacket.org/content/blooks/Golden%20Shovel.webp", "https://blacket.org/content/blooks/Lunar%20Ankha.webp", "https://blacket.org/content/blooks/Lovely%20Ankha.webp", "https://blacket.org/content/blooks/Lucky%20Pablo.webp", "https://blacket.org/content/blooks/Festive%20Ankha.webp", "https://blacket.org/content/blooks/Naughty%20Ankha.webp", "https://blacket.org/content/blooks/Vampire%20Ankha.webp", "https://blacket.org/content/blooks/Bia.webp", "https://blacket.org/content/blooks/Gold%20Doubloon.webp", "https://blacket.org/content/blooks/Golden%20Crab.webp", "https://blacket.org/content/blooks/Golden%20Seashell.webp", "https://blacket.org/content/blooks/Treasure%20Chest.webp", "https://blacket.org/content/blooks/Tropical%20Island.webp", "https://blacket.org/content/blooks/Spring%20Globe.webp", "https://blacket.org/content/blooks/Patriotic%20Piotr.webp", "https://blacket.org/content/blooks/Nature%20Elemental1.webp", "https://blacket.org/content/blooks/Fire%20Elemental1.webp", "https://blacket.org/content/blooks/Air%20Elemental1.webp", "https://blacket.org/content/blooks/Frost%20Elemental1.webp", "https://blacket.org/content/blooks/Lava%20Elemental1.webp", "https://blacket.org/content/blooks/Electric%20Elemental1.webp", "https://blacket.org/content/blooks/Water%20Elemental1.webp", "https://blacket.org/content/blooks/Space%20Elemental1.webp", "https://blacket.org/content/blooks/Plasma%20Elemental1.webp", "https://blacket.org/content/blooks/Lovely%20zastix.webp", "https://blacket.org/content/blooks/Cookies%20Combo.webp", "https://blacket.org/content/logo.webp", "https://blacket.org/content/blooks/Giveaway.webp", "https://blacket.org/content/blooks/Error.webp", "https://blacket.org/content/blooks/Success.webp", "https://blacket.org/content/blooks/yesbutterjeff.webp", "https://blacket.org/content/blooks/Info.webp", "https://blacket.org/content/blooks/Magnet.webp", "https://blacket.org/content/blooks/DNA.webp", "https://blacket.org/content/blooks/Scale.webp", "https://blacket.org/content/blooks/Beaker.webp", "https://blacket.org/content/blooks/Blood%20Bag.webp", "https://blacket.org/content/blooks/Magnifying%20Glass.webp", "https://blacket.org/content/blooks/Battery.webp", "https://blacket.org/content/blooks/Atom.webp", "https://blacket.org/content/blooks/Test%20Tubes.webp", "https://blacket.org/content/blooks/Bunsen%20Burner.webp", "https://blacket.org/content/blooks/Bacteria.webp", "https://blacket.org/content/blooks/Microscope.webp", "https://blacket.org/content/blooks/Eyeball.webp", "https://blacket.org/content/blooks/Toxic%20Waste.webp", "https://blacket.org/content/blooks/Prism.webp", "https://blacket.org/content/blooks/Telescope.webp", "https://blacket.org/content/blooks/Skull.webp", "https://blacket.org/content/blooks/Lightbulb.webp", "https://blacket.org/content/blooks/Brain.webp", "https://blacket.org/content/blooks/Flask.webp", "https://blacket.org/content/blooks/Petri%20Dish.webp", "https://blacket.org/content/blooks/Albert%20Einstein.webp", "https://blacket.org/content/blooks/Neil%20deGrasse%20Tyson.webp", "https://blacket.org/content/blooks/Gregor%20Mendel.webp", "https://blacket.org/content/blooks/Nikola%20Tesla.webp", "https://blacket.org/content/blooks/Lava%20Lamp.webp", "https://blacket.org/content/blooks/Beating%20Heart.webp", "https://blacket.org/content/blooks/Blueberry%20Pie.webp", "https://blacket.org/content/blooks/Cherry%20Pie.webp", "https://blacket.org/content/blooks/Donut.webp", "https://blacket.org/content/blooks/Cake.webp", "https://blacket.org/content/blooks/Birthday%20Cake.webp", "https://blacket.org/content/blooks/Eclair.webp", "https://blacket.org/content/blooks/Chocolate%20Ice%20Cream.webp", "https://blacket.org/content/blooks/Strawberry%20Ice%20Cream.webp", "https://blacket.org/content/blooks/Macaroon.webp", "https://blacket.org/content/blooks/Golden%20Donut.webp", "https://blacket.org/content/blooks/Magic%20Chocolate.webp", "https://blacket.org/content/blooks/Pack%20of%20Peeps.webp", "https://i.ibb.co/kmZzpW7/xPCHhic.png", "https://i.imgur.com/oFAiMCP.png", "https://i.imgur.com/Cvy8nhz.png", "https://i.imgur.com/5bPl8d7.png", "https://i.imgur.com/PZ723dj.png", "https://i.imgur.com/gIWOeB8.png", "https://i.imgur.com/uqFXKVa.png", "https://i.imgur.com/njAnZv3.png", "https://i.imgur.com/roDRyAE.png", "https://i.imgur.com/Rfc6msP.png", "https://i.imgur.com/j6Xk43g.png", "https://i.ibb.co/WnYyWms/console.webp", "https://raw.githubusercontent.com/IzumiiHD/Pixelit/main/public/img/blooks/Color/Black.png", "https://raw.githubusercontent.com/IzumiiHD/Pixelit/main/public/img/blooks/Color/Blue.png", "https://raw.githubusercontent.com/IzumiiHD/Pixelit/main/public/img/blooks/Color/Green.png", "https://raw.githubusercontent.com/IzumiiHD/Pixelit/main/public/img/blooks/Color/LightGreen.png", "https://raw.githubusercontent.com/IzumiiHD/Pixelit/main/public/img/blooks/Color/Orange.png", "https://raw.githubusercontent.com/IzumiiHD/Pixelit/main/public/img/blooks/Color/Purple.png", "https://raw.githubusercontent.com/IzumiiHD/Pixelit/main/public/img/blooks/Color/Red.png", "https://raw.githubusercontent.com/IzumiiHD/Pixelit/main/public/img/blooks/Color/Teal.png", "https://raw.githubusercontent.com/IzumiiHD/Pixelit/main/public/img/blooks/Color/Yellow.png", "https://raw.githubusercontent.com/IzumiiHD/Pixelit/main/public/img/blooks/OG/Berry.png", "https://raw.githubusercontent.com/IzumiiHD/Pixelit/main/public/img/blooks/OG/BlooketWarrior.gif", "https://raw.githubusercontent.com/IzumiiHD/Pixelit/main/public/img/blooks/OG/Buenar.png", "https://raw.githubusercontent.com/IzumiiHD/Pixelit/main/public/img/blooks/OG/CurryEater.png", "https://raw.githubusercontent.com/IzumiiHD/Pixelit/main/public/img/blooks/OG/FrostyIce109.png", "https://raw.githubusercontent.com/IzumiiHD/Pixelit/main/public/img/blooks/OG/GAMERYT.png", "https://raw.githubusercontent.com/IzumiiHD/Pixelit/main/public/img/blooks/OG/Iamgamedude.png", "https://raw.githubusercontent.com/IzumiiHD/Pixelit/main/public/img/blooks/OG/ItsTornadoYT.png", "https://raw.githubusercontent.com/IzumiiHD/Pixelit/main/public/img/blooks/OG/IzumiiHD.png", "https://raw.githubusercontent.com/IzumiiHD/Pixelit/main/public/img/blooks/OG/Manny.png", "https://raw.githubusercontent.com/IzumiiHD/Pixelit/main/public/img/blooks/OG/NoButterJeff.png", "https://raw.githubusercontent.com/IzumiiHD/Pixelit/main/public/img/blooks/OG/Packman28.png", "https://raw.githubusercontent.com/IzumiiHD/Pixelit/main/public/img/blooks/OG/SOUNDGOD.png", "https://raw.githubusercontent.com/IzumiiHD/Pixelit/main/public/img/blooks/OG/Solid_Snake.png", "https://raw.githubusercontent.com/IzumiiHD/Pixelit/main/public/img/blooks/OG/ThatPlanet.png", "https://raw.githubusercontent.com/IzumiiHD/Pixelit/main/public/img/blooks/OG/Xotic.gif", "https://raw.githubusercontent.com/IzumiiHD/Pixelit/main/public/img/blooks/School/Crayon.png", "https://raw.githubusercontent.com/IzumiiHD/Pixelit/main/public/img/blooks/School/Eraser.png", "https://raw.githubusercontent.com/IzumiiHD/Pixelit/main/public/img/blooks/School/Notebook.png", "https://raw.githubusercontent.com/IzumiiHD/Pixelit/main/public/img/blooks/School/Paper.png", "https://raw.githubusercontent.com/IzumiiHD/Pixelit/main/public/img/blooks/School/Pencil.png", "https://raw.githubusercontent.com/IzumiiHD/Pixelit/main/public/img/blooks/School/Ruler.png", "https://raw.githubusercontent.com/IzumiiHD/Pixelit/main/public/img/blooks/School/Scissors.png", "https://raw.githubusercontent.com/IzumiiHD/Pixelit/main/public/img/blooks/Tech/Camera.png", "https://raw.githubusercontent.com/IzumiiHD/Pixelit/main/public/img/blooks/Tech/Computer.png", "https://raw.githubusercontent.com/IzumiiHD/Pixelit/main/public/img/blooks/Tech/Microwave.png", "https://raw.githubusercontent.com/IzumiiHD/Pixelit/main/public/img/blooks/Tech/Remote.png", "https://raw.githubusercontent.com/IzumiiHD/Pixelit/main/public/img/blooks/Tech/Speaker.png", "https://raw.githubusercontent.com/IzumiiHD/Pixelit/main/public/img/blooks/Tech/Virus.png", "https://raw.githubusercontent.com/IzumiiHD/Pixelit/main/public/img/rainbow.gif", "https://raw.githubusercontent.com/IzumiiHD/Pixelit/main/public/img/lock-icon.png"];
1486 imageUrls.forEach((url) => {
1487 const newBlookContainer = document.createElement('div');
1488 newBlookContainer.className = '_blookContainer_1bg6w_150';
1489 newBlookContainer.setAttribute('role', 'button');
1490 newBlookContainer.setAttribute('tabindex', '0');
1492 const innerDiv = document.createElement('div');
1493 innerDiv.className = '_blookContainer_12gbf_1 _blook_1bg6w_141';
1494 innerDiv.setAttribute('data-tooltip-id', 'blook-tooltip');
1496 const img = document.createElement('img');
1498 img.alt = 'Custom Blook';
1499 img.draggable = false;
1500 img.className = '_blook_12gbf_1';
1502 newBlookContainer.addEventListener('click', () => {
1503 setCustomBlookUrl(url);
1506 innerDiv.appendChild(img);
1507 newBlookContainer.appendChild(innerDiv);
1508 targetContainer.appendChild(newBlookContainer);
1511 console.error('Target container not found');
1514 function setCustomBlookUrl(url) {
1515 let t = Object.values(function e(t = document.querySelector("body>div")) {
1516 return Object.values(t)[1]?.children?.[0]?._owner.stateNode ? t : e(t.querySelector(":scope>div"));
1518 ())[1].children[0]._owner.stateNode;
1520 if (!t.state.unlocks) {
1521 t.props.client.blook = url;
1524 t.props.liveGameController.setVal({
1525 path: `c
/${t.props.client.name}/b
`,
1531 name: "Freeze Host",
1532 description: "Freezes the host's screen",
1534 const encodedChars = [
1535 '\\u2f9f', '\\u4fff', '\\u4f52', '\\u0E47', '\\u0E47', '\\u0E47', '\\u0E47', '\\u0E47', '\\u0E47', '\\u0E47', '\\u4FF1', '\\u4FF2'
1538 const chars = encodedChars.map(char => eval(`"${char}"`));
1540 function makeLongText() {
1541 return new Array(3e+6).fill().map(e => chars[Math.floor(Math.random() * chars.length)]).join("");
1546 } = Object.values(function e(t = document.querySelector("body>div")) {
1547 return Object.values(t)[1]?.children?.[0]?._owner.stateNode ? t : e(t.querySelector(":scope>div"));
1549 ())[1].children[0]._owner.stateNode;
1551 let repeatedText = makeLongText();
1552 t.client.blook = repeatedText;
1553 t.liveGameController.setVal({
1554 path: `c
/${t.client.name}/b
`,
1559 name: "Remove all Taken Blooks",
1560 description: "Removes all taken blooks, allowing you to use any taken blook. Only works in lobby.",
1562 const stateNode = Object.values(document.querySelector("#app>div>div"))[1].children[0]._owner.stateNode;
1563 stateNode.setState({
1568 stateNode.setState = function (a, b) {
1569 if (a?.takenBlooks) {
1572 stateNode.updater.enqueueSetState(stateNode, a, b, "setState");
1576 name: "Dynamic Player Count",
1577 description: "Updates the player count at the top of the screen in realtime as players join or leave.",
1580 const stateNode = Object.values(document.querySelector('#app>div>div'))[1].children[0]._owner.stateNode;
1581 const ref = await stateNode.props.liveGameController.getDatabaseRef("")
1582 ref.on("value", e => {
1583 document.querySelector("div[class*='headerTextCenter']").innerHTML = `Player Count
| ${Object.keys(e.val()?.c)?.length}
/ ${stateNode.props.client.plus ? 300 : 60}
`;
1588 name: "Blooket Bot",
1589 description: "Opens Blooket Bot",
1591 function getGameCode() {
1592 const appDiv = document.querySelector('#app>div>div');
1594 const reactComponent = Object.values(appDiv)[1]?.children[0]?._owner;
1595 return reactComponent?.stateNode?.props?.client?.hostId || null;
1600 const gameCode = getGameCode();
1601 const url = gameCode ? "https://blooketbot.glitch.me/?code=" + gameCode : "https://blooketbot.glitch.me/";
1602 window.open(url, "_blank", "width=500,height=500,resizable=yes,scrollbars=yes,status=yes");
1605 name: "Blooket Bot Unblocked",
1606 description: "Opens Blooket Bot",
1608 function getGameCode() {
1609 const appDiv = document.querySelector('#app>div>div');
1611 const reactComponent = Object.values(appDiv)[1]?.children[0]?._owner;
1612 return reactComponent?.stateNode?.props?.client?.hostId || null;
1617 const gameCode = getGameCode();
1618 const url = gameCode ? "https://blooketbot.vercel.app/?code=" + gameCode : "https://blooketbot.vercel.app/";
1619 window.open(url, "_blank", "width=500,height=500,resizable=yes,scrollbars=yes,status=yes");
1622 name: "Blooket Homework Editor",
1623 description: "Opens Blooket Homework Editor",
1625 window.open("https://blookethwk.glitch.me/", "_blank", "width=500,height=500,resizable=yes,scrollbars=yes,status=yes")
1629 description: "Chat with other people and execute commands",
1638 return Object.values(document.querySelector("#app>div>div"))[1].children[0]._owner
1642 document.addEventListener("keydown", function (e) {
1643 "`" === e.key && (a = !a, o.style.display = a ? "none
" : "block
")
1645 let o = document.createElement("div
");
1646 o.className = "chat
-box
",
1647 document.body.appendChild(o);
1648 let r = document.createElement("div
");
1649 r.className = "chat
-header
",
1650 r.textContent = "Chat
",
1652 let i = document.createElement("div
");
1653 i.className = "chat
-body
",
1655 let n = document.createElement("input
");
1658 let t = document.createElement("div
");
1663 n.className = "chat
-input
",
1664 n.placeholder = "Type a message
...",
1666 o.style.position = "fixed
",
1667 o.style.bottom = "20px
",
1668 o.style.right = "20px
",
1669 o.style.width = "300px
",
1670 o.style.backgroundColor = "#fff
",
1671 o.style.border = "1px solid
#ccc
",
1672 o.style.boxShadow = "0px
0px
10px
rgba(0, 0, 0, 0.2)",
1673 r.addEventListener("click
", () => {
1674 i.classList.toggle("open
")
1676 n.addEventListener("keydown
", function (a) {
1677 13 === a.keyCode && (function a(o) {
1686 if ("/" !== t.charAt(0))
1688 var a = t.split(" "),
1689 o = a[0].replace("/", "");
1690 return a.splice(0, 1), {
1699 r = h.args.join(" "),
1700 (n = webpackJsonp.push([
1709 ]).webpack("MDrD
").a)[r = Object.keys(n).find(e => r.toLocaleLowerCase() === e.toLocaleLowerCase())] ? (s("Setting blook to
" + r + "!"), e().stateNode.props.liveGameController.setVal({
1710 id: e().stateNode.props.client.hostId,
1711 path: "c
/" + e().stateNode.props.client.name,
1715 }), e().stateNode.props.client.blook = r) : s("No blook
with that name was found
!");
1721 Object.keys(e().stateNode.state).map(t => {
1722 var a = e().stateNode.state[t];
1725 Array.from(a) && "object
" == typeof a && (a = "[Array
]"),
1730 e().stateNode.props.liveGameController.getDatabaseVal("c
").then(e => {
1731 s("Current
Players(" + Object.keys(e).length + "): " + Object.keys(e).join(","))
1735 window.logsv = !window.logsv,
1736 s("SetVal log
set to
" + (window.logsv ? "Enabled
" : "Disabled
"));
1740 e().stateNode.props.liveGameController.setVal({
1741 path: "c
/" + e().stateNode.props.client.name + "/" + l[0],
1742 val: l.slice(1, l.length).join(" ")
1749 var t = e.split(":");
1750 Number.isNaN(parseInt(t[1])) || parseInt(t[1]).toString() !== t[1] || (t[1] = parseInt(t[1])),
1753 e().stateNode.setState(d),
1754 s("Set Successful
!");
1757 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
)");
1760 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
)");
1764 e().stateNode.props.liveGameController.getDatabaseVal("c
/" + a).then(e => {
1765 null != e ? s("Dump
: " + JSON.stringify(e)) : s("Player not found
!")
1771 p = h.args.join(" "),
1772 (u = webpackJsonp.push([
1781 ]).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
!");
1784 s("Game Code
: " + e().stateNode.props.client.hostId);
1787 s("Unrecognized chat command
!")
1790 e().stateNode.props.liveGameController.setVal({
1791 id: e().stateNode.props.client.hostId,
1792 path: "c
/" + e().stateNode.props.client.name + "/msg",
1799 (a.srcElement.value), a.srcElement.value = "")
1801 var l = e().stateNode.props.liveGameController._liveApp.database()._delegate._repoInternal.server_.onDataUpdate_;
1804 window.logsv && s("Path
: " + e.path.split("/").splice(2, 2).join("/") + " Val
: " + ("object
" == typeof e.val ? JSON.stringify(e.val) : e.val))
1806 e().stateNode.props.liveGameController._liveApp.database()._delegate._repoInternal.server_.onDataUpdate_ = function (e, t, a, o) {
1809 console.log(e, t, a, o),
1811 null != (i = t) && r.includes("/msg") && i?.msg && (console.log(i.msg), s(r.split("/")[2] + ": " + i.msg)),
1815 var d = e().stateNode.props.liveGameController.setVal;
1816 e().stateNode.props.liveGameController.setVal = function () {
1817 c.apply(this, arguments),
1818 d.apply(this, arguments)
1820 e().stateNode.props.liveGameController._liveApp.database().ref(`${e().stateNode.props.liveGameController._liveGameCode}`).on("value
", e => {}),
1821 s("Lobbychat successfully loaded
!"),
1822 o.style.wordWrap = "break-word
"
1825 name: "Pin Guesser
",
1826 description: "Brute forces combinations
for existing pins
",
1830 a = document.querySelector("div
[class*='titleText']");
1833 return Object.values(function e(t = document.querySelector("body
>div
")) {
1834 return Object.values(t)[1]?.children?.[0]?._owner.stateNode ? t : e(t.querySelector(":scope
>div
"))
1836 ())[1].children[0]._owner.stateNode
1839 let i = Math.floor(9e6 * Math.random()) + 1e6;
1840 fetch(`https://fb.blooket.com/c/firebase/id?id=${i}`, {
1842 credentials: "include
"
1843 }).then(e => e.json()).then(n => {
1844 !0 === n.success ? (console.log("Game found
:", i), a.innerHTML = "Game Found
!", o().setState({
1846 hostId: i.toString()
1848 })) : (console.log("No game found
for:", i), o().setState({
1850 hostId: i.toString()
1852 }), e++, a.innerHTML = "Guesses
: " + e, ++t > 15 ? (setTimeout(r, 1e3), t = 0) : r())
1861 description: "Crashes the host
's game",
1863 var e = Object.values(function e(t = document.querySelector("#app")) {
1864 return Object.values(t)[1]?.children?.[0]?._owner.stateNode ? t : e(t.querySelector(":scope>div"))
1866 ())[1].children[0]._owner.stateNode;
1867 e.props.liveGameController.setVal({
1868 path: `c/${e.props.client.name}/b/toString`,
1873 name: "Every Answer Correct",
1874 description: "Sets every answer to be correct",
1878 } = Object.values(function e(t = document.querySelector("body>div")) {
1879 return Object.values(t)[1]?.children?.[0]?._owner.stateNode ? t : e(t.querySelector(":scope>div"))
1881 ())[1].children[0]._owner;
1882 e.freeQuestions = e.freeQuestions?.map?.(e => ({
1884 correctAnswers: e.answers
1886 e.questions = e.questions?.map?.(e => ({
1888 correctAnswers: e.answers
1890 e.props.client.questions = e.props.client.questions.map(e => ({
1892 correctAnswers: e.answers
1896 name: "Remove Name Limit",
1897 description: "Sets the name limit to 120, which is the actual max name length limit",
1899 var e = document.createElement("iframe");
1900 document.body.append(e),
1901 window.alert = e.contentWindow.alert.bind(window),
1903 document.querySelector('input
[class*="nameInput"]').maxLength = 120,
1904 alert("Removed name length limit")
1907 name: "Remove Random Name",
1908 description: "Allows you to put a custom name",
1910 Object.values(document.querySelector("body div[id] > div > div"))[1].children[0]._owner.stateNode.setState({
1916 document.querySelector('[class*="nameInput"]')?.focus?.()
1919 name: "Sell Cheap Duplicates",
1920 description: "Sells all of your uncommon to epic dupes (not legendaries+)",
1922 var e = document.createElement("iframe");
1923 document.body.append(e),
1924 window.alert = e.contentWindow.alert.bind(window),
1925 window.confirm = e.contentWindow.confirm.bind(window),
1927 let t = webpackJsonp.push([
1937 a = Object.values(t.c).find(e => e.exports?.a?.get).exports.a,
1938 o = Object.values(t.c).find(e => e.exports.a?.sellBlook).exports.a.sellBlook;
1939 a.get("https://dashboard.blooket.com/api/users").then(async({
1944 if (e = Object.entries(e).filter(([e, t]) => 1 < t && !["Legendary", "Chroma", "Mystical"].includes(webpackJsonp.push([
1953 ]).webpack("MDrD").a[e].rarity)), confirm("Are you sure you want to sell your uncommon to epic dupes?")) {
1962 alert(`(${Date.now() - r}ms) Results: ` + e.map(([e, t]) => ` ${e} ` + (t - 1)).join(" "))
1964 }).catch(() => alert("There was an error user data!"))
1967 name: "Sell Duplicate Blooks",
1968 description: "Sell all duplicate blooks leaving you with 1 each",
1969 run: async function () {
1970 let e = document.createElement("iframe");
1971 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)) {
1972 if (confirm("Are you sure you want to sell your dupes? (Legendaries and rarer will not be sold)")) {
1975 } = Object.values(function e(t = document.querySelector("body>div")) {
1976 return Object.values(t)[1]?.children?.[0]?._owner.stateNode ? t : e(t.querySelector(":scope>div"))
1978 ())[1].children[0]._owner,
1981 for (let r in t.state.blookData)
1982 if (t.state.blookData[r] > 1) {
1985 numToSell: t.state.blookData[r] - 1
1986 }), ["Legendary", "Chroma", "Mystical"].includes(document.querySelector("[class*='highlightedRarity
']").innerText.trim()))
1988 o += ` ${r} ${t.state.blookData[r] - 1} `,
1993 alert(`(${Date.now() - a}ms) Results: ${o.trim()}`)
1996 alert("This can only be ran in the Blooks page.")
2002 description: "Shows you what's under each chest during a heist
",
2008 this.enabled = false;
2009 clearInterval(this.data);
2011 Array.prototype.forEach.call(document.querySelectorAll(".chestESP
"), x => x.remove());
2013 this.enabled = true;
2014 this.data = setInterval(() => {
2015 const cheat = (async() => {
2018 } = Object.values((function react(r = document.querySelector("body
>div
")) {
2019 return Object.values(r)[1]?.children?.[0]?._owner.stateNode ? r : react(r.querySelector(":scope
>div
"))
2020 })())[1].children[0]._owner;
2021 if (stateNode.state.stage == "heist
") {
2022 const imgs = Array.prototype.map.call(Array.prototype.slice.call(document.querySelector("[class*=prizesList
]").children, 1, 4), (x) => x.querySelector("img
").src);
2023 const esp = Object.values(document.querySelector("[class*=modal
]"))[0].return.memoizedState.memoizedState;
2024 for (const e of document.querySelectorAll("[class*=boxContent
] > div
"))
2026 const open = Object.values(document.querySelector("[class*=modal
]"))[0].return.memoizedState.next.next.memoizedState;
2027 Array.prototype.forEach.call(document.querySelector("[class*=chestsWrapper
]").children, (container, i) => {
2028 const box = container.firstChild.firstChild;
2029 if (open.includes(i))
2030 return box.style.opacity = "";
2031 box.style.opacity = "0.5";
2032 let d = document.createElement("div
");
2033 d.innerHTML = "<img src
='" + imgs[2 - esp[i]] + "' style
='max-width: 75%; max-height: 75%'></img
>";
2034 d.className = "chestESP
";
2035 d.style.position = "absolute
";
2036 d.style.inset = "0";
2037 d.style.display = "grid
";
2038 d.style.placeItems = "center
";
2039 d.style.pointerEvents = "none
";
2040 container.onclick = () => {
2042 box.style.opacity = "";
2044 container.firstChild.prepend(d);
2053 name: "Crash
Host (Pirate
)",
2054 description: "Crashes the Host
's Game for Pirate's Voyage
",
2056 function reactHandler() {
2057 return Object.values(document.querySelector('#app>div>div'))[1].children[0]._owner;
2060 function setv(args) {
2061 reactHandler().stateNode.props.liveGameController.setVal({
2062 path: "c
/" + reactHandler().stateNode.props.client.name + "/" + args[0],
2063 val: args.slice(1, args.length).join(" ")
2071 description: "Maxes out all islands and your boat
",
2075 } = Object.values(function e(t = document.querySelector("body
>div
")) {
2076 return Object.values(t)[1]?.children?.[0]?._owner.stateNode ? t : e(t.querySelector(":scope
>div
"))
2078 ())[1].children[0]._owner;
2080 islandLevels: Array(e.state.islandLevels.length).fill(5)
2081 }, e.updateBoatLevel)
2084 name: "Set Doubloons
",
2085 description: "Sets Doubloons
",
2092 let t = document.createElement("iframe
");
2093 document.body.append(t),
2094 window.prompt = t.contentWindow.prompt.bind(window),
2098 } = Object.values(function e(t = document.querySelector("body
>div
")) {
2099 return Object.values(t)[1]?.children?.[0]?._owner.stateNode ? t : e(t.querySelector(":scope
>div
"))
2101 ())[1].children[0]._owner;
2105 a.props.liveGameController.setVal({
2106 path: `c/${a.props.client.name}/d`,
2111 name: "Start Heist
",
2112 description: "Starts a heist on someone
",
2119 } = Object.values(function e(t = document.querySelector("body
>div
")) {
2120 return Object.values(t)[1]?.children?.[0]?._owner.stateNode ? t : e(t.querySelector(":scope
>div
"))
2122 ())[1].children[0]._owner;
2123 return new Promise(t => e.props.liveGameController._liveApp ? e.props.liveGameController.getDatabaseVal("c
", e => e && t(Object.keys(e))) : t([]))
2128 let t = document.createElement("iframe
");
2129 document.body.append(t),
2130 window.prompt = t.contentWindow.prompt.bind(window),
2134 } = Object.values(function e(t = document.querySelector("body
>div
")) {
2135 return Object.values(t)[1]?.children?.[0]?._owner.stateNode ? t : e(t.querySelector(":scope
>div
"))
2137 ())[1].children[0]._owner;
2138 a.props.liveGameController.getDatabaseVal("c
", function (t) {
2139 let o = Object.entries(t || {}).reduce((e, [t, o]) => (t != a.props.client.name && e.push({
2145 return a.questionsToAnswer = 1, void a.randomQ();
2150 } = o.find(t => t.name == e) || o.sort((e, t) => t.doubloons - e.doubloons)[0];
2157 prizeAmount: Math.max(1e3, n)
2162 name: "Swap Doubloons
",
2163 description: "Swaps Doubloons
with someone
",
2170 } = Object.values(function e(t = document.querySelector("body
>div
")) {
2171 return Object.values(t)[1]?.children?.[0]?._owner.stateNode ? t : e(t.querySelector(":scope
>div
"))
2173 ())[1].children[0]._owner;
2174 return new Promise(t => e.props.liveGameController._liveApp ? e.props.liveGameController.getDatabaseVal("c
", e => e && t(Object.keys(e))) : t([]))
2178 run: async function (e) {
2179 let t = document.createElement("iframe
");
2180 document.body.append(t),
2181 window.prompt = t.contentWindow.prompt.bind(window),
2185 } = Object.values(function e(t = document.querySelector("body
>div
")) {
2186 return Object.values(t)[1]?.children?.[0]?._owner.stateNode ? t : e(t.querySelector(":scope
>div
"))
2188 ())[1].children[0]._owner,
2189 o = Object.entries(await new Promise(e => a.props.liveGameController.getDatabaseVal("c
", e))).sort((e, t) => t[1].d - e[1].d).filter(e => e[0] != a.props.client.name),
2190 r = o.find(t => t[0] == e) || o[0];
2191 a.props.liveGameController.setVal({
2192 path: `c/${a.props.client.name}`,
2194 b: a.props.client.blook,
2196 tat: `${r[0]}:${r[1].d - a.state.doubloons}`
2204 name: "Take Doubloons
",
2205 description: "Takes Doubloons
from someone
",
2212 } = Object.values(function e(t = document.querySelector("body
>div
")) {
2213 return Object.values(t)[1]?.children?.[0]?._owner.stateNode ? t : e(t.querySelector(":scope
>div
"))
2215 ())[1].children[0]._owner;
2216 return new Promise(t => e.props.liveGameController._liveApp ? e.props.liveGameController.getDatabaseVal("c
", e => e && t(Object.keys(e))) : t([]))
2220 run: async function (e) {
2221 let t = document.createElement("iframe
");
2222 document.body.append(t),
2223 window.prompt = t.contentWindow.prompt.bind(window),
2227 } = Object.values(function e(t = document.querySelector("body
>div
")) {
2228 return Object.values(t)[1]?.children?.[0]?._owner.stateNode ? t : e(t.querySelector(":scope
>div
"))
2230 ())[1].children[0]._owner,
2231 o = Object.entries(await new Promise(e => a.props.liveGameController.getDatabaseVal("c
", e))).sort((e, t) => t[1].d - e[1].d).filter(e => e[0] != a.props.client.name),
2232 r = o.find(t => t[0] == e) || o[0];
2234 doubloons: a.state.doubloons + r[1].d
2236 a.props.liveGameController.setVal({
2237 path: `c/${a.props.client.name}`,
2239 b: a.props.client.blook,
2241 tat: `${r[0]}:${r[1].d}`
2246 name: "Flood Alert Box
",
2247 description: "Makes the alert box filled
with text
",
2253 run: function (userInput) {
2254 function getReactOwner() {
2255 return Object.values(document.querySelector('#app>div>div'))[1].children[0]._owner;
2258 function repeatText(text, times) {
2259 return new Array(times).fill(text).join(" ");
2262 function setValForPlayer() {
2263 getReactOwner().stateNode.props.liveGameController.getDatabaseVal("c
/").then(data => {
2266 const playerName = Object.keys(data)[0];
2270 const id = "1,723,583,989,363";
2271 const repeatedText = repeatText(userInput, 1700);
2272 const finalText = `${id}${repeatedText}`;
2274 setv(['tat', `${playerName}:${finalText}`]);
2276 console.log("No text entered
. Operation cancelled
.");
2279 console.log("Player not found
!");
2284 function setv(args) {
2285 getReactOwner().stateNode.props.liveGameController.setVal({
2286 path: "c
/" + getReactOwner().stateNode.props.client.name + "/" + args[0],
2287 val: args.slice(1, args.length).join(" ")
2294 name: "Send Ad Text
",
2295 description: "Sends a load
of text to another
player (This will override your blook
!)",
2302 } = Object.values(function e(t = document.querySelector("body
>div
")) {
2303 return Object.values(t)[1]?.children?.[0]?._owner.stateNode ? t : e(t.querySelector(":scope
>div
"));
2305 ())[1].children[0]._owner;
2306 return new Promise(t => e.props.liveGameController._liveApp ? e.props.liveGameController.getDatabaseVal("c
", e => e && t(Object.keys(e))) : t([]));
2312 run: async function (player, e) {
2315 } = Object.values(function e(t = document.querySelector("body
>div
")) {
2316 return Object.values(t)[1]?.children?.[0]?._owner.stateNode ? t : e(t.querySelector(":scope
>div
"));
2318 ())[1].children[0]._owner.stateNode;
2320 let repeatedText = `Dog:${Array(500).fill(e).join(' ')}`;
2321 t2.client.blook = repeatedText;
2322 t2.liveGameController.setVal({
2323 path: `c/${t2.client.name}/b`,
2326 t2.liveGameController.setVal({
2327 path: `c/${t2.client.name}/tat`,
2328 val: `${player}:196`
2334 name: "Double Enemy XP
",
2335 description: "Doubles enemy XP drop value
",
2337 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
"))) {
2339 let a = t.classType.prototype.start;
2340 t.classType.prototype.start = function () {
2341 a.apply(this, arguments),
2344 t.children.entries.forEach(e => e.val *= 2)
2348 name: "Half Enemy Speed
",
2349 description: "Makes enemies
move 2x slower
",
2351 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
"))) {
2353 let a = t.classType.prototype.start;
2354 t.classType.prototype.start = function () {
2355 a.apply(this, arguments),
2358 t.children.entries.forEach(e => e.speed *= .5)
2362 name: "Instant Kill
",
2363 description: "Sets all enemies health to
1",
2365 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
"))) {
2367 let a = t.classType.prototype.start;
2368 t.classType.prototype.start = function () {
2369 a.apply(this, arguments),
2372 t.children.entries.forEach(e => e.hp = 1)
2376 name: "Invincibility
",
2377 description: "Makes you invincible
",
2379 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
")))
2380 e.collideCallback = () => {}
2384 description: "Pulls all xp towards you
",
2386 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({
2395 name: "Max Current Abilities
",
2396 description: "Maxes out all your current abilities
",
2398 let e = Object.values(document.querySelector("body div
[id
] > div
> div
"))[1].children[0]._owner.stateNode;
2399 for (var [t, a] of Object.entries(e.state.abilities))
2400 for (let o = 0; o < 10 - a; o++)
2401 e.game.current.scene.scenes[0].game.events.emit("level up
", t, e.state.abilities[t]++);
2403 level: e.game.current.scene.scenes[0].level = [1, 3, 5, 10, 15, 25, 35].sort((t, a) => Math.abs(t - e.state.level) - Math.abs(a - e.state.level))[0] - 1
2408 description: "Skips to the next level
",
2410 var e = Object.values(document.querySelector("body div
[id
] > div
> div
"))[1].children[0]._owner.stateNode, {
2413 } = e.game.current.scene.scenes[0].physics.world.colliders._active.find(e => e.collideCallback?.toString().includes('emit("xp
"'));
2414 a.get().spawn(t.x, t.y, (1 === (a = e.state.level) ? 1 : a < 5 ? 5 : a < 10 ? 10 : a < 20 ? 20 : a < 30 ? 30 : a < 40 ? 40 : a < 50 ? 50 : 100) - e.xp)
2417 name: "Remove Obstacles
",
2418 description: "Removes all rocks and obstacles
",
2420 Object.values(document.querySelector("#app
> div
> div
"))[1].children[0]._owner.stateNode.game.current.scene.scenes[0].physics.world.bodies.entries.forEach(e => {
2422 e.gameObject.frame.texture.key.includes("obstacle
") && e.gameObject.destroy()
2427 name: "Kill Enemies
",
2428 description: "Kills all current enemies
",
2430 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))
2433 name: "Reset Health
",
2434 description: "Resets health and gives invincibility
for 3 seconds
",
2436 Object.values(document.querySelector("#app
> div
> div
"))[1].children[0]._owner.stateNode.game.current.scene.scenes[0].game.events._events.respawn.fn()
2439 name: "Crash
Host (Brawl
)",
2440 description: "Crashes the Host
's Game for Monster Brawl",
2442 function reactHandler() {
2443 return Object.values(document.querySelector('#app
>div
>div
'))[1].children[0]._owner;
2446 function setv(args) {
2447 reactHandler().stateNode.props.liveGameController.setVal({
2448 path: "c/" + reactHandler().stateNode.props.client.name + "/" + args[0],
2449 val: args.slice(1, args.length).join(" ")
2453 setv(['xp
/t
', 't
']);
2457 description: "Sets amount of XP",
2464 var t = Object.values(document.querySelector("body div[id] > div > div"))[1].children[0]._owner.stateNode;
2471 t.props?.liveGameController.setVal({
2472 path: "c/".concat(t.props.client.name),
2474 b: t.props.client.blook,
2481 description: "Sets your level",
2488 Object.values(document.querySelector("body div[id] > div > div"))[1].children[0]._owner.stateNode.setState({
2496 description: "Maxes out items in the shop (Only usable in the shop)",
2498 var e = document.createElement("iframe");
2499 document.body.append(e),
2500 window.alert = e.contentWindow.alert.bind(window),
2502 "/cafe/shop" !== window.location.pathname ? alert("This can only be run in the shop") : (e = Object.values(document.querySelector("body div[id] > div > div"))[1].children[0]._owner.stateNode).setState({
2503 items: Object.fromEntries(Object.entries(e.state.items).map(e => [e[0], 5]))
2507 name: "Remove Customers",
2508 description: "Skips the current customers (Not usable in the shop)",
2510 let e = Object.values(document.querySelector("body div[id] > div > div"))[1].children[0]._owner.stateNode;
2511 e.state.customers.forEach((t, a) => Object.keys(t).length && e.removeCustomer(a, !0))
2514 name: "Reset Abilities",
2515 description: "Resets used abilities in shop (Only usable in the shop)",
2517 var e = document.createElement("iframe");
2518 document.body.append(e),
2519 window.alert = e.contentWindow.alert.bind(window),
2521 "/cafe/shop" !== window.location.pathname ? alert("This can only be run in the shop") : (e = Object.values(document.querySelector("body div[id] > div > div"))[1].children[0]._owner.stateNode).setState({
2522 abilities: Object.fromEntries(Object.entries(e.state.abilities).map(e => [e[0], 5]))
2527 description: "Sets cafe cash",
2534 var t = Object.values(document.querySelector("body div[id] > div > div"))[1].children[0]._owner.stateNode;
2538 t.props.liveGameController.setVal({
2539 path: "c/" + t.props.client.name,
2541 b: t.props.client.blook,
2547 name: "Spam Attack Player",
2548 description: "Attacks the player to make the game unplayable",
2555 } = Object.values(function e(t = document.querySelector("body>div")) {
2556 return Object.values(t)[1]?.children?.[0]?._owner.stateNode ? t : e(t.querySelector(":scope>div"))
2558 ())[1].children[0]._owner;
2559 return new Promise(t => e.props.liveGameController._liveApp ? e.props.liveGameController.getDatabaseVal("c", e => e && t(Object.keys(e))) : t([]))
2566 run: function (name) {
2568 this.enabled = false;
2569 clearInterval(this.data);
2572 this.enabled = true;
2574 function reactHandler() {
2575 return Object.values(document.querySelector('body div
[class*="_body"]'))[1].children[0]._owner;
2578 var action = name + ":inspect";
2580 function spamAction() {
2581 var handler = reactHandler();
2582 if (handler && handler.stateNode && handler.stateNode.props && handler.stateNode.props.liveGameController) {
2583 handler.stateNode.props.liveGameController.setVal({
2584 id: handler.stateNode.props.client.hostId,
2585 path: "c/" + handler.stateNode.props.client.name + "/tat",
2591 this.data = setInterval(spamAction, 50);
2595 name: "Attack Player",
2596 description: "Sends the player a health inspection",
2598 name: "Player's Name
",
2602 run: (function (targetPlayer) {
2603 function reactHandler() {
2604 return Object.values(document.querySelector('body div[class*="_body
"]'))[1].children[0]._owner;
2607 reactHandler().stateNode.props.liveGameController.setVal({
2608 id: reactHandler().stateNode.props.client.hostId,
2609 path: "c
/" + reactHandler().stateNode.props.client.name + "/tat
",
2610 val: targetPlayer + ":inspect
"
2615 description: "Makes a player pay tax
",
2617 name: "Player
's Name",
2621 run: function (playerName) {
2622 function reactHandler() {
2623 return Object.values(document.querySelector('#app
>div
>div
'))[1].children[0]._owner;
2626 function setv(args) {
2627 reactHandler().stateNode.props.liveGameController.setVal({
2628 path: "c/" + reactHandler().stateNode.props.client.name + "/" + args[0],
2629 val: args.slice(1, args.length).join(" ")
2633 function taxPlayer() {
2635 setv(['tat
', playerName + ':tax
']);
2637 console.log("No player name entered. Operation cancelled.");
2645 description: "Stocks all food to 99 (Not usable in the shop)",
2647 var e = document.createElement("iframe");
2648 document.body.append(e),
2649 window.alert = e.contentWindow.alert.bind(window),
2651 "/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({
2652 foods: e.state.foods.map(e => ({
2663 description: "Shows what each choice will give you
",
2668 this.enabled ? (this.enabled = !1, clearInterval(this.data), this.data = null) : (this.enabled = !0, this.data = setInterval(() => {
2671 } = Object.values(function e(t = document.querySelector("body
>div
")) {
2672 return Object.values(t)[1]?.children?.[0]?._owner.stateNode ? t : e(t.querySelector(":scope
>div
"))
2674 ())[1].children[0]._owner, {
2676 } = e.state.choices[0],
2677 a = document.querySelector("[class^=styles__feedbackContainer___
]");
2678 if (a.children.length <= 4) {
2679 let o = document.createElement("div
");
2680 o.style.color = "white
",
2681 o.style.fontFamily = "Inconsolata
,Helvetica
,monospace
,sans
-serif
",
2682 o.style.fontSize = "2em
",
2683 o.style.display = "flex
",
2684 o.style.justifyContent = "center
",
2685 o.style.marginTop = "675px
",
2692 name: "Password ESP
",
2693 description: "Highlights the wrong passwords
",
2700 e.enabled ? (e.enabled = !1, clearInterval(e.data), e.data = null) : (e.enabled = !0, e.data = setInterval(() => {
2703 } = Object.values(function e(t = document.querySelector("#app
> div
> div
")) {
2704 return Object.values(t)[1]?.children?.[1]?._owner.stateNode ? t : e(t.querySelector(":scope
>div
"))
2706 ())[1].children[1]._owner.stateNode;
2707 "hack
" === e.stage && Array.from(document.querySelectorAll('[role="button
"]._button_mrhfb_157')).forEach(t => {
2708 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 = "")
2712 console.error("An error occurred
:", t)
2716 name: "Always Triple
",
2717 description: "Always
get triple crypto
",
2722 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({
2727 blook: "Brainy Bot
",
2728 text: "Triple Crypto
"
2734 name: "Always Quintuple
",
2735 description: "Always
get quintuple crypto
",
2740 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({
2745 blook: "Ice Elemental
",
2746 text: "Quintuple Crypto
"
2752 name: "Always Hack
",
2753 description: "Always
get hack
",
2758 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({
2770 name: "Crash Password
",
2771 description: "Crashes other players when they attempt to hack you
",
2776 var e = Object.values(function e(t = document.querySelector("#app
")) {
2777 return Object.values(t)[1]?.children?.[0]?._owner.stateNode ? t : e(t.querySelector(":scope
>div
"))
2779 ())[1].children[0]._owner.stateNode;
2781 this.enabled = !1, clearInterval(this.data), this.data = null, e.props.liveGameController.setVal({
2782 path: `c/${e.props.client.name}/p`,
2783 val: e.state?.password
2788 e.props.liveGameController.setVal({
2789 path: `c/${e.props.client.name}/p/toString`,
2793 this.data = setInterval(t, 25)
2797 name: "Set Freeze Password
",
2798 description: "Freezes other players when they attempt to hack you
",
2803 const encodedChars = [
2804 '\\u2f9f', '\\u4fff', '\\u4f52', '\\u0E47', '\\u0E47', '\\u0E47', '\\u0E47', '\\u0E47', '\\u0E47', '\\u0E47', '\\u4FF1', '\\u4FF2'
2807 const chars = encodedChars.map(char => eval(`"${char}
"`));
2809 function makeLongText() {
2810 return new Array(3e+6).fill().map(e => chars[Math.floor(Math.random() * chars.length)]).join("");
2813 var t = Object.values(document.querySelector("body div
[id
] > div
> div
"))[1].children[0]._owner.stateNode;
2817 clearInterval(this.data);
2822 t.props.liveGameController.setVal({
2823 path: "c
/".concat(t.props.client.name),
2825 b: t.props.client.blook,
2832 let lagFunction = () => {
2833 var e = makeLongText();
2837 t.props.liveGameController.setVal({
2838 path: "c
/".concat(t.props.client.name),
2840 b: t.props.client.blook,
2846 this.data = setInterval(lagFunction, 25);
2851 description: "Automatically performs the hack
for you
",
2858 e.enabled ? (e.enabled = !1, clearInterval(e.data), e.data = null) : (e.enabled = !0, e.data = setInterval(() => {
2859 if ("hack
" === ("hack
" === window.location.pathname.split("/")[2] && "hack
")) {
2863 } = Object.values(document.querySelector("#app
> div
> div
"))[1].children[1]._owner.stateNode.state;
2864 "hack
" === e && Array.from(document.querySelectorAll("div
")).filter(e => e.innerHTML === t)[0].click()
2868 console.error("An error occurred
:", t)
2872 name: "Set Host Screen Green
",
2873 description: "Makes the whole screen filled
with text
",
2878 var a = Object.values(function e(t = document.querySelector("#app
")) {
2879 return Object.values(t)[1]?.children?.[0]?._owner.stateNode ? t : e(t.querySelector(":scope
>div
"))
2881 ())[1].children[0]._owner.stateNode;
2885 clearInterval(this.data);
2887 a.props.liveGameController.setVal({
2888 path: `c/${a.props.client.name}/cr`,
2894 a.props.liveGameController.setVal({
2895 path: `c/${a.props.client.name}/cr`,
2896 val: `9999999999999999999999999999999999999999999999${new Array(999).fill("\u0e47".repeat(70)).join(" ")}`
2899 this.data = setInterval(t, 25);
2903 name: "Remove Hack
",
2904 description: "Removes an attacking hack
",
2906 Object.values(document.querySelector("#app
>div
>div
"))[1].children[0]._owner.stateNode.setState({
2911 name: "Crash
Host (Crypto
)",
2912 description: "Crashes the Host
's Game for Crypto Hack",
2914 function reactHandler() {
2915 return Object.values(document.querySelector('#app
>div
>div
'))[1].children[0]._owner;
2918 function setv(args) {
2919 reactHandler().stateNode.props.liveGameController.setVal({
2920 path: "c/" + reactHandler().stateNode.props.client.name + "/" + args[0],
2921 val: args.slice(1, args.length).join(" ")
2925 setv(['cr
/t
', 't
']);
2929 description: "Sets crypto",
2936 var t = Object.values(document.querySelector("body div[id] > div > div"))[1].children[0]._owner.stateNode;
2941 t.props.liveGameController.setVal({
2942 path: "c/" + t.props.client.name + "/cr",
2947 name: "Set Password",
2948 description: "Sets hacking password",
2950 name: "Custom Password",
2955 var t = Object.values(document.querySelector("body div[id] > div > div"))[1].children[0]._owner.stateNode;
2959 t.props.liveGameController.setVal({
2960 path: "c/" + t.props.client.name + "/p",
2965 name: "Set Host Screen Text",
2966 description: "Makes the whole screen filled with text",
2973 let t = document.createElement("iframe");
2974 document.body.append(t),
2975 window.prompt = t.contentWindow.prompt.bind(window),
2977 var a = Object.values(function e(t = document.querySelector("#app")) {
2978 return Object.values(t)[1]?.children?.[0]?._owner.stateNode ? t : e(t.querySelector(":scope>div"))
2980 ())[1].children[0]._owner.stateNode;
2981 a.props.liveGameController.setVal({
2982 path: `c/${a.props.client.name}/cr`,
2983 val: `9999999999999999999999999999999999999999999999${new Array(999).fill(e).join(" ")}`
2987 name: "Steal Player's Crypto
",
2988 description: "Steals all
of someone
's crypto",
2993 let e = Object.values(document.querySelector("body div[id] > div > div"))[1].children[0]._owner.stateNode;
2994 return new Promise(t => e.props.liveGameController._liveApp ? e.props.liveGameController.getDatabaseVal("c", e => e && t(Object.keys(e))) : t([]))
2999 let t = Object.values(document.querySelector("body div[id] > div > div"))[1].children[0]._owner.stateNode;
3000 t.props.liveGameController.getDatabaseVal("c", a => {
3002 a && Object.keys(a).map(e => e.toLowerCase()).includes(e.toLowerCase()) && ([a, {
3005 ] = Object.entries(a).find(([t]) => t.toLowerCase() == e.toLowerCase()), t.setState({
3006 crypto: t.state.crypto + o,
3007 crypto2: t.state.crypto + o
3008 }), t.props.liveGameController.setVal({
3009 path: "c/".concat(t.props.client.name),
3011 b: t.props.client.blook,
3012 p: t.state.password,
3013 cr: t.state.crypto + o,
3020 name: "Get Player's Password
",
3021 description: "Shows the password
of any player
in an alert box
",
3026 let e = Object.values(document.querySelector("body div
[id
] > div
> div
"))[1].children[0]._owner.stateNode;
3027 return new Promise(t => e.props.liveGameController._liveApp ? e.props.liveGameController.getDatabaseVal("c
", e => e && t(Object.keys(e))) : t([]))
3031 run: function (player) {
3032 let i = document.createElement('iframe');
3033 document.body.append(i);
3034 const alert = i.contentWindow.alert.bind(window);
3036 var t = Object.values(document.querySelector("#app
>div
>div
"))[1].children[0]._owner.stateNode;
3037 t.props.liveGameController.getDatabaseVal("c
", e => {
3038 alert(e?.[player]?.p);
3042 name: "Flood Alert Box
",
3043 description: "Makes the alert box filled
with text
",
3049 run: function (userInput) {
3050 function getReactOwner() {
3051 return Object.values(document.querySelector('#app>div>div'))[1].children[0]._owner;
3054 function repeatText(text, times) {
3055 return new Array(times).fill(text).join(" ");
3058 function setValForPlayer() {
3059 getReactOwner().stateNode.props.liveGameController.getDatabaseVal("c
/").then(data => {
3062 const playerName = Object.keys(data)[0];
3066 const id = "1,723,583,989,363";
3067 const repeatedText = repeatText(userInput, 1700);
3068 const finalText = `${id}${repeatedText}`;
3070 setv(['tat', `${playerName}:${finalText}`]);
3072 console.log("No text entered
. Operation cancelled
.");
3075 console.log("Player not found
!");
3080 function setv(args) {
3081 getReactOwner().stateNode.props.liveGameController.setVal({
3082 path: "c
/" + getReactOwner().stateNode.props.client.name + "/" + args[0],
3083 val: args.slice(1, args.length).join(" ")
3090 name: "Send Ad Text
",
3091 description: "Sends a load
of text to another
player (This will override your blook
!)",
3098 } = Object.values(function e(t = document.querySelector("body
>div
")) {
3099 return Object.values(t)[1]?.children?.[0]?._owner.stateNode ? t : e(t.querySelector(":scope
>div
"));
3101 ())[1].children[0]._owner;
3102 return new Promise(t => e.props.liveGameController._liveApp ? e.props.liveGameController.getDatabaseVal("c
", e => e && t(Object.keys(e))) : t([]));
3108 run: async function (player, e) {
3111 } = Object.values(function e(t = document.querySelector("body
>div
")) {
3112 return Object.values(t)[1]?.children?.[0]?._owner.stateNode ? t : e(t.querySelector(":scope
>div
"));
3114 ())[1].children[0]._owner.stateNode;
3116 let repeatedText = `Dog:${Array(500).fill(e).join(' ')}`;
3117 t2.client.blook = repeatedText;
3118 t2.liveGameController.setVal({
3119 path: `c/${t2.client.name}/b`,
3122 t2.liveGameController.setVal({
3123 path: `c/${t2.client.name}/tat`,
3124 val: `${player}:196`
3131 description: "Shuffles around towers
",
3133 let e = Object.values(document.querySelector("body div
[id
] > div
> div
"))[1].children[0]._owner.stateNode,
3135 eventName: "Earthquake
",
3139 icon: "fas fa
-mountain
",
3140 desc: "All
of your towers
get mixed up
",
3145 }, () => e.eventTimeout = setTimeout(() => e.setState({
3148 }), 6e3)), e.tiles.forEach(e => e.forEach((t, a) => 3 === t && (e[a] = 0))), e.tiles.flatMap((e, t) => e.map((e, a) => 0 === e && {
3151 })).filter(Boolean).sort(() => .5 - Math.random()));
3152 e.towers.forEach(a => {
3157 a.move(o, r, e.tileSize),
3162 name: "Max Tower Stats
",
3163 description: "Makes all placed towers overpowered
",
3165 Object.values(document.querySelector("body div
[id
] > div
> div
"))[1].children[0]._owner.stateNode.towers.forEach(e => {
3167 e.fullCd = e.cd = 0,
3172 name: "Remove Ducks
",
3173 description: "Removes ducks
",
3178 } = Object.values(document.querySelector("body div
[id
] > div
> div
"))[1].children[0]._owner.stateNode;
3185 name: "Place Blooks Anywhere
",
3186 description: "Be able to place your blooks anywhere
",
3188 for (var i = 0; i < 10; i++) {
3189 Object.values(document.querySelector("#app
> div
> div
"))[1].children[1]._owner.stateNode.tiles[i] = Array(10).fill(0);
3193 name: "Remove Enemies
",
3194 description: "Removes all the enemies
",
3196 var e = Object.values(document.querySelector("body div
[id
] > div
> div
"))[1].children[0]._owner.stateNode;
3197 e.enemies = e.futureEnemies = []
3200 name: "Remove Obstacles
",
3201 description: "Lets you place towers anywhere
",
3203 var e = Object.values(document.querySelector("body div
[id
] > div
> div
"))[1].children[0]._owner.stateNode;
3204 e.tiles = e.tiles.map(e => e.fill(0))
3208 description: "Sets damage
",
3215 Object.values(document.querySelector("body div
[id
] > div
> div
"))[1].children[0]._owner.stateNode.dmg = e
3219 description: "Sets the current round
",
3226 Object.values(document.querySelector("body div
[id
] > div
> div
"))[1].children[0]._owner.stateNode.setState({
3232 description: "Sets the amount
of tokens you have
",
3239 Object.values(document.querySelector("body div
[id
] > div
> div
"))[1].children[0]._owner.stateNode.setState({
3246 name: "Max Tower Stats
",
3247 description: "Makes all placed towers overpowered
",
3249 Object.values(document.querySelector("body div
[id
] > div
> div
"))[1].children[0]._owner.stateNode.state.towers.forEach(e => {
3250 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)
3251 for (let t in e.stats.auraBuffs)
3252 e.stats.auraBuffs[t] *= 100
3256 name: "Kill Enemies
",
3257 description: "Kills all the enemies
",
3259 var e = Object.values(document.querySelector("body div
[id
] > div
> div
"))[1].children[0]._owner.stateNode;
3260 e.game.current.scene.scenes[0].enemyQueue.length = 0,
3261 e.game.current.scene.scenes[0].physics.world.bodies.entries.forEach(e => e?.gameObject?.receiveDamage?.(e.gameObject.hp, 1))
3264 name: "Crash
Host (Defense
2)",
3265 description: "Crashes the Host
's Game for Tower Defense 2 (May take a few tries)",
3267 function reactHandler() {
3268 return Object.values(document.querySelector('#app
>div
>div
'))[1].children[0]._owner;
3271 function setv(args) {
3272 reactHandler().stateNode.props.liveGameController.setVal({
3273 path: "c/" + reactHandler().stateNode.props.client.name + "/" + args[0],
3274 val: args.slice(1, args.length).join(" ")
3282 description: "Sets coins",
3289 Object.values(document.querySelector("body div[id] > div > div"))[1].children[0]._owner.stateNode.setState({
3295 description: "Sets the amount of health you have",
3302 Object.values(document.querySelector("body div[id] > div > div"))[1].children[0]._owner.stateNode.setState({
3308 description: "Sets the current round",
3315 Object.values(document.querySelector("body div[id] > div > div"))[1].children[0]._owner.stateNode.setState({
3322 name: "Auto Choose",
3323 description: "Automatically choose the best fossil when excavating",
3329 this.enabled = false;
3330 clearInterval(this.data);
3333 this.enabled = true;
3334 this.data = setInterval(() => {
3335 const cheat = (async() => {
3336 function rand(e, t) {
3338 while (s.length < t) {
3339 const i = Math.random();
3342 for (let o = 0; o < e.length; o++) {
3349 g && !s.includes(g) && s.push(g);
3357 } = Object.values((function react(r = document.querySelector("body>div")) {
3358 return Object.values(r)[1]?.children?.[0]?._owner.stateNode ? r : react(r.querySelector(":scope>div"))
3359 })())[1].children[0]._owner;
3361 if (stateNode.state.stage === "excavate") {
3362 stateNode.state.choices.length || (stateNode.state.choices = rand([{
3376 blook: "Dino Fossil"
3381 blook: "Stegosaurus"
3386 blook: "Velociraptor"
3391 blook: "Brontosaurus"
3396 blook: "Triceratops"
3401 blook: "Tyrannosaurus Rex"
3415 for (let i = 0; i < stateNode.state.choices.length; i++) {
3419 } = stateNode.state.choices[i];
3420 const value = (type == "fossil" ? stateNode.state.fossils + val * stateNode.state.fossilMult : stateNode.state.fossils * val) || 0;
3421 if (value <= max && type != "mult")
3427 document.querySelector('div
[class*=rockRow
] > div
[role
="button"]:nth
-child(' + index + ')').click();
3437 description: "Shows what is under the rocks",
3442 let e = ["⁰", "\xb9", "\xb2", "\xb3", "⁴", "⁵", "⁶", "⁷", "⁸", "⁹"],
3446 a = e[t % parseInt("10")] + a, t = ~~(t / 10);
3450 let a = e.toString();
3452 let o = ["", "K", "M", "B", "T"],
3453 r = ~~((digits(e) - 1) / 3);
3456 for (let n = 3; n >= 1; n--) {
3457 i = parseFloat((0 !== r ? e / 1e3 ** r : e).toPrecision(n)).toString();
3458 let s = i.replace(/[^a-zA-Z 0-9]+/g, "");
3462 Number(i) % 1 != 0 && (i = Number(i).toFixed(1)),
3468 l = Math.floor(l / 10), c += 1;
3469 a = `${l / 10} \xd7 10${t(c + 1)}`
3474 this.enabled ? (this.enabled = !1, clearInterval(this.data), this.data = null) : (this.enabled = !0, this.data = setInterval(() => {
3477 } = Object.values(function e(t = document.querySelector("body>div")) {
3478 return Object.values(t)[1]?.children?.[0]?._owner.stateNode ? t : e(t.querySelector(":scope>div"))
3480 ())[1].children[0]._owner,
3481 t = [...document.querySelector('[class*="rockButton"]').parentElement.children];
3482 t.every(e => e.querySelector("div")) || e.setState({
3497 blook: "Dino Fossil"
3502 blook: "Stegosaurus"
3507 blook: "Velociraptor"
3512 blook: "Brontosaurus"
3517 blook: "Triceratops"
3522 blook: "Tyrannosaurus Rex"
3532 ].sort(() => .5 - Math.random()).slice(0, 3)
3534 t.forEach((t, o) => {
3535 let r = e.state.choices[o];
3536 t.querySelector("div") && t.querySelector("div").remove();
3537 let i = document.createElement("div");
3538 i.style.color = "white",
3539 i.style.fontFamily = "Macondo",
3540 i.style.fontSize = "1em",
3541 i.style.display = "flex",
3542 i.style.justifyContent = "center",
3543 i.style.transform = "translateY(25px)",
3544 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`,
3551 name: "Set Fossils",
3552 description: "Sets the amount of fossils you have",
3559 var t = Object.values(document.querySelector("body div[id] > div > div"))[1].children[0]._owner.stateNode;
3563 t.props.liveGameController.setVal({
3564 path: "c/" + t.props.client.name,
3566 b: t.props.client.blook,
3568 ic: t.state.isCheating
3573 name: "Set Multiplier",
3574 description: "Sets fossil multiplier",
3581 Object.values(document.querySelector("body div[id] > div > div"))[1].children[0]._owner.stateNode.setState({
3586 name: "Crash Host (Dino)",
3587 description: "Crashes the Host's Game
for Deceptive Dinos
",
3589 function reactHandler() {
3590 return Object.values(document.querySelector('#app>div>div'))[1].children[0]._owner;
3593 function setv(args) {
3594 reactHandler().stateNode.props.liveGameController.setVal({
3595 path: "c
/" + reactHandler().stateNode.props.client.name + "/" + args[0],
3596 val: args.slice(1, args.length).join(" ")
3603 name: "Stop Cheating
",
3604 description: "Undoes cheating so that you can
't be caught",
3606 var e = Object.values(document.querySelector("body div[id] > div > div"))[1].children[0]._owner.stateNode;
3610 e.props.liveGameController.setVal({
3611 path: `c/${e.props.client.name}/ic`,
3619 description: "Fills your deck with every maxed out card and artifact (Only works on towers page)",
3621 let e = document.createElement("iframe");
3622 if (document.body.append(e), window.alert = e.contentWindow.alert.bind(window), e.remove(), "/tower/map" == window.location.pathname) {
3625 } = Object.values(function e(t = document.querySelector("body>div")) {
3626 return Object.values(t)[1]?.children?.[0]?._owner.stateNode ? t : e(t.querySelector(":scope>div"))
3628 ())[1].children[0]._owner;
3629 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("|"),
3630 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 => {
3631 let [t, a] = e.split(",");
3641 t.props.addTowerNode()
3647 alert("You need to be on the map to run
this cheat
!")
3651 description: "Maxes out all the cards
in your deck
",
3653 var e = document.createElement("iframe
");
3654 document.body.append(e),
3655 window.alert = e.contentWindow.alert.bind(window),
3657 "/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 => {
3661 }) : alert("You need to be on the map to run
this cheat
!")
3665 description: "Fills the player
's health",
3667 var e = document.createElement("iframe");
3668 document.body.append(e),
3669 window.alert = e.contentWindow.alert.bind(window),
3671 "/tower/battle" == window.location.pathname ? Object.values(document.querySelector("body div[id] > div > div"))[1].children[0]._owner.stateNode.setState({
3673 }) : alert("You need to be in battle to run this cheat!")
3676 name: "Max Card Stats",
3677 description: "Maxes out player's current
card (Only works on attribute select page
)",
3679 var e = document.createElement("iframe
"),
3680 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;
3681 "select
" !== e.state.phase ? alert("You must be on the attribute selection page
!") : e.setState({
3691 name: "Min Enemy Stats
",
3692 description: "Makes the enemy card stats all
0 (Only works on attribute select page
)",
3694 var e = document.createElement("iframe
"),
3695 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;
3696 "select
" !== e.state.phase ? alert("You must be on the attribute selection page
!") : e.setState({
3698 ...e.state.enemyCard,
3707 description: "Try
's to set amount of tower coins you have",
3714 var t = document.createElement("iframe");
3715 if (document.body.append(t), window.alert = t.contentWindow.prompt.bind(window), t.remove(), "/tower/battle" == window.location.pathname) {
3716 var t = parseInt("0" + alert("How many coins would you like?")),
3717 a = Object.values(document.querySelector("body div[id] > div > div"))[1].children[0]._owner.stateNode;
3719 a.props.setTowerCoins(t)
3722 alert("You need to be in battle to run this cheat!")
3726 description: "Sets your streak to the desired amount",
3733 var t = document.createElement("iframe");
3734 document.body.append(t),
3735 window.alert = t.contentWindow.alert.bind(window),
3737 "/tower/battle" == window.location.pathname ? Object.values(document.querySelector("body div[id] > div > div"))[1].children[0]._owner.stateNode.setState({
3740 }) : alert("You need to be in battle to run this cheat!")
3745 name: "Choose Blook",
3746 description: "Gives you a blook",
3753 class: "\uD83C\uDF3D",
3755 cash: [3, 7, 65, 400, 2500],
3756 time: [1, 1, 1, 1, 1],
3757 price: [300, 3e3, 3e4, 2e5]
3761 class: "\uD83C\uDF3D",
3763 cash: [10, 40, 200, 1400, 1e4],
3764 time: [5, 4, 3, 2, 1],
3765 price: [570, 4e3, 5e4, 8e5]
3769 class: "\uD83C\uDF3D",
3771 cash: [25, 75, 1500, 25e3, 25e4],
3772 time: [15, 10, 10, 10, 5],
3773 price: [500, 9500, 16e4, 4e6]
3777 class: "\uD83C\uDF3D",
3779 cash: [4, 24, 200, 3e3, 4e4],
3780 time: [3, 3, 3, 3, 3],
3781 price: [450, 4200, 7e4, 11e5]
3785 class: "\uD83C\uDF3D",
3787 cash: [5, 28, 200, 1300, 12e3],
3788 time: [3, 3, 2, 2, 2],
3789 price: [500, 6400, 45e3, 5e5]
3793 class: "\uD83C\uDF3D",
3795 cash: [5, 20, 270, 1800, 15e3],
3796 time: [2, 2, 2, 2, 2],
3797 price: [550, 8200, 65e3, 6e5]
3801 class: "\uD83C\uDF3D",
3803 cash: [20, 50, 1300, 8e3, 8e4],
3804 time: [7, 7, 7, 7, 5],
3805 price: [400, 11e3, 8e4, 13e5]
3809 class: "\uD83C\uDF3D",
3811 cash: [6, 25, 250, 1500, 11e3],
3812 time: [3, 3, 3, 2, 2],
3813 price: [500, 5e3, 5e4, 43e4]
3817 class: "\uD83D\uDC3E",
3819 cash: [5, 18, 170, 1700, 13e3],
3820 time: [2, 2, 2, 2, 2],
3821 price: [480, 5500, 6e4, 5e5]
3825 class: "\uD83D\uDC3E",
3827 cash: [7, 25, 220, 1900, 9e3],
3828 time: [3, 3, 2, 2, 1],
3829 price: [460, 6600, 7e4, 73e4]
3833 class: "\uD83D\uDC3E",
3835 cash: [5, 40, 350, 3500, 35e3],
3836 time: [3, 3, 3, 3, 3],
3837 price: [750, 7200, 84e3, 95e4]
3841 class: "\uD83D\uDC3E",
3843 cash: [3, 18, 185, 800, 7e3],
3844 time: [2, 2, 2, 1, 1],
3845 price: [500, 5800, 56e3, 55e4]
3849 class: "\uD83D\uDC3E",
3851 cash: [10, 45, 450, 4500, 45e3],
3852 time: [4, 4, 4, 4, 4],
3853 price: [650, 6500, 8e4, 93e4]
3857 class: "\uD83D\uDC3E",
3859 cash: [23, 120, 1400, 15e3, 17e4],
3860 time: [10, 10, 10, 10, 10],
3861 price: [700, 8500, 11e4, 13e5]
3865 class: "\uD83D\uDC3E",
3867 cash: [4, 10, 75, 500, 3e3],
3868 time: [1, 1, 1, 1, 1],
3869 price: [450, 4e3, 35e3, 25e4]
3873 class: "\uD83D\uDC3E",
3875 cash: [4, 8, 60, 400, 2e3],
3876 time: [1, 1, 1, 1, 1],
3877 price: [350, 3500, 26e3, 17e4]
3881 class: "\uD83C\uDF32",
3883 cash: [12, 70, 550, 4500, 1e5],
3884 time: [7, 7, 6, 5, 5],
3885 price: [550, 5500, 63e3, 16e5]
3889 class: "\uD83C\uDF32",
3891 cash: [8, 45, 400, 3500, 26e3],
3892 time: [5, 5, 4, 4, 3],
3893 price: [520, 6500, 58e3, 7e5]
3897 class: "\uD83C\uDF32",
3899 cash: [7, 15, 80, 550, 3e3],
3900 time: [2, 2, 1, 1, 1],
3901 price: [400, 4e3, 36e3, 24e4]
3905 class: "\uD83C\uDF32",
3907 cash: [5, 14, 185, 1900, 19e3],
3908 time: [2, 2, 2, 2, 2],
3909 price: [400, 5e3, 71e3, 8e5]
3913 class: "\uD83C\uDF32",
3915 cash: [3, 10, 65, 470, 2600],
3916 time: [1, 1, 1, 1, 1],
3917 price: [420, 3600, 32e3, 21e4]
3921 class: "\uD83C\uDF32",
3923 cash: [4, 17, 155, 1500, 15e3],
3924 time: [2, 2, 2, 2, 2],
3925 price: [500, 4800, 55e3, 58e4]
3929 class: "\uD83C\uDF32",
3931 cash: [11, 37, 340, 2200, 3e4],
3932 time: [5, 4, 3, 2, 2],
3933 price: [540, 7e3, 77e3, 12e5]
3939 cash: [6, 17, 150, 1200, 13e3],
3940 time: [2, 2, 2, 2, 2],
3941 price: [480, 4500, 43e3, 52e4]
3947 cash: [5, 18, 180, 850, 8500],
3948 time: [2, 2, 2, 1, 1],
3949 price: [520, 550, 61e3, 68e4]
3955 cash: [5, 20, 190, 1900, 16e3],
3956 time: [3, 3, 2, 2, 2],
3957 price: [370, 5300, 76e3, 62e4]
3959 name: "Arctic Hare",
3963 cash: [6, 19, 85, 900, 7e3],
3964 time: [2, 2, 1, 1, 1],
3965 price: [540, 5200, 66e3, 55e4]
3971 cash: [4, 21, 310, 3200, 33e3],
3972 time: [3, 3, 3, 3, 3],
3973 price: [400, 6500, 76e3, 87e4]
3975 name: "Baby Penguin",
3979 cash: [3, 8, 70, 450, 2700],
3980 time: [1, 1, 1, 1, 1],
3981 price: [420, 3300, 33e3, 23e4]
3987 cash: [12, 75, 700, 6500, 85e3],
3988 time: [8, 7, 6, 5, 5],
3989 price: [630, 7e3, 91e3, 14e5]
3995 cash: [11, 46, 420, 3700, 51e3],
3996 time: [5, 5, 4, 4, 4],
3997 price: [550, 6200, 68e3, 1e6]
4001 class: "\uD83C\uDF34",
4003 cash: [6, 20, 100, 975, 7500],
4004 time: [3, 3, 1, 1, 1],
4005 price: [390, 6e3, 7e4, 61e4]
4009 class: "\uD83C\uDF34",
4011 cash: [8, 28, 230, 1600, 17e3],
4012 time: [3, 3, 2, 2, 2],
4013 price: [390, 6e3, 7e4, 61e4]
4017 class: "\uD83C\uDF34",
4019 cash: [9, 20, 175, 625, 3800],
4020 time: [2, 2, 2, 1, 1],
4021 price: [520, 4800, 42e3, 3e5]
4025 class: "\uD83C\uDF34",
4027 cash: [6, 35, 160, 1700, 18e3],
4028 time: [4, 4, 2, 2, 2],
4029 price: [500, 5e3, 63e3, 7e5]
4033 class: "\uD83C\uDF34",
4035 cash: [3, 8, 85, 850, 8500],
4036 time: [1, 1, 1, 1, 1],
4037 price: [480, 5400, 62e3, 63e4]
4041 class: "\uD83C\uDF34",
4043 cash: [3, 9, 90, 900, 9e3],
4044 time: [1, 1, 1, 1, 1],
4045 price: [540, 5700, 65e3, 69e4]
4049 class: "\uD83C\uDF34",
4051 cash: [12, 28, 215, 2100, 21e3],
4052 time: [5, 3, 2, 2, 2],
4053 price: [530, 6500, 76e3, 87e4]
4057 class: "\uD83C\uDF34",
4059 cash: [3, 15, 85, 1500, 7600],
4060 time: [1, 2, 1, 2, 1],
4061 price: [410, 5100, 58e3, 59e4]
4065 class: "\uD83C\uDF34",
4067 cash: [13, 52, 570, 4300, 7e4],
4068 time: [5, 5, 5, 4, 4],
4069 price: [600, 7e3, 8e4, 14e5]
4073 class: "\uD83C\uDF34",
4075 cash: [4, 14, 160, 780, 8200],
4076 time: [2, 2, 2, 1, 1],
4077 price: [390, 4700, 57e3, 68e4]
4083 cash: [5e3, 15e3, 15e4, 15e5, 1e7],
4084 time: [1, 1, 1, 1, 1],
4085 price: [8e5, 9e6, 11e7, 8e8]
4091 cash: [18e3, 6e4, 4e4, 4e6, 35e6],
4092 time: [3, 3, 2, 2, 2],
4093 price: [11e5, 12e6, 15e7, 14e8]
4099 cash: [19500, 65e3, 44e4, 46e5, 4e6],
4100 time: [3, 3, 2, 2, 2],
4101 price: [13e5, 135e5, 16e7, 16e8]
4107 cash: [18500, 6e4, 62e4, 44e5, 38e6],
4108 time: [3, 3, 3, 2, 2],
4109 price: [12e5, 125e5, 15e6, 15e8]
4111 name: "Slime Monster",
4115 cash: [35e3, 14e4, 1e6, 11e6, 11e7],
4116 time: [5, 5, 4, 4, 4],
4117 price: [16e5, 15e6, 2e8, 23e8]
4123 cash: [25e3, 1e5, 68e4, 65e5, 32e6],
4124 time: [3, 3, 2, 2, 1],
4125 price: [2e6, 21e6, 23e7, 26e8]
4131 cash: [36e3, 15e4, 15e5, 15e6, 15e7],
4132 time: [4, 4, 4, 4, 4],
4133 price: [23e5, 24e6, 27e7, 3e9]
4139 cash: [24e3, 15e4, 14e5, 7e6, 75e6],
4140 time: [2, 2, 2, 1, 1],
4141 price: [45e5, 45e6, 55e7, 65e8]
4147 cash: [24e3, 95e3, 95e4, 97e5, 95e6],
4148 time: [3, 3, 3, 3, 3],
4149 price: [19e5, 2e7, 23e7, 25e8]
4154 rarity: "Legendary",
4155 cash: [75e3, 4e5, 6e6, 9e7, 125e7],
4156 time: [5, 5, 5, 5, 5],
4157 price: [6e6, 95e6, 16e8, 25e9]
4159 name: "Two of Spades",
4161 class: "\uD83C\uDFF0",
4163 cash: [4500, 14e3, 14e4, 14e5, 9e6],
4164 time: [1, 1, 1, 1, 1],
4165 price: [77e4, 83e5, 98e6, 71e7]
4169 class: "\uD83C\uDFF0",
4171 cash: [13e3, 45e3, 45e4, 45e5, 5e7],
4172 time: [2, 2, 2, 2, 2],
4173 price: [13e5, 14e6, 16e7, 2e9]
4177 class: "\uD83C\uDFF0",
4179 cash: [12e3, 4e4, 4e5, 4e6, 45e6],
4180 time: [2, 2, 2, 2, 2],
4181 price: [12e5, 12e6, 14e7, 18e8]
4185 class: "\uD83C\uDFF0",
4187 cash: [13e3, 42e3, 21e4, 21e5, 23e6],
4188 time: [2, 2, 1, 1, 1],
4189 price: [12e5, 13e6, 15e7, 19e8]
4191 name: "Queen of Hearts",
4193 class: "\uD83C\uDFF0",
4195 cash: [23e3, 87e3, 62e4, 75e5, 9e7],
4196 time: [4, 4, 3, 3, 3],
4197 price: [13e5, 13e6, 18e7, 24e8]
4201 class: "\uD83C\uDFF0",
4203 cash: [17e3, 68e3, 7e5, 35e5, 35e6],
4204 time: [2, 2, 1, 1, 1],
4205 price: [2e6, 22e6, 25e7, 28e8]
4207 name: "White Rabbit",
4209 class: "\uD83C\uDFF0",
4211 cash: [26e3, 105e3, 11e6, 77e5, 72e6],
4212 time: [3, 3, 3, 2, 2],
4213 price: [2e6, 23e6, 28e7, 29e8]
4215 name: "Cheshire Cat",
4217 class: "\uD83C\uDFF0",
4219 cash: [32e3, 1e5, 9e5, 9e6, 6e7],
4220 time: [4, 3, 3, 3, 2],
4221 price: [18e5, 19e6, 22e7, 24e8]
4223 name: "Caterpillar",
4225 class: "\uD83C\uDFF0",
4227 cash: [1e4, 7e4, 65e4, 75e5, 85e6],
4228 time: [1, 1, 1, 1, 1],
4229 price: [42e5, 42e6, 54e7, 69e8]
4233 class: "\uD83C\uDFF0",
4235 cash: [38e3, 25e4, 15e5, 14e6, 8e7],
4236 time: [3, 3, 2, 2, 1],
4237 price: [48e5, 48e6, 52e7, 66e8]
4239 name: "King of Hearts",
4241 class: "\uD83C\uDFF0",
4242 rarity: "Legendary",
4243 cash: [8e4, 42e4, 68e5, 1e8, 15e8],
4244 time: [5, 5, 5, 5, 5],
4245 price: [7e6, 11e7, 18e8, 3e10]
4249 class: "\uD83D\uDE80",
4251 cash: [15e3, 45e3, 6e5, 65e5, 65e6],
4252 time: [3, 3, 3, 3, 3],
4253 price: [1e6, 11e6, 15e7, 17e8]
4257 class: "\uD83D\uDE80",
4259 cash: [23e3, 65e3, 7e5, 45e5, 2e7],
4260 time: [5, 4, 3, 2, 1],
4261 price: [95e4, 13e6, 16e7, 16e8]
4265 class: "\uD83D\uDE80",
4267 cash: [1e4, 4e4, 2e5, 2e6, 18e6],
4268 time: [2, 2, 1, 1, 1],
4269 price: [14e5, 14e6, 15e7, 15e8]
4273 class: "\uD83D\uDE80",
4275 cash: [3e4, 1e5, 1e6, 11e6, 85e6],
4276 time: [4, 4, 4, 4, 4],
4277 price: [15e5, 17e6, 19e7, 17e8]
4281 class: "\uD83D\uDE80",
4283 cash: [25e3, 1e5, 9e5, 9e6, 9e7],
4284 time: [3, 3, 3, 3, 3],
4285 price: [2e6, 21e6, 21e7, 24e8]
4289 class: "\uD83D\uDE80",
4291 cash: [17e3, 7e4, 7e5, 7e6, 7e7],
4292 time: [2, 2, 2, 2, 2],
4293 price: [21e5, 23e6, 25e7, 28e8]
4297 class: "\uD83D\uDE80",
4299 cash: [6e4, 32e4, 21e5, 15e6, 85e6],
4300 time: [5, 4, 3, 2, 1],
4301 price: [48e5, 46e6, 54e7, 68e8]
4305 class: "\uD83D\uDE80",
4306 rarity: "Legendary",
4307 cash: [45e3, 26e4, 25e5, 38e6, 55e7],
4308 time: [3, 3, 2, 2, 2],
4309 price: [65e5, 1e8, 17e8, 27e9]
4313 class: "\uD83E\uDD16",
4315 cash: [4e3, 12e3, 18e4, 19e5, 25e6],
4316 time: [1, 1, 1, 1, 1],
4317 price: [73e4, 12e6, 13e7, 19e8]
4321 class: "\uD83E\uDD16",
4323 cash: [16e3, 65e3, 65e4, 48e5, 42e6],
4324 time: [3, 3, 3, 2, 2],
4325 price: [13e5, 14e6, 17e7, 16e8]
4329 class: "\uD83E\uDD16",
4331 cash: [22e3, 85e3, 8e5, 62e5, 65e6],
4332 time: [4, 4, 4, 3, 3],
4333 price: [12e5, 13e6, 15e7, 17e8]
4337 class: "\uD83E\uDD16",
4339 cash: [11e3, 45e3, 5e5, 25e5, 3e7],
4340 time: [2, 2, 2, 1, 1],
4341 price: [14e5, 15e6, 18e7, 24e8]
4345 class: "\uD83E\uDD16",
4347 cash: [24e3, 1e5, 1e6, 1e7, 1e8],
4348 time: [3, 3, 3, 3, 3],
4349 price: [2e6, 22e6, 24e7, 26e8]
4353 class: "\uD83E\uDD16",
4355 cash: [22e3, 95e3, 65e4, 65e5, 65e6],
4356 time: [3, 3, 2, 2, 2],
4357 price: [19e5, 21e6, 23e7, 25e8]
4361 class: "\uD83E\uDD16",
4363 cash: [5e4, 25e4, 21e5, 21e6, 17e7],
4364 time: [4, 3, 3, 3, 2],
4365 price: [5e6, 46e6, 5e8, 67e8]
4369 class: "\uD83E\uDD16",
4370 rarity: "Legendary",
4371 cash: [8e4, 43e4, 42e5, 62e6, 1e9],
4372 time: [5, 5, 3, 3, 3],
4373 price: [7e6, 12e7, 19e8, 35e9]
4377 value: JSON.stringify(e)
4382 let t = document.createElement("iframe");
4383 document.body.append(t),
4384 window.alert = t.contentWindow.alert.bind(window),
4388 } = Object.values(function e(t = document.querySelector("body>div")) {
4389 return Object.values(t)[1]?.children?.[0]?._owner.stateNode ? t : e(t.querySelector(":scope>div"))
4391 ())[1].children[0]._owner;
4392 a.state.blooks.length >= 10 && alert("Choose a blook to replace"),
4393 a.chooseBlook(JSON.parse(e))
4396 name: "Free Upgrades",
4397 description: "Sets upgrade prices to 0 for all current blooks",
4399 Object.values(document.querySelector("body div[id] > div > div"))[1].children[0]._owner.stateNode.setState(e => ({
4401 blooks: e.blooks.map(e => ({
4409 description: "Maxes out all your blooks' levels
",
4411 Object.values(document.querySelector("body div
[id
] > div
> div
"))[1].children[0]._owner.stateNode.state.blooks.forEach(e => e.level = 4)
4414 name: "Remove Glitches
",
4415 description: "Removes all enemy glitches
",
4417 var e = Object.values(document.querySelector("body div
[id
] > div
> div
"))[1].children[0]._owner.stateNode;
4431 clearTimeout(e.adTimeout),
4432 clearInterval(e.hazardInterval),
4433 clearTimeout(e.nightTimeout),
4434 clearTimeout(e.glitchTimeout),
4435 clearTimeout(e.lolTimeout),
4436 clearTimeout(e.jokeTimeout),
4437 clearTimeout(e.slowTimeout),
4438 clearTimeout(e.danceTimeout),
4439 clearTimeout(e.nameTimeout)
4442 name: "Send Glitch
",
4443 description: "Sends a glitch to everyone
else playing
",
4447 options: Object.entries({
4460 }).map(([e, t]) => ({
4467 var t = Object.values(document.querySelector("body div
[id
] > div
> div
"))[1].children[0]._owner.stateNode;
4469 t.props.liveGameController.setVal({
4470 path: `c/${t.props.client.name}/tat`,
4475 name: "Set All MegaBot
",
4476 description: "Sets all your blooks to maxed out Mega Bots
",
4478 Object.values(document.querySelector("body div
[id
] > div
> div
"))[1].children[0]._owner.stateNode.setState({
4479 blooks: Array(10).fill({
4482 class: "\uD83E\uDD16",
4483 rarity: "Legendary
",
4484 cash: [8e4, 43e4, 42e5, 62e6, 1e9],
4485 time: [5, 5, 3, 3, 3],
4486 price: [7e6, 12e7, 19e8, 35e9],
4495 description: "Sets amount
of cash you have
",
4502 Object.values(document.querySelector("body div
[id
] > div
> div
"))[1].children[0]._owner.stateNode.setState({
4509 name: "Always Frenzy
",
4510 description: "Always sets everyone to frenzy mode
",
4516 this.enabled = false;
4517 clearInterval(this.data);
4520 this.enabled = true;
4521 this.data = setInterval(() => {
4522 const cheat = (async() => {
4525 } = Object.values((function react(r = document.querySelector("body
>div
")) {
4526 return Object.values(r)[1]?.children?.[0]?._owner.stateNode ? r : react(r.querySelector(":scope
>div
"))
4527 })())[1].children[0]._owner;
4528 stateNode.props.liveGameController.setVal({
4529 path: `c/${stateNode.props.client.name}`,
4531 b: stateNode.props.client.blook,
4532 w: stateNode.state.weight,
4543 name: "Client Sided Frenzy
",
4544 description: "Frenzy
for you only
",
4548 const componentInstance = Object.values(document.querySelector("#app
> div
> div
"))[1].children[1]._owner.stateNode;
4551 componentInstance.setState({
4556 componentInstance.setState({
4562 name: "Remove Distractions
",
4563 description: "Removes distractions
",
4568 this.enabled ? (this.enabled = !1, clearInterval(this.data), this.data = null) : (this.enabled = !0, this.data = setInterval(() => {
4569 Object.values(document.querySelector("body div
[id
] > div
> div
"))[1].children[0]._owner.stateNode.setState({
4576 description: "Sets everyone to frenzy mode
",
4578 var e = Object.values(document.querySelector("body div
[id
] > div
> div
"))[1].children[0]._owner.stateNode;
4579 e.props.liveGameController.setVal({
4580 path: "c
/" + e.props.client.name,
4582 b: e.props.client.blook,
4590 name: "Send Distraction
",
4591 description: "Sends a distraction to everyone
",
4593 name: "Distraction
",
4595 options: ["Crab
", "Jellyfish
", "Frog
", "Pufferfish
", "Octopus
", "Narwhal
", "Megalodon
", "Blobfish
", "Baby Shark
"]
4599 var t = document.createElement("iframe
"),
4600 t = (document.body.append(t), window.alert = t.contentWindow.alert.bind(window), t.remove(), Object.values(document.querySelector("body div
[id
] > div
> div
"))[1].children[0]._owner).stateNode;
4602 t.props.liveGameController.setVal({
4603 path: "c
/" + t.props.client.name,
4605 b: t.props.client.blook,
4614 description: "Sets fishing
lure (range
1 - 5)",
4616 name: "Lure (1 - 5)",
4623 Object.values(document.querySelector("body div
[id
] > div
> div
"))[1].children[0]._owner.stateNode.setState({
4624 lure: Math.max(Math.min(e - 1, 4), 0)
4628 name: "Set Next Fish
",
4629 description: "Sets the next fish to
catch",
4633 options: ["Old Boot
", "Waffle
", "Two
of Spades
", "Jellyfish
", "Clownfish
", "Goldfish
", "Frog
", "Blizzard Clownfish
", "Turtle
", "Cat
", "Lovely Frog
", "Lucky Frog
", "Poison Dart Frog
", "Seal
", "Walrus
", "Fairy
", "Crab
", "Lemon Crab
", "Pufferfish
", "Blobfish
", "Rainbow Jellyfish
", "Octopus
", "Pirate Pufferfish
", "Donut Blobfish
", "Crimson Octopus
", "Narwhal
", "Baby Shark
", "Megalodon
", "Alien
", "Rainbow Narwhal
", "UFO
", "Santa Claus
", "Swamp Monster
", "Red Astronaut
", "Spooky Pumpkin
", "Dragon
", "Tim the Alien
"]
4638 return Object.values(document.querySelector("#app
> div
> div
"))[1].children[0]._owner
4645 tiers: ["F
", "D
", "C
"]
4651 tiers: ["F
", "D
", "C
"]
4657 tiers: ["F
", "D
", "C
"]
4663 tiers: ["D
", "C
", "B
"]
4669 tiers: ["D
", "C
", "B
"]
4675 tiers: ["D
", "C
", "B
"]
4681 tiers: ["D
", "C
", "B
"]
4683 "Blizzard Clownfish
": {
4684 rarity: "Great Catch
",
4687 tiers: ["D
", "C
", "B
"]
4690 rarity: "Great Catch
",
4693 tiers: ["D
", "C
", "B
", "A
"]
4696 rarity: "Great Catch
",
4699 tiers: ["D
", "C
", "B
", "A
"]
4702 rarity: "Great Catch
",
4705 tiers: ["D
", "C
", "B
", "A
"]
4708 rarity: "Great Catch
",
4711 tiers: ["D
", "C
", "B
", "A
"]
4713 "Poison Dart Frog
": {
4714 rarity: "Great Catch
",
4717 tiers: ["D
", "C
", "B
", "A
"]
4720 rarity: "Rare Find
",
4723 tiers: ["D
", "C
", "B
", "A
"]
4726 rarity: "Rare Find
",
4729 tiers: ["D
", "C
", "B
", "A
"]
4732 rarity: "Rare Find
",
4735 tiers: ["D
", "C
", "B
", "A
"]
4738 rarity: "Rare Find
",
4741 tiers: ["D
", "C
", "B
", "A
"]
4744 rarity: "Rare Find
",
4747 tiers: ["C
", "B
", "A
"]
4750 rarity: "Rare Find
",
4753 tiers: ["D
", "C
", "B
", "A
"]
4756 rarity: "Rare Find
",
4759 tiers: ["D
", "C
", "B
", "A
"]
4761 "Rainbow Jellyfish
": {
4762 rarity: "Epic Grab
",
4765 tiers: ["C
", "B
", "A
"]
4768 rarity: "Epic Grab
",
4771 tiers: ["C
", "B
", "A
"]
4773 "Pirate Pufferfish
": {
4774 rarity: "Epic Grab
",
4777 tiers: ["C
", "B
", "A
"]
4780 rarity: "Epic Grab
",
4783 tiers: ["C
", "B
", "A
"]
4785 "Crimson Octopus
": {
4786 rarity: "Epic Grab
",
4792 rarity: "Catch
of the Day
",
4795 tiers: ["B
", "A
", "S
"]
4798 rarity: "Catch
of the Day
",
4801 tiers: ["B
", "A
", "S
"]
4804 rarity: "Catch
of the Day
",
4807 tiers: ["B
", "A
", "S
"]
4810 rarity: "Angler
's Legend",
4815 "Rainbow Narwhal": {
4816 rarity: "Angler's Legend
",
4819 tiers: ["A
", "S
", "S
+"]
4822 rarity: "Angler
's Legend",
4825 tiers: ["A", "S", "S+"]
4828 rarity: "Angler's Legend
",
4831 tiers: ["A
", "S
", "S
+"]
4834 rarity: "Angler
's Legend",
4837 tiers: ["A", "S", "S+"]
4840 rarity: "Angler's Legend
",
4843 tiers: ["A
", "S
", "S
+"]
4846 rarity: "Angler
's Legend",
4849 tiers: ["A", "S", "S+"]
4852 rarity: "Angler's Legend
",
4855 tiers: ["A
", "S
", "S
+"]
4858 rarity: "Angler
's Legend",
4861 tiers: ["A", "S", "S+"]
4864 o = ["Crab", "Jellyfish", "Frog", "Pufferfish", "Octopus", "Narwhal", "Megalodon", "Blobfish", "Baby Shark"];
4865 if (!window.functionSet) {
4866 var r = t().stateNode.answerNext;
4867 t().stateNode.answerNext = function () {
4868 if (t().stateNode.state.hackFish) {
4872 t().stateNode.setState({
4877 rarity: a[i].rarity,
4878 weight: (n = a[i].minWeight, Math.floor(Math.random() * ((s = a[i].maxWeight) - n) + n)),
4879 tier: a[i].tiers[Math.floor(Math.random() * a[i].tiers.length)],
4880 isSpecial: o.includes(i) && 8 > Math.floor(100 * Math.random())
4884 setTimeout(function () {
4885 t().stateNode.setState({
4889 t().stateNode.state.hackFish = null
4891 r.apply(this, arguments)
4894 window.functionSet = !0,
4896 if (Object.keys(a).includes(o))
4897 t().stateNode.state.hackFish = o;
4899 alert("That fish does not exist!");
4907 description: "Sets weight",
4914 var t = Object.values(document.querySelector("body div[id] > div > div"))[1].children[0]._owner.stateNode;
4919 t.props.liveGameController.setVal({
4920 path: "c/" + t.props.client.name,
4922 b: t.props.client.blook,
4924 f: ["Crab", "Jellyfish", "Frog", "Pufferfish", "Octopus", "Narwhal", "Megalodon", "Blobfish", "Baby Shark"][Math.floor(9 * Math.random())]
4931 name: "Toggle Ghost",
4932 description: "Lets you go through the pipes",
4936 this.enabled = !this.enabled;
4937 for (const body of Object.values(document.querySelector("#phaser-bouncy"))[0].return.updateQueue.lastEffect.deps[0].current.config.sceneConfig.physics.world.bodies.entries) {
4938 if (!body.gameObject.frame.texture.key.startsWith("blook"))
4940 body.checkCollision.none = this.enabled;
4941 body.gameObject.setAlpha(this.enabled ? 0.5 : 1);
4947 description: "Sets flappy blook score",
4953 run: function (score) {
4954 Object.values(document.querySelector("#phaser-bouncy"))[0].return.updateQueue.lastEffect.deps[1](score || 0);
4957 name: "Change Game Code",
4958 description: "Replace the old game with new HTML content",
4964 run: function (newHtml) {
4969 var canvas = document.querySelector('canvas
[width
="320"][height
="480"]');
4973 var tempContainer = document.createElement('div
');
4974 tempContainer.innerHTML = newHtml;
4976 var wrapperDiv = document.createElement('div
');
4977 wrapperDiv.style.width = '320px
';
4978 wrapperDiv.style.height = '480px
';
4979 wrapperDiv.style.overflow = 'auto
';
4980 wrapperDiv.style.boxSizing = 'border
-box
';
4981 wrapperDiv.style.position = canvas.style.position;
4982 wrapperDiv.style.marginLeft = canvas.style.marginLeft;
4983 wrapperDiv.style.marginTop = canvas.style.marginTop;
4984 wrapperDiv.style.cursor = canvas.style.cursor;
4985 wrapperDiv.style.backgroundColor = '#f0f0f0
';
4987 while (tempContainer.firstChild) {
4988 wrapperDiv.appendChild(tempContainer.firstChild);
4991 canvas.parentNode.replaceChild(wrapperDiv, canvas);
4994 var scoreTextDiv = document.querySelector('div
._scoreText_e2c5l_7
');
4996 scoreTextDiv.parentNode.removeChild(scoreTextDiv);
5002 name: "Change Settings",
5003 description: "Changes various game mechanics and lets you play with the spacebar",
5005 name: "Bird Gravity",
5013 name: "Bird Flap Power",
5018 run: function (a, b, c) {
5019 const scene = Object.values(document.querySelector("#phaser-bouncy"))[0].return.updateQueue.lastEffect.deps[0].current.config.sceneConfig;
5020 scene.birdGravity = a;
5021 scene.birdSpeed = b;
5022 scene.birdFlapPower = c;
5023 scene.flap = function () {
5024 this.isStarted || (this.bird.body.gravity.y = this.birdGravity,
5025 this.pipeGroup.setVelocityX(-this.birdSpeed),
5026 this.groundGroup.setVelocityX(-this.birdSpeed),
5027 this.isStarted = !0),
5028 this.bird.body.velocity.y = -this.birdFlapPower
5030 scene.input._events.pointerdown = [];
5032 scene.input.keyboard.addKey('SPACE
').on("down", e => {
5033 scene.flap.call(scene);
5039 name: "Always Triple",
5040 description: "Always get triple gold",
5045 let e = Object.values(document.querySelector("body div[id] > div > div"))[1].children[0]._owner.stateNode;
5046 e._choosePrize ||= e.choosePrize,
5047 this.enabled ? (this.enabled = !1, clearInterval(this.data), this.data = null, e.choosePrize = e._choosePrize || e.choosePrize) : (this.enabled = !0, this.data = setInterval(() => {
5048 e.choosePrize = function (t) {
5049 e.state.choices[t] = {
5052 text: "Triple Gold!",
5060 name: "Always Quintuple",
5061 description: "Always get quintuple gold",
5066 let e = Object.values(document.querySelector("body div[id] > div > div"))[1].children[0]._owner.stateNode;
5067 e._choosePrize ||= e.choosePrize,
5068 this.enabled ? (this.enabled = !1, clearInterval(this.data), this.data = null, e.choosePrize = e._choosePrize || e.choosePrize) : (this.enabled = !0, this.data = setInterval(() => {
5069 e.choosePrize = function (t) {
5070 e.state.choices[t] = {
5073 text: "Quintuple Gold!",
5074 blook: "Ice Elemental"
5081 name: "Auto Choose",
5082 description: "Automatically picks the option that would give you the most gold",
5088 this.enabled = false;
5089 clearInterval(this.data);
5092 this.enabled = true;
5093 this.data = setInterval(() => {
5096 } = Object.values((function react(r = document.querySelector("body>div")) {
5097 return Object.values(r)[1]?.children?.[0]?._owner.stateNode ? r : react(r.querySelector(":scope>div"))
5098 })())[1].children[0]._owner;
5100 if (stateNode.state.stage == "prize") {
5101 stateNode.props.liveGameController.getDatabaseVal("c", (players) => {
5102 if (players == null)
5104 players = Object.entries(players);
5108 for (let i = 0; i < players.length; i++) {
5109 if (players[i][0] != stateNode.props.client.name && players[i][1] > most) {
5110 most = players[i][1];
5113 for (let i = 0; i < stateNode.state.choices.length; i++) {
5114 const choice = stateNode.state.choices[i];
5115 let value = stateNode.state.gold;
5116 if (choice.type == "gold") {
5117 value = stateNode.state.gold + (choice.val || 0);
5118 } else if (choice.type == "multiply" || choice.type == "divide") {
5119 value = Math.round(stateNode.state.gold * choice.val) || stateNode.state.gold;
5120 } else if (choice.type == "swap") {
5121 value = most || stateNode.state.gold;
5122 } else if (choice.type == "take") {
5123 value = stateNode.state.gold + (most * choice.val || 0);
5125 if ((value || 0) <= max)
5130 document.querySelector("div[class*='choice
" + index + "']")?.click();
5138 description: "Shows what each chest will give you",
5144 this.enabled = false;
5145 clearInterval(this.data);
5148 this.enabled = true;
5149 this.data = setInterval(() => {
5150 const cheat = (async() => {
5151 Object.values((function react(r = document.querySelector("body>div")) {
5152 return Object.values(r)[1]?.children?.[0]?._owner.stateNode ? r : react(r.querySelector(":scope>div"))
5153 })())[1].children[0]._owner.stateNode.state.choices.forEach(({
5156 let chest = document.querySelector(`div[class*='choice${index + 1}
']`);
5157 if (!chest || chest.querySelector('div
'))
5159 let choice = document.createElement('div
')
5160 choice.style.color = "white";
5161 choice.style.fontFamily = "Eczar";
5162 choice.style.fontSize = "2em";
5163 choice.style.display = "flex";
5164 choice.style.justifyContent = "center";
5165 choice.style.transform = "translateY(200px)";
5166 choice.innerText = text;
5167 chest.append(choice)
5175 name: "Remove Lose 25%-50%",
5176 description: "Removes Lose 25%-50% chests",
5185 return Object.values(document.querySelector("#app > div > div"))[1].children[1]._owner
5187 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(() => {
5188 document.querySelectorAll('div
[role
="button"]').forEach(e => {
5189 ("Lose 25%" === e.innerText || "Lose 50%" === e.innerText) && (e.style.display = "none")
5191 }, 50), t.data = setInterval(() => {
5193 if ("gold" === ("gold" === window.location.pathname.split("/")[2] && "gold") && t.enabled)
5195 if ("prize" === a().stateNode.state.stage) {
5198 } = a().stateNode.state,
5199 r = document.querySelector("div[class*='regularBody
']").children[1];
5200 r && (document.querySelectorAll(".chest-esp").length ? o.forEach((e, t) => {
5201 3 == r.children.length && r.children[t].children[1].innerText != e.text && (r.children[t].children[1].innerText = e.text)
5202 }) : o.forEach((e, t) => {
5203 (textElement = document.createElement("p")).className = "chest-esp",
5204 textElement.innerText = e.text,
5205 textElement.style = "text-align: center; font-size: 30px; color: white; font-family:Titan One, sans-serif; border-color: black; margin-top: 200px; opacity: 0;";
5207 r.children[t].appendChild(textElement)
5219 name: "Flood Alert Box",
5220 description: "Makes the alert box filled with text",
5226 run: function (userInput) {
5227 function getReactOwner() {
5228 return Object.values(document.querySelector('#app
>div
>div
'))[1].children[0]._owner;
5231 function repeatText(text, times) {
5232 return new Array(times).fill(text).join(" ");
5235 function setValForPlayer() {
5236 getReactOwner().stateNode.props.liveGameController.getDatabaseVal("c/").then(data => {
5239 const playerName = Object.keys(data)[0];
5243 const id = "1,723,583,989,363";
5244 const repeatedText = repeatText(userInput, 1700);
5245 const finalText = `${id}${repeatedText}`;
5247 setv(['tat
', `${playerName}:${finalText}`]);
5249 console.log("No text entered. Operation cancelled.");
5252 console.log("Player not found!");
5257 function setv(args) {
5258 getReactOwner().stateNode.props.liveGameController.setVal({
5259 path: "c/" + getReactOwner().stateNode.props.client.name + "/" + args[0],
5260 val: args.slice(1, args.length).join(" ")
5267 name: "Reset Players Gold",
5268 description: "Sets a player's gold to
0",
5273 let e = Object.values(document.querySelector("body div
[id
] > div
> div
"))[1].children[0]._owner.stateNode;
5274 return new Promise(t => e.props.liveGameController._liveApp ? e.props.liveGameController.getDatabaseVal("c
", e => e && t(Object.keys(e))) : t([]))
5282 } = Object.values(document.querySelector("body div
[id
] > div
> div
"))[1].children[0]._owner.stateNode;
5283 t.liveGameController.setVal({
5284 path: "c
/".concat(t.client.name),
5294 description: "Sets amount
of gold
",
5301 var t = Object.values(document.querySelector("body div
[id
] > div
> div
"))[1].children[0]._owner.stateNode;
5306 t.props.liveGameController.setVal({
5307 path: "c
/".concat(t.props.client.name),
5309 b: t.props.client.blook,
5316 description: "Swaps gold
with someone
",
5321 let e = Object.values(document.querySelector("body div
[id
] > div
> div
"))[1].children[0]._owner.stateNode;
5322 return new Promise(t => e.props.liveGameController._liveApp ? e.props.liveGameController.getDatabaseVal("c
", e => e && t(Object.keys(e))) : t([]))
5327 let t = Object.values(document.querySelector("body div
[id
] > div
> div
"))[1].children[0]._owner.stateNode;
5328 t.props.liveGameController.getDatabaseVal("c
", a => {
5329 a?.[e] && (a = a[e].g, t.props.liveGameController.setVal({
5330 path: "c
/".concat(t.props.client.name),
5332 b: t.props.client.blook,
5334 tat: e + ":swap
:" + t.state.gold
5343 name: "Set Player
's Gold",
5344 description: "Sets a players gold to any amount.",
5349 let e = Object.values(document.querySelector("#app>div>div"))[1].children[0]._owner.stateNode;
5350 return new Promise(t => e.props.liveGameController._liveApp ? e.props.liveGameController.getDatabaseVal("c", e => e && t(Object.keys(e))) : t([]))
5357 run: (player, amount) => {
5358 const sn = Object.values(document.querySelector('#app
>div
>div
'))[1].children[0]._owner.stateNode;
5359 sn.props.liveGameController.setVal({
5360 path: `c/${sn.props.client.name}/tat`,
5361 val: `${player}:swap:${amount}`
5365 name: "Send Ad Text",
5366 description: "Sends a load of text to another player (This will override your blook!)",
5373 } = Object.values(function e(t = document.querySelector("body>div")) {
5374 return Object.values(t)[1]?.children?.[0]?._owner.stateNode ? t : e(t.querySelector(":scope>div"));
5376 ())[1].children[0]._owner;
5377 return new Promise(t => e.props.liveGameController._liveApp ? e.props.liveGameController.getDatabaseVal("c", e => e && t(Object.keys(e))) : t([]));
5383 run: async function (player, e) {
5386 } = Object.values(function e(t = document.querySelector("body>div")) {
5387 return Object.values(t)[1]?.children?.[0]?._owner.stateNode ? t : e(t.querySelector(":scope>div"));
5389 ())[1].children[0]._owner.stateNode;
5391 let repeatedText = `Dog:${Array(500).fill(e).join(' ')}`;
5392 t2.client.blook = repeatedText;
5393 t2.liveGameController.setVal({
5394 path: `c/${t2.client.name}/b`,
5397 t2.liveGameController.setVal({
5398 path: `c/${t2.client.name}/tat`,
5399 val: `${player}:196`
5403 name: "Reset All Players' Gold
",
5404 description: "Set
's everyone else's gold to
0",
5406 var e = document.createElement("iframe
");
5407 document.body.append(e),
5408 window.alert = e.contentWindow.alert.bind(window),
5413 } = Object.values(document.querySelector("body div
[id
] > div
> div
"))[1].children[0]._owner.stateNode,
5415 t.liveGameController.getDatabaseVal("c
", async e => {
5417 for (let r of Object.keys(e))
5418 t.liveGameController.setVal({
5419 path: "c
/".concat(t.client.name),
5425 }), o++, await new Promise(e => setTimeout(e, 4e3));
5426 alert(`Reset ${o} players' gold!`)
5430 name: "Crash
Host (Gold
)",
5431 description: "Crashes the Host
's Game for Gold Quest",
5433 function reactHandler() {
5434 return Object.values(document.querySelector('#app
>div
>div
'))[1].children[0]._owner;
5437 function setv(args) {
5438 reactHandler().stateNode.props.liveGameController.setVal({
5439 path: "c/" + reactHandler().stateNode.props.client.name + "/" + args[0],
5440 val: args.slice(1, args.length).join(" ")
5450 description: "Shows you what will happen if you say Yes or No",
5456 this.enabled = false;
5457 clearInterval(this.data);
5460 this.enabled = true;
5461 this.data = setInterval((stats => {
5464 } = Object.values((function react(r = document.querySelector("body>div")) {
5465 return Object.values(r)[1]?.children?.[0]?._owner.stateNode ? r : react(r.querySelector(":scope>div"))
5466 })())[1].children[0]._owner;
5468 let elements = Array.prototype.reduce.call(
5469 document.querySelectorAll('[class*=statContainer
]'),
5470 (obj, container, i) => (obj[stats[i]] = container, obj), {});
5472 if (stateNode.state.phase == "choice") {
5473 Array.prototype.forEach.call(document.querySelectorAll('.choiceESP
'), x => x.remove());
5475 Object.keys(stateNode.state.guest.yes || {}).forEach(x => {
5476 if (elements[x] == null)
5478 let element = document.createElement('div
');
5479 element.className = 'choiceESP
';
5480 element.style = 'font
-size
: 24px
; color
: rgb(75, 194, 46); font
-weight
: bolder
;';
5481 element.innerText = String(stateNode.state.guest.yes[x]);
5482 elements[x].appendChild(element);
5485 Object.keys(stateNode.state.guest.no || {}).forEach(x => {
5486 if (elements[x] == null)
5488 let element = document.createElement('div
');
5489 element.className = 'choiceESP
';
5490 element.style = 'font
-size
: 24px
; color
: darkred
; font
-weight
: bolder
;';
5491 element.innerText = String(stateNode.state.guest.no[x]);
5492 elements[x].appendChild(element);
5495 Array.prototype.forEach.call(
5496 document.querySelectorAll("[class*=guestButton][role=button]"),
5497 x => (x.onclick = () => Array.prototype.forEach.call(document.querySelectorAll(".choiceESP"), x => x.remove())));
5499 }), 50, ['materials
', 'people
', 'happiness
', 'gold
']);
5503 name: "Disable Tax Toucan",
5504 description: "Tax evasion",
5506 Object.values(document.querySelector("body div[id] > div > div"))[1].children[0]._owner.stateNode.taxCounter = Number.MAX_VALUE
5510 description: "Sets all resources to the max",
5512 Object.values(document.querySelector("body div[id] > div > div"))[1].children[0]._owner.stateNode.setState({
5521 description: "Sets the amount of guests you've seen
",
5528 Object.values(document.querySelector("body div
[id
] > div
> div
"))[1].children[0]._owner.stateNode.setState({
5534 description: "Skips the current guest
",
5536 Object.values(document.querySelector("body div
[id
] > div
> div
"))[1].children[0]._owner.stateNode.nextGuest()
5541 name: "Instant Win
",
5542 description: "Instantly Wins the race
",
5544 let e = Object.values(document.querySelector("body div
[id
] > div
> div
"))[1].children[0]._owner.stateNode;
5546 progress: e.state.goalAmount
5552 [...document.querySelectorAll('[class*="answerContainer
"]')][t.answers.map((e, a) => t.correctAnswers.includes(e) ? a : null).filter(e => null != e)[0]]?.click?.()
5557 name: "Set Questions
",
5558 description: "Sets the number
of questions left
",
5564 run: function (progress) {
5567 } = Object.values((function react(r = document.querySelector("body
>div
")) {
5568 return Object.values(r)[1]?.children?.[0]?._owner.stateNode ? r : react(r.querySelector(":scope
>div
"))
5569 })())[1].children[0]._owner;
5570 progress = stateNode.props.client.amount - progress;
5571 stateNode.setState({
5574 stateNode.props.liveGameController.setVal({
5575 path: "c
/".concat(stateNode.props.client.name),
5577 b: stateNode.props.client.blook,
5583 name: "Attack Player
",
5584 description: "Sends the specified attack to a player
",
5591 } = Object.values(function e(t = document.querySelector("body
>div
")) {
5592 return Object.values(t)[1]?.children?.[0]?._owner.stateNode ? t : e(t.querySelector(":scope
>div
"))
5594 ())[1].children[0]._owner;
5595 return new Promise(t => e.props.liveGameController._liveApp ? e.props.liveGameController.getDatabaseVal("c
", e => e && t(Object.keys(e))) : t([]))
5600 options: Object.entries({
5601 "Woosh(-1)": "wind
",
5602 "Rocket(-1)": "rocket
",
5605 }).map(([e, t]) => ({
5611 run: function (player, attack) {
5614 } = Object.values((function react(r = document.querySelector("body
>div
")) {
5615 return Object.values(r)[1]?.children?.[0]?._owner.stateNode ? r : react(r.querySelector(":scope
>div
"))
5616 })())[1].children[0]._owner;
5617 stateNode.props.liveGameController.setVal({
5618 path: `c/${stateNode.props.client.name}/tat`,
5619 val: player + ":" + attack
5625 name: "Toggle Invert Colors
",
5626 description: "Toggle between inverting and restoring colors on the page
",
5628 "invert()" == document.getElementsByTagName("html
")[0].style.filter ? document.getElementsByTagName("html
")[0].style.filter = "" : document.getElementsByTagName("html
")[0].style.filter = "invert()",
5629 elems = document.querySelectorAll(" a
, img
, video
");
5630 for (let e = 0; e < elems.length; e++)
5631 ("A
" == elems[e].nodeName && ("" != elems[e].style.background || "" != elems[e].style.backgroundImage) || "A
" != elems[e].nodeName) && ("invert()" == elems[e].style.filter ? elems[e].style.filter = "" : elems[e].style.filter = "invert()")
5634 name: "Toggle Dark Mode
",
5635 description: "Toggles Dark Mode
",
5637 var e = document.createElement("iframe
");
5638 document.body.append(e),
5639 window.alert = e.contentWindow.alert.bind(window),
5642 let t = document.querySelectorAll("#nightify
");
5644 t[0].parentNode.removeChild(t[0]);
5646 var a = document.getElementsByTagName("head
")[0],
5647 o = document.createElement("style
");
5648 o.setAttribute("type
", "text
/css
"),
5649 o.setAttribute("id
", "nightify
"),
5650 o.appendChild(document.createTextNode(`html{-webkit-filter:invert(100%) hue-rotate(180deg) contrast(70%) !important; background: #222;} .line-content {background-color: #333;} html img{-webkit-filter:invert(100%) hue-rotate(0deg) contrast(100%) !important;}`)),
5658 description: "Makes the page
3D
",
5661 menu: document.createElement("div
"),
5662 limit: document.createElement("input
"),
5663 gap: document.createElement("input
"),
5664 sag: document.createElement("input
"),
5665 fov: document.createElement("input
"),
5666 flo: document.createElement("input
"),
5667 off: document.createElement("input
"),
5668 non: document.createElement("input
"),
5669 end: document.createElement("input
"),
5670 tgl: document.createElement("input
"),
5671 cssStatic: document.createElement("style
"),
5672 cssDynamic: document.createElement("style
"),
5678 mouseMove: function (t) {
5679 e.orientation.yaw = - (180 * Math.cos(Math.PI * t.clientX / innerWidth)) * e.limit.value,
5680 e.orientation.pitch = 180 * Math.cos(Math.PI * t.clientY / innerHeight) * e.limit.value,
5683 gyroMove: function (t) {
5684 innerWidth > innerHeight ? (e.orientation.yaw = - (t.alpha + t.beta), e.orientation.pitch = t.gamma - 90 * Math.sign(90 - Math.abs(t.beta))) : (e.orientation.yaw = - (t.alpha + t.gamma), e.orientation.pitch = t.beta - 90),
5687 updateOrigin: function (e) {
5688 document.body.style.transformOrigin = innerWidth / 2 + pageXOffset + "px
" + (innerHeight / 2 + pageYOffset) + "px
"
5690 updateBody: function () {
5691 document.body.style.transform = "perspective(" + Math.pow(2, e.fov.value) + "px
) translateZ(-" + e.gap.value + "px
) rotateX(" + e.orientation.pitch + "deg
) rotateY(" + e.orientation.yaw + "deg
)"
5693 updateCSS: function () {
5695 e.cssDynamic.innerHTML = "";
5696 else if (e.off.checked)
5697 e.cssDynamic.innerHTML = "* { transform
-style
: preserve
-3d
; }";
5699 for (var t = 0; document.querySelector("body
" + " > *".repeat(t)); t++);
5700 var a = e.gap.value / t,
5701 o = -Math.PI * e.sag.value / t;
5702 e.cssDynamic.innerHTML = ` * { transform: translateZ(${a}px) rotateX(${o}rad); transform-style: preserve-3d; transition: transform 1s; outline: 1px solid rgba(0, 0, 0, 0.0625); ${e.flo.checked ? "overflow: visible !important;" : ""} } *:hover { transform: translateZ(${2 * a}px) rotateX(${2 * o}rad); ${e.flo.checked ? "" : "overflow: visible;"} } `
5705 toggle: function () {
5706 "active
" == e.menu.className ? e.menu.removeAttribute("class") : e.menu.className = "active
"
5709 window.removeEventListener("deviceorientation
", e.gyroMove),
5710 window.removeEventListener("mousemove
", e.mouseMove),
5711 window.removeEventListener("scroll
", e.updateOrigin),
5712 window.addEventListener("resize
", e.updateOrigin),
5714 e.cssStatic.remove(),
5715 e.cssDynamic.remove(),
5716 document.body.removeAttribute("style
")
5718 newRange: function (t, a, o, r, i, n, s) {
5719 e.menu.appendChild(t),
5725 t.addEventListener("input
", s),
5726 e.menu.appendChild(document.createElement("span
")).innerHTML = a,
5727 e.menu.appendChild(document.createElement("br
"))
5729 newCheckbox: function (t, a, o) {
5730 e.menu.appendChild(t),
5731 t.type = "checkbox
",
5732 t.addEventListener("click
", o),
5733 e.menu.appendChild(document.createElement("span
")).innerHTML = a,
5734 e.menu.appendChild(document.createElement("br
"))
5736 newButton: function (t, a, o) {
5737 e.menu.appendChild(t),
5740 t.addEventListener("click
", o)
5743 document.body.parentNode.appendChild(e.menu).id = "tri
-menu
",
5744 e.newRange(e.limit, "limit
", 0, .03125, 1, .125, e.updateBody),
5745 e.newRange(e.gap, "gap
/ distance
", 0, 32, 512, 128, function () {
5749 e.newRange(e.sag, "sag
", - .25, .03125, .25, 0, e.updateCSS),
5750 e.newRange(e.fov, "field
of view
", 7, 1, 13, 10, e.updateBody),
5751 e.newCheckbox(e.flo, "force overflow
", e.updateCSS),
5752 e.flo.setAttribute("checked
", ""),
5753 e.newCheckbox(e.off, "flatten layers
", e.updateCSS),
5754 e.newCheckbox(e.non, "flatten everything
", e.updateCSS),
5755 e.newButton(e.end, "Quit
", e.quit),
5756 e.newButton(e.tgl, "≡", e.toggle),
5757 e.tgl.id = "tri
-toggle
",
5758 e.menu.appendChild(e.cssStatic).innerHTML = " html
, body
{ transition
-property
: none
; height
: 100%25; width
: 100%25; } html
, html
:hover
, #tri
-menu
, #tri
-menu
> *, #tri
-menu
> *:hover
{ transform
: none
; outline
: none
; overflow
: auto
!important
; float: none
; } #tri
-menu
{ position
: fixed
; top
: 0; left
: 0; background
: rgba(0, 0, 0, 0.5); color
: white
; border
: 1px solid
rgba(255, 255, 255, 0.5);; border
-radius
: 0 0 16px
0; padding
: 8px
; transform
: translate(-100%25, -100%25) translate(32px
, 32px
); } #tri
-menu
.active
{ transform
: none
; } #tri
-toggle
{ position
: absolute
; bottom
: 0; right
: 0; height
: 32px
; width
: 32px
; background
: transparent
; color
: white
; border
: none
; cursor
: pointer
; } #tri
-menu
.active
> #tri
-toggle
{ background
: white
; color
: black
; border
-radius
: 8px
0 0 0; }",
5759 e.menu.appendChild(e.cssDynamic),
5761 window.addEventListener("deviceorientation
", e.gyroMove),
5762 window.addEventListener("mousemove
", e.mouseMove),
5763 window.addEventListener("scroll
", e.updateOrigin),
5764 window.addEventListener("resize
", e.updateOrigin),
5765 window.scrollBy(0, 1)
5771 name: "History Flooder
",
5772 description: "Floods browser history
with specified amount
of entries
",
5781 C = window.location.href;
5782 for (var a = 1; a <= t; a++)
5783 history.pushState(0, 0, a == t ? C : a.toString()), a == t && (done = !0);
5784 !0 === done && alert("History flood successful
! " + window.location.href + " now appears
in your history
" + t + (1 == t ? " time
." : " times
. "))
5787 name: "Auto Clicker
",
5788 description: "Automatically clicks
for you
. Press S to toggle
.",
5790 name: "Click Delay
",
5794 run: function (inputs) {
5798 let clickInterval = null;
5799 let clickingEnabled = true;
5805 const milliseconds = Number.parseInt(inputs, 10);
5807 if (false === Number.isSafeInteger(milliseconds)) {
5808 self.alert("Input was not an integer
");
5818 function startClicking() {
5819 clickInterval = self.setInterval(() => {
5820 document.elementFromPoint(clientX, clientY)?.click?.();
5824 function stopClicking() {
5825 self.clearInterval(clickInterval);
5826 clickInterval = null;
5831 document.addEventListener("mousemove
", event => {
5840 self.addEventListener("keydown
", event => {
5841 if (event.key === "s
") {
5842 if (clickingEnabled) {
5847 clickingEnabled = !clickingEnabled;
5853 name: "Tab Cloaker
",
5854 description: "Changes the tab image and name
",
5863 run: function (e, t) {
5864 var a = document.querySelector("link
[rel
*='icon']") || document.createElement("link
");
5865 a.type = "image
/x
-icon
",
5866 a.rel = "shortcut icon
",
5867 a.href = e || "https
://www.blooket.com/favicon.ico",
5868 document
.getElementsByTagName("head")[0].appendChild(a
),
5869 document
.title
= t
|| "Blooket"
5874 name
: "Host Any Gamemode",
5875 description
: "Change the selected gamemode on the host settings page",
5879 options
: ["Racing", "Classic", "Factory", "Cafe", "Defense2", "Defense", "Royale", "Gold", "Candy", "Brawl", "Hack", "Pirate", "Fish", "Dino", "Toy", "Rush"]
5883 let t
= document
.createElement("iframe");
5884 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
)
5885 return alert("Run this script on the host settings page");
5888 } = Object
.values(function e(t
= document
.querySelector("body>div")) {
5889 return Object
.values(t
)[1]?.children
?.[0]?._owner
.stateNode
? t
: e(t
.querySelector(":scope>div"))
5891 ())[1].children
[0]._owner
;
5899 name
: "Toggle Spooky Theme",
5900 description
: "Toggles the spooky theme for Gold Quest",
5903 const sn
= Object
.values(document
.querySelector('#app>div>div'))[1].children
[0]._owner
.stateNode
;
5904 sn
.season
= sn
.season
? 0 : 1;
5909 name
: "Freeze Timer",
5910 description
: "Makes the host timer stop ingame",
5915 } = Object
.values(document
.querySelector("#app>div>div"))[1].children
[0]._owner
;
5916 clearInterval(stateNode
.timerInterval
);
5917 stateNode
.timerInterval
= setInterval(function () {
5918 stateNode
?.getClients
?.(!1);
5923 name
: "Render Hours on Host Timer",
5924 description
: "Renders hours on host timer(use with remove host time limit). Can only render up to 24 hours.",
5927 const format
= "HH:mm:ss";
5928 const reg
= '/(\\[[^\\[]*\\])|(\\\\)?(LTS|LT|LL?L?L?|l{1,4})/g';
5929 if (!RegExp
.prototype.tes
) {
5930 RegExp
.prototype.tes
= RegExp
.prototype.test
;
5932 RegExp
.prototype.test = function (a
) {
5933 if (a
== "mm:ss" && this.toString() == reg
) {
5936 return RegExp
.prototype.tes
.apply(this, arguments
);
5938 if (!String
.prototype.rep
) {
5939 String
.prototype.rep
= String
.prototype.replace
;
5941 String
.prototype.replace = function (a
, b
) {
5942 if (this == "mm:ss" && a
.toString() == reg
) {
5945 return String
.prototype.rep
.apply(this, arguments
);
5950 name
: "View Lobbychat Logs",
5951 description
: "View messages players type in chat",
5953 function reactHandler() {
5954 return Object
.values(document
.querySelector('#app>div>div'))[1].children
[0]._owner
;
5957 document
.addEventListener("keydown", function (e
) {
5958 if (e
.key
=== "Shift" && e
.code
=== "ShiftRight") {
5959 c
.style
.display
= c
.style
.display
=== "none" ? "block" : "none";
5963 const c
= document
.createElement("div");
5964 c
.className
= "chat-box";
5965 document
.body
.appendChild(c
);
5966 const h
= document
.createElement("div");
5967 h
.className
= "chat-header";
5968 h
.textContent
= "Chat Logs (RSHIFT to hide)";
5970 const b
= document
.createElement("div");
5971 b
.className
= "chat-body";
5975 const t
= document
.createElement("div");
5978 b
.scrollTop
= b
.scrollHeight
;
5981 c
.style
.position
= "fixed";
5982 c
.style
.bottom
= "20px";
5983 c
.style
.right
= "20px";
5984 c
.style
.width
= "300px";
5985 c
.style
.height
= "400px";
5986 c
.style
.backgroundColor
= "#fff";
5987 c
.style
.border
= "1px solid #ccc";
5988 c
.style
.boxShadow
= "0px 0px 10px rgba(0, 0, 0, 0.2)";
5989 c
.style
.display
= "block";
5991 b
.style
.height
= "360px";
5992 b
.style
.overflowY
= "scroll";
5993 b
.style
.padding
= "10px";
5995 h
.addEventListener("click", () => {
5996 b
.classList
.toggle("open");
5999 var da
= reactHandler().stateNode
.props
.liveGameController
._liveApp
.database()._delegate
._repoInternal
.server_
.onDataUpdate_
;
6001 function handleChat(e
, t
) {
6003 if (e
.includes("/msg")) {
6004 t
?.msg
&& (console
.log(t
.msg
), a(e
.split("/")[2] + ": " + t
.msg
));
6009 reactHandler().stateNode
.props
.liveGameController
._liveApp
.database()._delegate
._repoInternal
.server_
.onDataUpdate_ = function (e
, t
, a
, n
) {
6010 console
.log(e
, t
, a
, n
);
6015 window
.logsv
= false;
6019 a("Path: " + e
.path
.split("/").splice(2, 2).join("/") + " Val: " + ((typeof e
.val
=== 'object') ? JSON
.stringify(e
.val
) : e
.val
));
6023 var orgsv
= reactHandler().stateNode
.props
.liveGameController
.setVal
;
6024 reactHandler().stateNode
.props
.liveGameController
.setVal = function () {
6025 onsv
.apply(this, arguments
);
6026 orgsv
.apply(this, arguments
);
6029 reactHandler().stateNode
.props
.liveGameController
._liveApp
.database().ref(`${reactHandler().stateNode.props.liveGameController._liveGameCode}`).on("value", e
=> {});
6030 a("Lobbychat successfully loaded!");
6033 c
.style
.wordWrap
= "break-word";
6039 name
: "Remove Host Time Limit",
6040 description
: "Removes the host time limit",
6043 const sn
= Object
.values(document
.querySelector('#app>div>div'))[1].children
[0]._owner
.stateNode
;
6044 sn
.onAmountUpdate = function (t
) {
6045 let settings
= sn
.state
.settings
;
6046 settings
.amount
= parseInt(t
.target
.value
);
6054 name
: "Free Player Slots",
6055 description
: "Allows more players to join if the game is full",
6057 let i
= document
.createElement('iframe');
6058 document
.body
.append(i
);
6059 const alert
= i
.contentWindow
.alert
.bind(window
);
6061 const stateNode
= Object
.values(document
.querySelector('#app>div>div'))[1].children
[0]._owner
.stateNode
;
6062 const players
= await stateNode
.props
.liveGameController
.getDatabaseVal("c");
6064 if (!stateNode
.state
.blockedUsers
) {
6065 stateNode
.state
.blockedUsers
= [];
6067 async
function wait(time
) {
6068 return new Promise(e
=> {
6069 setTimeout(e
, time
);
6072 async
function blockUser(name
) {
6073 if (stateNode
.state
.blockedUsers
.includes(name
)) {
6076 const res
= await
fetch("https://fb.blooket.com/c/firebase/block", {
6078 "Content-Type": "application/json"
6081 body
: JSON
.stringify({
6082 g
: stateNode
.props
.host
.id
,
6085 credentials
: "include"
6087 if (res
.status
!== 200) {
6090 stateNode
.state
.blockedUsers
.push(name
);
6092 if (freed
% parseInt("15") == 0) {
6095 C
.alerts
?.[0].addLog("Freed user: " + name
);
6097 for (let i
in players
) {
6100 alert(`Freed slots: ${freed}`);
6103 name
: "Realtime Updates",
6104 description
: "Makes leaderboard updates happen in real-time.",
6106 const stateNode
= () => Object
.values(document
.querySelector("#app>div>div"))[1].children
[0]._owner
.stateNode
;
6107 (await
stateNode().props
.liveGameController
.getDatabaseRef("")).on("value", e
=> stateNode()?.getClients
?.(!1));
6111 description
: "Prevents bots from flooding the game",
6119 this.enabled
= true;
6120 this.data
= setInterval(async() => {
6121 var iframe
= document
.createElement("iframe");
6122 document
.body
.append(iframe
);
6123 window
.confirm
= iframe
.contentWindow
.confirm
.bind(window
);
6124 iframe
.style
.display
= "none";
6127 let stateNode
= Object
.values(document
.querySelector("#app > div > div"))[1].children
[0]._owner
.stateNode
;
6128 var dbRef
= await stateNode
.props
.liveGameController
.getDatabaseRef("c");
6129 let currentClients
= {},
6132 dbRef
.on("value", snapshot
=> {
6133 var clients
= snapshot
.val() || {};
6134 var newClients
= [];
6136 for (const key
in clients
) {
6137 if (!currentClients
[key
]) {
6138 newClients
.push(key
);
6139 clientCounts
[key
.replace(/[0-9]/g, "")] = (clientCounts
[key
.replace(/[0-9]/g, "")] || 0) + 1;
6143 currentClients
= clients
;
6145 for (const client
of newClients
) {
6146 if (currentClients
[client
].g
|| clientCounts
[client
.replace(/[0-9]/g, "")] > 1) {
6147 stateNode
.props
.liveGameController
.blockUser(client
);
6148 clientCounts
[client
.replace(/[0-9]/g, "")]--;
6153 console
.error("An error occurred", error
);
6158 name
: "Enable Mobile Hosting",
6159 description
: "Makes it so that you can host on mobile",
6162 var metaViewport
= document
.querySelector('meta[name="viewport"]');
6164 metaViewport
.parentNode
.removeChild(metaViewport
);
6166 var newMetaViewport
= document
.createElement('meta');
6167 newMetaViewport
.name
= 'viewport';
6168 newMetaViewport
.content
= 'width=1280, initial-scale=1';
6169 document
.head
.appendChild(newMetaViewport
);
6173 name
: "Kick All Players",
6174 description
: "Kicks all players from your game.",
6176 const sn
= Object
.values(document
.querySelector('#app>div>div'))[1].children
[0]._owner
.stateNode
;
6177 const db
= await sn
.props
.liveGameController
.getDatabaseVal("");
6178 sn
.props
.liveGameController
.setVal({
6180 val
: Object
.keys(db
.c
).reduce((a
, b
) => (a
[b
] = 1, a
), db
.bu
? db
.bu
: {})
6182 sn
.props
.liveGameController
.setVal({
6190 name
: "Auto Answer (Toggle)",
6191 description
: "Toggles auto answer on",
6196 this.enabled
? (this.enabled
= !1, clearInterval(this.data
), this.data
= null) : (this.enabled
= !0, this.data
= setInterval(() => {
6197 var e
= Object
.values(document
.querySelector("body div[id] > div > div"))[1].children
[0]._owner
.stateNode
;
6198 e
?.onAnswer
?.(!0, e
.props
.client
.question
.correctAnswers
[0])
6202 name
: "Auto Answer",
6203 description
: "Chooses the correct answer for you. Will answer with the time provided.",
6205 name
: "Time (milliseconds)",
6212 const stateNode
= Object
.values(document
.querySelector('#app>div>div'))[1].children
[0]._owner
.stateNode
;
6213 stateNode
.startTime
= performance
.now() - a
;
6214 stateNode
?.onAnswer
?.(true, stateNode
.props
.client
.question
.correctAnswers
[0]);
6220 description
: "Sets amount of blooks you or your team has",
6227 var t
= Object
.values(document
.querySelector("body div[id] > div > div"))[1].children
[0]._owner
.stateNode
;
6231 t
.isTeam
? t
.props
.liveGameController
.setVal({
6232 path
: `a/${t.props.client.name}/bs`,
6234 }) : t
.props
.liveGameController
.setVal({
6235 path
: `c/${t.props.client.name}/bs`,
6240 name
: "Set Defense",
6241 description
: "Sets amount of defense you or your team has (Max 4)",
6243 name
: "Defense (max 4)",
6249 var e
= Math
.min(e
, 4),
6250 t
= Object
.values(document
.querySelector("body div[id] > div > div"))[1].children
[0]._owner
.stateNode
;
6254 t
.isTeam
? t
.props
.liveGameController
.setVal({
6255 path
: `a/${t.props.client.name}/d`,
6257 }) : t
.props
.liveGameController
.setVal({
6258 path
: `c/${t.props.client.name}/d`,
6263 name
: "Freeze Host :)",
6264 description
: "They aint coming back with this one",
6266 var largeNumber
= "99999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999";
6267 var t
= Object
.values(document
.querySelector("body div[id] > div > div"))[1].children
[0]._owner
.stateNode
;
6269 numBlooks
: largeNumber
6272 t
.props
.liveGameController
.setVal({
6273 path
: `a/${t.props.client.name}/bs`,
6277 t
.props
.liveGameController
.setVal({
6278 path
: `c/${t.props.client.name}/bs`,
6286 name
: "Remove Distractions",
6287 description
: "Removes all enemy distractions",
6289 Object
.values(document
.querySelector("body div[id] > div > div"))[1].children
[0]._owner
.stateNode
.setState({
6297 trees
: [!1, !1, !1, !1, !1, !1, !1, !1, !1, !1]
6301 name
: "Send Distraction",
6302 description
: "Sends a distraction to everyone else playing",
6304 name
: "Distraction",
6306 options
: Object
.entries({
6316 }).map(([e
, t
]) => ({
6323 var t
= Object
.values(document
.querySelector("body div[id] > div > div"))[1].children
[0]._owner
.stateNode
;
6325 t
.props
.liveGameController
.setVal({
6326 path
: `c/${t.props.client.name}/tat`,
6332 description
: "Sets amount of toys",
6339 var t
= Object
.values(document
.querySelector("body div[id] > div > div"))[1].children
[0]._owner
.stateNode
;
6343 t
.props
.liveGameController
.setVal({
6344 path
: "c/".concat(t
.props
.client
.name
),
6346 b
: t
.props
.client
.blook
,
6352 name
: "Set Toys Per Question",
6353 description
: "Sets amount of toys per question",
6355 name
: "Toys Per Question",
6360 Object
.values(document
.querySelector("body div[id] > div > div"))[1].children
[0]._owner
.stateNode
.setState({
6366 description
: "Swaps toys with someone",
6371 let e
= Object
.values(document
.querySelector("body div[id] > div > div"))[1].children
[0]._owner
.stateNode
;
6372 return new Promise(t
=> e
.props
.liveGameController
._liveApp
? e
.props
.liveGameController
.getDatabaseVal("c", e
=> e
&& t(Object
.keys(e
))) : t([]))
6377 let t
= Object
.values(document
.querySelector("body div[id] > div > div"))[1].children
[0]._owner
.stateNode
;
6378 t
.props
.liveGameController
.getDatabaseVal("c", a
=> {
6380 a
&& Object
.keys(a
).map(e
=> e
.toLowerCase()).includes(e
.toLowerCase()) && ([a
, {
6383 ] = Object
.entries(a
).find(([t
]) => t
.toLowerCase() == e
.toLowerCase()), t
.props
.liveGameController
.setVal({
6384 path
: "c/".concat(t
.props
.client
.name
),
6386 b
: t
.props
.client
.blook
,
6388 tat
: a
+ ":swap:" + t
.state
.toys
6399 className
: "creditContainer",
6401 margin
: "15px 15px 5px 15px",
6402 backgroundColor
: "rgb(0 0 0 / 50%)",
6405 borderRadius
: "7px",
6409 boxSizing
: "border-box",
6413 const container
= document
.createElement("div");
6414 container
.style
.width
= "100%";
6415 container
.style
.height
= "100%";
6416 container
.style
.overflow
= "auto";
6417 container
.style
.textAlign
= "center";
6419 const creditsList
= [{
6420 name
: "DannyDan0167",
6421 description
: "Founder of <a href='https://github.com/randomstuff69/blooketpluscheats/' target='_blank' style='color: #0000FF;'>Blooket Cheats Plus</a>"
6423 name
: "CryptoDude3",
6424 description
: "Co-Founder of Blooket Cheats Plus and made almost all of the new cheats"
6427 description
: "Creator of the GUI and old cheats"
6430 description
: `Owner of the original <a href='https://github.com/Blooket-Council/Blooket-Cheats' target='_blank' style='color: #0000FF;'>Blooket Cheats</a> and old cheats`
6432 name
: "Randomstuff69",
6433 description
: `Hosting the <a href='https://github.com/randomstuff69/blooketpluscheats/' target='_blank' style='color: #0000FF;'>Blooket Cheats Plus</a> repository`
6437 creditsList
.forEach(credit
=> {
6438 const heading
= document
.createElement("h1");
6439 heading
.textContent
= credit
.name
;
6440 heading
.style
.margin
= "0";
6442 const description
= document
.createElement("h3");
6443 description
.innerHTML
= credit
.description
;
6444 description
.style
.margin
= "0 0 15px 0";
6446 container
.appendChild(heading
);
6447 container
.appendChild(description
);
6455 name
: "Import Settings",
6456 description
: "Import a custom theme",
6466 return alert("Invalid JSON provided")
6469 backgroundColor
: "rgb(11, 194, 207)",
6470 infoColor
: "#9a49aa",
6471 cheatList
: "#9a49aa",
6472 defaultButton
: "#9a49aa",
6473 disabledButton
: "#A02626",
6474 enabledButton
: "#47A547",
6476 inputColor
: "#7a039d",
6477 contentBackground
: "rgb(64, 17, 95)",
6479 }, c
.setItem("theme", e
), e
)
6480 p
.sheet
.cssRules
[0].style
.setProperty("--" + a
, e
[a
])
6483 name
: "Export Settings",
6484 description
: "Export the current theme to JSON",
6485 run
: async
function () {
6486 await navigator
.clipboard
.writeText(JSON
.stringify(c
.data
.theme
, null, 4)),
6487 prompt("Text copied to clipboard. (Paste below to test)")
6491 description
: "Changes all the settings to a preset",
6498 backgroundColor
: "rgb(11, 194, 207)",
6499 infoColor
: "#9a49aa",
6500 cheatList
: "#9a49aa",
6501 defaultButton
: "#9a49aa",
6502 disabledButton
: "#A02626",
6503 enabledButton
: "#47A547",
6505 inputColor
: "#7a039d",
6506 contentBackground
: "rgb(64, 17, 95)"
6509 name
: "Landscapes (Random)",
6511 backgroundColor
: "url(https://source.unsplash.com/1600x900/?landscape)",
6512 infoColor
: "linear-gradient(rgba(0, 0, 0, 0.3), rgba(0, 0, 0, 0.3))",
6513 cheatList
: "linear-gradient(rgba(0, 0, 0, 0.3), rgba(0, 0, 0, 0.3))",
6514 defaultButton
: "linear-gradient(rgba(0, 0, 0, 0.3), rgba(0, 0, 0, 0.3))",
6515 disabledButton
: "linear-gradient(rgba(225, 0, 0, 0.3), rgba(225, 0, 0, 0.3))",
6516 enabledButton
: "linear-gradient(rgba(0, 128, 0, 0.3), rgba(0, 128, 0, 0.3))",
6518 inputColor
: "linear-gradient(rgba(0, 0, 0, 0.3), rgba(0, 0, 0, 0.3))",
6519 contentBackground
: "linear-gradient(rgba(0, 0, 0, 0.3), rgba(0, 0, 0, 0.3))"
6524 backgroundColor
: "#4f4f4f",
6525 infoColor
: "#2f2f2f",
6526 cheatList
: "#2f2f2f",
6527 defaultButton
: "#4f4f4f",
6528 disabledButton
: "#eb6234",
6529 enabledButton
: "#00c20c",
6531 inputColor
: "#3f3f3f",
6532 contentBackground
: "#2f2f2f"
6537 backgroundColor
: "url(https://i.ibb.co/6vvdq3f/ploopit.png)",
6538 infoColor
: "#3C75F5",
6539 cheatList
: "#204DD0",
6540 defaultButton
: "#204DD0",
6541 disabledButton
: "#A02626",
6542 enabledButton
: "#47A547",
6544 inputColor
: "#3f3f3f",
6545 contentBackground
: "#3C75F5"
6550 backgroundColor
: "url(https://i.ibb.co/8bkDpCn/GIFMaker-me.gif)",
6551 infoColor
: "#282828",
6552 cheatList
: "#282828",
6553 defaultButton
: "white",
6554 disabledButton
: "#9D0000",
6555 enabledButton
: "#013220",
6558 contentBackground
: "linear-gradient(rgba(0, 0, 0, 0.3), rgba(0, 0, 0, 0.3))"
6563 backgroundColor
: "linear-gradient(90deg, rgba(104,45,140,1) 220px, rgba(237,30,121,1) 100%)",
6564 cheatList
: "#1e2124",
6565 infoColor
: "#1e2124",
6566 defaultButton
: "#36393e",
6567 inputColor
: "#1e2124",
6568 enabledButton
: "#9c9a9a",
6570 disabledButton
: "#171717",
6571 contentBackground
: "#292929"
6574 name
: "Blue - Purple Background",
6576 backgroundColor
: "linear-gradient(162.5deg, rgba(0,183,255,1) 220px, rgba(128,0,255,1) 100%)"
6579 name
: "Saint Patricks Background",
6581 backgroundColor
: "rgb(9, 148, 65)"
6584 name
: "Halloween Background",
6586 backgroundColor
: "rgb(41, 41, 41)"
6589 name
: "Fall Background",
6591 backgroundColor
: "rgb(224, 159, 62)"
6594 name
: "Winter Background",
6596 backgroundColor
: "linear-gradient(rgb(49, 170, 224), rgb(187, 221, 255))"
6599 name
: "Crypto Hack",
6601 backgroundColor
: "radial-gradient(#11581e,#041607)",
6602 infoColor
: "#1a1a1a",
6603 cheatList
: "#1a1a1a",
6604 defaultButton
: "rgb(88 175 88)",
6605 disabledButton
: "#A02626",
6606 enabledButton
: "#0b601b",
6608 inputColor
: "rgb(0 0 0 / 25%)",
6609 contentBackground
: "#11581e"
6612 name
: "Fishing Frenzy",
6614 backgroundColor
: "linear-gradient(180deg,#9be2fe 0,#67d1fb)",
6615 infoColor
: "#c8591e",
6616 cheatList
: "#c8591e",
6617 defaultButton
: "#ff751a",
6618 disabledButton
: "#bf0e0e",
6619 enabledButton
: "#2fb62f",
6621 inputColor
: "rgb(0 0 0 / 25%)",
6622 contentBackground
: "radial-gradient(#02b0ea 40%, #1d86ea)"
6625 name
: "Deceptive Dinos",
6627 backgroundColor
: 'radial-gradient(rgba(220, 184, 86, 0), rgba(220, 184, 86, 0.4)), url("https://ac.blooket.com/play/111cb7e0ee6607ac3d1a13d534c0e0f1.png"), #ead49a',
6628 infoColor
: "#af8942",
6629 cheatList
: "#af8942",
6630 defaultButton
: "#af8942",
6631 disabledButton
: "#A02626",
6632 enabledButton
: "#47A547",
6634 inputColor
: "rgb(0 0 0 / 10%)",
6635 contentBackground
: "radial-gradient(rgba(1,104,162,.6),rgba(24,55,110,.5)),radial-gradient(#2783b4 1.5px,#18376e 0) center / 24px 24px"
6640 backgroundColor
: "repeating-linear-gradient(45deg,white,white 8%,#e6e6e6 0,#e6e6e6 16%)",
6641 defaultButton
: "#36c",
6642 inputColor
: "rgb(0 0 0 / 25%)",
6645 contentBackground
: "#888",
6647 disabledButton
: "#A02626",
6648 enabledButton
: "#47A547"
6653 defaultButton
: "#1563bf",
6654 infoColor
: "#a5aabe",
6655 cheatList
: "#a5aabe",
6656 contentBackground
: "#2d313d",
6657 backgroundColor
: "#3a3a3a",
6658 enabledButton
: "rgb(75, 194, 46)",
6659 disabledButton
: "#9a49aa",
6660 inputColor
: "rgb(0 0 0 / 25%)",
6666 backgroundColor
: "linear-gradient(90deg,rgba(200,0,0,.5) 50%,transparent 0) center / 50px 50px,linear-gradient(rgba(200,0,0,0.5) 50%,transparent 0) white center / 50px 50px",
6667 defaultButton
: "#0bc2cf",
6668 inputColor
: "rgb(0 0 0 / 25%)",
6669 infoColor
: "#ac7339",
6670 cheatList
: "#ac7339",
6671 contentBackground
: "rgb(64, 64, 64)",
6673 disabledButton
: "#A02626",
6674 enabledButton
: "#47A547"
6677 name
: "Tower of Doom",
6679 backgroundColor
: "rgb(41 41 41)",
6680 disabledButton
: "rgb(151, 15, 5)",
6681 defaultButton
: "#333",
6682 inputColor
: "rgb(0 0 0 / 25%)",
6683 contentBackground
: "#404040",
6684 enabledButton
: "#4bc22e",
6686 infoColor
: "#9a49aa",
6687 cheatList
: "#9a49aa"
6690 name
: "Monster Brawl",
6692 defaultButton
: "rgb(45, 51, 67)",
6693 backgroundColor
: "rgb(78, 95, 124)",
6694 inputColor
: "rgb(0 0 0 / 25%)",
6695 contentBackground
: "linear-gradient(0deg,#374154,#4f5b74)",
6696 infoColor
: "#374154",
6697 cheatList
: "#374154",
6699 enabledButton
: "#47A547",
6700 disabledButton
: "#A02626"
6703 name
: "Tower Defense 2",
6705 backgroundColor
: "url(https://media.blooket.com/image/upload/v1676164454/Media/defense/backgroundTd1-02.svg) center / cover",
6706 cheatList
: "#a33c22",
6707 infoColor
: "#a33c22",
6708 defaultButton
: "#40b1d8",
6709 inputColor
: "#3e8cbe",
6710 contentBackground
: "#293c82",
6711 enabledButton
: "#47A547",
6712 disabledButton
: "#A02626",
6720 for (let t
in c
.setItem("theme", {
6724 p
.sheet
.cssRules
[0].style
.setProperty("--" + t
, e
[t
])
6728 description
: "Forces the GUI to scale from 25%-100%",
6731 name
: "Percent scale",
6734 value
: 100 * (c
.data
.scale
|| 1)
6738 e
= Math
.min(Math
.max(e
, 25), 100),
6739 c
.setItem("scale", e
/ 100),
6740 _
.style
.transform
= `scale(${e / 100})`
6743 name
: "Hide Keybind",
6744 description
: "Change the hide keybind (Click button after input to change)",
6748 function : e
=> B(({
6753 }) => e("" + [a
&& "Ctrl", t
&& "Shift", o
&& "Alt", r
&& r
.toUpperCase()].filter(Boolean
).join(" + ")))
6757 c
.setItem("hide", e
),
6758 m
.update(c
.data
.hide
|| {
6761 }, c
.data
.close
|| {
6767 name
: "Close Keybind",
6768 description
: "Change the quick close keybind (Click button after input to change)",
6772 function : e
=> B(({
6777 }) => e("" + [a
&& "Ctrl", t
&& "Shift", o
&& "Alt", r
&& r
.toUpperCase()].filter(Boolean
).join(" + ")))
6781 c
.setItem("close", e
),
6782 m
.update(c
.data
.hide
|| {
6785 }, c
.data
.close
|| {
6791 name
: "Background Color",
6792 description
: "Changes the background color of the GUI",
6799 p
.sheet
.cssRules
[0].style
.setProperty("--backgroundColor", e
),
6800 c
.setItem("theme.backgroundColor", e
)
6803 name
: "Category List Color",
6804 description
: "Changes the categories list background color",
6811 p
.sheet
.cssRules
[0].style
.setProperty("--cheatList", e
),
6812 c
.setItem("theme.cheatList", e
)
6816 description
: "Changes the color of the information at the top of the GUI",
6823 p
.sheet
.cssRules
[0].style
.setProperty("--infoColor", e
),
6824 c
.setItem("theme.infoColor", e
)
6827 name
: "Button Color",
6828 description
: "Changes the color of the cheats",
6835 p
.sheet
.cssRules
[0].style
.setProperty("--defaultButton", e
),
6836 c
.setItem("theme.defaultButton", e
)
6839 name
: "Enabled Toggle Color",
6840 description
: "Changes the color of enabled toggle cheats",
6847 c
.setItem("theme.enabledButton", e
)
6850 name
: "Disabled Toggle Color",
6851 description
: "Changes the color of disabled toggle cheats",
6858 p
.sheet
.cssRules
[0].style
.setProperty("--disabledButton", e
),
6859 c
.setItem("theme.disabledButton", e
)
6863 description
: "Changes the text color",
6870 p
.sheet
.cssRules
[0].style
.setProperty("--textColor", e
),
6871 c
.setItem("theme.textColor", e
)
6874 name
: "Input Color",
6875 description
: "Changes the color of inputs, like the set gold number input",
6882 p
.sheet
.cssRules
[0].style
.setProperty("--inputColor", e
),
6883 c
.setItem("theme.inputColor", e
)
6886 name
: "Content Color",
6887 description
: "Changes the background color of the cheats",
6894 p
.sheet
.cssRules
[0].style
.setProperty("--contentBackground", e
),
6895 c
.setItem("theme.contentBackground", e
)
6901 className
: "alertContainer",
6903 margin
: "15px 15px 5px 15px",
6904 backgroundColor
: "rgb(0 0 0 / 50%)",
6907 borderRadius
: "7px",
6909 alignItems
: "center",
6910 justifyContent
: "center"
6913 className
: "alertList",
6915 margin
: "10px 10px 0 10px",
6917 listStyleType
: "none",
6919 flexDirection
: "column-reverse",
6921 overflowY
: "scroll",
6922 wordWrap
: "break-word"
6930 color
: "var(--textColor)"
6932 innerText
: "[LOG] GUI opened"
6935 return this.element
.firstChild
.prepend(l("li", {
6941 color
: t
|| "var(--textColor)"
6943 innerHTML
: "[LOG] " + e
6947 return this.element
.firstChild
.prepend(l("li", {
6951 }, l("strong", {}, e
), " ", a
))
6955 updateLeaderboard(e
) {
6961 of(this.leaderboardEl
|| this.addLeaderboard(), this.leaderboard
.innerHTML
= "", e
)) {
6962 this.leaderboard
.append(l("li", {
6965 paddingInline
: "15px 15px",
6966 paddingBlock
: "1.25px",
6967 position
: "relative",
6968 borderBottom
: "2px solid orange",
6969 color
: (a
=== Object
.values(document
.querySelector("#app>div>div"))?.[1]?.children
?.[0]?._owner
?.stateNode
?.props
?.client
?.name
) ? "#00FF00" : "#FFFFFF"
6972 innerText
: this.parseNumber(parseInt(o
)),
6979 parseNumber(e
= 0) {
6982 return t
.toString();
6983 var a
= ["", "K", "M", "B", "T"],
6984 o
= Math
.floor((e
.toString().length
- 1) / 3);
6987 for (let i
= 3; 1 <= i
&& !((r
= parseFloat((0 !== o
? e
/ Math
.pow(1e3
, o
) : e
).toPrecision(i
))).toString().replace(/[^a-zA-Z 0-9]+/g, "").length
<= 3); i
--);
6988 t
= (r
= r
% 1 != 0 ? r
.toFixed(1) : r
) + a
[o
]
6992 for (; 100 <= n
; s
++)
6993 n
= Math
.floor(n
/ 10);
6995 var c
= ["⁰", "\xb9", "\xb2", "\xb3", "⁴", "⁵", "⁶", "⁷", "⁸", "⁹"];
6996 for (let d
of(s
+ 1).toString().split(""))
6998 t
= n
/ 10 + " \xd7 10" + l
7003 this.leaderboardEl
= l("div", {
7004 className
: "alertContainer",
7006 margin
: "15px 15px 5px 15px",
7007 backgroundColor
: "rgb(0 0 0 / 50%)",
7010 borderRadius
: "7px",
7012 alignItems
: "center",
7013 justifyContent
: "center"
7015 }, this.leaderboard
= l("nl", {
7016 className
: "alertList",
7020 listStyleType
: "decimal",
7023 overflowY
: "scroll",
7024 wordWrap
: "break-word"
7027 insertElemBefore("Leaderboard", "https://i.ibb.co/hZQjjVP/trophy-icon.webp", [{
7028 element
: this.leaderboardEl
7030 ], !0, h
.children
[3]);
7031 this.addLog("Leaderboard Loaded!");
7035 var e
= Object
.values(document
.querySelector("#app>div>div"))[1].children
[0]._owner
.stateNode
;
7036 if (!e
?.props
?.liveGameController
?._liveGameCode
)
7038 this.connection
= await e
.props
.liveGameController
.getDatabaseRef("");
7040 a
= this.getGamemode(),
7055 this.connection
.on("value", e
=> {
7056 var r
= e
.val()?.c
|| {};
7057 if (r
&& this.diffObjects(this.data
, r
)) {
7066 h
= this.diffObjects(this.data
, r
);
7069 switch (this.getGamemode()) {
7071 m
= Object
.entries(r
).map(([e
, {
7082 m
= Object
.entries(r
).map(([e
, {
7093 m
= Object
.entries(r
).map(([e
, {
7104 m
= Object
.entries(r
).map(([e
, {
7115 m
= Object
.entries(r
).map(([e
, {
7126 m
= Object
.entries(r
).map(([e
, {
7138 m
= Object
.entries(r
).map(([e
, {
7151 h
[$].tat
?.split
&& ([i
, n
] = h
[$].tat
.split(":"), "swap" == n
? this.addAlert($, t
[r
[$].b
]?.url
, "just swapped with " + i
) : this.addAlert($, t
[r
[$].b
]?.url
, `just took ${this.parseNumber(parseInt(n))} gold from ` + i
));
7152 m
= Object
.entries(r
).map(([e
, {
7164 h
[g
].tat
?.split
&& ([s
, l
] = h
[g
].tat
.split(":"), this.addAlert(g
, t
[r
[g
].b
]?.url
, `just took ${this.parseNumber(parseInt(l))} crypto from ` + s
));
7165 m
= Object
.entries(r
).map(([e
, {
7177 "Frenzy" == h
[y
].f
? this.addAlert(y
, t
[r
[y
].b
]?.url
, "just started a frenzy") : h
[y
].s
&& this.addAlert(y
, t
[r
[y
].b
]?.url
, `just sent a ${h[y].f} distraction`);
7178 m
= Object
.entries(r
).map(([e
, {
7190 h
[b
].tat
&& ([c
, d
] = h
[b
].tat
.split(":"), "true" == d
? this.addAlert(b
, t
[r
[b
].b
]?.url
, `just caught ${c} CHEATING!`) : this.addAlert(b
, t
[r
[b
].b
]?.url
, "investigated " + c
));
7191 m
= Object
.entries(r
).map(([e
, {
7203 h
[v
].up
&& ([p
, u
] = h
[v
].up
.split(":"), u
) && this.addAlert(v
, t
[r
[v
].b
]?.url
, `upgraded ${p} to level ` + u
);
7204 m
= Object
.entries(r
).map(([e
, {
7219 k
.g
? this.addAlert(_
, t
[r
[_
].b
]?.url
, `activated the ${o[k.g]} glitch!`) : k
.s
? ([f
, w
] = k
.s
.split("-"), this.addAlert(_
, t
[r
[_
].b
]?.url
, `has a ${f} ${w} synergy!`)) : k
.t
&& this.addAlert(_
, t
[r
[_
].b
]?.url
, "now has 10 Blooks!")
7221 m
= Object
.entries(r
).map(([e
, {
7231 this.updateLeaderboard(m
.sort((e
, t
) => t
.value
- e
.value
));
7242 r
in t
&& ("object" == typeof e
[r
] && "object" == typeof t
[r
] ? (a
= this.diffObjects(e
[r
], t
[r
])) && 0 !== Object
.keys(a
).length
&& (o
[r
] = a
) : JSON
.stringify(e
[r
]) !== JSON
.stringify(t
[r
]) && (o
[r
] = t
[r
]));
7244 i
in e
|| (o
[i
] = t
[i
]);
7245 return 0 == Object
.keys(o
).length
? null : o
7248 if (Object
.values(document
.querySelector("#app>div>div"))[1].children
[0]._owner
.stateNode
.props
?.client
?.type
) {
7249 return Object
.values(document
.querySelector("#app>div>div"))[1].children
[0]._owner
.stateNode
.props
.client
.type
.toLowerCase();
7251 switch (window
.location
.pathname
) {
7252 case "/play/racing":
7254 case "/play/extras":
7258 case "/play/pirate":
7260 case "/play/factory":
7262 case "/play/classic/get-ready":
7263 case "/play/classic/question":
7264 case "/play/classic/answer/sent":
7265 case "/play/classic/answer/result":
7266 case "/play/classic/standings":
7268 case "/play/battle-royale/match/preview":
7269 case "/play/battle-royale/question":
7270 case "/play/battle-royale/answer/sent":
7271 case "/play/battle-royale/answer/result":
7272 case "/play/battle-royale/match/result":
7282 case "/play/fishing":
7289 case "/tower/battle":
7293 case "/tower/victory":
7300 case "/play/defense2":
7317 e
.onpointerdown = function (e
= window
.event
) {
7320 document
.onpointerup = function () {
7321 document
.onpointerup
= null,
7322 document
.onpointermove
= null
7324 document
.onpointermove = function (e
= window
.event
) {
7329 t
.style
.top
= t
.offsetTop
- o
+ "px",
7330 t
.style
.left
= t
.offsetLeft
- a
+ "px"
7334 w("Alerts", "https://i.ibb.co/hBNyCXG/559343-1.png", C
.alerts
, !0),
7335 w("Global", "https://i.ibb.co/gd4Qs8L/11507ef5615c554fe88fc22c86768501-simple-earth-icon-1.webp", C
.global
)(),
7336 w("Host", "https://i.ibb.co/QpDgysb/computer-1865273-1.png", C
.host
, !0),
7337 w('<span style="font-size: 18px">Pirate\'s Voyage</span>', "data:image/svg+xml;base64,PD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0iVVRGLTgiIHN0YW5kYWxvbmU9Im5vIj8+PCFET0NUWVBFIHN2ZyBQVUJMSUMgIi0vL1czQy8vRFREIFNWRyAxLjEvL0VOIiAiaHR0cDovL3d3dy53My5vcmcvR3JhcGhpY3MvU1ZHLzEuMS9EVEQvc3ZnMTEuZHRkIj48c3ZnIHdpZHRoPSIxMDAlIiBoZWlnaHQ9IjEwMCUiIHZpZXdCb3g9IjAgMCAzMDAgMzAwIiB2ZXJzaW9uPSIxLjEiIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyIgeG1sbnM6eGxpbms9Imh0dHA6Ly93d3cudzMub3JnLzE5OTkveGxpbmsiIHhtbDpzcGFjZT0icHJlc2VydmUiIHhtbG5zOnNlcmlmPSJodHRwOi8vd3d3LnNlcmlmLmNvbS8iIHN0eWxlPSJmaWxsLXJ1bGU6ZXZlbm9kZDtjbGlwLXJ1bGU6ZXZlbm9kZDtzdHJva2UtbGluZWpvaW46cm91bmQ7c3Ryb2tlLW1pdGVybGltaXQ6MjsiPjxnIGlkPSJCb2F0Ij48cGF0aCBkPSJNMTcwLjQsNTYuMDU0Yy02OC43ODgsMTAuMTc0IC0xMTUuOTcxLDU2LjkzOCAtMTQ1LjQxMSwxMzMuNzVsMTUuNDY5LDcuNzM0YzMwLjk2MiwtMjguMTc1IDc0LjcwNSwtMzcuNzg3IDEzMi4zMjIsLTI3LjI1bDAsLTE3LjYxMWMtMjUuNjI5LC0yNy45NTIgLTI2Ljk2NiwtNTYuNzcyIDAuNzE0LC04Ni42MjhsLTMuMDk0LC05Ljk5NVoiIHN0eWxlPSJmaWxsOiNmNmUwYmQ7Ii8+PHBhdGggZD0iTTE5OS42NzMsNjAuODEzYzMyLjc4NCw0Mi45ODIgNjUuODIyLDkwLjg4NyA5Ny4zMzcsMTM5LjU4MWwtNi42NjMsMGMtMTIuMDg1LC0zMS4xMTEgLTU3Ljg4MiwtMzkuNjk0IC05MS42MjYsLTI3LjI1YzIyLjUxNCwtMzQuNTc5IDE3Ljc5NiwtNzIuNjczIDAuOTUyLC0xMTIuMzMxWiIgc3R5bGU9ImZpbGw6I2Y2ZTBiZDsiLz48cGF0aCBkPSJNNjkuNDQ4LDE5Ny41MzhjMCwwIC01OS43MDcsLTE1LjI0MyAtNjguMzk4LC0xNy40NjJjLTAuMDc2LC0wLjAxOSAtMC4xNTQsMC4wMiAtMC4xODQsMC4wOTJjLTAuMDMsMC4wNzIgLTAuMDAyLDAuMTU1IDAuMDY1LDAuMTk1YzkuNjgyLDUuNzc1IDkxLjY0Nyw1NC42NTggOTEuNjQ3LDU0LjY1OGwtMjMuMTMsLTM3LjQ4M1oiIHN0eWxlPSJmaWxsOiM4ZDZlNDE7Ii8+PHBhdGggZD0iTTE2NC40NSw0Ny45MDNjMCwtNS4zNTMgNC4zNDYsLTkuNjk4IDkuNjk4LC05LjY5OGwxOS4zOTcsLTBjNS4zNTIsLTAgOS42OTgsNC4zNDUgOS42OTgsOS42OThsLTAsMTU2Ljk1M2MtMCw1LjM1MyAtNC4zNDYsOS42OTggLTkuNjk4LDkuNjk4bC0xOS4zOTcsMGMtNS4zNTIsMCAtOS42OTgsLTQuMzQ1IC05LjY5OCwtOS42OThsMCwtMTU2Ljk1M1oiIHN0eWxlPSJmaWxsOiM3ZjY4NDU7Ii8+PHBhdGggZD0iTTI2My45OTMsMjU2LjEwM2MyMi4xNzEsLTE0LjcxIDM2LjAwNywtMzUuNTE1IDM2LjAwNywtNTguNTY1bC0yMzAuNTUyLDBjMCwyMy43MTMgMTQuNjQzLDQ1LjA1IDM3Ljk0LDU5LjgxOWM5Ljg3NSwtMy43MjkgMjAuMDQxLC0xMS4zMzQgMzAuNDYzLC0yMi4zMzZjMzIuODExLDM1LjQ1NSA2NC4wNjksMzUuOTQzIDkzLjcwOCwwYzYuODM4LDkuNjc3IDE3LjczNiwxNi42NDYgMzIuNDM0LDIxLjA4MloiIHN0eWxlPSJmaWxsOiNiNjkyNWY7Ii8+PC9nPjwvc3ZnPg==", C
.voyage
),
7338 w("Gold quest", "https://media.blooket.com/image/upload/v1661496292/Media/uiTest/Gold.svg", C
.gold
),
7339 w("Cafe", "https://i.ibb.co/t8pqdYL/hot-beverage-1.png", C
.cafe
),
7340 w("Crypto Hack", "https://media.blooket.com/image/upload/v1661496293/Media/uiTest/CryptoIcon.svg", C
.crypto
),
7341 w('<span style="font-size: 17px">Deceptive Dinos</span>', "https://i.ibb.co/JFq5j88/Screenshot-2024-03-26-7-30-21-PM-removebg-preview-1.png", C
.dinos
),
7342 w('<span style="font-size: 18px">Tower Defense</span>', ['<img style="width: 30px; margin-right: 5px" src="https://media.blooket.com/image/upload/v1657235025/Media/survivor/Laser_Lvl1.svg">'], C
.defense
),
7343 w('<span style="font-size: 16px">Tower Defense 2</span>', ['<img style="width: 30px; margin-right: 5px; rotate: 45deg" src="https://media.blooket.com/image/upload/v1593095354/Media/defense/missile.svg">'], C
.defense2
),
7344 w("Factory", "https://i.ibb.co/VMrTd39/images-removebg-preview-1.png", C
.factory
),
7345 w('<span style="font-size: 19px">Fishing Frenzy</span>', "https://media.blooket.com/image/upload/v1661496295/Media/uiTest/Fish_Weight.svg", C
.fishing
),
7346 w("Flappy Blook", "https://media.blooket.com/image/upload/v1645222006/Blooks/yellowBird.svg", C
.flappy
),
7347 w('<span style="font-size: 17px">Tower of Doom</span>', ['<img style="height: 30px; margin-left: 5px; margin-right: 10px" src="https://media.blooket.com/image/upload/v1657235023/Media/survivor/cards-05.svg">'], C
.doom
),
7348 w('<span style="font-size: 18px">Crazy Kingdom</span>', "https://i.ibb.co/10mZ6dx/3763864-1.png", C
.kingdom
),
7349 w("Racing", "https://media.blooket.com/image/upload/v1661496295/Media/uiTest/Racing_Progress.svg", C
.racing
),
7350 w("Battle Royale", "https://media.blooket.com/image/upload/v1655936179/Media/br/VS_Lightning_Bolt_Bottom.svg", C
.royale
),
7351 w("Blook Rush", "data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAIAAAACACAYAAADDPmHLAAAABHNCSVQICAgIfAhkiAAAAAlwSFlzAAADdgAAA3YBfdWCzAAAABl0RVh0U29mdHdhcmUAd3d3Lmlua3NjYXBlLm9yZ5vuPBoAAA7YSURBVHic7Z17tFxVfcc/e59zZib3kcfN456YQObOTB43PBIKoeIqSlwIBXwiCCytXe2qxabSWrAqLKmwXKthVRe2BFxitYpasSIPV0sI8mhV5GHVdpWaoCRIvAnZSW/uzeuG3Nec/jFzk8mYOXNm73PmeT7/zt6/s+/d399vv/cWnufRSSilZgEXAZcBl42MHF5m23KrlPJBKcU9mUx6pLElrC+iEwSglFpOscIpVH5q5rfh4YPH0wkBlmUNW5b8oZTyi9ls+ol6l7XetKUAyrz8ciBbKW2pAMqRUk62e3RoGwH4ebkffgIopV2jQ8sKoOjl6zlR6RW93I+gAiinGB22SSkfklJsatXo0FICUEqt4ESFv4WAXu6HrgBKKYkOPypGh+8bG60TTS0ApVQXJ3t5JuxvhCGAcorR4aVidLg7k0kPh/6RkGg6AUTh5X5EIYBSmj06NFwA9fByP6IWQDnNFh0aIgCl1EpO9vJk3QtRpN4CKKUYHfYXo8O92Wx6S93LUA8BFL38rZyo9IHIPxqQRgqgHCnlVEl02FSP6BCZAIpefjmFCn8zDfRyP5pJAKWURIdnin2HSKJDaAJQSnVzclveNF7uR7MKoJyy6HBPJpPeF4ZdIwEopVZxosKb1sv9aBUBlFIWHb6UzaY3a9uqRQBFLy9ty9O6H24WWlEA5RSjwy+llA8X+w6Bo0NVASilBjlR4RfSgl5+KiY9eP6g4IWhad7Xf4Qu2VzzIboUo8NISXR41De9nwCUUpcAj4ddyEaxaxyeHhU8PQLPHBSMTQP7FoHwWDBrnPPnjXFd/yHW9kw0uqihkUolbsnlBjZW+t2ukl+GXJ66MunBcwcFT48WKv7loxUSeoLhoyk2H02xefd8HHuK5b2v8/sLj3DNosOtHh0svx+rCaDlKPXyHx0UHJ2u3cbklM3W0V62jvZy58tu20YHaAMBTOTh+UMBvFwXn+hw9cLD9FgtHR1aUwBDx4pePlpoy3W8XJfy6DD/eHQ4zDk94/UrSEi0hAAm8vDcjJePCLa/3ugSFfEE+4+meOxoisd2z8dxCtHhkvmFvkMrRIemFcBvSrz8x3X2cl0mJ222jvSydaSXv9/uMr9rnHVzxri2/zDn9jZndGgaATStl+viCfaPpdgylmLLa80bHRoqgFIvf+aA4PV8I0sTLc0aHeoqgBkvf2qkUPE7Wt3LdSmPDvYUudmF6HBtnaND5ALYWdqWt7mX6zI5ZbNtpJdtI738w3aXvlnjrJtXiA7nRTyyiEwAvxiDP31J8kqnerkunmDkaIrHj6Z4vDjvsHHVHi7tC3uCo0BkU737JkRc+SEwOWXz6rgTmf2WnuuPMScWQIcTC6DDiQXQ4cQC6HBiAXQ4sQA6nFgAHU4sgA4nFkCHEwugw4kF0OHEAuhwYgF0OLEAOpxqAtDei2sL3Zwx5SQx2kY16fdjNQFob+mYazfHrtd2YFFCf0+8EOKw3+/VBKC9D2lu02w4b30WJ40ORRzw+zG6CBDdLqaO4w3JKZPsvjdgRBYBeq24HxAKAvodowhgJACjbZ1z4mbAGCHM9tELge8l1pEKIO4HmGNL44MUo34/VhPAEUD7RoR5sQCMSVjGAtjr96OvAFzX9YBdul+e68RDQVOSBgKQUk5mMmlfA0FmAod0CxA3AeZ02SYCEGNV0wSwoy2ABfFQ0Jg5tv4QUAjh2/5DxAI4o1s3Z8wMqw0OhwohVLU0kQpgTU/cBzDlonn6AzEhxM5qaYIIoKqRSmS7oMf3lroYP4TweNNsEwHwUrU0QQTwM90CSOCsHt3cMT3JSaPZVCnFg1XTVEvguu5e4BXdQsTNgD6ndx3TzlscAv5v1XQB7T2rW5A1cQTQZk2vvgAsSwaav4leAL1xBNBl/Tz9W0GklC8EShfQ3nO6BUmnYHY8IVQzQnqcP1t/CCileCRQuoD2XqSwLlAzgrgfoENvckJ7w6YQwhOCh4OkDfQN13WngUAh5VSc26ubs3PJdRu1/6OZTDrQIl4tItPuB7xzQRwBauUPFus/ZWNZ8hdB09ZFAIPdsKpLN3fnkXCmuNhsBjDw87S1COB5QNuVr1wUR4GgrOvT6m4dR0rxjcBpgyZ0XfcAsE2rRMB7FnrEWwSD8eElVRfxKmJZcjyTSQeevq+1o6ndDCxNwrrZurk7h57khNGzNJYlX60lfa0C+GGN6U/iyoVxM1CNCxf4nuOoipTyP2pKX6P9h4Gqu0wq8Y4FXrxV3A8BG5b6nuPwzy4EUopP15KnJgG4rnsEeKCmUpXQ58BF8+IoUIm+WcdIGxwCsW1reyaT9t0EWo7OZNNXNfIc5z0LTXK3N5cuNAv/ti3vqjWP1uPRSqmXgVzNGSk8GvHGn0n2NMsTOvsWNboEAFjWNM+8cYf2YxFSysnVq5cnas6n9TX4mmY+EhI+elrcDJRzqXvA6KUQx7F+oJNPVwD3gf6h9ev6PZa2xRPU4WBZ09w+sN/IhpTyFq18Oplc190FPKGTF8ARcRQo5YrFB0gZvE9s29ZwNpv+T528JlfE/JNBXq7p91iWMrHQHtjWNJ9Om3m/bVvf1M1rIoDvgf/JUz9sATeeHkeBdy0ZIWHg/UIIr9axfynaAnBddxz4lm5+gPcu9MjMMrHQ2jj2FJ9Ka/tQwYZjvZjJpA/p5je9JcyoGbAE3NTBUeDKJaPGz7ZZlnWHSX6teYBSlFI/B87RzZ8H1v9c8qtoXkWrToPmARL2FC9csMNoatyy5OuDg8uNdlqEcU/graYF+Gwu33EXFv51bq/xuojj2H9nWg7j/7vruo8CT5rYOH82/NnSzmkKzpp/iGsXmW36sG1rJJcbuM20LGE53k0YTAwBfGKZx+oOOE2cdCb58mDVQ7tVcRz7+hCKE44AXNf9Hww7hI6ATSvyOG29XOyxcdUeugyGfQCJhP3LbDb93TBKFGbT+ynAaDlrdTd8fFn7NgW/13+Atxls9oTCuN+2ratCKlJ4AigeIjUakgBsWOq15dax7tQEm1bsM7aTSNhPBjn0GZSwO993Ar8xMSApNAXd7XSvgPC4e/Vrxr1+KeWUZcn3hVOoos0wjbmuewz4pKmdZSm4baB9moK3LxnhPIOrXmZIJOwvZjJp/T1jpyCK4fe3MThGNsMHXI9r+ltfBKfPHmNjZtjYjm1bR6QUfxlCkU4idAEU7xa8MQxbn8t5XNzXuiLo6zrGw2fvDsWW49gfq3bnnw6RTMC5rvss8B1TO7aAL63yOK8FD5d2Jyf43toho5W+GRzHHspm0/eGUKzfIsoZ2I9S5ZrSIMyS8I0z8qxoobOFCXuKB9YOMdfgkscZpBR527beGUKxTm0/KsOu6+4BrsPg2ZkZ5trw7TPyvKEFtpFZ1jT3rRniNLM7/o+TTDofy2bT/x2KsVMQ6RqM67r/juFi0QyLkwURNPP1s0LkuevM3ZzZrX+0q5Rk0vl+Njvw+VCMVaAei3B3AP8WhqHlXYXmYFYzLh0Kj79ZtYc3zzGb6ZvBcay9liUvC8WYD5H/K4ujgg8Cr4Zh77xe+PKgR6qZRCA8PpLby1ULzVb4ZpBSTjmOfUEUvf7f+lbUHwBwXXcUuBoI5TjIW+d5PHJ2nv6aj0GEj5R5/nb1Lq43uNGjFCEgmXT+OJNJ/zoUg1Womx+5rvtTCiODUFjTA4+tyTf0QupUYpJ/Pmcn75gf3namRCJxfzabDnzBgynGW8JqRSn1TeD9Ydk7Og1//ivBlv2aE+2aW8IWdB/jwbN30Wf2oNNJOI796sqV2YHQDAagES3p9UDgS4yq0WXBVwY9NtRxR9FZ8w/xxO/sDLXyLUuOO471u6EZDEjdBeC67hhwFZr3Dp4KCdya9rhzuRf5hpJ3nzbMt87YE+o9B0IIL5Fwrsxk0ubrxTXSkL6067ovAR+gyru2tXJdv8e/nJmP5LEqIfN8cuVrfMbwDN+pSCadO7LZ9ObQDQeg7n2AUpRS76KwZhBqf373OHxiu+Cp0QBuGqAP0Nd1jLsG97AmpAmeUlKpxMZcbkDrYGcYNFQAAEqpy4GHgNAneh/5P8GtrwiG/eKMjwCkzHPtacPcvEz/1q5KFIZ7idtyuYHbQzdeSzkaLQAApdQlwCNA6AfFDk7B7b8W3L+3QjSoIIBls8e4d1CxJKQ5/VKEECSTzi253MDG0I3XWpZmEACAUmo98K9AJCP7Hx8UfHy74JXymdoyAdj2NH+V3csH+82ua6mEEIJUyrkx6jn+oDSNAACUUhcCm4FInpkYz8PnhwRf2CWYnPmzSwSwdsEhvrByL73mr3WeEiGEl0o5N2SzA/dE8gENmkoAAEqpC4AtQGR7g7eNwc07JC8cAvYtoic5wWdWKKP7eatRqPzE9dls+h8j+4gGTScAAKXUOuBxYF6U33lyRPDskMeGJeHM41eiWPl/lM2m74v0Qxo0pQAAlFLnULiGZn6U3xkerkvlvz+bTd8f6Yc0aaZF1ZNwXfe/gPVAXVbFokBKOZVKJa5q1sqHJhYAgOu6LwJrgab9B1bCceydqZSTzmbTDzW6LH40bRNQjlLqD4G7CXmEEHYTIITwkknnK7ncwIdCNRwRTR0BSnFd9z4KN5H8tNFlqYRlWWOpVOJtrVL50EICAHBddzvwJuCzGLxeEgWJhPOTZNJelM2mn2p0WWqhZZqAcpRSFwNfBxab2DFtAqQU+UTCuTmXGzC+rqURtKwAAJRSCyncXn6Frg0TATiOtc9x7LdkMumqr3Q3Ky0tgBmUUjdQaBZqXlHUEYAQkEg4312+PHN1zZmbjJbqA1TCdd1NwLkY3F8cFNu29qdSyXe3Q+VDm0SAUpRSVwCfA1YFSR80AliWnHAce2MYN3M1E20RAUopXlt3FnADYLx/qziufyCZdOa0W+VDG0aAUpRSc4GbgQ1UmECqFAGEEJ7j2D+xbXlNLe/wtRptLYAZlFJ9FCLCXwB9pb+VC6CwQ9f+gWXJP8lk0jvqV8rG0BECmEEp1UPhXMJNFOcPZgQgpcg7jv2oZckP1fryVivTUQKYQSmVpHBg9cOjo4dXOY79oJTiIybXrrcq/w99zo6mO4xCQAAAAABJRU5ErkJggg==", C
.rush
),
7352 w('<span style="font-size: 18px">Monster Brawl</span>', ['<img style="height: 28px; margin-left: 5px; margin-right: 8px" src="https://media.blooket.com/image/upload/v1655233787/Media/survivor/xp/Blue_xp_2.svg">'], C
.brawl
),
7353 w('<span style="font-size: 15px">Santa\'s Workshop</span>', "https://i.ibb.co/Y2SFc9Y/Santa-Workshop-Finished-icon-1.webp", C
.workshop
),
7354 w("Extras", "https://i.ibb.co/mb0R9HX/Star-icon-stylized-svg-1-removebg-preview.png", C
.extras
, !0),
7355 w("Settings", "https://i.ibb.co/jrWKgyn/Windows-Settings-icon-1.png", C
.settings
, !0),
7356 w("Credits", "https://i.ibb.co/prKYGdN/credits.webp", C
.credits
, !0),
7359 window
.addEventListener("keydown", A
);
7360 let x
= setInterval(() => {
7361 C
.alerts
[0].connection
? clearInterval(x
) : C
.alerts
[0].connect()
7365 for (let e
in _
.remove(), clearInterval(x
), C
)
7367 t
.enabled
&& t
.run();
7368 Object
.keys(C
).forEach(e
=> C
[e
].forEach(e
=> e
.enabled
&& (e
.run(), k(...currentMode
)))),
7369 window
.removeEventListener("keydown", A
)
7373 var t
= c
.data
.hide
|| {
7377 a
= c
.data
.close
|| {
7381 (t
.ctrl
&& e
.ctrlKey
|| !t
.ctrl
&& !e
.ctrlKey
) && (t
.shift
&& e
.shiftKey
|| !t
.shift
&& !e
.shiftKey
) && (t
.alt
&& e
.altKey
|| !t
.alt
&& !e
.altKey
) && e
.key
.toLowerCase() == t
.key
? (e
.preventDefault(), _
.style
.display
= "block" === _
.style
.display
? "none" : "block") : (a
.ctrl
&& e
.ctrlKey
|| !a
.ctrl
&& !e
.ctrlKey
) && (a
.shift
&& e
.shiftKey
|| !a
.shift
&& !e
.shiftKey
) && (a
.alt
&& e
.altKey
|| !a
.alt
&& !e
.altKey
) && e
.key
.toLowerCase() == a
.key
&& (e
.preventDefault(), D())
7384 function B(e
, t
= window
) {
7385 return new Promise(a
=> {
7397 ["shift", "control", "alt", "meta"].includes(t
.key
.toLowerCase()) || (s
= t
.key
.toLowerCase()),
7407 0 < Object
.keys(o
).length
|| (t
.removeEventListener("keydown", l
), t
.removeEventListener("keyup", c
), a({
7414 t
.addEventListener("keydown", l
),
7415 t
.addEventListener("keyup", c
)
7418 _
.addEventListener("mousemove", e
=> {
7421 "cheatName" != e
.target
.className
&& "scriptButton" != e
.target
.className
? "0" != y
.style
.opacity
&& (y
.animate([{
7428 }), y
.style
.opacity
= "0") : (e
= "scriptButton" == e
.target
.className
? e
.target
: e
.target
.parentElement
, y
.innerText
== e
.dataset
.description
&& "0.9" == y
.style
.opacity
|| (t
= e
.getBoundingClientRect(), a
= e
.offsetParent
.getBoundingClientRect(), y
.innerText
= e
.dataset
.description
, "0" == y
.style
.opacity
&& (y
.animate([{
7435 }), y
.style
.opacity
= "0.9"), y
.style
.left
= t
.x
- a
.x
+ (t
.width
- y
.clientWidth
) / 2 + "px", y
.style
.top
= t
.y
- a
.y
+ t
.height
+ "px"))
7437 window
.fetch
.call = function () {
7438 if (!arguments
[1].includes("s.blooket.com/rc"))
7439 return wfcall
.apply(this, arguments
);
7440 C
.alerts
?.[0].addLog("Blooket Cheat Report Blocked!")