øAslickproductions.org/forum/index.php?PHPSESSID=5f0fck550j2m4m2fpbtkj2vkm1&action=profile;u=123;area=showposts;start=135e:/My Web Sites/Slick Productions - FFIV Message Board/slickproductions.org/forum/indexa363-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/indexa363-2.html.zxòg^ÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÈ…¬ìaOKtext/htmlISO-8859-1gzip0|ÖìaÿÿÿÿÿÿÿÿTue, 10 Mar 2020 20:17:33 GMT0ó°° ®0®P®€§²ð®òg^ÿÿÿÿÿÿÿÿ48ìa 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

136
Final Fantasy IV Research & Development / Re: Mapping Questions
« on: July 18, 2015, 04:16:02 PM »
Interesting information. Does anyone know what NPCs are in game but aren't used? Specifically I need two in Underground Maps.

I have this old topic which may be of some help...

http://slickproductions.org/forum/index.php?topic=1974.msg21445#msg21445

137
I imagine this is setup very similar to how it is in the SNES version as to my knowledge they would have had no need to change this set up, at least in its basic format. You may want to PM PinkPuff about it since it's been part of FF4kster since near the beginning.

138
Final Fantasy IV Research & Development / Re: Aim and Regen Commands
« on: July 17, 2015, 08:30:09 PM »
Due to certain changes I've been making in my project (tying the Bows and Arrows indexes to 2 now-dummied weapons to allow the rest of the bows/arrows become new weapons), I cannot for the life of me get the Aim command to function properly.correctly. The main reason for this I believe is because Aim was only meant for bow & arrow, or the command checks that a character has some weapon in each hand.

