public void SelectQuest(QuestObject quest) { //txtName.text = quest.titel; //txtDesc.text = quest.descrip; //foreach (Object objective in quest.) }
public override void Initiate() { isComplete = false; if (permanentQuest) { transform.position = questObject.transform.position; transform.SetParent(questObject.transform); QuestObject qo = questObject.GetComponent <QuestObject>(); qo.SetQuest(this); return; } RaycastHit hit; if (Physics.Raycast(transform.position + Vector3.up * 20, Vector3.down, out hit)) { GameObject temp = Instantiate(questObject, hit.point + Vector3.up, Quaternion.identity); temp.transform.SetParent(transform); QuestObject qo = temp.GetComponent <QuestObject>(); qo.SetQuest(this); } }
//{ // "quests": [ // { // "id": "Collect", // "difficulty": 1, // "categoryId": 0, // "objectives": [ // "Objective \\c[2]1", // "\\c[2]Objective\\c[0] 2" // ], // "resolutions": [ // "Resolution 1", // "Resolution 2", // "Resolution \\c[2]3" // ], // "description": [ // "Bacon ipsum dolor amet tongue", // "pork chop swine pork loin.", // "sausage beef brisket, rump", // "capicola tenderloin ribeye", // "ribs meatball. Meatloaf", // "chicken \\c[3]burgdoggen\\c[0],", // "Brisket pork chop chislic,", // "shank cupim tenderloin pastrami" // ] // } // ] //} private void buttonAddQuest_Click(object sender, EventArgs e) { DialogResult result = MessageBox.Show("Quest will be added.", "Adding Quest", MessageBoxButtons.OKCancel); if (result == DialogResult.OK) { if (HasEmptyBox()) { MessageBox.Show("Quest incomplete"); } else { QuestObject quest = new QuestObject(); quest.id = textBoxQuestName.Text; quest.difficulty = int.Parse(comboBoxDifficulty.SelectedItem.ToString()); quest.categoryId = int.Parse(comboBoxCategory.SelectedItem.ToString()); quest.description = textBoxDescription.Lines; quest.objectives = textBoxObjectives.Lines; quest.resolutions = textBoxResolutions.Lines; _tempQuestJson.quests.Add(quest); MessageBox.Show("The quest has been added! Please click save to reload the quests."); } } }
/// <summary> /// Runs when this objects trigger colliders with another /// </summary> /// <param name="other">The other object colliding with this one</param> public void OnTriggerEnter(Collider other) { if (other.GetComponent <Sword>()) { health -= other.GetComponentInParent <CQExamplePlayer>().Damage; player = other.GetComponentInParent <CQPlayerObject>(); unit = other.GetComponentInParent <CQExamplePlayer>(); if (health <= 0) { // Checks if this object is out of health, kills it if that is true health = 0; if (questObject == null) { questObject = GetComponent <QuestObject>(); } if (questObject != null) { if (questObject.criteria) { questObject.criteria.Remove(this.gameObject); if (QuestHandler.Instance.availableQuests[player].Contains(questObject.criteria.Quest)) { questObject.criteria.Progress(player, unit); // Send quest progress result, with the killer } } Destroy(this.gameObject); } } } }
public void QuestRequest(QuestObject questGiver) { QuestUI questUI = UIManager.Instance.GetQuestUI(); if (questGiver.availableQuests.Count > 0) { foreach (QuestData questGiverQuest in questGiver.availableQuests) { int questId = questGiverQuest.id; if (masterQuestDictionary.ContainsKey(questId) && masterQuestDictionary[questId].progress == Quest.QuestProgress.Available) { questUI.questAvailable = true; questUI.availableQuests.Add(masterQuestDictionary[questId]); } } } foreach (QuestData questGiverQuest in questGiver.receivableQuests) { int questId = questGiverQuest.id; if (masterQuestDictionary.ContainsKey(questId) && masterQuestDictionary[questId].progress == Quest.QuestProgress.Accepted || masterQuestDictionary[questId].progress == Quest.QuestProgress.Complete) { questUI.questRunning = true; questUI.runningQuests.Add(masterQuestDictionary[questId]); } } }
public override object Read(ES2Reader reader) { QuestObject data = GetOrCreate <QuestObject>(); Read(reader, data); return(data); }
public void CheckQuests(QuestObject questGiver) { QuestManager.Instance.QuestRequest(questGiver); if ((questRunning || questAvailable) && !questPanelActive) { ShowQuestPanel(); } }
private void Start() { foreach (SpawnQuestObject obj in spawnRequiredItems) { QuestObject newObj = new QuestObject(obj.GetItem(), obj.GetRequiredAmount()); requiredItems.Add(newObj); } }
void RpcStartQuest(int select) { isVoting = true; transform.GetChild(0).gameObject.SetActive(true); currentQuest = quests[select]; currentDecision = currentQuest.Decision; eventTitle.text = currentQuest.QuestName; RunQuest(quests[select].Decision); }
public void StartQuest(ScriptableQuest startedQuest) { title = "Quest started: " + startedQuest.missionName; announceOrder.Add(title); quest = new QuestObject(); quest.GetData(startedQuest, gameObject); activeQuestList.Add(quest); UIInfoMission.GetComponent <UIActiveMission>().txtMissionName.text = startedQuest.missionName; }
public void RequestQuest(QuestObject npcQuestObject) { if (npcQuestObject.availableQuests.Count > 0) { for (int i = 0; i < questList.Count; i++) { for (int k = 0; k < npcQuestObject.availableQuests.Count; k++) { if (questList[i].quest.id == npcQuestObject.availableQuests[k].quest.id && questList[i].progress == QuestProgress.AVAILABLE) { Debug.Log("QuestID : " + npcQuestObject.availableQuests[k] + " " + questList[i].progress); //test //AcceptQuest(npcQuestObject.availableQuestIDs[k]); //UI QuestUIManager.instance.questAvailable = true; QuestUIManager.instance.availableQuests.Add(questList[i]); } } } } //main quest if (currentQuests.mainQuest.quest != null) { Quest quest = currentQuests.mainQuest.quest; if (quest.questType == npcQuestObject.receivableType && currentQuests.mainQuest.progress == QuestProgress.AVAILABLE || currentQuests.mainQuest.progress == QuestProgress.COMPLETE) { Debug.Log("Quest Type: " + npcQuestObject.receivableType + " is " + currentQuests.mainQuest.progress); QuestUIManager.instance.questRunning = true; QuestUIManager.instance.activeQuests.Add(currentQuests.mainQuest); } } //side quest if (currentQuests.sideQuest.quest != null) { Quest quest = currentQuests.sideQuest.quest; if (quest.questType == npcQuestObject.receivableType && currentQuests.sideQuest.progress == QuestProgress.AVAILABLE || currentQuests.sideQuest.progress == QuestProgress.COMPLETE) { Debug.Log("Quest Type: " + npcQuestObject.receivableType + " is " + currentQuests.sideQuest.progress); QuestUIManager.instance.questRunning = true; QuestUIManager.instance.activeQuests.Add(currentQuests.sideQuest); } } //Mission Quest if (currentQuests.missionQuest.quest != null) { Quest quest = currentQuests.missionQuest.quest; if (quest.questType == npcQuestObject.receivableType && currentQuests.missionQuest.progress == QuestProgress.AVAILABLE || currentQuests.missionQuest.progress == QuestProgress.COMPLETE) { Debug.Log("Quest Type: " + npcQuestObject.receivableType + " is " + currentQuests.missionQuest.progress); QuestUIManager.instance.questRunning = true; QuestUIManager.instance.activeQuests.Add(currentQuests.missionQuest); } } }
public bool CheckCompletedQuest(QuestObject npcQuestObject) { for (int i = 0; i < questList.Count; i++) { if (questList[i].quest.questType == npcQuestObject.receivableType && questList[i].progress == QuestProgress.COMPLETE) { return(true); } } return(false); }
//Charging collision void OnCollisionEnter(Collision coll) { //If the state is not charge do nothing if (state != State.Charge) { return; } MonsterAI m = coll.gameObject.GetComponent <MonsterAI>(); QuestObject QO = coll.gameObject.GetComponent <QuestObject>(); //If collision happened with a quest object if (m != null) { //If AI hit a sheep invoke the sheep hit function if (QO != null && m.GetType() == typeof(SheepAI)) { Debug.Log("I HIT A SHEEP"); HitSheep(QO, m, coll.gameObject, chargeForce * (accelTimer / accelTime), false, this); return; } //If its not a sheep it must be a static questObjective else if (m.GetType() == typeof(MeleeAI2)) { Debug.Log("Melee's collided with angle : " + Vector3.Dot(m.gameObject.transform.forward, transform.forward)); if (m.getState() == State.Charge && Vector3.Dot(m.gameObject.transform.forward, transform.forward) > 0.8) { return; } anim.SetTrigger("HitObject"); Debug.Log("hit another monster"); ChargeToMove(); } } else if (QO != null) { anim.SetTrigger("HitObject"); Debug.Log("Hit quest object"); QO.takeDamage(2, true, coll.contacts[0].point); base.playerAction.ObjectiveAttacked(this); ChargeToMove(); } else { anim.SetTrigger("HitObject"); Debug.Log("Hit wall"); agent.velocity = Vector3.zero; ChargeToMove(); } MeleeAttack(); }
public void assignQuest(QuestObject qo) { if (currentQuests.Count >= maxQuests) { throw new TooManyQuestsException(); } qo.turnsToComplete = qo.maxTurns; EventObject.EventGroup eg = new EventObject.EventGroup(qo.OnQuestEnd, qo.maxTurns); EventManager.Instance.addTurnEvent(eg); currentQuests.Add(qo); }
private void CreateQuestObjects() { for (int i = 0; i < QuestObjectCount; i++) { QuestObject questObject = Instantiate(Prefabs.QuestsObjects[_questObjectPriority[i]].Prefab, new Vector3(Random.Range(-21, 20), 0, Random.Range(-21, 20)), Quaternion.identity); questObject.Player = _player; questObject.Text = UiManager.Text[i]; questObject.ActivationOrder = i; questObject.GameManager = this; _questObjects[i] = questObject; } }
public void EmptyUIQuests() { foreach (GameObject q in quests) { QuestObject quest = q.GetComponent <QuestObject>(); quest.questName = ""; quest.description.text = "Completed"; quest.progress.text = "-"; quest.rewards.text = "-"; quest.completed.sprite = checkBoxTicked; } //Debug.Log(quests[2].GetComponent<QuestObject>().description.text); }
public void AddQuest(float lat, float lon) { //Create new quest Quest newQuest = new Quest(); newQuest.id = quests.Count + 1; newQuest.portal = "Plasma_02"; newQuest.pre = ""; newQuest.answer = ""; newQuest.post = ""; //Add previous as precedence if (quests.Count > 0) { newQuest.precedences.Add(quests.Count); } quests.Add(newQuest); //Create item in list UnityEngine.Object res = Resources.Load("QuestTemplate"); GameObject newElement = (GameObject)GameObject.Instantiate(res); newElement.transform.SetParent(questList); newElement.transform.localScale = Vector3.one; newQuest.questElement = newElement; //Asign OnClick Button btn = newElement.GetComponent <Button> (); btn.onClick.AddListener(delegate { ShowQuestDetails(newQuest.id); }); //Put object on map UnityEngine.Object resource = Resources.Load("MapObject"); GameObject mapObject = (GameObject)GameObject.Instantiate(resource); SetGeolocation loc = mapObject.GetComponent <SetGeolocation> (); loc.lat = lat; loc.lon = lon; loc.height = playerLocation.height - 100; loc.scaleX = 1f; loc.scaleY = 1f; loc.scaleZ = 1f; GetGeolocation realLoc = mapObject.GetComponent <GetGeolocation> (); newQuest.location = realLoc; QuestObject script = mapObject.AddComponent <QuestObject> (); script.id = newQuest.id; newQuest.mapObject = mapObject; }
public QuestObject GetInformation(int questid) { foreach (QuestObject quest in DatabaseQuests) { if (quest.m_QuestID == questid) { LastAccessedQuest = questid; return(quest); } } QuestObject obj = null; return(obj); }
public bool CheckAvailableQuest(QuestObject npcQuestObject) { for (int i = 0; i < questList.Count; i++) { for (int j = 0; j < npcQuestObject.availableQuests.Count; j++) { if (questList[i].quest.id == npcQuestObject.availableQuests[j].quest.id && questList[i].progress == QuestProgress.AVAILABLE) { return(true); } } } return(false); }
public bool CheckAcceptedQuests(QuestObject NPCQuestObject) { for (int i = 0; i < questList.Count; i++) { for (int j = 0; j < NPCQuestObject.receivableQuestIDs.Count; j++) { if (questList[i].id == NPCQuestObject.receivableQuestIDs[j] && questList[i].progress == Quest.QuestProgress.ACCEPTED) { return(true); } } } return(false); }
public bool CheckAvailableQuests(QuestObject NPCQuestObject) { for (int i = 0; i < questList.Count; i++) { for (int j = 0; j < questList.Count; j++) { if (questList[i].id == NPCQuestObject.availableQuestIDs[j] && questList[i].progress == Quest.QuestProgress.AVAILABLE) { return(true); } } } return(false); }
//bool function for checking available quests public bool CheckAvailableQ(QuestObject NPC) { for (int i = 0; i < qList.Count; i++) { for (int j = 0; j < NPC.availableIDs.Count; j++) { if (qList[i].Qid == NPC.availableIDs[j] && qList[i].progress == Quest.QProgress.AVAILABLE) { return(true); } } } return(false); }
//CALLED FROM QUEST OBJECT (npc character/radio tower) public void CheckQuests(QuestObject questObject) { currentQuestObject = questObject; QuestManager.questManager.QuestRequest(questObject); if ((questRunning || questAvaliable) && !questPanelActive) { //Show the quest panel ShowQuestPanel(); } else { Debug.Log("No Quests Avaliable"); } }
public bool checkForCompletedQuests(QuestObject NPCQuestObject) { for (int i = 0; i < questList.Count; i++) { for (int j = 0; j < NPCQuestObject.recievableQuestIDs.Count; j++) { if (questList[i].id == NPCQuestObject.recievableQuestIDs[j] && questList[i].progress == Quest.QuestProgress.AVALIABLE) { return(true); } } } return(false); }
//CALLED FROM QUEST OBJECT public void CheckQuests(QuestObject questObject) { currentQuestObject = questObject; QuestManager.questManager.QuestRequest(questObject); if ((questRunning || questAvailable) && !questPanelActive) { ShowQuestPanel(); } else { Debug.Log("No Quest Available"); } //Debug.Log ("hey there"+ number); }
private void Start() { nav = GetComponent <NavMeshAgent>(); anim = GetComponent <Animator>(); questObj = GetComponent <QuestObject>(); player = PlayerInput.pos; attackCounter = attackDelay; nav.avoidancePriority = 10; StartCoroutine(NavTargetUpdate()); }
//bool function for checking ongoing quests public bool CheckAcceptedQ(QuestObject NPC) { for (int i = 0; i < qList.Count; i++) { for (int j = 0; j < NPC.receivableIDs.Count; j++) { if (qList[i].Qid == NPC.receivableIDs[j] && qList[i].progress == Quest.QProgress.ONGOING) { return(true); } } } return(false); }
//bool function for checking completed quests public bool CheckCompleteQ(QuestObject NPC) { for (int i = 0; i < qList.Count; i++) { for (int j = 0; j < NPC.receivableIDs.Count; j++) { if (qList[i].Qid == NPC.receivableIDs[j] && qList[i].progress == Quest.QProgress.COMPLETE) { return(true); } } } return(false); }
void ProjectileCollision(GameObject collObj, Vector3 pos) { DestroyTarget(); setToDestroy = true; MonsterAI m = collObj.gameObject.GetComponent <MonsterAI>(); QuestObject questObj = collObj.GetComponent <QuestObject>(); if (m != null) { //other monsters if (m.GetType() == typeof(SheepAI)) { //let player know objective is attacked originMonster.HitSheep(m.GetComponent <QuestObject>(), m, m.gameObject, ExplosionForce, false, originMonster); return; } //other monsters else { m.Hit(1); Rigidbody body = collObj.GetComponent <Rigidbody>(); if (body) { body.AddExplosionForce(ExplosionForce, transform.position, ExplosionRadius, 0f); } originMonster.playerAction.MonsterAttackedMonster(originMonster); } } if (questObj != null) { Debug.Log("QuestObject hitttiittitiit"); questObj.takeDamage(3, false, pos); //let player know objective is attacked originMonster.playerAction.ObjectiveAttacked(originMonster); } //monster should make daamge not the projectile?? if (collObj.CompareTag("Player")) { collObj.GetComponent <PlayerActionController>().PlayerAttacked(originMonster); Rigidbody body = collObj.GetComponent <Rigidbody>(); if (body) { body.AddExplosionForce(PlayerExplosionForce, transform.position, ExplosionRadius, 0f); } } }
public override void Write(object obj, ES2Writer writer) { QuestObject data = (QuestObject)obj; // Add your writer.Write calls here. writer.Write(data.questNumber); writer.Write(data.Title); writer.Write(data.Description); writer.Write(data.IsCollection); writer.Write(data.IsBoss); writer.Write(data.EndInstant); writer.Write(data.itemTag); writer.Write(data.currentCount); writer.Write(data.required); }