• Our software update is now concluded. You will need to reset your password to log in. In order to do this, you will have to click "Log in" in the top right corner and then "Forgot your password?".
  • Welcome to PokéCommunity! Register now and join one of the best fan communities on the 'net to talk Pokémon and more! We are not affiliated with The Pokémon Company or Nintendo.

Adding in custom battle messages

275
Posts
8
Years
Same question as Lance32497's:
How do I know the values that combined with FD do something?

Being more specific, my message will be (it's a message for the -ate abilities):
"[Pokémon]'s [Ability] changed [Move] into [New move type]!"
For example, "Glalie's Refrigerate changed Tackle into Ice-type!".

Following the information here, I'll use FD 0F for Pokémon, FD 01 for move. But what about the ability and the new move type?

If it's possible, good. I had another way, but I was not into the idea of having a different message per different ability, like "[Pokémon]'s Refrigerate changed [Move] into Ice-type!" for every Pokémon with Refrigerate. =S
 
417
Posts
9
Years
  • Age 33
  • Seen Nov 20, 2016
Same question as Lance32497's:
How do I know the values that combined with FD do something?

Being more specific, my message will be (it's a message for the -ate abilities):
"[Pokémon]'s [Ability] changed [Move] into [New move type]!"
For example, "Glalie's Refrigerate changed Tackle into Ice-type!".

Following the information here, I'll use FD 0F for Pokémon, FD 01 for move. But what about the ability and the new move type?

If it's possible, good. I had another way, but I was not into the idea of having a different message per different ability, like "[Pokémon]'s Refrigerate changed [Move] into Ice-type!" for every Pokémon with Refrigerate. =S
First, for something so specific as an -ate ability, I think you're better off using setword http://www.pokecommunity.com/showpost.php?p=7101031&postcount=230

As for the buffers, a complete list probably exist somewhere (on people's computers), but I don't think it has ever been posted. You're better off just following the jumptable and reading it. last_copied_ability should be 0x17, and I think attacker's ability is 0x18. Not sure which one loads type, if there even is one. I mean. If there isn't already an automatic buffer for type, its only the 3 -ate abilities and normalize. You don't need one for every Pokemon.

Btw, not sure if you already know this, but according to Youtube, there isn't even a message for -ate abilities in Gen VI. It changes type without informing the player.
 
275
Posts
8
Years
First, for something so specific as an -ate ability, I think you're better off using setword http://www.pokecommunity.com/showpost.php?p=7101031&postcount=230

As for the buffers, a complete list probably exist somewhere (on people's computers), but I don't think it has ever been posted. You're better off just following the jumptable and reading it. last_copied_ability should be 0x17, and I think attacker's ability is 0x18. Not sure which one loads type, if there even is one. I mean. If there isn't already an automatic buffer for type, its only the 3 -ate abilities and normalize. You don't need one for every Pokemon.

Btw, not sure if you already know this, but according to Youtube, there isn't even a message for -ate abilities in Gen VI. It changes type without informing the player.

azurile13, thanks, always fast!
Yeah, I can't find a list with all commands nowhere.
You said "You're better off just following the jumptable and reading it." - Dude, what jumptable? And where did you get 0x17 and 0x18 from?
Also, I did more -ate abilities. There are 7 or 8, something like that. I'll probably end up with 7/8 different messages. Much easier than researching a lot, for such a little thing to implement.
As for the non-messaging thing, I played and tested the -ate abilities after implementing them, but it feels weird to choose Tackle or Scratch and getting a super or non effective hit. I don't care the games don't have a message. I feel like it's something worthy messaging about. We get messages for Shed Skin, Intimidate, Immunity, Static, Effect Spore, etc. Why not this?
 
417
Posts
9
Years
  • Age 33
  • Seen Nov 20, 2016
azurile13, thanks, always fast!
Yeah, I can't find a list with all commands nowhere.
You said "You're better off just following the jumptable and reading it." - Dude, what jumptable? And where did you get 0x17 and 0x18 from?
Also, I did more -ate abilities. There are 7 or 8, something like that. I'll probably end up with 7/8 different messages. Much easier than researching a lot, for such a little thing to implement.
As for the non-messaging thing, I played and tested the -ate abilities after implementing them, but it feels weird to choose Tackle or Scratch and getting a super or non effective hit. I don't care the games don't have a message. I feel like it's something worthy messaging about. We get messages for Shed Skin, Intimidate, Immunity, Static, Effect Spore, etc. Why not this?
Whoops. I thought that was in the OP of this thread. Try looking at the jumptable at 0x080D78B0.
case x2 = fcode_buffer2
case x3 = fcode_buffer3
case x17 = b_last_copied_ability
etc

But I'm guessing that at the very least kleenexfeu, KDS, or MrDollSteak each have a list. & yeah it is weird, I was just making sure you knew. Maybe for more surprise? Idk.
 
794
Posts
10
Years
Same question as Lance32497's:
How do I know the values that combined with FD do something?
"[Pokémon]'s [Ability] changed [Move] into [New move type]!"
For example, "Glalie's Refrigerate changed Tackle into Ice-type!".

In Emerald it would be:
last_used_ability = 0xFD, 0x17
attacker_ability = 0xFD, 0x18
target_ability = 0xFD, 0x19
move = 0xFD, 0x00 or 0xFD, 0x01 depending on which battle buffer you're choosing. The battle buffer should contain: 0xFD, 0x02, move id halfwod, 0xFF
type = 0xFD, 0x00 or 0xFD, 0x01 depending on which battle buffer you're choosing. The battle buffer should contain: 0xFD, 0x03, type id byte, 0xFF

Also, take a look at the decoding functions.
 
275
Posts
8
Years
Whoops. I thought that was in the OP of this thread. Try looking at the jumptable at 0x080D78B0.
case x2 = fcode_buffer2
case x3 = fcode_buffer3
case x17 = b_last_copied_ability
etc

But I'm guessing that at the very least kleenexfeu, KDS, or MrDollSteak each have a list. & yeah it is weird, I was just making sure you knew. Maybe for more surprise? Idk.

In Emerald it would be:
last_used_ability = 0xFD, 0x17
attacker_ability = 0xFD, 0x18
target_ability = 0xFD, 0x19
move = 0xFD, 0x00 or 0xFD, 0x01 depending on which battle buffer you're choosing. The battle buffer should contain: 0xFD, 0x02, move id halfwod, 0xFF
type = 0xFD, 0x00 or 0xFD, 0x01 depending on which battle buffer you're choosing. The battle buffer should contain: 0xFD, 0x03, type id byte, 0xFF

Also, take a look at the decoding functions.

Thanks guys, I will take a look at that jumptable. =D
 
Back
Top