Is there a way to allow it to function with a one-handed weapon? I tried messing with it's ranges in FF4kster, but to no avail. I'm not actually sure of the benefits Aim would have now that I nexed Bows/Arrows (I think all the command does is ensure a hit? I'm not sure what else it normally does)



I'm also wondering if it's feasible to tweak the Regen command to heal MP periodically instead of HP based off the Wisdom or Willpower stat. Seeing as Yang is the recipient of this command, I don't think it would be game-breakingly overpowered if I were to go this route.

Aim *should* be a simple range check which my information was put into the editor, I could have sworn we tested this out long ago... but I did just try it out and it didn't change anything. I still have notes regarding Aim's Range check in ASM, so let me find that fast...

Here we are, they're some of my older notes but should still be readable...
Quote
In ROM this is located at...

01A48E - C9 05 (Compare with Dark Wave's Command)
01A492 - C9 08 (Compare with Sing's Command)
01A496 - C9 0C (Compare with Aim's Command)
01A49A - C9 10 (Compare with Twin's Command)


01A4F8 - C9 61 (Right Handed - If the Weapon value is this or above this (or 00?) Dark Wave cannot be used)
01A504 - C9 61 (Left Handed -  If the Weapon value is this or above this (or 00?) Dark Wave cannot be used (May be Equipped Hand)

01A50E - C9 44 (Right Handed - If the value is this or above this, Sing can be used)
01A512 - C9 4D (Right Handed - If the value is this or above this, Sing cannot be used)
01A51C - C9 44 (Left Handed  - If the value is this or above this, Sing can be used)
01A520 - C9 4D (Left Handed - If the value is this or above this Sing cannot be used)

01A52A - C9 54 ( - If the value is this or above this Aim can be used.
01A52E - C9 61 (Right Handed - If the values it this or above this Aim cannot be used (Looking for Bow? This would hint that Aim can be used with two Arrows equipped or two bows... well I'll give it a shot... Yep. Looks like it's right. Aim can be used with Two Bows or Two Arrows. An interesting non-check. Good on the programmers.)

As for Regen... that was actually one of my first projects and I failed. I still think I'd fail if I looked at it now. You see the amount of healing it does to the player is through a very specific set of code which runs through into normal HP recovery. In the past I had a lot of trouble changing it, and in the end had no success. Making it based on Spirit or Will though was done for Combat Boost where it is based on the character's Will.


139
In Lancet's case it would turn out to be space. A simplified routine of giving Kain Drain and dividing his attack by 2 and jumping to the Fight routine wasn't so bad but adding a failure message took up a fair amount of remaining space.

The way that hypothetical would be drawn up is tricky

It would require basically writing the Remedy/Absorb routine and then having that deal damage at the end of it. Quite a few bytes really.

140
Wow, that looked fantastic! (Aside from the running in circles for ever) I have to wonder why FFIV kept it so basic. That idea has so much potential! Granted it wasn't until FFVI where Square really started experimenting with battle animations and all of that.

141
I'm uploading my streamed videos directly to YouTube now, as they retain much better quality than when you archive them from Twitch.  I'll start streaming again in a few minutes, while I wait.  :)

Looking forward to it, From what I've seen of your video thus far it seems it will be an enjoyable watch.

142
I just checked the source of my download link.  It was jce3000gt.com.   :laugh:   I'm intensely curious what's in that chest now, in the unmodified ROM.  Going to play for 3 minutes and find out.  :)

EDIT: Yup!  The RuneAxe was in that chest!  Someone's been messing in my ROM.   :finger:

Is that a joke... or did that actually happen...? If so I had no idea there were so many bad dumps of FFIV out there. There's only supposed to be 300 GP in the chest.

143
Ok, I've decided what Edge will give you, but it's a surprise.  :laugh:

I will say though that it is a one-time-use item, not an equipment. That said, it is not a generic item. It is only obtainable by ditching Edge.

I like the sound of that! I'll definitely look out for that when the time comes.

144
Just downloaded a fresh file from Romhacking.net and no. The chests were 300 GP, Potion, and Tent. Something going awry in the patching process, maybe? I thought maybe the 300 GP would turn into Thor's Hammer if it were transferred into an Item,  but that turns into the Kotetsu, so I have no idea what could have caused that.

I will have to watch the rest of your video later (likely during meal time, Entroper) but it looks like it will be quite a bit of fun.

145
Recently I've been hacking the European version of Final Fantasy 4 Advance, and have made notes on its data structures, ASM code and AI scripting as I went along. Since there doesn't seem to be much documentation on this version that I could find, I though I'd share my notes here.

This is a link
to my notes, including modules for use with the Nightmare table editing program (not very flexible, but it's dead easy to use). It includes documentation on item,spell and monster data, encounter sets, encounter setting (eg. what music to play, whether some monsters start out hidden), monster AI, chest contents and more; the bulk of my notes are in "ff4a-structs.txt", which was originally based off of notes by PKT Paladin.

I've also written some custom ASM code for a little hack of mine that might be helpful to others.

More variance for encounter RNG
If you've played FF4a before, you probably know how the encounter system is messed up: the same battles tend to occur over and over again, and saving+loading doesn't help. This is mostly due to the fact that the RNG used to determine what you encounter and when is seeded from only one thing: the amount of time you spend on the file loading screen. This tends to produce very similar seeds, leading to the same pattern of encounters recurring.

This code fixes this problem by seeding this RNG with your save file's game clock in addition to the above:
$0827E6: 2188 401A 0F49 6052 3CF0 D3FA 2188 4018
Paste write the above byte sequence to $827E6 in the FF4 Advance (E) ROM.

Allow monsters to use their Magic Defence Multiplier
Normally, a monster's MDef Multiplier in the ROM is never written to their RAM battle data. To undo this, make the following change:
   $93082: Write 0000
Note that all monsters have zero Magic Evasion by default, so you'd need to give them values yourself.

Back Row functions almost properly
In the European version, melee weapons have no penalty to Attack or Precision for attacking from the back row, while the actual long-range weapons (Bows, Harps, Boomerangs and Whips) do receive a penalty. To fix:
      $8A858: 07D1
      $8A868: 00D0
 Currently my code fixes this by making your attack Back Row-Ok if you have any long-ranged weapons equipped, which means that Edge with a katana and boomerang can attack at full power from the back row. A more nuanced fix requires more space (and therefore repointing code).

Modular elemental weaknesses from armor
By default, armor that resists Ice or Fire is hardcoded to give a weakness to the opposing element, unless your equipment protects against Fire,Ice and Lightning all at once. This code ties elemental weaknesses to a byte in armor's affinity data instead:

Equipment (including weapons!) can have elemental weaknesses that apply to the actor (byte 0x1 in affinity data):
Start of Battle $9F440: 4178 0023 0B43 A08C 1FF0 A8FC 4178 0B43 A08D 1FF0 A3FC 4178 0B43 E08D 1FF0 9EFC 4178 0B43 208E 1FF0 99FC 4178 0B43 2222 AB54 28E0
During Battle $9DA2E: 4578 B88C 21F0 ADF9 4078 0543 B88D 21F0 A8F9 4078 0543 F88D 21F0 A3F9 4078 0543 388E 21F0 9EF9 4078 0543 2221 7554 29E0 0000

Monsters' basic attacks can be imbued with elements (byte 0x6 in monster elemental data):
(ASM) $7F7000: 5088 A083 9088 2084 9079 6076 3188 7046 0430 0047
(ASM) Link from $93156: 0148 2BF0 12FE 01707F08

Simple- this lets you have Fiery Hounds attack with a Fire element. Handle with care: elemental physical attacks do triple damage when hitting a weakness!

Reworked Boss Bit vs Status system
By default, enemies with the Boss Bit are protected against all forms of status (but Slow/Sap), and a few other things besides. This code moves it closer to the SNES system, where status spells only fail against a boss if the spell also has a boss bit.

New system: Boss bit only prevents status spells if they have a boss bit too!
Regular status resistances still apply, however.
Byte +$07 of spell data is the boss bit; if bit 00 is set, the spell will fail against enemies with the boss bit.
Status spell logic:
$8B02E: 5B49 084B 795A 0901 5B18 D879 0121 0140 0029 06D1 09E0
$8B054: 2890E008

Updating Bestiary screen:
$121D0: 00000000

That's all I've got for now, but I might have some other things to show at another time.  :cycle:


The European Version is normally considered to be the superior version all around. I'm surprised to know there is still so much wrong with it! Well we are glad to have a compatriot working at other angles to fixing FFIV and maybe we can learn a couple of things from one another.

Quote
Allow monsters to use their Magic Defence Multiplier
Normally, a monster's MDef Multiplier in the ROM is never written to their RAM battle data. To undo this, make the following change:
   $93082: Write 0000
Note that all monsters have zero Magic Evasion by default, so you'd need to give them values yourself.

Wait a moment... are you telling me that FF4A goes a Step further and outright removes Magical Defense Multipliers from enemies? Granted they are non functioning without Magic Evasion, but that... seems so bizarre. So does FF4A actually have the code to properly place Evasion and Magical Evasion in an enemy's stats or is That still busted from the SNES version?

Quote
Back Row functions almost properly
In the European version, melee weapons have no penalty to Attack or Precision for attacking from the back row, while the actual long-range weapons (Bows, Harps, Boomerangs and Whips) do receive a penalty. To fix:
      $8A858: 07D1
      $8A868: 00D0
 Currently my code fixes this by making your attack Back Row-Ok if you have any long-ranged weapons equipped, which means that Edge with a katana and boomerang can attack at full power from the back row. A more nuanced fix requires more space (and therefore repointing code).

Ugh... I had thought this was supposed to be fixed in the European and Japanese version? I guess not... This is a fine fix and the Boomerang/Katana mix makes it the same as what every version of FFIV has allowed. So don't worry. Even Square thought it was too much trouble to bother with.

Quote
Modular elemental weaknesses from armor
By default, armor that resists Ice or Fire is hardcoded to give a weakness to the opposing element, unless your equipment protects against Fire,Ice and Lightning all at once. This code ties elemental weaknesses to a byte in armor's affinity data instead:

Equipment (including weapons!) can have elemental weaknesses that apply to the actor (byte 0x1 in affinity data):
Start of Battle $9F440: 4178 0023 0B43 A08C 1FF0 A8FC 4178 0B43 A08D 1FF0 A3FC 4178 0B43 E08D 1FF0 9EFC 4178 0B43 208E 1FF0 99FC 4178 0B43 2222 AB54 28E0
During Battle $9DA2E: 4578 B88C 21F0 ADF9 4078 0543 B88D 21F0 A8F9 4078 0543 F88D 21F0 A3F9 4078 0543 388E 21F0 9EF9 4078 0543 2221 7554 29E0 0000

This is a really neat idea for those who don't want Weakness tied to basic Element. I may have to consider something similar for FFIV down the line. I've taken a look at your notes and FF4A has a boatload of more room for what to do with Weapons and Armors! FFIV has to rely on a stringent Bonus Index which forces down possibility by a fair amount and has a more open accuracy system where as FFIV has a basic (00 = 00 Accuracy) (63 = 99 Accuracy.) with only 8 Bytes to each weapon instead of 12 and the same 8 bytes for Armor compared to !?20?!. What I think I could do is tie it into that weird unused "item type identifier byte" which to my knowledge doesn't actually do anything. You also managed to put it on Weapons though which would be a much tougher sell all around in normal FFIV.

There is also some interesting notes on spells you have here! Again they've really increased the possibility there. Even allowing easy access to previous Routine-set statuses.

Quote
Monsters' basic attacks can be imbued with elements (byte 0x6 in monster elemental data):
(ASM) $7F7000: 5088 A083 9088 2084 9079 6076 3188 7046 0430 0047
(ASM) Link from $93156: 0148 2BF0 12FE 01707F08

Simple- this lets you have Fiery Hounds attack with a Fire element. Handle with care: elemental physical attacks do triple damage when hitting a weakness!

They removed this functionality? Yes, it was unused in SNES FFIV, but it still functioned to my knowledge if you implemented it on monsters.

I am looking forward to hearing more from you! Your notes may be of use to us here and vice versa.

146
Hey, Grimoire - do you think the key to displaying damage might be running the subroutine at $03/CA7E? I've been looking over your command disassembly notes. It seems this subroutine runs for every damaging command except Magic (which, IIRC, deals damage differently than everything else anyway), including (and this is the intriguing part) Steal only if the failed steal deals damage.
Even if that's not it, I'm thinking the key must be embedded in the commands'  routines. It's certainly not set before the command runs, and the only stuff that seems to run differently after the command runs depends on things that happen when the command runs...
 :hmm:

You are exactly right Chillyfeez, you may have missed my newest post in my thread, but aside from targeting this is the Ultimate Basic Setup for skills to deal and display the damage done.

http://slickproductions.org/forum/index.php?topic=1883.msg23622#msg23622

CA7E contains the necessary procedures and I put that puzzle together several days ago.

F8 04 is all you need along with a damage algorithm and CA7E. That's it, rather concise and not too tricky.


I don't remember who I was watching the other night, but you can watch me if you like: http://www.twitch.tv/entroperzero/profile/past_broadcasts

I'll probably be streaming more this week, usually around 9 PM EDT.

I'll have to watch some of this! But Thor's Hammer in the rightmost Chest of Baron? That... doesn't sound right.

147
I found this via Twitch, while streaming and watching Zelda Randomizer runs.  Been enjoying my playthrough so far.  :)  I'm in the Eblan Cave now, being hassled by constant surprise- and back-attacks from 6 bats.  The darn things take a dozen actions before I can take one.

I was really confused in Troia.  There weren't any plot clues, so I went to the magnetic cave, thinking something might happen.  The game wouldn't let me in, saying the magnetic field made all my gear heavy, so I unequipped everything I thought was metal... same message.  I went through this process several times, finally just unequipping everything (which required going back to town to sell some stuff and free up space), and it still wouldn't let me in.   :wtf: Anyway, I obviously did figure it out eventually.

I really liked the little tweaks to the writing at Mt. Hobs and Fabul, and I loved the changes at Baron and the Misty Mountains.  Edward is pretty good now, I was actually sad to see him go.  :laugh:

The difficulty balance has been okay.  Scarmig was hard, but not that hard.  The hardest thing has been surviving without any healing and going through potions like candy.  I always feel like I'm slightly underleveled, even though I don't run from battles much.

Entroper! You were an early champion and pioneer of FFIV hacking and it is always good to see such a face revisit the site! As you can see we have made a ton of progress starting with notes from people such as yourself, so thank you very much for your past efforts!

As for Unprecedented Crisis...

I do hope you didn't save after you sold everything! I agree with your statements though, once you get to Baron the game seems more difficult because you cannot rely on any healer (even though the Mythril Staff is a nice heal) as you would in the normal game which keeps a healer in the party from Mist to the end game. It presents a completely different method of play.

That you feel that you're always "one step behind" is in my opinion one of the strengths of Unprecedented Crisis, the enemy's aren't really that different, but the scenarios they are placed in, the equipment draws, and the spells available always makes the player seem a little more evenly matched with their opponents (past Fabul, of course)

Edward is fantastic and it is troubling when he leaves because there goes a main healer for a rather long stretch of time!

So you saw this on Twitch? That was fast. Was the person playing any good? I noticed that a lot of Twitch players... are not the best people to watch, mainly because of their personalities as they play through.

148
Which index spells would those be?

176, 177, 188,
 
176 is the "Summon Adult Rydia" spell, 177 is the special-Mist Dragon Display and 188 is the special-Mist Dragon damage.

149
Heh, looks like we posted around roughly the time there. That issue is solved.

As for the name suppressed spells according to FF4kster there's at least 10 or so that go unused because of the changes in plot so there's Plenty of room. That should solve everything!

Feel free to change either of the Rydia vs. Golbez designated spells since nothing exists in Unprecedented Crisis using them.

150
Suppressing the spell name: We could use one of the already name-suppressed spells and turn it into "Tackle", damage based on caster's HP. The command handles setting his HP afterwards anyway right?

Critical: In the regular command information, there are two "disable if" bytes; one for permanent statutes and one for temporary. Currently, the only one using the temporary status byte is Kick,which is disabled under Float. Would it be possible  (or feasible) to change it so that it checks the category of statuses that Critical falls under? If so, it would then be a simple matter of setting the corresponding flag in FF4kster.

Indeed, while it would be interesting to see why a spelll's name is suppressed I've never really come across that info and haven't been pointed in any direction on why that may be. It may be something I'm missing, but you still have unused spells (Golbez vs. Rydia comes to mind as a couple of spots.) and plenty of still unused spots.

You present an interesting hypothesis. That should not be a very difficult change. All that is doing is looking at the 2004 byte, rather than the 2006 byte of status. Since we know where the first is located breakpointing a Read on it should reveal its inner workings. (it would mean... you can use Kick while Floating! Oh no!!)

Yep, that was easy!

Just change...

$03/A2C1   BD 04 20   LDA $2004,x[$7E:2204]   A:0000   X:0200   Y:0004   P:envMxdiZc - Load Status Byte 02

To...

$03/A2C1   BD 06 20   LDA $2006,x[$7E:2206]   A:0000   X:0200   Y:0004   P:envMxdiZc - Load Status Byte 04

And that's it! Then just change the command disable status for Tackle into the 01 equivalent and that won't have to be worried about!