øAslickproductions.org/forum/index.php?PHPSESSID=5f0fck550j2m4m2fpbtkj2vkm1&action=profile;u=123;area=showposts;start=1275e:/My Web Sites/Slick Productions - FFIV Message Board/slickproductions.org/forum/indexd723-2.htmlslickproductions.org/forum/index.php?PHPSESSID=5f0fck550j2m4m2fpbtkj2vkm1&action=profile;area=showposts;u=123e:/My Web Sites/Slick Productions - FFIV Message Board/slickproductions.org/forum/indexd723-2.html.zx9òg^ÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÈÀK‘°OKtext/htmlISO-8859-1gzip8:Ö‘°ÿÿÿÿÿÿÿÿTue, 10 Mar 2020 20:18:24 GMT0ó°° ®0®P®€§²ð®8ò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

1276
Final Fantasy IV Research & Development / Re: Power Command
« on: September 10, 2013, 02:44:38 PM »
I curiously have found no references to Level as of yet in terms of Accuracy, but I have come across a strange phenomenon that every attack, no matter what it is (unless your Class/Row byte reads 7F somehow...) will gain a +1/4 bonus to their accuracy, despite what is listed there.

I cannot say for certain that Focus and Jump appear to get an Accuracy bonus from any thing I've looked at thus far. Viewing the Accuracy altering field their accuracy seems to do the +1/4 like every other attack does. It may be something outside or the normal routine perhaps.

1277
Final Fantasy IV Research & Development / Re: Power Command
« on: September 10, 2013, 01:03:31 PM »
It's a very easy change to make, really. FuSoYa may rush ahead of the group citing "There's no time! I cannot tarry!" or something to that accord and rush ahead of the party. Fight through the Giant as normal with Cid instead of FuSoYa but when you reach the Elemental Fiends have Cid get wounded by one of them and forced to take his leave from the party, then have FuSoYa join with the party for the CPU Battle then proceed as normally. It wouldn't be too difficult to make work correctly.

In other news I have found all of the means I need to nerf Jump, making it take back row into effect (which shouldn't be too big of a deal considering that Jump and Focus both get bonus to accuracy it appears) and taking away all of the ill effects of using Charge. (Move it to... Berserk I guess? That's a status in need of some nerfing).

1278
Final Fantasy IV Research & Development / Re: Power Command
« on: September 10, 2013, 12:14:45 PM »
...That's true. All he really has is his very high HP to support him but he does get hit pretty hard from basically everything because of his lack of high defense armor to choose from, therefore the effect on Charging may not be so noticeable for that reason. Good thinking there DeathLike2.

1279
Final Fantasy IV Research & Development / Re: Power Command
« on: September 10, 2013, 11:46:58 AM »
I have to wonder how similar the coding is in FFIVA. A straight port is not going to be perfect after all. It seems they somehow misplaced the Front/Back row calculations along with a host of other things. I also would not be surprised if they took out Charge reducing Defense because it is a really stupid idea. Yang is a frontline fighter with less than optimal defense to begin with. Kain on the other hand is a frontline or backline fighter with defense second to only Cecil (maybe third to Cid) that can use Jump which is infinitely better than Focus/BuildUp and not have to deal with being hit at all.

Though I have to wonder then why they would reinclude it in FFIV:TAY. Was the defense reduction in Complete Collection? I never really took notice of it before now.

1280
I should have just said that, yeah that's what it does.

1281
That is quite the collection! Best of luck in assembling all of the versions. You can never have enough FFXII, hehe.

1282
Final Fantasy IV Research & Development / Re: Power Command
« on: September 09, 2013, 10:06:54 PM »
Ancient Bump, but I wanted to address what is written in the Algorithm guide in regards to Focus/BuildUp/Power,

This command doubles the attack power of the character that uses it. The
character is put under a "Charging" status where the character proceeds to
not be able to avoid magic. The duration of this status is dependant on
the Agility of the character.

Attack Power = Attack Power * 2

Magic Defense Multiplier = 0

This command does factor in the current row of the character.

Weapon inflicted statuses can be dealt if the target does not die from the
attack and/or is not resistant to the status.


I've seen proof in the game that Magic Defense Multiplier does not drop to 0 (With Yang I can understand how one might think it dropped to 0), however it does get cut in half with, surprisingly of all things, Physical Defense. I thought there had to be some kind of mistake, but I just tested it and indeed, it does cut physical defense in half.

