FF6 Hacking
Pony Fantasy VI Remake - Printable Version

+- FF6 Hacking (https://www.ff6hacking.com/forums)
+-- Forum: Discussion Forums (https://www.ff6hacking.com/forums/forum-5.html)
+--- Forum: Dragons' Den (https://www.ff6hacking.com/forums/forum-13.html)
+--- Thread: Pony Fantasy VI Remake (/thread-3106.html)



RE: Pony Fantasy VI Remake - Gazmanafc - 09-18-2016

^ Just to point out but casting magic on your own party members was not how I discovered the trigger but triggers it all the same, originally an enemy used blindness on a party member instead.

I believe it could be that it doesn't matter which status is healed, but Poison and Blindness were the only two I could test easily.


RE: Pony Fantasy VI Remake - Rydel - 09-18-2016

1. Load it up in a debuggers
2. Set a breakpoint for the code called when an enemy uses an item (not sure where this is)
3. When the enemy uses it, step through the code. Pay special attention to where it stores the amount of healing and see if that gets overwritten.

I'd also test having them use an offensive item (is the Super Ball still in?) and see if damage is reduced to 0 as well. Try giving them an item that doesn't deal with numbers, like a Zebra Potion. and see if the effect still works.


RE: Pony Fantasy VI Remake - DrakeyC - 09-18-2016

No, Superball is gone.

The rest, I have no idea how to do any of that. I only used a debugger once and don't recall how (and didn't really know what I was doing then anyway).


RE: Pony Fantasy VI Remake - madsiur - 09-18-2016

(09-16-2016, 07:05 PM)Madsiur Wrote: You should check when a monster use an item that the code runs through the C2/2A37 routine and if it behave as expected (code is well documented). Debugging time!

Put a breakpoint at C2/2A37, see if it break then have you disassembly to if if it branch and behave as expected in the routine.


RE: Pony Fantasy VI Remake - DrakeyC - 09-18-2016

EDIT - Good news, very very good news. Found a beta back-up from the 11th, both these glitches don't seem to happen there. I'm going to work off of there to catch up on bug fixing and hopefully all will be well.


RE: Pony Fantasy VI Remake - madsiur - 09-18-2016

Use bsnes+.


RE: Pony Fantasy VI Remake - DrakeyC - 09-18-2016

I'm okay now. But I will keep that in mind if I need debugging. Thank you.


RE: Pony Fantasy VI Remake - DrakeyC - 10-01-2016

A fairly simple thing but the event dump documentation confused me concerning this.

I want to set up an event to only execute if there is only one person in the party, and that person is Shadow. What would that look like?


RE: Pony Fantasy VI Remake - madsiur - 10-01-2016

There are two ways (and more but I'll stick to the main two).

this is an example:

Code:
CA/3F91: DE    Load CaseWord with the characters in the currently active party?
CA/3F92: C0    If ($1E80($1A9) [$1EB5, bit 1] is clear), branch to $CA5EB3 (simply returns)
CA/3F98: B2    Call subroutine $CAC6AC

Command DE will set some event bit proper to each character. They are the following. In this example a check for $1A9 is made (Setzer bit), if it's clear (character not present) there is a return, otherwise the event with Setzer in it will play.

Code:
1A0 B4:0 Multipurpose, Terra-related bit; CaseWord bit 0
1A1 B4:1 Multipurpose, Locke-related bit; CaseWord bit 1
1A2 B4:2 Multipurpose, Cyan-related bit; CaseWord bit 2
1A3 B4:3 Multipurpose, Shadow-related bit; CaseWord bit 3
1A4 B4:4 Multipurpose, Edgar-related bit
1A5 B4:5 Multipurpose, Sabin-related bit
1A6 B4:6 Multipurpose, Celes-related bit
1A7 B4:7 Multipurpose, Strago-related bit
1A8 B5:0 Multipurpose, Relm-related bit
1A9 B5:1 Multipurpose, Setzer-related bit
1AA B5:2 Multipurpose, Mog-related bit
1AB B5:3 Multipurpose, Gau-related bit
1AC B5:4 Multipurpose, Gogo-related bit
1AD B5:5 Multipurpose, Umaro-related bit
1AE B5:6 Multipurpose, actor 14-related bit
1AF B5:7 Multipurpose, actor 15-related bit

But in your case what would be better is this:

Code:
CA/5A8A: DE    Load CaseWord with the characters in the currently active party?
CA/5A8B: BE    If character $03 (SHADOW) is in the current CaseWord, call subroutine $CAD9FC
CA/5A90: B2    Call subroutine $CA5ABE

Just check with a hex editor and you'll get it. Once again it's command DE but the command after ($BE) check if shadow is in the party. You can check multiple bits with $BE but there always will be only one branching. Here $CA5A90 is the event without Shadow. $CAD9FC is his farewell at Barren Falls.

Edit: A solution to check if Shadow is alone is using technique A and check if all bits except his are cleared. You could do that with two C8 commands (numerous conditional "and" one in another one).


RE: Pony Fantasy VI Remake - DrakeyC - 10-01-2016

Well, I had the third point already, it's working fine. But I don't fully understand how to check if he's alone in the party? Do I have to set up a check like the Setzer example for each possible party member?