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

Pages: 1 2 3 [4] 5 6 7 8 9
76
Ciao cloud90bk,
sì è un cambiamento che ho ereditato da Reunion (sulla quale questa mod è costruita) e che non ho rettificato, dato che appare la scritta Omni col numero di utilizzi rimanenti in basso a destra quando si porta il cursore su queste magie. Stessa cosa succede per Tetramagia.

77
FF9 Gameplay Releases / [FFIX] Balance Discussion / Mod
« on: 2020-03-27 22:45:44 »
Over this month, i've gathered some suggestions around the threads here and i've augmented them with my own findings in the last playthrough of the game.

Main goal of this post is to discuss balance in FFIX, aka change numbers and inner formulas without altering anything on the facade. Despite all the changes i've made, 99% of the descriptions of abilities and items haven't been touched at all.

I'll explore each section individually, analyzing the main issues and the solutions i've implemented:

Equipment:
- Full rework of the numbers, rebalanced around a simple concept: Progressing in the story should give better equipment than those found at an earlier point. Main issues:
- Robes are far too good and/or light armors are underpowered, especially endgame. White and Black Robe are massively overpowered. Glutton's Robe at least has "only" OP stats.
- Brave Suit's Fire boost is never used by Zidane and Amarant -> Fire Immunity (Vir's mod)
- Masamune is made through Orihalcon but it's weaker.
- Dragon's Hair invalidates half of Freija's weapons, acquired that early. Fixed that, Holy Lance is next, albeit minor.
- Rods and Flutes are completely invalidated by Rackets
- Jewels being equippable but giving zero stat boosts.
- Overall rebalance of stat boosts. Each chara now has at least 2 weapons with stat boosts.

Shops:
- Some buyable pieces of equipment become unavailable as the game progresses and some of those are required in crafting. -> Now those are also sold by other, permanent shops.

Character Stats
- Minor: Lv1 stat rebalance, coupled with equipment stat bonus rebalance to reach uniform numbers at lv99
- True Lv1 Challenge / Perfect stats: 0 exp from Dantarian, Red Dragon and Pandemonium fixed encounters

Support Abilities
- Cost rebalanced around the actual worth of the skill. Most of it came from Vir's mod.

Abilities
- Swd Mag are A LOT weaker than Sword Arts despite restricting team comp. -> Swd Mag are now multiplier based (like thunder slash and cherry blossom) and i've nerfed a bit the knight's sword skills. Flare Sword must be stronger than Shock or there's no point in sword mag.
- Holy L4 is massively underpowered (Vir)
- White Wind can be buffed (maxhp/2) and Curaga nerfed a bit (down to 88, too efficient)
- Lucky 7 is too unreliable. Make 7777's chance depend on Zidane's level
- Jump is bad and actually becomes weaker with Trance. -> Made it a physical strike, so boosted by trance, berserk and by x1.5 from High Jump. Also takes the element of the weapon. Removed added randomness in the Trance version.
- Dragon Breath is either useless or a boss destroyer. Should have it's power halved or more, and its MP cost reduced.
- Six Dragons is unplayable -> Now it's single target
- Dragon's Crest scales too fast: made it FreyaLevel * Dragons Killed, like Frog Drop.
- Overall MP cost rebalance: for example Cherry blossom is very overcosted
- Most of Vir's changes regarding hit chance for status inflicting spells.

