[Aero Framework] Help with organization

Hi, and thanks for reading in advance.

I’m making a medieval fast-paced fighter in which players can choose from one of five classes and compete in a round-based free-for-all. When initially spawning in or on every respawn, players can access the shop and purchase weapons and side-items for their class using the gold they earned in combat. Purchased equipment persists until the round ends.

Weapons are designed as side-grades to the default equipment, and all weapons including the default gear can be upgraded through Mastery; continued use of the weapon earns experience that can level up the weapon up to five times. Mastery levels grant unique bonuses such as new abilities, reduced cooldowns, higher damage, wider attack range, greater effects, etc.

With that said, I’m completely new to using the Aero Framework, and while I grasp the basic features, I’m having trouble coding things in an efficient manner.

I have just a few questions regarding the best way to go about this:

  1. I created this module in the Shared folder so that the client would be able to access various display data about the user’s currently equipped weapon. I’d like to include the server code that handles ability activation in these entries, but then the client would be able to access that same code. Seeing as this is a list of every weapon in the game, it seems redundant to create a copy of this table on a service just to store ability functions. Is there any way around this?

  2. Pertaining to my first question, I would also need a table of every weapon’s client code as well, seeing as each weapon has a unique set of abilities with varying animations, effects, pointers to data, etc.

Is there some way I can centralize all of this, or am I overthinking it?