I can't see how changing values in the editor helps me to make distinct copies of the instance without _ready() being called which loads all the meshes and creates the colliders while running.
I want to do the equivalent of:
var TankBase = preload("the scene file")
func _ready():
aitank = TankBase.instance()
playertank = playertank.copy() # So _ready() doesn't run again
playertank.controlscript = playerscript (without wiping out everything loaded by aitank)
aitank and playertank both have all the colliders loaded and built in code but player tank gets extra script commands for movement etc. I can do it by creating two different scenes and instancing those but both would need to load meshes from disk etc. If the game has 20 different vehicles that means a LOT of loading time. I would rather load each one once and make copies with different scripts controlling them