[FE8] Modern c-skillsystem (3.3.0-LTS)

The dotnet SDK was an absolute clusterfuck to install for me via WSL.

I resolved the issues I was having with it here. Not sure how much use it will be to you since you’re native Linux, but it may be worth a try. [FE8] Morden c-skillsystem release - #36 by JesterEmblem_EX

DO NOT directly copy a EA from windows. Follow the README to compile by yourself in linux.

If you did not use debug-kit, just follow the rule 1/3 will be fine

Add new Skill: Teleportation

3

9 Likes

Is there a practial reason for why allied buff and enemies debuff are applied after the pre-battle calculation is done ? This mean that any skill of that type make the battle preview wrong, wich seem problematic.

Which piece of code for which function? I may review on it

In PreBattleCalc.c, the function PreBattlePostCalcRangeDebuffs() (wich seem aptly named).

You mean range-debuffs may just be calcalated in real battle rather than simulation? Well now fixed: unlock range-debuff calc for simulation

The reason why we baned such calc before real battle is that it may cause performance issues when function SkillTester is executed on lots of different units at one time as the kernel may build the skill list for each unique unit, but now it has been solved by fastening SkillTester.

I supected as such. Good to know that the problem has been solved. I also feel that in the case of Aura skill, further optimization can be achieved by checking the range of the skill tested. It doesn’t make sense, for example, to test if an allied unit has inspiration if they are three tiles away, since the skill only affect unit up to two tiles away. A good number of SkillTester call can be safely avoided with this in mind.
I try to get around implementing it once I am done with porting the existing Aura skill from the original SkillSystem

2 Likes

This is a good idea to check the range before. maybe later we can modify such part of code as:


if (range1[i] == 1)
{
    if (SkillTester(...))
        ....

    if (SkillTester(...))
        ....
}

if (range2[i] == 1)
{
    if (SkillTester(...))
        ....

    if (SkillTester(...))
        ....
}

if (range3[i] == 1)
{
    if (SkillTester(...))
        ....

    if (SkillTester(...))
        ....
}

As a bonus feature, would it be possible to have a toggleable ‘test’ map like the original skill system does, so we can test out skills/combat arts without having to ram edit certain stuff in?

Also, it might be worth putting together a document so we can see what skills have been transferred. It’s starting to get hard to tell.

I’m happy to start if anyone else thinks it’ll be useful.

1 Like

There has been a debug chapter in kernel, uncomment CONFIG_USE_DEBUG and CONFIG_DEBUG_CHAPTER in config-debug.h then you will get it.

debug map is not introduced yet. Later we may add one.

1 Like

As promised, I have a list for what should be every skill in the main skill system.

I’ll update it to show all the complete skills tommorow.

As time goes on and we achieve skill parity, future plans include adding C skill system exclusive skills and maybe adding another column for skill ideas.

4 Likes

Common method on skill info configuration

  1. Download Patches dir
  2. Put the Patches dir to <path-to-FEBuilder>\config\patch2\FE8U\
  3. Open FEB, click Tools → Patches
  4. Find “CSKILL_K”

I’ve followed these steps and none of these can be written to the ROM.

The magic is not matched, which means the patches and the ROM does not belong to the same version. Here apparently that your patches use the latest folder in the repo but the ROM is too old.

Synced my repo and applied a fresh copy of the skill system in the terminal And now I’m completely blocked from getting into the patches section in FEBuilder. My day is going swell :upside_down_face:

I’ll come back to this later.

image

Okay it seemed to be expecting everything in a ‘patches’ folder. So I did that and got a little further but when I try to view the skill info / combat arts patches this happens.

Edit: Wait it is loading the skill information after closing that popup. Weird.