Issue was that the enemy extended the class that did the stats logic and I didn’t delete the ready and process functions, thus overriding them with empty blocks of code.
I believe the problem is you putting this in _init(), because _init is called before innitializing any values from the inspector, so when you set current_health = health, you are basically setting 0 = 0 before Godot does health = 100. Maybe you didn’t even need my answer, but here we go