I'm sorry for my absence, but I had a fight with two ruffians and....I don't really need to give details, right?
Anyway, I was immobilized for some time and even now I have to wait with coding until doctor removes plaster cast. But I can dissasembly the code a little, so here's few answers.
I noticed that too when I was playing. I just didn't get a chance to look at that yet.
I looked into this a little. It's combination of replenishing HP to full and incorrect stat data. For some reason, LV7 have 164 as max HP while LV8 have 163!
I GUESS Lugia made mistake when changing stats from orignal chineese game. There you start with lv5, not lv7.
I don't know why it did that. I have had this happen to me before on this game. It happened when my characters were pretty high in level (Around 65) and I went to an area with very weak enemies (Around Midgar). After beating them, I didn't receive any exp or gil.
Function at JSR $E6A9(Bank 09) keep an eye on it. I think it's intended to be like this. Some games do this thing to give "Cmon! Beating such weak enemies won't make you grow stronger, fight someone of your size." feeling. Does the same happens in original FF7?
And all monsters are set to appear randomly. There is no set area where a monster appears (except bosses). The only thing that changes with the enemies is the difficulty level as you progress through the game. So it's something that I would not be able to change.
We can hijack function that is responsible for spawning enemies and base their appearances on a look up table.
I can write the code, but someone else have to fill the values-It will take a lot of time to fill it in, so I'm not going to do it.
Filling the table would be easy. Just set a pointer and then fill the areas which you want enemy to appear in.