예제 #1
0
 public void ResetGame()
 {
     this.locationState = LocationStates.NotStarted;
     this.dogState      = DogState.Ignored;
     this.capeState     = CapeState.Down;
     this.talkingToGirl = false;
     this.fallingInLove = 0;
     SchoolLocation.Instance.Reset();
 }
예제 #2
0
 /// <summary>
 /// Will reset the game to it's initial state.
 /// </summary>
 /// <remarks>Typically used when loading a new character.</remarks>
 public static void ResetGame()
 {
     _GameLocations      = null;
     _GameLocationStates = null;
     _StartingTown       = null;
     Hero             = null;
     CurrentLocation  = null;
     UpcomingLocation = null;
 }
예제 #3
0
 private void HandleGameStarted(string input)
 {
     if (input.Contains("game"))
     {
         output.Add("went to gamestop to buy a copy of dotawatch");
         output.Add("be outside, cute dog with \"do not pet\" sign");
         this.locationState = LocationStates.OutsideGamestop;
     }
     else if (input.Contains("school"))
     {
         // playing fav ntr eroge when, suddenly very hungry
         this.locationState = LocationStates.AtSchool;
         output.Add("at school, sitting next to cute girl");
         output.Add("I hatch a plan to steal her pencil for a chance at interaction");
         output.Add("but beta af, so probably just eat cheetos");
     }
     else
     {
         output.Add("gamestop or school, tough choice");
     }
 }
예제 #4
0
    private void HandleOutsideGamestop(string input)
    {
        if (this.dogState == DogState.Pissed)
        {
            output.Add("dog lunges for my jugular");
            output.Add("lightning reflex dodge, but");
            output.Add("dog rips off my fanny pack and bolts");
            this.locationState = LocationStates.Chase;
            return;
        }
        else if (this.dogState == DogState.HumpingFace)
        {
            output.Add("dog cums in my mouth, it tastes like...");
            output.Add("spaghetti?!");
            output.Add("open my eyes, at dinner with fam");
            output.Add("i vomit over the table");
            output.Add("grounded for a week");
            output.Add(GameManager.DumpLines);
            output.Add("(be me to play again)");
            UnlockMedal(output, "be dreaming", MedalTypes.BeDreaming);
            this.ResetGame();
            return;
        }

        if (input.Equals("look at dog"))
        {
            switch (this.dogState)
            {
            case DogState.Ignored:
                output.Add("some kinda lab, pretty cute");
                break;

            case DogState.Excited:
                output.Add("he def wants more pets");
                break;

            case DogState.Humping:
                output.Add("stare down at him, he shows no signs of stopping");
                break;
            }
        }

        if (input.Equals("pet dog"))
        {
            switch (this.dogState)
            {
            case DogState.Ignored:
                output.Add("pet dog, he gets really excited");
                this.dogState = DogState.Excited;
                break;

            case DogState.Excited:
                output.Add("pet dog more, he starts humping my leg");
                this.dogState = DogState.Humping;
                break;

            case DogState.Humping:
                output.Add("look down to continue petting, realize am dog");
                output.Add("mount gamestop dog");
                output.Add("\"how do you like it?\", I howl");
                output.Add("oh shit animal control");
                output.Add("run away to join wolves");
                output.Add("grrr gamestop");
                output.Add(GameManager.DumpLines);
                UnlockMedal(output, "be dog", MedalTypes.BeDog);
                output.Add("(be me to play again)");
                this.ResetGame();
                break;
            }
        }

        if (input.Equals("push dog"))
        {
            switch (this.dogState)
            {
            case DogState.Ignored:
            case DogState.Excited:
                output.Add("nudge dog, no response");
                break;

            case DogState.Humping:
                output.Add("oh shit, can't push him off, humping like crazy");
                break;
            }
        }

        if (input.Equals("hit dog"))
        {
            switch (this.capeState)
            {
            case CapeState.Down:
                output.Add("wind up to kick the dog, he dodges");
                output.Add("trip on my cape, fall down");
                output.Add("dog starts humping my face");
                this.dogState = DogState.HumpingFace;
                break;

            case CapeState.Up:
                output.Add("kick the dog, he yelps but comes back around");
                output.Add("starts growling");
                this.dogState = DogState.Pissed;
                break;
            }
        }

        if (input.Equals("inside") ||
            input.Equals("goto gamestop") ||
            input.Equals("go inside") ||
            input.Equals("open door") ||
            input.Equals("ignore dog"))
        {
            if (dogState == DogState.Humping)
            {
                output.Add("want game, but gotta get this dog off me first");
            }
            else
            {
                output.Add("ignore dog, go inside");
                this.locationState = LocationStates.InsideGamestop;
            }
        }

        if (input.Contains("game") || input.Equals("look"))
        {
            output.Add("could go inside for game, but this dog looks like it needs pets");
        }
    }
예제 #5
0
    public void AcceptInput(string input)
    {
        if (this.output.Count > 0)
        {
            AppendOneLine();
            return;
        }

        input = SimplifyInput(this.Synonyms, input);
        Shrug.gameObject.SetActive(false);

        if (input.Length == 0)
        {
            return;
        }

        switch (this.locationState)
        {
        case LocationStates.NotStarted:
            if (input.Equals("be me"))
            {
                this.locationState = LocationStates.GameStarted;
                // MainScreen.BackgroundColor = new Color(245, 233, 225);
                // MainScreen.Color = new Color(120 / 255f, 153 / 255f, 34 / 255f);
                MainScreen.displayTxt = "";
                output.Add("be me, 17");
                output.Add("should go to school, but could go to gamestop instead");
            }
            else if (input.Equals("cheevos"))
            {
            }
            else if (input.Equals("look"))
            {
                output.Add("start the game, numbnuts");
            }

            break;

        case LocationStates.GameStarted:
            HandleGameStarted(input);
            break;

        case LocationStates.OutsideGamestop:
            HandleOutsideGamestop(input);
            break;

        case LocationStates.InsideGamestop:
            HandleInsideGamestop(input);
            break;

        case LocationStates.Chase:
            HandleChase(input);
            break;

        case LocationStates.AtSchool:
            SchoolLocation.Instance.HandleInput(output, input);
            break;
        }

        HandleAlways(input);

        if (input.Equals("fullscreen"))
        {
            Screen.fullScreen = !Screen.fullScreen;
        }
        else if (output.Count != 0)
        {
            AppendOneLine();
        }
        else
        {
            Shrug.gameObject.SetActive(true);
            Shrug.color = new Color(
                Random.value * .75f,
                Random.value * .75f,
                Random.value * .75f);
        }
    }