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

Pages: [1]
1
Releases / Re: [FF8PC-Steam] BattleFieldPack v2.0 [NEW]
« on: 2020-07-26 18:28:35 »
Adding onto Steve's post, I tried to download as well and it won't start, keeps saying Temporary Error, retrying and doesn't download

2
Hey Callisto,

Just wanted to give you a heads up that the download links appear to be messed up. I tried downloading the 2013 version but that keeps giving me the 2019 remaster version and the 2019 link says the file was removed when I tried that as well.

3
Hi everyone, it's me again.

I have another question. I remember seeing somewhere a mod that allowed Steiner access to his Swd Mag without Vivi being in the party, but I can't seem to find where that was. I'm still working on the FFIX Steam version and want to change Swd Mag to instead of being Vivi's spell list for Steiner, to be debilitating magic infused sword strikes.

For example:

Instead of having Fire Sword, Fira Sword, Firaga Sword etc. Steiner will have a shorter list in his arsenal with Poison Sword, Stone sword, Slow Sword, Stop Sword, Venom Sword, etc. This will tie nicely into his Dark Knight reimagination in my mod since he will essentially be "fighting dirty" with his own magical sword skills and then sacrificing his own health to decimate and debilitate the strength of his enemies. And while I think it is simple enough to change the spell list in Hades Workshop, I'm still a little floundered on how to give Steiner automatic access to that skill without Vivi needing to be present.

Any help or recommendations would be greatly appreciated!

4
As I understand it, the Steam version allows for the story of the Final Fantasy IX to be altered somewhat, as evidenced by Tirlititi's Alternate Fantasy mod.

My question however is this:

What do I need in order to do something similar? I want to add Beatrix into more scenes starting with the Outer Continent and eventually make her a straight up playable character and automatically recruited as part of the party. I would love to learn what I need to do in order to make this happen so any pointers to where I can begin would be greatly appreciated.

My second goal in lieu of the first is to essentially swap Amarant and Blank. The reason I wish to do this is because frankly Amarant doesn't ever impact the story in any significant way beyond a single scene in Ipsen's Castle that is negligible at best. Blank however was noted to be the closest member to Zidane in Tantalus and after his depetrification, doesn't really do much. I feel like Blank would be a much more interesting addition to the party as he was a pretty grounded, rational, and yet somehow selfless character.

