Unable to call variable from transform

I’m not doing something right here, I’ve tried a few ways… but here is what I’m trying to do in general, this code will give anyone the basic idea

	void attackTarget() {
		rct.target.doDamage();
	}
	
	void doDamage() {
		npch.AdjustCurrentHealth(-10);
	}

Basically, I’m trying to do the damage to set target (Cube) which they all have a health-script set to them. I don’t understand how to do this correctly.

rct.target is the selected cube.
I don’t know how to call the NPCH (NPCHealthHandler) from the Transform thing, /:

Basically, what this code ammounts to is this.

RaycastTargetting.target.NPCHealthHandler.AdjustCurrentHealth(-10);

If NPCHealthHandler is a script, you must get the correct instance with GetComponent. Supposing that rct.target is the target transform (or collider, or gameObject, or any other target reference), you should do the following:

void attackTarget(){
  NPCHealthHandler npch = rct.target.GetComponent<NPCHealthHandler>();
  if (npch) npch.AdjustCurrentHealth(-10);
}

This code tries to get the NPCHealthHandler script attached to the object referenced by rct.target - if such script exists in the object, the function AdjustCurrentHealth(-10) is called.

This is the millionth question about Accessing Other Components or other Gameobjects