コード例 #1
0
    public override void React(DialogController p_controller, string[] p_args)
    {
        Quest quest = Quest.Get(p_args[0], false);

        if (p_controller.m_interactor.IsEligible(quest))
        {
            quest.Accept(p_controller.m_npc, p_controller.m_interactor);
        }
    }
コード例 #2
0
ファイル: CmdCompleteQuest.cs プロジェクト: dwiki08/grimli
        public async Task Execute(IBotEngine instance)
        {
            await instance.WaitUntil(() => World.IsActionAvailable(LockActions.TryQuestComplete));

            bool provokeMons = instance.Configuration.ProvokeMonsters;

            int i = 0;

            if (!Player.Quests.AcceptedQuests.Contains(Quest))
            {
                Quest.Accept();
            }
            while (Player.Quests.CanComplete(Quest.Id) && i < CompleteTry && instance.IsRunning && Player.IsLoggedIn)
            {
                if (provokeMons)
                {
                    instance.Configuration.ProvokeMonsters = false;
                }
                if (instance.Configuration.ExitCombatBeforeQuest && !InBlank)
                {
                    Player.MoveToCell(Player.Cell, Player.Pad);
                    await instance.WaitUntil(() => Player.CurrentState != Player.State.InCombat);

                    await Task.Delay(1000);
                }
                if (InBlank && !Player.Cell.Equals("Blank"))
                {
                    Player.MoveToCell("Blank", "Spawn");
                    await Task.Delay(2000);
                }
                Quest.Complete();
                if (CompleteTry > 1)
                {
                    await Task.Delay(Delay);
                }
                i++;
                //await instance.WaitUntil(() => !Player.Quests.IsInProgress(Quest.Id));
            }
            instance.Configuration.ProvokeMonsters = provokeMons;

            if (ReAccept)
            {
                await Task.Delay(1000);

                Quest.Accept();
            }
            if (Player.Quests.CanComplete(Quest.Id) && LogoutFailed)
            {
                await Task.Delay(1000);

                Player.Logout();
            }
        }
コード例 #3
0
ファイル: UIManager.cs プロジェクト: youdevils/PixelOffice
    public void AddConversationResponse(string _responsetext, int _responseID, CompanyValue _trait, OptionTrigger _type, Quest _quest)
    {
        GameObject btn = Instantiate(conversationOptionPrefab, conversationOptionContainer) as GameObject;

        btn.GetComponentInChildren <TextMeshProUGUI>().text = _responsetext;
        btn.GetComponent <Button>().onClick.AddListener(delegate { ConversationManager.instance.NextConversationStep(_responseID); });
        if (_type == OptionTrigger.QuestAcceptance)
        {
            btn.GetComponent <Button>().onClick.AddListener(delegate { _quest.Accept(); });
        }
        else if (_type == OptionTrigger.ObtainQuestReward)
        {
            btn.GetComponent <Button>().onClick.AddListener(delegate { _quest.ClaimReward(); });
        }
        switch (_trait)
        {
        case CompanyValue.NULL:
            btn.transform.GetChild(1).GetChild(0).GetComponent <Image>().enabled = false;
            break;

        case CompanyValue.ValueOne:
            btn.transform.GetChild(1).GetChild(0).GetComponent <Image>().enabled = true;
            btn.transform.GetChild(1).GetChild(0).GetComponent <Image>().sprite  = perceptionIcon;
            btn.transform.GetChild(1).GetChild(0).GetComponent <Image>().color   = ValueOneColor;
            break;

        case CompanyValue.ValueTwo:
            btn.transform.GetChild(1).GetChild(0).GetComponent <Image>().enabled = true;
            btn.transform.GetChild(1).GetChild(0).GetComponent <Image>().sprite  = managementIcon;
            btn.transform.GetChild(1).GetChild(0).GetComponent <Image>().color   = ValueTwoColor;
            break;

        case CompanyValue.ValueThree:
            btn.transform.GetChild(1).GetChild(0).GetComponent <Image>().enabled = true;
            btn.transform.GetChild(1).GetChild(0).GetComponent <Image>().sprite  = coWorkerIcon;
            btn.transform.GetChild(1).GetChild(0).GetComponent <Image>().color   = ValueThreeColor;
            break;

        default:
            Debug.LogError("Unknown Trait Type");
            break;
        }
    }