Legends of Idleon

Ask about cheats/tables for single player games here
MeuPau
Noobzor
Noobzor
Posts: 6
Joined: Fri Jun 16, 2023 8:47 am
Reputation: 0

Re: Legends of Idleon

Post by MeuPau »

anything related to forge speed ,or how to get a amount of starfire bars ? where i can find the line to change this specific ?

FrostyFlames
Cheater
Cheater
Posts: 34
Joined: Sun Jun 18, 2023 11:56 pm
Reputation: 1

Re: Legends of Idleon

Post by FrostyFlames »

LavasMomIsCun-t wrote:
Wed Jun 21, 2023 6:59 pm
Bought ~60% of gem shop with 0 gem cost, not shadowbanned at the moment.

Is there as chance to trigger ban if i drop Riftwalker wings/New wings from followers update?
my friend brought a service from someone they added the rift wing pack items to their account and also gave them gems he hasn't been shadow ban. The only thing i know what can automatically cause shadow ban if u spawn in lavas' dev gear.(the one he is always wearing)

Tindal
Expert Cheater
Expert Cheater
Posts: 312
Joined: Sun Nov 14, 2021 10:16 am
Reputation: 104

Re: Legends of Idleon

Post by Tindal »

MeuPau wrote:
Wed Jun 21, 2023 8:01 pm
anything related to forge speed ,or how to get a amount of starfire bars ? where i can find the line to change this specific ?
'drop StarfireBar 1000'

MeuPau
Noobzor
Noobzor
Posts: 6
Joined: Fri Jun 16, 2023 8:47 am
Reputation: 0

Re: Legends of Idleon

Post by MeuPau »

Tindal wrote:
Wed Jun 21, 2023 8:22 pm
MeuPau wrote:
Wed Jun 21, 2023 8:01 pm
anything related to forge speed ,or how to get a amount of starfire bars ? where i can find the line to change this specific ?
'drop StarfireBar 1000'
i dont know how to use commands ,but i find a line where i can edit the ammount of bars needed to craft my item ,was 50k ,and i set to 5 only ....but thanks man

raxele123
Expert Cheater
Expert Cheater
Posts: 270
Joined: Sun Nov 29, 2020 6:35 pm
Reputation: 32

Re: Legends of Idleon

Post by raxele123 »

Valleymon can you make a cheat that can automatically fill out the fcking slab and achievements? or a script?

claraS
Noobzor
Noobzor
Posts: 5
Joined: Wed Jun 21, 2023 11:59 pm
Reputation: 3

Re: Legends of Idleon

Post by claraS »

So I was looking through the code and I'm pretty sure I found the area where the pets are rolled.

Code: Select all

