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); } }
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(); } }
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; } }