public override void AI()
        {
            if (Main.netMode == 2)
            {
                return;
            }
            bool self = source.glyphs[(byte)GLYPHTYPE.MOON].modItem is Moon_Green;

            if ((!self || circlingProtection.Where(spell => spell.projectile.active).Count() <= source.projCount - 3) && cooldown <= 0)
            {
                if (!self)
                {
                    GetTarget();
                    if (distance <= 480f && attack)
                    {
                        if (this is ProceduralMinion)
                        {
                            source.CastSpell(Main.player[projectile.owner], projectile.Center, target.Center, projectile);
                        }
                    }
                }
                else if (this is ProceduralMinion)
                {
                    source.CastSpell(Main.player[projectile.owner], projectile.Center, projectile.Center, projectile);
                }

                cooldown = source.cooldown * 2;
            }
            else
            {
                cooldown -= 1;
            }
        }