øAslickproductions.org/forum/index.php?PHPSESSID=5f0fck550j2m4m2fpbtkj2vkm1&topic=290.msg2358e:/My Web Sites/Slick Productions - FFIV Message Board/slickproductions.org/forum/index1cdc.htmlslickproductions.org/forum/index.php?PHPSESSID=5f0fck550j2m4m2fpbtkj2vkm1&topic=290.0e:/My Web Sites/Slick Productions - FFIV Message Board/slickproductions.org/forum/index1cdc.html.zx+Sg^ÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÈ0P.[COKtext/htmlISO-8859-1gzip@øÕ[CÿÿÿÿÿÿÿÿTue, 10 Mar 2020 08:59:45 GMT0ó°° ®0®P®€§²ð®*Sg^ÿÿÿÿÿÿÿÿô2[C "Twin" Command

Author Topic: "Twin" Command  (Read 13536 times)

Phoenix

  • FF4 Hacker
  • *
  • Posts: 456
    • View Profile
    • Phoenix Hacks
"Twin" Command
« on: February 11, 2008, 05:41:47 PM »
I was playing around with adding different battle commands to various characters, and I discovered that "Twin" is very buggy when not Palom and Porom are not both in the party. Here is what I discovered:

1. When Palom and Porom are both in the party, any character that uses "Twin" causes the twins to start casting. The twins MP is used.
2. When neither twin is in the party, any character that uses "Twin" causes only the character in slot #1 (the middle slot) to start casting. If that one character has enough MP, they will cast Flare or Comet.
3. When only one twin is in the party, if there is a character in slot #1, any character using "Twin" causes Palom/Porom and the slot #1 character to start casting. The twin's MP and the slot #1 character's MP is used.
4. When only one twin is in the party, if there is not a character in slot #1, Palom/Porom's "Twin" command is grayed out as if the other twin is dead. However, other character's "Twin" commands will not be grayed out, and if you use them the game will freeze. (In my case, Palom started casting, came forward with the message "Failed.", then came forward again with "Comet", but the spell animation never started because the game froze.)

So, apparently you can't give any command to any character. Has anyone else played around with the command? Am I wrong on any of this? Does anyone know of a way to fix this behavior?

Deathlike2

  • Moderator
  • *
  • Posts: 3,538
  • I'm looking at you, bitch!
    • View Profile
Re: "Twin" Command
« Reply #1 on: February 11, 2008, 06:07:55 PM »
My guess is that the Twin command is tied to the twins themselves. There perhaps is a bit to denote their dependency on each other for the command to operate properly.
Working on the next Yet To Be Named FF4 "Hardtype" Hack Download Latest: v1.48

Video Demos: #1 #2 #3

Pinkpuff

  • Flan Princess
  • *
  • Posts: 924
  • Find a Megalixir in Unprecedented Crisis!
    • View Profile
Re: "Twin" Command
« Reply #2 on: February 11, 2008, 07:32:05 PM »
What happens if you have two Paloms and two Poroms in the party?
Let's dance!

Phoenix

  • FF4 Hacker
  • *
  • Posts: 456
    • View Profile
    • Phoenix Hacks
Re: "Twin" Command
« Reply #3 on: February 12, 2008, 03:39:17 AM »
Deathlike2: I came to the same conclusion. I believe it's the same as Cecil's auto-Cover and Edward's auto-Hide, the commands are tied to the character.

Pinkpuff: I tested two Paloms and two Poroms, and two Paloms and one Porom, and the priority of who casts goes to the character slot numbers. So, #1 and #2 have highest priority, and it goes down from there. Like in my other tests, it didn't matter who chose the command.

My main point in posting is that most of us assumed that commands were useable by anyone, but that doesn't seem to be the case. The other commands should be tested as well. I'll be doing more tests as I proceed in my hack. Let me know if anyone finds anything related.

HHIPDragonFox

  • FF4 Hacker
  • *
  • Posts: 58
  • Gender: Male
  • White Dragon Emerges.
    • View Profile
    • Holyplasmadragonfox DragonFox Pages
Re: "Twin" Command
« Reply #4 on: February 12, 2008, 04:06:17 AM »
In FF2us_:
I haven't tried the twin command on other characters, but I have tried the Regen and a dummied skills on cecil and some others.


The Regen Command is (Lunarian) and will cause any character who used it to stop animation and will not move/command throughout the rest of the battle. Only the Lunarian seems to be able to move after casting.

The dummied command (after Peep/Scan) I've tried on most characters(I've forgotten which ones) caused the game to freeze/glytch.
  I  seen Paladin Cecil do some type of wave attack on a japan version cart in a video game review show.  I also don't know if this works (with out glytch) in the PSX version(s).

Recall(dummied out) (Sage?) command allows Tellah? to do something in battle like temporary have a random spell. does something wierd with Bard Edward.

Endur(dummied out) (MasterMonk?) causes any character to atacj themselves.
All other Commands will work just fine, far as I could tell.
« Last Edit: February 12, 2008, 05:43:56 AM by HHIPDragonFox »
Cool is the Holy feeling after being Iced by Hyper Plasma.

Phoenix

  • FF4 Hacker
  • *
  • Posts: 456
    • View Profile
    • Phoenix Hacks
Re: "Twin" Command
« Reply #5 on: February 12, 2008, 06:07:33 AM »
HHIPDragonFox: My tests produced different results from yours.

Regen will regenerate HP eight times, then the character will be able to move and choose other commands. I verified this on at least two characters besides FuSoYa. (Sidenote: Does anyone know if this command always restores 10 HP per character? That's what I'm finding, at least in FF2us.)

Peep isn't a dummied command, so I'm not sure which one you're talking about. Peep works fine with other characters.

Recall can be used on anyone (I've tried it on at least four different characters), and casts a random black magic spell. If the character doesn't have enough MP for the spell (like Edward) then the battle sprite walks forward and performs its "special" graphic. For Edward, this is when he hides, which looks like sweat (or tears?) coming out from him.

Endure never made any of my characters attack themselves. Are you sure you're referencing the right command?

Also, I tested Cover more thoroughly, and have decided that it also is character-specific. Any character using Cover causes Cecil to cover that character and take damage for them. If (Paladin) Cecil is not in the party, it doesn't seem to do anthing.

So, in my tests, the only character specific commands I've found are Cover (and auto-Cover), auto-Hide, and Twin.

Deathlike2

  • Moderator
  • *
  • Posts: 3,538
  • I'm looking at you, bitch!
    • View Profile
Re: "Twin" Command
« Reply #6 on: February 12, 2008, 11:18:12 AM »
Regen will regenerate HP eight times, then the character will be able to move and choose other commands. I verified this on at least two characters besides FuSoYa. (Sidenote: Does anyone know if this command always restores 10 HP per character? That's what I'm finding, at least in FF2us.)

8 times huh? Hmmm. The only difference between the SNES version and GBA version is that the GBA version doesn't force you into uselessness  while using Spirit and allows FuSoYa to use his turn doing something more useful after the initial Spirit cast.

Quote
Recall can be used on anyone (I've tried it on at least four different characters), and casts a random black magic spell. If the character doesn't have enough MP for the spell (like Edward) then the battle sprite walks forward and performs its "special" graphic. For Edward, this is when he hides, which looks like sweat (or tears?) coming out from him.

Recall targets all enemies, regardless if the original spell is able to target all enemies.
Working on the next Yet To Be Named FF4 "Hardtype" Hack Download Latest: v1.48

Video Demos: #1 #2 #3

Dragonsbrethren

  • Forum Overlord
  • *
  • Posts: 1,820
    • View Profile
    • Dragonsbrethren Industries
Re: "Twin" Command
« Reply #7 on: February 12, 2008, 03:14:58 PM »
Regen will regenerate HP eight times, then the character will be able to move and choose other commands. I verified this on at least two characters besides FuSoYa. (Sidenote: Does anyone know if this command always restores 10 HP per character? That's what I'm finding, at least in FF2us.)
I've never seen it restore more/less than 10. Maybe if there was another zero on the end it would actually be a useful command...

Peep isn't a dummied command, so I'm not sure which one you're talking about. Peep works fine with other characters.
The command after Peep is though. It has no effect (Besides crashing the game) but there is a patch on RHDN to turn it into a random summon command for Rydia. That patch only works on v1.0 of FF2us.

Recall can be used on anyone (I've tried it on at least four different characters), and casts a random black magic spell. If the character doesn't have enough MP for the spell (like Edward) then the battle sprite walks forward and performs its "special" graphic. For Edward, this is when he hides, which looks like sweat (or tears?) coming out from him.
It's not a random spell, I don't know where it gets what spells to cast but it seems to be limited to Fire1, Ice-1, Lit-1, Virus, Stone, Weak, Fatal, and I'm thinking Toad for some reason but I'm not sure. I haven't actually used the command in a long time since it's pretty worthless.

Paladin

  • FF4 Hacker
  • *
  • Posts: 105
  • Gender: Male
  • Warrior of Light
    • View Profile
    • FinalFantasyIV.net
Re: "Twin" Command
« Reply #8 on: February 12, 2008, 03:43:56 PM »
I think I know what DragonFox means by the dummied command...

There is an unused command, which I believe comes after Cid's peep. I think in some of J2e's older hacks for FF-IV they gave it the name "SWave", (being different from the actual "Spirit Wave" command that FuSoYa is supposed to have).  However it's a broken command. He's right that it crashes the game if you try and use it, the effect being the least deleterious (yet still breaks the game) if you put it on the paladin.

The battle command that randomly casts magic is "Remember" and it's for Tellah, he has it for two instances (First Met, and Met on Mt.Ordeals). It goes away when his character refreshes and "learns all the spells he'd forgotten" after Cecil's class change. It seems to work for most characters, sometimes it will cast something decent but usually (in my experience) it likes to cast the level 1 elementals, mostly Fire1. Making it pretty useless later in the game.

I have experienced the noted effects with Cover and Twin. Would have liked to have used cover with Dark Knight, but meh...  However I have had "Hide" work, though I've only tried it on Anna, the actual Anna character that's never used that is. I've only tested it by adding her character to a save game party using FF4h.  It's a command that I typically don't find myself wanting to add to anyone...

This begs the question, does anyone have any clue as to where in the ROM the battle command routines/effects/graphics and other hard-coding are specified? 

I noticed that in JCE's documentation he lists offsets for where the magic menus are mapped to the magic commands by character class, which comes pretty much right after the battle command mappings to the characters. There is a block I don't know much about after that, I may try looking at that later...
:hmm:




Deathlike2

  • Moderator
  • *
  • Posts: 3,538
  • I'm looking at you, bitch!
    • View Profile
Re: "Twin" Command
« Reply #9 on: February 12, 2008, 03:53:50 PM »
Recall can be used on anyone (I've tried it on at least four different characters), and casts a random black magic spell. If the character doesn't have enough MP for the spell (like Edward) then the battle sprite walks forward and performs its "special" graphic. For Edward, this is when he hides, which looks like sweat (or tears?) coming out from him.
It's not a random spell, I don't know where it gets what spells to cast but it seems to be limited to Fire1, Ice-1, Lit-1, Virus, Stone, Weak, Fatal, and I'm thinking Toad for some reason but I'm not sure. I haven't actually used the command in a long time since it's pretty worthless.

I believe there is a given set, but once in a blue moon, a higher level spell is cast. I do recall Lit-2 being cast on Octomammoth. There is a lame set and there's the "wicked awesome set"... unfortunately the whole thing relies on luck and having enough MP available.
Working on the next Yet To Be Named FF4 "Hardtype" Hack Download Latest: v1.48

Video Demos: #1 #2 #3

Phoenix

  • FF4 Hacker
  • *
  • Posts: 456
    • View Profile
    • Phoenix Hacks
Re: "Twin" Command
« Reply #10 on: February 12, 2008, 04:29:04 PM »
I've used the patch to give Rydia the random call command, and looked at what was changed. It was only a few bytes of code, but it shows you where the pointers are for battle commands effects. They are from 1B56C to 1B5A7 (I believe); they are 2 bytes each, reverse the bytes and add 0x10200 (at least for the random call command, so I assume it's the same for all of them). The effects themselves are in ASM, which I haven't bothered at looking at yet. I did discover that the random call command only calls two subroutines, one of which is the random summon (taken from the Grimoire item effect data), the other I'm not quite sure about, but it only exists one other place in the ROM.

That's the limit of my knowledge. I'd like to create my own command, but I'm not quite there yet in terms of understanding the data. Anyone able to contribute anything else?

Edit: Paladin, the data right after the battle commands and magic list/battle command link is the Auto-Battle Data. Here's my list of offsets in that area (? are things I don't know):

9FF50-9FFC2   Character Battle Commands (5 bytes each)
9FFC3-9FFDC   Character Battle Commands Targeting Info (1 byte each)
9FFDD-A000C   Magic List # to Battle Command/Learning Link (3 bytes per character: top list, mid list, bottom list)
A000D-A001C   Auto-Battle Enemy Set Pointer (xx00 = Overworld Enemy Sets, xx01 = Underground/Moon Enemy Sets)
A001D-A002C   Auto-Battle Pointers (2 bytes, reverse and add 0x90200)
A002D-A0066   Auto-Battle Data (00xx = spell, 01xx = item, Cx/Dx00 = command; separated by 0xFFs)
A0067-A0088   Auto-Battle Enemy Set Pointer? (enemy set to transition to?)
A0076-A0088   Auto-Battle Enemy Set Pointer? (text pointer?)
A0089-A00A7   Battle Command Speed? (changing to value above 80 delays that action, higher value = longer delay)
A00A8-A01F6   ? (335 bytes) battle-related
A01F7-A01FF   ? (9 bytes)
A0200-A07FF   World Map Tile Formation Data
   A0400   Underground Map Tile Formation Data
   A0600   Moon Map Tile Formation Data
data after this is tile palette pointers, palette data, and tile properties data
« Last Edit: February 13, 2008, 05:48:04 PM by Phoenix »

HHIPDragonFox

  • FF4 Hacker
  • *
  • Posts: 58
  • Gender: Male
  • White Dragon Emerges.
    • View Profile
    • Holyplasmadragonfox DragonFox Pages
Re: "Twin" Command
« Reply #11 on: February 13, 2008, 01:20:14 AM »
HHIPDragonFox: My tests produced different results from yours.

1>Regen will regenerate HP eight times, then the character will be able to move and choose other commands. I verified this on at least two characters besides FuSoYa. (Sidenote: Does anyone know if this command always restores 10 HP per character? That's what I'm finding, at least in FF2us.)

2>Peep isn't a dummied command, so I'm not sure which one you're talking about. Peep works fine with other characters.

3>Endure never made any of my characters attack themselves. Are you sure you're referencing the right command?



1) I mainly tried on the Dark Knight, on the others it slowed down some. also it seems effective on some small percentage(I don;t know the formula) and with the Dark Knight it gives randomly 10 to 18.

          FightItem WhiteBlackCall DWaveJump RcallSing Hide Heal Pray Aim  BuildKick EndurTwin BoastTearsCover
          Peep SWaveDart SneakNinjaRegenChRowParryShow CvrOf     
2)I meant the command after Peep and before Dart. I don't know what it's for and who has it. :cookie:
    I named it SWave due to I didn't what it was or would do or actually does.

3)I don't know what the pointer and functions are for this command, but it looks like a Bomb/Balloon Explode/Sacrifice effect but does not do anything other than effect yang (ussually killing him). :tongue:

Yes I do have the FF2us. Your other notes are correct, hope this clears it up some. :offtopic:

Editted:
     Picture link of Yangs Endur:  http://www.geocities.com/holyplasmadragonfox/FF2US-rv_ed_Yand_Endur.JPG
  I'm sure the Effect was mistakingly changed from 00 00 00 00(dummied) to oc o4 o4 ?? something that is similar to the small pyro/flare effect. Also  may have added the spell power to that effect 00 00 00 00 00 00 to 00  ??  00 ?? ?? 00. with something that does poison effect.
  I just need the proper effect numbers, didn't know what those zeros were for at the time.
« Last Edit: February 15, 2008, 01:27:21 PM by HHIPDragonFox »
Cool is the Holy feeling after being Iced by Hyper Plasma.

Phoenix

  • FF4 Hacker
  • *
  • Posts: 456
    • View Profile
    • Phoenix Hacks
Re: "Twin" Command
« Reply #12 on: February 13, 2008, 04:00:21 AM »
1.  :hmm: I've never gotten anything different from 10, or noticed a slow down, but I haven't done extensive testing.

2. Sorry, I reread your first entry and you did write "after Peep/Scan". Apparently I was reading too fast.  :blush:

3. Are you sure you're using a valid ROM? Endure is supposed to have a Protect-like effect on whoever uses it. Your command listing is in the right order, so I have no idea why the command would be killing the character using it unless you put the wrong byte for the command, or your ROM has been modified. Has anyone else experience this?

Deathlike2

  • Moderator
  • *
  • Posts: 3,538
  • I'm looking at you, bitch!
    • View Profile
Re: "Twin" Command
« Reply #13 on: February 13, 2008, 04:46:46 AM »
If you think Spirit (FuSoYa's command) can heal more, try tinkering with the Vitality value of that character.
Working on the next Yet To Be Named FF4 "Hardtype" Hack Download Latest: v1.48

Video Demos: #1 #2 #3

Paladin

  • FF4 Hacker
  • *
  • Posts: 105
  • Gender: Male
  • Warrior of Light
    • View Profile
    • FinalFantasyIV.net
Re: "Twin" Command
« Reply #14 on: February 13, 2008, 06:36:57 PM »
Thanks for the offsets Phoenix!

When you mentioned about Rydia's command patch...you know I've never tried that patch, though I've had it downloaded for a number of years...
That's a good starting point. It's worth investigating further, which I intend to do.

And...I've pretty much decided that it's time to go learn 65c816 ASM, I've put that off for far to long...I've been reading what I can on Romhacking.net today. I vaugely remember the psudo-assembly language I had to learn in college...so with a little luck...

Edit...

I went and played with the Minitrue patch and looked at that area in hex and you're absolutely right about the pointers. It appears if you change them, say, set the first set for "Fight" to the set for "Dark Wave", the character still "fights" but all enemies take damage and the acting character looses HP. So the pointer is only for the net effect (subroutine?) of the command action and nothing else. The character action, sound effect, and graphics must be set someplace else. Looks like all Minitrue did was find an effect they liked and mapped it to the unused command 0x15 and some addressable null space. And, I'll have to admit that's actually a pretty darn useful command to have.

I'm going to try and map the subroutines the pointers point to in HEX and post the dump if that would be helpful to anyone?...

...Taking a cursory look in hex...and I'm not sure if I can tell what terminates the data...it looks like byte 0x60...but I'm not sure...

Like I said...I need to learn ASM....

« Last Edit: February 13, 2008, 08:58:34 PM by Paladin »