[FE8] Skill System v1.0 - 404 skills done, more on the way

Yeah he’s usually been pretty prompt and helpful on the discord in my experience. And he seems to use a translator for most English, making his dedication all the more impressive. Still, I can’t help but be greedy and want more nice things XD

Hello. I’m using the FEbuilder version of skillsystem and i’m wondering if an issue i’ve encountered has since been fixed in the Github. When i use Skillsystem’s Seal Strength (seems to be auto-included on Franz) on an enemy with 5 or less STR, it underflows and causes the enemy to deal 255 damage.

1 Like

//Cultured: If unit attacks next to a unit with Nice Thighs, move again. -50 hit against units with Nice Thighs.
//By Sme

LMAO

1 Like

happened to me as well. Went through the “issues” page and it says it’s been resolved, but most recent SkillSystems patch on FEBuilderGBA still has the underflow bug.

rip Saleh the revenant

edit: just read up and saw the patch on FEBuilder is outdated. Makes sense now to see that it’s ticked as “resolved” but the newest patch where that bug was fixed isn’t on there.

Hey, i tried giving skills to some weapons the spur skills but they don’t seem to work

Another batch of skills.

Notes:
Bibliophile counts any Anima, Light, or Dark weapon types as books. Also, the books are counted even if the unit can’t use them.
Bold and Wise Turtle compare byte 0x1D for movement, in the disassembler the byte 0x1D returned Class Mov.+Mov. Bonus, but in @Tequila’s notes says it should be calculated like Con… The skills worked like intended when I tested them.
For Entropy swords, lances, axes and bows are counted as physical weapons.
Winged Rider uses the Effectiveness Rework hack.
Witch’s Brew activates anytime you use the command [Wait], even if you did an action before (Like trade, using the convoy, etc.)
Vulnerary, Pure Water, Antitoxin and Elixir can be obtained with Witch’s Brew, you can edit the WitchsBrewEvent.event file to change what items you can get.

Download

Icons by @MeatOfJustice were included in the download, but 6 skills still need an Icon.

12 Likes

This is probably a stupid question but Bold and Wise Turtle make me think it’d be interesting if there was a skill that affected your damage output/damage received depending on the amount of tiles you moved in that turn compared to the enemy’s Mov stat.

But it’s very easy to move fewer tiles than enemy Move, while it’s a little tough to consistently use full movement range to exceed enemy Move.

Why not use Charge?
& we could make its inverse, Inevitable Stalk, or some name lol. Gain +1 damage for each tile you don’t move under max movement.

Gain +1 damage for each unused movement range.
Idk how to word it best.

This would probably be given to knights or something with low move.

1 Like

I think making non-blue units able to benefit from Charge (they currently cannot because “tiles moved” is only saved for blue units) should be a higher priority than adding more skills that use this mechanic

3 Likes

Have we tried something like this yet?

