[FE8] Modern c-skillsystem (3.0.2-BETA)

233 4
3 4
1

Source code at at here:

Source code
Releases

Skills’ glossary

SkillInfo.md

Abstract

Abstract.md at main

Release

v3.0.2-BETA
v2.4.1-RC (recommonded)

history

v1.0.0-LTS


Traditional ASM hack generally requires modifying in assembly level. Many times it is even hard to say that the hacker himself can make it clear on the original functionality, which results in extremely low reliability and poor efficiency. There are also many of other problems, such as headache RAM space management, conflict on various functionality, limition on skill index bit width, etc.

Today, With the 98% progress of decomp project and extensive CHAX engineering practices (such as this, this, this, this and this…), We can review on existing work from a higher perspective. At such a stage that people’s understanding of the vanilla functionality mechanics has reached at an unprecedented level, it’s time to solve existing problems, and reconstruct C-SkillSys project closer to a modern software engineering.

Use FEB to config your skillsys!

Modern c-skillsystem can directly enable users to configure the rom data in FEB via FEB patches. Download the Patches.zip from release page, unzip and put it to <path-to-FEBuilder>\config\patch2\FE8U\ directory with latest version of laqieer/FEBuilderGBA from @MisakaMikoto

Feel free to use or edit or make games based on that. :slightly_smiling_face:

88 Likes

This is a turning point in the entire romhacking scene. Really good job here, and let´s celebrate this as the big acomplishment that it´s!

7 Likes

As in a unit can attack 20 times? Like how brave/hero weapons let you attack 2/4 times?

I think a move towards a C based skillsystem is for the best, although it will take a while. It’ll also make it easier to have a version for fe6/fe7 once all 3 decomps are far along. Kudos to you!

14 Likes

this is amazing! thanks and congrats, feels this is a new milestone

So does this mean skills can be coded in C now?

1 Like

We always could, although progress on the decomp has made this easier over time. Several skills in the older skillsys are written in C, but most are not.

5 Likes

The total attacker number (actor + target) can reach no more than 20. And it is auto dectected by function CheckBattleHitOverflow()

3 Likes

:bow: :bow: :bowing_man:

2 Likes

Oh it’s my fault that battle hit can reach 0x20 rather than 20

1 Like

Having a play around with this, it’s really impressive work!

I did notice that pressing left to select combat art doesn’t allow you to select Without Art, but pressing right works as expected.

Combo/chain attack could maybe use an indicator similar to the one for battle arts? and sprite doesn’t swap when anims off but I guess that’s just not finished yet.

Also installing worked fine for me on WSL although the dotnet var only worked until I closed the session so might be good to add a note about adding it to ~/.bashrc so it will persist?

Anyway great stuff as always Mokha!

5 Likes

This may be a bug, I may fix it later.

In FE-Engage, according to my understanding, it is an inherent mechanism, just like assassin cannot trigger silencer attack to BOSS in FE8. So I also set it to trigger combo-attacks unconditionally.

Yes, I recommand to put the following variables to ~/.bashrc:

export DOTNET_ROOT=$HOME/.dotnet
export PATH=$PATH:$DOTNET_ROOT:$DOTNET_ROOT/tools

export DEVKITPRO=/opt/devkitpro
export DEVKITARM=${DEVKITPRO}/devkitARM
export DEVKITPPC=${DEVKITPRO}/devkitPPC
export PATH=${DEVKITPRO}/tools/bin:$PATH
2 Likes

Is there currently no way to view what combat arts are available to a unit?

This is honestly really cool. Was able to get everything to work following the instructions just fine, though I did need to update and upgrade apt-get since I was doing this on a fresh install, if you feel it might be worth adding a note about that after wsl is installed.

1 Like

Later I may write a doc and some patches on combat-art design

1 Like

I believe he just means there should be some indication that a chain attack is happening during the battle forecast, as is the case in Engage

2 Likes

Patches at main

I have built a ./Patches dir, and for now, write some patches about combat-art configuration. You may try on them via FEB.

And @Blademaster now you can try it.

3 Likes

My apologies for not being more clear before, but I mean in game. On the unit menu, other than when you attack, how to you view available combat arts such as wrathful stike and grounder? Do you need to press select on a certain page or?

1 Like

Now fixed

1 Like

Yeah, we did not make combat-art select submenu for now. But you can see detailed info for combat-art by R_BUTTON on TargetSelection.

1 Like

Update at 2024.03.19

Now patches for FEB has been updated.

Put Patches dir of repo to <path-to-FEBuilderGBA>\config\patch2\FE8U\, and find “CSKILL_K” you may config data for cskillsys.



9 Likes