public static void JobExperienceUpdateMessageTreatment(Message message, byte[] packetDatas, AccountUC account) { JobExperienceUpdateMessage msg = (JobExperienceUpdateMessage)message; using (BigEndianReader reader = new BigEndianReader(packetDatas)) { msg.Deserialize(reader); } JobExperience i = msg.experiencesUpdate; foreach (Core.Job.Job j in account.Jobs) { if (i.jobId == j.Id) { j.Level = i.jobLevel; j.XP = (int)i.jobXP; j.XpLevelFloor = (int)i.jobXpLevelFloor; j.XpNextLevelFloor = (int)i.jobXpNextLevelFloor; break; } } foreach (JobUC j in account.JobsUC) { j.UpdateJob(); } }
public static void HandleJobExperienceUpdateMessage(Bot bot, JobExperienceUpdateMessage message) { var job = bot.Character.GetJob(message.experiencesUpdate.jobId); if (job == null) { logger.Warn("Cannot update job {0} experience because it's not found", message.experiencesUpdate.jobId); } else { job.Update(message.experiencesUpdate); } bot.Character.Inventory.FixInventoryOverloadIfNeeded(); }
private void HandleJobExperienceUpdateMessage(IAccount account, JobExperienceUpdateMessage message) { foreach (var job in _account.Character.Jobs) { if (job.JobId == message.ExperiencesUpdate.JobId) { job.JobLevel = message.ExperiencesUpdate.JobLevel; job.JobXP = message.ExperiencesUpdate.JobXP; job.JobXpLevelFloor = message.ExperiencesUpdate.JobXpLevelFloor; job.JobXpNextLevelFloor = message.ExperiencesUpdate.JobXpNextLevelFloor; break; } } Logger.Default.Log( $"{FastD2IReader.Instance.GetText(ObjectDataManager.Instance.Get<Job>(message.ExperiencesUpdate.JobId).NameId)} | Level: {message.ExperiencesUpdate.JobLevel} | Exp: {message.ExperiencesUpdate.JobXP}"); }
public static Task HandleJobExperienceUpdateMessage(Account account, JobExperienceUpdateMessage message) => Task.Run(() => account.Game.Character.Jobs.Update(message));
public void Update(JobExperienceUpdateMessage message) { Jobs.FirstOrDefault(j => j.Id == message.ExperiencesUpdate.JobId)?.Update(message.ExperiencesUpdate); JobsUpdated?.Invoke(); }