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

I believe I found the cause of this bug.

In the CanUnitWieldWeapon.s file, the ASM used in the IsUnitStatused portion of the code had a type.

I believe that Line 123, which is the operation “and r0,r1” is a typo. When compared to the original routine, this should be an “add” operation, not “and”. As such, the proper code for the routine should be as below.

Summary

IsUnitStatused:
mov r0,r4
add r0,#0x30
ldrb r1,[r0] @This is the status byte?
mov r0,#0xF @status 0xF = stone
and r0,r1
ldr r3,ItemTable
cmp r0,#3
bne PrepareExternalLoop
mov r1,#0xFF
and r1,r5
lsl r0,r1,#3
add r0,r1
lsl r0,r0,#2
add r0,r3
ldr r0,[r0,#8]
mov r1,#2
and r0,r1
cmp r0,#0
beq PrepareExternalLoop

2 Likes

I found another bug.
An unit that has a debuff greater than the unit’s stat makes it go over 250
SkillsTest_01 SkillsTest_02
This only happens with the Str/Mag Split, not in the regular version.

3 Likes

Jo, that guy did his training

I dare anyone to do distant counter you cowards

2 Likes

sorry, I reply was late.
I have confirmed that this fix works correctly.

I hope the SkillSystems github repository will be fixed.

2 Likes

I found a bug in ReaverSplit.

I found a bug in Rally Spectrum(Lull.s).

3 Likes

Thanks for reporting these! I’ve added your fixes to these three issues as well as Blademaster’s CanUnitWieldWeapon fix to a currently pending pull request.

3 Likes

I’ve found one problem and report it.
ifdef is required.

SkillSystem\Skills\EffectivenessSkills\EffectivenessSkills.event
Old

#include "Nullify/Nullify.event" //includes effectiveness rework installation

#include "EffectivenessRework.event" //for setting up reworked effectiveness

New

#include "Nullify/Nullify.event" //includes effectiveness rework installation

#ifdef ENABLE_SLAYER_AND_EFFECTIVENESS_REWORK
#include "EffectivenessRework.event" //for setting up reworked effectiveness
#else
#endif //ENABLE_SLAYER_AND_EFFECTIVENESS_REWORK

SLAYER_AND_EFFECTIVENESS_REWORK will be executed even if ENABLE_SLAYER_AND_EFFECTIVENESS_REWORK is disabled.
After that, the item editor.csv of Tables forcibly overwrites the contents of vanilla, so it works properly somehow.
However, SLAYER_AND_EFFECTIVENESS_REWORK consumes about 100 bytes of wasted space.

I recently updated from the October 2019 version to the February 2020 version. Some great new features! Only issue I’m running into is that every unit seems to be under the effect of “Triangle Adept”, regardless of whether they have that skill. A unit who learns it sees no benefit. This could easily be an issue on my end, but thought I’d mention it.

I think this problem is just forgetting “add r4, #0x5A”.

SkillSystem_FE8-master\Engine Hacks\Strmag\Str Mag Split\Combat
Str or Mag Damage.asm

.thumb
.org 0x0

mov 	r0,#0x5A
strh	r5,[r4,r0]
mov 	r0,#0x4C
mov		r7,#0x14
ldr		r0,[r4,r0]
mov		r5,#0x2
tst		r5,r0
beq		IsStr
Magic:
mov		r7,#0x3A
IsStr:
ldrb	r7,[r6,r7]
mov		r5,#0x5A
ldrh	r0,[r4,r5]	@current damage
add		r0,r7
strh	r0,[r4,r5]
b		End

End:
add		r4,#0x5A @for stone  <-------!!!
bx		r14

This function is inserted into 0x2AB4C of FE8U.
In vanilla, “add r4, #0x5a” is issued.
The person who wrote this code forgot to increase the r4 register.

Forgetting it has affected the latter branch.
Mistakes become noticeable when branching to stone at 0x2AB62.

0802AB4C 345A   add r4, #0x5a   //Fixed Skill SkillSystems 20171130(スキル拡張)@0002AB4C.bin@BIN
0802AB4E 8025   strh r5, [r4, #0x0]
0802AB50 2014   mov r0, #0x14   //ResをMagicとして利用するパッチ 20171125(Install)@@EA
0802AB52 5630   ldsb r0, [r6, r0]
0802AB54 1828   add r0 ,r5, r0
0802AB56 8020   strh r0, [r4, #0x0]
0802AB58 1C30   mov r0 ,r6
0802AB5A 3048   add r0, #0x48
0802AB5C 8800   ldrh r0, [r0, #0x0]
0802AB5E F7EC FCC5   bl 0x080174ec   //GetItemIndex
0802AB62 28B5   cmp r0, #0xb5 //stone <---!!!!!!!!!!!!!!!!!!
0802AB64 D101   bne #0x802ab6a
    0802AB66 2000   mov r0, #0x0
    0802AB68 8020   strh r0, [r4, #0x0]
0802AB6A BC08   pop {r3}
0802AB6C 4698   mov r8, r3
0802AB6E BCF0   pop {r4,r5,r6,r7}
0802AB70 BC01   pop {r0}
0802AB72 4700   bx r0

Therefore, I think that it works by just adding “add r4, #0x5A” to the end of “Str or Mag Damage.asm”.

1 Like

Can you prove that bug?
or Can you send report7z?

1

2

3

4

5

7

6

So I was wrong, Triangle Adept is clearly adding +2 damage, so it is doing something (I thought it would also reduce the enemies Hit - kinda wish it did). But why +2? It’s as if the base Triangle bonus is being counted as +/- 30 and +/- 2 damage. This is my Weapon Triangle screen:

8

If I change these values, the effects in-game are doubled. So lowering to +/- 5 hit, in-game drops from +/- 30 to +/- 10.

1 Like

in SkillSystems, it seems that the Weapon triangle is calculated twice.

The following settings were used for easy calculation.
(This time, I forgot to turn off the Leadership star.)

Weapon triangle: 0

Vanilla:
image

SkillSystems:
image

Weapon triangle: 10

Vanilla:
image

SkillSystems:
image

Weapon Triangle : Hit=0 Attack=0
Vanilla: 
Mt 10 vs 8, Hit 56 vs 85 ,Crit 0 vs 14

SkillSystems: 
Mt 10 vs 8, Hit 50 vs 95 ,Crit 0 vs 14


Weapon Triangle : Hit=10 Attack=1
Vanilla: 
Mt 9 vs 9, Hit 46 vs 95 ,Crit 0 vs 14

SkillSystems: 
Mt 8 vs 10, Hit 30 vs 100 ,Crit 0 vs 14

I think that is new bug.

This is because I did mistake.
When fixed the bug in ReverseWeaponTriangle, I also fixed DoubleWeaponTriangle, which is written the same way.
However, DoubleWeaponTriangle was written correctly.
It should not have been fixed.

.global DoubleWeaponTriangle
.type DoubleWeaponTriangle, %function
DoubleWeaponTriangle:
@r0=attacker
@r1=defender

push {r4-r5,r14}
mov r4,r0 @attacker
mov r5,r1 @defender

@load equipped item's weapon ability word
ldr r0,[r4,#0x4C]
ldr r1,=0x00400000
and r0,r1
cmp r0,#0
beq DoubleWTAEffectBitSet // <<--- bne DoubleWTAEffectBitSet

@check if defender has double WTA weapon too
ldr r0,[r5,#0x4C]
ldr r1,=0x00400000
and r0,r1
cmp r0,#0
bne Return @if they do, don't double WTA effect // <<--- beq Return

The FEBuilderGBA patch has been fixed.
If you update SkillSystems 20200223 after updating to the latest version, the modified version will be applied.

However, if you updated SkillSystems earlier than that, please use the hotfix patch.

Fix ReaverSplit Glitch for SkillSystems 20200223

If this patch is ready for installation, install it because it has a bug.
If it cannot be installed, the problem has already been fixed.

1 Like

I wish to report a small bug. I have the most recent patch of skillsystems, and it seems equipped weapons are no longer giving the skill I told them to give. I have a silver lance trying to give the Adept skill when equipped (Skill id 0A for reference), but it doesn’t seem to work anymore. the weapon functions like normal, but it’s just not giving the skill to the unit that equipped it.

If you are using FEBuilderGBA, please send report7z.

SkillSystems’ StrMagSplit disables worldmap skirmishes.

The cause is the following file of SkillSystems.

SkillSystems-Master\Engine Hacks\Strmag\Chapter.event

In FEBuilderGBA, it is an item called “Map Loading Process”.

This value describes the characteristics of the map.
This value is one of the causes of crash when trying to load the map properly on MNC2.
(There is currently no need to change this table with patches to improve MNC2.)

“Chapter.event” sets all maps as maps that can be loaded from anywhere.
As a result, skirmishes have been disabled for all maps.
Retreat is not possible because skirmishes are disabled.

Why do you need to configure the map with strmag split patches?
This is very strange.

Even if comment out “Chapter.event” all, it seems that there is no problem in operation.
I tried Suppend etc, but there was no problem.

I suspect that this file was accidentally merged.

1 Like

Please fix this issue, guys. It’s fu***** up my hack :confused:
It makes skirmishes replay main missions and people can’t retreat from them, the Tower of Vani, nor Ladgou Ruins.

if you so desperately need a fix, either don’t use skill system or fix it yourself
otherwise be prepared to wait until someone else feels like fixing it :C

1 Like

Rude, much? If I knew how to fix it, I would’ve tried already. And it’s not like I can unistall it now, since my hack is basically complete and I balanced everything around the skill system.

Edit: not to mention those are basic functionalities the skill sytem is removing.