public void CompleteQuest() { Quest quest = CreateTestQuest(); //PlayerQuest looks for the ID in GameWorld's quest list. This can be removed once we start generating quests with IDs GameWorld.GetWorld().QuestList.Add(quest); PlayerQuest playerQuest = new PlayerQuest(quest.ID); //loop through all steps and give required items/kills foreach (var step in playerQuest.Quest.Steps) { foreach (var killCount in step.RequiredKills) { killCount.KilledByPlayer = killCount.RequiredKillCount; } //give player all required items foreach (var itemRequired in step.RequiredItems) { InventoryItem item = new InventoryItem(itemRequired.Item.ID, itemRequired.Count); Player.GetPlayer().Inventory.Add(item); } } //Verify player completed the quest Assert.IsTrue(playerQuest.IsCompleted); }
public void CompleteQuestStep() { Quest quest = CreateTestQuest(); //make required kills match player kills foreach (var killCount in quest.Steps[0].RequiredKills) { killCount.KilledByPlayer = killCount.RequiredKillCount; } //give player all required items foreach (var itemRequired in quest.Steps[0].RequiredItems) { InventoryItem item = new InventoryItem(itemRequired.Item.ID, itemRequired.Count); Player.GetPlayer().Inventory.Add(item); } //verify step has been completed Assert.IsTrue(quest.Steps[0].IsStepCompleted); }