コード例 #1
0
        internal void Timings()
        {
            _paused = false;
            Tick++;
            Tick10   = Tick % 10 == 0;
            Tick20   = Tick % 20 == 0;
            Tick60   = Tick % 60 == 0;
            Tick120  = Tick % 120 == 0;
            Tick180  = Tick % 180 == 0;
            Tick300  = Tick % 300 == 0;
            Tick600  = Tick % 600 == 0;
            Tick1800 = Tick % 1800 == 0;
            Tick3600 = Tick % 3600 == 0;

            if (Tick60)
            {
                if (Av.ExplosionCounter - 5 >= 0)
                {
                    Av.ExplosionCounter -= 5;
                }
                else
                {
                    Av.ExplosionCounter = 0;
                }
            }

            if (++SCount == 60)
            {
                SCount = 0;
            }
            if (++QCount == 15)
            {
                QCount = 0;
            }
            if (++AwakeCount == AwakeBuckets)
            {
                AwakeCount = 0;
            }
            if (++AsleepCount == AsleepBuckets)
            {
                AsleepCount = 0;
            }

            if (Count++ == 119)
            {
                Count        = 0;
                UiBkOpacity  = MyAPIGateway.Session.Config.UIBkOpacity;
                UiOpacity    = MyAPIGateway.Session.Config.UIOpacity;
                UIHudOpacity = MyAPIGateway.Session.Config.HUDBkOpacity;
                CheckAdminRights();
                if (IsServer && MpActive && (AuthLogging || ConnectedAuthors.Count > 0))
                {
                    AuthorDebug();
                }

                if (IsServer && PbActivate && !PbApiInited)
                {
                    Api.PbInit();
                }

                if (HandlesInput && !ClientCheck && Tick > 1200)
                {
                    if (IsClient)
                    {
                        if (ServerVersion != ModContext.ModName)
                        {
                            var message = $"::WeaponCore Version Mismatch::    Server:{ServerVersion} - Client:{ModContext.ModName} -   Unexpected behavior may occur.";
                            MyAPIGateway.Utilities.ShowNotification(message, 10000, "Red");
                        }
                    }

                    if (!string.IsNullOrEmpty(PlayerMessage))
                    {
                        MyAPIGateway.Utilities.ShowNotification(PlayerMessage, 10000, "White");
                    }

                    ClientCheck = true;
                }
            }
            LCount++;
            if (LCount == 129)
            {
                LCount = 0;
            }

            if (!GameLoaded)
            {
                if (FirstLoop)
                {
                    if (!MiscLoaded)
                    {
                        MiscLoaded = true;
                    }

                    InitRayCast();

                    GameLoaded = true;
                    if (LocalVersion)
                    {
                        Log.Line($"Local WeaponCore Detected");
                    }
                }
                else if (!FirstLoop)
                {
                    FirstLoop = true;
                    foreach (var t in AllDefinitions)
                    {
                        var name = t.Id.SubtypeName;
                        if (name.Contains("Armor"))
                        {
                            var normalArmor = name.Contains("ArmorBlock") || name.Contains("HeavyArmor") || name.StartsWith("LargeRoundArmor") || name.Contains("BlockArmor");
                            var blast       = !normalArmor && (name == "ArmorCenter" || name == "ArmorCorner" || name == "ArmorInvCorner" || name == "ArmorSide" || name.StartsWith("SmallArmor"));
                            if (normalArmor || blast)
                            {
                                AllArmorBaseDefinitions.Add(t);
                                if (blast || name.Contains("Heavy"))
                                {
                                    HeavyArmorBaseDefinitions.Add(t);
                                }
                            }
                        }
                        else if (name.StartsWith("DSControl") || name.StartsWith("NPCControl") || name.StartsWith("Emitter") || name.StartsWith("NPCEmitter"))
                        {
                            CoreShieldBlockTypes.Add(t);
                        }
                    }
                }
            }

            if (!PlayersLoaded && KeenFuckery())
            {
                PlayersLoaded = true;
            }
        }
