The PokéCommunity Forums Fan Games ROM Hacking Research & Development
Quick Research & Development Thread

Research & Development Got a well-founded knack with ROM hacking? Love reverse-engineering the Pokémon games? Or perhaps you love your assembly language. This is the spot for polling and gathering your ideas, and then implementing them! Share your hypothesis, get ideas from others, and collaborate to create!


Reply
 
Thread Tools
  #1051    
Old May 12th, 2018 (12:57 PM). Edited May 12th, 2018 by Sakakii.
Sakakii's Avatar
Sakakii Sakakii is offline
     
    Join Date: Nov 2017
    Posts: 76
    This has probably been documented already, but if it's useful for anyone then hey I'm helping...
    For FireRed:

    Messed around with the 'view memory' function in my emulator.

    0x020242D4 is the ram offset for Pokemon in first slot status condition.

    It's one byte (00).
    Changing this gives these effects:
    01 gives you 1 turn of sleep, 02 gives you 2 turns of sleep, etc, the sleep counter persists after battle
    (I guess this is how sleep works in this gen, or side effect of 'unnaturally' inflicting sleep?)
    08 = regular psn (What is badly poison then?)
    09 = psn, but when you go in battle the pkmn will be asleep, but instantly
    wake up
    0A = like 09, except you sleep for one turn. you take psn dmg during that turn.
    0B - 0F same as above, sleep turn increases by one the higher up you go...
    10 = regular burn
    11-17 = same effects as 09-0A but burn instead of psn...
    18 = psn and burned at same time (psn in status screen), no animation/sound
    for taking dmg in-game
    20 = regular freeze, not sure how to alter the chance of defrozt (standard should be 20 % each turn)
    2F = sleep, freeze, psn. Yes, you are frozen when you wake up have fun.
    30 = frozen and burned
    40 = regular paralyz
    99 = double psn, burn
    FF = sleep animation uses psn, you take 2x psn, 1x burn, perhaps you
    are also frozen and prz once you wake up sorry didn't test yet...

    Here's an interesting thing, the next byte after 020242D4, so, D5, you can change this and it will
    affect the 2nd psn damage you take... Idk if it does anything else, maybe it has something to do with badly poison? Ez way to test is to face a wild Pokemon that knows only toxic, Idc enough atm.

    For example: FF FF = 2nd psn tick essentially one shots you
    You can tune the 2nd part down to like 99 and it only does like 50 %...
    I'll make a guide on how to use these things in actual XSE scripts when I feel confident enough,, it's really cool the things you can do just by altering the RAM.
    Reply With Quote

    Relevant Advertising!

      #1052    
    Old May 13th, 2018 (8:55 AM). Edited May 13th, 2018 by mgriffin.
    mgriffin's Avatar
    mgriffin mgriffin is offline
       
      Join Date: Apr 2014
      Location: London, United Kingdom
      Posts: 75
      Quote:
      Originally Posted by Sakakii View Post
      It's one byte (00).
      Changing this gives these effects:
      01 gives you 1 turn of sleep, 02 gives you 2 turns of sleep, etc, the sleep counter persists after battle
      (I guess this is how sleep works in this gen, or side effect of 'unnaturally' inflicting sleep?)
      08 = regular psn (What is badly poison then?)
      09 = psn, but when you go in battle the pkmn will be asleep, but instantly
      wake up
      0A = like 09, except you sleep for one turn. you take psn dmg during that turn.
      0B - 0F same as above, sleep turn increases by one the higher up you go...
      10 = regular burn
      11-17 = same effects as 09-0A but burn instead of psn...
      18 = psn and burned at same time (psn in status screen), no animation/sound
      for taking dmg in-game
      20 = regular freeze, not sure how to alter the chance of defrozt (standard should be 20 % each turn)
      2F = sleep, freeze, psn. Yes, you are frozen when you wake up have fun.
      30 = frozen and burned
      40 = regular paralyz
      99 = double psn, burn
      FF = sleep animation uses psn, you take 2x psn, 1x burn, perhaps you
      are also frozen and prz once you wake up sorry didn't test yet...
      Maybe you've already worked this out, but it seems like this is a bit set.

      Code:
      7 6 5 4 3 2 1 0
      T Z F B P S S S
      
      S: Sleep = 0x01–0x07 = 2^0 + 1–7
      P: Poison = 0x08 = 8 = 2^3
      B: Burn = 0x10 = 16 = 2^4
      F: Freeze = 0x20 = 32 = 2^5
      Z: Paralyze = 0x40 = 64 = 2^6
      T: Toxic = 0x80 = 128 = 2^7
      Thus 0x99 = 0x80 + 0x10 + 0x8 + 0x1, and so 0x99 should be 1 round of poison, 1 round of burn, 1 round of toxic (which I'd expect to be 1/16th, not 1/8th like regular poison?), and 1 turn of sleep.

      IMO it's a weird choice of data structure, because you "can't" have multiple statuses at the same time. The weird effects you see when setting multiple bits must be a result of the game code checking for each one individually (which is interesting, I'd expect it to only do one).
      I also think it's interesting that the second byte contains the toxic counter, but the sleep turns are in the first byte. I assume this is because they behave differently, i.e. sleep doesn't reset on switch but toxic does.
      Reply With Quote
        #1053    
      Old May 13th, 2018 (9:13 AM). Edited May 13th, 2018 by Sakakii.
      Sakakii's Avatar
      Sakakii Sakakii is offline
         
        Join Date: Nov 2017
        Posts: 76
        Tested some sounds in FireRed, I want to test more but I don't know how to find more sounds, if anyone can help me that's great. After 15A there seems to be no more sounds they all generate silence, so Idk where to go :(

        Spoiler:

        these can be used by the command 'sound' in xse (example: sound 0xD, use checksound to make the sound finish playing before script continues)
        0D = Hit by attack/take dmg
        D1 = ?
        D2 = ?
        D3 = Sounds like some buglike Pokemon cry (but no actual pkmn that I know)
        D4 = ?
        D5 = ?
        D6 = Basically Thunder the move
        D7 = A short and quick clap
        D8 = Silent
        D9 = Unsure, 2nd part reminds me of some sort of warp sound
        DA = Wish like sound, like a star?
        DB = Very intriguing sound, might be fitting for an alien like Pokemon
        DC = Spooky sound lasts like 3-4s, amazing sound effect for a horror area
        DD = 1st part of moonlight?
        DE = Reminds me of Donald Duck when he talks
        DF = Weak tornado? Similar to Twister the move
        E0 = Kinda like birds singing joyfully
        E1 = Some weird sound then a drum
        E2 = Kinda like pouring water over someone
        E3 = Silent
        E4 = Silent
        E5 = Sweet Scent
        E6 = Sad sound, like a hurt Meowth or Skitty
        E7 = Silent
        E8 = Stat boost (in-game, like after Bulk Up)
        E9 = 3s long, kinda like a monster moving underground? Could be a great cry.
        EA = Kind of like an angry crowd but very short like 0.x s...
        EB = Like ice breaking?
        EC = Silent
        ED = I've never heard this before... decent sound for horror setting I s'pose,
        kind of like an angry, evil fairy
        EE = Stat drop (in-game, like getting Intimidated)
        EF = Lasts 4s? Kinda like a swarm of bees.
        F0 = No clue. Very short sound.
        F1 = Door open/close
        F2 = Idk, very short
        F3 = Kinda like using a repel, seems like theres some silence after its done
        playing (like for 1-2s)
        F4 = Like saving your game sound. Some silence after playing.
        F5 = Idk, garbage imo, very short
        F6 = Something to do with setting options?
        F7 = Same as f5
        F8 = Buy/sell sound
        F9 = S.S. Anne leaving
        FA = SOUNDS VERY familiar. Harpy?
        FB = Similar to FA
        FC = Like FB/FA, but ends abruptly with some error sound
        FD = Somewhat peculiar, alien like sound.
        FE = Like Wish heal
        FF = Error sound, like you chose the wrong alternative
        100 = PC Heal
        101 = Lv up
        102 = Catch Pkmn
        103 = Caught a Pkmn
        104 = Got a badge?
        105 = Some kind of success fanfare, RS style
        106 = Pick Berry from tree sound
        107 = silent
        100 to 15A is basically these https://www.pokecommunity.com/archive/index.php/t-123520.html
        15B = silent
        15C =silent
        15D =silent
        15E =silent
        15F =silent
        __________________
        I made Kanlara Adventures - Are you up for the challenge? https://www.pokecommunity.com/showthread.php?t=409964
        Reply With Quote
          #1054    
        Old May 20th, 2018 (10:29 AM). Edited May 20th, 2018 by BirdstarCat13.
        BirdstarCat13's Avatar
        BirdstarCat13 BirdstarCat13 is offline
        Furret-loving Iskallian
           
          Join Date: Nov 2017
          Location: RenSkall island
          Gender: Male
          Nature: Timid
          Posts: 358
          Quote:
          Originally Posted by Sagiri View Post
          Disable "The Pokemon Stopped Evolving." [FR]

          FR has a feature that if you attempt to evolve a Pokemon into something not in the Kanto Dex (and you don't have the National Dex), it will mysteriously stop evolving. You could just give the player the National Dex at the beginning of the game, but if you don't want to do that, you can easily disable this.

          Basically, this will turn some conditional jumps into unconditional jumps, and remove some checks. No free space required.

          Code:
          0x08043156: 02 E0
          0x080CE90C: 1C E0
          0x080CF566: 17 E0
          0x08126C26: C0 46 C0 46 C0 46 C0 46
          0x08126C4C: 08 E0
          The code explaining the above byte changes is:

          Spoiler:
          Code:
          .text
          .align 2
          .thumb
          .thumb_func
          
          @ trade item removal
          .org 0x043156
          b 0x04315E
          
          @ all three
          .org 0x0CE90C
          b 0x0CE948
          
          @ trade
          .org 0x0CF566
          b 0x0CF598
          
          @ stone
          .org 0x126C26
          nop
          nop
          nop
          nop
          
          @ stone
          .org 0x126C4C
          b 0x126C60
          Those offsets do not exist. What am I doing wrong? Are they backwards or smth?! You should show the E X A C T series of numbers I need to type into my hex editor to jump t the right offset, and also show what's there by default so I know I'm at the right place. 0x08043156 is an offset which is 16 times the size of my ROM if I put it in as you've typed it.
          Reply With Quote
            #1055    
          Old May 20th, 2018 (1:23 PM).
          BLAx501!'s Avatar
          BLAx501! BLAx501! is offline
          Pokemon Flux
             
            Join Date: Oct 2013
            Location: Madrid, Spain
            Gender: Male
            Nature: Gentle
            Posts: 79
            Quote:
            Originally Posted by BirdstarCat13 View Post
            Those offsets do not exist. What am I doing wrong? Are they backwards or smth?! You should show the E X A C T series of numbers I need to type into my hex editor to jump t the right offset, and also show what's there by default so I know I'm at the right place. 0x08043156 is an offset which is 16 times the size of my ROM if I put it in as you've typed it.
            0x means the number is hexadecimal. 08 is the memory type you are referring to (ROM in this case) and 043156 is the offset on the memory. So if you are using HxD or any other hexadecimal editor, you have to look for 43156 ;)
            Reply With Quote
              #1056    
            Old May 20th, 2018 (3:39 PM).
            BirdstarCat13's Avatar
            BirdstarCat13 BirdstarCat13 is offline
            Furret-loving Iskallian
               
              Join Date: Nov 2017
              Location: RenSkall island
              Gender: Male
              Nature: Timid
              Posts: 358
              Quote:
              Originally Posted by BLAx501! View Post
              0x means the number is hexadecimal. 08 is the memory type you are referring to (ROM in this case) and 043156 is the offset on the memory. So if you are using HxD or any other hexadecimal editor, you have to look for 43156 ;)
              lol I know what 0x means, but that 08 bit made it unclear. "0x08043156" logically means "08043156, but it's hex" nothing about it indicates that it's supposed to be just "43156", so I don't see why he couldn't just put the literal offset - I think it would have been understood that it was hex and whatnot. that "memory type" seems like it was unneeded :P
              Reply With Quote
                #1057    
              Old May 21st, 2018 (7:40 AM).
              BluRose BluRose is offline
              blu rass
                 
                Join Date: Apr 2014
                Location: hyakkoku city
                Age: 17
                Gender: Male
                Nature: Timid
                Posts: 740
                Quote:
                Originally Posted by BirdstarCat13 View Post
                lol I know what 0x means, but that 08 bit made it unclear. "0x08043156" logically means "08043156, but it's hex" nothing about it indicates that it's supposed to be just "43156", so I don't see why he couldn't just put the literal offset - I think it would have been understood that it was hex and whatnot. that "memory type" seems like it was unneeded :P
                we include it for consistency with the game itself :)
                various tutorials replace pointers, which must refer to the memory type at the end--reverse pointers, in other terms
                so the game would refer to 0x43156 as 0x08043156, so we decide to represent it as such when referencing any address
                __________________
                am i cool yet
                Reply With Quote
                  #1058    
                Old May 21st, 2018 (9:12 AM).
                BirdstarCat13's Avatar
                BirdstarCat13 BirdstarCat13 is offline
                Furret-loving Iskallian
                   
                  Join Date: Nov 2017
                  Location: RenSkall island
                  Gender: Male
                  Nature: Timid
                  Posts: 358
                  Quote:
                  Originally Posted by BluRose View Post
                  we include it for consistency with the game itself :)
                  various tutorials replace pointers, which must refer to the memory type at the end--reverse pointers, in other terms
                  so the game would refer to 0x43156 as 0x08043156, so we decide to represent it as such when referencing any address
                  That's still really confusing, I don't see why you couldn't just at least include the *actual* offset for people who are just looking for what edit to make and where
                  Reply With Quote
                    #1059    
                  Old May 27th, 2018 (2:39 AM).
                  Lancekoijerwillborough Lancekoijerwillborough is offline
                     
                    Join Date: Jan 2017
                    Gender: Male
                    Posts: 39
                    Quote:
                    Originally Posted by BirdstarCat13 View Post
                    That's still really confusing, I don't see why you couldn't just at least include the *actual* offset for people who are just looking for what edit to make and where
                    08 needs to be identified to determine what memory can the offset be found. If you expanded the rom, you would probably need to take a look at 08 part because you need to change it into 09, because again the code is read as that and it refers to the memory. You would not just write 0x43156 because "generally' speaking, it is read as 0x00043156 which is very different from 0x08043156.

                    0x00 refers to BIOS
                    0x02 refers to WRAM
                    0x03 refers to IRAM
                    0x04 refers to I/O
                    0x05 refers to PALETTE
                    0x06 VRAM
                    0x07 OAM
                    0x08 ROM

                    Look at the Visual Boy's Memory as your reference.

                    The codes that are provided here are not meant for Hex Editor only.
                    In general knowledge, 0x00043156 refers to BIOS.

                    Hope this helps you understand why 08 is included.
                    Reply With Quote
                      #1060    
                    Old May 27th, 2018 (1:15 PM).
                    BirdstarCat13's Avatar
                    BirdstarCat13 BirdstarCat13 is offline
                    Furret-loving Iskallian
                       
                      Join Date: Nov 2017
                      Location: RenSkall island
                      Gender: Male
                      Nature: Timid
                      Posts: 358
                      Quote:
                      Originally Posted by Lancekoijerwillborough View Post
                      08 needs to be identified to determine what memory can the offset be found. If you expanded the rom, you would probably need to take a look at 08 part because you need to change it into 09, because again the code is read as that and it refers to the memory. You would not just write 0x43156 because "generally' speaking, it is read as 0x00043156 which is very different from 0x08043156.

                      0x00 refers to BIOS
                      0x02 refers to WRAM
                      0x03 refers to IRAM
                      0x04 refers to I/O
                      0x05 refers to PALETTE
                      0x06 VRAM
                      0x07 OAM
                      0x08 ROM

                      Look at the Visual Boy's Memory as your reference.

                      The codes that are provided here are not meant for Hex Editor only.
                      In general knowledge, 0x00043156 refers to BIOS.

                      Hope this helps you understand why 08 is included.
                      So why not just include a note about it? Like, "here's the technical offset and the offset you should put into a hex editor"
                      Reply With Quote
                        #1061    
                      Old May 27th, 2018 (2:51 PM).
                      kalarie kalarie is online now
                         
                        Join Date: Jun 2008
                        Gender:
                        Posts: 121
                        Because it's more convenient that the person who wants to learn romhacking takes time and effort to learn from tutorials, than for an experienced romhacker to explain himself in a simplified manner.
                        Reply With Quote
                          #1062    
                        Old May 28th, 2018 (2:31 AM).
                        Lancekoijerwillborough Lancekoijerwillborough is offline
                           
                          Join Date: Jan 2017
                          Gender: Male
                          Posts: 39
                          Quote:
                          Originally Posted by BirdstarCat13 View Post
                          So why not just include a note about it? Like, "here's the technical offset and the offset you should put into a hex editor"
                          It's so inconvenient to put "here's the technical offset and the offset you should put into a hex editor" note to every research that will be posted here. This is Quick Research Thread actually so if you still have questions, because it has been explained already, you may want to make a thread on Rom Hacking Section.
                          Reply With Quote
                            #1063    
                          Old May 28th, 2018 (6:32 AM). Edited May 28th, 2018 by BirdstarCat13.
                          BirdstarCat13's Avatar
                          BirdstarCat13 BirdstarCat13 is offline
                          Furret-loving Iskallian
                             
                            Join Date: Nov 2017
                            Location: RenSkall island
                            Gender: Male
                            Nature: Timid
                            Posts: 358
                            Quote:
                            Originally Posted by Lancekoijerwillborough View Post
                            It's so inconvenient to put "here's the technical offset and the offset you should put into a hex editor" note to every research that will be posted here. This is Quick Research Thread actually so if you still have questions, because it has been explained already, you may want to make a thread on Rom Hacking Section.
                            I was just saying - the post with the offsets made it clear it was meant to help people edit certain locations, so it should have been written in a way convenient for that. That's all I'm saying.
                            What I was talking about was more listing the two sets of offsets, *not* literally including your explanation of memory types in each post that has offsets in it
                            Reply With Quote
                              #1064    
                            Old May 28th, 2018 (6:36 AM). Edited May 28th, 2018 by BirdstarCat13.
                            BirdstarCat13's Avatar
                            BirdstarCat13 BirdstarCat13 is offline
                            Furret-loving Iskallian
                               
                              Join Date: Nov 2017
                              Location: RenSkall island
                              Gender: Male
                              Nature: Timid
                              Posts: 358
                              Quote:
                              Originally Posted by kalarie View Post
                              Because it's more convenient that the person who wants to learn romhacking takes time and effort to learn from tutorials, than for an experienced romhacker to explain himself in a simplified manner.
                              Yes but I learn nothing if I can't understand the offsets. I literally don't care about "memory types", I'm just on this thread to find out what needs to be modified ;)
                              Reply With Quote
                                #1065    
                              Old May 28th, 2018 (7:22 PM).
                              destinedjagold's Avatar
                              destinedjagold destinedjagold is offline
                              Oh Hai Thar~
                               
                              Join Date: May 2007
                              Location: Philippines
                              Age: 27
                              Gender: Male
                              Nature: Careful
                              Posts: 8,586
                              Quote:
                              Originally Posted by BirdstarCat13 View Post
                              Yes but I learn nothing if I can't understand the offsets. I literally don't care about "memory types", I'm just on this thread to find out what needs to be modified ;)
                              If you can't be bothered to learn about these "memory types" then don't expect others to spoon-feed you either.
                              __________________

                              Reply With Quote
                                #1066    
                              Old June 20th, 2018 (11:04 PM).
                              DrFuji's Avatar
                              DrFuji DrFuji is offline
                              Heiki Hecchara‌‌
                               
                              Join Date: Sep 2009
                              Location: Aussie
                              Age: 25
                              Gender: Male
                              Nature: Jolly
                              Posts: 1,433
                              The first post has been updated (after nearly two years!) with links to almost one hundred informative posts! I love every discovery in this thread and everybody who's helped contribute to the community.

                              asm resource thread update coming soon
                              __________________
                              Reply With Quote
                                #1067    
                              Old June 28th, 2018 (9:22 PM).
                              Lunos's Avatar
                              Lunos Lunos is offline
                              The Observer
                                 
                                Join Date: Oct 2008
                                Location: Montevideo (Uruguay)
                                Gender: Male
                                Nature: Lonely
                                Posts: 1,559
                                This information seems to be important enough and it's not mentioned in the main post, so I just took the liberty of bringing it here.

                                Forcing the Set Battle Style in Fire Red
                                Quote:
                                Originally Posted by haven1433
                                For anyone else who's interested - I was able to get in touch with DoesntKnowHowToPlay, who was able to help me.

                                In FireRed, starting at 0x1D8727, change 5 bytes to 28 92 87 1D 08. This modifies the battle script to bypass whatever the user set in the Options menu and always act like "Set" mode.
                                Source.
                                __________________
                                Reply With Quote
                                  #1068    
                                Old June 30th, 2018 (2:07 PM).
                                xizqu's Avatar
                                xizqu xizqu is offline
                                   
                                  Join Date: Feb 2018
                                  Location: California
                                  Gender: Male
                                  Nature: Adamant
                                  Posts: 82
                                  Quote:
                                  Originally Posted by BirdstarCat13 View Post
                                  Yes but I learn nothing if I can't understand the offsets. I literally don't care about "memory types", I'm just on this thread to find out what needs to be modified ;)
                                  08 is required for telling someone what area of the rom it is. If be just put the offset without the memory, what bank would you change? You just use hxd so you don't get access to other Banks but what if he meant 02 which is ram. We hack banks 02, 03 sometimes 04 but mostly 08. So it's pretty much required. If he meant 02 and you changed it in 08, you'd break your game.
                                  Reply With Quote
                                    #1069    
                                  Old July 1st, 2018 (2:46 AM).
                                  BirdstarCat13's Avatar
                                  BirdstarCat13 BirdstarCat13 is offline
                                  Furret-loving Iskallian
                                     
                                    Join Date: Nov 2017
                                    Location: RenSkall island
                                    Gender: Male
                                    Nature: Timid
                                    Posts: 358
                                    Quote:
                                    Originally Posted by xizqu View Post
                                    08 is required for telling someone what area of the rom it is. If be just put the offset without the memory, what bank would you change? You just use hxd so you don't get access to other Banks but what if he meant 02 which is ram. We hack banks 02, 03 sometimes 04 but mostly 08. So it's pretty much required. If he meant 02 and you changed it in 08, you'd break your game.
                                    I think it'd be a safe assumption if he hadn't had the bank listed, but if it's the absolute offset, then you already know that by definition it's by the ROM/bank 08
                                    __________________
                                    -------------------------
                                    I hate signatures that are just a line of text without any clear division.
                                    Reply With Quote
                                      #1070    
                                    Old July 1st, 2018 (2:21 PM). Edited July 1st, 2018 by Wobb.
                                    Wobb's Avatar
                                    Wobb Wobb is offline
                                    Wynaut
                                     
                                    Join Date: Dec 2012
                                    Location: behind you
                                    Gender: Male
                                    Posts: 328
                                    Hi! :D
                                    I've got some more Research. It's about the Berries in DPP.

                                    Berries are found in itemdata/nuts_data.narc, which starts at:
                                    Platinum: 0x03CF3A00
                                    Diamond/Pearl: 0x0207DE00
                                    and is 1332 bytes.
                                    Each Berry is 0xB bytes long.

                                    Firmness
                                    01 - Very Soft
                                    02 - Soft
                                    03 - Hard
                                    04 - Very Hard
                                    05 - Super Hard

                                    Here is the data of Chesto Berry:

                                    Chesto Berry:
                                    50 - Size in cm. 0x50 would be 80 in decimal. Chesto Berry’s size is 8.0 cm. The decimal point goes before the last digit of the decimal number. Mago Berry has 0x7E, which is 126 in decimal. It is 12.6 cm.
                                    00 - Don't know.
                                    05 - Firmness
                                    01 - Every berry has this 01, what is it?
                                    03 - Hours per Stage
                                    0F - Moisture Drain Rate without Mulch. When a Berry is planted, the moisture is 100. Every 60 minutes, the moisture decreases by this amount, with the soil changing color, until it reaches 0, where the soil is gray.
                                    00 - Spicy
                                    0A - Dry
                                    00 - Sweet
                                    00 - Bitter
                                    00 - Sour
                                    19 - Smoothness. When cooking Poffins, determines how much the Pokemon’s sheen is affected.

                                    Some other Berries’ data if you want to look:
                                    Spoiler:

                                    PECHA BERRY
                                    28
                                    00
                                    01
                                    01
                                    03
                                    0F
                                    00
                                    00
                                    0A
                                    00
                                    00
                                    19

                                    SITRUS BERRY
                                    5F
                                    00
                                    04
                                    01
                                    08
                                    07
                                    00
                                    0A
                                    0A
                                    0A
                                    0A
                                    14

                                    COLBUR BERRY
                                    27
                                    00
                                    05
                                    01
                                    12
                                    06
                                    00
                                    00
                                    00
                                    0A
                                    14
                                    23

                                    LIECHI BERRY
                                    6F
                                    00
                                    04
                                    01
                                    18
                                    04
                                    1E
                                    0A
                                    1E
                                    00
                                    00
                                    28
                                    __________________
                                    Check out my new hack Pokémon Cosmos!
                                    Pokemon Cosmos

                                    Pokemon Cosmos Discord Server: https://discord.gg/FeRDmEC

                                    Find me on Discord or whatever. @Wobb#2777
                                    OR FIND ME ON TWITTER :D @WobbuWynaut
                                    Reply With Quote
                                      #1071    
                                    Old July 5th, 2018 (10:04 PM).
                                    Ephraim225's Avatar
                                    Ephraim225 Ephraim225 is offline
                                    Freaky Frillish Guy
                                       
                                      Join Date: Jul 2013
                                      Location: In America
                                      Gender: Male
                                      Nature: Modest
                                      Posts: 158
                                      Ribbon Data

                                      So I researched this on a whim. This applies to all the GBA games but FRLG never displays ribbon data anyhow and it doesn't look like anyone documented it, so here we are. Normally Ribbon data is impossible to check or edit because it's encrypted and the decrypt function can't do anything with it in particular for some reason. But if you disable encryption completely (as seen here) then you can check or edit ribbons in your ASM codes much more easily.

                                      The game uses four bytes to track a Pokémon's ribbons. They are the last four bytes of the "Misc" data subsection. Individual bits are used to track Ribbons from the contests as well as some additional ribbons. For contest ribbons, 3 bits are used to track how many ribbons from each category that Pokémon has. You can normally only get 4 ribbons in each category, but if you set all the bits for one category to 1 the game can show up to 7 ribbons from one category (which will lead to duplicate ribbons.) There are 32 possible ribbons to get but you can technically edit a Pokémon to have up to 47 (which will crash the game at the ribbon viewer.)

                                      Bits 1~3: Cool contest ribbons
                                      Bits 4~6: Beauty contest ribbons
                                      Bits 7~9: Cute contest ribbons
                                      Bits 10~12: Smart contest ribbons
                                      Bits 13~15: Tough contest ribbons
                                      Bit 16: League Champion ribbon
                                      Bit 17: Lv. 50 Battle Tower ribbon
                                      Bit 18: Lv. 100 Battle Tower ribbon
                                      Bit 19: Artist ribbon
                                      Bit 20: Effort ribbon
                                      Bits 21~27: These ribbons have no description. I believe they are mostly unused aside from the ribbons that come from the GCN games.
                                      Bits 28~32 DON'T track ribbon data, they're for something else.

                                      So, a Pokémon that has all possible ribbons with no duplicates would have 07 FF C9 24 in those four bytes.
                                      __________________
                                      Reply With Quote
                                        #1072    
                                      Old July 7th, 2018 (7:44 PM).
                                      Le pug's Avatar
                                      Le pug Le pug is offline
                                      Creator of Pokémon: Discovery / Fat Kid
                                       
                                      Join Date: Aug 2013
                                      Location: Le bed
                                      Age: 25
                                      Gender: Male
                                      Nature: Bold
                                      Posts: 867
                                      Quote:
                                      Originally Posted by Sakakii View Post
                                      Tested some sounds in FireRed, I want to test more but I don't know how to find more sounds, if anyone can help me that's great. After 15A there seems to be no more sounds they all generate silence, so Idk where to go :(

                                      Spoiler:

                                      these can be used by the command 'sound' in xse (example: sound 0xD, use checksound to make the sound finish playing before script continues)
                                      0D = Hit by attack/take dmg
                                      D1 = ?
                                      D2 = ?
                                      D3 = Sounds like some buglike Pokemon cry (but no actual pkmn that I know)
                                      D4 = ?
                                      D5 = ?
                                      D6 = Basically Thunder the move
                                      D7 = A short and quick clap
                                      D8 = Silent
                                      D9 = Unsure, 2nd part reminds me of some sort of warp sound
                                      DA = Wish like sound, like a star?
                                      DB = Very intriguing sound, might be fitting for an alien like Pokemon
                                      DC = Spooky sound lasts like 3-4s, amazing sound effect for a horror area
                                      DD = 1st part of moonlight?
                                      DE = Reminds me of Donald Duck when he talks
                                      DF = Weak tornado? Similar to Twister the move
                                      E0 = Kinda like birds singing joyfully
                                      E1 = Some weird sound then a drum
                                      E2 = Kinda like pouring water over someone
                                      E3 = Silent
                                      E4 = Silent
                                      E5 = Sweet Scent
                                      E6 = Sad sound, like a hurt Meowth or Skitty
                                      E7 = Silent
                                      E8 = Stat boost (in-game, like after Bulk Up)
                                      E9 = 3s long, kinda like a monster moving underground? Could be a great cry.
                                      EA = Kind of like an angry crowd but very short like 0.x s...
                                      EB = Like ice breaking?
                                      EC = Silent
                                      ED = I've never heard this before... decent sound for horror setting I s'pose,
                                      kind of like an angry, evil fairy
                                      EE = Stat drop (in-game, like getting Intimidated)
                                      EF = Lasts 4s? Kinda like a swarm of bees.
                                      F0 = No clue. Very short sound.
                                      F1 = Door open/close
                                      F2 = Idk, very short
                                      F3 = Kinda like using a repel, seems like theres some silence after its done
                                      playing (like for 1-2s)
                                      F4 = Like saving your game sound. Some silence after playing.
                                      F5 = Idk, garbage imo, very short
                                      F6 = Something to do with setting options?
                                      F7 = Same as f5
                                      F8 = Buy/sell sound
                                      F9 = S.S. Anne leaving
                                      FA = SOUNDS VERY familiar. Harpy?
                                      FB = Similar to FA
                                      FC = Like FB/FA, but ends abruptly with some error sound
                                      FD = Somewhat peculiar, alien like sound.
                                      FE = Like Wish heal
                                      FF = Error sound, like you chose the wrong alternative
                                      100 = PC Heal
                                      101 = Lv up
                                      102 = Catch Pkmn
                                      103 = Caught a Pkmn
                                      104 = Got a badge?
                                      105 = Some kind of success fanfare, RS style
                                      106 = Pick Berry from tree sound
                                      107 = silent
                                      100 to 15A is basically these https://www.pokecommunity.com/archive/index.php/t-123520.html
                                      15B = silent
                                      15C =silent
                                      15D =silent
                                      15E =silent
                                      15F =silent
                                      You can hear / see all the sounds in Fire Red in the following video. Also, I've added the sound 0x## for each so if you want to just listen for some sounds you want for a script then just throw it in a script, they are compatible:



                                      And since I'm posting that one, might as well post my Emerald version as well:

                                      __________________




                                      /// Pokémon: Discovery
                                      /// Pokémon: Fat Kid
                                      /// Tile Insertion Tutorial For AdvanceMap
                                      /// Pokémon Emerald Specials Resource Thread
                                      /// Pokémon Emerald Decapitalization Patch
                                      /// Emerald Titlescreen Cloud Removal Tutorial
                                      /// Tutorial For Fixing Any ROM-related Bug
                                      Reply With Quote
                                        #1073    
                                      Old July 9th, 2018 (4:58 PM). Edited 3 Weeks Ago by Sagiri.
                                      Sagiri's Avatar
                                      Sagiri Sagiri is offline
                                         
                                        Join Date: Mar 2007
                                        Posts: 751
                                        Wonder Trade with NPC Trainers [FR]

                                        Basically, this is a WT system that uses the NPC trainer data as the pool of potential trades. It picks a random trainer, and a random slot from that trainer's party, and that's what you get traded.

                                        The repo is here.

                                        In case it's not obvious, this includes the actual trade animation, and the Pokemon in question will keep the NPC trainer's OT ID and OT Name, as well as any held item and custom moves it may have assigned to it.

                                        Additionally, if the Pokemon you receive evolves by trade, it will evolve when you get it. Trade + Held Item evolutions would work as well, but I doubt there are many NPC trainers that have Scythers with Metal Coats (for example).

                                        A few things to keep in mind if you decide to use this:
                                        • You could end up with a Nat'l Dex Pokemon early. You'll probably want to enable foreign Pokemon trading and evolution, assuming you aren't simply giving out the Nat'l Dex at the beginning of the game.
                                        • Some NPC trainers such as Giovanni have names that are too long to fit in the OT Name field. These trainers are excluded from the pool.
                                        • Any Pokemon that isn't included in a team of an eligible trainer can't be received at all.
                                        • It is possible to get the same Pokemon multiple times.
                                        • You'll probably trade with a lot of people named GRUNT.

                                        Nidoran Gender Symbol [FR]

                                        I don't know if this bothers anyone else, but I never liked how the Nidorans get special treatment with regards to the gender symbol (because it's part of their name, they don't have one, unless you nickname them).

                                        You can get rid of this but putting 00 at all of the following locations:

                                        Code:
                                        0x08136238
                                        0x0813623C
                                        0x081218E4
                                        0x081218E8
                                        0x08049718
                                        0x0804971C
                                        You'll probably want to remove the gender symbols from their species names if you use this, or else it'd essentially be duplicated (once in their name, and then the standard one every Pokemon gets).
                                        Reply With Quote
                                          #1074    
                                        Old 3 Weeks Ago (9:28 AM). Edited 2 Weeks Ago by tkim.
                                        tkim tkim is offline
                                           
                                          Join Date: May 2011
                                          Posts: 212
                                          Quote:
                                          Originally Posted by Mr.Pkmn View Post
                                          In Gen 3, Protect/Detect/Endure are bugged. The game is supposed to read the probability from a table which has only 4 entries, thus reading garbage data after the 4th consecutive protect.

                                          To get the correct behavior (like gen 5+, no cap) replace the bytes at 0x26FB6 with this (FR):
                                          Code:
                                          01 7A 14 88 CC 40 1D F0 84 FF 21 1C
                                          If you ever manage to get off 16 consecutive protects, it will fail the next one because of precision .
                                          I'm having trouble understanding the routine behind this, may you go more into depth about your solution? Could I also add the cap of 12.5% without having to repoint the routine?

                                          edit: I tested your fix and it doesn't work as you intended. I was able to use Protect without fail after passing 16 successes.
                                          Reply With Quote
                                            #1075    
                                          Old 2 Weeks Ago (12:24 PM).
                                          Mr.Pkmn's Avatar
                                          Mr.Pkmn Mr.Pkmn is offline
                                          Ordinary ASM Magician
                                             
                                            Join Date: May 2008
                                            Posts: 54
                                            Quote:
                                            Originally Posted by tkim View Post
                                            I'm having trouble understanding the routine behind this, may you go more into depth about your solution? Could I also add the cap of 12.5% without having to repoint the routine?

                                            edit: I tested your fix and it doesn't work as you intended. I was able to use Protect without fail after passing 16 successes.
                                            1) Loads the number of consecutive protects (n)
                                            2) Loads the first entry of the protect probability table (0xFFFF or 100%)
                                            3) Shifts to the right n bits from the probability. Equivalent to a division of 2^n

                                            If you used 17 protects, you would remove 17 bits from a 16 bit number, making it zero.
                                            However you're right because the game checks if the protect probability is greater or equal than the random number, giving a 1/65535 chance of not failing protect.
                                            __________________
                                            Someone making a pokemon hack

                                            Reply With Quote
                                            Reply

                                            Quick Reply

                                            Join the conversation!

                                            Create an account to post a reply in this thread, participate in other discussions, and more!

                                            Create a PokéCommunity Account

                                            Sponsored Links
                                            Thread Tools

                                            Posting Rules
                                            You may not post new threads
                                            You may not post replies
                                            You may not post attachments
                                            You may not edit your posts

                                            BB code is On
                                            Smilies are On
                                            [IMG] code is On
                                            HTML code is Off

                                            Forum Jump


                                            All times are GMT -8. The time now is 4:49 PM.