Framework for skills

Hey everyone, I have a few questions when it comes to making a skill framework. I made a few in the past but I was wondering what is the best practice for making a skill framework. Knowing I wanna script around 50 skills, including SFX, VFX and Animations.

My idea was this here: I make one module script that will contain the name of all the skills and details, one server script, one local script and 50 more module scripts (one for each skill). As of now I am not sure how to setup the skill as it has server side (logic, hitbox, events) and local side (events, keybind, vfx, sfx, animations). Should I do 100 modules, as in 50 local and 50 server? I don’t wanna put some server scripting and local scripting into one module as it would have to go into a local script.

Thank you so much for your sharing your advice!!

2 Likes

what i do is:
make a dictionary that contains all the data about the skills.
Than I make a tool object with OOP to properly retrieve deepcopied data and use some methods for the tools also to properly destroy everything.
Which also allows for more organized scripts due to i can get any information from self.

I don’t think you should do 50 module scripts, put the skills in same module script if they are in the same category. Don’t go more than 1k lines, it will hurt intellisense etc., reducing your speed.

Mixing it with some functional programming like getDamage, checkExistance, handleAnchor, handleDamage etc. will reduce lines immensely.

Also a main module that handles cooldowns and checks before skill usage might be necessary.