public void HCZDecont()
        {
            HCZDecontOnline = true;

            Cassie.Message("P B 3 Protocol has been activated . activating heavy zone decontamination . 4 minutes remaining", false, false);

            LCZDecontWasActivated = true;

            Cassie.DelayedMessage("attention . 3 minutes remaining to heavy zone decontamination . allremaining", 60f, false, false);

            Cassie.DelayedMessage("attention . 2 minutes remaining to heavy zone decontamination . allremaining", 120f, false, false);

            Cassie.DelayedMessage("attention . 1 minute remaining to heavy zone decontamination . entrance zone checkpoint has been opend . allremaining", 180f, false, false);

            Timing.CallDelayed(180f, () =>
            {
                CheckpointEZ.SetStateWithSound(true);
                CheckpointEZ.Networklocked = true;
            });

            Cassie.DelayedMessage("attention . light zone decontamination started . entrance zone checkpoint has been closed . allremaining", 240f, false, false);

            Timing.CallDelayed(240f, () =>
            {
                CheckpointEZ.SetStateWithSound(false);
                HCZDecontOnline = false;
            });
        }
        public void LCZDecont()
        {
            LCZDecontOnline = true;
            Cassie.Message("P B 2 Protocol has been activated . activating light zone decontamination . 4 minutes remaining", false, false);

            LCZDecontWasActivated = true;

            Cassie.DelayedMessage("attention . 3 minutes remaining to light zone decontamination . allremaining", 60f, false, false);

            Cassie.DelayedMessage("attention . 2 minutes remaining to light zone decontamination . allremaining", 120f, false, false);

            Cassie.DelayedMessage("attention . 1 minute remaining to light zone decontamination . checkpoints a and b have been opend . allremaining", 180f, false, false);

            Timing.CallDelayed(180f, () =>
            {
                CheckpointA.SetStateWithSound(true);
                CheckpointB.SetStateWithSound(true);
                CheckpointA.Networklocked = true;
                CheckpointB.Networklocked = true;
            });

            Cassie.DelayedMessage("attention . light zone decontamination started . all checkpoints have been closed . allremaining", 240f, false, false);

            Timing.CallDelayed(240f, () =>
            {
                CheckpointA.SetStateWithSound(false);
                CheckpointB.SetStateWithSound(false);
                LCZDecontOnline = false;
            });
        }
Beispiel #3
0
        private IEnumerator <float> timeowo()
        {
            Cassie.DelayedMessage("pitch_0.98 Danger . Light Containment Zone overall decontamination in T minus 30 seconds . All checkpoint doors have been opened. Please evacuate immediately . . . . 20 .19 . 18 . 17 . 16 . 15 . 14 . 13 . 12 . 11 . 10 seconds 9 . 8 . 7 . 6 . 5 . 4 . 3 . 2 . 1 . . . . Light containment zone is lockdown and ready for decontamination the termination of all biological forms has now begun", 0f, false, true);
            yield return(Timing.WaitForSeconds(40f));

            Map.StartDecontamination();
            using (Dictionary <GameObject, ReferenceHub> .Enumerator enumerator = ReferenceHub.GetAllHubs().GetEnumerator())
            {
                while (enumerator.MoveNext())
                {
                    KeyValuePair <GameObject, ReferenceHub> keyValuePair = enumerator.Current;
                    ReferenceHub value = keyValuePair.Value;
                    if (value.transform.position.y < 100f && value.transform.position.y > 100f)
                    {
                        value.playerEffectsController.EnableEffect <Decontaminating>(0f, false);
                    }
                }
                yield break;
            }
        }
        public void SCPCassie()
        {
            CountPlayers();
            Cassie.Message("P S 1 Protocol has been activated . Scanning the facility for ScpSubjects . 30 seconds remaining", false, false);
            String start = ".g4 Scan completed . Attention to all security guards";

            if (SCP_Sur == 0 && SCP_ENT == 0 && SCP_LCZ == 0 && SCP_HCZ == 0 && SCP_Unk == 0)
            {
                Cassie.DelayedMessage(start + " . no ScpSubjects detected in the facility", 30f, false, false);
            }
            else
            {
                String sur, ent, lcz, hcz, unk;
                sur = "";
                ent = "";
                lcz = "";
                hcz = "";
                unk = "";
                if (SCP_Sur > 0)
                {
                    sur = " . " + SCP_Sur + " SCP detected in Surface Zone";
                }
                if (SCP_ENT > 0)
                {
                    ent = " . " + SCP_ENT + " SCP detected in Entrance Zone";
                }
                if (SCP_LCZ > 0)
                {
                    lcz = " . " + SCP_LCZ + " SCP detected in Light Containment Zone";
                }
                if (SCP_HCZ > 0)
                {
                    hcz = " . " + SCP_HCZ + " SCP detected in Heavy Containment Zone";
                }
                if (SCP_Unk > 0)
                {
                    unk = " . " + SCP_Unk + " SCP detected in Unknown Zone";
                }
                Cassie.DelayedMessage(start + sur + ent + lcz + hcz + unk, 30f, false, false);
            }
        }
