• Welcome to Final Fantasy Hacktics. Please login or sign up.
July 13, 2020, 12:49:15 am


Please use .png instead of .bmp when uploading unfinished sprites to the forum!

sword spirit is a bit wonky...

Started by finalfantasyseven7, March 05, 2014, 10:12:45 pm


ok so in my mod,elmdor joins the team to help defeat the zodiac demons,however i noticed that you cannot use his sword spirit moves...
i have the correct katanas and even tried equipping the correct katana on him and nothing seems to work?
he only seems to work on auto battle? is his skill set hardcoded?


I couldn't say that it is hardcoded; it might be more that Draw Out is hardcoded. I honestly don't know what causes the issue or what to do about it, but I've heard about this problem in the past. Sorry.
  • Modding version: PSX
Anything is possible as long as it is within the hardware's limits. (ie. disc space, RAM, Video RAM, processor, etc.)
<R999> My target market is not FFT mod players
<Raijinili> remember that? it was awful


If he works in auto battle, then the best option would be to make him uncontrollable for the battle.
  • Modding version: PSX
Check out my project ~ FFT: A Stone's Ripple : http://ffhacktics.com/smf/index.php?topic=10857.0
The demo was just released! Come check it out!
Nyzer: Alma teleports out of her own possessed body.


I'm interested in finding whatever makes Elmdor stick his weapon in the ground when he uses draw out in comparison to the average character holdling a sword above the head.

Any Ideas why? And how to mimic the behaviour on other sprites?


August 01, 2014, 06:47:41 pm #4 Last Edit: August 01, 2014, 07:01:03 pm by kyumaru
It seems is more skillset specific related.
For abilities needing items such as draw out or throw there is something called the Stock.Reference in the associated skillset, after a lot of testing I would say the problem is linked to this feature, every such ability should have a item reference to it for the stock but it just isnt there for sword spirit, and the game takes this as not having any items at all and thus grays out the skillset saying no abilities can be used, the same message shows up if you have no katanas for any of your draw out abilities, no matter if you mastered the job. If you do the trick of changing the menu action to 0, the skillset becomes usable since now the skillset needs no stock.Ref, but the issue here is that the animation needs it to properly play and thats why the sword swing across glitch happens and there is no katana on the sprite hands, also when your katana breaks under this mode, you get a message saying: blew "" away, an empty string instead of the katanas name, again, because no item is referenced.

I would hope its just matter of setting some flags for the skillset itself, worst case scenario is the game actually having a dedicated rutine to handle draw out and handle the stock.ref stuff, but I dont know yet.

I was in some sort of cruzade to fix this up because I really want Elmdor to join up fully and normally playable as well, I would really appreciate if this community would figure this one up somehow.     


September 21, 2014, 10:57:04 am #5 Last Edit: September 21, 2014, 11:40:18 am by GaresTaylan
Did anyone ever figure this out? This is one that has eluded me for years. I have tried using codes to change Elmdor's primary skill set to Iaido instead of Sword Spirit, but regardless of which ability I choose they all become unavailable. It must be hardcoded for this specific version of Ark Knight that the primary ability is disabled.


For giggles rather than using a code I simply patched WotL with the change made using FFTPatcher and it seems that the job still can't utilize any primary ability I give it. This is obviously beyond my understanding so looking for anyone that can help.


The routine that checks the action menu for Draw Out, also checks to see if you're using skillset x13 (aka Draw Out). The routine would have to be rewritten to allow to Spirit Sword to access the Katana Inventory properly. I'm also fairly certain the routine where Xifanie's Generic Skillset ability fix is also to blame but that might be fixed with said hack. Relevant code below is relevant.

