Kaphotics Posted November 9, 2012 Author Share Posted November 9, 2012 Ok, I've toyed a little more with the 0x1C values. They're how the game rigs it to go against certain opponents. Recap of all the 0x1C's: Japan Nationals 02 03 00 00 02 03 00 00 02 03 00 00 01 01 00 00 01 01 00 00 01 01 00 00 01 01 00 00 VGC 2012 02 05 00 00 - Required Finalist 02 04 00 00 - Required Semifinalist 02 03 00 00 - Required Whenever 02 03 00 00 - Required Whenever 01 01 00 00 01 01 00 00 01 01 00 00 Legendary Rotation 02 03 00 00 - Required Whenever 02 03 00 00 - Required Whenever 00 02 00 00 - Required First 01 01 00 00 - Not Paired 01 01 00 00 - Not Paired 01 01 00 00 - Not Paired 01 01 00 00 - Not Paired Lance 02 05 10 00 - Required Finalist 02 03 1F 00 - Required Whenever 02 03 18 00 - Required Whenever 02 03 1E 00 - Required Whenever 01 01 00 00 01 01 00 00 00 01 00 00 Gathered Gym 02 05 16 00 - Required Finalist 02 05 21 00 - Required Finalist 02 05 29 00 - Required Finalist 02 05 35 00 - Required Finalist 01 01 00 00 01 01 00 00 01 01 00 00 ROM Masters 02 05 00 00 02 04 00 00 02 03 00 00 02 02 00 00 01 01 01 00 01 01 02 00 00 01 00 00 ROM Seniors 02 00 00 00 02 01 00 00 02 02 00 00 02 03 00 00 01 05 01 00 01 05 02 00 00 05 00 00 ROM Juniors 02 05 00 00 02 04 00 00 02 03 00 00 02 03 00 00 01 01 01 00 01 01 02 00 00 02 00 00 Battle of Legendary Singles 02 03 19 00 02 03 1C 00 02 03 2A 00 02 03 30 00 01 01 00 00 01 01 00 00 01 01 00 00 In summary: XX YY ZZZZ * 7 participants (you are the 8th!) XX = PKM Data Setting 02 - Defined within .pwt 01 - Defined randomly within narc 2 00 - Defined randomly within narc 1 Note: I think the difference between 01 and 00 is just the NARC it grabs from. There's 2 that contain sets; the game would pick randomly. YY = Bracket Setting 00 - ?? 01 - Filler Trainer 02 - Possible First Battle 03 - Possible Whenever battle 04 - Semifinalist Battle 05 - Finalist Battle Note: If there are multiple entries with the same battle setting, the game randomly decides which ones you will face. Essentially the game just tiers them up ensuring the highest settings are faced last, and all defined battles happen. ZZZZ = Trainer Override As I mentioned above, there's certain #'s which correspond to trainers. I listed the XX=02 (Special/Defined Trainer) override values, I'd bet XX=01/00 are crappy trainers and not of interest. The 0x1C values from previous tournaments can be used as pre-sets for certain common scenarios. Link to comment Share on other sites More sharing options...
Prof. 9 Posted November 9, 2012 Share Posted November 9, 2012 For the sake of editing, 3D5/3D6/3D7 should be set by the player, thus be 0. The only thing that isn't set is the Announcer Text, which can also be set to 0 since it calls the "Trainer Extra" (at the time I didn't know its function).So essentially all of these could be set to 0 and defined by the Editor. Well, the preset text has one extra perk, namely that it's automatically translated to all other languages (not sure why you'd do that since the tournament name/description/ruleset is in English but hey, the option is there). I think I'll check for presets when the text is being saved and put a combobox next to the edit box for choosing presets, once I get around to working on the editor a bit more (been focusing on actually playing the game the past week). That would also be helpful for people who don't really care/can't think of anything. Link to comment Share on other sites More sharing options...
Kaphotics Posted November 10, 2012 Author Share Posted November 10, 2012 (edited) Presenting (the first?) custom tournament... 2011 VGC World Champion Challenge.pwt Battle the Champions from the Pokémon World Championships in 2011! Steven, Cynthia, Blue and myself are not battleable, just the 3 champions edit: video of the tournament (with some funny business done by me) [video=youtube;OSnt5lwDlpo] Edited November 10, 2012 by Kaphotics Link to comment Share on other sites More sharing options...
codemonkey85 Posted November 10, 2012 Share Posted November 10, 2012 Wow. Amazing work Kaphotics. ROM editors tying this in with their take on the new games are going to have a field day. Link to comment Share on other sites More sharing options...
Kaphotics Posted November 10, 2012 Author Share Posted November 10, 2012 0x07 = Language 0x1 日本語 (Japan) 0x2 English (US/UK/AU) Haven't seen these yet, but theorized: 0x3 Français (France/Québec) 0x4 Italiano (Italy) 0x5 Deutsch (Germany) 0x7 Español (Spain/Latin Americas) 0x8 한국어 (South Korea) 0x08-0x09 = Tournament ID Pretty much the same as Wondercard ID, I guess it would ensure no current duplicate downloaded tournaments. It's like this for Live/WiFi tournaments. Check the ID on the Junior/Senior tournament, 10001 & 10002. 00001 - 2012 Japan Nationals 00002 - Challenge the Champion, Lance! 00003 - Gathered! Gym Leaders! 00004 - The Legendary Rotation Battle! 00005 - The Battle of Legendary Pokémon! 10001 - Junior Division Challenge 10002 - Senior Division Challenge 10004 - Junior Division Challenge (Fixed) Non-Canon 00001 - WCS2011 junior(English) 00002 - WCS2011 Senior(English) 00003 - WCS2011 master(English) 00004 - WCS2011 junior(English)★ 00005 - WCS2011 Senior(English)★ 00006 - WCS2011 master(English)★ == I think 0x0 might be BP rewarded. The rest might be for custom rewards instead of BP (and instead of shards on loss). May test later. nope. didn't see any effect Link to comment Share on other sites More sharing options...
Prof. 9 Posted November 10, 2012 Share Posted November 10, 2012 (edited) I'm starting to think it's impossible to change the rewards. I set all the variables that we don't know about yet (first 7 bytes + language byte, 0x26E, last 5 bytes of a trainer) to 0xFF, and I still got 2 BP in the end EDIT: and regular Shards. EDIT2: ...0x1C Book Girl (Female) 0x1D Maid (Female) there's more... Sometimes the ones after schoolkid don't work... dunno why yet. Looks like there are no more regular Trainer sprites you can use, the game defaults to 0 for values >= 0x1E.EDIT3: The pre-set intro messages change depending on when you fight the trainer in the tournament. EDIT4: Oh, you already listed those. Didn't see the buttons at the bottom. EDIT5: XX = PKM Data Setting 02 - Defined within .pwt 01 - Defined randomly within narc 2 00 - Defined randomly within narc 1 Note: I think the difference between 01 and 00 is just the NARC it grabs from. There's 2 that contain sets; the game would pick randomly. It turns out that 0x03 is also a valid value. Using it forces the game to use the special trainer override value (shifted by one, so 0 = Cheren, etc.) and forces the pre-set battle message. It also makes the game use pre-set teams, but I'm not sure where they're being taken from. When I tried to fight Marlon, he sent out Golbat, Zangoose, Watchog and Klink.EDIT6: The 16-bit value at 0x3DC in the trainer data seems to be some kind of bitfield (though only the lower 4 bits appear to be used) that's apparently used during battle. The 0x8 bit is shifted 4 places to the left (so 0xF results in 0x87). Edited November 13, 2012 by Prof. 9 Link to comment Share on other sites More sharing options...
Kaphotics Posted November 19, 2012 Author Share Posted November 19, 2012 Masters Tournament is now live. 10003 - 2012 Masters Division Challenge It seems as if all 3 tournaments were created before the Juniors tournament was released, hence why Juniors (fixed) is 10004. Food for thought Link to comment Share on other sites More sharing options...
HydroSage Posted November 24, 2012 Share Posted November 24, 2012 Is there any way to edit the non downloable tournaments? I'm not sure if anyone is working on creating tournaments; I had an idea about making a tourney which has the rivals/playable characters as the participants (Lucas, Dawn, Hilbert, Hilda, Nate, Rosa, Barry, Hugh) just a random thought. Link to comment Share on other sites More sharing options...
Kaphotics Posted November 24, 2012 Author Share Posted November 24, 2012 (edited) Is there any way to edit the non downloable tournaments? I'm not sure if anyone is working on creating tournaments; I had an idea about making a tourney which has the rivals/playable characters as the participants (Lucas, Dawn, Hilbert, Hilda, Nate, Rosa, Barry, Hugh) just a random thought. I've parsed their teams, they do reside in the narcs. In the General ROM info thread I give their location. /a/2/5/3 ********* pwtpoke2 - 1000 files, first bunch are for PWT (second set) /a/2/5/4 ********* pwttr1, 68 files - world tournament trainer pkm choices 1v1 /a/2/5/5 ********* pwttr6, 68 files - world tournament trainer pkm choices 6v6 /a/2/5/6 ********* pwtpoke - world tournament pkm sets (first set) /a/2/5/7 ********* 1000 files, pokemon sets pretty much filled ~still diff (subway?) /a/2/5/8 ********* pwt vgc top4 event, relic of dev testing which is unaccessible but I converted it here. Problem is, I'm pretty sure that modding the underlying tournament structure would require edits to the overlays. No idea which one; that's the issue. If you want, you can just replace their sprites/text and just swap up which teams they choose such that you get the lineup you desire for your hack. Might as well just make a PWT Download using alder and such, then change the sprites and text of the special trainers. Edited November 25, 2012 by Kaphotics Link to comment Share on other sites More sharing options...
Kaphotics Posted November 25, 2012 Author Share Posted November 25, 2012 (edited) Made a teambuilder in excel. Spits out a 6*0x34 long string which you can directly overwrite an existing entire team with. The text edits/brackets/etc are simple enough to do quickly in hex (for now) https://dl.dropbox.com/u/12206225/pwt-teambuilder.xlsx Edit: fixed shiny flag not being set. Abilities can't be illegal, the game has to have one that is legal for it... Edited November 25, 2012 by Kaphotics Link to comment Share on other sites More sharing options...
Prof. 9 Posted November 25, 2012 Share Posted November 25, 2012 Nice work. I should get around to finishing that editor of mine; can't really think of a good way to handle trainer sprite/name/class/message selection in the GUI... I noticed that 3 is also a valid value for the PKM data setting. Based on the mode value (XX) and the special Trainer value (ZZ), two variables are cached:Mode 0: 0x00 = 0x44 + rand(10) 0x01 = 0 Mode 1: 0x00 = 0x4E + rand(10) 0x01 = 0 Mode 2: 0x00 = Special Trainer value 0x01 = 0xF1 + trainerNumber (0-6) Mode 3: 0x00 = Special Trainer value 0x01 = 0 note: rand(10) takes numbers 0-9 in a random order, so it doesn't generate any duplicates The game then looks at 0x01 first. If it's 0xFF, it takes the player's team and continues. If it's 0xF1, 0xF2, 0xF3 or 0xF4, it looks at the special Trainer value; if that's zero, it takes the Trainer sprite value in the trainer's data. Link to comment Share on other sites More sharing options...
Infra Posted December 15, 2012 Share Posted December 15, 2012 Awesome tool, thanks for your work! I have a lil question, based on some of the options on your tool. Is there a way to edit the rules of a specific tournament already included in game (I mean, not the downloadable ones)? For instance, to make the Champion's single tournament be a 6v6 battle? I don't know why the preference from the devs to make single battles 3v3 (possibly time per battle, who knows), but it'd be really cool to be able to edit the rules for certain tournaments like world leaders and champions to make them full singles/doubles 6v6 battles. Link to comment Share on other sites More sharing options...
Kaphotics Posted December 15, 2012 Author Share Posted December 15, 2012 That question was asked already (post #33) and I provided an answer. Not possible atm, feel free to research it yourself. Link to comment Share on other sites More sharing options...
Prof. 9 Posted December 28, 2012 Share Posted December 28, 2012 It looks like the 2012 Masters Division Challenge (ENG10003) was silently updated; Abel's Metagross had his Ice Beam changed to Ice Punch and the : was removed from the name to make it distinct from the old one. I've gathered all the PWT files I had (most from this thread, some Italian ones I found on GBARL) and put them in a ZIP with ID tags and the correct names. You can download that here: http://www.mediafire.com/?2wj2bv0jhyr6811 Work on PWTEditor has stalled, I've been busy with other stuff and I'm not really satisfied with how it's turned out so I'll be rewriting parts of it sometime in the future. For what it is though (a PWT extractor/inserter) it should do the trick just fine. Link to comment Share on other sites More sharing options...
Ahito95 Posted December 28, 2012 Share Posted December 28, 2012 I can confirm that the Italian files are legit because I'm the one who uploaded them on GBARL Also, many thanks for your tool again Does someone have the Japanese tournament "You Can Challenge the Unova League!"? It's the only tournament with an end date (31st January 2013) and it's the only one we don't have Link to comment Share on other sites More sharing options...
BlackShark Posted December 28, 2012 Share Posted December 28, 2012 (edited) Yes, I have that tournament Edit: I also uploaded the French, German and Spanish tournaments You Can Challenge&.zip French Tournament.zip Spanish Tournamen.zip German Tournament.zip Edited December 29, 2012 by BlackShark Link to comment Share on other sites More sharing options...
Ahito95 Posted December 30, 2012 Share Posted December 30, 2012 Thanks BlackShark! Here's the new version of the Italian Master Division Challenge: http://sdrv.ms/W92xm9 Link to comment Share on other sites More sharing options...
PKMNTrainerNick144 Posted January 1, 2013 Share Posted January 1, 2013 Quick question, how do you parse all the teams and stuff? What program did you use because I just used your PWT Teambuilder and finished making a team, which is my actual Black2 team. I just want to know how can I make this officially work on my Black2 ROM. Link to comment Share on other sites More sharing options...
Kaphotics Posted January 1, 2013 Author Share Posted January 1, 2013 You just need to paste them in with HxD over the previous team. You need to select the entire pkm field that you are replacing so that no extra data is added... It's been a while so I don't remember. :\ Link to comment Share on other sites More sharing options...
Infra Posted January 2, 2013 Share Posted January 2, 2013 I've done some editing and I've added a custom tournament, and it's working fine. Thanks again for all these findings! I've wondering also, from what I've read in the thread and modified in the .pwt files; there's 4 trainers called up and whose teams can be included in the file structure. The other 3 lines can also be edited to change the sprites of the other participants, so you can change the sprites of all particpants on a download tournament. There's only 4 sets of pokemon teams included in the file, however. Is there a way to add the 3 extra team sets in order to not only have all the sprites edited but also all 7 custom pokemon teams? It wouldn't make sense for all trainer info to be changeable and not have a defined team for each trainer. There should be some variable in the file structure before the beggining of the pokemon and trainer data blocks that sets the amount of pokemon sets included in the file, I bet. That'd be the last piece of info needed in order to make fully customizable download PWTs. Link to comment Share on other sites More sharing options...
Prof. 9 Posted January 2, 2013 Share Posted January 2, 2013 Well, none of the currently released tournaments have had more than 4 trainers as far as I know so I doubt there is such a variable. Here's a compilation of all the stuff that's been figured out so far, I don't think I've posted it here yet: Tournament (0x1210 bytes): 0x0000: Tournament settings (0x274 bytes) 0x0274: Trainer 1 (0x3E0 bytes) 0x0654: Trainer 2 (0x3E0 bytes) 0x0A34: Trainer 3 (0x3E0 bytes) 0x0E14: Trainer 4 (0x3E0 bytes) 0x11F4: Bracket (0x1C bytes) Trainer data (0x3E0 bytes): 0x000: Pokémon 1 (0x34 bytes) 0x034: Pokémon 2 (0x34 bytes) 0x068: Pokémon 3 (0x34 bytes) 0x09C: Pokémon 4 (0x34 bytes) 0x0D0: Pokémon 5 (0x34 bytes) 0x104: Pokémon 6 (0x34 bytes) 0x138: Trainer settings (0x2A8 bytes) TOURNAMENT SETTINGS: 0x000 = ? 0x001 = ? 0x002 = ? 0x003 = ? 0x004 = ? 0x005 = ? 0x006 = ? 0x007 = Language (None, Japanese, English, French, Italian, German, Spanish, Korean) 0x008 = Tournament ID (16-bit) 0x00A = Tournament Name (37 characters) 0x054 = Tournament Description (75 characters) 0x0EA = Battle Rules (111 characters) 0x1C8 = Minimum amount of Pokémon required 0x1C9 = Maximum amount of Pokémon allowed (also the amount the opponent will use) 0x1CA = Allowed Level (8-bit) 0x1CB = Level style (0x00 = normal, 0x01 = minimum, 0x02 = maximum, 0x03 = scale down, 0x04 = set, 0x05 = scale up) 0x1CC = Maximum total party level (16-bit) 0x1CE = Allow duplicate Pokémon (1 bit) 0x1CF = Allow duplicate items (1 bit) 0x1D0 = Banned Pokémon (656 bits, 1 bit per species) 0x222 = Banned Items (608 bits, 1 bit per item) 0x26E = ? (always 0?) 0x26F = Battle Type (2 bits) (Single Battle, Double Battle, Triple Battle, Rotation Battle) 0x270 = Use World Champion battle music instead of PWT Finals battle music (1 bit) 0x271 = Allowed Type (8-bit) (if 0x11, all types are allowed) 0x272 = Banned Move (single 16-bit value; only 1 move can be banned (Sky Drop?)?) TRAINER DATA: 0x138 = Name (16 characters) 0x158 = Class (22 characters) 0x184 = Custom intro message (74 characters) 0x218 = Custom loss message (74 characters) 0x2AC = Custom win message (74 characters) 0x340 = Unknown message (74 characters) 0x3D4 = Sprite 0x3D5 = Pre-set intro message 0x3D6 = Pre-set loss message 0x3D7 = Pre-set win message 0x3D8 = In-battle loss message 0x3D9 = In-battle win message 0x3DA = Pre-battle Announcer message 0x3DB = ? 0x3DC = ? (16-bit) (max: 0xF?) 0x3DE = ? 0x3DF = ? BRACKET: 0x00 = Trainer 1 bracket data (4 bytes) 0x04 = Trainer 2 bracket data (4 bytes) 0x08 = Trainer 3 bracket data (4 bytes) 0x0C = Trainer 4 bracket data (4 bytes) 0x10 = Trainer 5 bracket data (4 bytes) 0x14 = Trainer 6 bracket data (4 bytes) 0x18 = Trainer 7 bracket data (4 bytes) BRACKET DATA: 0x0 = Pokémon data source (0 = random from set 1, 1 = random from set 2, 2 = from tournament data, 3 = ?) 0x1 = Trainer Rank 0x2 = Special Trainer (16-bit) Link to comment Share on other sites More sharing options...
Kyogre1 Posted January 2, 2013 Share Posted January 2, 2013 I think there are 4 text messages total and each can be assigned to one of these types of dialogs: Introduction, pre-battle dialog, winning dialog (in battle), losing dialog (in battle), winning dialog (after battle), losing dialog (after battle). Link to comment Share on other sites More sharing options...
Screamoarte Posted January 4, 2013 Share Posted January 4, 2013 Someone who has the Korean versions of Pokémon Black2&White2, could contribute with these here? Gathered! Gym Leader! and Challenge the Champion Lance! The Legendary Rotation Battle! 2012 Junior Division Challenge Thanks so much to the developer of this tool and to taxpayers of this thread. Link to comment Share on other sites More sharing options...
BlackShark Posted January 4, 2013 Share Posted January 4, 2013 (edited) Here they are! Edit: 챔피언 목호에게 도전하자! Challenge the Champion Lance! 모여라! 체육관 관장과 배틀이다! Gathered! Gym Leader! 전설의 로테이션배틀이다! The Legendary Rotation Battle! 마스터 세계강자에게 도전하자! 2012 Junior Division Challenge I messed something up, sorry This tournament is 2012 Master Division Challenge! Junior Division is here Korean Tournament.zip Edited July 29, 2013 by BlackShark wrong order of korean 2012 Division Challenges Link to comment Share on other sites More sharing options...
RubenPikachu Posted January 9, 2013 Share Posted January 9, 2013 Thanks Kaphotics and Prof. 9 for their PWT compiled research, I have mixed it with some of my research and built a working PWT editor with trainer and pokemon editing and I have add it to my program, however since I cannot post it here, I'm going to make a separate version and post it here later... TRAINER DATA: 0x138 = Name (16 characters) 0x158 = Class (22 characters) 0x184 = Custom intro message (74 characters) 0x218 = Custom loss message (74 characters) 0x2AC = Custom win message (74 characters) 0x340 = Unknown message (74 characters) 0x3D4 = Sprite 0x3D5 = Pre-set intro message 0x3D6 = Pre-set loss message 0x3D7 = Pre-set win message 0x3D8 = In-battle loss message 0x3D9 = In-battle win message 0x3DA = Pre-battle Announcer message 0x3DB = ? 0x3DC = ? (16-bit) (max: 0xF?) 0x3DE = ? 0x3DF = ? [/code] 0x340 = Custom announcer message (74 characters) Custom messages are used if pre-set messages values are zero I edited the unknown bytes however I don't see any change... Structure of PWT-DLC PKMs: 0x0-0x1: Species 0x2-0x17: 11 character namefield (after names, they are usually 0xFFFF aka terminators, not characters) 0x18-0x19: Held Item 0x1A: Shiny Flag (00 or 01) ~ unconfirmed, hasn't been used except for the ROM tournament 0x1B: Ability 0x1C: HP EV 0x1D: ATK EV 0x1E: DEF EV 0x1F: SPE EV 0x20: SPA EV 0x21: SPD EV 0x22-0x23: Move 1 0x24-0x25: Move 2 0x26-0x27: Move 3 0x28-0x29: Move 4 0x2A: gender? ~ unconfirmed. may just be bitflags for stuff 0x2B: Nature 0x2C-0x2F: IVs (stored same way as pkms) 0x30: ??? always 0. might be secondary sparkle like N's 0x31: Ball 0x32: Current Level 0x33: Happiness 0x30 = Alternate forms (bit 0-4) Link to comment Share on other sites More sharing options...
Recommended Posts
Create an account or sign in to comment
You need to be a member in order to leave a comment
Create an account
Sign up for a new account in our community. It's easy!
Register a new accountSign in
Already have an account? Sign in here.
Sign In Now