Пример #1
0
        public void RemoveShaman(string shamanId, string actingPlayer)
        {
            if (ChiefTain != actingPlayer)
            {
                throw new ValidationException("Only Chieftain can manage Shamans");
            }

            Shamans.Remove(shamanId);
            Members.Add(shamanId);
        }
Пример #2
0
        public void SwitchChieftain(string newChieftain, string actingPlayer)
        {
            if (ChiefTain != actingPlayer)
            {
                throw new ValidationException("Only Chieftain can switch to new Chieftain");
            }
            if (!Shamans.Contains(newChieftain))
            {
                throw new ValidationException("Only Shaman can be promoted to Chieftain");
            }

            Shamans.Remove(newChieftain);
            Shamans.Add(ChiefTain);
            ClanState.ChiefTain = newChieftain;
        }
Пример #3
0
        public void KickPlayer(ClanMembership clanMemberShip, string actingPlayer)
        {
            if (ChiefTain != actingPlayer && !Shamans.Contains(actingPlayer))
            {
                throw new ValidationException("Only Chieftain or shamans can kick players");
            }
            if (!Members.Contains(clanMemberShip.BattleTag) && !Shamans.Contains(clanMemberShip.BattleTag))
            {
                throw new ValidationException("Player not in this clan");
            }
            if (clanMemberShip.BattleTag == ChiefTain)
            {
                throw new ValidationException("Can not kick chieftain");
            }

            clanMemberShip.LeaveClan();
            Members.Remove(clanMemberShip.BattleTag);
            Shamans.Remove(clanMemberShip.BattleTag);
        }