public void Update(GameActionFightLifePointsGainMessage message) { LifePoints += (int)message.Delta; if (LifePoints > MaxLifePoints) { LifePoints = MaxLifePoints; } }
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(); } }
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); } } }
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); } }
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é"); } } } }
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."); });