void OnMouseOver() { if (Input.GetMouseButtonUp(0)) { _characterStats = GameObject.Find("Game manager").GetComponent <Character_stats>(); var conversation = GameObject.Find("Conversation").GetComponent <Conversation_script>(); if (mode == npc_modes.conversation) { conversation.showConversation(idle_conversations[UnityEngine.Random.Range(0, idle_conversations.Length)]); } else if (mode == npc_modes.quest_giver) { if (!_characterStats.isOnQuest(quest_id) && _questManager.quests[quest_id].level_requirement <= _characterStats.Player_level && !_characterStats.isInCompletedQuests(quest_id)) { conversation.showConversation(conversation_id); } else { conversation.showConversation(idle_conversations[UnityEngine.Random.Range(0, idle_conversations.Length)]); } } else if (mode == npc_modes.quest) { if (_characterStats.isOnQuest(quest_id)) { conversation.showConversation(conversation_id); } else { conversation.showConversation(idle_conversations[UnityEngine.Random.Range(0, idle_conversations.Length)]); } } } }
public void checkAvailableQuests() { available_quests.Clear(); foreach (var quest in quests) { if (quest.id != 0 && quest.level_requirement <= _characterStats.Player_level && !_characterStats.isInCompletedQuests(quest.id) && !_characterStats.isOnQuest(quest.id)) { available_quests.Add(quest); } } }
void Update() { _characterStats = GameObject.Find("Game manager").GetComponent <Character_stats>(); if (npc_id == 2 && _characterStats.isInCompletedQuests(1)) { mode = npc_modes.quest_giver; quest_id = 2; conversation_id = 8; } if (mode == npc_modes.quest_giver && quest_id != 0 && _questManager.available_quests.Contains(_questManager.quests[quest_id]) && !_characterStats.isInCompletedQuests(quest_id) && !_characterStats.isOnQuest(quest_id)) { setQuestIcon(); } else { clearQuestIcon(); } }