public override void SendAllData(Player receiver) { foreach (var pair in _criteriaProgress) { CriteriaUpdate criteriaUpdate = new CriteriaUpdate(); criteriaUpdate.CriteriaID = pair.Key; criteriaUpdate.Quantity = pair.Value.Counter; criteriaUpdate.PlayerGUID = _owner.GetGUID(); criteriaUpdate.Flags = 0; criteriaUpdate.CurrentTime = pair.Value.Date; criteriaUpdate.CreationTime = 0; SendPacket(criteriaUpdate); } }
public override void SendCriteriaUpdate(Criteria criteria, CriteriaProgress progress, uint timeElapsed, bool timedCompleted) { CriteriaUpdate criteriaUpdate = new CriteriaUpdate(); criteriaUpdate.CriteriaID = criteria.Id; criteriaUpdate.Quantity = progress.Counter; criteriaUpdate.PlayerGUID = _owner.GetGUID(); criteriaUpdate.Flags = 0; if (criteria.Entry.StartTimer != 0) { criteriaUpdate.Flags = timedCompleted ? 1 : 0u; // 1 is for keeping the counter at 0 in client } criteriaUpdate.CurrentTime = progress.Date; criteriaUpdate.ElapsedTime = timeElapsed; criteriaUpdate.CreationTime = 0; SendPacket(criteriaUpdate); }