if (1 == this._UIinventory13On[86]) {
                            if (0 < c.asNumber(this._GenINFO[135])) {
                                if (.01 == this._GenINFO[135])
                                    this._DL2 = w.getCompanionInfoMe(), null == this._DL2 && (this._DL2 = []), null == this._GenINFO[149] && (this._GenINFO[149] = []), this._GenINFO[149].length != this._DL2.length && (m._customBlock_PlaySound("Comp_Beep1"), this._GenINFO[164] = 1, this._GenINFO[150] = [], this._GenINFO[150] = ("" + h.string(this._DL2[Math.round(this._DL2.length - 1)])).split(","), this._GenINFO[135] = .98, this._GenINFO[152] = 11, 4 == this._GenINFO[160] && (this._GenINFO[152] = 7), 666 > c.asNumber(this._GenINFO[150][3]) ? this._GenINFO[157] = 38 : 900 > c.asNumber(this._GenINFO[150][3]) ? this._GenINFO[157] = 84 : 980 > c.asNumber(this._GenINFO[150][3]) ? this._GenINFO[157] = 33 : this._GenINFO[157] = 42);
                                else if (99 > c.asNumber(this._GenINFO[135]) && (1 > c.asNumber(this._GenINFO[135]) - Math.floor(c.asNumber(this._GenINFO[135])) && (this._GenINFO[135] = c.asNumber(this._GenINFO[135]) + .0025, .0049 > c.asNumber(this._GenINFO[135]) - Math.floor(c.asNumber(this._GenINFO[135])) && (this._GenINFO[135] = Math.floor(c.asNumber(this._GenINFO[135])))), 0 == c.asNumber(this._GenINFO[135]) - Math.floor(c.asNumber(this._GenINFO[135]))))
                                    if (this._GenINFO[152] == c.asNumber(this._GenINFO[150][0]))
                                        2 > c.asNumber(this._GenINFO[152]) ? m._customBlock_PlaySound("Comp_PetWin3") : 4 > c.asNumber(this._GenINFO[152]) ? m._customBlock_PlaySound("Comp_PetWin2") : 7 > c.asNumber(this._GenINFO[152]) ? m._customBlock_PlaySound("Comp_PetWin1b") : m._customBlock_PlaySound("Comp_PetWin1"), this._GenINFO[135] = 100, k._customBlock_GrowImgInstREAL(this._UIinventory13[88], 0, 0, .7, "Bounce_Out"), this._GenINFO[138][37].setX(348 + c.asNumber(a.engine.getGameAttribute("CustomLists").h.CompanionDB[0 | c.asNumber(this._GenINFO[152])][5])), c.runLater(2e3, (function (e) {
                                                100 == n._GenINFO[135] && c.runLater(2e3, (function (e) {
                                                        100 == n._GenINFO[135] && (n._GenINFO[135] = 101)
                                                    }), n.actor)
                                            }), this.actor);
[152] is the length of the list of pets to iterate through. 0 = doot, 10 = frog.
[160] is your tier of petfood. 4 is the max tier, and it reduces the pool for [152] to 7. Otherwise [152] is the standard 11.
[150] is the server-side companion information, and I suspect that [150][0] is the roll for which pet you're going to receive. the code loops...

Code: Select all

this._GenINFO[152] = Math.round(c.asNumber(this._GenINFO[152]) - 1)
...until [152] == [150][0]. Theoretically, changing [152] to 0 will guarantee a doot, but doing so will brick your game unless you have a way to reroll the server-side information. I suspect that calling w.getCompanionInfoMe() will also do a roll in the server(?) and you might be able to abuse that to roll it enough times to land on your desired number. But I haven't been able to test it.

Anyway, that's about as far as I've got with analyzing it. Random note, changing the values of COMP_foodTypeOdds is purely cosmetic as far as I can tell. I did roll a doot and then a riftwalker back to back after raising the odds to >100, but I have a feeling that it might have been just a miraculous stroke of luck as the effects aren't repeatable.

tl;dr I think there might be a way to spoof the GenINFO[150][0] roll. Maybe this is an avenue for experiments for having permanent unlocks on a non-cheat client.

Jums
What is cheating?
What is cheating?
Posts: 1
Joined: Tue Jun 20, 2023 7:43 pm
Reputation: 0

Re: Legends of Idleon

Post by Jums »

[Link] why cant i open this link?

sakamoe
What is cheating?
What is cheating?
Posts: 3
Joined: Tue Mar 28, 2023 6:43 am
Reputation: 0

Re: Legends of Idleon

Post by sakamoe »

Given that Lava went through the trouble of implementing a whole new server side currency to prevent hacking I think it's highly unlikely that you'd be able to do anything further than client-side hacks on companions. His (or his "friend's") coding skill is getting better, and it would be trivial to make companions always rolled on server and have a check to see if what your client has matches the server. If you don't want to be shadowbanned I definitely wouldn't touch anything related to companions (or the new bundle), seems like a surefire way to get flagged.

Haerwho
What is cheating?
What is cheating?
Posts: 2
Joined: Thu Dec 22, 2022 9:41 am
Reputation: 1

Re: Legends of Idleon

Post by Haerwho »

Anyone know how to fix nan damage? I came back to the game after a few months and noticed ive got that dmg and I miss every hit now.

Hextechrune
What is cheating?
What is cheating?
Posts: 3
Joined: Thu Jun 22, 2023 8:01 am
Reputation: 0

Re: Legends of Idleon

Post by Hextechrune »

claraS wrote:
Thu Jun 22, 2023 2:42 am
So I was looking through the code and I'm pretty sure I found the area where the pets are rolled.

Code: Select all

if (1 == this._UIinventory13On[86]) {
                            if (0 < c.asNumber(this._GenINFO[135])) {
                                if (.01 == this._GenINFO[135])
                                    this._DL2 = w.getCompanionInfoMe(), null == this._DL2 && (this._DL2 = []), null == this._GenINFO[149] && (this._GenINFO[149] = []), this._GenINFO[149].length != this._DL2.length && (m._customBlock_PlaySound("Comp_Beep1"), this._GenINFO[164] = 1, this._GenINFO[150] = [], this._GenINFO[150] = ("" + h.string(this._DL2[Math.round(this._DL2.length - 1)])).split(","), this._GenINFO[135] = .98, this._GenINFO[152] = 11, 4 == this._GenINFO[160] && (this._GenINFO[152] = 7), 666 > c.asNumber(this._GenINFO[150][3]) ? this._GenINFO[157] = 38 : 900 > c.asNumber(this._GenINFO[150][3]) ? this._GenINFO[157] = 84 : 980 > c.asNumber(this._GenINFO[150][3]) ? this._GenINFO[157] = 33 : this._GenINFO[157] = 42);
                                else if (99 > c.asNumber(this._GenINFO[135]) && (1 > c.asNumber(this._GenINFO[135]) - Math.floor(c.asNumber(this._GenINFO[135])) && (this._GenINFO[135] = c.asNumber(this._GenINFO[135]) + .0025, .0049 > c.asNumber(this._GenINFO[135]) - Math.floor(c.asNumber(this._GenINFO[135])) && (this._GenINFO[135] = Math.floor(c.asNumber(this._GenINFO[135])))), 0 == c.asNumber(this._GenINFO[135]) - Math.floor(c.asNumber(this._GenINFO[135]))))
                                    if (this._GenINFO[152] == c.asNumber(this._GenINFO[150][0]))
                                        2 > c.asNumber(this._GenINFO[152]) ? m._customBlock_PlaySound("Comp_PetWin3") : 4 > c.asNumber(this._GenINFO[152]) ? m._customBlock_PlaySound("Comp_PetWin2") : 7 > c.asNumber(this._GenINFO[152]) ? m._customBlock_PlaySound("Comp_PetWin1b") : m._customBlock_PlaySound("Comp_PetWin1"), this._GenINFO[135] = 100, k._customBlock_GrowImgInstREAL(this._UIinventory13[88], 0, 0, .7, "Bounce_Out"), this._GenINFO[138][37].setX(348 + c.asNumber(a.engine.getGameAttribute("CustomLists").h.CompanionDB[0 | c.asNumber(this._GenINFO[152])][5])), c.runLater(2e3, (function (e) {
                                                100 == n._GenINFO[135] && c.runLater(2e3, (function (e) {
                                                        100 == n._GenINFO[135] && (n._GenINFO[135] = 101)
                                                    }), n.actor)
                                            }), this.actor);
[152] is the length of the list of pets to iterate through. 0 = doot, 10 = frog.
[160] is your tier of petfood. 4 is the max tier, and it reduces the pool for [152] to 7. Otherwise [152] is the standard 11.
[150] is the server-side companion information, and I suspect that [150][0] is the roll for which pet you're going to receive. the code loops...

Code: Select all

this._GenINFO[152] = Math.round(c.asNumber(this._GenINFO[152]) - 1)
...until [152] == [150][0]. Theoretically, changing [152] to 0 will guarantee a doot, but doing so will brick your game unless you have a way to reroll the server-side information. I suspect that calling w.getCompanionInfoMe() will also do a roll in the server(?) and you might be able to abuse that to roll it enough times to land on your desired number. But I haven't been able to test it.

Anyway, that's about as far as I've got with analyzing it. Random note, changing the values of COMP_foodTypeOdds is purely cosmetic as far as I can tell. I did roll a doot and then a riftwalker back to back after raising the odds to >100, but I have a feeling that it might have been just a miraculous stroke of luck as the effects aren't repeatable.

tl;dr I think there might be a way to spoof the GenINFO[150][0] roll. Maybe this is an avenue for experiments for having permanent unlocks on a non-cheat client.
How did you manage to find this code, and have you been able to do any further experimenting?

evie
What is cheating?
What is cheating?
Posts: 3
Joined: Sat Feb 05, 2022 10:04 am
Reputation: 0

Re: Legends of Idleon

Post by evie »

is there some way to turn of the auto fill thing for when where i try to change my maestro i get thisImage

instead of being able to change it and it does not even have any thing to do with class change so i dont get why it show up

TheGabriel
What is cheating?
What is cheating?
Posts: 1
Joined: Sun Mar 26, 2023 6:58 pm
Reputation: 0

Re: Legends of Idleon

Post by TheGabriel »

evie wrote:
Thu Jun 22, 2023 8:41 am
is there some way to turn of the auto fill thing for when where i try to change my maestro i get thisImage

instead of being able to change it and it does not even have any thing to do with class change so i dont get why it show up
Try using "class 04" instead. I saw in another place in the thread that someone had used that to get around the autocomplete.

Saul
Cheater
Cheater
Posts: 38
Joined: Mon May 17, 2021 3:14 pm
Reputation: 16

Re: Legends of Idleon

Post by Saul »

claraS wrote:
Thu Jun 22, 2023 2:42 am
So I was looking through the code and I'm pretty sure I found the area where the pets are rolled.

Code: Select all

if (1 == this._UIinventory13On[86]) {
                            if (0 < c.asNumber(this._GenINFO[135])) {
                                if (.01 == this._GenINFO[135])
                                    this._DL2 = w.getCompanionInfoMe(), null == this._DL2 && (this._DL2 = []), null == this._GenINFO[149] && (this._GenINFO[149] = []), this._GenINFO[149].length != this._DL2.length && (m._customBlock_PlaySound("Comp_Beep1"), this._GenINFO[164] = 1, this._GenINFO[150] = [], this._GenINFO[150] = ("" + h.string(this._DL2[Math.round(this._DL2.length - 1)])).split(","), this._GenINFO[135] = .98, this._GenINFO[152] = 11, 4 == this._GenINFO[160] && (this._GenINFO[152] = 7), 666 > c.asNumber(this._GenINFO[150][3]) ? this._GenINFO[157] = 38 : 900 > c.asNumber(this._GenINFO[150][3]) ? this._GenINFO[157] = 84 : 980 > c.asNumber(this._GenINFO[150][3]) ? this._GenINFO[157] = 33 : this._GenINFO[157] = 42);
                                else if (99 > c.asNumber(this._GenINFO[135]) && (1 > c.asNumber(this._GenINFO[135]) - Math.floor(c.asNumber(this._GenINFO[135])) && (this._GenINFO[135] = c.asNumber(this._GenINFO[135]) + .0025, .0049 > c.asNumber(this._GenINFO[135]) - Math.floor(c.asNumber(this._GenINFO[135])) && (this._GenINFO[135] = Math.floor(c.asNumber(this._GenINFO[135])))), 0 == c.asNumber(this._GenINFO[135]) - Math.floor(c.asNumber(this._GenINFO[135]))))
                                    if (this._GenINFO[152] == c.asNumber(this._GenINFO[150][0]))
                                        2 > c.asNumber(this._GenINFO[152]) ? m._customBlock_PlaySound("Comp_PetWin3") : 4 > c.asNumber(this._GenINFO[152]) ? m._customBlock_PlaySound("Comp_PetWin2") : 7 > c.asNumber(this._GenINFO[152]) ? m._customBlock_PlaySound("Comp_PetWin1b") : m._customBlock_PlaySound("Comp_PetWin1"), this._GenINFO[135] = 100, k._customBlock_GrowImgInstREAL(this._UIinventory13[88], 0, 0, .7, "Bounce_Out"), this._GenINFO[138][37].setX(348 + c.asNumber(a.engine.getGameAttribute("CustomLists").h.CompanionDB[0 | c.asNumber(this._GenINFO[152])][5])), c.runLater(2e3, (function (e) {
                                                100 == n._GenINFO[135] && c.runLater(2e3, (function (e) {
                                                        100 == n._GenINFO[135] && (n._GenINFO[135] = 101)
                                                    }), n.actor)
                                            }), this.actor);
[152] is the length of the list of pets to iterate through. 0 = doot, 10 = frog.
[160] is your tier of petfood. 4 is the max tier, and it reduces the pool for [152] to 7. Otherwise [152] is the standard 11.
[150] is the server-side companion information, and I suspect that [150][0] is the roll for which pet you're going to receive. the code loops...

Code: Select all

this._GenINFO[152] = Math.round(c.asNumber(this._GenINFO[152]) - 1)
...until [152] == [150][0]. Theoretically, changing [152] to 0 will guarantee a doot, but doing so will brick your game unless you have a way to reroll the server-side information. I suspect that calling w.getCompanionInfoMe() will also do a roll in the server(?) and you might be able to abuse that to roll it enough times to land on your desired number. But I haven't been able to test it.

Anyway, that's about as far as I've got with analyzing it. Random note, changing the values of COMP_foodTypeOdds is purely cosmetic as far as I can tell. I did roll a doot and then a riftwalker back to back after raising the odds to >100, but I have a feeling that it might have been just a miraculous stroke of luck as the effects aren't repeatable.

tl;dr I think there might be a way to spoof the GenINFO[150][0] roll. Maybe this is an avenue for experiments for having permanent unlocks on a non-cheat client.
if you change

Code: Select all

else if (99 > c.asNumber(this._GenINFO[135]) && (1 > c.asNumber(this._GenINFO[135]) - Math.floor(c.asNumber(this._GenINFO[135])) && (this._GenINFO[135] = c.asNumber(this._GenINFO[135]) + .0025, .0049 > c.asNumber(this._GenINFO[135]) - Math.floor(c.asNumber(this._GenINFO[135])) && (this._GenINFO[135] = Math.floor(c.asNumber(this._GenINFO[135])))), 0 == c.asNumber(this._GenINFO[135]) - Math.floor(c.asNumber(this._GenINFO[135]))))
to

Code: Select all

else if (99 > c.asNumber(this._GenINFO[135]) && (1 > c.asNumber(this._GenINFO[135]) - Math.floor(c.asNumber(this._GenINFO[135])) && (this._GenINFO[135] = c.asNumber(this._GenINFO[135]) + .0025, .0049 > c.asNumber(this._GenINFO[135]) - Math.floor(c.asNumber(this._GenINFO[135])) && (this._GenINFO[135] = Math.floor(c.asNumber(this._GenINFO[135])))), 0 == c.asNumber(this._GenINFO[135]) - Math.floor(c.asNumber(this._GenINFO[135]))) && (this._GenINFO[150][0] = 2))
last line of code "&& (this._GenINFO[150][0] = 2)"

visually I have got ram (in the fact because of this change I can only get ram, rift slug or doot) but when I visually got ram and I was happy in the fact I have got sandy pot... idea was nice :>

probably GenINFO[135] or GenINFO[153] its for companion roll (I don't know!) when GenINFO[150][0] its for visual roll... but I'm not sure anyway I'm only sure that GenINFO[150][0] its for visual roll <-- tested :< on 2 acc (free rolls)


GenINFO[150][3] <-- ???

claraS
Noobzor
Noobzor
Posts: 5
Joined: Wed Jun 21, 2023 11:59 pm
Reputation: 3

Re: Legends of Idleon

Post by claraS »

if you change

Code: Select all

else if (99 > c.asNumber(this._GenINFO[135]) && (1 > c.asNumber(this._GenINFO[135]) - Math.floor(c.asNumber(this._GenINFO[135])) && (this._GenINFO[135] = c.asNumber(this._GenINFO[135]) + .0025, .0049 > c.asNumber(this._GenINFO[135]) - Math.floor(c.asNumber(this._GenINFO[135])) && (this._GenINFO[135] = Math.floor(c.asNumber(this._GenINFO[135])))), 0 == c.asNumber(this._GenINFO[135]) - Math.floor(c.asNumber(this._GenINFO[135]))))
to

Code: Select all

else if (99 > c.asNumber(this._GenINFO[135]) && (1 > c.asNumber(this._GenINFO[135]) - Math.floor(c.asNumber(this._GenINFO[135])) && (this._GenINFO[135] = c.asNumber(this._GenINFO[135]) + .0025, .0049 > c.asNumber(this._GenINFO[135]) - Math.floor(c.asNumber(this._GenINFO[135])) && (this._GenINFO[135] = Math.floor(c.asNumber(this._GenINFO[135])))), 0 == c.asNumber(this._GenINFO[135]) - Math.floor(c.asNumber(this._GenINFO[135]))) && (this._GenINFO[150][0] = 2))
last line of code "&& (this._GenINFO[150][0] = 2)"

visually I have got ram (in the fact because of this change I can only get ram, rift slug or doot) but when I visually got ram and I was happy in the fact I have got sandy pot... idea was nice :>

probably GenINFO[135] or GenINFO[153] its for companion roll when GenINFO[150][0] its for visual roll... but I'm not sure anyway I'm only sure that GenINFO[150][0] its for visual roll <-- tested :< on 2 acc (free rolls)


GenINFO[150][3] <-- ???
Yeah I tested the same thing with setting values on [150] and got the same results. I think the only benefit of changing [150] to a specific number is to make the gacha rolls happen quicker, as it can skip over all the animations for the lower tiers. Interestingly, from this we can see that the server has already determined what pet you're going to get at the moment you press the button. I think the solution might be to find the moment when information is sent from the client to the server to start the roll generation and reroll it until it's the desired result?

[135] definitely initiates the rolls, but I don't see any calls to the server except for w.getCompanionInfo()...so I'm kind of at a dead end there.
[150][3] feeds [157], and [157] is just telling the game which .png to use...so it's probably nothing?

EDIT: OH, actually right as I was about to send, I found something. I'm 99% sure that this is what generates the roll. If so, it's going to be impossible to do anything. If you have enough crystals (checked server-side) and your storage is less than max (checked server-side), and you click on the button, then it calls w.buyCompanionBox(1) and it also tells [135] to start rolling the pet client-side.

Code: Select all

0 <= c.asNumber(this._GenINFO[133]) && 2 >= c.asNumber(this._GenINFO[133]) && 1 == p._customBlock_IsXYmouseWithinBounds(196, 291, 4, 39) ? (this._GenINFO[133] = 2 == this._GenINFO[133] ? 0 : 2, this._GenINFO[168] = 0, this._TRIGGEREDtext = "ab", this._customEvent_CompStuff()) : 0 <= c.asNumber(this._GenINFO[133]) && 1 >= c.asNumber(this._GenINFO[133]) && 1 == p._customBlock_IsXYmouseWithinBounds(529, 671, 284, 332) && (this._DL1 = w.getCompanionInfoMe(), null == this._DL1 && (this._DL1 = []), this._DL1.length < c.asNumber(w.getStorage()) && (1 == this._GenINFO[168] ? 1 == this._GenINFO[169] && (this._DN1 = 1e3 * c.asNumber(a.engine.getGameAttribute("TimeAway").h.GlobalTime), 0 == c.asNumber(w.getFreeCompanionRemainingTime(this._DN1)) && (this._GenINFO[149] = w.getCompanionInfoMe(), w.freeCompanionBox(), this._GenINFO[135] = .01, this._GenINFO[133] = 0, this._TRIGGEREDtext = "ab", this._customEvent_CompStuff())) : c.asNumber(w.getMyStars()) >= Math.round(c.asNumber("" + q._customBlock_RunCodeOfType("COMP_foodCost"))) && (this._GenINFO[149] = w.getCompanionInfoMe(), w.buyCompanionBox(1), this._GenINFO[135] = .01, this._GenINFO[133] = 0, this._TRIGGEREDtext = "ab", this._customEvent_CompStuff())));
EDIT2: also, there's w.freeCompanionBox() in that same line which is the f2p equivalent. I'm going to test out some new accounts and see if I can force it to roll several times despite the time requirements, or maybe if the free pet can trigger the paid pet option for recycling purposes.

EDIT3: the conditions for valid rolls are verified server-side as well, so there's nothing that can be done. alas...

Hextechrune
What is cheating?
What is cheating?
Posts: 3
Joined: Thu Jun 22, 2023 8:01 am
Reputation: 0

Re: Legends of Idleon

Post by Hextechrune »

claraS wrote:
Thu Jun 22, 2023 5:34 pm
if you change

Code: Select all

else if (99 > c.asNumber(this._GenINFO[135]) && (1 > c.asNumber(this._GenINFO[135]) - Math.floor(c.asNumber(this._GenINFO[135])) && (this._GenINFO[135] = c.asNumber(this._GenINFO[135]) + .0025, .0049 > c.asNumber(this._GenINFO[135]) - Math.floor(c.asNumber(this._GenINFO[135])) && (this._GenINFO[135] = Math.floor(c.asNumber(this._GenINFO[135])))), 0 == c.asNumber(this._GenINFO[135]) - Math.floor(c.asNumber(this._GenINFO[135]))))
to

Code: Select all

else if (99 > c.asNumber(this._GenINFO[135]) && (1 > c.asNumber(this._GenINFO[135]) - Math.floor(c.asNumber(this._GenINFO[135])) && (this._GenINFO[135] = c.asNumber(this._GenINFO[135]) + .0025, .0049 > c.asNumber(this._GenINFO[135]) - Math.floor(c.asNumber(this._GenINFO[135])) && (this._GenINFO[135] = Math.floor(c.asNumber(this._GenINFO[135])))), 0 == c.asNumber(this._GenINFO[135]) - Math.floor(c.asNumber(this._GenINFO[135]))) && (this._GenINFO[150][0] = 2))
last line of code "&& (this._GenINFO[150][0] = 2)"

visually I have got ram (in the fact because of this change I can only get ram, rift slug or doot) but when I visually got ram and I was happy in the fact I have got sandy pot... idea was nice :>

probably GenINFO[135] or GenINFO[153] its for companion roll when GenINFO[150][0] its for visual roll... but I'm not sure anyway I'm only sure that GenINFO[150][0] its for visual roll <-- tested :< on 2 acc (free rolls)


GenINFO[150][3] <-- ???
Yeah I tested the same thing with setting values on [150] and got the same results. I think the only benefit of changing [150] to a specific number is to make the gacha rolls happen quicker, as it can skip over all the animations for the lower tiers. Interestingly, from this we can see that the server has already determined what pet you're going to get at the moment you press the button. I think the solution might be to find the moment when information is sent from the client to the server to start the roll generation and reroll it until it's the desired result?

[135] definitely initiates the rolls, but I don't see any calls to the server except for w.getCompanionInfo()...so I'm kind of at a dead end there.
[150][3] feeds [157], and [157] is just telling the game which .png to use...so it's probably nothing?

EDIT: OH, actually right as I was about to send, I found something. I'm 99% sure that this is what generates the roll. If so, it's going to be impossible to do anything. If you have enough crystals (checked server-side) and your storage is less than max (checked server-side), and you click on the button, then it calls w.buyCompanionBox(1) and it also tells [135] to start rolling the pet client-side.

Code: Select all

0 <= c.asNumber(this._GenINFO[133]) && 2 >= c.asNumber(this._GenINFO[133]) && 1 == p._customBlock_IsXYmouseWithinBounds(196, 291, 4, 39) ? (this._GenINFO[133] = 2 == this._GenINFO[133] ? 0 : 2, this._GenINFO[168] = 0, this._TRIGGEREDtext = "ab", this._customEvent_CompStuff()) : 0 <= c.asNumber(this._GenINFO[133]) && 1 >= c.asNumber(this._GenINFO[133]) && 1 == p._customBlock_IsXYmouseWithinBounds(529, 671, 284, 332) && (this._DL1 = w.getCompanionInfoMe(), null == this._DL1 && (this._DL1 = []), this._DL1.length < c.asNumber(w.getStorage()) && (1 == this._GenINFO[168] ? 1 == this._GenINFO[169] && (this._DN1 = 1e3 * c.asNumber(a.engine.getGameAttribute("TimeAway").h.GlobalTime), 0 == c.asNumber(w.getFreeCompanionRemainingTime(this._DN1)) && (this._GenINFO[149] = w.getCompanionInfoMe(), w.freeCompanionBox(), this._GenINFO[135] = .01, this._GenINFO[133] = 0, this._TRIGGEREDtext = "ab", this._customEvent_CompStuff())) : c.asNumber(w.getMyStars()) >= Math.round(c.asNumber("" + q._customBlock_RunCodeOfType("COMP_foodCost"))) && (this._GenINFO[149] = w.getCompanionInfoMe(), w.buyCompanionBox(1), this._GenINFO[135] = .01, this._GenINFO[133] = 0, this._TRIGGEREDtext = "ab", this._customEvent_CompStuff())));
EDIT2: also, there's w.freeCompanionBox() in that same line which is the f2p equivalent. I'm going to test out some new accounts and see if I can force it to roll several times despite the time requirements, or maybe if the free pet can trigger the paid pet option for recycling purposes.

EDIT3: the conditions for valid rolls are verified server-side as well, so there's nothing that can be done. alas...
Hold up there, we might still have a solution potentially.
I'm not technical enough to try and attempt it, but would it be possible to adjust the inbound data telling us what pet we get?
Or is there outbound data that could be adjusted to rig the rolls?

What about the crystals, is there a way to get more of them?

Post Reply

Who is online

Users browsing this forum: Fraerless, ItIsTheLord, sorawind2, WhoAmI