Multicrew Tank Combat Script -

// Apply track damage penalty if (trackHealthLeft < 30f) leftTrackSpeed *= 0.5f;

bool hasAuthorityForRole(string role) { // Check if local player's assigned role matches return (role == "Driver" && isDriver); } multicrew tank combat script

void UpdateSpotting() { if (Input.GetMouseButtonDown(1)) // right-click { RaycastHit hit; if (Physics.Raycast(commanderCamera.transform.position, commanderCamera.transform.forward, out hit, 800f)) { TargetData target = new TargetData(hit.transform.gameObject, hit.point, Time.time); RpcBroadcastTarget(target); // Audio cue to gunner: "Target, 2 o'clock, 400 meters!" AudioManager.PlaySpottingVoiceLine(CalculateDirection(hit.point), Vector3.Distance(transform.position, hit.point)); } } } // Apply track damage penalty if (trackHealthLeft &lt;

// Apply transforms turretTransform.localRotation = Quaternion.Euler(0, turretAngle, 0); gunTransform.localRotation = Quaternion.Euler(-gunElevation, 0, 0); } 30f) leftTrackSpeed *= 0.5f