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

Swapping siege tome enemies.

I WILL find a way to use this in the cruelest and most evil manner.

4 Likes

Hello,

can i play this in a normal FE 8 run? I always get the Boss Rush chapter. I dont know if there is a easy way without hacking it myself. o:

One must ask how it makes sense with any ranged weapon at all

There is an easy way: hack it yourself.

1 Like

I see.

Well thank you for the answer. I wish i could do that by myself, but i dont have much time to learn it, especially something that is that advanced…
Still very cool to see what is possible. Nice work. :slight_smile:

What skills still need icons?

Lucky for you @MarkyJoe1990 did that for you:
https://www.dropbox.com/s/0w261m2l3ie9sq9/Skills%20System_vanilla.7z?dl=0[quote=“ukulelej, post:127, topic:2312, full:true”]
What skills still need icons?
[/quote]

All the skills I have currently already have icons, but if you have more then I’ll take em

Oh sweet. Thank you @MarkyJoe1990! :>

First of all, I have to say, this is incredibly awesome. I never thought I’d see a fully-fleshed out skill system on GBA in all the time I’ve been lurking the hacking community. This is very impressive work and great job to everyone who made this happen! I guess that gives me one less reason to ever play 3DS FE again :stuck_out_tongue:

I do have a few questions though. First, I can’t seem to figure out how exactly the Personal Skills are being determined. For example, despite not being in the skill_lists file, Eirika has Charm by default, and Seth has Savior. I opened up (what I thought to be) the most relevant event files and no dice. Even looking in the Personal Skills nmm indicates that she shouldn’t have a personal skill, and yet she does, so I must be missing something.

Also, I’m wondering if it would break anything to add more classes to the skill_lists event. For example, could I add a FordeCavalierSkillList, a new Forde Cavalier Class, and give him a different set of skills to learn other than the default Cavalier skills? Or is this made strictly with the default class table in mind?

Either way this is amazing and will be a ton of fun to mess around with.

Characters can have skills unique to them

Yeah, that’s what I got from this post. Where I’m confused is where/how you would edit that. Like I said, it seems like Eirika has Charm by default, and I’m not sure how I would change that into something else. It’s not indicated in the skill_lists event or in the Personal Skills nmm.

To be clear, I’m talking about adding a completely separate class to the skill_lists (one that isn’t already defined within). That way if I wanted each cavalier to have their own caps, skillsets, etc. I could do so.

does this answer your question?

I can’t help but feel like there’s some kind of communication malfunction here.

I understand that by using the skill_lists file I can change who learns what, and when, _based on the classes that already exist in the default class table._emphasized text___But I’m not sure that it’s open to custom classes, or even monster classes from what I can see, unless I have a fundamental misunderstanding of this file.

Also, in that same file, there’s no mention of any personal skills. Bond and Aether are not personal skills, they are class skills. Yet when I load the game, characters have personal skills (Eirika with Charm, Seth with Savior). So logically it must be possible to customize these as well. I’m just not sure how it’s being determined.

Tables/fe8 nightmare modules/fe8 personal skills editor.csv

3 Likes

After testing stuff with this for a few days, I have concluded that this is simply amazing.

There were a few strange things though. The Counter skill will kill the attacker if Current HP = Damage Dealt, which I assume is unintentional. I didn’t check CounterMagic, although I wouldn’t be surprised if the same thing happens there.

Also, for whatever reason, Savior doesn’t work in the FE8_vanilla version of the Skills System, yet works perfectly fine in the original version from the OP.

yeah i’ve been fixing up bugs here and there including counter/countermagic and savior, but it happens so often i don’t make a post for it until i have something important

From some personal testing of mine, this patch doesn’t seem to currently work with Icecube’s class expansion patch? Class expansion patch

When you suspend or save, you get the same class reversion issue.

I’m trying to install the skill system into a clean FE8 ROM and I’m having an issue.

When I run the MAKE HACK_full file it seems to throw up error messages.

Any help?

what are the error messages

1 Like

I’m getting a Win32Exception when it gets to the Event Assembler part.

