public override void OnAreaEnter()
    {
        if (entered)
        {
            return;
        }
        entered = true;

        Logger.Log("Entered M4 Area");
        OcuConsoleScreen screen = Common.GetConsoleScreenScript();

        screen.QueueMessage("<#1,0,0,1#>Containment Area Light Malfunction.", 0.0f, true, true);
        screen.QueueMessage("<#1,1,0,1#>Activate Local Lights to Restore Power.", 0.0f, true, true);

        smc.SetState(lightsoff);
    }
示例#2
0
    public override void OnAreaEnter()
    {
        if (!isactive)
        {
            return;
        }

        if (seqNum == 1)
        {
            consoleScript.QueueMessage("Laboratory Access Sequence " + seqNum.ToString() + " : <#1,0,0,1#>RED  <#0,0,1,1#>BLUE  <#0,1,0,1#>GREEN"
                                       , 0.0f, true, true);
        }
        else
        {
            consoleScript.QueueMessage("Laboratory Access Sequence " + seqNum.ToString() + " : <#0,0,1,1#>BLUE  <#0,1,0,1#>GREEN  <#1,0,0,1#>RED"
                                       , 0.0f, true, true);
        }

        isactive = false;
    }
示例#3
0
    void PassAll()
    {
        for (int i = 0; i < allButtons.Count; ++i)
        {
            allButtons[i].Pass();
        }

        DoorMain doorMainScript = GetScript <DoorMain>(door);

        doorMainScript.UnlockDoor();

        leftLight.SetDiffuse(SharpMocha.GREEN);
        rightLight.SetDiffuse(SharpMocha.GREEN);

        mSound.PlayIndependentEvent("PINPAD_CONFIRM.vente", false, 1);

        ocuConsole.MiniGameFourPlayerEvent("", "", 0, gameObject, 0, true);
        ocuConsole.QueueMessage("Subject [REDACTED] : Deduction test completed", 0.0f, false, true);

        GameObject pz3room = GameObject.GetGameObjectByName("TrapSequenceRoom2");
        PuzzleBEnvironmentController pz3ScaryScript = GetScript <PuzzleBEnvironmentController>(pz3room);

        pz3ScaryScript.finished = true;
    }
示例#4
0
    public bool AddPlayerInput(int input, GameObject obj)
    {
        if (accessGranted)
        {
            return(true);
        }

        buttons.Add(obj);
        playerSequence.Add(input);

        bool isValidCode = true;

        for (int i = 0; i < playerSequence.Count; ++i)
        {
            if (playerSequence[i] != sequence[i])
            {
                // WRONG INPUT
                playerSequence.Clear();
                isValidCode = false;

                // consoleScript.QueueMessage("INVALID CODE", 0.0f, false, true);
                break;
            }
            if (i == 2)
            {
                //Console.Write("ACCESS GRANTED!");
                accessGranted = true;
                door1Script.UnlockDoor();
                door1Script.isOneWayDoor = false; // Do not lock anymore
                door2Script.UnlockDoor();
                lightAtDoor.setEnabled(true);
                foreach (CLight light in lights)
                {
                    light.setEnabled(true);
                }
                geneticsAccessLeftLight.SetDiffuse(SharpMocha.GREEN);
                consoleScript.QueueMessage("Access sequence accepted.", 0.0f, false, true);
                buttons.Clear();

                sound.PlayIndependentEvent("BUTTON_GREEN.vente", false, 0); // Access Granted sound

                // Activate checkpoint at the door
                checkpointScript.isActive = true;
                cFace.setEnabled(true);
            }
        }
        // If incorrect, reset all buttons
        if (!isValidCode)
        {
            foreach (GameObject go in buttons)
            {
                GenericButton buttonScript = GetScript <GenericButton>(go);
                if (buttonScript != null)
                {
                    buttonScript.ResetButton();
                }
            }
            buttons.Clear();
        }

        return(isValidCode);
    }
示例#5
0
 void KillPlayer()
 {
     screen.QueueMessage("<#1,0,0,1#>HANDLER CORRUPTION AT FATAL LEVELS.", 0.0f, true, false);
     Common.GetStealthPlayerCameraScript().Kill();
 }
    public void M4LightTurnedOn()
    {
        if (!firstlight)
        {
            OcuConsoleScreen screen = Common.GetConsoleScreenScript();

            screen.ChangeHeader("Subject 54");
            screen.QueueMessage("ENTERING SUBJECT 54 CONTAINMENT AREA", 0.0f, false, true);
            screen.QueueMessage("HANDLER PROCEED WITH CAUTION", 0.0f, false, false);
            screen.QueueMessage("-----------------------", 0.0f, false, false);
            screen.QueueMessage("Subject 54", 0.0f, false, false);
            screen.QueueMessage("Class A Lethal", 0.0f, false, false);
            screen.QueueMessage("Subject exhibits aggressive tendencies.", 0.0f, false, false);
            screen.QueueMessage("Subject recovered from mainland Russia.", 0.0f, false, false);
            screen.QueueMessage("after night slaughter of cattle. Cattle", 0.0f, false, false);
            screen.QueueMessage("covered in unknown substance, lab tests", 0.0f, false, false);
            screen.QueueMessage("show cows dismembered themselves.      ", 0.0f, false, false);
            screen.QueueMessage("<#0,0,1,1#>HANDLER CORRUPTION LEVEL WILL BE TRACKED", 0.0f, true, false);
            screen.QueueMessage("<#0,0,1,1#>FOR DURATION OF EXPOSURE.", 1.0f, true, false);

            GetScript <Monster4Logic>(GameObject.GetGameObjectByName("Monster3")).IsActive = true;
        }
        firstlight = true;

        M4LightsToTurnOff--;

        Logger.Log("Lights Left for M4: " + M4LightsToTurnOff.ToString());

        if (M4LightsToTurnOff == 0)
        {
            //ooga booga, you beat the boss-a
            smc.SetState(lightson);
            GetScript <Monster4Logic>(GameObject.GetGameObjectByName("Monster3")).Kill();
        }
    }