Users browsing this thread: 10 Guest(s)
Pony Fantasy VI Remake

Posts: 1
Threads: 0
Thanks Received: 0
Thanks Given: 0
Joined: Sep 2016
Reputation: 0
Status
None
^ 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.
Quote  

Posts: 49
Threads: 3
Thanks Received: 3
Thanks Given: 1
Joined: Mar 2016
Reputation: 0
Status
None
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.
  Find
Quote  

Posts: 735
Threads: 36
Thanks Received: 13
Thanks Given: 43
Joined: Jan 2016
Reputation: 6
Status
None
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).
  Find
Quote  

Posts: 3,970
Threads: 279
Thanks Received: 236
Thanks Given: 58
Joined: Oct 2011
Reputation: 65
Status
Tissue-aware
(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.
  Find
Quote  

Posts: 735
Threads: 36
Thanks Received: 13
Thanks Given: 43
Joined: Jan 2016
Reputation: 6
Status
None
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.
  Find
Quote  

Posts: 3,970
Threads: 279
Thanks Received: 236
Thanks Given: 58
Joined: Oct 2011
Reputation: 65
Status
Tissue-aware
Use bsnes+.
  Find
Quote  

Posts: 735
Threads: 36
Thanks Received: 13
Thanks Given: 43
Joined: Jan 2016
Reputation: 6
Status
None
I'm okay now. But I will keep that in mind if I need debugging. Thank you.
  Find
Quote  

Posts: 735
Threads: 36
Thanks Received: 13
Thanks Given: 43
Joined: Jan 2016
Reputation: 6
Status
None
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?
  Find
Quote  

Posts: 3,970
Threads: 279
Thanks Received: 236
Thanks Given: 58
Joined: Oct 2011
Reputation: 65
Status
Tissue-aware
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).
  Find
Quote  

Posts: 735
Threads: 36
Thanks Received: 13
Thanks Given: 43
Joined: Jan 2016
Reputation: 6
Status
None
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?
  Find
Quote  



Forum Jump:

Users browsing this thread: 10 Guest(s)


Theme by Madsiur2017Custom Graphics by JamesWhite