Note Didn't necessarily understand how to word my question but I tried my best.
So I'm fairly new to Godot and game engines in general and a big question mark for me regarding game development in an engine is how to place and structure things.
I'm aware in OOP languages like C# you can have one base class, and many sub classes for the base class. Each base class can have their own defined functions
For example, a "MagicSpell" base class with two subclasses "Fireball" and "Icebeam". MagicSpell would contain the essential info regarding every spell, but Fireball can have a Cast() function to deal 100 damage and apply a burn, while Icebeam might deal 50 damage to multiple enemies and freeze them in place.
I've never understood how exactly to store or structure things like this in a game engine, and Godot is no exception.
I tried to look things up but without any luck. If possible, can someone point me in the right direction or provide some resources so I can better understand how Godot structures these things?
I've looked at the documentation but was very confused.