58163 {
58164
58165
58166
58167 bool flag = false;
58168 bool flag2 =
false;
58170 bool flag4 =
false;
58171 int num = 4;
58176 float num6 = -0.2f;
58182 float num11 = 0.04f;
58183 bool flag6 =
false;
58184 float num12 = 0.96f;
58188 {
58202 DelegateMethods.v3_1 =
new Vector3(0.3f, 0.05f, 0.45f) * 1.5f;
58203 Utils.PlotTileLine(
base.Top,
base.Bottom,
width, DelegateMethods.CastLightOpen);
58205 {
58207 }
58209 {
58214 if (
ai[0] == 80f &&
ai[1] == 2f)
58215 {
58217 }
58218 if (
ai[1] == 2f &&
ai[0] == 64f && Main.netMode != 1)
58219 {
58222 }
58223 if (
ai[1] == 0f &&
ai[0] == 32f)
58224 {
58226 direction = ((vector.X > 0f) ? 1 : (-1));
58227 if (Main.netMode != 1)
58228 {
58230 }
58231 }
58232 if (
ai[0] == 126f &&
ai[1] == 1f)
58233 {
58235 }
58237 {
58239 }
58241 {
58245 {
58247 }
58250 {
58252 }
58254 }
58255 }
58257 {
58258 bool flag8 =
false;
58262 for (
int i = 0;
i < 200;
i++)
58263 {
58266 {
58268 break;
58269 }
58270 }
58272 {
58274 }
58276 {
58278 }
58281 {
58283 }
58285 {
58286 switch ((
int)
ai[1])
58287 {
58288 case 0:
58290 break;
58291 case 1:
58293 break;
58294 case 2:
58296 break;
58297 }
58300 }
58301 }
58303 {
58305 }
58307 {
58309 }
58311 {
58315 {
58317 }
58323 {
58325 }
58327 {
58328 if (Main.rand.Next(
maxValue) == 0)
58329 {
58331 dust.scale = 0.55f;
58332 dust.fadeIn = 0.7f;
58333 dust.velocity *= 0.1f *
num16;
58335 }
58336 }
58337 }
58338 }
58340 {
58342 }
58344 {
58346 {
58351 {
58353 }
58355 {
58358 }
58360 {
58362 }
58364 {
58367 {
58368 flag = true;
58369 }
58371 {
58374 velocity.X *= -1f;
58376 }
58377 }
58378 else
58379 {
58383 }
58385 {
58387 }
58388 }
58389 else
58390 {
58392 direction = ((targetData.Center.X >
base.Center.X) ? 1 : (-1));
58393 }
58394 }
58400 {
58402 return;
58403 }
58405 {
58406 if (Main.tile[
num18,
k] ==
null)
58407 {
58409 }
58410 if ((Main.tile[
num18,
k].nactive() && Main.tileSolid[Main.tile[
num18,
k].type]) || Main.tile[
num18,
k].liquid > 0)
58411 {
58413 {
58415 }
58417 break;
58418 }
58419 }
58421 {
58422 if (Main.tile[
num21,
l] ==
null)
58423 {
58425 }
58426 if ((Main.tile[
num21,
l].nactive() && Main.tileSolid[Main.tile[
num21,
l].type]) || Main.tile[
num21,
l].liquid > 0)
58427 {
58430 break;
58431 }
58432 }
58434 {
58436 {
58437 if (Main.tile[
num18,
m] ==
null)
58438 {
58440 }
58441 if ((Main.tile[
num18,
m].nactive() && Main.tileSolid[Main.tile[
num18,
m].type]) || Main.tile[
num18,
m].liquid > 0)
58442 {
58444 flag = true;
58445 break;
58446 }
58447 }
58448 }
58449 if (flag)
58450 {
58453 }
58455 {
58456 velocity.Y +=
num4;
58458 {
58460 }
58461 }
58462 else
58463 {
58465 {
58466 velocity.Y +=
num6;
58467 }
58469 {
58471 }
58472 }
58474 {
58475 velocity.X = oldVelocity.X * -0.4f;
58477 {
58478 velocity.X = 1f;
58479 }
58481 {
58482 velocity.X = -1f;
58483 }
58484 }
58486 {
58487 velocity.Y = oldVelocity.Y * -0.25f;
58489 {
58490 velocity.Y = 1f;
58491 }
58493 {
58494 velocity.Y = -1f;
58495 }
58496 }
58498 {
58499 velocity.X -=
num9;
58501 {
58502 velocity.X -=
num9;
58503 }
58505 {
58506 velocity.X +=
num9 / 2f;
58507 }
58509 {
58510 velocity.X = 0f -
num8;
58511 }
58512 }
58514 {
58515 velocity.X +=
num9;
58517 {
58518 velocity.X +=
num9;
58519 }
58521 {
58522 velocity.X -=
num9 / 2f;
58523 }
58525 {
58527 }
58528 }
58530 {
58531 velocity.Y -=
num11;
58533 {
58534 velocity.Y -=
num11 * 1.25f;
58535 }
58537 {
58538 velocity.Y +=
num11 * 0.75f;
58539 }
58541 {
58542 velocity.Y = 0f -
num8;
58543 }
58544 }
58546 {
58547 velocity.Y +=
num11;
58549 {
58550 velocity.Y +=
num11 * 1.25f;
58551 }
58553 {
58554 velocity.Y -=
num11 * 0.75f;
58555 }
58557 {
58558 velocity.Y =
num10;
58559 }
58560 }
58561 }
static float Min(float value1, float value2)
static SlotId PlayTrackedSound(SoundStyle style, Vector2 position)
float Distance(Vector2 Other)
static bool CanRaiseGoblinsHere(Vector2 spot)
static void RaiseGoblins(NPC caller, Vector2 spot)
static readonly LegacySoundStyle DD2_DarkMageCastHeal
static readonly LegacySoundStyle DD2_DarkMageSummonSkeleton
static readonly LegacySoundStyle DD2_EtherianPortalSpawnEnemy
NPCAimedTarget GetTargetData(bool ignorePlayerTankPets=true)
IEntitySource GetSpawnSource_ForProjectile()
static void TargetClosestOldOnesInvasion(NPC searcher, bool faceTarget=true, Vector2? checkPosition=null)
static GenSearch Chain(GenSearch search, params GenCondition[] conditions)
static bool Find(Point origin, GenSearch search, out Point result)