public override IPhase NextPhase()
        {
            var verdicts = new VerdictManager(Player);

            verdicts.End();

            return(new ExecutionPhase(Match, verdicts)
            {
                Supersedes = Supersedes
            });
        }
示例#2
0
 public Lynch(
     int day,
     IPlayer victim,
     DeathCause cause,
     [CanBeNull] VerdictManager verdicts = null)
 {
     Day         = day;
     Victim      = victim;
     VictimName  = victim.Name;
     VictimRole  = victim.Role.Name;
     Cause       = cause;
     Killer      = null;
     LastWill    = victim.LastWill;
     DeathNote   = null;
     Description = "";
     Strength    = AttackStrength.Lynch;
     Direct      = false;
     Stoppable   = false;
     For         = verdicts?.Voters(Verdict.Guilty) ?? new List <IPlayer>();
     Against     = verdicts?.Voters(Verdict.Innocent) ?? new List <IPlayer>();
     Abstained   = verdicts?.Voters(Verdict.Abstain) ?? new List <IPlayer>();
 }
示例#3
0
 public LastWordsPhase(IMatch match, VerdictManager verdicts, uint duration = 10) : base(match, "Last Words",
                                                                                         duration)
 {
     Player   = verdicts.Accused;
     Verdicts = verdicts;
 }
示例#4
0
 public ExecutionPhase(IMatch match, VerdictManager verdicts, uint duration = 10) : base(match, "Execution",
                                                                                         duration)
 {
     Player   = verdicts.Accused;
     Verdicts = verdicts;
 }