ROM Hack Suggestion Pokemon Quest editor?

Garblant

Well-Known Member
Member
Joined
Apr 1, 2016
Messages
726
Trophies
0
Age
25
Location
Alola
XP
508
Country
United States
Welp, I guess the last thing we could really do for this game is to make an editor for the pokemon themselves.

That, along with checking for unused content (which I don't think there's any, but it would still be good to check)
 

OblivionReign

Developer
Developer
Joined
Apr 23, 2016
Messages
2,551
Trophies
2
XP
7,779
Country
Japan
I am working on one right now :D with a built in box editor and everything similar style to pkhex.
Welp, I guess the last thing we could really do for this game is to make an editor for the pokemon themselves.

That, along with checking for unused content (which I don't think there's any, but it would still be good to check)
 
  • Like
Reactions: Stoned and Garblant

OblivionReign

Developer
Developer
Joined
Apr 23, 2016
Messages
2,551
Trophies
2
XP
7,779
Country
Japan
I am working on one right now :D with a built in box editor and everything similar style to pkhex.
Currently what's there. The box pokemon button opens a seperate window for the box editor of all 300 slots
 

Attachments

  • 20180607_213622.jpg
    20180607_213622.jpg
    2.6 MB · Views: 573

SleepyPrince

Well-Known Member
Member
Joined
Aug 9, 2007
Messages
270
Trophies
0
Website
Visit site
XP
676
Country
Hong Kong
If anyone want to try dlc items, here's my "goods" data (you probably don't need the placementDatas part)
Code:
    "goods": {
      "hasDatas": [
        {
          "id": 312,
          "isNew": true
        },
        {
          "id": 313,
          "isNew": true
        },
        {
          "id": 314,
          "isNew": true
        },
        {
          "id": 400,
          "isNew": true
        },
        {
          "id": 103,
          "isNew": true
        },
        {
          "id": 401,
          "isNew": true
        },
        {
          "id": 102,
          "isNew": true
        },
        {
          "id": 201,
          "isNew": true
        },
        {
          "id": 402,
          "isNew": true
        },
        {
          "id": 100,
          "isNew": true
        },
        {
          "id": 305,
          "isNew": true
        },
        {
          "id": 206,
          "isNew": true
        },
        {
          "id": 404,
          "isNew": true
        },
        {
          "id": 101,
          "isNew": true
        },
        {
          "id": 315,
          "isNew": true
        },
        {
          "id": 316,
          "isNew": true
        },
        {
          "id": 317,
          "isNew": true
        },
        {
          "id": 318,
          "isNew": true
        },
        {
          "id": 319,
          "isNew": true
        },
        {
          "id": 300,
          "isNew": true
        },
        {
          "id": 309,
          "isNew": true
        },
        {
          "id": 200,
          "isNew": true
        },
        {
          "id": 310,
          "isNew": true
        },
        {
          "id": 204,
          "isNew": true
        },
        {
          "id": 311,
          "isNew": true
        },
        {
          "id": 202,
          "isNew": true
        },
        {
          "id": 203,
          "isNew": true
        },
        {
          "id": 205,
          "isNew": true
        },
        {
          "id": 403,
          "isNew": true
        },
        {
          "id": 306,
          "isNew": true
        },
        {
          "id": 302,
          "isNew": true
        },
        {
          "id": 307,
          "isNew": true
        },
        {
          "id": 304,
          "isNew": true
        },
        {
          "id": 308,
          "isNew": true
        },
        {
          "id": 303,
          "isNew": true
        },
        {
          "id": 301,
          "isNew": true
        },
        {
          "id": 207,
          "isNew": true
        },
        {
          "id": 320,
          "isNew": true
        },
        {
          "id": 321,
          "isNew": true
        }
      ],
      "placementDatas": [
        {
          "id": 0,
          "goodsID": 102,
          "direction": 0
        },
        {
          "id": 1,
          "goodsID": 100,
          "direction": 2
        },
        {
          "id": 2,
          "goodsID": -1,
          "direction": 0
        },
        {
          "id": 3,
          "goodsID": -1,
          "direction": 0
        },
        {
          "id": 4,
          "goodsID": 206,
          "direction": 0
        },
        {
          "id": 5,
          "goodsID": -1,
          "direction": 0
        },
        {
          "id": 6,
          "goodsID": 201,
          "direction": 0
        },
        {
          "id": 7,
          "goodsID": -1,
          "direction": 0
        },
        {
          "id": 8,
          "goodsID": -1,
          "direction": 0
        },
        {
          "id": 9,
          "goodsID": -1,
          "direction": 0
        },
        {
          "id": 10,
          "goodsID": -1,
          "direction": 0
        },
        {
          "id": 11,
          "goodsID": -1,
          "direction": 0
        },
        {
          "id": 12,
          "goodsID": -1,
          "direction": 0
        },
        {
          "id": 13,
          "goodsID": -1,
          "direction": 0
        },
        {
          "id": 14,
          "goodsID": -1,
          "direction": 0
        },
        {
          "id": 15,
          "goodsID": 400,
          "direction": 0
        },
        {
          "id": 16,
          "goodsID": 404,
          "direction": 0
        },
        {
          "id": 17,
          "goodsID": -1,
          "direction": 0
        },
        {
          "id": 18,
          "goodsID": 313,
          "direction": 3
        },
        {
          "id": 19,
          "goodsID": 401,
          "direction": 0
        },
        {
          "id": 20,
          "goodsID": 402,
          "direction": 0
        }
      ]
    }
 
  • Like
