Author Topic: Red XIII's Lunatic High special effect (Def% increases)  (Read 8422 times)

Armorvil

  • *
  • Posts: 621
  • Working on : FFVII Total Grudge
    • View Profile
Lunatic High is a Limit skill that casts Haste on all party members, and increases Red XIII's Def% by 50 multiplied by the number of living party members. This is mentioned in Terence Fergusson's Party Mechanics FAQ.

With this knowledge in mind, I thought at first that the byte responsible for this increase of evasion was additionnal effect #16 (in both Wall Market and Libre). The one labeled as "Gives party members status []?". Since Haste is given to the characters the "normal" way, I assumed that the description given by NFITC1 and Bosola was somehow wrong. Besides, my logic told me that it should work in the same way as additionnal effects #15 (=Hero Drink) and #1C (Dragon Force), meaning that the effect modifier of 150 (that you can find under Libre's Lunatic High effects) was to increase a certain stat by 50%. Which Lunatic High does, if you overlook the bug that makes Red XIII benefit from the other characters' bonuses.

So I thought "hey, why not create a magic/enemy skill, in my mod, to annihilate an enemy's Evade stat ?". So I decided to test my idea by giving the Fire spell this #16 additionnal effect, and by putting 1 as its modifier. Logic told me it would decrease an enemy's evade by 99% - good enough, I thought.

Then, I proceeded to give a random enemy an evade stat of 255 with Hojo, and I launched the game. Fought the enemy, couldn't physically hit it of course, and casted Fire on it. To my big surprise, the monster was as hard to hit as before, though. Unless I'm very unlucky to miss an enemy that has only 2 or 3 Evasion points 10 times in a row, that means that both my logic and my assumptions were wrong (what did you expect ?  :-P). And now, I gotta apologize to Bosola and NFITC1, for doubting their comments about effect #16 in their utilities  ^^;.

So, all this means that something else gives Red XIII's evasion bonuses, in Lunatic High. Any idea what it is ?
« Last Edit: 2010-07-26 21:38:45 by Armorvil »

Bosola

  • Fire hazard!
  • *
  • Posts: 1752
    • View Profile
    • My YouTube Channel
Re: Red XIII's Lunatic High special effect (Def% increases)
« Reply #1 on: 2010-07-26 21:38:08 »
The special effect 'give party member status []' is used in both Lunatic High and Howling Moon. In the case of Howling Moon, it grants a dex bonus and Berserk.

We don't know which numbers have which effects, but I'm almost certain the ones you see used in limits are the only ones available. They're 'scripted' rather than 'modular' - they invoke specific sections of code that do X or Y, rather than grant one of a list of pre-determined statues etc (as is suggested by the fact each effect makes multiple changes on quite different stats and flags. It can't be that the byte is actually a compound of two nibbles, because there are more than 16 status effects and a larger scope of stat changes than 16 too).

The fact that Red's evasion goes up by 50% is, I'm told, accidental - three bonuses are applied to Nanaki, due to issues with the code. NFITC1 would be in the best position to show you the code sections.

If you want to nerf evasion with a spell, you'd need to do it via AI scripting.

Code: [Select]
Script: General Counter
- IF last attack was in scope (00 for command, 01 for spell, 02 for summon IIRC) AND of ID (spell ID to reduce evasion), THEN
-- Push my evasion to the stack
-- Multiply by X, divide by Y (x=3, y=2 to boost evasion by 50%)
-- Push the address of my evasion again
-- Store the result of my equation in evasion
-End of script (73)

You'd need to paste this into *every* enemy's gen. counter script, however.
« Last Edit: 2010-07-26 21:41:04 by Bosola »

Armorvil

  • *
  • Posts: 621
  • Working on : FFVII Total Grudge
    • View Profile
Re: Red XIII's Lunatic High special effect (Def% increases)
« Reply #2 on: 2010-07-26 21:50:34 »
Thanks a lot for your insight, Bosola  :D

Howling Moon uses Additionnal Effect #17. Not sure what the differences between #16 and #17 are, though.

So, the modifier of 150 basically means "increase Red XIII's evasion by x amount", huh... ...I wonder if entering different values would cause different effects... ...I'm gonna try some things and tell you if I find something.

