øAslickproductions.org/forum/index.php?PHPSESSID=5f0fck550j2m4m2fpbtkj2vkm1&action=profile;u=383;area=showposts;start=60e:/My Web Sites/Slick Productions - FFIV Message Board/slickproductions.org/forum/index8a9c-2.htmlslickproductions.org/forum/index.php?PHPSESSID=5f0fck550j2m4m2fpbtkj2vkm1&action=profile;area=showposts;u=383e:/My Web Sites/Slick Productions - FFIV Message Board/slickproductions.org/forum/index8a9c-2.html.zxƒ¿h^ÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÈ .zÊOKtext/htmlISO-8859-1gzip8:ÖzÊÿÿÿÿÿÿÿÿWed, 11 Mar 2020 10:54:20 GMT0ó°° ®0®P®€§²ð®ƒ¿h^ÿÿÿÿÿÿÿÿ 2zÊ Show Posts - Kea

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 - Kea

Pages: « 1 2 3 4 5 6 7 »
61
The changed forms aren't new monsters in the sense that they have their own complete data; it's just that they take up spots in the sprite table.

Here's the struct itself:
Code: [Select]
0x0C bytes per entry:
$00-01: Sprite ID; what graphics/palette to load
$02: Attack Shading:
00 - Normal (black/outlines)
01 - Entire sprite
FF - None? (character enemies)
$03: Number of sprite tiles to read horizonatally?
$04: Number of sprite tiles to read vertically?
$05: Sprite's drawn width
$06: Sprite's drawn height (bad numbers causes sprite to be cut off/broken up etc)
$05-06 are only different from 03-04 in Dr. Lugae's case, where he changes sprites at start of battle
(not that it actually makes a difference?)
$07: Unused?
$08-0B: Pointer to data in 0x0801C--- region, or 00
Used for most Lunar esper alt. forms - special tile/palette arrangement
Allows each tile to have its own palette?
If you look at the sprites for the Lunar espers and Zeromus EG, they have more colors than other monsters; that's thanks to the $08 pointer.

This is what the end of the sprite list looks like:
Code: [Select]
Soldier Monk
Super Monk
Drillmaster
Melt Bomb
Goblin (Super)
Palace Guard
Dark Kain
Bandit
Specter
Dummy (Goblin)
Dummy (Goblin)
Dummy (Goblin)
Dark Bahamut (Mega Flaring) 2
Lunar Leviathan (turned away)
Mist Dragon (mist)
Cagnazzo (hiding)
Cagnazzo (Torrents)
Barbariccia (Wind shield)
King of Eblan (sane)
Queen of Eblan (sane)
Rubicante
Odin (Sword up)
Odin (Charging)
Leviathan (forward)
Bahamut (Mega Flaring)
Demon Wall (2)
Asura (2)
Asura (3)
(Tiny snake thing?)
Titan (Quaking)
Egg (Hatching)
Chocobo 1
Chocobo 2
Shiva 1
Shiva 2
Ifrit 1
Ifrit 2
Ramuh 1
Ramuh 2
Sylph 1
Octomammoth 2
Octomammoth 3
Octomammoth 4
Octomammoth 5
Octomammoth 6
Octomammoth 7
Octomammoth 8
(Pig)
(Toad)
(Midget)
Momb Bomb (Exploding)
Mist Dragon (Summon?)
Dr. Lugae (Transformed)
Demon Wall (Front only - 1)
Demon Wall (Front only - 2)
Demon Wall (Front only - 3)
Demon Wall (Front only - 4)
Demon Wall (Front only - 5)
Demon Wall (Front only - 6)
Demon Wall (Front only - 7)
Demon Wall (Front only - 8)
Demon Wall (Front only - 9)
Demon Wall (Front only - max)
Sylph 2
Sylph 3
Lunar Bahamut (Mega Flaring)
Lunar Leviathan (backward)
Lunar Odin
Lunar Odin (charging)
Lunar Asura 2
Lunar Asura 3
Lunar Titan (Quaking)
Lunar Dragon (Mist)
Lunar Ifrit (Flaming)
Lunar Ramuh
Lunar Ramuh (Zapping)
Lunar Shiva
Ifrit (Boss2)
Shiva (Boss2)
Titan (Boss2)
Ramuh (Boss2)
Super Monk (2)
Super Monk (3)
Soldier Monk (2)
Soldier Monk (3)
Drillmaster (2)
Drillmaster (3)
Dark Bahamut

