// Use this for initialization void Start () { var q0 = new Quest("bed", "Wakey wakey eggs and bakey. Rise and shine!", true); q0.AddObjective(new Objective("leaveBed")); quests.Add(q0); var q1 = new Quest("wakeup", "Clock is ringing, you should do something about that", true); q1.AddObjective(new Objective("shootAlarm")); quests.Add(q1); var q2 = new Quest("shower", "Shower without your dad", false); q2.AddObjective(new Objective("shower")); quests.Add(q2); var q4 = new Quest("bacon", "Bakin' bacon pancakes", false); q4.AddObjective(new Objective("shootFridge")); q4.AddObjective(new Objective("getBacon")); q4.AddObjective(new Objective("putBaconOnOven")); q4.AddObjective(new Objective("heatOven")); q4.AddObjective(new Objective("fryBacon")); quests.Add(q4); var q5 = new Quest("car", "Get to work", false); q5.completesLevel = true; q5.AddObjective(new Objective("getInCar")); quests.Add(q5); player = FindObjectOfType<Player>(); TrapPlayer(); }
public void Awake() { DontDestroyOnLoad(this); QuestData = JsonMapper.ToObject(File.ReadAllText(Application.dataPath + "/StreamingAssets/Quests.json")); QuestObjectiveData = JsonMapper.ToObject(File.ReadAllText(Application.dataPath + "/StreamingAssets/QuestObjectives.json")); for (int i = 0; i < QuestObjectiveData.Count; i++) { JsonData EntryData = QuestObjectiveData[i]; string id = EntryData["identifier"].ToString(); ObjectiveTypes objType; switch (EntryData["type"].ToString()) { case "bool": objType = ObjectiveTypes.Bool; break; case "number": objType = ObjectiveTypes.Number; break; case "percentage": objType = ObjectiveTypes.Percentage; break; default: objType = ObjectiveTypes.Number; break; } QuestObjective objective = new QuestObjective(id, EntryData["description"].ToString(), objType, float.Parse(EntryData["goal"].ToString())); questObjectives.Add(id, objective); } for (int i = 0; i < QuestData.Count; i++) { JsonData EntryData = QuestData[i]; string id = EntryData["identifier"].ToString(); string dialogue = EntryData["dialogue"].ToString(); int xpReward = (EntryData.Keys.Contains("xp")) ? int.Parse(EntryData["xp"].ToString()) : 0; string itemRewards = (EntryData.Keys.Contains("items")) ? EntryData["items"].ToString() : ""; Quest quest = new Quest(id, EntryData["title"].ToString(), dialogue, xpReward, itemRewards); string[] objectives = EntryData["objectives"].ToString().Split(','); foreach (string s in objectives) { quest.AddObjective(s, questObjectives[s]); } quests.Add(id, quest); } }
public override void OnResponse(Network.NetState state, RelayInfo info) { if (info.ButtonID == 0 && User.Quest != null && User.Quest is TimeForLegendsQuest) { User.Quest.Cancel(); } int id = info.ButtonID - 1; if (id >= 0 && id < SkillInfo.Table.Length) { Quest.Mastery = (SkillName)id; Quest.ToSlay = TimeForLegendsQuest.TargetOfTheDay; Quest.AddObjective(new TimeForLegendsObjective()); } }