예제 #1
0
 static PriorityBonusDto GetStatusBonus(PriorityScope scope, RaidMemberStatus status)
 {
     return(new MembershipPriorityBonusDto
     {
         Type = PriorityBonusTypes.Trial,
         Value = status switch
         {
             RaidMemberStatus.HalfTrial => scope.HalfTrialPenalty,
             RaidMemberStatus.FullTrial => scope.FullTrialPenalty,
             RaidMemberStatus.Member => 0,
             _ => throw new ArgumentOutOfRangeException(nameof(status))
         },
예제 #2
0
    public static IEnumerable <PriorityBonusDto> GetListBonuses(
        PriorityScope scope,
        int attendances,
        RaidMemberStatus status,
        long donatedCopper,
        bool enchanted,
        bool prepared)
    {
        yield return(GetAttendanceBonus(scope, attendances));

        yield return(GetStatusBonus(scope, status));

        yield return(GetDonationBonus(scope, donatedCopper));

        yield return(GetEnchantedBonus(enchanted));

        yield return(GetPreparedBonus(prepared));