The worst part? Monsters that start in one form, move to another, then change back to their previous form use three different sprite entries: Lunar Odin uses different sprite entries for before raising his sword and after lowering it, and Dark Bahamut does the same for his Mega Flaring. It's crazy.

62
In FF4A I imagine you have much more than FF monster slots, with all of the new monsters running about the Lunar Ruins?

Indeed, with 286 monsters in the game, monster IDs are a halfword. Expanding the number of monsters is a little tricky; you'd have to replace the base text index used by monster names, rewrite the AI loading code (and that's another thing, the pointer table for AI routines is also used for events so it's not so easy to expand), and possibly restructure the Bestiary data if you want them to show up as regular monsters there.

Then there's monster sprite definitions; the first 286 entries correspond to the default sprites of all monsters, but the next 76 entries are used for alternate forms of monsters (eg Octomammoth losing tentacles, Odin raising his sword...). So if you wanted to add new monsters, it would be better to skip 76 monster IDs and start at monster No. 363.

63
Hm, you may be right. I suppose it's better to have them be a little too strong than the other way around, they are consumables after all. I'm still sticking to the Hourglass numbers though.

So as you've seen with the Magic Beast type, I'm rearranging the monster families in this game. Anybody who's played FF4 probably knows that monster types are very unevenly distributed (cf Mythril equipment defending against a nearly nonexistent Spirit family). Here's the specific changes being made:

Mech -> Construct
Basically this is to include Golems and any artificial enemies in this family. There will also be some new Mech-type enemies in Zot for Cid to smack around.

Reptile -> Magic Beast
Reptiles are actually fairly common throughout the game, but hardly anything actually interacts with them, and it overlaps with Ice weakness a little. Most animal-type monsters except birds, fish and insects will go into this one, making it fairly common up until the Lunar Subterrane.

Mage -> Humanoid
Again, expanding this family to include human and human-like enemies such as Arachnes, Giants and Ogres. This family becomes almost ubiquitous now, almost every dungeon past Mt. Ordeals has at least one.

Giant -> Flying
Giants, along with Flans, were a very small family, so I chose this one to cut and replace with the Flying family to free up the Wind element. Just about everything with wings is part of this family, though it becomes somewhat less common as you go on. Creatures in this family were shifted to the Humanoid or Construct families, whichever made sense.

The Spirit family will be seeing some new and some not-so-new members too. Overall there should be a greater variety of monsters running around throughout the game, and more specialized weapons designed to take them on.

64
I hope you liked the siege! I wanted to make the battles more closely match the story, ie being pushed back and overwhelmed by an unstoppable army. Each encounter is supposed to be tougher than the last, except for the 6x Domovois which is a breather before the last fight. About the Treant battle, it was hard to come up with an enemy that was "out of your depth" yet still beatable, and vaguely humanoid. For the next time, they're vulnerable to Confusion which makes them petrify themselves. Once I implement the fixed Agility system, I'll be able to more freely include out-of-depth monsters without having them wipe the party before you get a turn.

I think I can make Edward's Auto-Hide disable during battles that can't be run from; will have to look into it.

Bomb Fragments et al used to have 3 power; now they have 6. That might be a bit too much, so I'll reduce them to 5. Hourglasses will be getting a nerf too; originally they lasted 50/100/200 ATB units, which is an absolutely ridiculous length for something that targets all enemies (Stop only lasts 10 ATB units for comparison). Something like 5/15/50 for Hourglass/Silver Hourglass/Gold Hourglass would be good, I think.

