Exemplo n.º 1
0
        private void OnTime_ValueChanged(object sender, CustomNumberOption.CustomNumberOptionEventArgs e)
        {
            switch (e.NumberOption.TitleText)
            {
            case "Ability On Time":
            {
                int value = int.Parse(e.NumberOption.ValueStrings[e.NumberOption.Value]);

                OnTime = value;
                var writer = RpcManager.StartRpc(QuantumTunneling.QuantumTunnelingRpc);
                writer.Write((byte)0);
                writer.Write(OnTime);
                writer.EndMessage();
                break;
            }

            case "Ability Cooldown":
            {
                int value = int.Parse(e.NumberOption.ValueStrings[e.NumberOption.Value]);

                UseCooldown = value;
                var writer = RpcManager.StartRpc(QuantumTunneling.QuantumTunnelingRpc);
                writer.Write((byte)1);
                writer.Write(UseCooldown);
                writer.EndMessage();
                break;
            }
            }
        }
        public override void OnStart()
        {
            base.OnStart();

            Task.Run(async() =>
            {
                await Task.Delay(2500);

                MaxPlayerCount = PlayerController.AllPlayerControls.Count;

                Started    = true;
                LastKilled = 0;

                PlayerController.LocalPlayer.ClearTasks();

                #region ---------- Send Start Location ----------
                if (RandomStartLocation && CheepsAmongUsMod.CheepsAmongUsMod.IsDecidingClient && MapLocations.ContainsKey(GameOptions.Map))
                {
                    List <Vector2> Locations = new List <Vector2>(MapLocations[GameOptions.Map]);
                    System.Random rnd        = new System.Random();

                    foreach (var player in PlayerController.AllPlayerControls)
                    {
                        if (Locations.Count == 0)
                        {
                            Locations.AddRange(MapLocations[GameOptions.Map]); // If there are not enough start locations, refill list
                        }
                        var location = Locations[rnd.Next(Locations.Count)];
                        Locations.Remove(location);

                        if (!player.IsLocalPlayer)
                        {
                            var writer = RpcManager.StartRpc(BattleRoyale.BattleRoyalRpc);
                            writer.Write((byte)BattleRoyale.CustomRpcCalls.SendStartLocation);
                            writer.Write(player.PlayerId);
                            writer.Write(location.x);
                            writer.Write(location.y);
                            writer.EndMessage();
                        }
                        else
                        {
                            player.RpcSnapTo(location);
                        }
                    }
                }
                #endregion

                #region ---------- Open All Doors ----------
                await Task.Delay(2500);

                foreach (var door in UnityEngine.Object.FindObjectsOfType <DeconDoor>())
                {
                    door.SetDoorway(true);
                }
                #endregion

                LastKilled = Functions.GetUnixTime();
            });
        }
Exemplo n.º 3
0
        private void SyncDelay()
        {
            var writer = RpcManager.StartRpc(Teleportation.TeleportationRpc);

            writer.Write((byte)0);
            writer.Write(TeleportationDelay);
            writer.EndMessage();
        }
Exemplo n.º 4
0
        private void SendSwapDelay()
        {
            var writer = RpcManager.StartRpc(ColorSwap.ColorSwapRpc);

            writer.Write((byte)0);
            writer.Write(SwapDelay);
            writer.EndMessage();
        }
Exemplo n.º 5
0
        private void sync()
        {
            RpcManager.SendRpc(Cleaner.CleanerRpc, new byte[] { (byte)CustomRpc.UpdateSettings, Convert.ToByte(Enabled) });

            var writer = RpcManager.StartRpc(Cleaner.CleanerRpc);

            writer.Write((byte)CustomRpc.UpdateCooldown);
            writer.Write(CleanCooldown);
            writer.EndMessage();
        }
