249 words
1 minutes
Creating a fresh NPC

After hours of searching and going down Z80 assembly tutorial rabbit-holes I finally got her on the screen. She is not a NPC_05 (an unused allocated NPC slot). She is her own woman! Rocking it out on $74!

added a new npc!

I still don’t 100% understand what is happening here. I don’t even know if I can explain this in a way that makes sense to someone who hasn’t worked on a similar project before, but I can try making some diagrams. Ah shit. I’ll just write up a small tutorial and see if the team for poketcg would like it for their wiki since I found the Pokémon Crystal & Yellow wikis helpful.

Adding a new NPC#

All NPC listings are stored in src\constants\npc_constants.asm.

Add your NPC to the DEF NUM_PICS EQU const_value block:

const NPC_TEST ; $74

Check-in#

So far I’m doing great! I really almost gave up for a second. I felt like I wasn’t going to be able to solve the problem, and I had other things I could be doing with my time. From an outside perspective this probably seems like an easy thing to do. But with no experience and not a lot of resources for this specific game its a lot more challenging then it looks.

Next up is making this NPC battle-able. That should take only a few seconds to do because I just need to add some header information. So maybe I’ll add some custom battle text. This is also a really good spot to start version control.

Creating a fresh NPC
https://fuwari.vercel.app/posts/rom-hacking/creating-a-fresh-npc/
Author
E-M-B-E-R
Published at
2023-07-16