************** Exception Text **************
System.ComponentModel.Win32Exception (0x80004005): The specified executable is not a valid application for this OS platform.
at System.Diagnostics.Process.StartWithCreateProcess(ProcessStartInfo startInfo)
at System.Diagnostics.Process.Start()
at Nintenlord.Event_Assembler.Core.Code.Preprocessors.Directives.IncludeExternal.Apply(String parameters, IDirectivePreprocessor host)
at Nintenlord.Event_Assembler.Core.Code.Preprocessors.Preprocessor.HandleDirective(String line)
at Nintenlord.Event_Assembler.Core.Code.Preprocessors.Preprocessor.Process(String line, IInputStream inputStream)
at Nintenlord.Event_Assembler.Core.Code.PreprocessingInputStream.ReadLine()
at Nintenlord.Event_Assembler.Core.Code.Language.Lexer.TokenScanner.MoveNext()
at Nintenlord.Event_Assembler.Core.Code.Language.Parser.StatementParser1.ParseMain(IScanner1 scanner, Match1& match) at Nintenlord.Parser.Parser2.Parse(IScanner1 scanner, Match1& match)
at Nintenlord.Event_Assembler.Core.Code.Language.Parser.StatementParser1.ParseMain(IScanner1 scanner, Match1& match) at Nintenlord.Parser.Parser2.Parse(IScanner1 scanner, Match1& match)
at Nintenlord.Parser.ParserCombinators.UnaryParsers.NameParser2.ParseMain(IScanner1 scanner, Match1& match) at Nintenlord.Parser.Parser2.Parse(IScanner1 scanner, Match1& match)
at Nintenlord.Parser.ParserCombinators.ManyParser2.<Enumerate>d__0.MoveNext() at System.Collections.Generic.List1…ctor(IEnumerable1 collection) at System.Linq.Enumerable.ToList[TSource](IEnumerable1 source)
at Nintenlord.Parser.ParserCombinators.RepeatingParser2.ParseMain(IScanner1 scanner, Match1& match) at Nintenlord.Parser.Parser2.Parse(IScanner1 scanner, Match1& match)
at Nintenlord.Event_Assembler.Core.Code.Language.Parser.ScopeParser1.ParseMain(IScanner1 scanner, Match1& match) at Nintenlord.Parser.Parser2.Parse(IScanner1 scanner, Match1& match)
at Nintenlord.Parser.ParserCombinators.TransformParser3.ParseMain(IScanner1 scanner, Match1& match) at Nintenlord.Parser.Parser2.Parse(IScanner1 scanner, Match1& match)
at Nintenlord.Event_Assembler.Core.Code.Language.Expression.TokenParser1.ParseMain(IScanner1 scanner, Match1& match) at Nintenlord.Parser.Parser2.Parse(IScanner1 scanner, Match1& match)
at Nintenlord.Event_Assembler.Core.Code.Language.EAExpressionAssembler.Assemble(IPositionableInputStream input, BinaryWriter output, ILog log)
at Nintenlord.Event_Assembler.Core.Program.Assemble(EACodeLanguage language, TextReader input, BinaryWriter output, ILog log)
at Nintenlord.Event_Assembler.Core.Program.Assemble(String inputFile, String outputFile, String languageName, ILog messageLog)
at Nintenlord.Event_Assembler.UserInterface.MainForm.<.ctor>b__3_1(Object sender, DoWorkEventArgs args)
at System.ComponentModel.BackgroundWorker.OnDoWork(DoWorkEventArgs e)
at System.ComponentModel.BackgroundWorker.WorkerThreadStart(Object argument)

************** Loaded Assemblies **************
mscorlib
Assembly Version: 4.0.0.0
Win32 Version: 4.6.1055.0 built by: NETFXREL2
CodeBase: file:///C:/Windows/Microsoft.NET/Framework/v4.0.30319/mscorlib.dll

Event assembler
Assembly Version: 1.1.0.0
Win32 Version: 1.1.0.0
CodeBase: file:///D:/romhacking/fe8skills/Event%20assembler.exe

System.Windows.Forms
Assembly Version: 4.0.0.0
Win32 Version: 4.6.1055.0 built by: NETFXREL2
CodeBase: file:///C:/Windows/Microsoft.Net/assembly/GAC_MSIL/System.Windows.Forms/v4.0_4.0.0.0__b77a5c561934e089/System.Windows.Forms.dll

System
Assembly Version: 4.0.0.0
Win32 Version: 4.6.1055.0 built by: NETFXREL2
CodeBase: file:///C:/Windows/Microsoft.Net/assembly/GAC_MSIL/System/v4.0_4.0.0.0__b77a5c561934e089/System.dll

System.Drawing
Assembly Version: 4.0.0.0
Win32 Version: 4.6.1055.0 built by: NETFXREL2
CodeBase: file:///C:/Windows/Microsoft.Net/assembly/GAC_MSIL/System.Drawing/v4.0_4.0.0.0__b03f5f7f11d50a3a/System.Drawing.dll

System.Configuration
Assembly Version: 4.0.0.0
Win32 Version: 4.6.1055.0 built by: NETFXREL2
CodeBase: file:///C:/Windows/Microsoft.Net/assembly/GAC_MSIL/System.Configuration/v4.0_4.0.0.0__b03f5f7f11d50a3a/System.Configuration.dll

System.Core
Assembly Version: 4.0.0.0
Win32 Version: 4.6.1055.0 built by: NETFXREL2
CodeBase: file:///C:/Windows/Microsoft.Net/assembly/GAC_MSIL/System.Core/v4.0_4.0.0.0__b77a5c561934e089/System.Core.dll

System.Xml
Assembly Version: 4.0.0.0
Win32 Version: 4.6.1055.0 built by: NETFXREL2
CodeBase: file:///C:/Windows/Microsoft.Net/assembly/GAC_MSIL/System.Xml/v4.0_4.0.0.0__b77a5c561934e089/System.Xml.dll

Nintenlord.Forms
Assembly Version: 1.0.0.0
Win32 Version: 1.0.0.0
CodeBase: file:///D:/romhacking/fe8skills/Nintenlord.Forms.DLL

Core
Assembly Version: 11.0.0.0
Win32 Version: 11.0
CodeBase: file:///D:/romhacking/fe8skills/Core.EXE

Nintenlord
Assembly Version: 1.0.0.0
Win32 Version: 1.0.0.0
CodeBase: file:///D:/romhacking/fe8skills/Nintenlord.DLL

Accessibility
Assembly Version: 4.0.0.0
Win32 Version: 4.0.30319.17929 built by: FX45RTMREL
CodeBase: file:///C:/Windows/Microsoft.Net/assembly/GAC_MSIL/Accessibility/v4.0_4.0.0.0__b03f5f7f11d50a3a/Accessibility.dll