Tools, Tutorials & Resources Various tools to help you develop your hacks can be found here.

Reply
 
Thread Tools
  #1    
Old November 16th, 2016 (2:58 PM). Edited June 17th, 2017 by Crystal_.
Crystal_ Crystal_ is offline
     
    Join Date: Feb 2013
    Location: Spain
    Gender: Male
    Posts: 175
    Pokemon Crystal Randofuser

    This is a special randomizer tool compatible with Pokemon Crystal. It fuses each Pokemon with another existing one at random with matching evolution stage. All the data and characteristics of the Pokemon such as moves and base stats are combined in different ways, as described below.

    How Pokemon data gets fused

    The base Pokemon retains the Pokedex number, sprite, cry, and first half of the name, while the secondary Pokemon can be identified by its palette and second half of its name. Each Pokemon has been assigned a prefix and a suffix so that the names are properly merged and the secondary Pokemon can be easily identified.

    Evolutions
    Pokemon will only be merged with another Pokemon of the same evolution category. For example, Charmander might be fused with Mareep, but not with Ekans. The combinations will be consistent across an evolutionary line; say Venonat is merged with Slugma, then Venomoth will be merged with Magcargo. Evolution categories can be further filtered before the randomization, for example to make Legendary Pokemon independent from other 1/1 evolution Pokemon.

    Branched evolutions have been removed. Which Pokemon retains its evolutionary line is selectable. For example, if the user chooses Politoed to be the evolution of Poliwhirl, Poliwrath will be independent and will be merged with another independent Pokemon like Heracross or Mr. Mime. Note that the independent Pokemon will most likely be unobtainable due to not appearing as a wild Pokemon.

    Trade evolutions have been replaced with reasonable level-based evolutions. If selected by the user, happiness evolutions will also be replaced with reasonable level-based evolutions.

    If two Pokemon with level-based evolutions are fused, the resulting Pokemon will evolve at the average of the two. If the "Average Base Stat patterns only" setting is selected, however, the base Pokemon's evolution level will weigh 80% of the total. Refer to the *Settings* section for more information. If either Pokemon evolves through other method (happiness, stone), the evolution type of the base Pokemon will be tranferred to the resulting Pokemon unchanged.

    Types
    The resulting Pokemon will have a type taken from the base Pokemon and a type taken from the secondary Pokemon whenever possible. If either Pokemon is dual-type, the type chosen from it will be scored according to the custom type priorities (the type with the higher priority of the two will be chosen). If both types have the same priority, the primary type will be chosen. If both Pokemon are of the same single type, the resulting Pokemon will also be of only that type.

    If the resulting Pokemon is dual-type, its primary type will be the one with the higher score of the two, and its secondary type will be the one with the lower (second-highest) score. If both types have the same priority, the primary type will be the one that was taken from the base Pokemon and the secondary type will be the one coming from the secondary Pokemon, unless the base Pokemon passed its secondary type and the secondary Pokemon passed its primary type.

    Consider for example a Gyarados (base Pokemon) + Lanturn (secondary Pokemon) fusion. If Water type's priority is 7, Flying type's priority is 8, and Electric type's priority is 9, the resulting Pokemon will be Electric/Flying. If Electric's priority was 8 instead, the resulting Pokemon would be Flying/Electric. If the priorities were Water=10, Flying=8, and Electric=9, the fusion would be Water/Electric. If they were Water=10, Flying=9, and Electric=9, the fusion would be Water/Flying, just like if all three types had the same priority value.

    Moves
    Learnsets are combined, including level-up, egg, and TM/HM moves. For example, if Cyndaquil gets fused with Gastly, it will learn Ember at level 12 and Mean Look at level 13, and will be able to learn both Fire Blast and Shadow Ball via TM. Moreover, level-up moves are arranged by level. When the moveset of a wild or trainer Pokemon is filled, it will end up with the last four moves that the two original Pokemon could learn by that level. For example, a level 30 "Gyarasect", will show up with Bite, Dragon Rage, Spore and Leer. Trainers no longer may have custom movesets.

    Pokemon such as Raichu, Arcanine or Starmie that could only learn a subset of moves compared to their pre-evolutions have had their movesets updated to match the moves learnable by their pre-evolutions, although with a small level delay similar to the patterns found in other evolved Pokemon.

    Base Stats
    The user can choose whether each Base Stat is averaged or whether only the base stat patterns are averaged, keeping the BST (base stat total) of the base Pokemon unchanged. The second option differs from the first in that the resulting values of the base stats are then multiplied by a "BST factor", which is the quotient of the BST of the base Pokemon and the BST of the secondary Pokemon. This way, trainer and wild Pokemon can keep their original strength.

    Growth rates
    If 'average base stat patterns only' is chosen, the Growth Rate of the base Pokemon is retained. If not, yet either Pokemon's Growth Rate is parabolic, the base Pokemon's Growth Rate is also retained. The parabolic Growth Rate is a special one related to Pokemon that appear early in the game (such as the starters) in order to make them grow fast at lower levels and slow-ish at higher levels. Otherwise, that is, when the Growth Rates of both original Pokemon are linear, the experience requirement to grow levels is averaged, introducing two sub-types of Growth Rates for this purpose.

    Additionally, there is a selectable option to homogenize Growth Rates, ignoring all the other rules. This option will make all Pokemon use a custom Growth Rate with characteristics from the parabolic and fast growth rates. It makes all Pokemon grow relatively fast at all level ranges, which is ideal to soften any necessity of grinding.

    Other data
    - Base Experience: the average of the two original Pokemon. If 'average base stat patterns only' is selected, the base experience value of the base Pokemon weighs 80% of the total.
    - Catch Rates: calculated with the geometric mean of the catch rate of the original Pokemon, i.e. the square root of the product of the two values. If 'average base stat patterns only' is selected, the catch rate value of the base Pokemon weighs 80% of the total.
    - Gender: if neither of the two original Pokemon is genderless, the average of the two. For example, if one Pokemon has a 2/16 chance to be female and the other Pokemon a 8/16 chance, the resulting Pokemon will be female 5/16 of the times. If either is genderless, the gender rate of the base Pokemon is kept.
    - Wild Held Items: follow the same logic used to obtain the types
    - Egg Groups: follow the same logic used to obtain the types
    - Hatch Cycles: the average of the two orginal Pokemon. If 'average base stat patterns only' is selected, the hatch cycles value of the base Pokemon weighs 80% of the total.

    Settings

    Base Stat Total
    Select whether the base stat total should be retained from the base Pokemon or also averaged, as described above. Choose "Average Base Stats and BST" if you prefer unpredictability and variability, or choose "Average Base Stat patterns only" for a more stable experience.

    Homogenize Growth Rates
    As described above, choose this option if you want all Pokemon to grow at the same speed and also relatively fast. A good idea if you are planning to bump the trainer Pokemon levels and/or looking for a nuzlocke run.

    Replace Happiness evolutions
    If this option is selected, Pokemon that evolve via happiness will be replaced with level-based evolutions, evolving at a reasonable level based on their overall strength. It's especially useful for balancing baby Pokemon like Togepi and Pichu.

    Trainer Level increase
    Choose whether you'd like to increase the level of all trainer Pokemon by a custom percentage. Kanto trainers include all post-League content except the battle against Red. This part is known for being considerably easier than the Johto part, so increasing the levels in Kanto can be a good idea to maintain a decent challenge.

    Evolution category filters
    Choose whether you'd like to further filter which Pokemon can be fused with which Pokemon. The legendary filter is good for purity while the other two are intended to provide stability if averaging BST is selected. A total of 16 Pokemon are included in the 1-stage filter (BST-based, up to Tangela) and a total of just 5 in the 3-stage evolution filter (Pichu, Cleffa, Igglybuff, Caterpie, and Weedle lines). Keep in mind that these filters cut versatility in the randomization, especially the 3-stage one.

    Randomize Wild encounters & Randomize trainer Pokemon
    Select these options if you want to completely randomize the species of wild and trainer Pokemon, respectively. Before being fused, Pokemon will be arranged in groups based on overall strength and other factors such as rarity and evolution stage. 6 groups are used for trainer parties and only 4 groups are used for wild encounters (less exclusiveness of strong Pokemon to ensure variety). Each wild Pokemon slot and/or trainer Pokemon will be replaced with another that belongs to the same group. This arrangement has nothing to do with how Pokemon get fused with each other. Note that this strength classification may lose accuracy once the Pokemon are fused if "Average Base Stat patterns only" was not selected, although the evolution stage was also factored in for this reason. Logic and consistency are not preserved; for example, you will be able to find Fire-type Pokemon in the sea and Grass-type Pokemon in caves, and as for trainers, leaders and other trainer classes will no longer be type themed and your rival will not retain his party across battles. The randomization of wild Pokemon includes fishing, Headbutt, Rock Smash and Bug Catching Contest encounters, but does not include static encounters and roaming legendaries. Unown is not randomized in either mode.

    Defaults
    There are some suggested defaults available to be chosen.
    - Classic: A stable option with unchanged BSTs and unrandomized wild and trainer encounters, that also stays true to the trainer leves of the original game.
    - Balanced: Like classic, but balances the Kanto trainers and homogenizes the growth rates to soften grinding. A good idea for nuzlocke and similar runs.
    - Difficult: A more challenging setup that averages the BSTs, but adds additional filters to prevent extreme combinations.
    - Crazy: The toughest and least predictable option. Trainer levels are considerably raised. Hardcore players may try this along with "Homogenize Growth Rates" for a very challenging nuzlocke run.

    Evolutionary Lines
    These settings are independent from the other ones and let the user choose which Pokemon follow its original evolutionary line. It also includes an option to separate Scyther and Scizor, as they have the same BST. Keep in mind that the Pokemon that you leave unselected are not obtainable, and may only show up in trainer parties.

    Type priorities
    Assign a different priority to each type to determine how the types should be fused, as detailed in the *Types* subsection above. You can use this to favor the appearance of rare types like Dark, Ice, Steel or Dragon, or just your favorites. You could lower the priority of generic types with lots of monotype Pokemon like Water or Normal so that they become a little less common. Be careful with type priorities though, as decreasing the priority of certain types could make them extinct. For example, if the Flying type is tied for the lowest priority, it will never show up given that there's no Pokemon with Flying as its primary type. This is the reason why the Normal type priority defaults to one point below all the other types; this way Normal/Flying Pokemon will pass their Flying type, while Pokemon like Xatu, Butterfree or Dragonite pass their other type.

    Catch 'Em All mode
    Two Pokemon Crystal ROMs are provided in the download. *crystal-notcea.gbc* is the regular one, while *crystal-cea.gbc* incorporates additional changes to make all 251 Pokemon obtainable, including those that may become unattainable as a result of the *Evolutionary Line* settings. Even if you're not interested in completing the Pokédex, the Catch 'Em All option provides more variety to the Pokemon you can capture and therefore build your team with. In the Catch 'Em All mode you will also be able to purchase the evolutionary stones, except Moon and Sun, in the Ecruteak Mart. For information on where the new Pokemon can be found in the Catch 'Em All mode, refer to the *catchemall.txt* file provided in the download.

    About combining this mode with the Randomize Wild encounters option:
    The Catch 'Em All mode was not made with the possibility of randomizing wild encounters in mind. At first glance, both modes seem contradictory, and in a way, they are. Randomizing wild encounters will override most of the changes provided by the Catch 'Em All mode. In practice, the only differences between both ROMs would be that with Catch 'Em All, evolutionary stones will be available in the Ecruteak Mart and that the Celebi event in the Ilex Forest will be active. If you're planning to turn on wild encounter randomization, choose one ROM or the other depending on if you wish to activate any of these two changes. Ironically, the Catch 'Em All mode won't ensure that the Pokedex can be completed if you randomize wild encounters, but due to all the wild Pokemon slots (up to 21 per area/map), it would be rare that a Pokemon (or a pre-evolution) doesn't appear anywhere.

    Other notes

    - There may be hardcoded references to Pokemon in the games that still use non-fused names. If so, they refer to the base Pokemon.
    - Unown is not fused with any Pokemon, and neither any Pokemon may be fused with Unown.
    - The Battle Tower is not available.
    - The odd egg Pokemon has random DVs.

    Download & How to use

    - Download crystal-randofuser.zip and extract the .jar file and the two .gbc files
    - Rename either crystal-notcea.gbc or crystal-cea.gbc, depending on which mode you want to play, to crystal.gbc. Note that in crystal.gbc, .gbc is the extension. If your system doesn't display the extension suffix as part of the filename, name the file just crystal instead.
    - Execute crystal-randofuser.jar. Choose your desired settings and click on the "Randofuse!" button to generate a ready-to-play "randofused" ROM that will named crystal_randofused.gbc
    - Do not combine this tool with any other hacking tool or randomizer

    Some pics



    Changelog

    v1.1
    - Added catch 'em all mode
    - Added option to turn happiness evolutions into level-based evolutions
    - Minor bug fixes and improvements

    v1.2
    - Fixed wrong species bug with special evolutions
    - Johto starters are now available to be caught in the catch 'em all mode

    v1.3
    - Added type priorities
    - Ready-to-randofuse ROMs are provided rather than .ips patch files. Don't tell your uncle who works at Nintendo about this!

    v2.0
    - Added separate options to randomize species of wild and trainer Pokemon
    Reply With Quote

    Relevant Advertising!

      #2    
    Old November 18th, 2016 (10:57 PM).
    SpikeJolteon's Avatar
    SpikeJolteon SpikeJolteon is offline
       
      Join Date: Dec 2010
      Gender: Male
      Nature: Modest
      Posts: 60
      Not sure if I am doing this wrong but, I get an error.

      http://prntscr.com/d95axe
      Reply With Quote
        #3    
      Old November 19th, 2016 (2:17 AM).
      Crystal_ Crystal_ is offline
         
        Join Date: Feb 2013
        Location: Spain
        Gender: Male
        Posts: 175
        Are you sure you patched the ips patch into crystal.gbc? It also changes the header a little, so that the tool can filter out unpatched roms. Another possibility is that you downloaded crystal v1.1 instead of v1.0 as noted in the readme.md file. I know other people have got it working already (in Windows too).
        Reply With Quote
          #4    
        Old November 22nd, 2016 (7:27 AM).
        betbet17 betbet17 is offline
           
          Join Date: Oct 2016
          Gender: Male
          Posts: 1
          I was having the same problem as SpikeJolteon and i finally find the answer

          The rom has to be named "crystal" simply and not "crystal.gbc",at least that work with me...

          Great tool anyway
          Reply With Quote
            #5    
          Old November 22nd, 2016 (1:29 PM).
          Crystal_ Crystal_ is offline
             
            Join Date: Feb 2013
            Location: Spain
            Gender: Male
            Posts: 175
            By crystal.gbc I meant filename.extension. If your OS is hiding the .gbc extension from the file name, then naming it crystal.gbc would make it crystal.gbc.gbc. In WIndows, if you have a default open program assigned to .gbc files, the extension will be hidden. That said I should've guessed that this was probably the issue though.
            Reply With Quote
              #6    
            Old November 22nd, 2016 (4:23 PM).
            JoeTheGoomba's Avatar
            JoeTheGoomba JoeTheGoomba is offline
               
              Join Date: Jun 2016
              Gender: Male
              Posts: 3
              I've also had troubles trying to get this to work. I've downloaded Pokemon Crystal (V1.0) from multiple sites (none of which with the exact title, except for a disassembly of both v1.0 and v1.1) and none of them worked. Renamed them crystal.gbc (filename.extension, of course), patched them with the .ips file using LIPS, and in the same folder as the .jar. I did them one at a time. No matter what I do, none work. Help?
              Reply With Quote
                #7    
              Old November 26th, 2016 (4:20 AM).
              Crystal_ Crystal_ is offline
                 
                Join Date: Feb 2013
                Location: Spain
                Gender: Male
                Posts: 175
                Quote:
                Originally Posted by JoeTheGoomba View Post
                I've also had troubles trying to get this to work. I've downloaded Pokemon Crystal (V1.0) from multiple sites (none of which with the exact title, except for a disassembly of both v1.0 and v1.1) and none of them worked. Renamed them crystal.gbc (filename.extension, of course), patched them with the .ips file using LIPS, and in the same folder as the .jar. I did them one at a time. No matter what I do, none work. Help?
                Sorry, I hadn't noticed your post until now. Have you had any luck since then?
                Reply With Quote
                  #8    
                Old November 26th, 2016 (7:23 AM).
                JoeTheGoomba's Avatar
                JoeTheGoomba JoeTheGoomba is offline
                   
                  Join Date: Jun 2016
                  Gender: Male
                  Posts: 3
                  No, no luck. Tried downloading from a couple more sources and even the v1.0 from the disassembly, but nothing.
                  Reply With Quote
                    #9    
                  Old November 26th, 2016 (9:11 PM).
                  Deokishisu's Avatar
                  Deokishisu Deokishisu is offline
                  Mr. Magius
                     
                    Join Date: Feb 2006
                    Location: If I'm online, it's a safe bet I'm at a computer.
                    Gender: Male
                    Nature: Relaxed
                    Posts: 879
                    It'd be neat if you combined the cries as well. Like, keep the base cry of the base Pokemon, but the cry uses the other cry parameters of the secondary Pokemon.
                    Reply With Quote
                      #10    
                    Old November 29th, 2016 (3:56 PM).
                    sergitic sergitic is offline
                       
                      Join Date: Jul 2016
                      Gender: Male
                      Posts: 4
                      hey this randomizer is great, original and quite fun, i've enjoyed my run a lot!

                      to not be a useless post i have some feedback:

                      - you could fix the trasnform glitch? it happened to me when i catched a "HERAMEW", and dragged me out for a while until i caught it.

                      - some suffixes are similar and confusion, especially on the case of gyarados/ariados share the same "-ADOS" i think. i know the palette also tells you which pokemon it is, but when you are playing faster you don't realize about that on sight.

                      bonus (my team after defeating red):
                      Spoiler:
                      Reply With Quote
                        #11    
                      Old November 30th, 2016 (5:07 AM).
                      Crystal_ Crystal_ is offline
                         
                        Join Date: Feb 2013
                        Location: Spain
                        Gender: Male
                        Posts: 175
                        Quote:
                        Originally Posted by sergitic View Post
                        hey this randomizer is great, original and quite fun, i've enjoyed my run a lot!

                        to not be a useless post i have some feedback:

                        - you could fix the trasnform glitch? it happened to me when i catched a "HERAMEW", and dragged me out for a while until i caught it.

                        - some suffixes are similar and confusion, especially on the case of gyarados/ariados share the same "-ADOS" i think. i know the palette also tells you which pokemon it is, but when you are playing faster you don't realize about that on sight.

                        bonus (my team after defeating red):
                        Spoiler:
                        You mean it turned into a Ditto? I'll write these two things down in case I do an update in the future.
                        Reply With Quote
                          #12    
                        Old November 30th, 2016 (2:15 PM).
                        sergitic sergitic is offline
                           
                          Join Date: Jul 2016
                          Gender: Male
                          Posts: 4
                          Quote:
                          Originally Posted by Crystal_ View Post
                          You mean it turned into a Ditto? I'll write these two things down in case I do an update in the future.
                          yea if transformed when catched turned into a ditto.
                          Reply With Quote
                            #13    
                          Old December 2nd, 2016 (2:20 PM).
                          Crystal_ Crystal_ is offline
                             
                            Join Date: Feb 2013
                            Location: Spain
                            Gender: Male
                            Posts: 175
                            A new version of the Pokemon Crystal Randofuser is up. Now includes a Catch 'Em All mode among other things!
                            Reply With Quote
                              #14    
                            Old December 17th, 2016 (2:53 AM).
                            Crystal_ Crystal_ is offline
                               
                              Join Date: Feb 2013
                              Location: Spain
                              Gender: Male
                              Posts: 175
                              v1.2 is up. It fixes a bug with some special evolutions, and adds the Johto starters to the catch em all mode, which were missing.

                              https://github.com/xCrystal/crystal-randofuser/releases/tag/v1.2
                              Reply With Quote
                                #15    
                              Old June 17th, 2017 (2:58 AM).
                              Crystal_ Crystal_ is offline
                                 
                                Join Date: Feb 2013
                                Location: Spain
                                Gender: Male
                                Posts: 175
                                A new version of the Pokemon Crystal Randofuser is out! Now you have the option to randomize wild and/or trainer Pokemon!

                                https://github.com/xCrystal/crystal-randofuser#randomize-wild-encounters--randomize-trainer-pokemon
                                Reply With Quote
                                Reply
                                Quick Reply

                                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 11:44 AM.