mirror of
https://github.com/Outer-Wilds-New-Horizons/new-horizons.git
synced 2025-12-11 20:15:44 +01:00
Make map-mode/altimeter not work when its a satellite
This commit is contained in:
parent
5033173b66
commit
ec3d2ed1b9
@ -7,7 +7,7 @@ namespace NewHorizons.Atmosphere
|
||||
{
|
||||
static class VolumesBuilder
|
||||
{
|
||||
public static void Make(GameObject body, float innerRadius, float outerRadius)
|
||||
public static void Make(GameObject body, float innerRadius, float outerRadius, IPlanetConfig config)
|
||||
{
|
||||
GameObject volumesGO = new GameObject("Volumes");
|
||||
volumesGO.SetActive(false);
|
||||
@ -24,17 +24,18 @@ namespace NewHorizons.Atmosphere
|
||||
SS.pointChecksOnly = true;
|
||||
SS.radius = outerRadius;
|
||||
|
||||
/*OWTriggerVolume trigvol = */
|
||||
rulesetGO.AddComponent<OWTriggerVolume>();
|
||||
|
||||
PlanetoidRuleset PR = rulesetGO.AddComponent<PlanetoidRuleset>();
|
||||
PR.SetValue("_altitudeFloor", innerRadius);
|
||||
PR.SetValue("_altitudeCeiling", outerRadius);
|
||||
PR._altitudeFloor = innerRadius;
|
||||
PR._altitudeCeiling = outerRadius;
|
||||
PR._useMinimap = !config.Base.IsSatellite;
|
||||
PR._useAltimeter = !config.Base.IsSatellite;
|
||||
|
||||
EffectRuleset ER = rulesetGO.AddComponent<EffectRuleset>();
|
||||
ER.SetValue("_type", EffectRuleset.BubbleType.Underwater);
|
||||
ER.SetValue("_material", GameObject.Find("RulesetVolumes_GD").GetComponent<RulesetVolume>().GetValue<Material>("_material"));
|
||||
ER.SetValue("_cloudMaterial", GameObject.Find("RulesetVolumes_GD").GetComponent<RulesetVolume>().GetValue<Material>("_cloudMaterial"));
|
||||
ER._type = EffectRuleset.BubbleType.Underwater;
|
||||
ER._material = GameObject.Find("RulesetVolumes_GD").GetComponent<RulesetVolume>().GetValue<Material>("_material");
|
||||
ER._cloudMaterial = GameObject.Find("RulesetVolumes_GD").GetComponent<RulesetVolume>().GetValue<Material>("_cloudMaterial");
|
||||
|
||||
volumesGO.transform.localPosition = Vector3.zero;
|
||||
rulesetGO.SetActive(true);
|
||||
|
||||
@ -22,22 +22,22 @@ namespace NewHorizons.Builder.General
|
||||
ReferenceFrameVolume RFV = rfGO.AddComponent<ReferenceFrameVolume>();
|
||||
|
||||
ReferenceFrame RV = new ReferenceFrame(rigidbody);
|
||||
RV.SetValue("_minSuitTargetDistance", sphereOfInfluence);
|
||||
RV.SetValue("_maxTargetDistance", 0);
|
||||
RV.SetValue("_autopilotArrivalDistance", sphereOfInfluence * 2f);
|
||||
RV.SetValue("_autoAlignmentDistance", sphereOfInfluence * 1.5f);
|
||||
RV._minSuitTargetDistance = sphereOfInfluence;
|
||||
RV._maxTargetDistance = 0;
|
||||
RV._autopilotArrivalDistance = 2.0f * sphereOfInfluence;
|
||||
RV._autoAlignmentDistance = sphereOfInfluence * 1.5f;
|
||||
|
||||
RV._hideLandingModePrompt = false;
|
||||
RV._matchAngularVelocity = true;
|
||||
RV._minMatchAngularVelocityDistance = 70;
|
||||
RV._maxMatchAngularVelocityDistance = 400;
|
||||
RV._bracketsRadius = sphereOfInfluence;
|
||||
|
||||
RV.SetValue("_hideLandingModePrompt", false);
|
||||
RV.SetValue("_matchAngularVelocity", true);
|
||||
RV.SetValue("_minMatchAngularVelocityDistance", 70);
|
||||
RV.SetValue("_maxMatchAngularVelocityDistance", 400);
|
||||
RV.SetValue("_bracketsRadius", sphereOfInfluence);
|
||||
|
||||
RFV.SetValue("_referenceFrame", RV);
|
||||
RFV.SetValue("_minColliderRadius", sphereOfInfluence);
|
||||
RFV.SetValue("_maxColliderRadius", sphereOfInfluence * 2f);
|
||||
RFV.SetValue("_isPrimaryVolume", true);
|
||||
RFV.SetValue("_isCloseRangeVolume", false);
|
||||
RFV._referenceFrame = RV;
|
||||
RFV._minColliderRadius = sphereOfInfluence;
|
||||
RFV._maxColliderRadius = sphereOfInfluence * 2f;
|
||||
RFV._isPrimaryVolume = true;
|
||||
RFV._isCloseRangeVolume = false;
|
||||
|
||||
rfGO.SetActive(true);
|
||||
}
|
||||
|
||||
Loading…
x
Reference in New Issue
Block a user