I think I'll wait to release the next version of the mod until it's up to Cagnazzo, or maybe the Magnetic Cave + Eblan castle.

65
For my magic weapons, I piggybacked off of the pre-existing system used for the Lunar Ruins weapons; it casts the spell normally, using the wielder's Intellect or Spirit. I hadn't realized the same thing was possible in the SNES version though on reflection I can see how you could edit the battle code so that certain weapons replace their physical attack with a spell. My version only allows for spells after the physical attack as yet.

This patch is complete through to the end of the Fabul battles, yeah. If it was just the Mt. Hobs stuff that was new it would hardly be worth releasing!

I managed to make Dwarven Bread into a Protect-casting item, which turned out to require some minor edits to these routines:

Code: [Select]
$06C1FC: Item usability routine (Field)
-Check if Item ID is 0xE6 (Dwarven Bread) - if not in dungeon, usable
-Check if Item ID 0xE5 (Emergency Exit) - if in dungeon, usable
-Because of these hardcoded checks, these two items can be considered usable regardless of what their item data says, which can crash the game if you remove their field effects and attempt to use them
-If not one of those two, calls:
   $06CE7C: finds item's entry in Item Data
        -Checks item's general data to determine if it is usable in the field

$08C562:
Applying Protect and Shell buffs:
-If at least one hit was successful:
-If spell ID =/= 0x5 (Protect), increase MDF by 3; otherwise increase DEF by 5

66
Just heads-up...I missed a few things in the last minute: in particular flyers weren't weak to arrows and lances, and there were some text mistakes from changing the Projectile element to Wind. Re-download the patch to fix those mistakes.   :sad:

67
Final Fantasy IV Research & Development / FFIVA Mod - Alpha 3
« on: August 06, 2015, 09:47:01 PM »
Alright, the patch up to Fabul is completed - download it here.

Most of the time in this one went into backend changes; for instance, any weapon can cast a spell after attacking, with its own chance of doing so and the option of making the spell bypass magic evasion and the boss bit. Only two weapons in the demo so far make use of it (both optional rare drops), but you'll be seeing a little more of them later on.

68
AFAIK FF4A has the same number of ability slots as the original (the Lunar Ruins commands like Dbl Jump, Miracle, Deadly etc share a slot with the commands they upgrade from), but it would probably not be too arduous to expand the number of possible commands.

I've finished up Mt Hobs and the Mom Bomb, but sorting out the item drops of Bloodbones has gotten me sidetracked towards recoding spellcasting items. In the base game, there are three weapons (Abel's Lance, Lightbringer and the Fiery Hammer) that can cast a spell to follow up a successful physical hit. Of course, these items are hardcoded by their item IDs to be able to cast a spell; not only that, the spell ID they cast is hardcoded, the spell formula to use is hardcoded, and the actual spell routine to use is hardcoded too!  :lame:

Abel's Lance in particular is notable for being able to proc Tornado on bosses; that's because the "was target hit?" byte is not reset from the physical attack preceding the Tornado spell, so even though it fails the Boss Bit check it succeeds anyway. So, I'm going to have to reinvent this system to make it more generalized.

69
I managed to fix the unarmed graphics bug; it turned out to have been caused by an edit I had made to weapon animation code to allow for more than 325 items.

While trying to make Cyclone usable by player characters, I also discovered that FF4 Advance has a system, completely unused, for making a spell with the default "Magical damage" formula vary its base power according to the caster's current HP. All spells in vanilla that operate off of caster HP use a simple Damage = CurrentHP / Divisor, modified by elemental attributes. By assigning a nonzero value to a spell's alternate damage byte, one can make a spell whose power is:
Code: [Select]
Power = Current HP / Alternate power
This has the distinction of factoring in the caster's Intellect and the defenders' magical defences.

