Пример #1
0
        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();
            }
        }
Пример #2
0
        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();
        }
Пример #3
0
 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}");
 }
Пример #4
0
 public static Task HandleJobExperienceUpdateMessage(Account account, JobExperienceUpdateMessage message)
 => Task.Run(() => account.Game.Character.Jobs.Update(message));
Пример #5
0
        public void Update(JobExperienceUpdateMessage message)
        {
            Jobs.FirstOrDefault(j => j.Id == message.ExperiencesUpdate.JobId)?.Update(message.ExperiencesUpdate);

            JobsUpdated?.Invoke();
        }