Summons:
- 60 to 80% of their power comes from the Inventory (or eiko's level). I'd reduce or cap the bonus and increase base power
- Boost removes short animation penalty without forcing full animation everytime (less boring, mitigates a bit Regen's OPness)

Battle Calculations
- Physical Strikes (Shock) take the element of the weapon but said element can't be boosted through equipment: fixed, now it's possible
- Thunder slash glitch fixed, now it's a regular magical weapon skill

Treasures and steals
- Steal from Ark: Holy Lance -> Bistrofork
- Steal from Earth Guardian: Rubber Vest -> Power Wrist
- Most of Clem Fandango's changes to Chocographs with some tweaks, like Gold chocobo available only in disc 4
   - Dragon's Hair -> Obelisk (Oeilvert Crack)
   - Gauntlet -> Defense Gloves (Oeilvert Crack)
   - Defense Ring -> Rebirth Ring (Ice Continent Crack)
   - Oak Staff -> Magician Shoes (Azure)
   - Magician's Robe -> Silk Robe (Azure)
   - High Mage Staff -> Octagon Rod (Red)
   - Kaiser knuckles -> Priest's Racket (Red)
   - Light Robe -> Coronet (Blue)
   + Rebirth Ring -> Defense Ring (Gold)
   + Potion x33 -> Dragon's Hair (Gold)
   + Priest's Miter -> Light Robe (Gold)

Skills Learned:
- Black Robe: Flare -> Death (either this or move both of them to disc 4)
- White Robe: Holy -> Dispel
- High Mage Staff: Osmose -> Flare
- It's also safe to remove a few Auto-Regens (there's a ton of them) and assigning them to rarer Abilities.

To Do List:
- Basic attack is probably too good with all those cumulative multipliers: Killers, MP attack, Berserk...
- If nerfing the above, consider making killer applicable to physical skills, as well as row penalty: to avoid having all characters stay in the back spamming skills safely.
- Accuracy+ shouldn't powecreep Bright Eyes
- Haven't touched enemies, except tweaking a bit their categories. Example: too many fliers and why isn't Mu a beast?

Google Spreadsheet with numbers: https://docs.google.com/spreadsheets/d/1wtX-cAgIbDEFcslSd1m46I3LtV9nS_m3

Credits:
Clem Fandango's Mod: http://forums.qhimm.com/index.php?topic=19499.0
Vir's Mod: http://forums.qhimm.com/index.php?topic=15217

Conclusion:
Those are the changes i've implemented in my modded game. Let me know what you think of those and if there are more overpowered or underpowered / never used aspects of FFIX.

78
Reporting back after talking with TehMighty, in case you're interested.

The "Spirit value x position bug" is fixed by creating a new class inside EquipUI, like this.

Code: [Select]
    public class FixSpiritSkillNumberLabelPos : MonoBehaviour
    {
        void Start()
        {
            transform.localPosition = Vector2.right * 292;
        }

        void OnEnable()
        {
            transform.localPosition = Vector2.right * 292;
        }
    }

And using it inside ParameterDetailCompareHUD, like this:

Code: [Select]
public class ParameterDetailCompareHUD
    {
        public ParameterDetailCompareHUD(GameObject go)
        {
            this.Self = go;
            Int32 i = 0;
            Int32 num = 0;
            while (i < 10)
            {
                if (i != 4)
                {
                    this.ParameterLabel[num] = go.GetChild(i).GetChild(1).GetComponent<UILabel>();
                    this.NewParameterLabel[num] = go.GetChild(i).GetChild(3).GetComponent<UILabel>();
                    this.ArrowSprite[num] = go.GetChild(i).GetChild(2).GetComponent<UISprite>();
                    this.ArrowTween[num] = go.GetChild(i).GetChild(2).GetComponent<TweenAlpha>();
                    num++;
                }
                i++;
            }
            //This is the added line of code
            NewParameterLabel[3].gameObject.AddComponent<FixSpiritSkillNumberLabelPos>();
        }

        public GameObject Self;
        [...]
    }

Another minor graphical bug i discovered involves the "Remove Equipment" submenu. Parameter changes aren't displayed for the very first piece of equipment the arrow points to, but only after to press up or down to switch to another one. Fixed by adding this.DisplayParameter() here:

Code: [Select]
public override bool OnKeyConfirm(GameObject go)
{
bool flag2 = base.OnKeyConfirm(go);
if (flag2)
{
bool flag3 = ButtonGroupState.ActiveGroup == EquipUI.SubMenuGroupButton;
if (flag3)
{
this.currentMenu = this.GetSubMenuFromGameObject(go);
switch (this.currentMenu)
{
case EquipUI.SubMenu.Equip:
case EquipUI.SubMenu.Off:
FF9Sfx.FF9SFX_Play(103);
ButtonGroupState.ActiveGroup = EquipUI.EquipmentGroupButton;
ButtonGroupState.SetSecondaryOnGroup(EquipUI.SubMenuGroupButton);
ButtonGroupState.HoldActiveStateOnGroup(EquipUI.SubMenuGroupButton);
this.DisplaySubMenuArrow(false);
this.DisplayEquiptmentInfo();
// Line added here
this.DisplayParameter();
break;
case EquipUI.SubMenu.Optimize:
[...]

79
Tested it myself after reaching that part of the game:
I have a Mountain Chocobo, 4 Chocograph Pieces, 16 Chocograph, missing Green Plains, and Mene tells i can't find anymore.

EDIT: But it keeps telling me i can't find more after getting HG3, even though i actually can (and just did), so gotta fix it.

Paste updated to fix bugs.
https://pastebin.com/mYThL3tF

Also this time i wrote only Main_Loop since it's the only function updated, and wrote comments in the changed parts

80
Assicurati che i file vengano sovrascritti. Aggiornerò il primo post con una guida all'installazione.

81
Thanks again Tirlititi!

The transform.localPosition worked somehow, but the best result i managed to achieve is fixing the position every time but one: the very first time it's displayed after a reset it's in the wrong position (x=288 instead of 292). I asked TehMighty just now cause maybe a more permanent solution (finding the actual transform file related to that) is needed.

82
https://imgur.com/a/WvbXtHI

I've noticed this minor issue in the equipment UI. With dnSpy i found the code portion that handles this section (EquipUI, mostly within DisplayParameter), but there's code for everything bar positioning (the ones that activate it, ArrowTween for the flashing of the arrow, colors...).

Dunno if a vector with absolute values exists somewhere or if there's an iterator that's supposed to align those numbers either.

83
Clem thank you for talking about the Mene issue. To fix it, try dumping all the field scripts, with comments for readability. Then look for the dialogue that Mene says when there are no chocographs to be found. You'll see a few boolean vars like Chocobo_NoFindChocograph and Chocobo_NoMoreChocograph around there, used to trigger the dialogue.
Those must be coherent with the changes we made.

EDIT: The link below is the modified script for Chocobo Forest that should work with your mod (and mine: i applied the same changes to chocograph avaliability as you did). Since this comes from an italian script, compare it to yours and apply the changes i made. Also, remember to apply the very same changes to Chocobo Lagoon and Air Garden's scripts. That entire portion of code is repeated among all three. If you happen to make some tests, please let me know how it goes.

https://pastebin.com/6z1f4KZM

84
This is what i came up with for Jump. A physical strike (thinking of atk mul of 1.3) that is boosted by Trance, Berserk, and by High jump (by 1.5 just like throw) and takes the element of the weapon. Funny how Freya's Jump actually became weaker with Trance despite being its main focus.

Code: [Select]
case 48:
case 83:
btl_calc.CalcSub_13A(calc_VAR);
btl_calc.CalcSub_141(calc_VAR);
btl_calc.CalcSub_143(calc_VAR);
btl_calc.CalcSub_151(calc_VAR);
if ((caster.sa[0] & 2097152U) != 0U)
{
calc_VAR.at_num = (short)(calc_VAR.at_num * 3 >> 1);
}
if (prog_no == 48)
{
if (btl_calc.CalcSub_152(calc_VAR))
{
btl_calc.CalcSub_203(calc_VAR);
}
}
else
{
if (btl_calc.CalcSub_152(calc_VAR))
{
int num14;
if ((num14 = (int)(calc_VAR.at_pow - calc_VAR.df_pow)) <= 0)
{
num14 = 1;
}
CALC_VAR calc_VAR33 = calc_VAR;
calc_VAR33.tg_flags |= 1;
if (calc_VAR.at_num < 4)
{
calc_VAR.at_num = 4;
}
int num15 = (int)((long)(num14 * (int)calc_VAR.at_num) / (long)((ulong)btl_util.SumOfTarget(0U)));
if (num15 > 9999)
{
num15 = 9999;
}
if ((calc_VAR.flags & 8) != 0)
{
calc_VAR.tg_flags |= 2;
}
calc_VAR.tg_hp = (short)num15;
}
}
break;

Also i want you to look at this 2 lines of case 19, Physical Strike:
Code: [Select]
btl_calc.ApplySpellElementBoost(calc_VAR);
if (btl_calc.ApplyWeapElement(calc_VAR))
{ [...] }

Dunno if elemental physical strikes exist, but doesn't this mean that the spell uses the element of the weapon for the sake of weaknesses/freeze/heat whatever and the element of the SPELL (not the weapon) for the sake of elm. boost alone?

Aka, an Excalibur II powered Shock will deal improved damage agains enemies weak to holy, BUT non-boosted damage if Steiner is equipped to boost Holy. But if we make Shock, dunno... Fire-elemental, Shock will deal improved damage against enemies weak to Holy (Excalibur II) AND if equipped to boost Fire.

Sounds like an oversight to me, like the first line should be ApplyWeapElementBoost instead of ApplySpellElementBoost.

85
So i'm right and jump is rendered completely worthless by... anything, like a killer ability. Unless they stack somehow.
Don't worry though, i'm comfortable with comparing changes and with the resources you provided i can change jump however i want. It's pretty easy to figure it out.

86
Good news then, i was misled by Hades Workshop's effect description. Psysical strikes have a [Atk * Mul - Def] in their formula description, while Spear has a Mul * [Atk - Def] formula (description only).

Issue with solution 1) is that High Jump becomes useless. dnspy sounds exactly like what i need, i had already found spear and trancespear in Memoria Engine's source but with that tool i can even study your changes.

87
Sorry to bother you again, but i was looking at command formulas and... isn't Jump very weak? Assuming same atk, def and multiplier, multiplying the attack (like shock, free energy etc) is better than multiplying [atk-def] like jump does.

Moreover, Power Jump grants only a minor improvement (x1.33) compared to something like power throw (x1.5 + vs. aerial bonus + berserk bonus) and is acquired similarly late. Also dunno what to think about the increased randomness in Trance Jump but i'll see that later.

What do you think, considering you didn't really change Jump in your mod?
Also, if i were to change it, could you please tell me where to look for among the CIL code section?

88
Both the CTRL+Q quit and Quit in the main menu were removed by DLPB's Reunion. I managed to restore the latter.
About your other report in Rinoa's forum, it was a known compromise from an even worse bug. Latest version removes the bug completely, but command box size is now fixed at max lenght, just like vanilla.

89
Thanks, did it!

90
Hi. I was wondering... how did you change the contents of chocograph trasures? I tried dumping World map script from the vanilla game and a DBE patched one (from HW) and they're identical...


EDIT: Nevermind, looks like i forgot to paste a few files, now they're different.

EDIT2: I managed to document all the treasure changes, one thing i still don't know is how you made some chocograph's available later. Is it in the field script?

91
I'm sorta working on a rebalance myself and yesterday i realized the very same thing about the Holy Lance i'm only reading here now. Already downloading to look at the detailed documentation.

93
Daguerreo is still a big boost in equipment. I just made Esto Gaza a bit closer to it and distanced more those earlier.

For example, using steiner's weapons, vanilla is Disc2 35, Blue Narciss 38, Oeilvert 42, Esto Gaza (after Desert Palace) 46, Daguerreo 57. Now it's 35-40-44-51-57. Smoother.

94
Quote
Would you say the main value of the rebalanced attack values is so that the attack values themselves make more sense internally?

Weapons, yeah. No other option exists when you rebalance them so it's all about having consistent and comparable progression with other character. Maintaining some sort of power ranking. For example the huge jump between Esto Gaza (after) and Daguerreo doesn't make much sense since they're basically accessible at the same time. That's why Flame Saber and co were boosted that much.

Armors are another thing. Robes were outright invalidating a huge chunk of the light armor options.

BTW i haven't considered max stats number when balancing. I do know how high mag+str gets on mages but i have ignored it. Balacing with such an extreme case in mind would yeld bad results of all the "average" playthroughs. Also strange that Zeus can deal damage as high as Rods and Flutes, since the latter are elemental now.

I will probably have a better idea for these numbers when i reach the endgame with my "average" playthrough so i can see the actual stats.

Daggers are still str only.

95
Dunno why stat set 80 is different, i made a point of not changing anything there. At most i'd swap stat set itself on the equipment like the steepled hat (which is a mage's hat so got changed to +1 mag for flavor).

Golden Skullcap vs Circlet male/female only is again mostly for flavor since they're both endgame and their abilities aren't unique at all.

BTW if you have time to talk about it send me your discord (if you have it) in PM, it'd be much easier to talk about it that way

EDIT: looks like the stats.csv is a leftover that has already been reverted in the actual game files cause i don't see any difference in stat set 80 in both my mod and vanilla from hex workshop.

EDIT2: I figured it out... Stat sets are off by one. So 80 is actually 81 (Brave Suit) and that change is yours: From boosts fire to immune to fire.

97
A csv is basically a spreadsheet saved in txt format. Any decent excel-like editor is supposed to open a csv file with data properly formatted into columns (separated by ";" in this specific case)

98
Oh, good to know, I took the chance to update the rar again. I'm still making minor tweaks to numbers as I go, but the big change from yesterday is how i decided to address the flute/rod vs racket issue.

Instead of your mag+2 approach i decided to boost staves, rods and flutes to have higher atk than rackets (55-50 range) and use the magic formula (just like spd and spirit weapons but uses magic instead). Given that another issue of the imbalance is the fact that rackets can be wind-boosted, i gave whale's whisker water and angelic flute holy. Since magic is usually MUCH higher than spd for those characters, it should compensate somewhat the fact that they require the front row.

As for shops, i just readded some permanently missable weapons to late game shops, like the Chain Mail i mentioned.

99
https://drive.google.com/file/d/1ev0qwBlKBa5zjexQM3aSwjOxeC5023pz/view?usp=sharing

You'll find both csv exported from my mod and those from the vanilla game, all you have to do is a diff of the folders, or open files up in excel

In 99% of cases, only numbers i've touched are atk, price, def, mdef, eva and m.eva. No stat bonuses other the ones you changed (ditto for elemental resistances/boots) and the steepled's hat (changed from +str to +mag), no changes to addons (and i don't plan to). I also made Circlet mage-only, golden skullcap male only and made Silk Robe and Mage's robe craftable earlier, from Treno and BM village respectively (no need to delay them so much since they are easily acquired through other means anyway). Vanilla prices are more often than not the guiding hand in balancing those stat totals since they faithfully tell when a certain item is first acquired.

PS: Still ongoing as i haven't done armlet and gauntlets yet but it's gonna be very straightforward. a bit more skewed towards m.eva the former, and a bit more towards physical eva. the latter. Also current numbers are likely to change after hearing your opinion but this is more than enough to show you my design idea.

EDIT: RAR Updated with arm protections changes

Another thing worth considering: items required for crafting that become permanently missable as you progress through the game. Chain Mail is an example, required for Power Belt

100
I want it to outclass Feathered hat: it's acquired later (dali vs lindblum) and costs more. True progression for those follows vanilla prices, with +1 total defs for each one from leather hat to Magus Hat.

Robes are a much more pressing issue BTW. If you're interested when i'm done with it i can upload the CSV from hades workshop, they make comparisons easy.

EDIT: another easy to spot issue: dumb jump in def for the last 3 heavy armors and last 2 hats

Pages: 1 2 3 [4] 5 6 7 8 9