// // ReviveResponder.cs // // Copyright (c) František Boháček. All rights reserved. // Licensed under the MIT license. See LICENSE file in the project root for full license information. using NosSmooth.Core.Packets; using NosSmooth.Game.Data.Entities; using NosSmooth.Packets.Server.Entities; using Remora.Results; namespace NosSmooth.Game.PacketHandlers.Entities; /// /// A handler of . /// public class ReviveResponder : IPacketResponder { private readonly Game _game; /// /// Initializes a new instance of the class. /// /// The game. public ReviveResponder(Game game) { _game = game; } /// public Task Respond(PacketEventArgs packetArgs, CancellationToken ct = default) { var packet = packetArgs.Packet; var entity = _game.CurrentMap?.Entities.GetEntity(packet.EntityId); if (entity is not null) { var hp = entity.Hp; var mp = entity.Mp; if (hp is not null) { hp.Percentage = 100; } if (mp is not null) { mp.Percentage = 100; } } return Task.FromResult(Result.FromSuccess()); } }