Godot Version
Replace this line with your Godot version
Question
I’ve been trying to make a system for abilities in my 3d godot game. I originally tried the method I had used previously for guns in a fps game I made. Defined a bunch of stat’s and had a managing node handle instantiating from the resource ect. But I found that I wanted a more broad range of things for abilities to do. You know, defining ammo on a ability that teleports you seems messy, and I thought that might be fine as long as I used modular terminology for the resources things such as func use() and stuff like that but I was having a hard time with resources only being able to have data pulled out and not put any data into them. After that I tried having resources house a script that I append to the player so that they can run it, this fixed the 2 way data stream issue but the player became a God object with so much data housed in them. I want a system where I can run custom logic for different abilities stored in resources that has no issue communicating between the resource the player and the world. If anyone has had a similar problem I’d appreciate some insight
func _ready() -> void:
print("hello world")

