Jump to content

StarsMmd

Innovator
  • Posts

    710
  • Joined

  • Days Won

    3

Everything posted by StarsMmd

  1. That sounds like a really cool idea. I have all the code infrastructure to make an randomiser the ROM way but it just hasn't been a priority. Your method sounds really cool though. I probably know the most about the data formats in so let me know if you need any help. A few questions though: 1. The trainer pokemon are divided into several different files. One for the main story mode, one for mt. battle, one for colloseums, one for battle mode and some other less relevant ones. I'm pretty sure they aren't all always in RAM and they are loaded and unloaded as necessary. I can't remember for sure though so I could be mistaken. Have you checked yourself to confirm this and more importantly, if that is indeed the case, would that pose a problem or do you think your program could keep track of this? 2. Are you going to make sure that the shadow pokemon are on required trainer battles? That's how it is in normally so that you don't have to hunt down random trainers looking for shadow pokemon. If you fail to snag a shadow pokemon would it be randomised again by the next time you encounter it? Also, there is a value I recently found in the shadow pokemon data which I haven't documented yet that determines whether or not the shadow pokemon goes to miror b. For example, the hexagon brothers don't pass their shadows to miror b. because they are rebattled. Although the game only includes 83 shadow pokemon, the data accommodates up to 128. The rest just don't have any data so you'd have to fill it in with some randomised data but that's easy enough. As I think you noticed from your code generator, things fall apart if you reuse shadow ids so it might be best to make sure you don't exceed the limit. 3. Does your program factor in the notorious "shiny glitch" in colosseum/xd? In shadow pokemon were never shiny but I ran some tests in my hack and the shiny glitch is definitely in . Would your program be able to change the pokemon's pid upon purification to have the same ability, gender and nature but with shininess calculated using the player's trainer id? Or, I think an easier and better way would be to change the function that calculated shininess in RAM. I know exactly where to find the function and all you would have to do is change it so it always uses the player's trainer id instead of the shadow pokemon's OT. I can't think of anymore potential problems for now but I will be sure to let you know if there's anything else to look out for. Good luck!
  2. Good work dude. Just watched your video and it looks pretty handy! It's nice to see more and more people hacking I don't know if you've seen this page but this was so useful to me. Pokemon gecko codes Also, here is a pokemon colosseum/xd save editor -save-editor'>PkmGCSaveEditor by @Tux. It edits save files while yours creates gecko codes so they achieve the same thing in different ways. Maybe it could help you get ideas. He's included the source code (in c++) and a guide for making legal pokemon in which may be useful if you ever want to add an option for creating "legal" pokemon for trading.
  3. This looks clean One question though. Which programs are good for editing tpls?
  4. I don't have any clue where that routine could be located, sorry . I've never been able to get memory break points to work either. I tried compiling it myself and downloading a precompiled .exe. Maybe dolphin 5? Pretty cool that you go textures from the moves!
  5. 1. If the report says that carvanha had it's snag failed and not that sneasel was failed then that probably means it worked fine. If you reach the point where miror b. starts appearing then it will probably show up 2. I haven't experienced that bug myself but it could be to do with the settings you're using in the emulator? I probably wouldn't be able to do anything about that though. If you try loading up your save in vanilla you could see if it happens in that as well or if it's particular to XG. 3. Yeah I've seen that bug many times. It's a very situational one though. If one of the shadow pokemon uses a move like shadow burst or shadow smash twice so it's had 2 rounds of stat drops, the AI opts to switch that pokemon out. However, if you snag that pokemon on the turn it was supposed to switch out and the trainer had 3 pokemon at that point then they won't send out the third. This is because the game had already selected the 3rd pokemon to switch in on that shadow pokemon's turn. So when you snag the pokemon the AI doesn't think there are any available pokemon to switch in and since the shadow pokemon was snagged it never gets a turn for the pokemon to be switched in. As a result the pokemon is unable to switch in on that turn and must wait for the other pokemon to be defeated for the next switch-in cue. It's a bug in the game's original programming but since that situation never came up in the original (trainers never switched out shadow pokemon) they probably never even considered it. I haven't done anything about it because it's so situational and not game breaking but since I've been hearing it's happened to a lot of people now so maybe I'll change some things around. 4. Yes, you are correct on that. Heal pulse didn't work as I thought it would in the gen III engine. I've taken it out of later versions as a result. 5. I just checked on bulbapedia and it turns out that volt absorb only activated on damaging moves in gen III. Status moves only activated it as of gen IV. 6. Thank you, that will be removed in the next version I think I was actually in that stream. I remember responding to that comment but I'll repeat it here. In the recent versions, there is a new shadow move called "shadow bully" which is a shadow equivalent of seismic toss. Since the damage is set to the user's level it does consistent damage, even to other shadow pokemon. I think it works quite well actually although I don't know for sure if the AI is good enough to choose it against other shadow pokemon. It still doesn't do that much damage though so I don't know if it's enough. I was considering making shadow moves neutral on shadow pokemon if I could find the code responsible. Or if I found the code for sonic boom's 20 damage, I could up the value to something like 100 and use that on a shadow move.
  6. You make me blush. Yeah it's hard to say for sure what the cause could have been. I'll have to see if I can reproduce the bug because I haven't heard of it happening to anyone else. I've played through the game a few times myself and haven't had that happen either. You wouldn't happen to still have the footage would you? Yeah nasty plot uses the animation for mean look which has one animation for the pokemon using the move and then another animation for the pokemon being targeted. Since Houndoom is both the user and the target when using nasty plot it gets 2 animations in a row which is why it looks a little funny. This is also the case with moves like roost (feather dance animation) and anything which has an animation which is supposed to target another pokemon. I think drain punch animates twice because it has no draining animation. Yeah I considered no guard but it should also make the opponent's move's 100% accurate against the ability holder too so it would be another one of those compromise situations. Also, each of the new abilities is currently replacing an old one and I've already taken out all the feasible ones. I was hoping to change lightningrod so it at least grants immunity to electric moves. The easiest way would be to find the code which checks if a pokemon is a ground type and add a little extra to also check it's ability. However, once again it's a question of figuring out where to put the extra code. Light ball I don't have a clue right now but maybe one day! Good luck with everything though and I'll hope to catch your streams when you return to them!
  7. I'm really glad you like it. As I'm sure you can tell I'm a big fan of the game and it was a dream come true for me. I'm really glad I got to share the project with everyone and it's always great to see that I'm not alone! Interestingly enough, I actually caught one of your streams a while back although I don't think you could see the chat so I couldn't say hi. ? I really have no idea why the first glitch would have happened. As far as my tests have gone that's never happened and nobody else has reported that particular issue so far. Maybe since you lost the battle something went funny. I really wasn't sure how the game would handle additional shadow Pokemon and it really depends on how flexible the original programmers made it. So i crossed my fingers and hoped it worked. It seems to have worked perfectly so far so I'll have to look into it. One question: did you play 0.9.7 on a completely new save file As for the other game mechanics as you can tell the game engine just isn't flexible enough. A lot of the programming is very specific so I had to get creative at times or compromise at others. I've actually become pretty comfortable with the assembly programming used in the game and I'm piecing together all the different functions. Over time I will know enough to start making more technical changes. For example, I know exactly where the game makes thunder 100% accurate in rain. I'd like to do the same for hurricane but the only setback is that I can't simply insert the extra code in the middle without breaking the game. So once I figure out how I can put it in (and I have a decent idea) I can do it. I'm always finding little things like that so things will slowly improve over time.
  8. I've actually heard of this issue before but I haven't made any changes that would ameliorate the pid generation. I guess I'd have to rearrange the teams so that all the shadow pokemon are first. The AI doesn't necessarily send the pokemon out in the order that they are specified so it may still work out. That wouldn't be too hard to do programmatically. The alternative would be to make all trainer pokemon have a random nature, gender and ability each battle but that would create a lot of inconsistencies. I'll add it to the todo list
  9. I'm thinking of spending the day on it tomorrow. I have some ideas down on paper but nothing coded into the game yet. So once I have an idea of how long the process will take I will update you
  10. Yeah, I've been following the series. I even managed to catch some of the live streams. Jet actually messaged me to let me know about the series and I try to follow as many playthroughs of XG as I can so I can see what needs improvement. Thanks though
  11. Yeah, that's a good idea actually. Will see what I can do Whoops, my bad. Just fixed it for the next version. Thanks!
  12. ??? I wasnt sure if recovery moves would even be useful in double battles so that's pretty funny to hear. Great, I'll check this out when I get home ?? thanks
  13. Some cool ideas but I realised there are just too many issues with adding shadows to orre colosseum TT-TT 1. You can't use items, including pokeballs 2. Being forced to use 4 pokemon since they are chosen at random 3. Keeping track of whether the pokemon has been caught yet and scripting the game to use a different team if so 4. The levels in orre colosseum match the level of the player's strongest pokemon so the shadow pokemon's level would vary between different attempts Back to the drawing board for me!
  14. Great! Glad you got it to work in the end. Enjoy
  15. Thanks, let me know how it goes!
  16. Someone else had a similar problem on a different forum. They said they fixed the problem by using the same files on a different computer. They couldn't get it to work on 32 bit windows 7 but got it to work on 64 bit windows 7 apparently. You can also try a different UPS patcher other than tsukuyomi or NUPS and see what happens.
  17. Does it mention which of the files it can't open? Is it the ISO or the patch?
  18. Yeah it's a lot of hard work but it would be pretty impressive if you pulled it off. Good luck!
  19. When you first encounter the shadow pokemon it's shininess is determined using the opponent's trainer ID. After purification the shininess is recalculated using the player's trainer ID. This means that even if it's shiny when you catch it, there's only 1/8192 chance of it still being shiny after purification. If it wasn't shiny when you caught it, also has the 1/8192 chance of being shiny after purification. So if you want it shiny after purification you won't know until you purify it. If you're aiming to reset the game until they're shiny, you'd have to get all the way to purification before resetting. If you only care about them being shiny while they're shadow pokemon then it doesn't matter. Maybe you could use a save editor to change your TID just before you purify it and choose a TID that will keep the shininess. I doubt anyone would judge you for that after all the effort of resetting for it. The PID of the pokemon is set the first time it is used in battle so you would have to reset without saving. I think if you manage to lose to him before he sends out the metagross then it might possibly work. I don't know if it's set when the battle starts or when it is sent out but more likely when the battle starts so I doubt it would work but you can test what happens if you lose before the shadow pokemon comes out on another trainer to see.
  20. I'm pretty sure they can be shiny. Of course it's really difficult with it being 1/8193 chance and the shiny glitch in colosseum complicates things further
  21. Yup, it's a copy of the oras shiny beldum event. It was actually meant to be shiny in previous versions but I made a slight error. It's now always shiny
  22. Yeah that would be a pretty crappy design choice and quite problematic for us. It's unlikely they did anything that weird though so I'm hoping something convenient turns up.
  23. That complicates things a little. The exact pointer has to be somewhere since the game knows how to handle it. Maybe there's a pointer to the pointer. In the ones where we know the first pointer points to the texture we can see if there's a pointer to that offset (factoring in the header).
  24. Yeah, I could tell from the way you wrote your explanations that you haven't seen my list and you mentioned you hadn't gone very far in the game so it's really cool to see we had similar ideas in places. I hope there will be hack tools soon to make it easy for everyone to do. I'd be sure to play yours if it is ever produced
  25. Sorry for the late response! I'll see what I can do
×
×
  • Create New...