70
For Solo hit spells, I referred to Deathlike's Algorithm FAQ; basically, spells with the Solo bit force the Magic Attack Multiplier and Magic Defence Multiplier to 1; it's used mainly for status spells, HP-based magic and other spells with similarly binary effects.

Poison preventing Paralyis being applied is a separate issue with status priority. The priority goes roughly like this:
Code: [Select]
Death -> Petrify -> Toad -> Mini -> Pig -> Silence -> Blind -> Poison -> Curse -> Float -> Paralysis -> Sleep -> Confusion -> Berserk -> Gradual PetrifyThough some statuses will ignore priority. I will fix that by the time the mod gets around to the Golbez fight (and it will be a fight!)

71
Still plugging away at this...mostly working on more ASM edits to the battle logic when I have time. One such edit makes units not evade spells cast by their allies unless that ally is Confused. Additionally, Cure/ra/ga/ja and Esuna will never be evaded unless the target is Undead. Before, player characters would never evade spells cast by player characters, and monsters would always attempt to evade spells, even those they cast on themselves. Antlion won't dodge his own Protect spells anymore!

Statuses inflicted by physical attacks have a different formula too; the success rate is now
Code: [Select]
(Attacker Int - Defender Spi + 70) out of 150...for each hit attempted. I want to try the same sort of thing for Solo hit status spells but haven't been able to come up with a formula that satisfies me.

Spells that inflict multiple status effects at once will no longer be thwarted by resisting just one of their effects. Equipping a Twist Headband will only stop Bad Breath from confusing you; you'll still be a blind mute poisoned toad.

The unarmed graphics bug continues to mystify me, even after stepping through all of the relevant ASM routines. As long as it looks fine for Cecil and Yang I'm content to leave it alone for now.

I hope to have a version in a few days - I have lots of ideas for the Fabul siege  :laugh:.

72
Board ate my last post, so I'll make this quick:

-I'll try to make the stages of Gradual Petrification visible somehow; I do want it to use the timer since it's otherwise not much to worry about.

-Not sure what to do with Dwarven Bread. Might make it into a rare Protect-casting item.

-Rare drops are a little more common than usual:
#1:    50% -> ~44.5%   0x8C10A 7F -> 72
#2: 31.25% -> 31.25%   0x8C12C CF -> C2
#3: 17.19% -> 18.75%   0x8C134 FB -> F2
#4: 1.652% -> ~5.08%

And Sand Worms have a base 15% chance to drop an item at all, owing to their rarity. So it's easier to acquire rare drops than it used to be.

Magic Beast is supposed to replace Reptiles, but I might make it into a "Flying" family instead, tie Arrows/Lances to that and free up the Wind element. Not sure yet.

Monsters in FF4A have their Defence/Evade/Evade M values stored in their own data, thankfully.

Do you think the Baron Soldiers battle is too harsh? I don't want a mandatory fight to require using the Hourglass since it is a missable item, and this battle must be fought before you can freely enter Kaipo. As for your question I did increase the Gil reward from the General  - it makes sense for a royal officer to be wealthy after all. Experience is untouched IIRC.

Phoenix Downs and Tents will not be sold for a while, so you will want to conserve them for now.

Cyclone (aka Monster Tornado) uses the caster's Current HP/2 for damage, but I might change it into a regular Wind-elemental spell for Edge to use. I'll also have to think about what to do with abilities that damage based on the target's Max HP (Flame, Piercing Laser, etc).

Vile Shells had 99 Magic Evade and 3 MDF multipliers, so they defended well against anything but the Rod magic. I've toned that down, since they've already got a counter to magic anyway.

Toadgres cast Toad in response to damage and MT Blizzara when alone. I have no idea why Cecil did 100 damage on an unarmed critical, but remember that monsters don't have back rows in this port. Zombies are immune to the Rod magic thanks to their 12 MDF.

