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

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.

If I had to make a suggestion as for how to handle Skill System in Builder, it would be to make one more revision that cuts some fat and adds a few unique skills in their place. Some entirely nonfunctional skills like Moonbow and Catch Em All have been in the patch for a long time, and ideally they could get replaced with unique concepts that are tricky to implement otherwise; Shade, Shade+, Gridmaster, and Double Lion come to mind.

That said, I’m not entirely knowing the logistics of reorganizing the entire patch around subtracting/replacing skills, and the idea of a rotation of skills going in and out of patches sounds pretty abysmal to develop for.

I think that’s the best place it could reasonably get to with the current tools (and the limited knowledge I have of them).

2 Likes

It’s the second time I’ve seen someone say Catch Em All doesn’t work… it used to work just fine, has there been any changes to the skill getter?
Or are you just assuming it does nothing?

Either way, please if you have anything to say about Builder, take it to the FEBuilder thread.

Catch Em All probably DOES work… But it’s nearly useless. Whoever has it activates all of their skills 100% of the time (thanks to Rightful Arch), which includes Miracle, so that unit cannot die in combat, or period, I think. Meaning that it almost has 0 uses save for being put on a boss you need to use a Nihil character on, or, I dunno, making a character that can cheese everything? Meanwhile, as mentioned before, cool, functioning skills that HAVE been added, such as Gridmaster and Double Lion, aren’t added in because we’ve already reached the 255 skill cap.

I’m not gonna add much, but what I suggest is pretty much what Genuine_Angus_B33F requested. That being said, if there is a way to change the patch so that the use can add and subtract skills, that would be appreciated.

Hello guys, another silly request, this comes from two people, lol, could we change savage blow from the current version (Damages enemies within two tiles of the attacker) to the heroes version? (damages enemies within two tiles of target) Or add a new skill.

If it is too hard don’t worry, I understand.

1 Like

The way you change which skills are included is very simple, just go to the skill_definitions.event file and set any skill you don’t want to 255, then set any skill you do want to a number other than 0 or 255, you just need to make sure to not make skills share a number (other than 255).

1 Like

It’s kinda barking up the wrong tree to be asking in the skill system thread for changes as to what the builder patch should include (that should be directed at 7743), as Leonarth said.

Sidenote, but Miracle is not a proc skill as implemented in Skill System, so it would not be affected by Rightful Arch.

1 Like

Yes, you use the Skill System buildfile, the method that the Skill System was originally made for and is continually developed with. Forcing this huge, modular project which is designed to be rebuilt and changed to your whims into a static patch is going to have unavoidable problems. Can it fit into a nice GUI now? I suppose, but you’re now chained to the GUI.
In choosing FEBuilder over buildfiles, one of the downsides you accept is that you lose control over what you can do, especially when it comes to the Skill System. If you complain after the fact… sorry? You chose your hacking method, and you should have considered this downside.
Can we in general not clog this thread with “The Skill System doesn’t do exactly what I want it to in FEBuilder?” so that bug reports, updates, and requests don’t get buried?

Yeah this could be pretty easy to implement: likely just shuffling a couple registers in the source for Savage Blow. Though, if this is going to be an addition to the Skill System master, it would likely be best to make a new skill.

6 Likes

I’d like to add onto this and say that you don’t have to use the big ‘install skill system’ button in FEBuilder. You can configure and install the skill system as it was intended, and then edit the resulting rom with FEBuilder. Does this method have disadvantages? Of course, you’re still forcing a square peg into a round hole. I imagine it would be tricky doing this with an in progress project, but there’s no reason that it’s impossible.

It all depends on how much you want it. If you really want to use FEBuilder to hack and have a customized skill system? Then figure out a way to do it that works for you. In the end it’s your romhack. It’s not 7743’s (as helpful as he is), or the skill system contributors’, or anyone else’s. If you want something, then either go and make it happen, or decide that it’s not worth the time investment and settle for what you’ve already got.

7 Likes

Is there a way to make usable skill scrolls or something similar using FEBuilder?