Next up is Aim another self-explanatory command.
$03/E836 AD 9C 26 LDA $269C [$7E:269C] A:0003 X:0018 Y:0000 P:envMxdizc - Load Caster's Physical Attack Percent.
$03/E839 48 PHA A:0034 X:0018 Y:0000 P:envMxdizc - Push A.
$03/E83A AD 29 27 LDA $2729 [$7E:2729] A:0034 X:0018 Y:0000 P:envMxdizc - Load Enemies (Non-existent) Evasion.
$03/E83D 48 PHA A:0000 X:0018 Y:0000 P:envMxdiZc - Push A.
$03/E83E 7B TDC A:0000 X:0018 Y:0000 P:envMxdiZc - Transfer Direct Page (thereby making it 00)
$03/E83F 8D 29 27 STA $2729 [$7E:2729] A:0000 X:0018 Y:0000 P:envMxdiZc - Store 00 in Target's Evasion.
$03/E842 3A DEC A A:0000 X:0018 Y:0000 P:envMxdiZc -1 to A.
$03/E843 8D 9C 26 STA $269C [$7E:269C] A:00FF X:0018 Y:0000 P:eNvMxdizc - Store A (FF - 255%) into Physical Attack Percent.
$03/E846 20 99 C4 JSR $C499 [$03:C499] A:00FF X:0018 Y:0000 P:eNvMxdizc - Jump to Subroutine (Full Fight Routine)
$03/E849 68 PLA A:0000 X:750E Y:0018 P:envMxdiZC - Pull A.
$03/E84A 8D 29 27 STA $2729 [$7E:2729] A:0000 X:750E Y:0018 P:envMxdiZC - Store A in Target's Evasion.
$03/E84D 68 PLA A:0000 X:750E Y:0018 P:envMxdiZC - Pull A.
$03/E84E 8D 9C 26 STA $269C [$7E:269C] A:0034 X:750E Y:0018 P:envMxdizC - Store A in Caster's Accuracy.
$03/E851 60 RTS A:0034 X:750E Y:0018 P:envMxdizC - Return
It seems like only yesterday that I was flummoxed about how to make Aim into a less absolute command. At the time I knew very little and thought it was hopeless, but now I see what Square meant to do and because of what we have a bit freer space. Evasion would only ever effect battles against Valvalis/Barbariccia in the normal game. Therefore I think we could take those Evasion references and make them into something else.
I decided for this experiment to make the Accuracy of the currently equipped Bow to become the new Critical Hit Chance and x2 Accuracy.
$03/E836 AD 9C 26 LDA $269C [$7E:269C] A:0003 X:0018 Y:0000 P:envMxdizc - Load Caster's Accuracy.
$03/E839 48 PHA A:0034 X:0018 Y:0000 P:envMxdizc - Push it onto the Stack in A.
$03/E83A AE AD 26 LDX $26AD [$7E:26AD] A:0034 X:0018 Y:0000 P:envMxdizc - Load Caster's Critical Hit chance.
$03/E83D DA PHX A:0034 X:2306 Y:0000 P:envMxdizc - Push it onto the Stack in X.
$03/E83E 0A ASL A A:0034 X:2306 Y:0000 P:envMxdizc - x2 A (Caster's Accuracy)
$03/E83F 8D 9C 26 STA $269C [$7E:269C] A:0068 X:2306 Y:0000 P:envMxdizc - Store A in current accuracy.
$03/E842 4A LSR A A:0068 X:2306 Y:0000 P:envMxdizc - /2 A (Caster's Accuracy)
$03/E843 8D AD 26 STA $26AD [$7E:26AD] A:0034 X:2306 Y:0000 P:envMxdizc - Store in Critical Hit Chance.
$03/E846 20 99 C4 JSR $C499 [$03:C499] A:0034 X:2306 Y:0000 P:envMxdizc - Jump to Fighting Subroutine.
$03/E849 FA PLX A:0000 X:750E Y:0018 P:envMxdiZC - Pull X from Stack. (To restore original values)
$03/E84A 8E AD 26 STX $26AD [$7E:26AD] A:0000 X:2306 Y:0018 P:envMxdizC - Store X in Critical Hit Chance.
$03/E84D 68 PLA A:0000 X:2306 Y:0018 P:envMxdizC - Pull A from Stack. (To restore original values)
$03/E84E 8D 9C 26 STA $269C [$7E:269C] A:0034 X:2306 Y:0018 P:envMxdizC - Store A in Accuracy.
$03/E851 60 RTS A:0034 X:2306 Y:0018 P:envMxdizC - Return.
It took a little bit of time to figure it out, to make all of this work but it is tried and tested and works flawlessly. It gives Aim that extra push it needs to stack up against the better Commands and it only gets better as the game goes on, with the last bow the player will likely get topping out at 60% Critical Hit Chance for each attack whenever they use Aim with the Samurai Bow. Perhaps its a bit broken, but I was working with a bit of limited space after all, hehe.

January 5th 2014 - 2 New Aim Replacements!
Wow... Barrage (FFIII DS, FFT:War of the Lions) was a Stupidly easy thing to program in the end... at least in a basic form...
Because of space limitations I decided to call it (Arrow Symbol)Strm (Arrow Storm) after a tactic common to the Romance of the Three Kingdoms series.
$03/E836 20 99 C4 JSR $C499 [$03:C499] A:0003 X:0018 Y:0000 P:envMxdizc - Fight Routine x4
$03/E839 20 99 C4 JSR $C499 [$03:C499] A:0000 X:750E Y:0018 P:envMxdiZC
$03/E83C 20 99 C4 JSR $C499 [$03:C499] A:0000 X:750E Y:0018 P:envMxdiZC
$03/E83F 20 99 C4 JSR $C499 [$03:C499] A:0000 X:750E Y:0018 P:envMxdiZC
$03/E842 60 RTS A:0000 X:750E Y:0018 P:envMxdiZC - Return
Yes, four normal attacks. I honestly thought this was going to cause an overflow problem with the arrows, but to my amazement the game Properly decrements them without overflowing. (And if used with less than 3 Arrows you will no longer have any arrows) And as you'd expect it deals x4 Damage (though without my Infinite Arrow-Glitch fix it still has that problem as you'd expect.)
Now, these all add up properly, but there's still two pieces I'm missing. This first is how to divide the damage by 2. I may need to look back at the original Aim Command for guidance... Specifically at...
$03/E836 AD 9C 26 LDA $269C [$7E:269C] A:0003 X:0018 Y:0000 P:envMxdizc - Load Caster's Physical Attack Percent.
$03/E839 48 PHA A:0034 X:0018 Y:0000 P:envMxdizc - Push A.
That seems like a fine start to a recipe actually.
Well... I learned something through this experience...
Never Ever Forget to Retrieve Your Pushed Values!!For roughly an hour I was looking at my preliminary code, wondering what I was doing wrong, when it finally dawned on me that because I was testing the pure functionality I never retrieved the Pushed value back and this causes a system crash.
So I now have Arrowstorm working like Barrage from FFT:War of the Lions! 4 half-damage attack that takes 4 Ammo for roughly 2x damage (but it attacks four times so even more chance of a status infliction if applicable)
Arrowstorm
$03/E836 AD 9D 26 LDA $269D [$7E:269D] A:0003 X:0018 Y:0000 P:envMxdizc - Load Caster's Physical Attack Base.
$03/E839 48 PHA A:0053 X:0018 Y:0000 P:envMxdizc - Push A onto Stack.
$03/E83A 4A LSR A A:0053 X:0018 Y:0000 P:envMxdizc - Divide Physical Attack Base by 2.
$03/E83B 8D 9D 26 STA $269D [$7E:269D] A:0029 X:0018 Y:0000 P:envMxdizC - Store A in Physical Attack Base.
$03/E83E 20 99 C4 JSR $C499 [$03:C499] A:0029 X:0018 Y:0000 P:envMxdizC - Fight Routine x 4
$03/E841 20 99 C4 JSR $C499 [$03:C499] A:0000 X:750E Y:0018 P:envMxdiZC
$03/E844 20 99 C4 JSR $C499 [$03:C499] A:0000 X:750E Y:0018 P:envMxdiZC
$03/E847 20 99 C4 JSR $C499 [$03:C499] A:0000 X:750E Y:0018 P:envMxdiZC
$03/E84A 68 PLA A:0000 X:750E Y:0018 P:envMxdiZC - Pull A
$03/E84B 8D 9D 26 STA $269D [$7E:269D] A:0053 X:750E Y:0018 P:envMxdizC - Store A in Physical Attack Base (original value)
$03/E84E 60 RTS A:0053 X:750E Y:0018 P:envMxdizC - Return
Now, FFIII's Barrage is a little trickier to get down...
The way that works is each shot deals full damage +another 10-40% depending on the Job Level. To mimic this, (as well as I can...) I would instead make it look at Strength. At
0-39 Str. There would be no bonus. 40-60 1/8 Bonus in Damage, 60-99 1/4 Bonus in damage. It might encourage people to use Rosa in a Strength set-up rather than always going for the Will set-up possibly. But this seems like it will take a bit more space than Aim actually supports. So I'll have to hold off on that for now.
Though I suppose I could make a variant... (looks back at how he programmed Aura originally...) Yes. Instead make it so that Two Attacks will occur automatically. And if you have over 45 Strength a third one happens and at over 60 strength a fourth one occurs.
Barrage (Arrowstorm) FFIII "Style" (Sort of)
$03/E836 20 99 C4 JSR $C499 [$03:C499] A:0003 X:0018 Y:0000 P:envMxdizc - Fight Routine
$03/E839 20 99 C4 JSR $C499 [$03:C499] A:0000 X:750E Y:0018 P:envMxdiZC - Fight Routine
$03/E83C AD 94 26 LDA $2694 [$7E:2694] A:0000 X:750E Y:0018 P:envMxdiZC - Load Modified Strength
$03/E83F C9 2D CMP #$2D A:005D X:750E Y:0018 P:envMxdizC - Is it 45 or Higher?
$03/E841 90 0E BCC $0E [$E851] A:005D X:750E Y:0018 P:envMxdizC - If lower branch to 03E851
$03/E843 20 99 C4 JSR $C499 [$03:C499] A:005D X:750E Y:0018 P:envMxdizC - Fight Routine
$03/E846 AD 94 26 LDA $2694 [$7E:2694] A:0000 X:750E Y:0018 P:envMxdiZC - Load Modified Strength
$03/E849 C9 3C CMP #$3C A:005D X:750E Y:0018 P:envMxdizC - Is it 60 or Higher?
$03/E84B 90 04 BCC $04 [$E851] A:005D X:750E Y:0018 P:envMxdizC - If lower branch to 03E851
$03/E84D 20 99 C4 JSR $C499 [$03:C499] A:005D X:750E Y:0018 P:envMxdizC - Fight Routine
$03/E850 60 RTS A:0000 X:750E Y:0018 P:envMxdiZC - Return
Geez, I must really love the Aim Command, I've now made three variants for it!