Users browsing this thread: 2 Guest(s)
Final Requests for Help
04-06-2021, 10:28 PM
(This post was last modified: 04-06-2021, 11:36 PM by PowerPanda.)
I figured it out. All of her notes were written for a header, but the IPS patch was for a no header rom.
The other complication is that half of her beta patch was for the purpose of making Steal always hit... obviously not something we want. I was able to remove those portions, and was left with this:
What it appears to be doing is this: the first time you steal from an enemy, you will always get their rare steal (seems odd). Then, when you steal again and get a hit, it will increase Y so you're targeting the common steal slot. Only after you have stolen both items will you get the "nothing to steal" message. I'm going to have to chew on this. I feel like the code is 70% of the way there, but not quite finished.
EDIT: Okay, I need help with this. This is the subroutine that decides what to steal. I'm trying to add the following points of logic. As I have it written below, it is working. However, the problem is that if you've already stolen the common item, then the rare item gets a major boost in probability. Here is the logic I want to add in:
1. 1/8th of the time, branch to the rare steal on the first hit (done and working)
2. If you have already stolen the common item, then miss 7/8 of the time.
In the original C2 routine, there are several branches to C2/3A01, which displays the "can't steal" message. I tried switching this subroutine from a JSR to a JMP so that I could jump out of it to 3A01, but it's crashing the game. Any ideas on what I could add here so that even if you've already stolen the common item, you'll still miss on the rare item 87.5% of the time?
The other complication is that half of her beta patch was for the purpose of making Steal always hit... obviously not something we want. I was able to remove those portions, and was left with this:
Code:
C2/39E0: EA NOP
C2/69E1: 20 F0 66 JSR $66F0
C2/69E4: EA
...
C2/39FA: 7A PLY
C2/39FB: EA EA NOP
FREESPACE C2
C2/66F0: B9 08 33 LDA $3308,Y
C2/66F3: C9 FF CMP #$FF
C2/66F5: D0 04 BNE $66FB
C2/66F7: C8 INY
C2/66F8: B9 08 33 LDA $3308,Y
C2/66FB: 60 RTS
What it appears to be doing is this: the first time you steal from an enemy, you will always get their rare steal (seems odd). Then, when you steal again and get a hit, it will increase Y so you're targeting the common steal slot. Only after you have stolen both items will you get the "nothing to steal" message. I'm going to have to chew on this. I feel like the code is 70% of the way there, but not quite finished.
EDIT: Okay, I need help with this. This is the subroutine that decides what to steal. I'm trying to add the following points of logic. As I have it written below, it is working. However, the problem is that if you've already stolen the common item, then the rare item gets a major boost in probability. Here is the logic I want to add in:
1. 1/8th of the time, branch to the rare steal on the first hit (done and working)
2. If you have already stolen the common item, then miss 7/8 of the time.
In the original C2 routine, there are several branches to C2/3A01, which displays the "can't steal" message. I tried switching this subroutine from a JSR to a JMP so that I could jump out of it to 3A01, but it's crashing the game. Any ideas on what I could add here so that even if you've already stolen the common item, you'll still miss on the rare item 87.5% of the time?
Code:
20 5A 4B JSR $4B5A Choose a random number
C9 20 CMP #$20
90 ?? BCC +?? bytes 1 in 8 times, branch to the rare steal (the DEY line)
B9 09 33 LDA $3309,Y load the common steal
C9 FF CMP #$FF Was it already empty?
D0 04 BNE $66FB If not, branch to the end
[NEED TO ADD SOMETHING HERE]
88 DEY
B9 09 33 LDA $3309,Y target the rare steal
60 RTS
Projects:
FFVI: Divergent Paths (Completed) - a complete storyline and gameplay hack of FF6 that adds Leo as a playable character
« Next Oldest | Next Newest »
Users browsing this thread: 2 Guest(s)