øAslickproductions.org/forum/index.php?PHPSESSID=5f0fck550j2m4m2fpbtkj2vkm1&action=profile;u=123;area=showposts;start=900e:/My Web Sites/Slick Productions - FFIV Message Board/slickproductions.org/forum/index5679.htmlslickproductions.org/forum/index.php?PHPSESSID=5f0fck550j2m4m2fpbtkj2vkm1&action=profile;area=showposts;u=123e:/My Web Sites/Slick Productions - FFIV Message Board/slickproductions.org/forum/index5679.html.zx&òg^ÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÈ P,Ú!OKtext/htmlISO-8859-1gzip0|ÖÚ!ÿÿÿÿÿÿÿÿTue, 10 Mar 2020 20:18:04 GMT0ó°° ®0®P®€§²ð®$òg^ÿÿÿÿÿÿÿÿ$EÚ! Show Posts - Grimoire LD

Show Posts

This section allows you to view all posts made by this member. Note that you can only see posts made in areas you currently have access to.


Messages - Grimoire LD

901
While getting ready to put the finishing touches on Sing (Harp Dependent) I noticed that the Slot command, A6 I was using didn't necessarily correspond to the stored weapon selection. Instead that uses some numerical slot rather than place in data.

Now I think I'm just missing this numerical slot command, I don't recall seeing it anywhere. Do you happen to know what the other Slot commands are Chillyfeez? In this case it would be in regards to placement, not order from 7E2000. Because as it stands now Sing would only reliably be able to be used if you have the Singer in a correct slot in data which corresponds to where his weapon is. (For instance, I have Edward in Slot3, but I only have two characters at the moment, so his data doesn't read the area correctly). If Edward is in any of the normal slots, then its fine, but when he's not the command doesn't work (it will read 00's into the Magic Routine, which is just "Nothing Happened".


902
That is difficult to say... It was planned to be a CMP/BNE fest, but your ideas sounds Much more appealing. The only issue is that then they would be able to cast it from the weapon itself... unless the visual byte is read instead.... even some weapons in the final game have some visuals attached to weapons without abilities any longer. This might even lend itself well to Magic Weapons that don't need to use their spell from the weapon!

This has really got me thinking Chillyfeez, thank you for simple, but poignant advice. I think I might want to try it your way. With just that I really might be able to exchange the normal Sing formula for a much smaller formula like Boast or Cry. (Load Weapon Visual), (Store it in Next Action to Take) and you're done. And this will free up the fairly large Sing formula for something on a grander scale.

 :edit: Or I could be Smart and realize that Spells at 0 Power do Not Activate! Which means you can tie any spell to any weapon, if it has 0 power it cannot activate. Thank you very much Square! This was some pretty good foresight on your part.

That makes this much simpler.


903
Thanks JCE3000GT. Also are my patches, patching correctly? They're working fine for me obviously when I patch them to my roms, I just want to make sure that there's no issue with other v1.1's or anything like that.

I have an idea for the next project (FFIII Sing) but the problem with that is it would be going to Edward... Cecil already has his Break Skills, Sing couldn't be more unfitting for Kain if it tried to be, Rosa already has ArrowStorm and Hunt, and Rydia has Geomancy... Though FFIII's Sing uses a spell on the party which was dependent on the Harp Equipped. That is a neat idea and very easy to implement, but in the normal game you have Edward for maybe an hour or two tops and a scheme to include him in the final party would go a bit beyond a simple Command Upgrade Hack.

Should I just release the Patch with the three new Harps (Five spells) and allow Sing to work with the weapon chosen, even though Edward would only be around to collect one or two of them and let the hackers have their go at it? Or should I put some effort to include Edward into the party in a narrative sense so he can collect and use the other three harps?

904
When I first thought of this project I cynically said "Geomancy? For what? The three types of cave that you visit endlessly through the game?" And though there are a Lot of caves, there's also a fair amount of other dungeon types with different backgrounds, so I decided to take advantage of it.

Geomancy has been flawlessly included into FFIV! This command replaces Peep and uses every last byte Peep had to offer to make it work. This command, as true to Geomancy in FFIII NES, reads the battle background and will use an ability in correspondence. Because of space limitations several backgrounds share the same Geomancy effect unfortunately. The majority of moves are enemy only spells, but this patch also adds in two new spells. CalmWind for the Field and AirBlade for Forests, Deserts, Beaches, and Mountains. Like FFIII however there is a 35% chance upon use that it will Backfire, self destructing the User and dealing the User's HP damage to the enemies.


Code: [Select]
$03/E153 20 8B 85 JSR $858B  [$03:858B] A:0003 X:0028 Y:0000 P:envMxdizc - Generate Random Number
$03/E156 C9 28 CMP #$28 A:0027 X:0000 Y:0000 P:envMxdizc - Is it 35 or less?
$03/E158 B0 04 BCS $04    [$E15E] A:0027 X:0000 Y:0000 P:eNvMxdizc - If not, branch to Field Check
$03/E15A A9 91 LDA #$91 A:0027 X:0000 Y:0000 P:eNvMxdizc - Load Backfire into A.
$03/E15C 80 49 BRA $49    [$E1A7] A:0091 X:0000 Y:0000 P:eNvMxdizc - Branch to End
-------------------------------------------------------------------------------------------------------------------------------
$03/E15E AD 02 18 LDA $1802  [$7E:1802] A:0039 X:0000 Y:0000 P:envMxdizC - Load battle background into A.
$03/E161 D0 04 BNE $04    [$E167] A:0000 X:0000 Y:0000 P:envMxdiZC - If not 00 branch to next Field Check. (Field)
$03/E163 A9 5F LDA #$5F A:0000 X:0000 Y:0000 P:envMxdiZC - Load CalmWind into A.
$03/E165 80 40 BRA $40    [$E1A7] A:005F X:0000 Y:0000 P:envMxdizC - Branch to End
--------------------------------------------------------------------------------------------------------------------------------
$03/E167 C9 04 CMP #$04 A:0001 X:0000 Y:0000 P:envMxdizC - Is it Forest, Mountain, or Indoors?
$03/E169 B0 04 BCS $04    [$E16F] A:0001 X:0000 Y:0000 P:eNvMxdizc - If not, branch to next Field Check.
$03/E16B A9 60 LDA #$60 A:0001 X:0000 Y:0000 P:eNvMxdizc - Load AirBlade into A.
$03/E16D 80 38 BRA $38    [$E1A7] A:0060 X:0000 Y:0000 P:envMxdizc - Branch to End.
---------------------------------------------------------------------------------------------------------------------------
$03/E16F C9 07 CMP #$07 A:0004 X:0000 Y:0000 P:envMxdiZC - Is it Cave with Rivers, Moon, or On Board Ship?
$03/E171 B0 04 BCS $04    [$E177] A:0004 X:0000 Y:0000 P:eNvMxdizc - If not, branch to next Field Check
$03/E173 A9 74 LDA #$74 A:0004 X:0000 Y:0000 P:eNvMxdizc - Load ColdMist into A.
$03/E175 80 30 BRA $30    [$E1A7] A:0074 X:0000 Y:0000 P:envMxdizc - Branch to End.
-------------------------------------------------------------------------------------------------------------------------------
$03/E177 C9 07 CMP #$07 A:0007 X:0000 Y:0000 P:envMxdiZC - Is it Watery Caves?
$03/E179 D0 04 BNE $04    [$E17F] A:0007 X:0000 Y:0000 P:envMxdiZC - If not, branch to next Field Check.
$03/E17B A9 9B LDA #$9B A:0007 X:0000 Y:0000 P:envMxdiZC - Load Big Wave into A.
$03/E17D 80 28 BRA $28    [$E1A7] A:009B X:0000 Y:0000 P:eNvMxdizC - Branch to End.
--------------------------------------------------------------------------------------------------------------------------------
$03/E17F C9 08 CMP #$08 A:0008 X:0000 Y:0000 P:envMxdizC - Is it Cave Background?
$03/E181 D0 04 BNE $04    [$E187] A:0008 X:0000 Y:0000 P:envMxdiZC - If not, branch to next Field Check.
$03/E183 A9 A1 LDA #$A1 A:0008 X:0000 Y:0000 P:envMxdiZC - Load (Enemy) Quake into A.
$03/E185 80 20 BRA $20    [$E1A7] A:00A1 X:0000 Y:0000 P:eNvMxdizC - Branch to End.
----------------------------------------------------------------------------------------------------------------------------------
$03/E187 C9 0B CMP #$0B A:0009 X:0000 Y:0000 P:envMxdizC - Is it Desert or Beach?
$03/E189 B0 02 BCS $02    [$E18D] A:0009 X:0000 Y:0000 P:eNvMxdizc - If not, branch to next Field Check.
$03/E18B 80 DE BRA $DE    [$E16B] A:0009 X:0000 Y:0000 P:eNvMxdizc - Loop back to AirBlade Routine.
----------------------------------------------------------------------------------------------------------------------------------
$03/E18D C9 0B CMP #$0B A:000B X:0000 Y:0000 P:envMxdiZC - Is it Sylph Cave/Feymarch?
$03/E18F D0 04 BNE $04    [$E195] A:000B X:0000 Y:0000 P:envMxdiZC - If not, branch to next Field Check.
$03/E191 A9 6F LDA #$6F A:000B X:0000 Y:0000 P:envMxdiZC - Load Breath into A.
$03/E193 80 12 BRA $12    [$E1A7] A:006F X:0000 Y:0000 P:envMxdizC - Branch to End.
--------------------------------------------------------------------------------------------------------------------------------------
$03/E195 C9 0D CMP #$0D A:000D X:0000 Y:0000 P:envMxdizC - Is it Technological Background, Lunar Caverns?
$03/E197 B0 04 BCS $04    [$E19D] A:000D X:0000 Y:0000 P:eNvMxdizc -If not,  branch to Random Choice.
$03/E199 A9 99 LDA #$99 A:000C X:0000 Y:0000 P:eNvMxdizc - Load Thunder into A.
$03/E19B 80 0A BRA $0A    [$E1A7] A:0099 X:0000 Y:0000 P:eNvMxdizc - Branch to End.
-----------------------------------------------------------------------------------------------------------------------------------------
$03/E19D A2 00 00 LDX #$0000 A:000D X:0000 Y:0000 P:envMxdiZC - Load 0000 into X
$03/E1A0 A9 0D LDA #$0D A:000D X:0000 Y:0000 P:envMxdiZC - Load 0D into A
$03/E1A2 20 79 83 JSR $8379  [$03:8379] A:000D X:0000 Y:0000 P:envMxdizC - Jump to RNG.
$03/E1A5 80 BA BRA $BA    [$E161] A:0001 X:0000 Y:0000 P:eNvMxdizc - Loop back to first Field Check.
------------------------------------------------------------------------------------------------------------------------------------------
$03/E1A7 8D D2 26 STA $26D2  [$7E:26D2] A:0091 X:0000 Y:0000 P:eNvMxdizc - Store A in Next Action to take
$03/E1AA 4C 46 CC JMP $CC46  [$03:CC46] A:0091 X:0000 Y:0000 P:eNvMxdizc - Jump to Magic Routine

I think this is probably one of my finest crafted routines, I used every bit of space meticulously and cannot think of a way to shorten it at all.

Now what you can expect from this patch... Rydia will be given the Geomancy skill in this patch in replacement of White Magic and will have it throughout the game. This was a difficult decision. I wanted to give Geomancy to a character with staying power, my initial thought was Rosa, but she's not with you in one or two Geomancy unique areas (Watery Caves comes to mind) my other thought was Cecil, but that just seemed a bit out of character for him, so in the end I went with Rydia. Aside from Rosa she is with Cecil for the most time, Kain has large gaps of being gone and Edge joins pretty late into the fray.





The battlefields that represent which effect will be used are as follows.

CalmWind (Puts all enemies to sleep) - Field
AirBlade (Deals Wind Elemental Damage) - Forests, Mountains, Indoors, Beach, Desert
ColdMist (Deals Low Ice Elemental Damage) - Caves with Rivers, Moon, On Board Ship
Big Wave (Deals 1/4 of target's life to target.) - Watery Caves
(Enemy) Quake (Deals High Damage)- Caves with Holes
Breath (Causes a multitude of stats effects) - Sylph Cave/Feymarch
Thunder  (Deals 1/4 of target's life to target. Lightning Elemental) - Towers and Giant
Random Choice - Lunar Caverns, Lunar Core, Underworld, Zeromus, Night Battle (in case a hacker wanted to give Edward Geo.)

And that is that! As always, please give me your thoughts on these.


905
Geomancy is coming along great! I am finished with the coding, now I just need to test it all. I have to say I am very proud of myself on this one. It works Nearly identical (in function, not so much in skills) to how it works in FFIII!

Here's a few snapshots...









Have a good night everyone. This patch will be released tomorrow!

906
Hmm, though I had to sacrifice a bit of what I wanted I am not upset at all with the results...

Break Skills are complete! I only added 5 though and only the ones that hit stats. Not because I ran out of room with my chosen point, but because I think they're good enough and they capture the original spirit of the Break Skills (without the potential for absurd brokenness.)

Sylph was the victim this time. I haven't yet filled up the entire data though. There's a lot of free space I might want to use for other purposes perhaps.

Code: [Select]
EDIT: Code added to prevent crashes when enemies use these, meaning that the original byte placement representations are off by 4.)

$03/DAAE A5 CD LDA $CD    [$00:06CD] A:00F0 X:0140 Y:0000 P:eNvMxdizc - Load Character ID into A.
$03/DAB0 30 05 BMI $05    [$DAB7] A:00F0 X:0140 Y:0000 P:eNvMxdizc - If a monster skip Audiovisual Call
----------------------------------------------------------------------------------------------------------------
$03/DAAE A9 C0 LDA #$C0 A:0003 X:0034 Y:0000 P:envMxdizc - Load Weapon Swing into A.
$03/DAB0 8D C4 33 STA $33C4  [$7E:33C4] A:00C0 X:0034 Y:0000 P:eNvMxdizc - Store A in Audiovisual Call.
---------------------------------------------------------------------------------------------------------------
$03/DAB3 AD A2 28 LDA $28A2  [$7E:28A2] A:00C0 X:0034 Y:0000 P:eNvMxdizc - Load Stored Element into A.
$03/DAB6 C9 01 CMP #$01 A:0001 X:0034 Y:0000 P:envMxdizc - Is it Fire?
$03/DAB8 D0 13 BNE $13    [$DACD] A:0001 X:0034 Y:0000 P:envMxdiZC - If not, branch to next check.
----------------------------------------------------------------------------------------------------------------------------------------------------------
$03/DABA AD 1D 27 LDA $271D  [$7E:271D] A:0001 X:0034 Y:0000 P:envMxdiZC - Load Target's Attack Power into A.
$03/DABD C9 09 CMP #$09 A:000E X:0034 Y:0000 P:envMxdizC - Is it more than 08?
$03/DABF 90 0B BCC $0B    [$DACC] A:000E X:0034 Y:0000 P:envMxdizC - If not, branch to Return.
$03/DAC1 48 PHA A:000E X:0034 Y:0000 P:envMxdizC - Push A onto stack
$03/DAC2 4A LSR A A:000E X:0034 Y:0000 P:envMxdizC - /2
$03/DAC3 4A LSR A A:0007 X:0034 Y:0000 P:envMxdizc - /2
$03/DAC4 85 E3 STA $E3    [$00:00E3] A:0003 X:0034 Y:0000 P:envMxdizC - Store A in E3.
$03/DAC6 68 PLA A:0003 X:0034 Y:0000 P:envMxdizC - Pull A from Stack.
$03/DAC7 E5 E3 SBC $E3    [$00:00E3] A:000E X:0034 Y:0000 P:envMxdizC - Minus current stat by 1/4 of its original value.
$03/DAC9 8D 1D 27 STA $271D  [$7E:271D] A:000B X:0034 Y:0000 P:envMxdizC - Store A in Attack Power.
$03/DACC 60 RTS A:000B X:0034 Y:0000 P:envMxdizC - Return
-------------------------------------------------------------------------------------------------------------------------------
$03/DACD C9 02 CMP #$02 A:0002 X:0034 Y:0000 P:envMxdizC - Is it Ice?
$03/DACF D0 13 BNE $13    [$DAE4] A:0002 X:0034 Y:0000 P:envMxdiZC - If not, branch to next check.
$03/DAD1 AD 3B 27 LDA $273B  [$7E:273B] A:0002 X:0034 Y:0000 P:envMxdiZC - Load Target's Speed into A.
$03/DAD4 C9 20 CMP #$20 A:0010 X:0034 Y:0000 P:envMxdizC - Is it 20 or above?
$03/DAD6 B0 0B BCS $0B    [$DAE3] A:0010 X:0034 Y:0000 P:eNvMxdizc - If so branch to return.
$03/DAD8 48 PHA A:0010 X:0034 Y:0000 P:eNvMxdizc - Push Speed onto stack.
$03/DAD9 4A LSR A A:0010 X:0034 Y:0000 P:eNvMxdizc - /2
$03/DADA 4A LSR A A:0008 X:0034 Y:0000 P:envMxdizc - /2
$03/DADB 85 E3 STA $E3    [$00:00E3] A:0004 X:0034 Y:0000 P:envMxdizc - Store A  in E3.
$03/DADD 68 PLA A:0004 X:0034 Y:0000 P:envMxdizc - Pull A from Stack.
$03/DADE 65 E3 ADC $E3    [$00:00E3] A:0010 X:0034 Y:0000 P:envMxdizc - Add the value in E3 onto A (to slow target down.)
$03/DAE0 8D 3B 27 STA $273B  [$7E:273B] A:0014 X:0034 Y:0000 P:envMxdizc - Store A in Target's Speed.
$03/DAE3 60 RTS A:0014 X:0034 Y:0000 P:envMxdizc - Return
---------------------------------------------------------------------------------------------------------------------------------
$03/DAE4 C9 04 CMP #$04 A:0004 X:0034 Y:0000 P:envMxdizC - Is it Lightning?
$03/DAE6 D0 12 BNE $12    [$DAFB] A:0004 X:0034 Y:0000 P:envMxdiZC - If not, branch to next check.
$03/DAE8 AD 28 27 LDA $2728  [$7E:2728] A:0004 X:0034 Y:0000 P:envMxdiZC - Load Target's Physical Defense Multiplier into A.
$03/DAEF 48 PHA A:0002 X:0034 Y:0000 P:envMxdiZC - Push A.
$03/DAF1 4A LSR A A:0001 X:0034 Y:0000 P:envMxdizc - /2
$03/DAF2 85 E3 STA $E3    [$00:00E3] A:0000 X:0034 Y:0000 P:envMxdiZC - Store Physical Defense into E3.
$03/DAF4 68 PLA A:0000 X:0034 Y:0000 P:envMxdiZC - Pull A.
$03/DAF5 E5 E3 SBC $E3    [$00:00E3] A:0002 X:0034 Y:0000 P:envMxdizC - Subtract value in E3 from Physical Defense.
$03/DAFA 30 05 BMI $05    [$DB01] A:00FF X:02A6 Y:0000 P:eNvMxdizc - If negative, branch to End.
$03/DAF7 8D 28 27 STA $2728  [$7E:2728] A:0002 X:0034 Y:0000 P:envMxdizC - Store in Target's Physical Defense.
$03/DAFA 60 RTS A:0002 X:0034 Y:0000 P:envMxdizC - Return
---------------------------------------------------------------------------------------------------------------------------------------------------------
$03/DAFB C9 08 CMP #$08 A:0008 X:0034 Y:0000 P:envMxdizC - Is it Darkness Element?
$03/DAFD D0 14 BNE $14    [$DB19] A:00F0 X:01BE Y:4510 P:eNvMxdIzc - Branch to next one if not.
$03/DAFF AD 17 27 LDA $2717  [$7E:2717] A:0008 X:0034 Y:0000 P:envMxdiZC - Load A from Target's Spell Power.
$03/DB06 48 PHA A:0028 X:0034 Y:0000 P:envMxdizC - Push A onto Stack.
$03/DB07 4A LSR A A:0028 X:0034 Y:0000 P:envMxdizC - /2
$03/DB08 4A LSR A A:0014 X:0034 Y:0000 P:envMxdizc - /2
$03/DB09 85 E3 STA $E3    [$00:00E3] A:000A X:0034 Y:0000 P:envMxdizc - Store A in E3.
$03/DB0B 68 PLA A:000A X:0034 Y:0000 P:envMxdizc - Pull A from Stack.
$03/DB0C E5 E3 SBC $E3    [$00:00E3] A:0028 X:0034 Y:0000 P:envMxdizc - Subtract A from E3.
                        30 07 BMI $07    [$DB19] A:00F0 X:01BE Y:4510 P:eNvMxdIzc - Branch if Minus to End.
$03/DB0E 8D 17 27 STA $2717  [$7E:2717] A:001D X:0034 Y:0000 P:envMxdizC - Store A in Target's Wisdom
$03/DB15 8D 18 27 STA $2718  [$7E:2718] A:00F0 X:01BE Y:4510 P:eNvMxdIzc - Store A in Target's Will
$03/DB11 60 RTS A:001D X:0034 Y:0000 P:envMxdizC - Return
-----------------------------------------------------------------------------------------------------------------------------------------------------
$03/DB12 C9 10 CMP #$10 A:0010 X:0034 Y:0000 P:envMxdizC - Is it Holy?
$03/DB14 D0 13 BNE $13    [$DB29] A:0010 X:0034 Y:0000 P:envMxdiZC - If not, branch to 13 bytes away, (left open just in case I want to expand)
$03/DB16 AD 24 27 LDA $2724  [$7E:2724] A:0010 X:0034 Y:0000 P:envMxdiZC - Load Target's Magical Defense into A.
$03/DB19 C9 02 CMP #$02 A:000B X:0034 Y:0000 P:envMxdizC - Is it less than 02?
$03/DB1B 90 0B BCC $0B    [$DB28] A:000B X:0034 Y:0000 P:envMxdizC - If so branch to return.
$03/DB1D 48 PHA A:000B X:0034 Y:0000 P:envMxdizC - Push A.
$03/DB1E 4A LSR A A:000B X:0034 Y:0000 P:envMxdizC - /2
$03/DB1F 4A LSR A A:0005 X:0034 Y:0000 P:envMxdizC - /2
$03/DB20 85 E3 STA $E3    [$00:00E3] A:0002 X:0034 Y:0000 P:envMxdizC - - Store Magical Defense into A.
$03/DB22 68 PLA A:0002 X:0034 Y:0000 P:envMxdizC  - Pull A.
$03/DB23 E5 E3 SBC $E3    [$00:00E3] A:000B X:0034 Y:0000 P:envMxdizC - Subtract A from E3.
$03/DB25 8D 24 27 STA $2724  [$7E:2724] A:0009 X:0034 Y:0000 P:envMxdizC - Store A in Magical Defense.
$03/DB28 60 RTS A:0009 X:0034 Y:0000 P:envMxdizC - Return
------------------------------------------------------------------------------------------------------------------------------------------------

And there you have it! The way it works is that it reads the Element as assigned by the Stored Elemental of the spell and from there branches onto different paths. From there it will take an enemy stat and divide it by 1/4. I wanted to originally make calculations between the target's stats and your own. But I don't think its worth the trouble. To prevent overflow issues each branch has a set limit to how far it can be pushed down.









In the Patch you will see that Dark Knight Cecil starts with a Break Skill and 50 MP, he will gain more as you level. He'll learn the last one at Level 20.

In addition, Tellah can now use Swords and will learn the Break Skills when he relearns all of his spells on Mt. Ordeals.

Paladin Cecil will have a much slower time of obtaining the Break Skills again, learning the first one at 24 and the last one at 40.

Cecil and Tellah are the only two that will be able to use Break Skills in this patch. (of course as the patch is aimed at modders you can do whatever you want with it, heh.)


Everything has a cost, and the cost this time was the Sylph Formula. This means that Sylph's effect has been changed as well. The effect is now a more powerful Osmose (you weren't spending MP to use it anyhow...)

In addition because of the new Break Skills, five spells had to be replaced...

Hold - Seal Break (Lowers Target's Magic Defense by 1/4)
Armor - Power Break (Lowers Target's Attack by 1/4)
Safe - Speed Break (Increases Target's Speed Rating by 1/4, generally making it half as powerful as Slow)
Dispel/Curse - Armor Break (Lowers Target's Defense Multipliers by 1/2)
Sight - Mind Break (Lowers Target's Wisdom and Will by 1/4)


Not huge losses, I should hope. I do hope the new Battle Skills were worth it.

 :edit: 3/14/15 - I changed the routines of Armor Break and Mind Break. Armor Break now decreases an enemy's Defense Multiplier's by 2/3 to a minimum of 00. Mind Break now properly cuts Wisdom AND Will by 1/4. I was unaware enemy's used the Will stat beforehand.



907
That is Beyond cool Chillyfeez! Talk about taking something that's already there and turning it on its head, you've added an Entire new facet to battle!

Your idea is a lot more workable, then the plan to put a command in people's menus that darken. One, you don't waste a precious Command spot, two, you can decide when it will be activated, not the player, and three. It's just all around more aesthetically pleasing. FFVI had it right with desperation attacks I feel. Just their rarity made them pretty rare sights.

908
Sword Spirit/Iaido/Draw Out/Katana Soul, what have you is now in patch form.

 :edit: (Looks at Avatar)   I never want to post again...

909
Well I'm glad you like it! I'll be putting the Sword Spirit into its own patch shortly, so there's that as well.

I do believe I had found something like that before... (goes back to newly updated first post which has all of his miscellaneous notes linked, realizes he forgot to include it...) Hah. (looks through the topic for it...)
http://slickproductions.org/forum/index.php?topic=1883.msg19497#msg19497 There we are. That is some relation to what's going on.

910
Here's a Very simple one that I only just now noticed how simple it Really could be... Search to Taunt

Original Search Code that was altered...

Code: [Select]
$03/DFD5 A5 CE LDA $CE    [$00:00CE] A:0003 X:0066 Y:0000 P:envMxdizc - Load A from CE. - Load Caster's Slot.
$03/DFD7 A8 TAY A:0080 X:0066 Y:0000 P:eNvMxdizc - Transfer A to Y.
$03/DFD8 A5 CD LDA $CD    [$00:00CD] A:0080 X:0066 Y:0080 P:envMxdizc - Load A from CD.- Load Target's Slot.

New Taunt Code

Code: [Select]
$03/DFD5 A5 CD LDA $CD    [$00:00CD] A:0003 X:0066 Y:FFFF P:envMxdizc - Load Target's Slot.
$03/DFD7 A8 TAY A:0001 X:0066 Y:FFFF P:envMxdizc - Transfer A to Y.
$03/DFD8 A5 CE LDA $CE    [$00:00CE] A:0001 X:0066 Y:0001 P:envMxdizc - Load Caster's Slot.

This reverses its functionality. And it only took a two byte swap! But this does have its limits... it can't be multi-targeted without some real problems appearing.

In essence though this makes it so the chosen enemy will only target that specific character for its next action.

911
Very great work! Limit skills, eh? I take it you know then how to darken a command so it cannot be used, correct? Or are they activated completely differently from a chosen selection? Or does it build up over five attacks using this command eventually using a 5 Attack string?

912
I know you've told me before, but I forget (and though I've watched HCBailley's LP, he pretty much sticks to his favorite characters, and Edward's girlfriend is not one of them) - is the effect of piercing sight to assign one random elemental weakness to the target and wipe out all status anomalies? Seems like that's what this code is doing... and I guess jumping to Peep at the end displays a message about which weakness was added? Pretty ingeneous.

Thanks!  That is precisely what it does. Except normally Piercing Sight misses bosses and doesn't even apply the Dispel-esque effect. Making it... marginally useless. Another facet of Piercing Sight is that the weakness added can Only be told by the color of the flash on the screen. Obviously I didn't have the space required to do that. Nor was I overly fond of that. When I think of "Sight", I think of seeing the enemy's stats and what good is an ability that you can't be sure what it did (granted it if it applies Absorb or x4 Weakness, you won't ever actually know since there is no Peep check for those, but you can at least be sure its one of the two.)


Quote
I'm not sure my aura code would have worked any better to this end, unless you wanted to compound multiple weaknesses.

Oh? My original plan was to take what you basically had as the Aura code, roll a random number between 1 and 80, and get rid of the compounding... but I couldn't comprehend how the compounding was done in the end so I had to abandon that idea. It seemed simple in theory, I'm not sure if it would have worked in practice.

Quote
Regarding your cracking the AV code... I'd be interested in seeing what you've found. I've kicked the tires on writing some brand new spell animations for my hack, but so far have dismissed the notion as beyond the scope of my knowledge.

My holiday season is finally over (that is, it's back to business as usual at work and I'm finally done visiting various branches of the family tree) so I plan to get back into hacking more. I'll post the code for my "attack barrage" today per your request.

Well the "AV Code"... (that's probably not the Actually use for the area.) Is an extremely simple set of  bytes. Each byte there says to do something. Here is normal attack...
Starting from 7E33C2

C2 (First Byte) - F8 - (Tied to System Commands as displayed by next byte. such as Damage Display, and some possibly debug functions.)
C3 (Second Byte) 02 -  Looks to be a Kind of message, when changed to 00 it will show the character's name in a mini-message box who is attacking. May have been used for debugging or earlier plans 01 shows the name of the foe you are striking (if it is not the last one), again may have been used in an earlier system. 03 shows no difference. 04 is used by by the last few bytes of most attack commands. Ever wonder why some routines support showing damage and others may not? Well here is your answer, F804 is the Key. 06 and up are very glitchy.

C4 (Third Byte) C0 - What we often tend to write to in our routines. This is the basic attack animation.

C5 (Fourth Byte) 00 - This is another Effect Byte, used primarily by spells.

C6 (Fifth Byte) F8 - (Another System Command Call)
C7 (Sixth Byte)04 - (Display Damage done.)

And there you have it! Creating multiple spell effects or even multiple Command effects is a very simple thing to do and displaying damage is no longer a mystery, just be sure to finish off any damaging routine with F804 and you should be golden!

You can put off displaying damage as long as you need to show as many animations/effects that your heart desires! Just be sure to write in the F804 Somewhere along the lines though.

913
I tried to use Aura to make Piercing Sight, but I couldn't grasp how to keep the value from being rewritten to a higher value as it is in Chillyfeez's code... so instead I opted to use as much code as possible in making the Piercing Sight Routine. This replaces Damage, Sap because Damage, Sap is stupid. (Normal damage formula with a Zombie Check, Timer for HP Leak, and the 60 tick, HP Leak... yeah...)

This works identically to how it works in FFIV:The After Years, except that the Dispel portion of it will even hit bosses. The Weakness adding effect will not though. It even casts Peep so you can see the new weakness!

Code: [Select]
$03/D3C2 AD 70 27 LDA $2770  [$7E:2770] A:0003 X:0002 Y:0000 P:envMxdizc - Load Target's Boss Bit.
$03/D3C5 30 48 BMI $48    [$D40F] A:0006 X:0002 Y:0000 P:envMxdizc - If a Boss branch to Black Hole Routine Jump.
$03/D3C7 A2 01 00 LDX #$0001 A:0006 X:0002 Y:0000 P:envMxdizc - Load 0001 into X.
$03/D3CA A9 80 LDA #$80 A:0006 X:0001 Y:0000 P:envMxdizc - Load 80 into A.
$03/D3CC 20 79 83 JSR $8379  [$03:8379] A:0080 X:0001 Y:0000 P:eNvMxdizc - Jump to RNG.
$03/D3CF C9 70 CMP #$70 A:001B X:0000 Y:0000 P:eNvMxdizc - Is it 70?
$03/D3D1 90 04 BCC $04    [$D3D7] A:001B X:0000 Y:0000 P:eNvMxdizc - If less than 70 branch to next RNG check.
-----------------------------------------------------------------------------------------------------------------------------------
$03/D3D3 A9 80 LDA #$80 A:0078 X:0000 Y:0000 P:envMxdizC - Load x4 Weakness into A.
$03/D3D5 80 32 BRA $32    [$D409] A:0080 X:0000 Y:0000 P:eNvMxdizC - Branch to Weakness Store.
------------------------------------------------------------------------------------------------------------------------------------
$03/D3D7 C9 60 CMP #$60 A:001B X:0000 Y:0000 P:eNvMxdizc - Is it 60?
$03/D3D9 90 04 BCC $04    [$D3DF] A:001B X:0000 Y:0000 P:eNvMxdizc - If less than 60 branch to next RNG check.
-------------------------------------------------------------------------------------------------------------------------------
$03/D3DB A9 40 LDA #$40 A:006F X:0000 Y:0000 P:envMxdizC - Load Absorb Weakness into A.
$03/D3DD 80 2A BRA $2A    [$D409] A:0040 X:0000 Y:0000 P:envMxdizC - Branch to Weakness Store.
------------------------------------------------------------------------------------------------------------------------------
$03/D3DF C9 50 CMP #$50 A:001B X:0000 Y:0000 P:eNvMxdizc - Is it 50?
$03/D3E1 90 04 BCC $04    [$D3E7] A:001B X:0000 Y:0000 P:eNvMxdizc - If less than 50 branch to next RNG check.
-----------------------------------------------------------------------------------------------------------------------------
$03/D3E3 A9 20 LDA #$20 A:0054 X:0000 Y:0000 P:envMxdizC - Load Air Weakness into A.
$03/D3E5 80 22 BRA $22    [$D409] A:0020 X:0000 Y:0000 P:envMxdizC - Branch to Weakness Store.
------------------------------------------------------------------------------------------------------------------------------
$03/D3E7 C9 40 CMP #$40 A:001B X:0000 Y:0000 P:eNvMxdizc - Is it 40?
$03/D3E9 90 04 BCC $04    [$D3EF] A:001B X:0000 Y:0000 P:eNvMxdizc - If less than 40 branch to next RNG check.
------------------------------------------------------------------------------------------------------------------------------
$03/D3EB A9 10 LDA #$10 A:0040 X:0000 Y:0000 P:envMxdiZC - Load Holy Weakness into A.
$03/D3ED 80 1A BRA $1A    [$D409] A:0010 X:0000 Y:0000 P:envMxdizC - Branch to Weakness Store.
----------------------------------------------------------------------------------------------------------------------------
$03/D3EF C9 30 CMP #$30 A:001B X:0000 Y:0000 P:eNvMxdizc - Is it 30?
$03/D3F1 90 04 BCC $04    [$D3F7] A:001B X:0000 Y:0000 P:eNvMxdizc - If less than 30 branch to next RNG check.
-----------------------------------------------------------------------------------------------------------------------------
$03/D3F3 A9 08 LDA #$08 A:0030 X:0000 Y:0000 P:envMxdiZC - Load Dark Weakness into A.
$03/D3F5 80 12 BRA $12    [$D409] A:0008 X:0000 Y:0000 P:envMxdizC - Branch to Weakness Store.
-----------------------------------------------------------------------------------------------------------------------------
$03/D3F7 C9 20 CMP #$20 A:001B X:0000 Y:0000 P:eNvMxdizc -Is it 20?
$03/D3F9 90 04 BCC $04    [$D3FF] A:001B X:0000 Y:0000 P:eNvMxdizc - If less than 20 branch to next RNG check.
--------------------------------------------------------------------------------------------------------------------------
$03/D3FB A9 04 LDA #$04 A:0020 X:0000 Y:0000 P:envMxdiZC - Load Lightning Weakness into A.
$03/D3FD 80 0A BRA $0A    [$D409] A:0004 X:0000 Y:0000 P:envMxdizC  - Branch to Weakness Store.
------------------------------------------------------------------------------------------------------------------------------
$03/D3FF C9 10 CMP #$10 A:001B X:0000 Y:0000 P:eNvMxdizc - Is it 10?
$03/D401 90 04 BCC $04    [$D407] A:001B X:0000 Y:0000 P:envMxdizC - If less than 10 branch to next RNG check.
---------------------------------------------------------------------------------------------------------------------------
$03/D403 A9 02 LDA #$02 A:001B X:0000 Y:0000 P:envMxdizC - Load Ice Weakness into A.
$03/D405 80 08 BRA $02   [$D40F] A:0002 X:0000 Y:0000 P:envMxdizC - Branch to Weakness Store.
-------------------------------------------------------------------------------------------------------------------------
$03/D407 A9 01 LDA #$01 A:0002 X:0000 Y:0000 P:eNvMxdizc - Load Fire Weakness into A.
$03/D409 0D 20 27 ORA $2720  [$7E:2720] A:0001 X:0000 Y:0000 P:envMxdizc - See if Weakness is already there.
$03/D40C 8D 20 27 STA $2720  [$7E:2720] A:0001 X:0000 Y:0000 P:envMxdizc - Store A in Weakness Byte.
$03/D40F 20 AE DD JSR $DDAE  [$03:DDAE] A:0001 X:0000 Y:0000 P:envMxdizc - Jump to Black Hole Routine.
$03/D412 4C 24 D9 JMP $D924  [$03:D924] A:0010 X:0000 Y:0000 P:envMxdizC - Jump and stay with Peep Routine.

Very simple, but pretty effective. I love Scholar classes in FF and Piercing Sight fits right along with them.

Let's see... if I were to make a Scholar Class now they could have...

Piercing Sight...
ItemLord...

Hah, I thought I made more for them. I suppose not. I still need to figure out an ItemLore scheme, grumble, grumble...


914
So I've now completely (well somewhat) cracked the Audiovisual code. Every byte there is a check to see if an animation is called, Every Byte... Let me put that into perspective... There are 152 bytes In Hex reserved for Audiovisual alone. You know how many are filled in with a normal spell or attack? About five or six. You can create a spell chain technically that goes on through the length of spells and beyond.

Audiovisual starts at 7E33C2 you will Never have to worry about overflowing this. This game is Extremely Capable of showing more than one spell at one time, as long as those next spell graphics are written into the next section over.


915
That sounds fantastic! Looks like you already have the future all lined up!