Reactions: OblivionReign

SleepyPrince

Well-Known Member
Member
Joined
Aug 9, 2007
Messages
270
Trophies
0
Website
Visit site
XP
676
Country
Hong Kong
Has anyone been analyzing the stoneData? I am able to edit some of them but a few values are still unknown
Just want to make sure I am not doing any redundant stuff
 

OblivionReign

Developer
Developer
Joined
Apr 23, 2016
Messages
2,551
Trophies
2
XP
7,779
Country
Japan
You're editing the deserialized save directly and not editing the exported JSON, right?
No no no it will be from the JSON. Doing the save directly will be waaay too much work for me

--------------------- MERGED ---------------------------

No no no it will be from the JSON. Doing the save directly will be waaay too much work for me
You're editing the deserialized save directly and not editing the exported JSON, right?
But that's what is getting Me on this. I've never done work with save files :/ my other tool I built was only using NTR to edit saves.
 

moosehunter

Well-Known Member
Member
Joined
Nov 26, 2008
Messages
219
Trophies
0
XP
342
Country
United States
No no no it will be from the JSON. Doing the save directly will be waaay too much work for me

I would have said the opposite. Doing it from the JSON would be too much work compared to the other way, especially since it looks like you're already using C#.

Literally all you have to do once you've read the save file into a byte array is
Code:
SerializeData = ZeroFormatterSerializer.Deserialize<SerializeData>(saveFile);

Besides, editing without exporting to JSON is "safer" than editing the JSON. By safer I mean there are a few bytes in the serialized data that are different from the original when importing from JSON. Those could be unused/garbage bytes, but you never know unless you investigate further.
 

OblivionReign

Developer
Developer
Joined
Apr 23, 2016
Messages
2,551
Trophies
2
XP
7,779
Country
Japan
Fr? Thank you. This will help immensely.
I would have said the opposite. Doing it from the JSON would be too much work compared to the other way, especially since it looks like you're already using C#.

Literally all you have to do once you've read the save file into a byte array is
Code:
SerializeData = ZeroFormatterSerializer.Deserialize<SerializeData>(saveFile);

Besides, editing without exporting to JSON is "safer" than editing the JSON. By safer I mean there are a few bytes in the serialized data that are different from the original when importing from JSON. Those could be unused/garbage bytes, but you never know unless you investigate further.
 

SaintEX

Well-Known Member
Member
Joined
May 24, 2018
Messages
129
Trophies
0
Location
Somewhere I don't belong.
XP
794
Country
United Arab Emirates
anyone figure out the how to edit the bingo bonuses yet? From comparing some stuff I thought that the right combination of "seikaku" and "bingoPropertyIndices" would produce similar bonuses for pokemon, but I guess I was wrong. A seikaku 19 bingo 0 on Articuno is full elemental attack but has a weird mix of bonuses on Mewtwo.
 

xSillusx

Well-Known Member
Newcomer
Joined
Jun 3, 2018
Messages
71
Trophies
0
Age
24
Location
Berlin, Germany
XP
281
Country
Germany
I would have said the opposite. Doing it from the JSON would be too much work compared to the other way, especially since it looks like you're already using C#.

Literally all you have to do once you've read the save file into a byte array is
Code:
SerializeData = ZeroFormatterSerializer.Deserialize<SerializeData>(saveFile);

