[REQUEST] Moonstone Island

Ask about cheats/tables for single player games here
Jessen
Expert Cheater
Expert Cheater
Posts: 218
Joined: Sat Mar 04, 2017 10:03 am
Reputation: 33

Re: [REQUEST] Moonstone Island

Post by Jessen »

leegao wrote:
Thu Oct 05, 2023 3:35 am
You could also add/change the first (or nth) item of your inventory with this loop (I haven't actually tested this)
I tried this and it didn't work. Wanted to try and give myself more psychic eggs to speed up my time.

tripledj21
What is cheating?
What is cheating?
Posts: 4
Joined: Mon Jan 23, 2023 4:54 pm
Reputation: 0

Re: [REQUEST] Moonstone Island

Post by tripledj21 »

I have tried to modify my time speed and stamina by modifying the c3runtine.js and nothing seems to be happening.

Jessen
Expert Cheater
Expert Cheater
Posts: 218
Joined: Sat Mar 04, 2017 10:03 am
Reputation: 33

Re: [REQUEST] Moonstone Island

Post by Jessen »

anyone find a way to increase the chance of shiny holo spirits?

hudell
Noobzor
Noobzor
Posts: 5
Joined: Sun May 16, 2021 4:42 am
Reputation: 3

Re: [REQUEST] Moonstone Island

Post by hudell »

tripledj21 wrote:
Thu Oct 05, 2023 7:43 am
I have tried to modify my time speed and stamina by modifying the c3runtine.js and nothing seems to be happening.
If you see no change at all in the game then maybe the original package.nw file is still there? You need to rename it to something else so when the game looks for 'package.nw' it should only find the folder you modified.

leegao
Noobzor
Noobzor
Posts: 10
Joined: Wed Oct 04, 2023 9:04 pm
Reputation: 4

Re: [REQUEST] Moonstone Island

Post by leegao »

Jessen wrote:
Thu Oct 05, 2023 7:17 am
leegao wrote:
Thu Oct 05, 2023 3:35 am
You could also add/change the first (or nth) item of your inventory with this loop (I haven't actually tested this)
I tried this and it didn't work. Wanted to try and give myself more psychic eggs to speed up my time.
It turns out there was another structure that actually tracked the inventory (the one I saw was only used to render the Inventory Container slots' UI)

Here's one that sets the last item in your inventory (index 38) to 99 moonstones

Code: Select all

         for (let i of runtime$jscomp$1._instancesByUid.values()) {
             if (i._objectType._jsPropName == "inventoryArray" 
                 && i._sdkInst._arr
                 && i._sdkInst._arr.length > 0) {
                     i._sdkInst._arr[38][0][0] = 99; // count of items
                     i._sdkInst._arr[38][1][0] = "moonstone"; // type of item, check out itemArray.json
                     break;
             }
         }
you can add this loop to the same function I posted above, and it'll perpetually set the last item in the inventory to 99 moonstones (even if you move the stack away, it'll immediately give you more).

If you remove the "moonstone" part (and maybe do a check for i._sdkInst._arr[38][0][0] > 0), you can also use this to easily 99x any item (by just putting it in the last slot of your inventory)


Note that I'm also on `1.0.1674.1` (I think this might be an older version now). That said, the main state variables (e.g. runtime$jscomp$1) shouldn't change

Jessen
Expert Cheater
Expert Cheater
Posts: 218
Joined: Sat Mar 04, 2017 10:03 am
Reputation: 33

Re: [REQUEST] Moonstone Island

Post by Jessen »

leegao wrote:
Thu Oct 05, 2023 3:35 am

Code: Select all

         for (let i of runtime$jscomp$1._instancesByUid.values()) {
             if (i._objectType._jsPropName == "inventoryArray" 
                 && i._sdkInst._arr
                 && i._sdkInst._arr.length > 0) {
                     i._sdkInst._arr[38][0][0] = 99; // count of items
                     i._sdkInst._arr[38][1][0] = "moonstone"; // type of item, check out itemArray.json
                     break;
             }
         }
now THIS one works just right. Thanks =3

now if only we can find a way to force holographic spirits, or change ones we have holographic.

fostot
What is cheating?
What is cheating?
Posts: 1
Joined: Sat Nov 21, 2020 6:18 am
Reputation: 0

Re: [REQUEST] Moonstone Island

Post by fostot »

Is there a way to freeze the fight energy you have so that you can do all of your cards until you decide to end turn? or better yet is there a way to freeze your spirits hp so they just dont die? finding it impossible on some of these dungeons to get by some of these guardians.

leegao
Noobzor
Noobzor
Posts: 10
Joined: Wed Oct 04, 2023 9:04 pm
Reputation: 4

Re: [REQUEST] Moonstone Island

Post by leegao »

fostot wrote:
Fri Oct 06, 2023 7:49 pm
Is there a way to freeze the fight energy you have so that you can do all of your cards until you decide to end turn? or better yet is there a way to freeze your spirits hp so they just dont die? finding it impossible on some of these dungeons to get by some of these guardians.
Unfortunately I'm out for a bit on vacation. Here's what I remember to change all energy requirements for every card to 0:

Code: Select all

         for (let i of runtime$jscomp$1._instancesByUid.values()) {
             if (i._objectType._jsPropName == "card") {
                     i._instVarValues[4] = 0; // 4 or maybe 5 corresponds to the energy spend of the card
             }
         }
You'll need to add this into one of the (several possible) functions that are triggered multiple times during a battle. The one I used was the function that returned the name of the audio file to use when the user hovers over a card.

You can try adding console.log to a couple of the functions that just return a single constant string related to battle/cards using the Chrome dev console.

Similarly, you can also pause here and look for instances (in runtime$jscomp$1._instancesByUid.values()) that correspond to your spirits and change the associated HP or status values. The _objectType._instVars array contains plaintext descriptions of all of the _instVarValues, so that'll be helpful to figure out what you need to change.

Jessen wrote:
Fri Oct 06, 2023 4:46 am
now if only we can find a way to force holographic spirits, or change ones we have holographic.

I did a quick attempt before I had to go pack last night and couldn't zero in on what needs to be changed to boost holographic chances, I'll take another look when I'm back.

BUT I think changing spirits to be holographic may be easier to do/search for. Here's how I would do it:

1. Go into your spirit medallion (so your spirits are loaded), if this doesn't work, maybe try going into their stats
2. In the dev console, pause the thread for the Runtime thread
3. Do a search of all loaded instances (see below)
4. Check out all of the logged instances (including their _objectType.instVars to see what the var values correspond to) and see if you can find something that's related to the spirit stats
5. Change a couple of them, until you get the desired results

Code: Select all

         for (let i of runtime$jscomp$1._instancesByUid.values()) {
             console.log(i._objectType._jsPropName, i._instVarValues, i);
         }

rafpoop
Noobzor
Noobzor
Posts: 14
Joined: Sat Jul 18, 2020 10:56 pm
Reputation: 4

Re: [REQUEST] Moonstone Island

Post by rafpoop »

leegao wrote:
Wed Oct 04, 2023 9:40 pm
I've been playing around with trying to RE this game a bit deeper. It turns out that it's pretty easy to do. It looks like the game was packaged up using NW.js. This means that there's a package.nw file in the game directory (a zip file, if you `file` it).
Thank you for figuring this out, I was going to mess around with my in-game time speed but I noticed all the sprites are also sitting right there. I started modding my game to get rid of the eye design on all the characters dialogue portraits, game is already starting to look so much better. The game happily takes new sprites if you put an edited sheet back, here's me testing a line on a random sprite to check if it was working. Appreciate it!

Image

This also appears to be an easy way to change all your in-game music if you want different background music. Haven't tested that yet though.

leegao
Noobzor
Noobzor
Posts: 10
Joined: Wed Oct 04, 2023 9:04 pm
Reputation: 4

Re: [REQUEST] Moonstone Island

Post by leegao »

Ooooh, making game mods w/ custom characters/dialogues would be really cool!

rafpoop
Noobzor
Noobzor
Posts: 14
Joined: Sat Jul 18, 2020 10:56 pm
Reputation: 4

Re: [REQUEST] Moonstone Island

Post by rafpoop »

leegao wrote:
Sun Oct 08, 2023 1:47 am
Ooooh, making game mods w/ custom characters/dialogues would be really cool!
[Link]

I made a guide on the subreddit to hopefully get the word out to any modders who are curious about this game!

DxDW
Noobzor
Noobzor
Posts: 6
Joined: Sun Oct 08, 2023 2:17 pm
Reputation: 1

Re: [REQUEST] Moonstone Island

Post by DxDW »

leegao wrote:
Thu Oct 05, 2023 3:35 am
And to pin your stamina, do the same thing with c3runtime.js

Search for this string (it may have changed in an update)

Code: Select all

a=>{const b=a._GetNode(0),c=a._GetNode(1),d=a._GetNode(2),e=a._GetNode(3);return()=>and(and(Math.round(b.ExpInstVar()*(c.ExpObject()/(d.ExpObject()-16))),"/"),e.ExpInstVar())}
and replace it with

Code: Select all

a=> {
    const b = a._GetNode(0)
      , c = a._GetNode(1)
      , d = a._GetNode(2)
      , e = a._GetNode(3);
    return ()=> {
        for (let i of runtime$jscomp$1._instancesByUid.values()) {
            if (i._objectType._jsPropName == "Moon") {
                i._instVarValues[15] = i._instVarValues[14]; // 15 = current stamina, 14 = max? stamina
                break;
            }
        }
        return and(and(Math.round(b.ExpInstVar() * (c.ExpObject() / (d.ExpObject() - 16))), "/"), e.ExpInstVar());
    };
}
If you'd rather do this directly in the dev console, then here's what you can do:

1. Open the dev console
2. Go to sources
3. In the Threads tab (on the right side), click on the "Runtime" thread and suspend it's execution (pause button)
4. Go to console, and type in the following code
5. Continue

Code: Select all

        for (let i of runtime$jscomp$1._instancesByUid.values()) {
            if (i._objectType._jsPropName == "Moon") {
                i._instVarValues[15] = i._instVarValues[14]; // 15 = current stamina, 14 = max? stamina
                break;
            }
        }
So I am inputting the code via DevTools, it is replenishing my Stamina, but it is not Pinning it (Stopping it from depleting?)

leegao wrote:
Fri Oct 06, 2023 2:07 am
Jessen wrote:
Thu Oct 05, 2023 7:17 am
leegao wrote:
Thu Oct 05, 2023 3:35 am
You could also add/change the first (or nth) item of your inventory with this loop (I haven't actually tested this)
I tried this and it didn't work. Wanted to try and give myself more psychic eggs to speed up my time.
It turns out there was another structure that actually tracked the inventory (the one I saw was only used to render the Inventory Container slots' UI)

Here's one that sets the last item in your inventory (index 38) to 99 moonstones

Code: Select all

 for (let i of runtime$jscomp$1._instancesByUid.values()) {
 if (i._objectType._jsPropName == "inventoryArray" 
 && i._sdkInst._arr
 && i._sdkInst._arr.length > 0) {
 i._sdkInst._arr[38][0][0] = 99; // count of items
 i._sdkInst._arr[38][1][0] = "moonstone"; // type of item, check out itemArray.json
 break;
 }
 }
you can add this loop to the same function I posted above, and it'll perpetually set the last item in the inventory to 99 moonstones (even if you move the stack away, it'll immediately give you more).

If you remove the "moonstone" part (and maybe do a check for i._sdkInst._arr[38][0][0] > 0), you can also use this to easily 99x any item (by just putting it in the last slot of your inventory)


Note that I'm also on `1.0.1674.1` (I think this might be an older version now). That said, the main state variables (e.g. runtime$jscomp$1) shouldn't change
I also added this code and it doesn't seem to loop, I get 1 stack of 99 once then I have to input the code again whilst the RunTime is Paused.

Jessen
Expert Cheater
Expert Cheater
Posts: 218
Joined: Sat Mar 04, 2017 10:03 am
Reputation: 33

Re: [REQUEST] Moonstone Island

Post by Jessen »

leegao wrote:
Sat Oct 07, 2023 12:36 am
I did a quick attempt before I had to go pack last night and couldn't zero in on what needs to be changed to boost holographic chances, I'll take another look when I'm back.

BUT I think changing spirits to be holographic may be easier to do/search for. Here's how I would do it:

1. Go into your spirit medallion (so your spirits are loaded), if this doesn't work, maybe try going into their stats
2. In the dev console, pause the thread for the Runtime thread
3. Do a search of all loaded instances (see below)
4. Check out all of the logged instances (including their _objectType.instVars to see what the var values correspond to) and see if you can find something that's related to the spirit stats
5. Change a couple of them, until you get the desired results

Code: Select all

         for (let i of runtime$jscomp$1._instancesByUid.values()) {
             console.log(i._objectType._jsPropName, i._instVarValues, i);
         }
I'm not sure what i'm looking for, so this can wait a bit for a while till you're back from vacay.

DxDW
Noobzor
Noobzor
Posts: 6
Joined: Sun Oct 08, 2023 2:17 pm
Reputation: 1

Re: [REQUEST] Moonstone Island

Post by DxDW »

So I noticed something when injecting items, if you do food/crops, you wont get the effect of the item, for example Stonefruits', +50 Stamina, or Magic Mushrooms' +100 Stamina

Anyone else had the same issue, if so anyone found a workaround/solve?

leegao
Noobzor
Noobzor
Posts: 10
Joined: Wed Oct 04, 2023 9:04 pm
Reputation: 4

Re: [REQUEST] Moonstone Island

Post by leegao »

DxDW wrote:
Mon Oct 09, 2023 12:40 pm
So I noticed something when injecting items, if you do food/crops, you wont get the effect of the item, for example Stonefruits', +50 Stamina, or Magic Mushrooms' +100 Stamina

Anyone else had the same issue, if so anyone found a workaround/solve?
So to create new items, you actually have to/get to specify the effects you get from the consumable.

To do this, you'll need to change the 3rd (index 2) item in the sdkInst arr.

For example, here's a way to turn your stack of stoneFruitCrops to be extra OP - not only will it grant you 500 stamina when consumed, but it'll give your spirit +20 of each stat, as well as heal them +100.

Code: Select all

        for (let i of runtime$jscomp$1._instancesByUid.values()) {
            if (i._objectType._jsPropName == "inventoryArray" 
                && i._sdkInst._arr
                && i._sdkInst._arr.length > 0) {
                     i._sdkInst._arr[38][0][0] = 99;
                     i._sdkInst._arr[38][1][0] = 'stoneFruitCrop';
                     i._sdkInst._arr[38][2][0] = 'Stamina:500,Speed:20,Vitality:20,Power:20,Armor:20,Hp:100';
                    break;
            }
        }
You can also do something similar with flax that has the opposite + negative effect on your enemies (including +200 tame)

Code: Select all

        for (let i of runtime$jscomp$1._instancesByUid.values()) {
            if (i._objectType._jsPropName == "inventoryArray" 
                && i._sdkInst._arr
                && i._sdkInst._arr.length > 0) {
                     i._sdkInst._arr[38][0][0] = 99;
                     i._sdkInst._arr[38][1][0] = 'flaxCrop';
                     i._sdkInst._arr[38][2][0] = 'Stamina:500,Speed:-20,Vitality:-20,Power:-20,Armor:-20,Tame:200';
                    break;
            }
        }

Post Reply

Who is online

Users browsing this forum: Jox Jox, Minijinski, mondayoff1, MrBaldy