Ejemplo n.º 1
0
 public void Update(GameActionFightLifePointsGainMessage message)
 {
     LifePoints += (int)message.Delta;
     if (LifePoints > MaxLifePoints)
     {
         LifePoints = MaxLifePoints;
     }
 }
Ejemplo n.º 2
0
        public void Update(GameActionFightLifePointsGainMessage message)
        {
            GetFighter(message.TargetId)?.Update(message);

            // Trigger update event if its our character
            if (message.TargetId == PlayedFighter.ContextualId)
            {
                _account.Game.Character.Stats.MaxLifePoints = (uint)PlayedFighter?.MaxLifePoints;
                _account.Game.Character.Stats.LifePoints    = (uint)PlayedFighter?.LifePoints;
                FighterStatsUpdated?.Invoke();
            }
        }
Ejemplo n.º 3
0
        public static void GameActionFightLifePointsGainMessageTreatment(Message message, byte[] packetDatas, AccountUC account)
        {
            GameActionFightLifePointsGainMessage msg = (GameActionFightLifePointsGainMessage)message;

            using (BigEndianReader reader = new BigEndianReader(packetDatas))
            {
                msg.Deserialize(reader);
            }
            if (account.state == Status.Fighting)
            {
                if (msg.actionId == 108) // HP Récupérés (delta = combien on a récupérés)
                {
                    account.FightData.UpdateFighterLifePoints(msg.targetId, msg.delta);
                }
            }
        }
Ejemplo n.º 4
0
        public void HandleGameActionFightLifePointsGainMessage(Bot bot, GameActionFightLifePointsGainMessage message)
        {
            if (bot == null || bot.Character == null || bot.Character.Fight == null)
            {
                logger.Error("Fight is not properly initialized.");
                return; // Can't handle the message
            }
            var fighter = bot.Character.Fight.GetFighter(message.targetId);

            if (fighter == null)
            {
                logger.Error("Fighter {0} has gain {2} HP cast but doesn't exist, or is it {1} ?", message.targetId, message.sourceId, message.delta);
            }
            else
            {
                fighter.UpdateHP(message);
            }
        }
Ejemplo n.º 5
0
        public static void GameActionFightLifePointsGainMessageTreatment(Message message, byte[] packetDatas, AccountUC account)
        {
            GameActionFightLifePointsGainMessage msg = (GameActionFightLifePointsGainMessage)message;

            using (BigEndianReader reader = new BigEndianReader(packetDatas))
            {
                msg.Deserialize(reader);
            }
            /* Credit : Apokah */
            if (account.Fight != null && account.state == Status.Fighting)
            {
                BFighter fighter = account.Fight.GetFighter(msg.targetId);
                if (msg.actionId == 108) // HP Récupérés (delta = combien on a récupérés)
                {
                    account.Fight.Fighters[account.Fight.Fighters.IndexOf(fighter)].LifePoints += msg.delta;
                    if (fighter.Id == account.Fight.Fighter.Id)
                    {
                        account.ModifBar(2, account.Fight.Fighter.MaxLifePoints, account.Fight.Fighter.LifePoints, "Vitalité");
                    }
                }
            }
        }
Ejemplo n.º 6
0
        public static Task HandleGameActionFightLifePointsGainMessage(Account account, GameActionFightLifePointsGainMessage message)
        => Task.Run(() =>
        {
            account.Game.Fight.Update(message);

            var fighter = account.Game.Fight.GetFighter(message.TargetId);
            account.Logger.LogInfo(fighter.GetName(), $"+ {message.Delta} HP.");
        });