public void SetConversationandCheckIfComplete() { //If quest has not been accepted yet if (state == QuestState.NotAccepted) { //Offer the quest trigger.SetID(NotYetAcceptedID); //If quest has been accepted } else if (state == QuestState.Accepted) { //Check if quest has been completed if (GetIsComplete()) { //If it has, set NPCs conversation to 'objective met' trigger.SetID(ObjectiveMetID); } else { //Else, set NPCs conversation to 'go meet objective' trigger.SetID(HaveAcceptedNotMetID); } //If objective is met already } else if (state == QuestState.ObjectiveMet) { //Set objective met ID (YOU SHOULD NEVER GET HERE AS THIS IS ALWAYS CHECKED MID CONVERSATION) trigger.SetID(ObjectiveMetID); //If quest has been completed (and reward obtained) then set conversation to this. } else if (state == QuestState.RewardObtained) { trigger.SetID(RewardAlreadyObtainedID); } }