## Bug fixes

- Coordinate interface orb no longer tries to return to its raised
position on Vessel when first entering a custom star system. Fixes #958
This commit is contained in:
xen-42 2025-01-10 18:21:15 -05:00 committed by GitHub
commit e397d627ad
No known key found for this signature in database
GPG Key ID: B5690EEEBB952194

View File

@ -249,7 +249,8 @@ namespace NewHorizons.Handlers
var power = vesselWarpController.transform.Find("PowerSwitchInterface");
var orb = power.GetComponentInChildren<NomaiInterfaceOrb>(true);
Delay.FireOnNextUpdate(() => SetupWarpController(vesselWarpController, orb));
// Run after Start (when pillar is lowered immediately) and then skip 100 frames so that the weird orb rising thing doesn't happen #958
Delay.RunWhenAndInNUpdates(() => SetupWarpController(vesselWarpController, orb), () => !vesselWarpController._coordinateInterface._pillarRaised, 100);
return spawnPoint;
}
@ -291,7 +292,8 @@ namespace NewHorizons.Handlers
var power = vesselWarpController.transform.Find("PowerSwitchInterface");
var orb = power.GetComponentInChildren<NomaiInterfaceOrb>(true);
Delay.FireOnNextUpdate(() => SetupWarpController(vesselWarpController, orb, true));
// Run after Start (when pillar is lowered immediately) and then skip 100 frames so that the weird orb rising thing doesn't happen #958
Delay.RunWhenAndInNUpdates(() => SetupWarpController(vesselWarpController, orb, true), () => !vesselWarpController._coordinateInterface._pillarRaised, 100);
return vesselSpawnPoint;
}
@ -356,7 +358,7 @@ namespace NewHorizons.Handlers
orb.SetOrbPosition(vesselWarpController._coordinatePowerSlot.transform.position);
orb._occupiedSlot = vesselWarpController._coordinatePowerSlot;
orb._enterSlotTime = Time.time;
Delay.RunWhen(() => !vesselWarpController._coordinateInterface._pillarRaised, () => vesselWarpController.OnSlotActivated(vesselWarpController._coordinatePowerSlot));
vesselWarpController.OnSlotActivated(vesselWarpController._coordinatePowerSlot);
vesselWarpController._coordinateCable.SetPowered(true);
vesselWarpController._cageClosed = true;
if (vesselWarpController._cageAnimator != null)