Example #1
0
        private void BumpDroneAgainstCardBoard(SessionSevenTestEngine runner)
        {
            int Tries = 0;

            while (!Tree.Basement.RFIDAntennaCabinet.FellDown)
            {
                Assert.AreEqual(2, Tree.InventoryItems.RemoteControl.Get <BatteryCompartment>().GetBatteriesCount());
                runner.Interact(Tree.InventoryItems.Drone, Tree.Basement.RFIDAntennaCabinet, Verbs.Use);
                var Script = runner.Interact(Tree.InventoryItems.RemoteControl, Verbs.Use);

                runner.SelectDialogOption((int)Basement.DroneCommand.On, true);
                runner.SelectDialogOption((int)Basement.DroneCommand.Right, true);
                runner.SelectDialogOption((int)Basement.DroneCommand.Forward, true);
                runner.SelectDialogOption((int)Basement.DroneCommand.Forward, true);
                runner.SelectDialogOption((int)Basement.DroneCommand.Forward, true);
                runner.SelectDialogOption((int)Basement.DroneCommand.Right, true);
                runner.SelectDialogOption((int)Basement.DroneCommand.Forward, true);
                runner.SelectDialogOption((int)Basement.DroneCommand.Forward, true);

                while (!Script.Done)
                {
                    runner.SelectDialogOption((int)Basement.DroneCommand.Forward, true);
                }
                Tries++;
            }

            Console.WriteLine("Drone fly tries: " + Tries);
        }
Example #2
0
        private void SolveSessionTwo(SessionSevenTestEngine runner, ScoreType targetScore)
        {
            runner.Interact(Tree.Basement.MedicalCabinet, Verbs.Open);
            runner.Interact(Tree.InventoryItems.Scissors, Tree.InventoryItems.Bandages, Verbs.Use);
            runner.Interact(Tree.InventoryItems.BandageStrip, Verbs.Use);
            runner.Interact(Tree.Basement.WindowLeft, Verbs.Open);

            runner.AnswerDialog(targetScore);
        }
Example #3
0
        private void SolveSessionFour(SessionSevenTestEngine runner, ScoreType scoreType)
        {
            Assert.IsTrue(Tree.Cutscenes.Director.FinishedSession(Cutscenes.Sessions.Two));

            runner.Interact(Tree.Basement.GuitarCase, Verbs.Open);
            runner.Interact(Tree.Basement.GuitarStrings, Verbs.Pick);
            runner.Interact(Tree.Basement.Shelf, Verbs.Look);
            runner.Interact(Tree.Basement.ShelfBox, Verbs.Open);
            runner.Interact(Tree.Basement.ShelfBox, Verbs.Open);

            runner.AnswerDialog(scoreType);
        }
Example #4
0
        private void PlaceNut(SessionSevenTestEngine runner, Vector2 absolutePosition)
        {
            runner.Interact(Tree.InventoryItems.Hazelnuts, Verbs.Use);

            var ClickPos = Tree.Basement.Scene.Get <Camera>().Transform(absolutePosition);

            runner.MouseClick(ClickPos);
            runner.AdvanceToInteractive();
        }
Example #5
0
        private void SolveSessionSeven(SessionSevenTestEngine runner, ScoreType targetScore)
        {
            Assert.IsTrue(Tree.Cutscenes.Director.FinishedSession(Cutscenes.Sessions.Six));

            runner.Interact(Tree.Basement.DrillingMachineCable, Tree.Basement.SocketsLeft, Verbs.Use);
            runner.Interact(Tree.Basement.CabinetSawKit, Verbs.Pick);
            runner.Interact(Tree.InventoryItems.SawKit, Tree.Basement.DrillingMachine, Verbs.Use);
            runner.Interact(Tree.Basement.DrillingMachine, Tree.Basement.Door, Verbs.Use);
            runner.Interact(Tree.Basement.Door, Verbs.Open);
            runner.SaveState("[Playthrough] BeforeSessionSeven");
            runner.Interact(Tree.Basement.Door, Verbs.Walk);
        }
Example #6
0
        private void SolveSessionThree(SessionSevenTestEngine runner, ScoreType targetScore)
        {
            Assert.IsTrue(Tree.Cutscenes.Director.FinishedSession(Cutscenes.Sessions.Two));

            runner.Interact(Tree.Basement.LandonPortrait, Verbs.Pick);
            runner.Interact(Tree.InventoryItems.Portrait, Verbs.Look);
            runner.Interact(Tree.InventoryItems.DrawerKey, Tree.Basement.DrawerRight, Verbs.Use);
            runner.Interact(Tree.Basement.DrawerRight, Verbs.Open, false);
            runner.AdvanceToNonInteractive();
            runner.AdvanceToInteractive();
            runner.MouseClick();
            runner.AdvanceToInteractive();
            runner.Interact(Tree.Basement.Shelf, Verbs.Look);
            runner.Interact(Tree.Basement.ShelfBlanketFlashlight, Verbs.Pick);

            runner.AnswerDialog(targetScore);
        }
