Users browsing this thread: 1 Guest(s)
Replace Moogle Suit with Shadow Suit
03-06-2021, 02:54 PM
Well, the RAM value to check is $11C9,Y. You want to compare it against #$9F, which is the item ID of the moogle suit.
Hypothetically this comparison would be made the same way that we check if the character is a moogle. But there's a problem...
Y is being incremented by steps of 40. But the ram block that contains $11C9 goes up by counts of 37. So if you check it in the same place and same manner as I checked for Imp, the check will fail for everyone except Actor Index $00 (Terra). I don't know how to set up another running counter to do indexed loads like that. I suppose that's what scratchpad RAM is for, but I've yet to have a success with that. I guess it would be something along the lines of "Load Scratch A, Push X, Transfer A into X, Load <value> relative to X, store in DIFFERENT scratch value, Load Scratch A again, Add <37> with Carry, Store Scratch A, pull X, and load the second scratch with our result", but again, I've yet to have success with techniques like that.
Hypothetically this comparison would be made the same way that we check if the character is a moogle. But there's a problem...
Y is being incremented by steps of 40. But the ram block that contains $11C9 goes up by counts of 37. So if you check it in the same place and same manner as I checked for Imp, the check will fail for everyone except Actor Index $00 (Terra). I don't know how to set up another running counter to do indexed loads like that. I suppose that's what scratchpad RAM is for, but I've yet to have a success with that. I guess it would be something along the lines of "Load Scratch A, Push X, Transfer A into X, Load <value> relative to X, store in DIFFERENT scratch value, Load Scratch A again, Add <37> with Carry, Store Scratch A, pull X, and load the second scratch with our result", but again, I've yet to have success with techniques like that.
« Next Oldest | Next Newest »
|
||||
Users browsing this thread: 1 Guest(s)