And thank you for managing to implement my idea through AI. This rocks ! ;D I should learn how to edit AI like you, someday. I can feel in my bones that Rebirth is gonna be fantastic ^^ (I'm also putting all my energy into making FFVIIAV a new and exciting experience :) )
« Last Edit: 2010-07-26 21:56:10 by Armorvil »

nfitc1

  • *
  • Posts: 3011
  • I just don't know what went wrong.
    • View Profile
    • WM/PrC Blog
Re: Red XIII's Lunatic High special effect (Def% increases)
« Reply #3 on: 2010-07-26 21:55:41 »
I'm going to mark this to remind myself to look back over the code to see what the special effects do. I've been wondering that for a while if there are any unused ones. Not likely, but there IS code for a half acc in the battle arena slots so there's still hope.

Bosola

  • Fire hazard!
  • *
  • Posts: 1752
    • View Profile
    • My YouTube Channel
Re: Red XIII's Lunatic High special effect (Def% increases)
« Reply #4 on: 2010-07-26 22:14:42 »

So, the modifier of 150 basically means "increase Red XIII's evasion by x amount", huh...

No - I mean that 'change character status' alters a variety of stats and flags. Which combination of stats and flags it changes depends on the number you put in. 150 refers to haste and evasion, 160 dex and berserk. 112 could well mean give Red MBarrier, boost his Vit, drain his Dex and double his HP. 113 might mean turn Red into a frog. It's not a case of the effect changing a group of stats in ways determined by the number - rather, the number selects disparate groups of arbitrarily defined changes.

Playing with the effects is doable, but I don't think you'll find much. Decompiling might be quicker, I guess...


Quote
And thank you for managing to implement my idea through AI. This rocks ! ;D I should learn how to edit AI like you, someday. I can feel in my bones that Rebirth is gonna be fantastic ^^ (I'm also putting all my energy into making FFVIIAV a new and exciting experience :) )

AI is a really important tool in a modder's arsenal, but many modders misunderstand it. They either think

a) it does nothing but randomly select attacks
b) it can change everything, inject code into the graphics engine and make the PSOne sprout wings and fly
c) it's weird and scary, don't even look at it.

All three are very, very wrong.

If you're modding the PC version, AI alteration is especially relevant, because you don't have to worry about the size of the SCENE.BIN (well, you can get around that on the PSOne too, but it's harder). So, you could probably copypaste quite elaborate counter scripts across all enemies to 'invent' complex spells and status effects. The only issue is that the code needs to be run-able within a single frame, which wouldn't be an issue if the machine was potent enough.

You'd create status effects by having a creature add the active bits of TargetMask:Self to a BattleVar, then check the same bit to 'activate' status effects during the main script. You could then have the creature apply a Str modifier of -50% whilst in 'fear', for example, and deactivate this 'fear' status (removing the relevant bit from the BattleVar target mask) after, say, three turns. That would be doable in AI.

Also, I'm glad that you're looking forward to Rebirth.

Armorvil

  • *
  • Posts: 621
  • Working on : FFVII Total Grudge
    • View Profile
Re: Red XIII's Lunatic High special effect (Def% increases)
« Reply #5 on: 2010-07-26 22:36:00 »
Quote
No - I mean that 'change character status' alters a variety of stats and flags. Which combination of stats and flags it changes depends on the number you put in. 150 refers to haste and evasion, 160 dex and berserk. 112 could well mean give Red MBarrier, boost his Vit, drain his Dex and double his HP. 113 might mean turn Red into a frog. It's not a case of the effect changing a group of stats in ways determined by the number - rather, the number selects disparate groups of arbitrarily defined changes.

Playing with the effects is doable, but I don't think you'll find much.

Actually, I found something, and my logic wasn't so wrong in my first post. You see, additionnal effects #16 and #17 indeed do work like #15 and #1C. The difference is, the effects don't appear on the target but on the caster.

Giving the Fire spell the Howling Moon's effects made the caster get an increased strength (and only strength - the character gets neither Haste, nor Berserk)  - and this increase is dependant on what you put into the Effect Modifier. This is why Howling Moon increases Red XIII's attack power by 60%, since its modifier is 160.

Same thing about additionnal effect #16 - my mistake was to think that the Fire spell would lower the Adamantaimai's evade, when in fact, it lowered Tifa's (the caster's). So a working description for additionnal effect #16 would be "raises the caster's base evade by ([] - 100%), result not to exceed 100", while a working description for additionnal effect #17 is "raises the caster's base strength by ([] - 100%), result not to exceed 100".
« Last Edit: 2010-07-26 22:57:48 by Armorvil »

Bosola

  • Fire hazard!
  • *
  • Posts: 1752
    • View Profile
    • My YouTube Channel
Re: Red XIII's Lunatic High special effect (Def% increases)
« Reply #6 on: 2010-07-27 08:29:53 »
Interesting. Now for the obvious question - what controls the other status effects the limits give? They aren't inflicted normally.

I'm guessing there's some script linked to Red's limits, just as there are to Vincent's. All Vincent's limits do is turn on the main script and start a transformation - something else takes care of his stat changes. I'm willing to bet something very similar happens with Red and haste / berserk.