FF6 Hacking
Natural Ability Extension - Printable Version

+- FF6 Hacking (https://www.ff6hacking.com/forums)
+-- Forum: Hacks, Resources and Tutorials (https://www.ff6hacking.com/forums/forum-1.html)
+--- Forum: Jidoor Auction House (https://www.ff6hacking.com/forums/forum-4.html)
+---- Forum: Patches, Bugfixes, Tweaks (https://www.ff6hacking.com/forums/forum-15.html)
+---- Thread: Natural Ability Extension (/thread-2239.html)



Natural Ability Extension - GrayShadows - 07-02-2013

Title: Natural Ability Extension
Author: GrayShadows
Version: v1.1
Download


Description:
Natural Ability Extension... extends the natural ability set. Odd, I know! Its primary function is to give Relm her own natural magic list that she will learn at recruitment/on level up. In version 1.1, Mog learns Wind Song at recruitment; this uses different code than version 1.0 of the hack, by setting the dance learned when the SRAM is initialised (in the same way as initial Lores and Rages), rather than at recruitment (like SwdTechs and Blitzes, which is how it worked in hack v1.0).

Additionally, it fixes a minor issue with Celes' natural magic list that is only a problem in vanilla if she surpasses level 32 due to level averaging.

This is my first real ASM hack, and draws a lot on existing sources. Most of the code itself is actually from the vanilla game, although I've had to move it around a bit, and I had to duplicate a subroutine or two to include Relm. Let me know if you guys try it/run into any problems? I have tested it all, but not extensively; it works fine on 1.0, and while I don't think I overwrote anything from 1.1, I don't know for certain.

More detailed information, patches and anti-patches for both headered and non-headered ROMs, and the assembly code are all included in the zip.


RE: Natural Ability Extension - Warrax - 08-04-2019

Found a bug with the Dance learning part.

Code:
;;;;;;;;;;;;;;;;;;
; DEFAULT DANCES
;;;;;;;;;;;;;;;;;;
; This sets default dances learned at the same time as default
; lores and rages. Rather than pulling the information from
; elsewhere in the rom, the bit is hardcoded in with an LDA
; to keep the code in-line.
;
; Originally I was teaching dances at recruitment the same way
; that Cyan and Sabin learn their initial SwdTechs and Blitzes.
; However, because they learn their skills through level up,
; they require more complex code to verify which skills they
; should already have when you meet them. This new code teaches
; Wind Song by default in the same way that Strago and Gau learn
; their default Lores and Rages, respectively.

org $C0BE2F  ; Originally this is used to set font to white.
             ; As this is also in C3, it's unnecessary here, and
             ; so we can use these addresses for teaching Dances.
             ; It follows immediately after the code teaching
             ; the default Lores.
LDA #$01     ; Load bits for default Dances.
             ; #$01 is Wind Song; set other bits to teach other
             ; dances by default.
STA $1D4C    ; Stores bits in location of learned Dances in RAM
NOP          ; The original code here is six bytes long.
             ; As the new code is only five, this blocks out the
             ; remaining byte preventing any further snarls.

Contrary to the comment, overwriting the part at C0BE2F causes the text to become purple in the intro but only when you let the intro run by itself (in "demo mode" if you want), this will not happen when you start a new game.

Also, that part is not in the IPS files included in the archive, it can only be found in the ASM file.

Finally, small detail, the IPS file for Headered ROM (NatAbi 1.1 - H.ips) is like 3mb (pretty much the whole ROM) when it should take ~432 bytes, this is easily fixed by using Headerize on the IPS file for Non-Headered rom (NatAbi 1.1 - NH.ips).


RE: Natural Ability Extension - PowerPanda - 04-19-2020

(08-04-2019, 09:17 AM)Warrax Wrote: Finally, small detail, the IPS file for Headered ROM (NatAbi 1.1 - H.ips) is like 3mb (pretty much the whole ROM) when it should take ~432 bytes, this is easily fixed by using Headerize on the IPS file for Non-Headered rom (NatAbi 1.1 - NH.ips).

Seconded. It appears that the headered patch was incorrectly created off of a non-headered rom. Do not use it as-is.