Besides, editing without exporting to JSON is "safer" than editing the JSON. By safer I mean there are a few bytes in the serialized data that are different from the original when importing from JSON. Those could be unused/garbage bytes, but you never know unless you investigate further.

Hey! I know this is not the right Thread to ask this in. But could you explain how to use this? Its my first time hearing of the ZeroFormatter stuff and I cnat figure it out. If I use this call, it tells me that the type is not supported and I should register it. (System.InvalidOperationException) I have the CheckData and SerializeData class in place. You may know whats the error here? Thanks in advance for any information :)
 

GizmoTheGreen

Well-Known Member
Member
Joined
Oct 8, 2009
Messages
813
Trophies
1
XP
905
Country
I would have said the opposite. Doing it from the JSON would be too much work compared to the other way, especially since it looks like you're already using C#.

Literally all you have to do once you've read the save file into a byte array is
Code:
SerializeData = ZeroFormatterSerializer.Deserialize<SerializeData>(saveFile);

Besides, editing without exporting to JSON is "safer" than editing the JSON. By safer I mean there are a few bytes in the serialized data that are different from the original when importing from JSON. Those could be unused/garbage bytes, but you never know unless you investigate further.

exactly what I was thinking. deserialize the save in your app and work directly with the variables, then serialize it back at the end, much easier and more direct, which lessens the risks for mistakes along the way. less conversions = better.
 
  • Like
Reactions: OblivionReign

Dionis

Member
Newcomer
Joined
Jun 9, 2018
Messages
7
Trophies
0
Age
31
XP
686
Country
Japan
Code:
        "222": {
          "stoneData": [
            56,            0,            0,            0,
            56,            0,            0,            0,
            5,            0,            0,            0,
            32,            0,            0,            0,
            36,            0,            0,            0,
            40,            0,            0,            0,
            44,            0,            0,            0,
            48,            0,            0,            0,
            52,            0,            0,            0,
            0,            0,            0,            0,
            95,            0,            0,            0,
            0,            0,            0,            0,
            3,            0,            0,            0,
            100,            0,            0,            0,
            30,            0,            0,            0,
            4,            0,            0,            0,
            32,            0,            0,            0,
            32,            0,            0,            0,
            0,            0,            0,            0,
            24,            0,            0,            0,
            1,            0,            0,            0,
            16,            0,            0,            0,
            20,            0,            0,            0,
            231,            3,            0,            0,
            95,            0,            0,            0,
            32,            0,            0,            0,
            32,            0,            0,            0,
            23,            0,            0,            0,
            24,            0,            0,            0,
            1,            0,            0,            0,
            16,            0,            0,            0,
            20,            0,            0,            0,
            118,            190,            127,            63,
            90,            0,            0,            0,
            32,            0,            0,            0,
            32,            0,            0,            0,
            27,            0,            0,            0,
            24,            0,            0,            0,
            1,            0,            0,            0,
            16,            0,            0,            0,
            20,            0,            0,            0,
            118,            190,            127,            63,
            85,            0,            0,            0,
            32,            0,            0,            0,
            32,            0,            0,            0,
            26,            0,            0,            0,
            24,            0,            0,            0,
            1,            0,            0,            0,
            16,            0,            0,            0,
            20,            0,            0,            0,
            118,            190,            127,            63,
            95,            0,            0,            0
          ],
          "characterStorageIndex": -1,
          "isNew": true,
          "timeTicks": 636640987930762695
        },

Moving speed + 100.9% Critical damage up + 100.9%(max100%) Critical Rate + 100.9% (max100%)

"222" = Stone ID. I think that it is better not to use the same numbers.
231, 3, => e7, 3, => 3e7 => Attack +999 This seems to be over 1k
118, 190, 127, 63, => 76, BE, 7F, 3F, => 0x3F7FBE76 => float 0.999

Please tell me if there are any other things to know.

edit:
The numbers at the top of the "24,0,0,0," was found to be a number of capacity.
For now, I understand now as follows.
Code:
5 : Skill Reduced latency (It must be a negative number.  ex.163,112,125,191 => -0.990)
9 : Skill Increase the size of attack.
14 : Nature recovery up.
23 : Move speed up.
26 : Critical rate. upper limit +100.
27 : Critical damage. upper limit +100.
28 : Reduced resurrection time.  upper limit -50. (It must be a negative number.  ex.163,112,125,191 => -0.990)
29 : HP up at resurrection.  upper limit +50.
40 : HP recovery with attack. upper limit +10.
41 : HP recovery if you defeat the enemy. upper limit +100.
48 : Improve the tolerance of negative effects.
49 : Total condition abnormal tolerance
Since I am a Japanese user, I do not know the name of the ability, so it was written as above.
If this number was simply changed, there was a case that the influence became minus, so it seems necessary to investigate a little more.
DfTNKQbUwAAadwG.jpg
 
