protected Intelligent(EALNouns _name, WorldLayer _layer, int _speed, EIntellectGrades _intellectGrades) : base(_name, _layer, _speed) { Sex = World.Rnd.Next(2) == 0 ? ESex.MALE : ESex.FEMALE; m_intellectGrades = _intellectGrades; switch (_intellectGrades) { case EIntellectGrades.SEMI_INT: m_equipment.Add(EEquipmentPlaces.RIGHT_HAND, null); m_equipment.Add(EEquipmentPlaces.LEFT_HAND, null); break; case EIntellectGrades.INT: m_backPack = new BackPack(); foreach (var eEquipmentPlacese in EquipmentPlacesAttribute.AllValues) { m_equipment.Add(eEquipmentPlacese, null); } break; default: throw new ArgumentOutOfRangeException("_intellectGrades"); } }