Jump to content

Leaderboard

  1. theSLAYER

    theSLAYER

    Administrator


    • Points

      2

    • Posts

      22411


  2. sb the great

    sb the great

    Member


    • Points

      1

    • Posts

      4


  3. NinFanBoyFTW

    NinFanBoyFTW

    Former Staff


    • Points

      1

    • Posts

      202


  4. Gridelin

    Gridelin

    Contributor


    • Points

      1

    • Posts

      155


Popular Content

Showing content with the highest reputation on 05/17/20 in all areas

  1. I decided to make a quick video and guide on how to compile PKHeX since most of the guides or "tutorials" I see out there are either outdated or way too complicted for the average user that just wants to quickly get the latest version of PKHeX. I know when I first started to get into the compiled versions of PKHeX, I had so much trouble getting things to work. Ill also include a video I just made explaining it too. 1. Go and download Microsoft Visual Studio Community 2017 Here: https://www.visualstudio.com/downloads/ 2. Install and make sure Microsoft VS opens properly (you may need the latest .NET installed) 3. go to https://github.com/kwsch/PKHeX and download the latest master 4. Unzip the "PKHeX-master" folder from the zip you just downloaded and open "PKHeX.sln" 5. click on "Build" and then "Build Solution" 6. Make Sure it Says that 0 Failed. If any Files Fail to Build I Would Just Retry Step 5 7. Go back to the "PKHeX-master" Folder from Earlier and Enter (PKHeX.WinForms>>bin>>Debug) If Everything Worked you Should see All of the PKHeX Files in this Folder. (You Only Need the PKHeX Program (the one with the PKHeX Logo) and the PKHeX.Core.dll File. The Rest of the "PKHeX-master Folder Can be Deleted. Congrats! You Just Learned How to Compile PKHeX. If You Need Any More Clarification Just Check Out My Video Tutorial Above.
    1 point
  2. Version July 22 2021 (FFF)

    161742 downloads

    All of the 920+ Pokemon in this save file are legal and will through Bank and HOME. Every pokemon that can legally be obtained as a shiny has its shiny form in the save file, the other pokemon are there in non-shiny form. 90% of the Pokemon in this save file were hatched/captured in USUM meaning that they can be used on battlespot. The first evolutions of almost all of the Pokemon will be level 1; the middle evolutions are often level 70. A majority of the final stage evolution pokemon are a smogon set. I hope this save helps some people out there. All of the complete 806 pokemon sets I could find online were either completely riddled with illegal pokemon, or all of the pokemon only knew 1 move; that is not the case with this save file. Enjoy ! Youtube Video showcasing the savefile: https://youtu.be/-YBj6WgP_ro
    1 point
  3. Version 1.0.0

    12300 downloads

    All 721 Pokémon are available and legal, with a few shinies. Bags are always filled with 750 of all items. SAVE FILE MUST BE NAMED: "MAIN" (WITHOUT THE QUOTATION MARKS AND WITHOUT THE .SAV) (I used Pokémon Y, Pokémon X is also compatible though.) Pokémon Y: Save 1: Beginning: Ready for a new Pokémon Y adventure! (Starter not chosen). Save 2: Shauna's Fireworks: As a reward for having found the Furfrou, Calem and Shauna receive a romantic Firework display....as well as the Pokéflute to awaken the sleeping Snorlax on Route 7... Save 3: Mega Evolution: Calem is presented the opportunity to attain Mega Evolution, a new discovery, which alongside the recent discovery of the fairy-typing may change the world's understanding of Pokémon... Save 4: End of the World: Lysandre, the head of Lysandre labs and the inventor of the Holo Caster has revealed himself to be the Leader of Team Flare! He intends to destroy the corrupt and ugly world in order to begin anew, by using the ultimate weapon and Yveltal's Infinity Energy! (There is an old man in the house closest to the Anistar City gym, who requests a level 5 Pokémon. I have an Eevee prepared, which you can give him...return after defeating the Pokémon League...) Save 5: Yveltal's Awakening: As Calem approaches Yveltal's Cocoon, within the Heart of Team Flare's base, he has an epiphany...Professor Sycamore mentioned that Yveltal awakens from its' cocoon every 3000 years and AZ mentioned the war occurred 3000 years ago. What if Team Flare revealed their true intentions upon this exact day to coincide with Yveltals' Awakening? ...To Calems' horror his theory is proven correct as he hears both the door closing behind him and the cocoon opening! Calem gets ready to confront the Pokémon of Destruction Incarnate! Save 6: Celebration!: Calem is about to face the Kalos Champion! After his victory there will be a parade within Lumiose city. AZ intends to attend... Save 7: Champion: Calem has become the Champion of Kalos! He could aid Looker capture the Last Team Flare Member: The scientist Xerosic! (Lumiose train station - Kiloude City - participate in the Battle Maison once - fight Serena in the north of Town - Anistar city sun dial - take one step in Lumiose City) Save 8: Postgame: Calem has aided Looker and Emma capture Xerosic and establish Emma as the protector of Kalos! (...There is an old man in the house closest to the Anistar City gym, who requested a level 5 Pokémon. An Eevee was given to him, you can now retrieve it) Pokémon teams based on: Headcanon Pokémon Teams and Timeline and Pokémon Protagonist Teams (Useful Batch Editor tips In PKHex go to tools->data->batch editor->copy paste the text below: .OT_Gender= (0 for male; 1 for female) ; .OT_Name= (your name) ; .OT_Friendship=255 ; .IsNicknamed= (true/false) .Language=(1=Japanese, 2=English, 3=French, 4=Italian, 5=German, 6=Spanish, 7=Korean) (be aware of some event Pokémon being of a certain language; mostly English)
    1 point
  4. Hello, I don't know if this is documented anywhere, but recently I have been trying to find out how Platinum generates PIDs for NPC trainers during the main game. I've mainly been examining Pokemon caught with a catch trainer code, some light hex editing on trpoke/data, and looking at the disassembly. So far, I've made the following observations: The lowest byte is either 0x78 or 0x88 depending on the trainer's gender - 0x78 for female, 0x88 for male. This causes Pokemon to be gendered the same as their owner unless they have any sort of existing gender ratio, in which case it's their preference. It also causes all NPC Pokemon to have their first ability. The highest byte is always 0. The middle two bytes are where it's more complex. It seems the sum of species, difficulty, level, and trainer location (not sure if the trainer number or memory address) is used: On the same trainer, a 250 difficulty Armaldo (species 348) has the same PID as a 200 difficulty Staraptor (species 398). On the same trainer, a Level 31 Combee (species 415) has the same PID as a Level 48 Staraptor (species 398). A Fisherman (trainer 175 in the disassembly) with a Level 42 Gyarados has the same PID as another Fisherman's (trainer 174) Level 43 Gyarados. When any of these factors is changed by 1, the value of the middle bytes is incremented (or possibly decremented by its ffff-complement) by a near-constant amount (like, plus or minus 1). If it reaches 0 or ffff, it loops around. This leads me to believe that the previous sum is multiplied by some value, but I cannot parse what. I have noticed that this increment seems to be determined by solely the trainer class as far as the trainer information is concerned. A Fisherman turned into a Rival class (no other modifications) is incremented by the same amount with each Level/Species/Difficulty/Trainer change as an actual fight against the Rival is. Looking into the disassembly seems to verify a lot of these observations: ldrb r0, [r0, #0x0] @ MainGameData_NPCTrainer_Class + r5*0x34 MainGameData_NPCTrainer_Size bl Function_20793ac cmp r0, #0x1 bne branch_207940a mov r0, #0x78 str r0, [sp, #0x14] b branch_207940e branch_207940a: @ 207940a :thumb mov r0, #0x88 str r0, [sp, #0x14] This preceding code assigns either 0x78 or 0x88 and stores that on the stack, which is definitely the eventual gender byte. branch_2079440: @ 2079440 :thumb ldrh r0, [r7, #TrPkmn0_Species] mov r1, #0x3f lsl r1, r1, #10 and r1, r0 asr r2, r1, #10 @ I think the point of all this shifting and anding is to clear the higher bits (that have no legal reason to exist) on the species? It shouldn't affect the value for any legal Pokemon. add r1, sp, #0x64 strb r2, [r1, #0x3] ldr r1, =0x3ff ldrh r2, [r7, #TrPkmn0_0] @ This data is definitely the difficulty. and r0, r1 lsl r0, r0, #16 ldrh r1, [r7, #TrPkmn0_Lvl] lsr r0, r0, #16 str r0, [sp, #0x34] @ Storing the should-be unaffected species on the stack ldr r0, [sp, #0x38] @ NPCTrainerDataAdress add r2, r2, r1 @ Difficulty+Level ldr r1, [sp, #0x34] @ Retrieving the species ldr r0, [r0, #0x18] @ Getting some offset of the "NPCTrainerDataAddress", I presume the location based on my observations add r1, r1, r2 @ (Difficulty+Level)+Species add r0, r0, r1 @ (Difficulty+Level+Species)+Trainer something str r0, [sp, #0x58] @ Sum stored on the stack bl SetPRNGSeed add r0, r4, r5 add r0, #0x29 ldrb r0, [r0, #0x0] @ MainGameData_NPCTrainer_Class + r5*0x34 (this comment is from the disassembly) mov r6, #0x0 cmp r0, #0x0 ble branch_207948c branch_207947a: @ 207947a :thumb bl PRNG str r0, [sp, #0x58] add r0, r4, r5 add r0, #0x29 ldrb r0, [r0, #0x0] @ MainGameData_NPCTrainer_Class + r5*0x34 .hword 0x1c76 @ add r6, r6, #0x1 cmp r6, r0 blt branch_207947a branch_207948c: @ 207948c :thumb ldr r0, [sp, #0x58] @ Retrieving the earlier sum after...something is done to it lsl r1, r0, #8 @ Left shifting to clear the lowest byte ldr r0, [sp, #0x14] @ Retrieving the gender value add r6, r1, r0 @ Adding that gender value to the middle bytes I am pretty sure this is where the process ends, but as you can tell by the lack of comments, the middle branch confuses me. Based on my limited understanding of assembly, I think loops like this are used to simulate multiplication as I theorized earlier, but there's an actual multiplication instruction so I assume it is more complex than that. The big issue is that even looking at the whole file, I am having trouble keeping track of what r4 and r5 should contain at this point, or if there any significance to 0x29 (an offset? idk) or if it's just being used as a constant. I'm also not sure if there's any significance to PRNG being called every time in the loop since iirc this is how player PIDs are generated, but the trainer PIDs don't seem to be random. Writing this out, I realize it's a lot, but I think I'm close and I'm hoping someone more familiar with assembly and Pokemon internally can crack this final bit. Or this has already been discovered and I've wasted a lot of time. For verification purposes, some observed PIDs: 200 Difficulty Level 48 Staraptor on League Barry (Empoleon team, #481): 0x00877488. Level 46: 0x000ae788. Level 47: 0x00c92e88. Level 49: 0x0045ba88 200 Difficulty Level 48 Staraptor on Elite Four Aaron (#261): 0x00e0fb88, Level 49: 0x00b6ec88 200 Difficulty Level 48 Staraptor on Elite Four Bertha (#262): 0x007b1578. Level 47: 0x00a11e78 0 Difficulty Level 43 Gyarados on Fisherman (#175): 0x0079fc88. Level 42: 0x001f2488 0 Difficulty Level 43 Gyarados on Fisherman (#174): 0x001f2488. Level 42: 0x00c44c88
    1 point
  5. Don't think there's any restriction relating to using Bank. There's restriction related to trading early, but it shouldn't apply to Bank.
    1 point
  6. So far, ban risk is for having CFW, not for playing with modified saves. It's just that modified saves are a way to show them that you have a CFW'd Switch. Unless done incorrectly, block injections don't traces of modifications. (Unless they happen to be doing a before and after comparison to your save, and your injections is something ridiculous. But that would require them to store both copies of the save on the server at the first place. Who knows really)
    1 point
×
×
  • Create New...