Esempio n. 1
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;
        }
Esempio n. 2
0
        public void AddShaman(string shamanId, string actingPlayer)
        {
            if (ChiefTain != actingPlayer)
            {
                throw new ValidationException("Only Chieftain can manage Shamans");
            }
            if (!Members.Contains(shamanId))
            {
                throw new ValidationException("Shaman has to be in clan");
            }
            if (shamanId == ChiefTain)
            {
                throw new ValidationException("Chieftain can not be made Shaman");
            }
            if (Shamans.Contains(shamanId))
            {
                throw new ValidationException("Player is already Shaman");
            }

            Members.Remove(shamanId);
            Shamans.Add(shamanId);
        }