//Check information to see if the quest is completed public void AttempToCompleteActualObjective(EnumsScript.Quest_Objective_Type questType, int id, int quantity, string areaName, Vector3 position) { if (!actualChapter.actualObjective.objectiveCompleted) { switch (questType) { case EnumsScript.Quest_Objective_Type.HUNT_MONSTER: if (actualChapter.actualObjective.monsterIdToHunt == id) { actualChapter.actualObjective.quantityHunted += quantity; } if (actualChapter.actualObjective.quantityToHunt == actualChapter.actualObjective.quantityHunted) { actualChapter.actualObjective.objectiveCompleted = true; } break; case EnumsScript.Quest_Objective_Type.COLLECT_ITEM: if (actualChapter.actualObjective.itemToCollectId == id) { actualChapter.actualObjective.quantityCollected += quantity; } if (actualChapter.actualObjective.quantityToCollect == actualChapter.actualObjective.quantityCollected) { actualChapter.actualObjective.objectiveCompleted = true; } break; case EnumsScript.Quest_Objective_Type.KILL_BOSS: if (actualChapter.actualObjective.bossIdToDefeat == id) { actualChapter.actualObjective.isBossDefeated = true; actualChapter.actualObjective.objectiveCompleted = true; } break; case EnumsScript.Quest_Objective_Type.REACH_PLACE: //fix position check variable with the radius if (Vector3.Distance(actualChapter.actualObjective.positionToGo, position) < actualChapter.actualObjective.radius && actualChapter.actualObjective.areaNameToGo == areaName) { actualChapter.actualObjective.positionReached = true; actualChapter.actualObjective.objectiveCompleted = true; } break; case EnumsScript.Quest_Objective_Type.TALK_TO_NPC: if (actualChapter.actualObjective.npcToTalkId == id) { actualChapter.actualObjective.talkedToNpc = true; actualChapter.actualObjective.objectiveCompleted = true; } break; case EnumsScript.Quest_Objective_Type.NONE: break; } } }
//Check if position is correct public void AttempToCompleteActualObjective(EnumsScript.Quest_Objective_Type questType, Vector3 position, string areaName) { if (!actualChapter.actualObjective.objectiveCompleted && questType == EnumsScript.Quest_Objective_Type.REACH_PLACE) { if (Vector3.Distance(actualChapter.actualObjective.positionToGo, position) < actualChapter.actualObjective.radius && actualChapter.actualObjective.areaNameToGo == areaName) { actualChapter.actualObjective.positionReached = true; actualChapter.actualObjective.objectiveCompleted = true; } } }
public void AttempToCompleteActualObjective(EnumsScript.Quest_Objective_Type questType, int id, int quantity) { if (!actualChapter.actualObjective.objectiveCompleted) { switch (questType) { case EnumsScript.Quest_Objective_Type.HUNT_MONSTER: if (actualChapter.actualObjective.monsterIdToHunt == id) { actualChapter.actualObjective.quantityHunted += quantity; } if (actualChapter.actualObjective.quantityToHunt == actualChapter.actualObjective.quantityHunted) { actualChapter.actualObjective.objectiveCompleted = true; } break; case EnumsScript.Quest_Objective_Type.COLLECT_ITEM: if (actualChapter.actualObjective.itemToCollectId == id) { actualChapter.actualObjective.quantityCollected += quantity; } if (actualChapter.actualObjective.quantityToCollect == actualChapter.actualObjective.quantityCollected) { actualChapter.actualObjective.objectiveCompleted = true; } break; case EnumsScript.Quest_Objective_Type.KILL_BOSS: if (actualChapter.actualObjective.bossIdToDefeat == id) { actualChapter.actualObjective.isBossDefeated = true; actualChapter.actualObjective.objectiveCompleted = true; } break; case EnumsScript.Quest_Objective_Type.TALK_TO_NPC: if (actualChapter.actualObjective.npcToTalkId == id) { actualChapter.actualObjective.talkedToNpc = true; actualChapter.actualObjective.objectiveCompleted = true; } break; case EnumsScript.Quest_Objective_Type.NONE: break; } } }