Last edited by Dionis,

Stoned

Well-Known Member
Member
Joined
Mar 26, 2014
Messages
2,765
Trophies
2
Age
45
XP
4,428
Country
Germany
If anyone want to try dlc items, here's my "goods" data (you probably don't need the placementDatas part)
Code:
    "goods": {
      "hasDatas": [
        {
          "id": 312,
          "isNew": true
        },
        {
          "id": 313,
          "isNew": true
        },
        {
          "id": 314,
          "isNew": true
        },
        {
          "id": 400,
          "isNew": true
        },
        {
          "id": 103,
          "isNew": true
        },
        {
          "id": 401,
          "isNew": true
        },
        {
          "id": 102,
          "isNew": true
        },
        {
          "id": 201,
          "isNew": true
        },
        {
          "id": 402,
          "isNew": true
        },
        {
          "id": 100,
          "isNew": true
        },
        {
          "id": 305,
          "isNew": true
        },
        {
          "id": 206,
          "isNew": true
        },
        {
          "id": 404,
          "isNew": true
        },
        {
          "id": 101,
          "isNew": true
        },
        {
          "id": 315,
          "isNew": true
        },
        {
          "id": 316,
          "isNew": true
        },
        {
          "id": 317,
          "isNew": true
        },
        {
          "id": 318,
          "isNew": true
        },
        {
          "id": 319,
          "isNew": true
        },
        {
          "id": 300,
          "isNew": true
        },
        {
          "id": 309,
          "isNew": true
        },
        {
          "id": 200,
          "isNew": true
        },
        {
          "id": 310,
          "isNew": true
        },
        {
          "id": 204,
          "isNew": true
        },
        {
          "id": 311,
          "isNew": true
        },
        {
          "id": 202,
          "isNew": true
        },
        {
          "id": 203,
          "isNew": true
        },
        {
          "id": 205,
          "isNew": true
        },
        {
          "id": 403,
          "isNew": true
        },
        {
          "id": 306,
          "isNew": true
        },
        {
          "id": 302,
          "isNew": true
        },
        {
          "id": 307,
          "isNew": true
        },
        {
          "id": 304,
          "isNew": true
        },
        {
          "id": 308,
          "isNew": true
        },
        {
          "id": 303,
          "isNew": true
        },
        {
          "id": 301,
          "isNew": true
        },
        {
          "id": 207,
          "isNew": true
        },
        {
          "id": 320,
          "isNew": true
        },
        {
          "id": 321,
          "isNew": true
        }
      ],
      "placementDatas": [
        {
          "id": 0,
          "goodsID": 102,
          "direction": 0
        },
        {
          "id": 1,
          "goodsID": 100,
          "direction": 2
        },
        {
          "id": 2,
          "goodsID": -1,
          "direction": 0
        },
        {
          "id": 3,
          "goodsID": -1,
          "direction": 0
        },
        {
          "id": 4,
          "goodsID": 206,
          "direction": 0
        },
        {
          "id": 5,
          "goodsID": -1,
          "direction": 0
        },
        {
          "id": 6,
          "goodsID": 201,
          "direction": 0
        },
        {
          "id": 7,
          "goodsID": -1,
          "direction": 0
        },
        {
          "id": 8,
          "goodsID": -1,
          "direction": 0
        },
        {
          "id": 9,
          "goodsID": -1,
          "direction": 0
        },
        {
          "id": 10,
          "goodsID": -1,
          "direction": 0
        },
        {
          "id": 11,
          "goodsID": -1,
          "direction": 0
        },
        {
          "id": 12,
          "goodsID": -1,
          "direction": 0
        },
        {
          "id": 13,
          "goodsID": -1,
          "direction": 0
        },
        {
          "id": 14,
          "goodsID": -1,
          "direction": 0
        },
        {
          "id": 15,
          "goodsID": 400,
          "direction": 0
        },
        {
          "id": 16,
          "goodsID": 404,
          "direction": 0
        },
        {
          "id": 17,
          "goodsID": -1,
          "direction": 0
        },
        {
          "id": 18,
          "goodsID": 313,
          "direction": 3
        },
        {
          "id": 19,
          "goodsID": 401,
          "direction": 0
        },
        {
          "id": 20,
          "goodsID": 402,
          "direction": 0
        }
      ]
    }