00182688: 27bdff68 addiu r29,r29,0xff68
0018268c: afb3008c sw r19,0x008c(r29)
00182690: 00809821 addu r19,r4,r0
00182694: afb00080 sw r16,0x0080(r29)
00182698: 00c08021 addu r16,r6,r0
0018269c: afb20088 sw r18,0x0088(r29)
001826a0: 00009021 addu r18,r0,r0 Clear r18
001826a4: afb10084 sw r17,0x0084(r29)
001826a8: afbf0090 sw r31,0x0090(r29)
001826ac: 0c060435 jal 0x001810d4 Get Unit Data Pointer
001826b0: 00a08821 addu r17,r5,r0 Move Skillset to r17
001826b4: 14400003 bne r2,r0,0x001826c4 Branch if Unit does exist
001826b8: 322300ff andi r3,r17,0x00ff
001826bc: 080609da j 0x00182768
001826c0: 00001021 addu r2,r0,r0 Clear r2 ("Gray" out menu)
001826c4: 34020013 ori r2,r0,0x0013
001826c8: 14620010 bne r3,r2,0x0018270c Branch Skillset =/= Draw Out
001826cc: 340200ff ori r2,r0,0x00ff r2 = xff
001826d0: 02602021 addu r4,r19,r0
001826d4: 27a20060 addiu r2,r29,0x0060
001826d8: afa20010 sw r2,0x0010(r29)
001826dc: 27a20050 addiu r2,r29,0x0050
001826e0: afa20018 sw r2,0x0018(r29)
001826e4: 27a20070 addiu r2,r29,0x0070
001826e8: 34050013 ori r5,r0,0x0013 r5 = x13 (Draw Out)
001826ec: 27a60020 addiu r6,r29,0x0020
001826f0: 27a70040 addiu r7,r29,0x0040
001826f4: afa00014 sw r0,0x0014(r29)
001826f8: 0c0605f0 jal 0x001817c0
001826fc: afa2001c sw r2,0x001c(r29)
00182700: 00403021 addu r6,r2,r0 # of learned abilities
00182704: 14c00004 bne r6,r0,0x00182718 Branch if abilties are learned
00182708: 340200ff ori r2,r0,0x00ff r2 = xff
0018270c: a2020000 sb r2,0x0000(r16)
00182710: 080609da j 0x00182768
00182714: 00001021 addu r2,r0,r0 Clear r2 ("Gray" out menu)
00182718: 0246102a slt r2,r18,r6
0018271c: 1040000f beq r2,r0,0x0018275c Branch if all abilities have been checked?
00182720: 00002821 addu r5,r0,r0
00182724: 27a40020 addiu r4,r29,0x0020 Pointer to Ability ID
00182728: 94830000 lhu r3,0x0000(r4) Load learned ability ID
0018272c: 00000000 nop
00182730: 2c620170 sltiu r2,r3,0x0170
00182734: 10400005 beq r2,r0,0x0018274c Branch if Abilities is not a legal ability
00182738: 24840002 addiu r4,r4,0x0002 Ability Pointer + x02
0018273c: 2462ffda addiu r2,r3,0xffda Learned Ability ID - 0x26
00182740: a2020000 sb r2,0x0000(r16) Store Ability ID - 0x26 (Weapon ID)
00182744: 26100001 addiu r16,r16,0x0001
00182748: 26520001 addiu r18,r18,0x0001
0018274c: 24a50001 addiu r5,r5,0x0001
00182750: 00a6102a slt r2,r5,r6
00182754: 1440fff4 bne r2,r0,0x00182728 Branch if all abilities haven't been checked
00182758: 00000000 nop
0018275c: 340200ff ori r2,r0,0x00ff
00182760: a2020000 sb r2,0x0000(r16)
00182764: 26420100 addiu r2,r18,0x0100
00182768: 8fbf0090 lw r31,0x0090(r29)
0018276c: 8fb3008c lw r19,0x008c(r29)
00182770: 8fb20088 lw r18,0x0088(r29)
00182774: 8fb10084 lw r17,0x0084(r29)
00182778: 8fb00080 lw r16,0x0080(r29)
0018277c: 27bd0098 addiu r29,r29,0x0098
00182780: 03e00008 jr r31
00182784: 00000000 nop
  • Modding version: PSX
Check out my ASM thread. Who doesn't like hax?