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; }
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); }