As I see it, I can accomplish this story-wise without much difficulty (not modding wise, I'm sure), for Blank was noted to being able to make antidotes and love potions for Zidane, he could rejoin the party when you go on the potion quest to revert Cid back to a human which (obviously) fails. Even so, you could gather the three potions and Blank could be the one to mix them, thus giving him a reason to be back in the picture at this point.

So my two major goals are:

1. Learn how to script fully functional scenes and make what Tirlititi did with Beatrix mandatory instead of optional.
2. Learn how to switch Amarant for Blank.

Already in this mod of mine, I have begun work on changing the characters to fit certain archetypes.

For Example:

Steiner has been altered and all of his abilities have been altered to reflect that of a Dark Knight. He gains shadow elemental attacks, and his main gimmick is that he destroys the health, soul, mind, and strength of his enemies and takes it as his own. He will be strong, but will take time to become a full fledged and powerful Dark Knight.

Beatrix has been upgraded slightly to being a full out Paladin. I changed out her redundant life spell and gave her Dispel. I also changed a couple abilities to be exclusively hers, such as Shock. Her ultimate weapon happens to be the Excalibur II which has a few Paladin-esque abilities tied to it that she cannot learn but can use so long as she has that weapon equipped.

Garnet has been upgraded to being mainly a summoner. She can eventually gain access to every eidolon, including their different forms such as the different carbuncles and the two forms of Fenrir. However her white magic abilities have been drastically reduced to only 8 spells total. She has access to Cura, Curaga, Blind, Mini, Float, Berserk, Confuse, and Silence. Her abilities names have been changed from Summon to Evocation, and from Wht Magic to Gray Magic. Due to Garnet being of age as a summoner she has access to Boost which allows her to summon the most powerful version of her eidolon's attacks.

Eiko has remained mostly the same as she was originally. She has access to the same four eidolons but being too young and not meant to be summoning lore wise, she cannot summon every eidolon as she pleases. Her Fenrir will randomly change as it usually does, and her Carbuncles can only be changed when she is focusing on a crystal in hand (just like in vanilla). Maduin (Madeen) and Phoenix are still a part of her as well but unlike Garnet, Eiko cannot learn the Boost skill. Therefore all her eidolons will randomly be chosen between long and short animations. However what makes Eiko great is that she is the only party member to have full access to the white magic. She is also only one of two people who can use resurrection spells/abilities. The other being Beatrix.

=====================================

So as you can see, I'm very much dedicated to seeing this project through. Any pointers and tips would be greatly appreciated!

5
Hiya Tirlititi,

I was still wondering if you could tell me how you found the subcalcs for that one ability so that I can find the others myself. Also is there a way I can use Hades Workshop to allow Steiner access to his Magic Sword without needing Vivi in the party?

6
Archive / Re: Final Fantasy IX-2 (Complete)
« on: 2017-06-18 01:01:04 »
This is certainly a bit off topic but still related, it would be awesome to be able to modify the character models, for example changing the Trance and the Normal models.

With the Hades Workshop, I've essentially turned Steiner into a Dark Knight and Beatrix I gave her a trance command and an "ultimate" paladin ability. I also locked the Excalibur II as a Beatrix exclusive and ultimate weapon.  So it would be pretty cool if I were able to mod it so she has a Trance form, give her a Valkyrie-esque Trance armor, and modify Steiner's existing armors to look more reflective of a Dark Knight.

7
Hi!

I have what I hope is an easy and quick question to answer:

I have Wallmarket and it's working perfectly but I can't figure something out and that is, I would like to give the Buster Sword the ability to ignore Morph's damage reduction. How would I do that?

8
Interesting. I was wondering about adding trance to "guest" characters. I bet there's an animation call that it's missing when you activate trance and that's why it freezes, just a hunch. I haven't looked at this games data too hard yet.

 Would it be possible to switch the character the temporary characters are tied to? I like Eiko, but I also want to use Marcus. Can I place him over someone else instead? Better yet, can we add character slots? I know Beatrix is a special case and seems to actually have her own slot, so I'm sure it would be complicated.

Has anyone tried to swap assets such as Zidane with his Pluto Knight gear, or Garnet with her dress or whitemage hood?

Lastly, is there something I can use to preview .fbx models?

I hate to keep bothering you, I looked into what you told me about the SubCalc's but I honestly haven't the foggiest idea how you discovered Physical Strikes subcalc, I have Steiner using the absorb strength/magic, the quadraslash effect you used, and the ???def-less (and a couple others) if I can find out how you found the subcalc's I should be able to go into those effects subcalcs and add the HP reduction conditional for Steiner, yes?

Also one quick thing, I saw that tere was a UI rescaling mod posted on the steam community but it looks like it requires memoria to use, if I recall correctly Hades Workshop and Memoria are not compatible with one another so I wouldn't be able to utilize that mod, would I?

Thanks for all your help, I really do appreciate it.

9
Oh?
Either it's a bug, either you don't have the latest version of the tool. I hope it's the latter ^^

You can see the version in the "About" window (F1). If it's not v0.37c, get the newest version in the opening post of the thread.
If it is v0.37c, then I guess it's a bug. Maybe try to open only the Steam version? (You have to select the FF9_Launcher.exe.)

My apologies, I had the 0.34 version so I just downloaded the latest and the tab is available and working! I hate to be a hassle but I was fiddling around with the Stats category and was wondering how I might give Beatrix the ability to go into Trance. I created a specific skillset for her and connected it to her Seiken command a la Zidane's link with his Skills, but was wondering if that was enough to give her a Trance or if there was something more I would have to do.

10
@sutebenukun: You access to the CIL Code using Hades Workshop, there's a panel "CIL Code", the list of classes (including "btl_calc") is on the left and the classes' methods ("CalcMain", "CalcSub_203", etc...) appear next to it once you selected a class.

You may also see the C# and CIL code using programs like JetBrains dotPeck, but it can only display it, not modify it. I don't know any free tool that allows to inject CIL code in a dll.

Alrighty, I looked in the actual program but the only option I see is MIPS Code. And while it'll let me edit it for the PSX version, it brings up a window saying it has been disabled for the Steam version, which is the version I'm attempting to modify. Am I doing something wrong?

11
@sutebenukun: Hey, glad to see you enjoy it and want to personalize it :)
Unfortunatly, it is not convenient to modify the spell effects, and you can't go very far. It's in the CIL Code, more precisely the class "btl_calc".
Hades Workshop's CIL Code is quite buggy: it sometimes crashes if the edited methods are too big. It seems that you can't edit the main method related to spell effects ("CalcMain") without crash. You can however edit the sub-methods and put the HP cost in them.

