public void SetTaskStateById(int tid, int state) { if (Tasks.ContainsKey(tid)) Tasks[tid] = new TaskState(tid, state, Tasks[tid].Addon); else Tasks.Add(tid, new TaskState(tid, state, 0)); CheckTaskNeedItem(tid); Scene.Instance.RefreshNpcState(); }
public void UpdateTaskAddonWin(int mid, int tlevel, int addon) { int tid = 0; foreach (TaskState state in Tasks.Values) { TaskConfig taskConfig = ConfigData.GetTaskConfig(state.Tid); if (state.State == 1) { if ((taskConfig.Type == TaskTypes.Won && taskConfig.WinId == mid) || PeopleBook.IsMonster(mid) && taskConfig.Type == TaskTypes.WonLevel && taskConfig.WinLevel <= tlevel) { tid = state.Tid; break; } } } if (Tasks.ContainsKey(tid)) Tasks[tid] = new TaskState(tid, Tasks[tid].State, Tasks[tid].Addon + addon); }