Beispiel #5
0
        /// <summary>
        /// Plays a CASSIE announcement based off of the configuration of a <see cref="IAnnouncement"/>.
        /// </summary>
        /// <param name="announcement">The announcement to play.</param>
        /// <param name="overrideMessage">The message to override the <see cref="IAnnouncement.Message"/>. Ignored if null or empty.</param>
        public static void PlayAnnouncement(IAnnouncement announcement, string overrideMessage = null)
        {
            string message = announcement.Message;

            if (!string.IsNullOrEmpty(overrideMessage))
            {
                message = overrideMessage;
            }

            if (string.IsNullOrEmpty(message))
            {
                return;
            }

            message = GetVariableMessage(message);
            if (announcement.IsGlitchy)
            {
                Cassie.DelayedGlitchyMessage(message, announcement.Delay, announcement.GlitchChance * 0.01f, announcement.JamChance * 0.01f);
            }
            else
            {
                Cassie.DelayedMessage(message, announcement.Delay, isNoisy: announcement.IsNoisy);
            }
        }
        public void PersonnelCassie()
        {
            CountPlayers();
            Cassie.Message("P S 4 Protocol has been activated . Scanning the facility for Facility personnel . 30 seconds remaining", false, false);
            String d_sur = "", d_ent = "", d_lcz = "", d_hcz = "", d_unk = "",
                   sci_sur = "", sci_ent = "", sci_lcz = "", sci_hcz = "", sci_unk = "",
                   ci_sur = "", ci_ent = "", ci_lcz = "", ci_hcz = "", ci_unk = "";
            String start = ".g4 Scan completed . Attention to all security guards";
            String pause = " . . ";
            String NoClassD = "", NoScience = "";
            bool   d_detected, sci_detected;

            d_detected   = D_Sur > 0 || D_ENT > 0 || D_LCZ > 0 || D_HCZ > 0 || D_Unk > 0;
            sci_detected = SCI_Sur > 0 || SCI_ENT > 0 || SCI_LCZ > 0 || SCI_HCZ > 0 || SCI_Unk > 0;

            if (!d_detected)
            {
                NoClassD = " No Class D personnel detected in the facility";
            }
            if (!sci_detected)
            {
                NoScience = " No Science personnel detected in the facility";
            }



            if (D_Sur == 0 && D_ENT == 0 && D_LCZ == 0 && D_HCZ == 0 && D_Unk == 0 && SCI_Sur == 0 && SCI_ENT == 0 && SCI_LCZ == 0 && SCI_HCZ == 0 && SCI_Unk == 0 && CI_Sur == 0 && CI_ENT == 0 && CI_LCZ == 0 && CI_HCZ == 0 && CI_Unk == 0)
            {
                Cassie.DelayedMessage(start + " . no SCP Foundation personnel detected in the facility", 30f, false, false);
            }
            else
            {
                if (D_Sur > 0)
                {
                    d_sur = " . " + D_Sur + " Class D personnel detected in Surface Zone";
                }
                if (D_ENT > 0)
                {
                    d_ent = " . " + D_ENT + " Class D personnel detected in Entrance Zone";
                }
                if (D_LCZ > 0)
                {
                    d_lcz = " . " + D_LCZ + " Class D personnel detected in Light Containment Zone";
                }
                if (D_HCZ > 0)
                {
                    d_hcz = " . " + D_HCZ + " Class D personnel detected in Heavy Containment Zone";
                }
                if (D_Unk > 0)
                {
                    d_unk = " . " + D_Unk + " Class D personnel detected in Unknown Zone";
                }

                if (SCI_Sur > 0)
                {
                    sci_sur = " . " + SCI_Sur + " Science personnel detected in Surface Zone";
                }
                if (SCI_ENT > 0)
                {
                    sci_ent = " . " + SCI_ENT + " Science personnel detected in Entrance Zone";
                }
                if (SCI_LCZ > 0)
                {
                    sci_lcz = " . " + SCI_LCZ + " Science personnel detected in Light Containment Zone";
                }
                if (SCI_HCZ > 0)
                {
                    sci_hcz = " . " + SCI_HCZ + " Science personnel detected in Heavy Containment Zone";
                }
                if (SCI_Unk > 0)
                {
                    sci_unk = " . " + SCI_Unk + " Science personnel detected in Unknown Zone";
                }

                if (CIDetected)
                {
                    if (CI_Sur > 0)
                    {
                        ci_sur = " . " + CI_Sur + " ChaosInsurgency detected in Surface Zone";
                    }
                    if (CI_ENT > 0)
                    {
                        ci_ent = " . " + CI_ENT + " ChaosInsurgency detected in Entrance Zone";
                    }
                    if (CI_LCZ > 0)
                    {
                        ci_lcz = " . " + CI_LCZ + " ChaosInsurgency detected in Light Containment Zone";
                    }
                    if (CI_HCZ > 0)
                    {
                        ci_hcz = " . " + CI_HCZ + " ChaosInsurgency detected in Heavy Containment Zone";
                    }
                    if (CI_Unk > 0)
                    {
                        ci_unk = " . " + CI_Unk + " ChaosInsurgency detected in Unknown Zone";
                    }
                }


                if (!CIDetected && (CI_Sur > 0 || CI_ENT > 0 || CI_LCZ > 0 || CI_HCZ > 0 || CI_Unk > 0))
                {
                    Cassie.DelayedMessage(start + pause + NoClassD + d_sur + d_ent + d_lcz + d_hcz + d_unk + pause + NoScience + sci_sur + sci_ent + sci_lcz + sci_hcz + sci_unk + pause + " . Emergency Alert . . .g5 Not authorized personnel has been spotted in the facility . Scanning . . .g2 Scan .g4 completed . ChaosInsurgency detected .  Activating 4 level of alarm . Priority code red . AllRemaining", 30f, false, false);
                    CIDetected = true;
                }
                else
                {
                    Cassie.DelayedMessage(start + pause + NoClassD + d_sur + d_ent + d_lcz + d_hcz + d_unk + pause + NoScience + sci_sur + sci_ent + sci_lcz + sci_hcz + sci_unk + pause + ci_sur + ci_ent + ci_lcz + ci_hcz + ci_unk, 30f, false, false);
                }
            }
        }