For instance, the spell effect "Physical Strike" use the sub-method "CalcSub_203", which setups the damage for its target. What you can do is adding a script there that removes HP to the caster only if the caster is Steiner.
The C# script for removing HP to the caster is something like this:
Code: [Select]
// "flag 1" states that the spell will modify the HP (of "ct" = caster, here). Setting both flags 1 and 2 can be used for healing
v.ct_flags |= 1;
// The damage is based on caster's max hp. The operation ">> 3" is equivalent to "/ 8"
v.ct_hp = (short)(v.caster.max.hp >> 3);
But you can't write C# scripts with HW (that's where the Memoria tool is more convenient), so you need to use a CIL code counterpart:
Code: [Select]
ldarg.0
dup
ldfld 0x40007F6 // CALC_VAR::ct_flags
ldc.i4.1
or
conv.u1
stfld 0x40007F6 // CALC_VAR::ct_flags
ldarg.0
ldarg.0
ldfld 0x40007EC // CALC_VAR::caster
ldfld 0x4000229 // BTL_DATA::max
ldfld 0x4000809 // POINTS::hp
ldc.i4.3
shr
conv.i2
stfld 0x40007F8 // CALC_VAR::ct_hp
"ldarg.0" is the object of type CALC_VAR that contains all the information about the damage calculation. It was called "v" in the C# above.

Now, if I am telling you about C# code, it's because it is much more easy to read (even though it's still a programing language), and you can see here the whole class of "btl_calc" in C#:
https://www.dropbox.com/s/2k2mkezqx0loe4i/Source_BtlCalc.cs?dl=0
I added a few comments and renamed the methods "CalcSub" with less opaque names there.

The CIL script above can be used to remove HP to the caster in one of those "CalcSub" method. Verify that the hexadecimal IDs are the same with your game, which should be the case if it's up-to-date. For instance, the non-edited method "CalcSub_203" should start like this:
Code: [Select]
ldarg.0
ldfld 0x40007F0 // CALC_VAR::at_pow
ldarg.0
ldfld 0x40007F1 // CALC_VAR::df_pow
If the 0x..... numbers are different, you need to update your game beforehand (in Steam, "FF9 -> properties -> Verify the integrity of local game file").

Now, we need to add the information that only Steiner's attack should remove HP to him (he's not the only one to cast spells using that "CalcSub_203" method). You can do it like that:
Code: [Select]
if (v.caster.bi.slot_no == 3) {
    // Do you stuff
}
In CIL:
Code: [Select]
IL_POS0: ldarg.0
IL_POS1: ldfld 0x40007EC // CALC_VAR::caster
IL_POS2: ldfld 0x400022D // BTL_DATA::bi
IL_POS3: ldfld 0x4000272 // BTL_INFO::slot_no
IL_POS4: ldc.i4.3
IL_POS5: bne.un IL_POSEND
// Do your stuff
IL_POSEND: // After the "if" block

