server-master/srcs/_plugins/Plugin.TimeSpaces/Handlers/RevivalAskEventTimeSpaceHandler.cs
2026-02-10 18:21:30 +01:00

38 lines
No EOL
1.1 KiB
C#

using System.Threading;
using System.Threading.Tasks;
using PhoenixLib.Events;
using WingsEmu.Game._i18n;
using WingsEmu.Game.Battle;
using WingsEmu.Game.Extensions;
using WingsEmu.Game.Revival;
namespace Plugin.TimeSpaces.Handlers;
public class RevivalAskEventTimeSpaceHandler : IAsyncEventProcessor<RevivalAskEvent>
{
public async Task HandleAsync(RevivalAskEvent e, CancellationToken cancellation)
{
if (e.Sender.PlayerEntity.IsAlive())
{
return;
}
if (e.AskRevivalType != AskRevivalType.TimeSpaceRevival)
{
return;
}
if (!e.Sender.PlayerEntity.TimeSpaceComponent.IsInTimeSpaceParty)
{
return;
}
if (e.Sender.PlayerEntity.TimeSpaceComponent.TimeSpace.Finished)
{
return;
}
e.Sender.SendDialog(CharacterPacketExtension.GenerateRevivalPacket(RevivalType.DontPayRevival), CharacterPacketExtension.GenerateRevivalPacket(RevivalType.DontPayRevival),
e.Sender.GetLanguageFormat(GameDialogKey.TIMESPACE_DIALOG_ASK_REVIVAL));
}
}