Exemplo n.º 6
0
        public override void SyncSettings()
        {
            base.SyncSettings();

            var writerOnTime = RpcManager.StartRpc(QuantumTunneling.QuantumTunnelingRpc);

            writerOnTime.Write((byte)0);
            writerOnTime.Write(OnTime);
            writerOnTime.EndMessage();

            var writerCooldown = RpcManager.StartRpc(QuantumTunneling.QuantumTunnelingRpc);

            writerCooldown.Write((byte)1);
            writerCooldown.Write(UseCooldown);
            writerCooldown.EndMessage();
        }
        public override void SyncSettings()
        {
            base.SyncSettings();

            var writerOnTime = RpcManager.StartRpc(ImpostorInvisibility.ImpostorInvisibilityRpc);

            writerOnTime.Write((byte)0);
            writerOnTime.Write(OnTime);
            writerOnTime.EndMessage();

            var writerCooldown = RpcManager.StartRpc(ImpostorInvisibility.ImpostorInvisibilityRpc);

            writerCooldown.Write((byte)1);
            writerCooldown.Write(UseCooldown);
            writerCooldown.EndMessage();
        }
Exemplo n.º 8
0
        public override void OnStart()
        {
            base.OnStart();

            if (CheepsAmongUsMod.CheepsAmongUsMod.IsDecidingClient)
            {
                var writerOnTime = RpcManager.StartRpc(QuantumTunneling.QuantumTunnelingRpc);
                writerOnTime.Write((byte)0);
                writerOnTime.Write(OnTime);
                writerOnTime.EndMessage();

                var writerCooldown = RpcManager.StartRpc(QuantumTunneling.QuantumTunnelingRpc);
                writerCooldown.Write((byte)1);
                writerCooldown.Write(UseCooldown);
                writerCooldown.EndMessage();
            }
        }
        public override void OnStart()
        {
            base.OnStart();

            if (CheepsAmongUsMod.CheepsAmongUsMod.IsDecidingClient)
            {
                var writerOnTime = RpcManager.StartRpc(ImpostorInvisibility.ImpostorInvisibilityRpc);
                writerOnTime.Write((byte)0);
                writerOnTime.Write(OnTime);
                writerOnTime.EndMessage();

                var writerCooldown = RpcManager.StartRpc(ImpostorInvisibility.ImpostorInvisibilityRpc);
                writerCooldown.Write((byte)1);
                writerCooldown.Write(UseCooldown);
                writerCooldown.EndMessage();
            }
        }
Exemplo n.º 10
0
        public override void OnStart()
        {
            base.OnStart();

            if (CheepsAmongUsMod.CheepsAmongUsMod.IsDecidingClient)
            {
                Task.Run(async() =>
                {
                    await Task.Delay(1500); // Wait a bit

                    Random random = new Random();

                    List <ColorType> AvailableColors = new List <ColorType>((IEnumerable <ColorType>)Enum.GetValues(typeof(ColorType)));
                    List <ColorType> AvailableNames  = new List <ColorType>(AvailableColors);

                    foreach (var player in PlayerController.AllPlayerControls)
                    {
                        #region ---------- This is required, if more than 12 players are online, as the game only offers 12 colors ----------
                        if (AvailableColors.Count == 0 || AvailableNames.Count == 0)
                        {
                            AvailableColors = new List <ColorType>((IEnumerable <ColorType>)Enum.GetValues(typeof(ColorType)));
                            AvailableNames  = new List <ColorType>(AvailableColors);
                        }
                        #endregion

                        #region ---------- Select random color and name ----------
                        var color = AvailableColors[random.Next(AvailableColors.Count)];
                        var name  = AvailableNames[random.Next(AvailableNames.Count)];

                        AvailableColors.Remove(color);
                        AvailableNames.Remove(name);
                        #endregion

                        #region ---------- As long as the name matches the color, change it ----------
                        while (color == name)
                        {
                            name = AvailableNames[random.Next(AvailableNames.Count)];
                        }
                        #endregion

                        if (player.IsLocalPlayer)
                        {
                            player.RpcSetColor(color);
                            player.RpcSetHat(HatType.NoHat);
                            player.RpcSetName(name.ToString());
                            player.RpcSetSkin(SkinType.None);
                            player.RpcSetPet(PetType.NoPet);
                        }
                        else
                        {
                            var writer = RpcManager.StartRpc(Confusion.ConfusionRpc);
                            writer.Write((byte)0);
                            writer.Write(player.PlayerId);
                            writer.Write((byte)color);
                            writer.Write(name.ToString());
                            writer.EndMessage();
                        }
                    }
                });
            }
        }