View Full Version : Quake, Aero, Float, and ------

07-19-2013, 11:41 PM
First off, I'd like to apologize in advance for this being only slightly related to FFC.

So I've been playing Final Fantasy I on its GBA version again, and it's been making me reconsider the series in general. Particularly, it made me think about FF6's GBA iteration and the 'dungeon filled with dragons' that serves as bonus content. Now try to stick with the insanity that is my brain connections, because that led me to consider the revamped Earth Dragon in said dungeon who casts 'Megaton' and then 'Quake' whenever a character has the 'float' status to avoid his damage. The first spell cancels Float, and the second, well, it ruins your party.

Anyway, Final Fantasy has long held a tradition that flying characters are immune to earth-based elemental attacks, and yet there has never been ample exploration of their vulnerability to air-based attacks. Since, in the FF system, Earth and Aero are opposite elements (as Fire and Ice are and Bolt and Water are), it seems reasonable that they should have opposite effects.

So I came up with this:

There are two incompatible status bumps, called Float (the one we know) and Anchor (which is new). When boosted with one and subjected to the other, they cancel each other out. But here's the interesting part:
A character that is under the effects of Float takes no damage from Earth attacks, but double damage from Air attacks.
Conversely, a character under the effects of Anchor takes no damage from Air attacks, but double damage from Earth attacks.
This also gives the player reason to cast one or other other on an enemy, to make a follow-up attack more devastating. Hey, even certain enemies might cast one or the other on the party for the exact same reason.
If I were to build my own FF game, I'd definitely incorporate something like this.

Anyway, that's my insanity for the day.

07-20-2013, 05:21 AM
Yay! Somebody makes interest for discuss! In Soviet Russia Elements cast you!

Yes, I think states, status, and elements should be able to affect each other (In fact they already can). Other examples could be Freeze and Burn, where freeze adds slow and makes it so a critical hit shatters the player, and maybe burn cancels it out as well.

I also want to take those kinds of ideas a step farther also - and implement all these types of couplings to work with passive abilities, equipped item factors, attacks, and spells too. For example: a passive ability like "levitate" would always override the "anchor" effect, so if fighting the Earth Dragon you can equip accessories with the factor "Levitate" so it cannot be canceled. As you can imagine this gets complicated really fast. :) Of course as the actor script classes get done it'll just sorta work itself out. Example: in "CalculateSpellDamage(caster, spell)" you can just check for states that would modify or cancel (or reflect, or absorb, etc..) the damage.

It's actually up to revision 216 now (I'm just very bad at keeping up with what is done). I've just been busy lately and am still stuck on getting the GUI and Particle System classes done first.

I always like to hear new ideas as well.
What about this: Float vs. Lightning!? What happens when the player isn't grounded??

07-20-2013, 03:13 PM
Hmm... I feel it might be a good idea for each state to offer an advantage and a disadvantage along with the elemental adjustment, to give players more reason to consider or refrain from using them.

Float-> Ignore Earth Damage, Double Air Damage. Evasion rate increased, but take more damage from physical attacks.

Anchor-> Ignore Air Damage, Double Earth Damage. Regen health each turn, but evasion rate reduced.

Frozen-> Ignore Ice Damage, Double Fire Damage. Suffer as if slowed (fewer attacks in FF1, impaired APB in other games), but take less damage from magic. Slow effect is not as severe as actual slow.

Ignited-> Ignore Fire Damage, Double Ice Damage. Hostiles take damage when attacking the character, but the character suffers damage each turn as if poisoned.

Soaked-> Ignore Water Damage, Double Bolt Damage. Recover a small amount of MP each turn, but hit rate is reduced as if blinded.

Charged-> Ignore Bolt Damage, Double Water Damage. Prosper as if under Haste (more attacks in FF1, improved APB in other games), but magic attacks inflict more damage to the character. Haste effect is not as beneficial as actual haste.

...That didn't turn out as good as it sounded in my head. ...Maybe...

Float-> Ignore Earth Damage, Double Air Damage, Half-Again Shock Damage (not grounded)

