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

The “Stance” skills would be nice to edit the values - even just two options, one value for 1-stat Stances and another for 2-stat Stances.

1 Like

While I understand that the skill system isn’t designed with balance in mind (and rightfully so, that’s up to the person using it), given the amount of frequent requests that I see to decrease the values for many of the skills, it may be worthwhile to consider lowering the default numbers to reduce the work downstream and the amount of questions that are asked about it / manual adjustments that get made.

If the numbers people using FEBuilder aren’t what they want out of the box, why not make the defaults lower?

Oh god don’t even try to mention balance in skill system, do you wanna kick the hornet’s nest of #fe-design-meta’s thousand opinions

Balance entirely depends on the rest of your hack, so different people will always want different numbers. Funnily enough, manual adjustments are actually really easy so long as you aren’t using FEBuilder, and that’s why you never see anybody who uses buildfile ever talk about changing values. It’s really a question of whether the people who maintain Skill System should try and cater to FEBuilder, but I will refuse to talk anymore on the topic because I can smell the claims of elitism on the horizon

1 Like

I agree with you that trying to balance a default skill system in a vacuum is not a good idea.

My point isn’t a question of balance, it’s a question of making it easier for the user to get what they want out of the skill system if they aren’t using buildfiles. It’s about accessibility, imo.

7743 making patches to toggle numbers does solve this problem, at least.

2 Likes

It’s not a bad idea to attempt at least some number balance for accessibility, but it’d take some guesswork to determine what the average hacker would want the number to be.

Of course, you’ll eventually need patches though, because someone will always ask “yo can I set Fiery Blood to give +15 damage” or some number that’s not the current one.

1 Like

Off topic to the current topic, but I am considering an attempt at creating a tutorial for editing skills on an FEBuilderGBA project. Of course, I don’t know how appealing it would be; it’d essentially be all the work of ASM with none of the benefits of buildfiles. It would actually be more work than buildfiles. Instead of having the addresses not matter, you’d have to do a ton of work finding everything and repointing everything. I’m not sure, it’d be a lot of work to make sure the method I’m thinking of would work.

6 Likes

Since I’m part of the group trying to learn buildfiles understanding how to properly modify the files would be helpful to do. But don’t rush over it. I’m understanding how the process is but I have a ways to go before fully understanding it.

That’s impossible.
It is easy to change +3 to +6, but it is very troublesome to create something new that is not in existing features.
For vanilla, there is a patch that changes the defense to half instead of ignoring it.

Defiant skill hard to change HP 25%.
Because the code is written as follows.