ldr r2, =CurrentUnit
ldr r2, [r2]
ldr r3, =0x203AA96 @ AI decision +0x92 (XX) 
ldrb r0, [r3, #0x0] @ XX 
ldrb r1, [r3, #0x1] @ YY 
ldrb r3, [r2, #0x11] 
ldrb r2, [r2, #0x10] 

sub r0, r2 
sub r1, r3 
@ get absolute 
asr r3, r0, #31
add r0, r3
eor r0, r3 @ r0 now # of X tiles difference 
asr r3, r1, #31 
add r1, r3 
eor r1, r3 @ r1 now # of Y tiles difference 

add r0, r1 @ tiles moved 

Hello! The Skill System has, frankly, become very bloated over time, and as its primary maintainer, I would like to get feedback on a plan to deal with this.


1) Quality of Life Hacks

There are a large number of QoL hacks included with the skill system that have no effect on anything outside of themselves and are only included because they have been so from the beginning. This would be things like semitransparent menus, HP bars, danger zone, etc. Most, if not all, of these are enabled by default. Removing these would be a significant chip out of the bloated buildfile.

  • No Change; Included, Enabled by Default
  • Included, Disabled by Default
  • Not Included
  • Other; Please specify in a reply

0 voters


2) External Hacks

This refers to the group of 20 or so hacks that have some overlap with necessary skill system components; of these, only 2 have functionality directly tied to skills, the rest only have overlap with shared hooks. Removing most or all of these would account for roughly half the present bloat.

  • No Change; All Included, Enabled by Default
  • All Included, Disabled by Default
  • Only Skill-Related Included, Enabled by Default
  • Only Skill-Related Included, Disabled by Default
  • Other; Please specify in a reply

0 voters


3) Merge Policy

Currently, my policy on merging new pull requests into the skill system are generally the following requirements:

  • Adds skills or skill-related systems
  • Fixes bugs or errors
  • Adds hacks that share existing hooks

Moving forwards, I would like to drop the third criteria, to avoid adding further bloat. Instead, only hacks that directly rely on skill system components with no independent release (mainly Modular Stat Screen) would be acceptable for adding.

  • No Change; Keep Criteria As-Is
  • Drop 3rd Criteria
  • Other; Please specify in a reply

0 voters


If all of these changes were to be enacted as presented, all external and quality of life hacks would be removed save for ones that tie into skills (Dragon Veins, Str/Mag Split) or the Modular Stat Screen (Stat Screen Ballista, Personal Info + Narrow Font). I look forward to reviewing your feedback.

4 Likes

1: I think that the quality of life hacks should stay as they are. However, I don’t think anymore should be added unless they’re good for testing purposes. What we have right now is good for testing, and I believe it should stay that way.

2: I think only the external hacks that aren’t used that often should be removed (Biorhythm, Status weapons, etc). The ones that are used more often like EscapeArrive, and Trap Rework should stay.
I do not think there should be any more external hacks that don’t have anything to do with skillsys added. Especially if they’re unlikely to be used.

3: With that being said, it’s pretty obvious what I voted for here. (Drop the third criteria)

Edit: After some discussion on the discord. I think it would be a good idea to keep the external hacks in a separate repo/fork for people to easily find, and possibly easily integrate with skillsys assuming the external hacks are removed at all.

1 Like

I think it should be like FEBuilderGBA’s Patch.

That is, include all patches in the source code by default.
However, except for the standard correction, it is turned off by default.

I’m referring to the Linux kernel options.

That is, people don’t want to download files outside of the package and merge the source code themselves.
That said, people don’t want extra software to be installed.
So we provide a configuration file to enable/disable each feature.

  1. Quality of Life Hacks

I think this can be enabled by default.
However, you should also provide an option to turn it off.

  1. External Hacks

Included in the source tree but should be disabled by default.
However, you should also provide an option to turn it on.

Inline QOL hacks, such as the following, should be cut out of the file whenever possible
Because this is easier to turn on / off.

//some fix
ORG foo
BYTE 12 34 56 78

//You write a description of some fix here.
//  see: https://feu/some_fix
//
//#include "some_fix.event" //<-If it is disabled by default, comment out.

Since innumerable combinations occur depending on the options, I think that a system for automatically detecting BuildError should be built.

It’s difficult to automatically test if it works, but I think it’s possible if it’s a test for build errors.
Therefore, I think that you should prepare various optional configs in advance, feed them automatically, and create a program to check if an error occurs.

You can’t use Github’s automated test flow because the build requires a gba rom.
Because it ends up exposing the ROM.
So it needs to run on a PC or a private server.

6 Likes

Hi. Not sure if anyone has already asked this, but I’d like to expand the number of skills that units can learn from 6 (1 Personal, 1 Class, and 4 learned) to 10 (1 Personal, 1 Class, 8 learned), but I am unsure of how to do so.

1 Like

The number of skills that a unit can learn is actually only 4: personal and class skills aren’t considered learned, just always applied so long as the unit is the specific character or class. In this way, you can have a theoretically infinite number of methods by which units know skills based on their characteristics: equipped weapon & passive item skills are already a thing you can do for a total of 8 skills max at a time in this sort of way (though these two methods do not appear on the stat screen). For learned skills, these are stored per-unit in their BWL data, a section of memory already saved with enough unused space to facilitate storing 4 learned skills there. If you wanted to store more than 4 skills, you would need to find a larger unused section of memory and change references to learned skills to use that instead, as well as make sure that area gets saved to the save and suspended files. Note that in all scenarios, adding new methods of learning or knowing skills will require editing the assembly function for the SkillGetter.

1 Like

@Karasu
As an example similar to what Sme said, you could try installing Equippable Accessories into a buildfile.

The process has some similarities, as it’s adding new conditions from which a skill is known. It doesn’t modify Expanded Modular Save, which you’d need to for what you want to do, but if you’re able to figure out accessories, then I think you’d have a much better shot at expanding learned skills. I recommend figuring this out in a buildfile before bringing it to febuilder if feb is your preference for hacking with. You can always make use of the help me channels in feu discord if you’re stuck on something.

Good luck!

Is there a recommended set of drivers/dll files to get the skill system to work with Windows 10? It’s less so the skill system, so perhaps this is the wrong place to ask, but I’m running into an issue where the EventAssembler’s compress.exe doesn’t want to run. It just says it can’t start and then points to a random address (0xc000007b) I tried updating to the most recent version of .net frame work (4.8) and python, but that doesn’t seem to do the trick.

This issue pops up when I try to run hack full with the str/mag split and extended stat screen on.

compress.exe was probably written in haskell so neither of those would help
since this is specific to your environment and not something generally reproducible I’m not sure this is enough information to diagnose the problem

1 Like

Okay. The line in question is #incext compress “New Levelup Tsa Decomp.dmp”

I can still run the compress on a different computer(it’s much slower, so I don’t want to use it), so do you think it’d be safe to just get the compressed hex that command outputs and then dump it?

Maybe I’ll try installing some haskell related files and see if that helps.

Is there any kind of combat round limitation that would prevent creating the FE4/FE5 accost skill?