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

28 lines
No EOL
1,005 B
C#

using System.Threading;
using System.Threading.Tasks;
using PhoenixLib.Events;
using WingsEmu.Game.Characters;
using WingsEmu.Game.Families;
using WingsEmu.Game.GameEvent.InstantBattle;
namespace Plugin.FamilyImpl.Achievements.Handlers
{
public class InstantBattleAchievementHandler : IAsyncEventProcessor<InstantBattleWonEvent>
{
private readonly IFamilyMissionManager _familyMissionManager;
public InstantBattleAchievementHandler(IFamilyMissionManager familyMissionManager) => _familyMissionManager = familyMissionManager;
public async Task HandleAsync(InstantBattleWonEvent e, CancellationToken cancellation)
{
IPlayerEntity player = e.Sender.PlayerEntity;
if (!player.IsInFamily())
{
return;
}
long familyId = player.Family.Id;
_familyMissionManager.IncrementFamilyMission(familyId, player.Id, (int)FamilyMissionVnums.DAILY_DEFEAT_10_INSTANT_BATTLES);
}
}
}