13311 {
13314 if (Main.getGoodWorld)
13315 {
13316 num += 2f;
13317 }
13318 if ((!Main.player[
target].ZoneLihzhardTemple && !Main.player[
target].ZoneJungle) || (
double)Main.player[
target].Center.Y < Main.worldSurface * 16.0)
13319 {
13320 num *= 2f;
13321 }
13323 {
13328 }
13330 {
13332 if (Main.player[
target].dead)
13333 {
13335 }
13336 }
13338 {
13341 {
13343 }
13345 }
13346 bool flag = false;
13347 bool flag2 =
false;
13348 bool flag3 =
false;
13350 for (
int i = 0;
i < 200;
i++)
13351 {
13352 if (Main.npc[i].active && Main.npc[i].type == 246)
13353 {
13354 flag = true;
13355 }
13356 if (Main.npc[i].active && Main.npc[i].type == 247)
13357 {
13359 }
13360 if (Main.npc[i].active && Main.npc[i].type == 248)
13361 {
13363 }
13364 }
13366 if (Main.netMode != 1 && Main.getGoodWorld &&
velocity.
Y > 0f)
13367 {
13369 {
13370 for (
int k = (
int)(position.Y / 16f); (float)
k < (
position.
Y + (
float)
width) / 16f;
k++)
13371 {
13372 if (Main.tile[
j,
k].type == 4)
13373 {
13375 if (Main.netMode == 2)
13376 {
13377 NetMessage.SendTileSquare(-1,
j,
k);
13378 }
13379 }
13380 }
13381 }
13382 }
13384 if (!Main.getGoodWorld)
13385 {
13387 {
13389 Main.dust[
num2].alpha += Main.rand.Next(100);
13390 Main.dust[
num2].velocity *= 0.2f;
13391 Main.dust[
num2].velocity.Y -= 0.5f + (float)Main.rand.Next(10) * 0.1f;
13392 Main.dust[
num2].fadeIn = 0.5f + (float)Main.rand.Next(10) * 0.1f;
13393 if (Main.rand.Next(10) == 0)
13394 {
13396 if (Main.rand.Next(20) != 0)
13397 {
13398 Main.dust[
num2].noGravity =
true;
13399 Main.dust[
num2].scale *= 1f + (float)Main.rand.Next(10) * 0.1f;
13400 Main.dust[
num2].velocity.Y -= 1f;
13401 }
13402 }
13403 }
13405 {
13407 Main.dust[
num3].alpha += Main.rand.Next(100);
13408 Main.dust[
num3].velocity *= 0.2f;
13409 Main.dust[
num3].velocity.Y -= 0.5f + (float)Main.rand.Next(10) * 0.1f;
13410 Main.dust[
num3].fadeIn = 0.5f + (float)Main.rand.Next(10) * 0.1f;
13411 if (Main.rand.Next(10) == 0)
13412 {
13414 if (Main.rand.Next(20) != 0)
13415 {
13416 Main.dust[
num3].noGravity =
true;
13417 Main.dust[
num3].scale *= 1f + (float)Main.rand.Next(10) * 0.1f;
13418 Main.dust[
num3].velocity.Y -= 1f;
13419 }
13420 }
13421 }
13422 }
13425 {
13427 {
13429 }
13431 {
13433 }
13434 }
13436 {
13438 {
13439 velocity.X *= 0.8f;
13442 {
13444 {
13446 }
13448 {
13450 }
13451 if (!flag)
13452 {
13454 }
13456 {
13458 }
13460 {
13462 }
13464 {
13466 }
13468 if (Main.getGoodWorld)
13469 {
13471 }
13472 }
13475 {
13478 }
13479 else if (
ai[1] == -1f)
13480 {
13485 {
13486 velocity.Y = -12.1f * (num + 9f) / 10f;
13487 if ((double)velocity.Y < -19.1)
13488 {
13489 velocity.Y = -19.1f;
13490 }
13491 }
13492 else
13493 {
13494 velocity.Y = -12.1f;
13495 }
13498 }
13499 }
13500 }
13501 else if (
ai[0] == 1f)
13502 {
13504 {
13508 {
13509 for (
int m = 0;
m < 4;
m++)
13510 {
13512 Main.dust[
num5].velocity *= 0.2f;
13513 }
13515 Main.gore[
num6].velocity *= 0.4f;
13516 }
13517 }
13518 else
13519 {
13522 {
13523 velocity.X *= 0.9f;
13524 if (
base.Bottom.Y < Main.player[
target].position.Y)
13525 {
13526 velocity.Y += 0.2f * (num + 1f) / 2f;
13527 }
13528 }
13529 else
13530 {
13532 {
13533 velocity.X -= 0.2f;
13534 }
13536 {
13537 velocity.X += 0.2f;
13538 }
13541 {
13543 }
13545 {
13547 }
13549 {
13551 }
13552 num7 *= (num + 1f) / 2f;
13554 {
13555 velocity.X = 0f -
num7;
13556 }
13558 {
13560 }
13561 }
13562 }
13563 }
13565 {
13567 }
13570 {
13573 {
13575 }
13576 }
13577 }
static double Abs(double value)
static void PlaySound(int type, Vector2 position, int style=1)
static readonly LegacySoundStyle Item14
void TargetClosest(bool faceTarget=true)
IEntitySource GetSpawnSourceForNPCFromNPCAI()
static int NewNPC(IEntitySource source, int X, int Y, int Type, int Start=0, float ai0=0f, float ai1=0f, float ai2=0f, float ai3=0f, int Target=255)