Anchor-> Ignore Air Damage, Double Earth Damage, Half-Again Water Damage (Tsunami hits harder when you can't go with the flow)

Frost-> Ignore Ice Damage, Double Fire Damage, Half Water Damage (protected by the cold), critical hits cause instant KO (shatter)

Ignited->Ignore Fire Damage, Double Ice Damage, Triple Water Damage (But ends effect), lose HP each turn

Soaked->Ignore Water Damage, Double Bolt Damage, Half-Again Ice Damage (Turns effect into Frost)

Oil->Triple Fire Damage, Ignore Water Damage (also ends effect)

Now I'm just blathering.

I did have a separate idea that combined the 'silence' and 'toad' ailments.
Toad causes all the character's stats to drop to laughable levels. Silence blocks off certain abilities (usually the Magic menu). Combined, you could create a 'migraine' ailment that both blocks magic abilities and severely hampers Magic traits (Intelligence, MDefense, and MEvade).

This can easily be extended in the other direction to create a 'sprained' ailment that blocks physical abilities (Fight and Character Special, IE Blitz or what have you) and severely hampers Physical traits (Strength, Defense, Evade).

Anyway, I think with free-form scripting as an option we can have a lot of fun tweaking the established status effects of the FF universe. Since any status effect boils down to a label and a reaction, we could even do crazy things like "Bahamut Cannon" that causes the character to summon Bahamut in response to every attack levied against them! ...Obviously you wouldn't include something like that in a serious game, but it might be funny in a joke adventure.

07-20-2013, 04:27 PM
Yeah, this is why I realized that status effects, passives, and states needed to be separate - 20 status effects would be a lot, but you could have literally hundreds of passive abilities and states. The disambiguation I used is status attacks can have a to-hit and defend rate as a variable attribute. It's still a bit messy but it's workable.

How are you with rpg maker? If you can imagine the Battler class it's likely to be similar to that. The scripting is in and works great but I haven't had time to work on any of the scripts. What's there is just the most basic shell around the cpp code so far. Example: http://code.google.com/p/catastrophe/source/browse/trunk/Rpg/data/scripts/Combatant.h

If you want to help design or script the base script classes you're welcome to try.
...Of course I really need to get a GUI in first. Thank god I already got in bitmap fonts and put together a good looking FF1 GBA font. Right now time is the enemy.

07-20-2013, 05:24 PM
I don't think I'm a good fit for that job; my scripting is sloppy at the moment and I don't have any real experience building things from scratch. Most of what I've been able to accomplish with ZScript is based off the strongly annotated documentation.

I will be taking an introductory programming class in the fall, and--if I connect with the concepts--possibly move into a C++ class to focus on that language in particular (I like what I've seen so far in C). Until then, though, I think it's better if I stay away from the scripting side of this project (lest I accidentally make the cat huge or something).

08-02-2013, 04:12 PM
Some of these ideas remind me of a system I worked out long ago.

Since the monsters and characters could be either living or robotic/mechanical, I had some states that varied depending on the target's type:

Banished: The character is sent to another dimension. Death does not override this particular status. The only way back is to have another character cast a spell to bring the character back or to have an NPC cleric to do it for you. This completely removes a character from the party.
Doused: The character is vulnerable to fire damage. If the afflicted is attacked by a fire elemental spell, weapon, or attack it will do double damage. This overrides any protective gear that the afflicted may have.
Engulfed: The character sustains fire damage (modifiable by armor weakness, absorb, etc.) for a period of time. The character can make no actions during this time, except for Drink or Item. Water spells can cancel the status.
Greasy: For machines (including cyborgs) and characters with Magitek armor, greasy has no ill effect. Otherwise, greasy causes the afflicted to have their weapon strength lowered by 2/3 and their chance to hit is cut in half. Also, their physical evasion is increased by 25% since they are so slippery.
Gritty: Only affects machines. Gritty causes lowered speed and evasion. Also, eliminates chance of critical hits. Wind spells can cancel the status.
Limbo: The character is in an indeterminate state, similar to Banished, but recoverable. The character has 0 hit points, and is uncontrollable. Fight is targeted at a random enemy, but if magic is chosen, spell uses Roulette targeting instead of normal targeting. The item command is locked out, and special attacks target the allies of the afflicted.
Locked: All commands, other than Fight, Magic, Item, and Mimic, are disabled.
Stunned: Character is stunned, and their battle gauge is reset, and that action is lost. Each new turn, there is a 50% chance of recovery, otherwise that turn is lost also.
Tangled: Works just like slow (level 02). The difference is it wears off after a short period of time.
Tiny: The character is small. Derived stats are all considered to be 0. Attack and defense suffer.
Trance: The character is meditating. For one turn, the character tries to restore his/her magic points. If not physically attacked, then the trance will not be broken. A number of magic points = ((Max MP/256) * (Level/8) * [224..255] / 256) + 1 will be awarded. If this is less than 5, set it to 5 points instead.
Wet: The character is soaked with water. This grants a short immunity to fire, as well as a weakness to bolt and ice. This overrides any other armor-given elemental properties. Wet status removes gritty and doused but not greasy. After a short time (12.8 seconds or so), the wetness disappears. Wind-elemental attacks will also remove wetness.