[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...
...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.
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.
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.
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.
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
[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...
...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.
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
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?