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