// Selects a scroll type
        private GameObject selectScroll(ScrollSpawnPoint s)
        {
            int color = Random.Range(1, 10);

            if (color < s.bluePercent)
            {
                return(scrollPrefab2);
            }
            else if (color < s.greenPercent)
            {
                return(scrollPrefab4);
            }
            else if (color < s.yellowPercent)
            {
                return(scrollPrefab3);
            }
            else
            {
                return(scrollPrefab1);
            }
        }
 // Clears n from taken list of scroll spawns and spawns new essence at non-n spawn
 public void NotifyCollectedScroll(int n)
 {
     lock (lockObj2)
     {
         IList <ScrollSpawnPoint> tempScrollSpawnPoints = new List <ScrollSpawnPoint>(scrollSpawnPoints);
         for (int i = 0; i < takenScrollSpawns.Count; i++)
         {
             for (int j = 0; j < tempScrollSpawnPoints.Count; j++)
             {
                 if (tempScrollSpawnPoints[j].number == takenScrollSpawns[i])
                 {
                     tempScrollSpawnPoints.RemoveAt(j);
                     break;
                 }
             }
         }
         ScrollSpawnPoint selectedSpawn = tempScrollSpawnPoints[Random.Range(0, tempScrollSpawnPoints.Count)];
         GameObject       newScroll     = Instantiate(selectScroll(selectedSpawn), selectedSpawn.position, Quaternion.identity) as GameObject;
         newScroll.GetComponent <SpellScroll>().SetSpawnDetails(gameObject, selectedSpawn.number);
         takenScrollSpawns.Add(selectedSpawn.number);
         takenScrollSpawns.Remove(n);
     }
 }