ldrb r0,[r4,#0x12] @max hp
ldrb r1,[r4,#0x13] @cur hp
lsl r1,r1,#2 @cur hp x4
cmp r1,r0
bgt GoBack @if cur hp x4 is less than or equal to max HP, we are at 25% or less

QuickRiposte and WaryFighter are also immutable because the HP restrictions are expressed in code.

mov   r4,r0
mov   r7,r1

ldr   r5,SkillTester
mov   r14,r5
ldr   r6,DefenderStruct
mov   r0,r6
ldr   r1,WaryFighterID
.short  0xF800
cmp   r0,#0x0 @does the defender have wary fighter?
bne   RetFalse

mov   r14,r5
ldr   r5,AttackerStruct
mov   r0,r5
ldr   r1,WaryFighterID
.short  0xF800
cmp   r0,#0x0 @does the attacker?
bne   RetFalse

@does the defender have QR?
ldr   r0,SkillTester
mov   r14,r0
mov   r0,r6
ldr   r1,QuickRiposteID
.short  0xF800
cmp   r0,#0
beq   MoonlightCheck

@does the defender have half health or more?
ldrb r0,[r6,#0x12] @max HP
ldrb r1,[r6,#0x13] @cur HP
lsr r0,#1 @divide by 2
cmp r1,r0
bge RetFalse @if so, we don't double
1 Like

I’m not 100% sure this is a skill system issue, but I’m noticing on the February 23rd version that all enemy units have 10 more Hit and Avoid than their stats warrant. Can anyone else confirm/deny?

The fix for this issue was merged into the main branch on the 27th, so the issue no longer exists. The issue is marked as closed on GitHub, you can check there in the future to know if something has been solved or is known about.

If you get the newest version from GitHub and the issue still persits, then let us know.

2 Likes

Aha, thank you. I did check the github issues but not the “closed” ones.

This is one of those times I actually wish I knew anything substantial about coding. The actual code there might as well be an alien language to me, but the comments really make it seem like it’d be simple to change, at least to get different math results. Changing the hp multiplier to x3 instead of x4 would make it activate at 33% hp, and changing it to x2 would make it activate at 50% hp.

But I doubt it’s actually that simple, and I wouldn’t know even if it were that simple. I’m totally in the dark on what any of that code actually means. It is somewhat of a shame though because I was also thinking about asking for this, since I love Wrath and skills like it, but 25% is just too low for the values most of the Defiant skills boost abilities by. They aren’t strong enough to be sitting at 25% health for most units except tanks with high defenses. I guess patches to boost the values they provide might be a feasible alternative though, if those are possible.

1 Like

Changing that lsl (literal shift left) opcode wouldn’t quite produce the results you would expect here. Literal shifting is a really convenient, small, and quick way to multiply and divide by powers of two. Shifting left by 1 multiplies by two, shifting by 2 multiplies by 4, shifting by 3 multiplies by 8… The reverse is true for shifting right; shifting right by 1 divides by two…
Changing the HP multiplier by x3 would make the condition 33%, but there is no way to perform this operation in a single opcode like when working with powers of two.

If you want my two cents on this whole thing, I honestly don’t have a huge amount of sympathy for not getting exactly what you intended out of the Skill System when working with FEBuilder. 7743 has done his best to port the system to FEB, and I admire him for the insane amount of work he’s put in for the community. However, the Skill System was simply not designed to be a static patch. It was designed to be built off of and changed to the user’s whims in a dynamic way with the magic of Event Assembler. If you’re using FEB, that’s perfectly fine, but don’t complain when the cube can only fit diagonally in the circular hole. You can use the Skill System with FEBuilder, but modifying it beyond what 7743 provides for you just is not feasable. :man_shrugging: With minimal ASM knowledge in the Skill System buildfile, however, changing the condition to 33% is trivial.

Oh man hard agreement here. The Skill System numbers as is are pretty absurd, but changing them to a point that everyone agrees on is impossible and defeats the modularity of the system. Every project is bound to be different in its inflation/deflation which is perfectly fine, but no one set of skill numbers can possibly cater to everyone’s needs.
Friendly reminder that buildfiles are not as difficult as they’re made out to be, and assembly is not as difficult to wield as you may expect. You will surprise yourself with how well everything falls into place once they click. Check out Teq’s guide if you’re interested, and don’t be afraid to put in a little elbow grease to get exactly what you want.

7 Likes

swi 0x6 :joy: :joy: :joy:
just ignore the fact that you’d need to do a shit ton of moving stuff around to get it to work and it’s technically one opcode

seriously though complete agreement with snek, buildfiles will set you free. as someone who’s used febuilder for a project before, it’s honestly liberating how much freedom you can have in assembly when switching to buildfile, and by that in extension the freedom you get in skill systems

1 Like

Go ahead and make a pull request for that on the skill system git, then. I might be wrong but I don’t think there’d be much opposition to it, the current numbers are basically arbitrary anyway (often just ‘whatever they were in fates/heroes/etc’)

I wouldn’t say this is the question. I’d say the question is ‘so who’s going to do it?’ It’s easy to be the idea guy who asks for something on a forum, but unless:

  1. You do it yourself
  2. Someone thinks it would be interesting or worthwhile enough to do it for you

it isn’t going to get done. And 2 seems unlikely in this case - adjusting skill numbers is not interesting, and as far as I know everyone who regularly contributes to the skill system uses buildfiles and thus wouldn’t benefit at all from doing this themselves.

3 Likes

Given that 7743 is making patches to allow users to easily tweak values, I’d say it’s less pressing now since it is available to FEBuilder users.

You may want to learn about multiplication and shift operations.
In the computer world, shift operations are faster than multiplication.
And for multiples of two, the shift operation can be very fast.

However, there is a problem with this.
That means readability and availability are reduced.

It would have been even easier if it had been represented by ordinary formulas using divs and muls instead of shift calculations.

True, divs and muls are CPU intensive.
Expressing the shift is fast and may be cool.

However, this routine is not drawn at 60fps.
It is just a judgment routine, and it is something that is evaluated every time a battle occurs.
In short, this routine doesn’t need speed.

I say a little harsh.
I think that using shift operations here is just a matter of complacency.
Because it is not a routine to draw the screen at 60fps at high speed.
And that complacency reduces the availability of the code.
If possible, I want to use regular formulas such as div and mul.

If it wrote with a normal formula, I could create a FEBuilderGBA patch, However, this is not possible with current implementations.

5 Likes

Oh, I see. Thanks! That’s interesting to know.