I wasn't sure what to give Red Mousses and Sahagins that would be interesting and not overpowered. Originally Sahagins, Leshies, Gargoyles and Domovois had not drops due to appearing in scripted/Fabul battles (I assume that's why), so their drops had to be invented out of whole cloth.

Chocobo costs more MP since it pierces Magic Defence and ignores Magic Evade; I'll have to check if the other summons have the the same behaviour (I assume not, since Mad Ogres take little damage from them).

FF4A 1.1 fixed the Tellah/Edward bug I believe. I'm aware of the unarmed graphics thing, it's probably related to my repointing the weapon animation table. Should be an easy fix.

Agreed on the Yellow Jellies and Basilisks, I'll tone down their attack statuses. The Basilisk Paralyzing is a remnant of when they had no petrification abilities, but it's too much for an early game monster vs. three party members. The Yellow Jelly x4 encounter will probably be replaced with something else since it's almost a repeat of the Red Mousse encounter. I didn't consider that enemies in Antlion cave appear in fewer numbers than the Waterway enemies, so I'll adjust their xp rewards to compensate.

Edward's harps were, for some reason, not classified as Back Row OK weapons. Now that I've changed that Edward might be a little too close to Cecil damage-wise, so I'll be sure to tweak the harps' attack power.

Glad you had fun with Antlion, I enjoyed writing and designing his AI script. Here it is in full, for reference:
Code: [Select]
Condition: Status(Confusion){
No Interrupt:
(
Digestive Acid
Digestive Acid
Digestive Acid
Set Target: Self
Attack
Attack
)
}

React: Summon, Dark Wave, Condition: (HP < 550):
{Counter Horn, Counter Horn, Entangle}
React: Magic{
Shell
}
   Action Script:
Poison
{Glance, Digestive Acid, Attack}
{Restore,Restore,Protect}
{Slow,Slow,Attack}
{Attack,Vampire,Entangle}
{Attack,Digestive Acid,Attack}
Attack

73
Alright, here is the new version which includes changes up to Antlion, updated enemies in the desert and Underground Waterway, and a slightly tweaked Octomammoth.

Download
The OP has been updated with this link and will always be current from now on.

I've also started taking advantage of two-line descriptions for equipment to explain their properties ingame. Observe:


EDIT: Updated the download to fix a small bug: Antlion (and any boss) was immune to statuses applied by weapon hits due to a separate boss bit check; this check has been removed and so it is possible to apply Blind and Confusion to him.

74
That's the idea; playing FF4 DS, when I first entered the Tower of Babel I recall being a little put out at my party being wiped by a Flame Hound encounter before I could do anything.

I discovered two interesting details of FF4's battle mechanics while fiddling around with the Basilisk: Gradual Petrification has three stages, not two, and the Petrification timer only matters for this third stage - it still counts down but doesn't do anything. So for it to be lethal you need to sting your target at least three times before they can be petrified - and the timer itself is very long once you get up in levels. I'm going to change that so that each stage can be advanced to the next through the timer, which will be shorter too. It might be cause for concern now!

The other thing is that Edward's Salve/Heal command doesn't exactly use a Potion on your whole party; it subtracts a Potion but casts Cure instead. When I revamp Salve to scale better I'll have to figure out how that all works.

75
That's good to hear. I'll look forward to the next release then.

I'm still working on the Antlion battle, but once I have it finished I'll put out a new patch. The patch after that will cover up to Fabul or Mt. Ordeals. Difficult enemies will definitely be worth more exp and/or gil than they used to be to make them worth fighting. I don't want to make grinding necessary at any point, though it won't be pointless.

The prospective fixed Agility change would help there once I get around to it eventually; even if you're facing a tough boss ten levels too early, at least it won't be getting double turns on you.

Pages: « 1 2 3 4 5 6 7 »