コード例 #2
0
        internal void Timings()
        {
            _paused  = false;
            Tick     = (uint)(Session.ElapsedPlayTime.TotalMilliseconds * TickTimeDiv);
            Tick10   = Tick % 10 == 0;
            Tick20   = Tick % 20 == 0;
            Tick60   = Tick % 60 == 0;
            Tick120  = Tick % 120 == 0;
            Tick180  = Tick % 180 == 0;
            Tick300  = Tick % 300 == 0;
            Tick600  = Tick % 600 == 0;
            Tick1800 = Tick % 1800 == 0;
            Tick3600 = Tick % 3600 == 0;
            if (Tick60)
            {
                if (Av.ExplosionCounter - 5 >= 0)
                {
                    Av.ExplosionCounter -= 5;
                }
                else
                {
                    Av.ExplosionCounter = 0;
                }
            }
            if (++SCount == 60)
            {
                SCount = 0;
            }
            if (Count++ == 119)
            {
                Count       = 0;
                UiBkOpacity = MyAPIGateway.Session.Config.UIBkOpacity;
                UiOpacity   = MyAPIGateway.Session.Config.UIOpacity;
                CheckAdminRights();
            }
            LCount++;
            if (LCount == 129)
            {
                LCount = 0;
            }

            if (!GameLoaded)
            {
                if (FirstLoop)
                {
                    if (!MiscLoaded)
                    {
                        MiscLoaded = true;
                    }

                    InitRayCast();

                    GameLoaded = true;
                }
                else if (!FirstLoop)
                {
                    FirstLoop = true;
                    foreach (var t in AllDefinitions)
                    {
                        var name     = t.Id.SubtypeName;
                        var contains = name.Contains("BlockArmor");
                        if (contains)
                        {
                            AllArmorBaseDefinitions.Add(t);
                            if (name.Contains("HeavyBlockArmor"))
                            {
                                HeavyArmorBaseDefinitions.Add(t);
                            }
                        }
                    }
                }
            }

            if (!PlayersLoaded && KeenFuckery())
            {
                PlayersLoaded = true;
            }

            if (ShieldMod && !ShieldApiLoaded && SApi.Load())
            {
                ShieldApiLoaded = true;
            }
        }
コード例 #3
0
        internal void Timings()
        {
            _paused = false;
            Tick++;
            Tick10   = Tick % 10 == 0;
            Tick20   = Tick % 20 == 0;
            Tick60   = Tick % 60 == 0;
            Tick120  = Tick % 120 == 0;
            Tick180  = Tick % 180 == 0;
            Tick300  = Tick % 300 == 0;
            Tick600  = Tick % 600 == 0;
            Tick1800 = Tick % 1800 == 0;
            Tick3600 = Tick % 3600 == 0;

            if (Tick60)
            {
                if (Av.ExplosionCounter - 5 >= 0)
                {
                    Av.ExplosionCounter -= 5;
                }
                else
                {
                    Av.ExplosionCounter = 0;
                }
            }

            if (++SCount == 60)
            {
                SCount = 0;
            }

            if (++AwakeCount == AwakeBuckets)
            {
                AwakeCount = 0;
            }
            if (++AsleepCount == AsleepBuckets)
            {
                AsleepCount = 0;
            }

            if (Count++ == 119)
            {
                Count       = 0;
                UiBkOpacity = MyAPIGateway.Session.Config.UIBkOpacity;
                UiOpacity   = MyAPIGateway.Session.Config.UIOpacity;
                CheckAdminRights();
                if (IsServer && MpActive && (AuthLogging || ConnectedAuthors.Count > 0))
                {
                    AuthorDebug();
                }

                if (IsServer && PbActivate && !PbApiInited)
                {
                    Api.PbInit();
                }

                if (HandlesInput && !ClientCheck && Tick > 1200)
                {
                    if (IsClient)
                    {
                        if (ServerVersion != ModContext.ModName)
                        {
                            var message = $"::WeaponCore Version Mismatch::    Server:{ServerVersion} - Client:{ModContext.ModName} -   Unexpected behavior may occur.";
                            MyAPIGateway.Utilities.ShowNotification(message, 10000, "Red");
                        }
                    }

                    if (!string.IsNullOrEmpty(PlayerMessage))
                    {
                        MyAPIGateway.Utilities.ShowNotification(PlayerMessage, 10000, "White");
                    }

                    ClientCheck = true;
                }
            }
            LCount++;
            if (LCount == 129)
            {
                LCount = 0;
            }

            if (!GameLoaded)
            {
                if (FirstLoop)
                {
                    if (!MiscLoaded)
                    {
                        MiscLoaded = true;
                    }

                    InitRayCast();

                    GameLoaded = true;
                    if (LocalVersion)
                    {
                        Log.Line($"Local WeaponCore Detected");
                    }
                }
                else if (!FirstLoop)
                {
                    FirstLoop = true;
                    foreach (var t in AllDefinitions)
                    {
                        var name = t.Id.SubtypeName;
                        if (name.Contains("BlockArmor"))
                        {
                            AllArmorBaseDefinitions.Add(t);
                            if (name.Contains("HeavyBlockArmor"))
                            {
                                HeavyArmorBaseDefinitions.Add(t);
                            }
                        }
                    }
                }
            }

            if (!PlayersLoaded && KeenFuckery())
            {
                PlayersLoaded = true;
            }

            if (ShieldMod && !ShieldApiLoaded && SApi.Load())
            {
                ShieldApiLoaded = true;
                ShieldHash      = MyStringHash.GetOrCompute("DefenseShield");
            }

            if (WaterMod && !WaterApiLoaded && !Settings.ClientWaiting && WApi.Waters != null)
            {
                WaterApiLoaded = true;
                WApiReceiveData();
            }
        }