Exemple #1
0
    //Function, gives a task, returns NPC dialogue
    public string scrambleTask(int difficulty, int randTask)  //1 is easy, 2 is hard
    //if (mainCharacterVars.currentTask == false && dayCount < dayNight.dayCount) { //if mainCharacter has no task
    {
        taskwiththisNPC = true;

        completed       = false;
        timer.taskstart = true;
        if (dayCount + 1 < dayNight.dayCount)
        {
            dayCount = dayNight.dayCount - 1;
        }
        mainCharacterVars.currentTask = true;

        if (difficulty == 1) //Sets taskPrompt to a random task from the lists
        {
            taskPrompt = easyTaskPrompts[randTask];
        }
        else
        {
            taskPrompt = hardTaskPrompts[randTask];
        }
        taskDialogue = dictRef.scramble(taskPrompt.prompt);

        interact.taskItemReq = taskPrompt.itemRequired; //Sets what you need for the task in interact

        if (taskPrompt.taskID == "market")              //Turns on the correct GameObject that you need for the task
        {
            interactWithMarket.whatYouNeed      = taskPrompt.itemRequired;
            interactWithMarket.taskmode         = true;
            mainCharacterVars.currentTaskIsHard = true;
        }
        else if (taskPrompt.taskID == "pizza")
        {
            interactWithPizza.whatYouNeed       = taskPrompt.itemRequired;
            interactWithPizza.taskmode          = true;
            mainCharacterVars.currentTaskIsHard = true;
        }
        else if (taskPrompt.taskID == "post office")
        {
            interactWithMailman.whatYouNeed = taskPrompt.itemRequired;
            interactWithMailman.taskmode    = true;
        }
        else if (taskPrompt.taskID == "bank")
        {
            interactWithBank.whatYouNeed = taskPrompt.itemRequired;
            interactWithBank.taskmode    = true;
        }
        else if (taskPrompt.taskID == "town hall")
        {
            interactWithMayor.whatYouNeed = taskPrompt.itemRequired;
            interactWithMayor.taskmode    = true;
        }
        else if (taskPrompt.taskID == "alley")
        {
            interactWithShady.whatYouNeed = taskPrompt.itemRequired;
            interactWithShady.taskmode    = true;
        }
        return(taskDialogue);
    }
