02-13-2014, 07:09 PM
1. Definitely, and I don't think it would be terribly complicated ASM coding -- it's actually not a bad idea, and I may take a look at trying it myself. What you'd want to do is jump to a subroutine that checks which character is acting/counterattacking and returns the relevant command/ability rather than a fixed one.
2. What I suspect is happening is that you're not setting a specific Thrown item as part of the counterattack, so it's using the existing state of the variable -- #00 before you've otherwise Thrown anything, and then the #ID of whatever was thrown last once you have -- to determine which item is being Thrown. It's not Throw itself that's broken, it's the way it interacts with the counterattack function.
There'd be a way to fix Throw-as-counterattack however you want it to work; the degree of complexity depends on what you want it to do. If you have a specific Thrown item in mind, that's much simpler; you'd just need to set it during the command process. (I'd need to look at the code to figure out exactly how/where you'd do that, which I don't have time for now but may look at later.) If you want a random Thrown item, it becomes increasingly complex, and moreso depending on whether you're checking existing inventory vs. all-Throwable-items (which would be interesting if Shadow randomly counterattacked with a Thrown, IDK, Illumina or something); you'd need to write code that checks through the Throwable items in the inventory. Although you may be able to cannibalise that from the function that builds the Throw menu.
2. What I suspect is happening is that you're not setting a specific Thrown item as part of the counterattack, so it's using the existing state of the variable -- #00 before you've otherwise Thrown anything, and then the #ID of whatever was thrown last once you have -- to determine which item is being Thrown. It's not Throw itself that's broken, it's the way it interacts with the counterattack function.
There'd be a way to fix Throw-as-counterattack however you want it to work; the degree of complexity depends on what you want it to do. If you have a specific Thrown item in mind, that's much simpler; you'd just need to set it during the command process. (I'd need to look at the code to figure out exactly how/where you'd do that, which I don't have time for now but may look at later.) If you want a random Thrown item, it becomes increasingly complex, and moreso depending on whether you're checking existing inventory vs. all-Throwable-items (which would be interesting if Shadow randomly counterattacked with a Thrown, IDK, Illumina or something); you'd need to write code that checks through the Throwable items in the inventory. Although you may be able to cannibalise that from the function that builds the Throw menu.
Current Project: FF6: Tensei | Discord ID: TristanGrayse