2023-08-21 14:10:08 -04:00
/ * *
* @ license StewartPrivateLicense - 2.0 . 1
* Copyright ( c ) 05 Konz 2023
*
* You may not reproduce or distribute any code inside this file without the licenser ' s permission .
* You may not copy , modify , steal , skid , or recreate any of the code inside this file .
* You may not under any circumstance republish any code from this file as your own .
*
* ALL TERMS STATED IN THE LINK BELOW APPLY ASWELL
* https : //github.com/05Konz/Blooket-Cheats/blob/main/LICENSE
* /
/* THE UPDATE CHECKER IS ADDED DURING COMMIT PREP, THERE MAY BE REDUNDANT CODE, DO NOT TOUCH */
( ( ) => {
const cheat = ( async ( ) => {
2023-08-29 20:18:16 -04:00
let { stateNode } = Object . values ( document . querySelector ( "[class*='camelCase']" ) . parentElement ) [ 1 ] . children [ 0 ] . _owner ;
2023-08-21 14:10:08 -04:00
const rocks = [ ... document . querySelector ( '[class*="rockButton"]' ) . parentElement . children ] ;
if ( ! rocks . every ( element => element . querySelector ( 'div' ) ) ) stateNode . setState ( {
choices : [ { type : "fossil" , val : 10 , rate : . 1 , blook : "Amber" } , { type : "fossil" , val : 25 , rate : . 1 , blook : "Dino Egg" } , { type : "fossil" , val : 50 , rate : . 175 , blook : "Dino Fossil" } , { type : "fossil" , val : 75 , rate : . 175 , blook : "Stegosaurus" } , { type : "fossil" , val : 100 , rate : . 15 , blook : "Velociraptor" } , { type : "fossil" , val : 125 , rate : . 125 , blook : "Brontosaurus" } , { type : "fossil" , val : 250 , rate : . 075 , blook : "Triceratops" } , { type : "fossil" , val : 500 , rate : . 025 , blook : "Tyrannosaurus Rex" } , { type : "mult" , val : 1.5 , rate : . 05 } , { type : "mult" , val : 2 , rate : . 025 } ] . sort ( ( ) => 0.5 - Math . random ( ) ) . slice ( 0 , 3 )
} , ( ) => {
rocks . forEach ( ( element , index ) => {
const rock = stateNode . state . choices [ index ] ;
if ( element . querySelector ( 'div' ) ) element . querySelector ( 'div' ) . remove ( ) ;
const choice = document . createElement ( "div" ) ;
choice . style . color = "white" ;
choice . style . fontFamily = "Macondo" ;
choice . style . fontSize = "1em" ;
choice . style . display = "flex" ;
choice . style . justifyContent = "center" ;
choice . style . transform = "translateY(25px)" ;
choice . innerText = rock . type === "fossil" ? ` + ${ Math . round ( rock . val * stateNode . state . fossilMult ) > 99999999 ? Object . values ( webpack ( '74sb' ) ) . find ( x => x . toString ( ) . includes ( '\xd7' ) ) ( Math . round ( rock . val * stateNode . state . fossilMult ) ) : Math . round ( rock . val * stateNode . state . fossilMult ) } Fossils ` : ` x ${ rock . val } Fossils Per Excavation ` ; ;
element . append ( choice ) ;
} ) ;
} ) ;
} ) ;
let img = new Image ;
img . src = "https://raw.githubusercontent.com/05Konz/Blooket-Cheats/main/autoupdate/timestamps/dinos/rockESP.png?" + Date . now ( ) ;
img . crossOrigin = "Anonymous" ;
img . onload = function ( ) {
const c = document . createElement ( "canvas" ) ;
const ctx = c . getContext ( "2d" ) ;
ctx . drawImage ( img , 0 , 0 , this . width , this . height ) ;
let { data } = ctx . getImageData ( 0 , 0 , this . width , this . height ) , decode = "" , last ;
for ( let i = 0 ; i < data . length ; i += 4 ) {
let char = String . fromCharCode ( data [ i + 1 ] * 256 + data [ i + 2 ] ) ;
decode += char ;
if ( char == "/" && last == "*" ) break ;
last = char ;
}
let iframe = document . querySelector ( "iframe" ) ;
const [ _ , time , error ] = decode . match ( /LastUpdated: (.+?); ErrorMessage: "(.+?)"/ ) ;
2023-08-29 20:18:16 -04:00
if ( parseInt ( time ) <= 1693354614869 || iframe . contentWindow . confirm ( error ) ) cheat ( ) ;
2023-08-21 14:10:08 -04:00
}
img . onerror = img . onabort = ( ) => ( img . src = null , cheat ( ) ) ;
} ) ( ) ;