If we put that together at the start of the method "CalcSub_203", we end up with a method like this:
Code: [Select]
ldarg.0
ldfld 0x40007EC // CALC_VAR::caster
ldfld 0x400022D // BTL_DATA::bi
ldfld 0x4000272 // BTL_INFO::slot_no
ldc.i4.3
bne.un IL_003E
ldarg.0
dup
ldfld 0x40007F6 // CALC_VAR::ct_flags
ldc.i4.1
or
conv.u1
stfld 0x40007F6 // CALC_VAR::ct_flags
ldarg.0
ldarg.0
ldfld 0x40007EC // CALC_VAR::caster
ldfld 0x4000229 // BTL_DATA::max
ldfld 0x4000809 // POINTS::hp
ldc.i4.3
shr
conv.i2
stfld 0x40007F8 // CALC_VAR::ct_hp
ldarg.0
ldfld 0x40007F0 // CALC_VAR::at_pow
ldarg.0
ldfld 0x40007F1 // CALC_VAR::df_pow
sub
dup
stloc.1
ldc.i4.0
bgt IL_0055
ldc.i4.1
stloc.1
ldarg.0
dup
ldfld 0x40007F7 // CALC_VAR::tg_flags
ldc.i4.1
or
conv.u1
stfld 0x40007F7 // CALC_VAR::tg_flags
ldarg.0
ldfld 0x40007F3 // CALC_VAR::at_num
ldc.i4.1
bge IL_0077
ldarg.0
ldc.i4.1
stfld 0x40007F3 // CALC_VAR::at_num
ldloc.1
ldarg.0
ldfld 0x40007F3 // CALC_VAR::at_num
mul
stloc.0
ldarg.0
ldfld 0x40007EE // CALC_VAR::cmd
ldfld 0x400028B // CMD_DATA::info
ldfld 0x4000293 // SELECT_INFO::short_summon
brfalse IL_009B
ldloc.0
ldc.i4.2
mul
ldc.i4.3
div
stloc.0
ldloc.0
ldc.i4 9999
ble IL_00AC
ldc.i4 9999
stloc.0
ldarg.0
ldfld 0x40007F5 // CALC_VAR::flags
ldc.i4.8
and
brfalse IL_00C8
ldarg.0
dup
ldfld 0x40007F7 // CALC_VAR::tg_flags
ldc.i4.2
or
conv.u1
stfld 0x40007F7 // CALC_VAR::tg_flags
ldarg.0
ldloc.0
conv.i2
stfld 0x40007F9 // CALC_VAR::tg_hp
ret
(If you copy-paste it, verify that the "IL_POS" numbers are correct: the program tends to update them automatically and not always the right way.)
I tested and it worked wonder for me.

Now you need to do the same thing for other "CalcSub" methods so that it doesn't apply only to damaging spells.
Modifying the engine is the most tedious feature of HW, sorry. I hope it helped you though ^^"






@dclem and Lein: Maybe you can just stop arguing? You both said that you were over with the other and kept posting just to have the final word... that's ridiculous.
Lein, as it was already said, you can't expect everyone to have the same priorities as you. Besides, modding is something that requires time.
I told you that increasing the encounter rate back to normal means understanding what was changed in the Steam version. Those figures that you increased in the fields' scripts are exactly the same between Steam and PSX: if you want to have an encounter rate consistent and balanced as in PSX, that's not what needs to be fixed. If you want a quick and dirty fix, then you're done.
And yes, keeping repeating a few bullets is not going to make those go faster.

No comment about the trendy "autist" insult... That is a very dumb one.


Thank you so much! I do however have a few questions if you don't mind, it's been awhile since I've had to do anything with code and even then it was just hex editing FF6.

What program would I need to access the btl_calc or to get to the CIL Code? I'm as beginner as it can get so please bear with me.
The other things I sort of understand since it was similar to what I have done years and years ago, but I'm sure I'll get it back once I'm able to locate the file that I need and have the program that I'll need to modify the btl_calc.

12
Hiya!

I have a question. I've been using your Alternate Fantasy mod and I'm very happy with it! The only thing is after beating the game once (with Beatrix of course lol) I decided to make Beatrix and Steiner much more different from each other. Specifically I gave Beatrix access to Quadraslash and took away Stock Break from her and made Shock and Climhazzard skills exclusive to her (I also gave her an "ultimate skill" that's locked behind getting the Excalibur II which I made her ultimate weapon to make up for the fact she doesn't get a Trance).

Now that I solidified Beatrix as a Holy Knight/ Paladin I decided to make Steiner the very opposite of that; a Dark Knight. I've changed a lot of his skills to reflect his new status as a dark knight (with a couple as homage to FFT) but was wondering if it were possible with Hades Workshop to create unique damage/effect formulas?

For example, I'd like to have Steiner required to sacrifice some of his hp with most of his skills, including the non-damaging ones. Is this possible to do?

Pages: [1]