Esempio n. 1
0
            public static bool HasWrapChance(AutoStellarNavigation self, PlayerMove_Sail __instance)
            {
                bool LocalPlanetWarp()
                {
                    if (GameMain.localPlanet != null && self.target.TargetPlanet.id == GameMain.localPlanet.id)
                    {
                        return(false);
                    }
                    else if ((__instance.player.uPosition - self.target.TargetPlanet.uPosition).magnitude < (self.localWrapMinDistance))
                    {
                        return(false);
                    }
                    else
                    {
                        return(true);
                    }
                }

                if (self.IsCurNavStar() || LocalPlanetWarp())
                {
                    if (__instance.player.mecha.thrusterLevel >= 3)
                    {
                        if (__instance.mecha.coreEnergy > __instance.mecha.warpStartPowerPerSpeed * (double)__instance.mecha.maxWarpSpeed)
                        {
                            if (GetWraperCount(__instance) <= 0)
                            {
                                return(false);
                            }
                            else
                            {
                                return(true);
                            }
                        }
                        else
                        {
                            return(false);
                        }
                    }
                    else
                    {
                        return(false);
                    }
                }
                else
                {
                    return(false);
                }
            }
Esempio n. 2
0
            public VectorLF3 GetDir(AutoStellarNavigation __this, Player __instance)
            {
                VectorLF3 dir = VectorLF3.zero;

                if (__this.IsCurNavStar())
                {
                    dir = (TargetStar.uPosition - __instance.uPosition).normalized;
                }
                else if (__this.IsCurNavPlanet())
                {
                    dir = (TargetPlanet.uPosition - __instance.uPosition).normalized;
                }
                else
                {
                    ModDebug.Error("GetDir While No Target!!!");
                }

                return(dir);
            }