Legends of Idleon

Ask about cheats/tables for single player games here
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 »

Saul wrote:
Thu Jun 22, 2023 2:18 pm
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] <-- ???
I also force adjusted the value of 7 (the number of pets available at tier 4 treat) to a value of 1
Visually it showed I got king doot, but in reality I seemed to have lost the crystals entirely and gotten nothing. It bricked the game client side.

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

Re: Legends of Idleon

Post by claraS »

Hextechrune wrote:
Thu Jun 22, 2023 6:17 pm
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?
You can change the inbound data, but that doesn't change what's actually stored on the server. In other words, it will just temporarily look like you're getting pet XYZ, but it will show up as the intended pet afterwards. Seems like the only solution is the one from the cheat client where they just enable the pets client-side without real ownership on a legit client.
Hextechrune wrote:
Thu Jun 22, 2023 6:19 pm
I also force adjusted the value of 7 (the number of pets available at tier 4 treat) to a value of 1
Visually it showed I got king doot, but in reality I seemed to have lost the crystals entirely and gotten nothing. It bricked the game client side.
Yeah I did mention that it would brick in the original post 😅 unlucky.

bdrago
Noobzor
Noobzor
Posts: 11
Joined: Sun Jun 11, 2023 12:17 am
Reputation: 1

Re: Legends of Idleon

Post by bdrago »

Is there an update to the injector from 1.2

RamdomGuy55
What is cheating?
What is cheating?
Posts: 1
Joined: Fri Jun 23, 2023 1:20 am
Reputation: 0

Re: Legends of Idleon

Post by RamdomGuy55 »

Can anyone give me hand, before the update I can change the value of item that in my slot, but now it seems like I can't even find that value even after many tries , the type is 4byte and it double value right?, and I have try multiple times to find the items value and still didn't find it

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

Re: Legends of Idleon

Post by claraS »

bdrago wrote:
Thu Jun 22, 2023 9:42 pm
Is there an update to the injector from 1.2
viewtopic.php?p=268697#p268697

dignz
What is cheating?
What is cheating?
Posts: 2
Joined: Fri Jun 23, 2023 12:40 am
Reputation: 0

Re: Legends of Idleon

Post by dignz »

Hmm, I bought the gem store bags; but they don't seem to register on my account. How would I fix it or revert the purchases?

qwertyuiop111asd
Cheater
Cheater
Posts: 35
Joined: Thu Jun 16, 2022 1:24 am
Reputation: 3

Re: Legends of Idleon

Post by qwertyuiop111asd »

dignz wrote:
Fri Jun 23, 2023 4:06 am
Hmm, I bought the gem store bags; but they don't seem to register on my account. How would I fix it or revert the purchases?
Did you use the bags themselves? Check your storage/inventories.

haac0793
What is cheating?
What is cheating?
Posts: 3
Joined: Sat Apr 15, 2023 5:13 am
Reputation: 0

Re: Legends of Idleon

Post by haac0793 »

Hello I lvled w5 divinity God Rank(the one after all gods are unlocked) too high,
anyone knows how to lower or reset God Rank ?
thx

glyth
Expert Cheater
Expert Cheater
Posts: 184
Joined: Tue Aug 29, 2017 4:30 am
Reputation: 5

Re: Legends of Idleon

Post by glyth »

is there a way to take away talent points and aslo set only one stamp level ?

dededefrfrf
Noobzor
Noobzor
Posts: 12
Joined: Tue Jun 20, 2023 9:41 am
Reputation: 4

Re: Legends of Idleon

Post by dededefrfrf »

is there any way to get the bundle from the gem shop without being shadow ban ?

tympanicblock61
Cheater
Cheater
Posts: 34
Joined: Thu Mar 10, 2022 7:12 am
Reputation: 2

Re: Legends of Idleon

Post by tympanicblock61 »

im going to add modding functionality basically because i have been wanting to do this for like a year now

gonna work on events, chat stuff, adding items, changing items and maybe adding monsters

adding items gonna be easy lol `bEngine.gameAttributes.h.ItemDefinitionsGET.h`

Image
Last edited by tympanicblock61 on Fri Jun 23, 2023 1:24 pm, edited 4 times in total.

dignz
What is cheating?
What is cheating?
Posts: 2
Joined: Fri Jun 23, 2023 12:40 am
Reputation: 0

Re: Legends of Idleon

Post by dignz »

qwertyuiop111asd wrote:
Fri Jun 23, 2023 4:21 am
dignz wrote:
Fri Jun 23, 2023 4:06 am
Hmm, I bought the gem store bags; but they don't seem to register on my account. How would I fix it or revert the purchases?
Did you use the bags themselves? Check your storage/inventories.
Yeah I used them all, in order. Very strange.

To clarify, when I goto storage info, the icons show up in acquired bags. But the extra inventory space is not there

valleymon
Expert Cheater
Expert Cheater
Posts: 185
Joined: Fri Aug 26, 2022 6:12 am
Reputation: 219

Re: Legends of Idleon

Post by valleymon »

Hextechrune wrote:
Thu Jun 22, 2023 6:19 pm
Saul wrote:
Thu Jun 22, 2023 2:18 pm
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] <-- ???
I also force adjusted the value of 7 (the number of pets available at tier 4 treat) to a value of 1
Visually it showed I got king doot, but in reality I seemed to have lost the crystals entirely and gotten nothing. It bricked the game client side.
getCompanionInfoMe returns an array of the companions you already have. That's how the cheat I implemented works - by overriding that function to return an array containing 0-10.
w.freeCompanionBox looked promising, but it's validated server side so you can't just call it over and over
w.getFreeCompanionRemainingTime was another promising avenue... Sadly having it always return 0 stops the game from working. Maybe just setting it to 0 on map 41, but again im pretty sure there will be server side validation

tympanicblock61
Cheater
Cheater
Posts: 34
Joined: Thu Mar 10, 2022 7:12 am
Reputation: 2

Re: Legends of Idleon

Post by tympanicblock61 »

i cannot identify where the monsters and items get set their images :(

wing1412
Noobzor
Noobzor
Posts: 6
Joined: Wed Nov 23, 2022 7:12 am
Reputation: 0

Re: Legends of Idleon

Post by wing1412 »

valleymon wrote:
Fri Jun 23, 2023 1:24 pm
Hextechrune wrote:
Thu Jun 22, 2023 6:19 pm
Saul wrote:
Thu Jun 22, 2023 2:18 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 (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] <-- ???
I also force adjusted the value of 7 (the number of pets available at tier 4 treat) to a value of 1
Visually it showed I got king doot, but in reality I seemed to have lost the crystals entirely and gotten nothing. It bricked the game client side.
getCompanionInfoMe returns an array of the companions you already have. That's how the cheat I implemented works - by overriding that function to return an array containing 0-10.
w.freeCompanionBox looked promising, but it's validated server side so you can't just call it over and over
w.getFreeCompanionRemainingTime was another promising avenue... Sadly having it always return 0 stops the game from working. Maybe just setting it to 0 on map 41, but again im pretty sure there will be server side validation
Does this mean it's not possible to get doot without paying?

Post Reply