Exemple #1
0
        public bool IsPlayerCanContinue(IMafiaGame game, IMafiaPlayer player)
        {
            //1 killed
            //2 voted more than half of playersCount
            var killed     = player.State.Effects.ContainsActualEffect(ActionEffectConstants.Killed);
            var votedCount = player.State.Effects.CountEffects(ActionEffectConstants.Voted);

            var voted = votedCount > (game.Players.Count - 1) / 2;

            return(!killed && !voted);
        }
Exemple #2
0
 public PlayerChooseEventArgs(ITeam team, IMafiaPlayer targetPlayer)
 {
     Team         = team;
     TargetPlayer = targetPlayer;
 }
 public void RemoveExcluded(IMafiaPlayer participant)
 {
     Participants.Remove(participant);
 }
 public void DoChoose(IMafiaPlayer player)
 {
     player.State.Apply(Effect);
     Choice?.Invoke(this, new PlayerChooseEventArgs(this, player));
 }
 public PlayerEffectNeutralizeEventArgs(
     ITeam team,
     IMafiaPlayer targetPlayer)
     : base(team, targetPlayer)
 {
 }
 public PlayerVoteEventArgs(IMafiaPlayer sourcePlayer, IMafiaPlayer targetPlayer)
 {
     SourcePlayer = sourcePlayer;
     TargetPlayer = targetPlayer;
 }
 protected void RaiseNeutralized(ITeam fromTeam, IMafiaPlayer toPlayer)
 {
     EffectNeutralized?.Invoke(this, new PlayerEffectNeutralizeEventArgs(fromTeam, toPlayer));
 }
Exemple #8
0
 public void DoVote(IMafiaPlayer other)
 {
     other.State.Apply(new VoteEffect());
     Vote?.Invoke(this, new PlayerVoteEventArgs(this, other));
 }