$03/C740   AD 05 27   LDA $2705  [$7E:2705]   A:0000   X:0000   Y:0000   P:envMxdiZC - Load Status Byte 3 from Target's Data.
$03/C743   29 08   AND #$08   A:0010   X:0000   Y:0000   P:envMxdizc - Is the Target Charging?
$03/C745   F0 06   BEQ $06    [$C74D]   A:0000   X:0000   Y:0000   P:envMxdiZc - If not branch to 03C74D
------------------------------------------------------------------------------------------------------------------------------------
$03/C747   4E 05 39   LSR $3905  [$7E:3905]   A:0008   X:0000   Y:0000   P:envMxdizC - Divide Physical Defense by 2 (This is surprising if true...)
$03/C74A   6E 04 39   ROR $3904  [$7E:3904]   A:0008   X:0000   Y:0000   P:envMxdiZc - Divide 3904 by 2. (Possibly Magic Defense)

Come on Square! Why did you hate Yang so much to give him a skill like that? Well its easy enough to fix in any case. Just change the conditional in the AND to something else.

1283
Indeed, the stuff at the end is just related to defensive measures and calculations. Hence, Back row dealings, Cursed Dealing, Toad/Mini Dealings, etc. (though I have yet to find back row attacks and then I would need to find Long-Range weapon bit in the character data which I don't believe had been found before. However that was put together before I knew that Elemental Defenses would be present in an earlier portion of the routine.

1284
I should have been clearer... Defense doesn't literally mean the Defend command (never found it yet) but the results of being attacked and how the Target's stats will respond, hence why I used the term "attack" probably not exactly the best way to put it though. Any ideas on a better name for it?

1285
Table of Contents

1. Spell Routine Offsets

2. Command Routine Offsets

3. Specialty Routine Offsets

4. Event Routine Offsets

5. Bug Fixes

6. Custom Routine Offsets (& Replacements)
A. Commands
B.  Spells
C. Event Instructions
D. Patches

7. Miscellaneous


Well this has been a long time coming, even I'm now having trouble keeping track of all I've found thus far, hehe. So I thought a separate thread to keep everything in a clean manner would make it easier to find and maybe others would be able to track down this information in a more efficient fashion.

I will list the Routine Maps as they appear in the Tower of Babil Docs (thereby ROM) for quick and easy reference (for myself and for others) I will have several links to the Tower of Babil Docs as well, to reference the routines I haven't done because they were completed long ago.

To find any of these values in ROM decrease the amount by 1FE00 (for v1.1) - They are in their LoRom format for efficiency purposes.

 :edit: 1/31/14 Added a Combo Patch which puts all of my released patches into one easy patch.

 :edit: 7/12/15 Finally cleaning this topic a little to put all of my work back into the main part of this topic.

This post is now updated with quick links to all of the available Command Subroutines I've commented on.

Spell Routine Offsets -

00 Damaging Spells- 03D388
01 Damage, Sap - 03D3C2
02 HP Healing - 03D41C
03 Single Digit HP - 03D453
04 Drain - 03D476
05 Psych - 03D498
06 Status - 03D515
07 Immobilizing Status - 03D5B6
08 Add Image - 03D623
09 Reflect - 03D62C
0A Life - 03D65B
0B Heal/Remove All Statuses Except.... - 03D6F8
0C Shape Changing Status - 03D82A
0D Protect - 03D84F
0E Shell - 03D873
0F Slow - 03D897
10 Dispel - 03D8B0
11 Stop - 03D8EE
12 Peep - 03D924
13 Exit - 03D97F
14 Damage Based on Caster's HP - 03D99D
15 MP Recovery - 03D9F9
16 Elixir - 03DA19
17 Damage, Poison - 03DA2B
18 Damage, Status - 03DA73
19 Damage, Immobilizing Status - 03DA8C
1A Sylph - 03DAAE
1B Odin - 03DB5F
1C Count - 03BB5
1D Damage Based on Target's Max HP - 03DBE5
1E Add Calcify - 03DC2B
1F Gaze - 03DC90
20 Blaster - 03DCB0
21 Slap - 03DCCB
22 Mind Blast - 03DCF0
23 Hug - 03DCFB
24 Explode - 03DD12
25 Reaction - 03DD2F
26 Recover 1/10 of Max HP - 03DD4E
27 Damage, Status(Unused?) - 03DD92
28 Spawn Monster - 03DD98
29 Black Hole - 03DDAE
2A Attack Based on Physical Power - 03DDC6
2B Recover 1/3 of Current HP - 03DD62
2C "Trigger A Reaction" - 03DDD9
2D Invincibility Counter-On - 03DDD6
2E Invincibility Counter-Off - 03DDDA
2F Revive Monster - 03DDDE
30 Tradeoff(Suicide, bring in Next Monster) - 03DE31
31 End Battle - 03DFCF
32 Search - 03DFD5
33 Hatch - 03DFE8
34 Rydia Returns - 03E004

Command Routine Offsets

00 Fight - 03C499
01 Damage Routines - 03C924
02 White/Black/Call/Ninja/Spell Item Routines - 03CC46
03 Spell Subroutines (Above)
04 Peep/Study - 03E153
05 Enemy Runs Away - 03E1B2
06 Steal- 03E1CC
07 Salve/Medicine - 03E2DC
08 Throw/Dart - 03E34C
09 Change/Row - 03E3D1
0A Regen - 03E3FA
0B Twin - 03E46F
0C Cover - 03E60F
0D Off - 03E653
0E Gird/Endure - 03E696
0F Kick - 03E6B4
10 Focus/Boost - 03EF70
11 Aim - 03E836
12 Pray - 03E852
13 Hide - 03E876
14 Show - 03E8BB
15 Sing - 03E900
16 Jump - 03E954
17 Parry - 03E9DE
18 Dark Wave - 03E9E9
19 Recall - 03EA1A
1A Bluff/Boast - 03EAC3
1B Cry - 03EAE6
1C Part of Steal Subroutine - 03EB29
1D Item - 03EB9D


Specialty Routine Offsets

Damage Determination - 03C9AF
Grimoire Item - 03EC0D
Out of Battle White Magic - 01B753
Full Disassembly on the Poison Status - 039E45/03A8FD
Full Disassembly on All Status Timers

Event Instruction Offsets
00 Load Some Type of Graphic FC (Actually Nothing) - 000000
01 Repeat XX Times the Following YY Actions EB - 000000(blank because this is looked at in respect to the Movement Patterns)
02 Play Visual Effect FD - 00C17C
03 Show Message from Bank 02 (Event Call) EE - 00E339
04 Open Namingway Screen D9 - 00E344
05 Open Fat Chocobo Screen D4 - 00E351
06 Bring Up Shop XX ED - 00E35E
07 Fade Song XX in EA - 00E379
08 Toggle Music Fade D8 - 00E38B
09 Fight Battle with Enemy Set XX EC - 00E391
0A Toggle Running D7 - 00E54B
0B Play Song XX FA - 00E559
0C Play Sound Effect XX FB - 00E56F
0D Add XX Character to Party E7 - 00E578
0E Remove XX Character from Party E8 - 00E6AF
0F Toggle Screen Tint XX F9 - 00E731
10 Toggle Screen Fade DA - 00E7C4
11 Put in Spell List XX' SpellBook, Spell YY E2 - 00E7D8
12 Restore HP (10 * XX HP) DE - 00E7FF
13 Restore MP (10 * XX MP) DF - 00E85F
14 Add Item XX to Inventory E0 - 00E8BF
15 Remove Item XX from Inventory E1 - 00E8CB
16 Toggle Status Ailments XX DB - 00E90A
17 Remove All Status Ailments but XX E3 - 00E929
18 Add Status Ailments XX E4 - 00E948
19 Add 100 * XX GP to Party E5 - 00E967
1A Subtract 100 * XX GP to Party E6 - 00E97E
1B Change Character Graphic to XX DD - 00E9B6
1C Inn DC - 00E9E6
1D End Event FF - 00EA20
1E Pause XX Cycles E9 - 00EAB5
1F Show Message 1XX (Yes/No Box) F8 - 00EAE9
20 Bring up Item Selection Window F7 - 00EB0E
21 Screen moves up 1 tile and down 1 tile D6 - 00EB65
22 Toggle Screen Shake D0 - 00EB94
23 Screen Flash D1 - 00EB9D
24 Screen blur and unblur D2 - 00EBD4
25 Travel to/from Moon D3 - 00EBEF
26 Open a Door D5 - 00EC17
27 Load Map FE - 00EDB1
28 Show Message from Bank 02 (Map Call) EF - 00EF28
29 Show Message 0XX from Bank 01. F0 - 00EF4E
2A Show Message 1XX from Bank 01. F1 - 00EF5F
2B Show Message XX (from Bank 3) F6 - 00EF70
2C Set Event Flag XX F2 - 00EF81
2D Clear Event Flag XX F3 - 00EF8A
2E Activate NPC XX F4 - 00EF93
2F Deactivate NPC XX F5 - 00EF9C

Visual Effect Offsets





Bug Fixes

Enemy Evasion Fix
Enemy Magic Evasion Fix
Infinite Arrow Fix
99% Evasion through Immune Byte Fix
Lingering x4 Weakness through Immune Byte Fix


Custom Routine Offsets (& Replacements)
Commands
Fight(Broken Calcify Weapon Routine) to Fight(Imbued Weapons)
Peep to Seek
Peep to Geomancy
Cry to FFIV:CC Cry
Cry to Coat Hammer
Steal to Mug
Salve to Item Master
Dart to Draw Out(Katana Soul)l
Twin to W.Meteo/Third Random Spell Twin
Twin to Targeting Dependent Spell Used Twin
Aim to Snipe
Aim to Barrage
Aim to Arrowstorm
Pray to Hunt
(Empty Space) to Hunt Rewards System
(Empty Space) to Hunt Rewards System +
Hide to Advnc (Advance)
Dark Wave to Dark Wave - Zombie Death
Dark Wave to FFIV:DS Darkness
Dark Wave to Dark Wave + Spell Cast
Item to Not 100% Item Accuracy
Sing to Harp-Dependent Sing
(Empty Space) to Magic Weapons
Recall to Dragon Speak
Regen to Will Based Regen
Kick to No Armor-Improved Kick.
Gird to FFI Based Armor-Gird
Boast to Elemental Weapon
(Empty Space) to Seek Remastered

Spells

Healing Spells to Alchemy-Cure
Damaging Spells to Item Lore-Damage
Weak to LOCK
Shell to SLO1
Modify Speed to TMPR
Hug to FAST
Reaction to SLO2
Dispel to SABR
Chillyfeez's Dispel to Aura
Count to HARM
Counte to Elemental Strike/Fancy Flourish
Blink to RUSE
Odin to AFIR,AICE,ALIT,ARUB, WALL, FEAR
Protect to Spell Power Dependent Protect
Blast to Magic Sword
Damage, Sap to Piercing Sight
Search to Taunt
Sylph to Battle Skill
Damage, Status (Unused) to Regen (Command)

Specialty
Auto-Hide to XX Armor = Dark Wave replacing Cover
Redundant Start of Game Code to Storing Commands in RAM!


Patches

Imbued Weapons
Katana Soul
Battle Skills
Geomancy
FF III Style Sing
FFV Style Magic Weapons
Combo Patch of the above 6 Patches

Miscellaneous

Amount of Free Space contained within Banks
Audiovisual Code Breakdown
Outside of Battle Treasure Acquiring
Chance to Drop Money while running and Stat Replacement
Auto-Hide Notes 1
Auto-Hide Notes 2
All Attack Building Formulas
Auto-Cover Notes
Fighting Zeromus without Cecil.
Command Menu Accesses
Back Attack/Ambush/First Strike Code
Level Up Code and Notes
Shadow Slot Procedure
Big Chocobo Coding (some)
Damage Tiles
Disabling Level+Shield Defense Multipliers
Enabling all items to be checked and decremented in the Item Use Event
Enabling Critical Hits for Foes
Stat Changing AI Routines
Bow/Arrow Index Routines 1
Bow/Arrow Index Routines 2

1286
I would say Start with the building blocks of FFV and then when you have that all figured out I'd say you should branch out a bit, maybe even have two modes, one for Purists that want just an FFV experience and one for the others that would like to see an expanded inventory and weaponry choice (even though FFV was really good at variety in terms of weaponry)

1287
Hmm, I've either noticed a bug or an untested component of event editing. Quizzically enough there is an event instruction called "x50 Gil" which is completely redundant since there's a x100 Gil right after it. So I tested it and it doesn't add x50 Gil to the inventory. But I'm starting to wonder if that was ever its function in the first place since it seems like an odd thing to include.

And confirmed! What this actually is a X -100 Gil command. That's actually pretty neat to know and was missing in the initial FFIV's sequence of events. The issue clearly is though there is no check for money when you initiate an event.

1288
Final Fantasy IV Research & Development / Re: Changing details of Dark Wave
« on: September 08, 2013, 09:48:14 PM »
Yes, you could Very easily do that. It might be a little safer actually since I'm not really sure what 1400 uses.

However I would love to switch the type it resists (or is super effective) against. Something like a straight CMP 04 to make Reptiles (in The After Years the creature type is referred to as Demon, I can see either being applicable in some respects, they're definitely not Insects as FF4A tries to claim) resistant or weak to Dark Wave (or if we can ever find the graphic and palette for it, "Light Wave" if someone wants to make it super effective against Zombie/Demon types)

But that BPL 08 (Branch-if-plus to E7AB) is a very small command doesn't lend itself to changing the stuff around it very well. I would ideally have it CMP and Break if otherwise...

But your idea to use a BCS should work fine. A BCC might allow a success to get through somehow.

 :edit:
Alright! I figured it out completely now! With this new bit of coding you can have any enemy type weak to Dark Wave!

I must Note though it is Only making them weak to Dark Wave. The reasoning is because one of the new instructions erased the main "resist" check that divides the damage, therefore delivering normal damage, so while it will still only have Zombies resist it you can say, have Dragons or Demon/Reptiles weak to it. But because it is looking for a specific value in a byte you cannot have multi-type foes (like D. Bone Dragon/Zombie) be weak to it.

Dark Wave - Make Enemy Type XX weak to it in LoRom/HiRom

Creature Types in Hex -

00 - None
01 - Dragon
02 - Robot
04 - Reptile
08 - Spirit
10 - Giant
20 - Sime
40 - Mage
80 - Zombie

Code: [Select]
0x03E793 - BD  40 20 (LDA 2040) - Unsure of what it does, but change this if you are changing the value below.

0x03E79E - BD 40 20 (LDA 2040) - Loads Creature Type. The more ambitious hacker might want to change this to have it look at another value. Say that you want it to instead Load an Elemental Weakness check you would change it to BD2020 for Weakness.

0x03E7A1 - C9 XX  (CMP XX) - Compare Creature Type
0x03E7A3 - D0 06 (BNE 06) - If it is not the same value as above, Jump 9 Bytes (6+3?) to skip this routine.

ROM at...

Code: [Select]
0x1E993 - BD  40 20 (LDA 2040) - Unsure of what it does, but change this if you are changing the value below.

0x1E99E - BD 40 20 (LDA 2040) - Loads Creature Type. The more ambitious hacker might want to change this to have it look at another value. Say that you want it to instead Load an Elemental Weakness check you would change it to BD2020 for Weakness, or if you want it to look at a specific Status Ailment, (a use for Poison maybe?) then you would change it to BD0420 and have C9 look for 01.

0x1E9A1 - C9 XX  (CMP XX) - Compare Creature Type
0x1E9A3 - D0 06 (BNE 06) - If it is not the same value as above, Jump 9 Bytes (6+3?) to skip this routine.

What this does is get rid of the LSR CA which was decrementing the damage and allows the chosen type to play out as full weapon damage.





1289
Final Fantasy IV Research & Development / Re: Changing details of Dark Wave
« on: September 08, 2013, 08:40:20 PM »
Looking at my previous code I've decided to test things in a more empirical fashion and stumbled, completely by accident, upon the damage reduction routine for Zombie Types, but this two byte null also had the unexpected effect of making Zombies Weak to Dark Wave. As in they were dealt full weapon damage as if each one had been hit by Cecil's normal attack.

In LoRom/HiRom...

03E7A3 - 46 CA (LSR 0xCA) - Logical Shift Right the Value in CA. (Appears to be Zombie's damage reduction formula, unique to the normal Dark Wave damage formula.)

Nor curiously two bytes away there is another 46 CA which I thought was used for the general enemy being hit by Dark Wave but it doesn't appear to do anything.

03E7A1 is skipped by normal monsters and jumps t 03E7AB

Oh! Now I understand...

03E7A1 is a Branch if Plus to E7AB! 0080 (Zombie) is the Only Creature type that falls into a Negative Counter at 80. (-127)! And that's how the game looks at it. Though I cannot think of any easy way to change that now that I Truly understand how the game looks at the 80 and compares it. I'll take a look at my available instructions to use.


1290
Final Fantasy IV Research & Development / Re: What is known about vehicles?
« on: September 08, 2013, 09:26:38 AM »
You have done amazing work with this Chillyfeez, I somewhat expect the Hovercraft combined with the Airship to be a separate graphic but that's for another time I suppose. Your work with Vehicles will be of immense value down the line. Keep up the great work!