Exemple #2
0
 void Update()
 {
     if (interactable)
     {
         if (choice != 0)
         {
             if (choice == 1)
             {
                 rand = Random.Range(0, 4);
             }
             else if (choice == 2)
             {
                 rand = Random.Range(0, 6);
             }
             currentTaskPrompt     = giveTask.scrambleTask(choice, rand);
             dialogue.text         = currentTaskPrompt;
             cornertaskprompt.text = ("Current task:\n" + currentTaskPrompt);
             dialogue.color        = Color.red;
             choice = 0;
         }
         else if (Input.GetKeyDown(KeyCode.Space))
         {
             if (mainCharacterVars.currentTask == false && giveTask.dayCount < dayNight.dayCount)
             {
                 if (npcFriendship.FriendLevel >= 10)
                 {
                     selectTaskEasyButton.active = true;
                     selectTaskHardButton.active = true;
                     dialogue.color = defaultTextColor;
                     dialogue.text  = dictInitialize.scramble(buttonPrompt);
                 }
                 else
                 {
                     choice = 1;
                 }
             }
             else
             {
                 dialogue.color = defaultTextColor;
                 dialogue.text  = giveTask.getNoTask();
                 if (giveTask.completed == true)
                 {
                     cornertaskprompt.text = "Current task:\nNone";
                 }
             }
         }
     }
 }
    public string makeConversation(bool isNPC)
    {
        string conversation;
        int    rand;

        if (oneperday == dayNight.dayCount)//you get 1 areaspecific convo per day
        {
            oneperday += 1;

            switch (NPCLocation)
            {
            case Location.Park:

                rand = Random.Range(0, parkconvos.Count);
                dictInitialize.learnWord("park", "market", parkconvos[rand], 50);
                conversation = dictInitialize.scramble(parkconvos[rand]);
                return(conversation);

            case Location.Bank:

                rand = Random.Range(0, bankconvos.Count);
                dictInitialize.learnWord("money", "bank", bankconvos[rand], 50);
                conversation = dictInitialize.scramble(bankconvos[rand]);
                return(conversation);

            case Location.PostOffice:

                rand = Random.Range(0, postconvos.Count);
                dictInitialize.learnWord("mail", "deliver", postconvos[rand], 50);
                conversation = dictInitialize.scramble(postconvos[rand]);
                return(conversation);

            case Location.Apartment:

                rand = Random.Range(0, aptconvos.Count);
                dictInitialize.learnWord("food", "I", aptconvos[rand], 50);
                conversation = dictInitialize.scramble(aptconvos[rand]);
                return(conversation);

            case Location.Restaraunt:

                rand = Random.Range(0, restarauntconvos.Count);
                dictInitialize.learnWord(" ", "I", restarauntconvos[rand], 50);
                conversation = dictInitialize.scramble(restarauntconvos[rand]);
                return(conversation);

            case Location.TownHall:

                rand = Random.Range(0, townhallconvos.Count);
                dictInitialize.learnWord(" ", "I", townhallconvos[rand], 50);
                conversation = dictInitialize.scramble(townhallconvos[rand]);
                return(conversation);

            default:
                return("You should not see this.");
            }
        }
        else
        {
            rand = Random.Range(0, fillerConversations.Count);
            if (isNPC)
            {
                dictInitialize.learnWord(" ", "I", fillerConversations[rand], interact.wordLearnCap);
                if (interact.wordLearnCap > 0)
                {
                    interact.wordLearnCap -= 2;
                }
            }
            else if (!isNPC)
            {
                if (mainvars.currentTask)
                {
                    conversation = dictInitialize.scramble(YouShouldntNeedMeRightNow[0]);
                    return(conversation);
                }
                else
                {
                    dictInitialize.learnWord(" ", "I", fillerConversations[rand], interactWith.wordLearnCap);
                    if (interactWith.wordLearnCap > 0)
                    {
                        interactWith.wordLearnCap -= 2;
                    }
                }
            }
            conversation = dictInitialize.scramble(fillerConversations[rand]);
            return(conversation);
        }
    }
    void Update()
    {
        if (mainCharacterVars.currentTask)
        {
            tasklocationemote.SetActive(true);
        }
        else
        {
            tasklocationemote.SetActive(false);
        }

        if (interactable)
        {
            if (Input.GetKeyDown(KeyCode.Space) || selected != "")
            {
                if (taskmode)
                {
                    if (ismarket || ispizza)
                    {
                        //if (mainCharacterVars.taskItem == "")
                        //{
                        if (ismarket)
                        {
                            dialogue.text = "Click on what you would like to buy from the market.";
                            breadbutton.SetActive(true);
                            grapesbutton.SetActive(true);
                        }
                        else if (ispizza)
                        {
                            dialogue.text = "Click on what you want on your pizza!";
                            olivebutton.SetActive(true);
                            tomatobutton.SetActive(true);
                        }
                        meatbutton.SetActive(true);
                        //}
                        if (selected != "")
                        {
                            if (Browse(whatYouNeed))
                            {
                                mainCharacterVars.taskItem = whatYouNeed;
                                for (int i = 0; i < afterInteract.Count; i++)
                                {
                                    placeholder.Add(afterInteract[i]);
                                }
                                placeholder.Add(whatYouNeed);
                                dialogue.text = dictInitialize.scramble(placeholder);
                                placeholder.Clear();
                                selected = "";

                                mainCharacterVars.almostdone = true;
                            }
                            else if (!Browse(whatYouNeed) && selected != "")
                            {
                                mainCharacterVars.taskItem = selected;
                                for (int i = 0; i < afterInteract.Count; i++)
                                {
                                    placeholder.Add(afterInteract[i]);
                                }
                                placeholder.Add(whatYouNeed);
                                dialogue.text = dictInitialize.scramble(placeholder);
                                placeholder.Clear();
                                selected = "";

                                mainCharacterVars.almostdone = true;
                            }
                        }
                        else
                        {
                            if (ismarket)
                            {
                                dialogue.text = "Click on what you would like to buy from the market.";
                            }
                            else if (ispizza)
                            {
                                dialogue.text = "Click on what you want on your pizza!";
                            }
                        }
                    }
                    else if (!ismarket && !ispizza)
                    {
                        mainCharacterVars.taskItem = whatYouNeed;
                        for (int i = 0; i < afterInteract.Count; i++)
                        {
                            placeholder.Add(afterInteract[i]);
                        }
                        placeholder.Add(whatYouNeed);
                        dialogue.text = dictInitialize.scramble(placeholder);
                        placeholder.Clear();
                        selected = "";

                        mainCharacterVars.almostdone = true;
                    }
                }
                else if (!taskmode)
                {
                    if (mainCharacterVars.currentTask)
                    {
                        confusedemote.SetActive(true);
                    }
                    dialogue.text = npcConversation.makeConversation(false);
                }
            }
        }
    }