40478 {
40479 int damage = 70;
40480 float knockBack = 1.5f;
40481 if (Main.rand.Next(15) != 0)
40482 {
40483 return;
40484 }
40485 int num = 0;
40486 for (
int i = 0;
i < 1000;
i++)
40487 {
40488 if (Main.projectile[i].active && Main.projectile[i].owner ==
whoAmI && (Main.projectile[i].type == 567 || Main.projectile[i].type == 568))
40489 {
40490 num++;
40491 }
40492 }
40493 if (Main.rand.Next(15) < num || num >= 10)
40494 {
40495 return;
40496 }
40500 for (
int j = 0;
j <
num2;
j++)
40501 {
40502 int num5 = Main.rand.Next(200 -
j * 2, 400 +
j * 2);
40504 center.X += Main.rand.Next(-
num5,
num5 + 1);
40505 center.Y += Main.rand.Next(-
num5,
num5 + 1);
40507 {
40508 continue;
40509 }
40510 center.X +=
num3 / 2;
40511 center.Y +=
num3 / 2;
40512 if (!Collision.CanHit(
new Vector2(
base.Center.X,
position.
Y), 1, 1,
center, 1, 1) && !Collision.CanHit(
new Vector2(
base.Center.X,
position.
Y - 50f), 1, 1,
center, 1, 1))
40513 {
40514 continue;
40515 }
40518 bool flag = false;
40519 if (Main.rand.Next(3) == 0 && Main.tile[
num6,
num7] !=
null && Main.tile[
num6,
num7].wall > 0)
40520 {
40521 flag = true;
40522 }
40523 else
40524 {
40525 center.X -=
num4 / 2;
40526 center.Y -=
num4 / 2;
40528 {
40529 center.X +=
num4 / 2;
40530 center.Y +=
num4 / 2;
40531 flag = true;
40532 }
40534 {
40535 flag = true;
40536 }
40537 }
40538 if (!flag)
40539 {
40540 continue;
40541 }
40542 for (
int k = 0;
k < 1000;
k++)
40543 {
40544 if (Main.projectile[
k].active && Main.projectile[
k].owner ==
whoAmI && Main.projectile[
k].aiStyle == 105 && (
center - Main.projectile[
k].Center).Length() < 48f)
40545 {
40546 flag = false;
40547 break;
40548 }
40549 }
40550 if (flag && Main.myPlayer ==
whoAmI)
40551 {
40553 break;
40554 }
40555 }
40556 }
IEntitySource GetProjectileSource_Accessory(Item item)