Doesn´t work. :/
 
  • Like
Reactions: OblivionReign

xSillusx

Well-Known Member
Newcomer
Joined
Jun 3, 2018
Messages
71
Trophies
0
Age
24
Location
Berlin, Germany
XP
281
Country
Germany
Hey! I know this is not the right Thread to ask this in. But could you explain how to use this? Its my first time hearing of the ZeroFormatter stuff and I cnat figure it out. If I use this call, it tells me that the type is not supported and I should register it. (System.InvalidOperationException) I have the CheckData and SerializeData class in place. You may know whats the error here? Thanks in advance for any information :)

Okay, after a day of researching I made some progress! Turns out I just had an old ZeroFormatter Package and it didnt want to be used properly :( Now after updating it, i can read the save file while debugging, awesome! Thanks to everyone for the help!
 
  • Like
Reactions: GizmoTheGreen

Site & Scene News

Popular threads in this forum

General chit-chat
Help Users
  • BigOnYa @ BigOnYa:
    Only Xbox I don't have is the OG, and One X model specifically, I regret giving my chipped OG model to one of my kids years ago, after later hearing he sold it to pawn shop, damn kids!
    +2
  • SylverReZ @ SylverReZ:
    @BigOnYa, You shouldn't raise Fortnite gamers.
    +1
  • BigOnYa @ BigOnYa:
    They have they own kids now that will pay them back for all the things they did to me, that's how it works, Karma.
    +2
  • K3Nv2 @ K3Nv2:
    Tell their kids about pawn shops
    +2
  • K3Nv2 @ K3Nv2:
    Lol I still got mw2 open beta on this ps4
  • BigOnYa @ BigOnYa:
    I just recently picked up a n64 from a garage sell, and looking to mod it and add a HDMI port to it. https://www.ebay.com/itm/3548173115...044&customid=4f3038da73b61afddf7e5e90f4153856
  • BigOnYa @ BigOnYa:
    I'd like to find a power strip and HDMI selector built in 1 unit, so I can select which game system I want, and will switch to that hdmi, and power on that plug/power supply only, so don't have all game systems powered all the time, but can't find anything like. May just have to make something myself.
  • BigOnYa @ BigOnYa:
    Maybe start a kick starter page and sell them, yea right. Big N would prob C&D me, not anything Big N related, but just because that's what they do nowdays. Then come out with they own in a year or so.
  • SylverReZ @ SylverReZ:
    @Xdqwerty, Nice. Which operating system are you installing?
  • Xdqwerty @ Xdqwerty:
    @SylverReZ, windows 10 and some linux distro like linux mint
  • Xdqwerty @ Xdqwerty:
    dualbooth
  • SylverReZ @ SylverReZ:
    @Xdqwerty, Yeah, I'd recommend having another OS just in-case you want to play games.
  • SylverReZ @ SylverReZ:
    At least Linux doesn't contain spyware than what Windows has.
  • Xdqwerty @ Xdqwerty:
    @SylverReZ, cuz of lag?
  • SylverReZ @ SylverReZ:
    @Xdqwerty, No. Whenever you use the internet on Windows, Microsoft collects personal data and installs bloatware that isn't necessarily needed, such as Edge.
  • SylverReZ @ SylverReZ:
    Speaking of which
  • Xdqwerty @ Xdqwerty:
    @SylverReZ,
    I recall @impeeza mentioned some trick about not having bloatware when installing windows where you set up your country to "world" or smh like that
    +1
  • SylverReZ @ SylverReZ:
    Yes, you can debloat the operating system, but in some cases for me it just reinstalls them.
    +1
  • Xdqwerty @ Xdqwerty:
    @SylverReZ,
    I also recall my brother downloded a "non bloated" version of windows 11 on his pc
    +1
  • BigOnYa @ BigOnYa:
    "Why debloat? Why not embrace and enjoy my bloat?" - Gates
    +2
  • impeeza @ impeeza:
    @Xdqwerty yes, when you are installing Windows on the first steps you are asked for your current location, you MUST to select «international» so no bloatware is installed, because the bloatware is location based. if this night I have some time I will setup a VM and take screenshots.
    +1
  • BigOnYa @ BigOnYa:
    User Gates "Disliked" your answer.
    BigOnYa @ BigOnYa: User Gates "Disliked" your answer.