Example #7
0
        private void SolveSessionSix(SessionSevenTestEngine runner, ScoreType targetScore)
        {
            Assert.IsTrue(Tree.Cutscenes.Director.FinishedSession(Cutscenes.Sessions.Two));
            Assert.IsTrue(Tree.Cutscenes.Director.FinishedSession(Cutscenes.Sessions.Three));
            Assert.IsTrue(Tree.Cutscenes.Director.FinishedSession(Cutscenes.Sessions.Four));
            Assert.IsTrue(Tree.Cutscenes.Director.FinishedSession(Cutscenes.Sessions.Five));

            runner.Interact(Tree.Basement.Hazelnuts, Verbs.Pick);
            runner.Interact(Tree.Basement.ShelfBlanketFlashlight, Verbs.Pick);
            runner.Interact(Tree.InventoryItems.Hazelnuts, Tree.Basement.MouseHole, Verbs.Give);

            runner.Interact(Tree.InventoryItems.Baton, Verbs.Pull);
            runner.Interact(Tree.InventoryItems.GuitarStrings, Tree.InventoryItems.Baton, Verbs.Use);

            runner.Interact(Tree.InventoryItems.BatteryA, Tree.InventoryItems.Flashlight, Verbs.Use);
            runner.Interact(Tree.InventoryItems.BatteryB, Tree.InventoryItems.Flashlight, Verbs.Use);

            // Place nuts
            PlaceNutInWatchArea(runner);
            PlaceNutsLeftRight(runner);
            PlaceNutInWatchArea(runner);

            runner.Interact(Tree.InventoryItems.Flashlight, Tree.Basement.MouseHole, Verbs.Use);
            runner.Interact(Tree.InventoryItems.BatonWithString, Tree.Basement.MouseHole, Verbs.Use);
            runner.Interact(Tree.InventoryItems.Paperclips, Tree.Basement.CabinetLock, Verbs.Use);

            runner.Interact(Tree.Basement.CabinetLeftDoor, Verbs.Open);

            runner.AnswerDialog(targetScore);
        }
Example #8
0
        private void SolveSessionFive(SessionSevenTestEngine runner, ScoreType targetScore)
        {
            Assert.IsTrue(Tree.Cutscenes.Director.FinishedSession(Cutscenes.Sessions.Two));
            Assert.IsTrue(Tree.Cutscenes.Director.FinishedSession(Cutscenes.Sessions.Three));
            Assert.IsTrue(Tree.Cutscenes.Director.FinishedSession(Cutscenes.Sessions.Four));

            runner.Interact(Tree.Basement.ToolBar, Verbs.Look);
            runner.Interact(Tree.Basement.Hammer, Verbs.Pick);
            runner.Interact(Tree.Basement.Screwdriver, Verbs.Pick);

            // get RFID antenna on shelf
            runner.Interact(Tree.Basement.Shelf, Verbs.Look);
            runner.Interact(Tree.Basement.RFIDAntennaShelf, Verbs.Pick);
            runner.Interact(Tree.InventoryItems.RFIDAntennaBoxShelf, Verbs.Open);

            // get drone
            runner.Interact(Tree.Basement.CabinetRightDoor, Verbs.Open);
            runner.Interact(Tree.Basement.DronePackage, Verbs.Pick);
            runner.Interact(Tree.InventoryItems.DronePackage, Verbs.Open);

            // get second battery
            runner.Interact(Tree.Basement.ShelfBox, Verbs.Open);

            Assert.IsTrue(Game.Ego.Inventory.HasItem <InventoryItems.BatteryA>());
            Assert.IsTrue(Game.Ego.Inventory.HasItem <InventoryItems.BatteryB>());

            runner.Interact(Tree.InventoryItems.BatteryA, Tree.InventoryItems.RemoteControl, Verbs.Use);
            runner.Interact(Tree.InventoryItems.BatteryB, Tree.InventoryItems.RemoteControl, Verbs.Use);

            // get RFID antenna on cabinet
            BumpDroneAgainstCardBoard(runner);

            runner.Interact(Tree.InventoryItems.RemoteControl, Verbs.Open);
            runner.Interact(Tree.InventoryItems.RemoteControl, Verbs.Open);

            Assert.IsTrue(Game.Ego.Inventory.HasItem <InventoryItems.BatteryA>());
            Assert.IsTrue(Game.Ego.Inventory.HasItem <InventoryItems.BatteryB>());

            runner.Interact(Tree.Basement.RFIDAntennaCabinet, Verbs.Pick);
            runner.Interact(Tree.InventoryItems.RFIDAntennaBoxCabinet, Verbs.Open);
            runner.Interact(Tree.Basement.CabinetRightDoor, Verbs.Close);
            runner.Interact(Tree.InventoryItems.RFIDAntennaCabinet, Verbs.Use);
            runner.SaveState("[Playthrough] PlacingAntenna");

            SetupRFIDAntenna(runner);

            runner.Interact(Tree.InventoryItems.Screwdriver, Tree.Basement.WoodenPanel, Verbs.Use);
            runner.Interact(Tree.InventoryItems.Hammer, Tree.Basement.WoodenPanel, Verbs.Use);
            runner.Interact(Tree.Basement.WoodenBox, Verbs.Pick);
            runner.Interact(Tree.InventoryItems.WoodenBox, Verbs.Open);

            runner.AnswerDialog(targetScore);
        }