server-master/srcs/_plugins/Plugin.PlayerLogs/Enrichers/LevelUp/LogLevelUpCharacterMessageEnricher.cs
2026-02-10 18:21:30 +01:00

26 lines
No EOL
1 KiB
C#

using Plugin.PlayerLogs.Core;
using Plugin.PlayerLogs.Messages.LevelUp;
using WingsAPI.Game.Extensions.CharacterExtensions;
using WingsEmu.Game.Characters.Events;
using WingsEmu.Packets.Enums;
namespace Plugin.PlayerLogs.Enrichers.LevelUp
{
public sealed class LogLevelUpCharacterMessageEnricher : ILogMessageEnricher<LevelUpEvent, LogLevelUpCharacterMessage>
{
public void Enrich(LogLevelUpCharacterMessage message, LevelUpEvent e)
{
message.LevelType = e.LevelType.ToString();
message.Level = e.LevelType switch
{
LevelType.Level => e.Sender.PlayerEntity.Level,
LevelType.JobLevel => e.Sender.PlayerEntity.JobLevel,
LevelType.Fairy => e.Sender.PlayerEntity.Fairy.ElementRate,
LevelType.Heroic => e.Sender.PlayerEntity.HeroLevel,
LevelType.SpJobLevel => e.Sender.PlayerEntity.Specialist.SpLevel
};
message.ItemVnum = e.ItemVnum;
message.Location = e.Sender.GetLocation();
}
}
}