TModLoader v1.4.4.9
TModLoader source code documentation
Loading...
Searching...
No Matches

◆ AI_026()

void Terraria.Projectile.AI_026 ( )
inlineprivate

Definition at line 63283 of file Projectile.cs.

63284 {
63285 //IL_9340: Unknown result type (might be due to invalid IL or missing references)
63286 //IL_936b: Unknown result type (might be due to invalid IL or missing references)
63287 //IL_9371: Unknown result type (might be due to invalid IL or missing references)
63288 //IL_954f: Unknown result type (might be due to invalid IL or missing references)
63289 //IL_955a: Unknown result type (might be due to invalid IL or missing references)
63290 //IL_9440: Unknown result type (might be due to invalid IL or missing references)
63291 //IL_944b: Unknown result type (might be due to invalid IL or missing references)
63292 //IL_96df: Unknown result type (might be due to invalid IL or missing references)
63293 //IL_96ea: Unknown result type (might be due to invalid IL or missing references)
63294 //IL_97dd: Unknown result type (might be due to invalid IL or missing references)
63295 //IL_97e8: Unknown result type (might be due to invalid IL or missing references)
63296 //IL_98db: Unknown result type (might be due to invalid IL or missing references)
63297 //IL_98e6: Unknown result type (might be due to invalid IL or missing references)
63298 //IL_99da: Unknown result type (might be due to invalid IL or missing references)
63299 //IL_99e5: Unknown result type (might be due to invalid IL or missing references)
63300 //IL_9ad9: Unknown result type (might be due to invalid IL or missing references)
63301 //IL_9ae4: Unknown result type (might be due to invalid IL or missing references)
63302 //IL_a307: Unknown result type (might be due to invalid IL or missing references)
63303 //IL_a312: Unknown result type (might be due to invalid IL or missing references)
63304 //IL_a4b2: Unknown result type (might be due to invalid IL or missing references)
63305 //IL_a4bd: Unknown result type (might be due to invalid IL or missing references)
63306 //IL_9f22: Unknown result type (might be due to invalid IL or missing references)
63307 //IL_9f2d: Unknown result type (might be due to invalid IL or missing references)
63308 //IL_9c42: Unknown result type (might be due to invalid IL or missing references)
63309 //IL_9c4d: Unknown result type (might be due to invalid IL or missing references)
63310 //IL_a5c4: Unknown result type (might be due to invalid IL or missing references)
63311 //IL_a5cf: Unknown result type (might be due to invalid IL or missing references)
63312 //IL_e072: Unknown result type (might be due to invalid IL or missing references)
63313 //IL_e07c: Unknown result type (might be due to invalid IL or missing references)
63314 //IL_e081: Unknown result type (might be due to invalid IL or missing references)
63315 //IL_e087: Unknown result type (might be due to invalid IL or missing references)
63316 //IL_e08d: Unknown result type (might be due to invalid IL or missing references)
63317 //IL_e093: Unknown result type (might be due to invalid IL or missing references)
63318 //IL_e09d: Unknown result type (might be due to invalid IL or missing references)
63319 //IL_e0a2: Unknown result type (might be due to invalid IL or missing references)
63320 //IL_e0bf: Unknown result type (might be due to invalid IL or missing references)
63321 //IL_e0c5: Unknown result type (might be due to invalid IL or missing references)
63322 //IL_a6f4: Unknown result type (might be due to invalid IL or missing references)
63323 //IL_a6ff: Unknown result type (might be due to invalid IL or missing references)
63324 //IL_a824: Unknown result type (might be due to invalid IL or missing references)
63325 //IL_a82f: Unknown result type (might be due to invalid IL or missing references)
63326 //IL_aca3: Unknown result type (might be due to invalid IL or missing references)
63327 //IL_acae: Unknown result type (might be due to invalid IL or missing references)
63328 //IL_aa68: Unknown result type (might be due to invalid IL or missing references)
63329 //IL_aa73: Unknown result type (might be due to invalid IL or missing references)
63330 //IL_a178: Unknown result type (might be due to invalid IL or missing references)
63331 //IL_a188: Unknown result type (might be due to invalid IL or missing references)
63332 //IL_a18d: Unknown result type (might be due to invalid IL or missing references)
63333 //IL_a1e6: Unknown result type (might be due to invalid IL or missing references)
63334 //IL_a1eb: Unknown result type (might be due to invalid IL or missing references)
63335 //IL_abb3: Unknown result type (might be due to invalid IL or missing references)
63336 //IL_abbe: Unknown result type (might be due to invalid IL or missing references)
63337 //IL_aeff: Unknown result type (might be due to invalid IL or missing references)
63338 //IL_af0a: Unknown result type (might be due to invalid IL or missing references)
63339 //IL_b004: Unknown result type (might be due to invalid IL or missing references)
63340 //IL_b00f: Unknown result type (might be due to invalid IL or missing references)
63341 //IL_b16e: Unknown result type (might be due to invalid IL or missing references)
63342 //IL_b179: Unknown result type (might be due to invalid IL or missing references)
63343 //IL_b452: Unknown result type (might be due to invalid IL or missing references)
63344 //IL_b45d: Unknown result type (might be due to invalid IL or missing references)
63345 //IL_bcff: Unknown result type (might be due to invalid IL or missing references)
63346 //IL_bd11: Unknown result type (might be due to invalid IL or missing references)
63347 //IL_b826: Unknown result type (might be due to invalid IL or missing references)
63348 //IL_c29a: Unknown result type (might be due to invalid IL or missing references)
63349 //IL_c2ac: Unknown result type (might be due to invalid IL or missing references)
63350 //IL_bbbe: Unknown result type (might be due to invalid IL or missing references)
63351 //IL_bbd9: Unknown result type (might be due to invalid IL or missing references)
63352 //IL_bbdf: Unknown result type (might be due to invalid IL or missing references)
63353 //IL_bc10: Unknown result type (might be due to invalid IL or missing references)
63354 //IL_bc1a: Unknown result type (might be due to invalid IL or missing references)
63355 //IL_bc1f: Unknown result type (might be due to invalid IL or missing references)
63356 //IL_be80: Unknown result type (might be due to invalid IL or missing references)
63357 //IL_be8a: Unknown result type (might be due to invalid IL or missing references)
63358 //IL_bea8: Unknown result type (might be due to invalid IL or missing references)
63359 //IL_beb2: Unknown result type (might be due to invalid IL or missing references)
63360 //IL_c3fb: Unknown result type (might be due to invalid IL or missing references)
63361 //IL_c401: Unknown result type (might be due to invalid IL or missing references)
63362 //IL_c406: Unknown result type (might be due to invalid IL or missing references)
63363 //IL_c40b: Unknown result type (might be due to invalid IL or missing references)
63364 //IL_bf88: Unknown result type (might be due to invalid IL or missing references)
63365 //IL_bf92: Unknown result type (might be due to invalid IL or missing references)
63366 //IL_bf97: Unknown result type (might be due to invalid IL or missing references)
63367 //IL_c42b: Unknown result type (might be due to invalid IL or missing references)
63368 //IL_c43e: Unknown result type (might be due to invalid IL or missing references)
63369 //IL_c415: Unknown result type (might be due to invalid IL or missing references)
63370 //IL_c417: Unknown result type (might be due to invalid IL or missing references)
63371 //IL_ba04: Unknown result type (might be due to invalid IL or missing references)
63372 //IL_ba1e: Unknown result type (might be due to invalid IL or missing references)
63373 //IL_ba24: Unknown result type (might be due to invalid IL or missing references)
63374 //IL_ba43: Unknown result type (might be due to invalid IL or missing references)
63375 //IL_ba49: Unknown result type (might be due to invalid IL or missing references)
63376 //IL_ba4e: Unknown result type (might be due to invalid IL or missing references)
63377 //IL_ba53: Unknown result type (might be due to invalid IL or missing references)
63378 //IL_ba65: Unknown result type (might be due to invalid IL or missing references)
63379 //IL_ba6f: Unknown result type (might be due to invalid IL or missing references)
63380 //IL_ba74: Unknown result type (might be due to invalid IL or missing references)
63381 //IL_c46e: Unknown result type (might be due to invalid IL or missing references)
63382 //IL_c478: Unknown result type (might be due to invalid IL or missing references)
63383 //IL_c47d: Unknown result type (might be due to invalid IL or missing references)
63384 //IL_c681: Unknown result type (might be due to invalid IL or missing references)
63385 //IL_c694: Unknown result type (might be due to invalid IL or missing references)
63386 //IL_c4df: Unknown result type (might be due to invalid IL or missing references)
63387 //IL_c4e9: Unknown result type (might be due to invalid IL or missing references)
63388 //IL_c4ee: Unknown result type (might be due to invalid IL or missing references)
63389 //IL_c4f4: Unknown result type (might be due to invalid IL or missing references)
63390 //IL_c4f9: Unknown result type (might be due to invalid IL or missing references)
63391 //IL_c504: Unknown result type (might be due to invalid IL or missing references)
63392 //IL_c509: Unknown result type (might be due to invalid IL or missing references)
63393 //IL_c513: Unknown result type (might be due to invalid IL or missing references)
63394 //IL_c518: Unknown result type (might be due to invalid IL or missing references)
63395 //IL_c4b1: Unknown result type (might be due to invalid IL or missing references)
63396 //IL_c4bb: Unknown result type (might be due to invalid IL or missing references)
63397 //IL_c4c0: Unknown result type (might be due to invalid IL or missing references)
63398 //IL_c556: Unknown result type (might be due to invalid IL or missing references)
63399 //IL_c53e: Unknown result type (might be due to invalid IL or missing references)
63400 //IL_c6da: Unknown result type (might be due to invalid IL or missing references)
63401 //IL_c6e0: Unknown result type (might be due to invalid IL or missing references)
63402 //IL_c6e5: Unknown result type (might be due to invalid IL or missing references)
63403 //IL_c6ea: Unknown result type (might be due to invalid IL or missing references)
63404 //IL_c701: Unknown result type (might be due to invalid IL or missing references)
63405 //IL_c713: Unknown result type (might be due to invalid IL or missing references)
63406 //IL_c6f4: Unknown result type (might be due to invalid IL or missing references)
63407 //IL_c6f6: Unknown result type (might be due to invalid IL or missing references)
63408 //IL_1569: Unknown result type (might be due to invalid IL or missing references)
63409 //IL_17aa: Unknown result type (might be due to invalid IL or missing references)
63410 //IL_17df: Unknown result type (might be due to invalid IL or missing references)
63411 //IL_15ee: Unknown result type (might be due to invalid IL or missing references)
63412 //IL_15f9: Unknown result type (might be due to invalid IL or missing references)
63413 //IL_1cd2: Unknown result type (might be due to invalid IL or missing references)
63414 //IL_1d07: Unknown result type (might be due to invalid IL or missing references)
63415 //IL_1809: Unknown result type (might be due to invalid IL or missing references)
63416 //IL_1d31: Unknown result type (might be due to invalid IL or missing references)
63417 //IL_1637: Unknown result type (might be due to invalid IL or missing references)
63418 //IL_1649: Unknown result type (might be due to invalid IL or missing references)
63419 //IL_23e7: Unknown result type (might be due to invalid IL or missing references)
63420 //IL_241c: Unknown result type (might be due to invalid IL or missing references)
63421 //IL_1927: Unknown result type (might be due to invalid IL or missing references)
63422 //IL_1931: Unknown result type (might be due to invalid IL or missing references)
63423 //IL_1936: Unknown result type (might be due to invalid IL or missing references)
63424 //IL_18a4: Unknown result type (might be due to invalid IL or missing references)
63425 //IL_1663: Unknown result type (might be due to invalid IL or missing references)
63426 //IL_2498: Unknown result type (might be due to invalid IL or missing references)
63427 //IL_249d: Unknown result type (might be due to invalid IL or missing references)
63428 //IL_1e7b: Unknown result type (might be due to invalid IL or missing references)
63429 //IL_1e85: Unknown result type (might be due to invalid IL or missing references)
63430 //IL_1e8a: Unknown result type (might be due to invalid IL or missing references)
63431 //IL_1df8: Unknown result type (might be due to invalid IL or missing references)
63432 //IL_2586: Unknown result type (might be due to invalid IL or missing references)
63433 //IL_19eb: Unknown result type (might be due to invalid IL or missing references)
63434 //IL_1a05: Unknown result type (might be due to invalid IL or missing references)
63435 //IL_1a0b: Unknown result type (might be due to invalid IL or missing references)
63436 //IL_1a51: Unknown result type (might be due to invalid IL or missing references)
63437 //IL_1a5c: Unknown result type (might be due to invalid IL or missing references)
63438 //IL_1a61: Unknown result type (might be due to invalid IL or missing references)
63439 //IL_2e91: Unknown result type (might be due to invalid IL or missing references)
63440 //IL_2ed8: Unknown result type (might be due to invalid IL or missing references)
63441 //IL_1f3f: Unknown result type (might be due to invalid IL or missing references)
63442 //IL_1f59: Unknown result type (might be due to invalid IL or missing references)
63443 //IL_1f5f: Unknown result type (might be due to invalid IL or missing references)
63444 //IL_1fa5: Unknown result type (might be due to invalid IL or missing references)
63445 //IL_1fb0: Unknown result type (might be due to invalid IL or missing references)
63446 //IL_1fb5: Unknown result type (might be due to invalid IL or missing references)
63447 //IL_353d: Unknown result type (might be due to invalid IL or missing references)
63448 //IL_3572: Unknown result type (might be due to invalid IL or missing references)
63449 //IL_3a3a: Unknown result type (might be due to invalid IL or missing references)
63450 //IL_3a3f: Unknown result type (might be due to invalid IL or missing references)
63451 //IL_3a43: Unknown result type (might be due to invalid IL or missing references)
63452 //IL_3a4d: Unknown result type (might be due to invalid IL or missing references)
63453 //IL_3a59: Unknown result type (might be due to invalid IL or missing references)
63454 //IL_3a63: Unknown result type (might be due to invalid IL or missing references)
63455 //IL_35b0: Unknown result type (might be due to invalid IL or missing references)
63456 //IL_3b3d: Unknown result type (might be due to invalid IL or missing references)
63457 //IL_3b47: Unknown result type (might be due to invalid IL or missing references)
63458 //IL_3b4c: Unknown result type (might be due to invalid IL or missing references)
63459 //IL_3b64: Unknown result type (might be due to invalid IL or missing references)
63460 //IL_3b69: Unknown result type (might be due to invalid IL or missing references)
63461 //IL_3af8: Unknown result type (might be due to invalid IL or missing references)
63462 //IL_364f: Unknown result type (might be due to invalid IL or missing references)
63463 //IL_26b6: Unknown result type (might be due to invalid IL or missing references)
63464 //IL_2750: Unknown result type (might be due to invalid IL or missing references)
63465 //IL_275a: Unknown result type (might be due to invalid IL or missing references)
63466 //IL_275f: Unknown result type (might be due to invalid IL or missing references)
63467 //IL_372f: Unknown result type (might be due to invalid IL or missing references)
63468 //IL_3749: Unknown result type (might be due to invalid IL or missing references)
63469 //IL_374f: Unknown result type (might be due to invalid IL or missing references)
63470 //IL_3795: Unknown result type (might be due to invalid IL or missing references)
63471 //IL_37a0: Unknown result type (might be due to invalid IL or missing references)
63472 //IL_37a5: Unknown result type (might be due to invalid IL or missing references)
63473 //IL_2768: Unknown result type (might be due to invalid IL or missing references)
63474 //IL_2772: Unknown result type (might be due to invalid IL or missing references)
63475 //IL_2777: Unknown result type (might be due to invalid IL or missing references)
63476 //IL_7d9b: Unknown result type (might be due to invalid IL or missing references)
63477 //IL_7da0: Unknown result type (might be due to invalid IL or missing references)
63478 //IL_3bf7: Unknown result type (might be due to invalid IL or missing references)
63479 //IL_3c11: Unknown result type (might be due to invalid IL or missing references)
63480 //IL_3c17: Unknown result type (might be due to invalid IL or missing references)
63481 //IL_3c53: Unknown result type (might be due to invalid IL or missing references)
63482 //IL_3c5e: Unknown result type (might be due to invalid IL or missing references)
63483 //IL_3c63: Unknown result type (might be due to invalid IL or missing references)
63484 //IL_445b: Unknown result type (might be due to invalid IL or missing references)
63485 //IL_4486: Unknown result type (might be due to invalid IL or missing references)
63486 //IL_448c: Unknown result type (might be due to invalid IL or missing references)
63487 //IL_32c5: Unknown result type (might be due to invalid IL or missing references)
63488 //IL_32cb: Unknown result type (might be due to invalid IL or missing references)
63489 //IL_32d0: Unknown result type (might be due to invalid IL or missing references)
63490 //IL_32d5: Unknown result type (might be due to invalid IL or missing references)
63491 //IL_32dc: Unknown result type (might be due to invalid IL or missing references)
63492 //IL_32e6: Unknown result type (might be due to invalid IL or missing references)
63493 //IL_32eb: Unknown result type (might be due to invalid IL or missing references)
63494 //IL_4657: Unknown result type (might be due to invalid IL or missing references)
63495 //IL_7e83: Unknown result type (might be due to invalid IL or missing references)
63496 //IL_7e91: Unknown result type (might be due to invalid IL or missing references)
63497 //IL_881a: Unknown result type (might be due to invalid IL or missing references)
63498 //IL_882e: Unknown result type (might be due to invalid IL or missing references)
63499 //IL_7969: Unknown result type (might be due to invalid IL or missing references)
63500 //IL_797c: Unknown result type (might be due to invalid IL or missing references)
63501 //IL_418b: Unknown result type (might be due to invalid IL or missing references)
63502 //IL_41be: Unknown result type (might be due to invalid IL or missing references)
63503 //IL_807f: Unknown result type (might be due to invalid IL or missing references)
63504 //IL_7ef8: Unknown result type (might be due to invalid IL or missing references)
63505 //IL_7f0b: Unknown result type (might be due to invalid IL or missing references)
63506 //IL_4859: Unknown result type (might be due to invalid IL or missing references)
63507 //IL_3171: Unknown result type (might be due to invalid IL or missing references)
63508 //IL_318c: Unknown result type (might be due to invalid IL or missing references)
63509 //IL_3192: Unknown result type (might be due to invalid IL or missing references)
63510 //IL_31a9: Unknown result type (might be due to invalid IL or missing references)
63511 //IL_31b3: Unknown result type (might be due to invalid IL or missing references)
63512 //IL_31b8: Unknown result type (might be due to invalid IL or missing references)
63513 //IL_80c1: Unknown result type (might be due to invalid IL or missing references)
63514 //IL_80c7: Unknown result type (might be due to invalid IL or missing references)
63515 //IL_80cc: Unknown result type (might be due to invalid IL or missing references)
63516 //IL_80d1: Unknown result type (might be due to invalid IL or missing references)
63517 //IL_4883: Unknown result type (might be due to invalid IL or missing references)
63518 //IL_7aa3: Unknown result type (might be due to invalid IL or missing references)
63519 //IL_7abc: Unknown result type (might be due to invalid IL or missing references)
63520 //IL_8003: Unknown result type (might be due to invalid IL or missing references)
63521 //IL_801c: Unknown result type (might be due to invalid IL or missing references)
63522 //IL_4799: Unknown result type (might be due to invalid IL or missing references)
63523 //IL_47b2: Unknown result type (might be due to invalid IL or missing references)
63524 //IL_8259: Unknown result type (might be due to invalid IL or missing references)
63525 //IL_811e: Unknown result type (might be due to invalid IL or missing references)
63526 //IL_8270: Unknown result type (might be due to invalid IL or missing references)
63527 //IL_8276: Unknown result type (might be due to invalid IL or missing references)
63528 //IL_827b: Unknown result type (might be due to invalid IL or missing references)
63529 //IL_8280: Unknown result type (might be due to invalid IL or missing references)
63530 //IL_7c86: Unknown result type (might be due to invalid IL or missing references)
63531 //IL_7cca: Unknown result type (might be due to invalid IL or missing references)
63532 //IL_7d28: Unknown result type (might be due to invalid IL or missing references)
63533 //IL_7d2f: Unknown result type (might be due to invalid IL or missing references)
63534 //IL_2b40: Unknown result type (might be due to invalid IL or missing references)
63535 //IL_2b5a: Unknown result type (might be due to invalid IL or missing references)
63536 //IL_2b60: Unknown result type (might be due to invalid IL or missing references)
63537 //IL_2ba6: Unknown result type (might be due to invalid IL or missing references)
63538 //IL_2bb1: Unknown result type (might be due to invalid IL or missing references)
63539 //IL_2bb6: Unknown result type (might be due to invalid IL or missing references)
63540 //IL_8294: Unknown result type (might be due to invalid IL or missing references)
63541 //IL_82c8: Unknown result type (might be due to invalid IL or missing references)
63542 //IL_82fc: Unknown result type (might be due to invalid IL or missing references)
63543 //IL_86a1: Unknown result type (might be due to invalid IL or missing references)
63544 //IL_8330: Unknown result type (might be due to invalid IL or missing references)
63545 //IL_8382: Unknown result type (might be due to invalid IL or missing references)
63546 //IL_839d: Unknown result type (might be due to invalid IL or missing references)
63547 //IL_83a7: Unknown result type (might be due to invalid IL or missing references)
63548 //IL_83ac: Unknown result type (might be due to invalid IL or missing references)
63549 //IL_83ae: Unknown result type (might be due to invalid IL or missing references)
63550 //IL_83b8: Unknown result type (might be due to invalid IL or missing references)
63551 //IL_83bd: Unknown result type (might be due to invalid IL or missing references)
63552 //IL_8367: Unknown result type (might be due to invalid IL or missing references)
63553 //IL_836e: Unknown result type (might be due to invalid IL or missing references)
63554 //IL_8373: Unknown result type (might be due to invalid IL or missing references)
63555 //IL_4b21: Unknown result type (might be due to invalid IL or missing references)
63556 //IL_86e6: Unknown result type (might be due to invalid IL or missing references)
63557 //IL_4f14: Unknown result type (might be due to invalid IL or missing references)
63558 //IL_4f1d: Unknown result type (might be due to invalid IL or missing references)
63559 //IL_4f27: Unknown result type (might be due to invalid IL or missing references)
63560 //IL_4f2c: Unknown result type (might be due to invalid IL or missing references)
63561 //IL_4bf1: Unknown result type (might be due to invalid IL or missing references)
63562 //IL_4bfb: Unknown result type (might be due to invalid IL or missing references)
63563 //IL_4c00: Unknown result type (might be due to invalid IL or missing references)
63564 //IL_8425: Unknown result type (might be due to invalid IL or missing references)
63565 //IL_842b: Unknown result type (might be due to invalid IL or missing references)
63566 //IL_8430: Unknown result type (might be due to invalid IL or missing references)
63567 //IL_8435: Unknown result type (might be due to invalid IL or missing references)
63568 //IL_4c8d: Unknown result type (might be due to invalid IL or missing references)
63569 //IL_4c97: Unknown result type (might be due to invalid IL or missing references)
63570 //IL_4c9c: Unknown result type (might be due to invalid IL or missing references)
63571 //IL_4c3b: Unknown result type (might be due to invalid IL or missing references)
63572 //IL_4c45: Unknown result type (might be due to invalid IL or missing references)
63573 //IL_4c4a: Unknown result type (might be due to invalid IL or missing references)
63574 //IL_8450: Unknown result type (might be due to invalid IL or missing references)
63575 //IL_8462: Unknown result type (might be due to invalid IL or missing references)
63576 //IL_4dbf: Unknown result type (might be due to invalid IL or missing references)
63577 //IL_4dc9: Unknown result type (might be due to invalid IL or missing references)
63578 //IL_4dce: Unknown result type (might be due to invalid IL or missing references)
63579 //IL_4d29: Unknown result type (might be due to invalid IL or missing references)
63580 //IL_4d33: Unknown result type (might be due to invalid IL or missing references)
63581 //IL_4d38: Unknown result type (might be due to invalid IL or missing references)
63582 //IL_4cd1: Unknown result type (might be due to invalid IL or missing references)
63583 //IL_4cdb: Unknown result type (might be due to invalid IL or missing references)
63584 //IL_4ce0: Unknown result type (might be due to invalid IL or missing references)
63585 //IL_4e06: Unknown result type (might be due to invalid IL or missing references)
63586 //IL_4e10: Unknown result type (might be due to invalid IL or missing references)
63587 //IL_4e15: Unknown result type (might be due to invalid IL or missing references)
63588 //IL_4d73: Unknown result type (might be due to invalid IL or missing references)
63589 //IL_4d7d: Unknown result type (might be due to invalid IL or missing references)
63590 //IL_4d82: Unknown result type (might be due to invalid IL or missing references)
63591 //IL_84c3: Unknown result type (might be due to invalid IL or missing references)
63592 //IL_84d5: Unknown result type (might be due to invalid IL or missing references)
63593 //IL_535f: Unknown result type (might be due to invalid IL or missing references)
63594 //IL_5364: Unknown result type (might be due to invalid IL or missing references)
63595 //IL_536e: Unknown result type (might be due to invalid IL or missing references)
63596 //IL_52a2: Unknown result type (might be due to invalid IL or missing references)
63597 //IL_52a7: Unknown result type (might be due to invalid IL or missing references)
63598 //IL_52b1: Unknown result type (might be due to invalid IL or missing references)
63599 //IL_53fe: Unknown result type (might be due to invalid IL or missing references)
63600 //IL_5403: Unknown result type (might be due to invalid IL or missing references)
63601 //IL_540d: Unknown result type (might be due to invalid IL or missing references)
63602 //IL_55d5: Unknown result type (might be due to invalid IL or missing references)
63603 //IL_55ea: Unknown result type (might be due to invalid IL or missing references)
63604 //IL_55f0: Unknown result type (might be due to invalid IL or missing references)
63605 //IL_55fa: Unknown result type (might be due to invalid IL or missing references)
63606 //IL_5563: Unknown result type (might be due to invalid IL or missing references)
63607 //IL_5568: Unknown result type (might be due to invalid IL or missing references)
63608 //IL_5572: Unknown result type (might be due to invalid IL or missing references)
63609 //IL_578f: Unknown result type (might be due to invalid IL or missing references)
63610 //IL_57a4: Unknown result type (might be due to invalid IL or missing references)
63611 //IL_57aa: Unknown result type (might be due to invalid IL or missing references)
63612 //IL_57b4: Unknown result type (might be due to invalid IL or missing references)
63613 //IL_56cd: Unknown result type (might be due to invalid IL or missing references)
63614 //IL_56d2: Unknown result type (might be due to invalid IL or missing references)
63615 //IL_56dc: Unknown result type (might be due to invalid IL or missing references)
63616 //IL_5653: Unknown result type (might be due to invalid IL or missing references)
63617 //IL_5658: Unknown result type (might be due to invalid IL or missing references)
63618 //IL_5662: Unknown result type (might be due to invalid IL or missing references)
63619 //IL_588e: Unknown result type (might be due to invalid IL or missing references)
63620 //IL_5893: Unknown result type (might be due to invalid IL or missing references)
63621 //IL_589d: Unknown result type (might be due to invalid IL or missing references)
63622 //IL_5812: Unknown result type (might be due to invalid IL or missing references)
63623 //IL_5817: Unknown result type (might be due to invalid IL or missing references)
63624 //IL_5821: Unknown result type (might be due to invalid IL or missing references)
63625 //IL_5997: Unknown result type (might be due to invalid IL or missing references)
63626 //IL_599c: Unknown result type (might be due to invalid IL or missing references)
63627 //IL_59a6: Unknown result type (might be due to invalid IL or missing references)
63628 //IL_5b8d: Unknown result type (might be due to invalid IL or missing references)
63629 //IL_5b92: Unknown result type (might be due to invalid IL or missing references)
63630 //IL_5b9c: Unknown result type (might be due to invalid IL or missing references)
63631 //IL_5c19: Unknown result type (might be due to invalid IL or missing references)
63632 //IL_5c1e: Unknown result type (might be due to invalid IL or missing references)
63633 //IL_5c23: Unknown result type (might be due to invalid IL or missing references)
63634 //IL_5c32: Unknown result type (might be due to invalid IL or missing references)
63635 //IL_5c68: Unknown result type (might be due to invalid IL or missing references)
63636 //IL_5ca4: Unknown result type (might be due to invalid IL or missing references)
63637 //IL_5caa: Unknown result type (might be due to invalid IL or missing references)
63638 //IL_5cec: Unknown result type (might be due to invalid IL or missing references)
63639 //IL_5cfb: Unknown result type (might be due to invalid IL or missing references)
63640 //IL_5d00: Unknown result type (might be due to invalid IL or missing references)
63641 //IL_5d25: Unknown result type (might be due to invalid IL or missing references)
63642 //IL_5d2a: Unknown result type (might be due to invalid IL or missing references)
63643 //IL_5d2f: Unknown result type (might be due to invalid IL or missing references)
63644 //IL_5d37: Unknown result type (might be due to invalid IL or missing references)
63645 //IL_5d41: Unknown result type (might be due to invalid IL or missing references)
63646 //IL_5d46: Unknown result type (might be due to invalid IL or missing references)
63647 //IL_5d4e: Unknown result type (might be due to invalid IL or missing references)
63648 //IL_5d55: Unknown result type (might be due to invalid IL or missing references)
63649 //IL_5d5f: Unknown result type (might be due to invalid IL or missing references)
63650 //IL_5d64: Unknown result type (might be due to invalid IL or missing references)
63651 //IL_5d69: Unknown result type (might be due to invalid IL or missing references)
63652 //IL_6e82: Unknown result type (might be due to invalid IL or missing references)
63653 //IL_6e91: Unknown result type (might be due to invalid IL or missing references)
63654 //IL_6e96: Unknown result type (might be due to invalid IL or missing references)
63655 //IL_6e9c: Unknown result type (might be due to invalid IL or missing references)
63656 //IL_6ea6: Unknown result type (might be due to invalid IL or missing references)
63657 //IL_6eab: Unknown result type (might be due to invalid IL or missing references)
63658 //IL_6ee1: Unknown result type (might be due to invalid IL or missing references)
63659 //IL_6ee7: Unknown result type (might be due to invalid IL or missing references)
63660 //IL_608f: Unknown result type (might be due to invalid IL or missing references)
63661 //IL_60a3: Unknown result type (might be due to invalid IL or missing references)
63662 //IL_6f87: Unknown result type (might be due to invalid IL or missing references)
63663 //IL_6f96: Unknown result type (might be due to invalid IL or missing references)
63664 //IL_6f9b: Unknown result type (might be due to invalid IL or missing references)
63665 //IL_6fa1: Unknown result type (might be due to invalid IL or missing references)
63666 //IL_6fab: Unknown result type (might be due to invalid IL or missing references)
63667 //IL_6fb0: Unknown result type (might be due to invalid IL or missing references)
63668 //IL_6fe6: Unknown result type (might be due to invalid IL or missing references)
63669 //IL_6fec: Unknown result type (might be due to invalid IL or missing references)
63670 //IL_71ed: Unknown result type (might be due to invalid IL or missing references)
63671 //IL_71f3: Unknown result type (might be due to invalid IL or missing references)
63672 //IL_71f8: Unknown result type (might be due to invalid IL or missing references)
63673 //IL_722c: Unknown result type (might be due to invalid IL or missing references)
63674 //IL_7232: Unknown result type (might be due to invalid IL or missing references)
63675 //IL_72a3: Unknown result type (might be due to invalid IL or missing references)
63676 //IL_72d2: Unknown result type (might be due to invalid IL or missing references)
63677 //IL_72dc: Unknown result type (might be due to invalid IL or missing references)
63678 //IL_72e1: Unknown result type (might be due to invalid IL or missing references)
63679 //IL_72e6: Unknown result type (might be due to invalid IL or missing references)
63680 //IL_7088: Unknown result type (might be due to invalid IL or missing references)
63681 //IL_70c3: Unknown result type (might be due to invalid IL or missing references)
63682 //IL_70c8: Unknown result type (might be due to invalid IL or missing references)
63683 //IL_70ce: Unknown result type (might be due to invalid IL or missing references)
63684 //IL_70d8: Unknown result type (might be due to invalid IL or missing references)
63685 //IL_710d: Unknown result type (might be due to invalid IL or missing references)
63686 //IL_7113: Unknown result type (might be due to invalid IL or missing references)
63687 //IL_711d: Unknown result type (might be due to invalid IL or missing references)
63688 //IL_7122: Unknown result type (might be due to invalid IL or missing references)
63689 //IL_7127: Unknown result type (might be due to invalid IL or missing references)
63690 //IL_7129: Unknown result type (might be due to invalid IL or missing references)
63691 //IL_7130: Unknown result type (might be due to invalid IL or missing references)
63692 //IL_7135: Unknown result type (might be due to invalid IL or missing references)
63693 //IL_7138: Unknown result type (might be due to invalid IL or missing references)
63694 //IL_713e: Unknown result type (might be due to invalid IL or missing references)
63695 //IL_7148: Unknown result type (might be due to invalid IL or missing references)
63696 //IL_714d: Unknown result type (might be due to invalid IL or missing references)
63697 //IL_715c: Unknown result type (might be due to invalid IL or missing references)
63698 //IL_7161: Unknown result type (might be due to invalid IL or missing references)
63699 //IL_716f: Unknown result type (might be due to invalid IL or missing references)
63700 //IL_7176: Unknown result type (might be due to invalid IL or missing references)
63701 //IL_7180: Unknown result type (might be due to invalid IL or missing references)
63702 //IL_7186: Unknown result type (might be due to invalid IL or missing references)
63703 //IL_60ef: Unknown result type (might be due to invalid IL or missing references)
63704 //IL_7358: Unknown result type (might be due to invalid IL or missing references)
63705 //IL_735e: Unknown result type (might be due to invalid IL or missing references)
63706 //IL_7363: Unknown result type (might be due to invalid IL or missing references)
63707 //IL_7399: Unknown result type (might be due to invalid IL or missing references)
63708 //IL_739f: Unknown result type (might be due to invalid IL or missing references)
63709 //IL_743c: Unknown result type (might be due to invalid IL or missing references)
63710 //IL_7450: Unknown result type (might be due to invalid IL or missing references)
63711 //IL_745e: Unknown result type (might be due to invalid IL or missing references)
63712 //IL_7464: Unknown result type (might be due to invalid IL or missing references)
63713 //IL_7466: Unknown result type (might be due to invalid IL or missing references)
63714 //IL_746b: Unknown result type (might be due to invalid IL or missing references)
63715 //IL_747a: Unknown result type (might be due to invalid IL or missing references)
63716 //IL_747f: Unknown result type (might be due to invalid IL or missing references)
63717 //IL_74b5: Unknown result type (might be due to invalid IL or missing references)
63718 //IL_74bb: Unknown result type (might be due to invalid IL or missing references)
63719 //IL_7557: Unknown result type (might be due to invalid IL or missing references)
63720 //IL_7561: Unknown result type (might be due to invalid IL or missing references)
63721 //IL_7566: Unknown result type (might be due to invalid IL or missing references)
63722 //IL_759e: Unknown result type (might be due to invalid IL or missing references)
63723 //IL_75cd: Unknown result type (might be due to invalid IL or missing references)
63724 //IL_75d2: Unknown result type (might be due to invalid IL or missing references)
63725 //IL_75d8: Unknown result type (might be due to invalid IL or missing references)
63726 //IL_75e2: Unknown result type (might be due to invalid IL or missing references)
63727 //IL_649f: Unknown result type (might be due to invalid IL or missing references)
63728 //IL_64ae: Unknown result type (might be due to invalid IL or missing references)
63729 //IL_64dc: Unknown result type (might be due to invalid IL or missing references)
63730 //IL_64eb: Unknown result type (might be due to invalid IL or missing references)
63731 //IL_64f9: Unknown result type (might be due to invalid IL or missing references)
63732 //IL_64ff: Unknown result type (might be due to invalid IL or missing references)
63733 //IL_6509: Unknown result type (might be due to invalid IL or missing references)
63734 //IL_650e: Unknown result type (might be due to invalid IL or missing references)
63735 //IL_652a: Unknown result type (might be due to invalid IL or missing references)
63736 //IL_6530: Unknown result type (might be due to invalid IL or missing references)
63737 //IL_6574: Unknown result type (might be due to invalid IL or missing references)
63738 //IL_657e: Unknown result type (might be due to invalid IL or missing references)
63739 //IL_6583: Unknown result type (might be due to invalid IL or missing references)
63740 //IL_65c4: Unknown result type (might be due to invalid IL or missing references)
63741 //IL_65d3: Unknown result type (might be due to invalid IL or missing references)
63742 //IL_65e1: Unknown result type (might be due to invalid IL or missing references)
63743 //IL_65e7: Unknown result type (might be due to invalid IL or missing references)
63744 //IL_65f1: Unknown result type (might be due to invalid IL or missing references)
63745 //IL_65f6: Unknown result type (might be due to invalid IL or missing references)
63746 //IL_6613: Unknown result type (might be due to invalid IL or missing references)
63747 //IL_6619: Unknown result type (might be due to invalid IL or missing references)
63748 //IL_6655: Unknown result type (might be due to invalid IL or missing references)
63749 //IL_665f: Unknown result type (might be due to invalid IL or missing references)
63750 //IL_6664: Unknown result type (might be due to invalid IL or missing references)
63751 //IL_6596: Unknown result type (might be due to invalid IL or missing references)
63752 //IL_659c: Unknown result type (might be due to invalid IL or missing references)
63753 //IL_65a6: Unknown result type (might be due to invalid IL or missing references)
63754 //IL_65ab: Unknown result type (might be due to invalid IL or missing references)
63755 //IL_65b0: Unknown result type (might be due to invalid IL or missing references)
63756 //IL_6677: Unknown result type (might be due to invalid IL or missing references)
63757 //IL_667d: Unknown result type (might be due to invalid IL or missing references)
63758 //IL_6687: Unknown result type (might be due to invalid IL or missing references)
63759 //IL_668c: Unknown result type (might be due to invalid IL or missing references)
63760 //IL_6691: Unknown result type (might be due to invalid IL or missing references)
63761 //IL_7760: Unknown result type (might be due to invalid IL or missing references)
63762 //IL_7766: Unknown result type (might be due to invalid IL or missing references)
63763 //IL_776b: Unknown result type (might be due to invalid IL or missing references)
63764 //IL_77a0: Unknown result type (might be due to invalid IL or missing references)
63765 //IL_77a6: Unknown result type (might be due to invalid IL or missing references)
63766 if (!Main.player[owner].active)
63767 {
63768 active = false;
63769 return;
63770 }
63771 bool flag = false;
63772 bool flag9 = false;
63773 bool flag10 = false;
63774 bool flag11 = false;
63775 bool flag12 = false;
63776 int num = 85;
63777 bool flag13 = type >= 191 && type <= 194;
63778 if (type == 324)
63779 {
63780 num = 120;
63781 }
63782 if (type == 112)
63783 {
63784 num = 100;
63785 }
63786 if (type == 127)
63787 {
63788 num = 50;
63789 }
63790 switch (type)
63791 {
63792 case 816:
63793 case 821:
63794 case 825:
63795 case 854:
63796 case 858:
63797 case 859:
63798 case 860:
63799 case 885:
63800 case 889:
63801 case 891:
63802 case 897:
63803 case 899:
63804 case 900:
63805 case 934:
63806 num = 95;
63807 break;
63808 case 884:
63809 case 890:
63810 num = 80;
63811 break;
63812 case 881:
63813 num = 95;
63814 if (Main.player[owner].ownedProjectileCounts[881] > 0)
63815 {
63816 num = 120;
63817 }
63818 break;
63819 }
63820 if (type == 960)
63821 {
63822 Main.CurrentFrameFlags.HadAnActiveInteractibleProjectile = true;
63823 flag = true;
63824 }
63825 if (flag13)
63826 {
63827 if (lavaWet)
63828 {
63829 ai[0] = 1f;
63830 ai[1] = 0f;
63831 }
63832 num = 60 + 30 * minionPos;
63833 }
63834 else if (type == 266)
63835 {
63836 num = 60 + 30 * minionPos;
63837 }
63838 bool flag14 = ai[0] == -1f || ai[0] == -2f;
63839 bool num201 = ai[0] == -1f;
63840 bool flag15 = ai[0] == -2f;
63841 if (type == 111)
63842 {
63843 if (Main.player[owner].dead)
63844 {
63845 Main.player[owner].bunny = false;
63846 }
63847 if (Main.player[owner].bunny)
63848 {
63849 timeLeft = 2;
63850 }
63851 }
63852 if (type == 112)
63853 {
63854 if (Main.player[owner].dead)
63855 {
63856 Main.player[owner].penguin = false;
63857 }
63858 if (Main.player[owner].penguin)
63859 {
63860 timeLeft = 2;
63861 }
63862 }
63863 if (type == 334)
63864 {
63865 if (Main.player[owner].dead)
63866 {
63867 Main.player[owner].puppy = false;
63868 }
63869 if (Main.player[owner].puppy)
63870 {
63871 timeLeft = 2;
63872 }
63873 }
63874 if (type == 353)
63875 {
63876 if (Main.player[owner].dead)
63877 {
63878 Main.player[owner].grinch = false;
63879 }
63880 if (Main.player[owner].grinch)
63881 {
63882 timeLeft = 2;
63883 }
63884 }
63885 if (type == 127)
63886 {
63887 if (Main.player[owner].dead)
63888 {
63889 Main.player[owner].turtle = false;
63890 }
63891 if (Main.player[owner].turtle)
63892 {
63893 timeLeft = 2;
63894 }
63895 }
63896 if (type == 175)
63897 {
63898 if (Main.player[owner].dead)
63899 {
63900 Main.player[owner].eater = false;
63901 }
63902 if (Main.player[owner].eater)
63903 {
63904 timeLeft = 2;
63905 }
63906 }
63907 if (type == 197)
63908 {
63909 if (Main.player[owner].dead)
63910 {
63911 Main.player[owner].skeletron = false;
63912 }
63913 if (Main.player[owner].skeletron)
63914 {
63915 timeLeft = 2;
63916 }
63917 }
63918 if (type == 198)
63919 {
63920 if (Main.player[owner].dead)
63921 {
63922 Main.player[owner].hornet = false;
63923 }
63924 if (Main.player[owner].hornet)
63925 {
63926 timeLeft = 2;
63927 }
63928 }
63929 if (type == 199)
63930 {
63931 if (Main.player[owner].dead)
63932 {
63933 Main.player[owner].tiki = false;
63934 }
63935 if (Main.player[owner].tiki)
63936 {
63937 timeLeft = 2;
63938 }
63939 }
63940 if (type == 200)
63941 {
63942 if (Main.player[owner].dead)
63943 {
63944 Main.player[owner].lizard = false;
63945 }
63946 if (Main.player[owner].lizard)
63947 {
63948 timeLeft = 2;
63949 }
63950 }
63951 if (type == 208)
63952 {
63953 if (Main.player[owner].dead)
63954 {
63955 Main.player[owner].parrot = false;
63956 }
63957 if (Main.player[owner].parrot)
63958 {
63959 timeLeft = 2;
63960 }
63961 }
63962 if (type == 209)
63963 {
63964 if (Main.player[owner].dead)
63965 {
63966 Main.player[owner].truffle = false;
63967 }
63968 if (Main.player[owner].truffle)
63969 {
63970 timeLeft = 2;
63971 }
63972 }
63973 if (type == 210)
63974 {
63975 if (Main.player[owner].dead)
63976 {
63977 Main.player[owner].sapling = false;
63978 }
63979 if (Main.player[owner].sapling)
63980 {
63981 timeLeft = 2;
63982 }
63983 }
63984 if (type == 324)
63985 {
63986 if (Main.player[owner].dead)
63987 {
63988 Main.player[owner].cSapling = false;
63989 }
63990 if (Main.player[owner].cSapling)
63991 {
63992 timeLeft = 2;
63993 }
63994 }
63995 if (type == 313)
63996 {
63997 if (Main.player[owner].dead)
63998 {
63999 Main.player[owner].spider = false;
64000 }
64001 if (Main.player[owner].spider)
64002 {
64003 timeLeft = 2;
64004 }
64005 }
64006 if (type == 314)
64007 {
64008 if (Main.player[owner].dead)
64009 {
64010 Main.player[owner].squashling = false;
64011 }
64012 if (Main.player[owner].squashling)
64013 {
64014 timeLeft = 2;
64015 }
64016 }
64017 if (type == 211)
64018 {
64019 if (Main.player[owner].dead)
64020 {
64021 Main.player[owner].wisp = false;
64022 }
64023 if (Main.player[owner].wisp)
64024 {
64025 timeLeft = 2;
64026 }
64027 }
64028 if (type == 236)
64029 {
64030 if (Main.player[owner].dead)
64031 {
64032 Main.player[owner].dino = false;
64033 }
64034 if (Main.player[owner].dino)
64035 {
64036 timeLeft = 2;
64037 }
64038 }
64039 if (type == 499)
64040 {
64041 if (Main.player[owner].dead)
64042 {
64043 Main.player[owner].babyFaceMonster = false;
64044 }
64045 if (Main.player[owner].babyFaceMonster)
64046 {
64047 timeLeft = 2;
64048 }
64049 }
64050 if (type == 765)
64051 {
64052 if (Main.player[owner].dead)
64053 {
64054 Main.player[owner].petFlagSugarGlider = false;
64055 }
64056 if (Main.player[owner].petFlagSugarGlider)
64057 {
64058 timeLeft = 2;
64059 }
64060 }
64061 if (type == 266)
64062 {
64063 if (Main.player[owner].dead)
64064 {
64065 Main.player[owner].slime = false;
64066 }
64067 if (Main.player[owner].slime)
64068 {
64069 timeLeft = 2;
64070 }
64071 }
64072 if (type == 268)
64073 {
64074 if (Main.player[owner].dead)
64075 {
64076 Main.player[owner].eyeSpring = false;
64077 }
64078 if (Main.player[owner].eyeSpring)
64079 {
64080 timeLeft = 2;
64081 }
64082 }
64083 if (type == 269)
64084 {
64085 if (Main.player[owner].dead)
64086 {
64087 Main.player[owner].snowman = false;
64088 }
64089 if (Main.player[owner].snowman)
64090 {
64091 timeLeft = 2;
64092 }
64093 }
64094 if (type == 319)
64095 {
64096 if (Main.player[owner].dead)
64097 {
64098 Main.player[owner].blackCat = false;
64099 }
64100 if (Main.player[owner].blackCat)
64101 {
64102 timeLeft = 2;
64103 }
64104 }
64105 if (type == 380)
64106 {
64107 if (Main.player[owner].dead)
64108 {
64109 Main.player[owner].zephyrfish = false;
64110 }
64111 if (Main.player[owner].zephyrfish)
64112 {
64113 timeLeft = 2;
64114 }
64115 }
64116 if (type == 774)
64117 {
64118 if (Main.player[owner].dead)
64119 {
64120 Main.player[owner].petFlagBabyShark = false;
64121 }
64122 if (Main.player[owner].petFlagBabyShark)
64123 {
64124 timeLeft = 2;
64125 }
64126 }
64127 if (type == 815)
64128 {
64129 if (Main.player[owner].dead)
64130 {
64131 Main.player[owner].petFlagLilHarpy = false;
64132 }
64133 if (Main.player[owner].petFlagLilHarpy)
64134 {
64135 timeLeft = 2;
64136 }
64137 }
64138 if (type == 816)
64139 {
64140 if (Main.player[owner].dead)
64141 {
64142 Main.player[owner].petFlagFennecFox = false;
64143 }
64144 if (Main.player[owner].petFlagFennecFox)
64145 {
64146 timeLeft = 2;
64147 }
64148 }
64149 if (type == 817)
64150 {
64151 if (Main.player[owner].dead)
64152 {
64153 Main.player[owner].petFlagGlitteryButterfly = false;
64154 }
64155 if (Main.player[owner].petFlagGlitteryButterfly)
64156 {
64157 timeLeft = 2;
64158 }
64159 }
64160 if (type == 821)
64161 {
64162 if (Main.player[owner].dead)
64163 {
64164 Main.player[owner].petFlagBabyImp = false;
64165 }
64166 if (Main.player[owner].petFlagBabyImp)
64167 {
64168 timeLeft = 2;
64169 }
64170 }
64171 if (type == 825)
64172 {
64173 if (Main.player[owner].dead)
64174 {
64175 Main.player[owner].petFlagBabyRedPanda = false;
64176 }
64177 if (Main.player[owner].petFlagBabyRedPanda)
64178 {
64179 timeLeft = 2;
64180 }
64181 }
64182 if (type == 854)
64183 {
64184 if (Main.player[owner].dead)
64185 {
64186 Main.player[owner].petFlagPlantero = false;
64187 }
64188 if (Main.player[owner].petFlagPlantero)
64189 {
64190 timeLeft = 2;
64191 }
64192 }
64193 if (type == 858)
64194 {
64195 if (Main.player[owner].dead)
64196 {
64197 Main.player[owner].petFlagDynamiteKitten = false;
64198 }
64199 if (Main.player[owner].petFlagDynamiteKitten)
64200 {
64201 timeLeft = 2;
64202 }
64203 }
64204 if (type == 859)
64205 {
64206 if (Main.player[owner].dead)
64207 {
64208 Main.player[owner].petFlagBabyWerewolf = false;
64209 }
64210 if (Main.player[owner].petFlagBabyWerewolf)
64211 {
64212 timeLeft = 2;
64213 }
64214 }
64215 if (type == 860)
64216 {
64217 if (Main.player[owner].dead)
64218 {
64219 Main.player[owner].petFlagShadowMimic = false;
64220 }
64221 if (Main.player[owner].petFlagShadowMimic)
64222 {
64223 timeLeft = 2;
64224 }
64225 }
64226 if (type == 875)
64227 {
64228 if (Main.player[owner].dead)
64229 {
64230 Main.player[owner].petFlagVoltBunny = false;
64231 }
64232 if (Main.player[owner].petFlagVoltBunny)
64233 {
64234 timeLeft = 2;
64235 }
64236 }
64237 if (type == 881)
64238 {
64239 if (Main.player[owner].dead)
64240 {
64241 Main.player[owner].petFlagKingSlimePet = false;
64242 }
64243 if (Main.player[owner].petFlagKingSlimePet)
64244 {
64245 timeLeft = 2;
64246 }
64247 }
64248 if (type == 884)
64249 {
64250 if (Main.player[owner].dead)
64251 {
64252 Main.player[owner].petFlagBrainOfCthulhuPet = false;
64253 }
64254 if (Main.player[owner].petFlagBrainOfCthulhuPet)
64255 {
64256 timeLeft = 2;
64257 }
64258 }
64259 if (type == 885)
64260 {
64261 if (Main.player[owner].dead)
64262 {
64263 Main.player[owner].petFlagSkeletronPet = false;
64264 }
64265 if (Main.player[owner].petFlagSkeletronPet)
64266 {
64267 timeLeft = 2;
64268 }
64269 }
64270 if (type == 886)
64271 {
64272 if (Main.player[owner].dead)
64273 {
64274 Main.player[owner].petFlagQueenBeePet = false;
64275 }
64276 if (Main.player[owner].petFlagQueenBeePet)
64277 {
64278 timeLeft = 2;
64279 }
64280 }
64281 if (type == 889)
64282 {
64283 if (Main.player[owner].dead)
64284 {
64285 Main.player[owner].petFlagSkeletronPrimePet = false;
64286 }
64287 if (Main.player[owner].petFlagSkeletronPrimePet)
64288 {
64289 timeLeft = 2;
64290 }
64291 }
64292 if (type == 890)
64293 {
64294 if (Main.player[owner].dead)
64295 {
64296 Main.player[owner].petFlagPlanteraPet = false;
64297 }
64298 if (Main.player[owner].petFlagPlanteraPet)
64299 {
64300 timeLeft = 2;
64301 }
64302 }
64303 if (type == 891)
64304 {
64305 if (Main.player[owner].dead)
64306 {
64307 Main.player[owner].petFlagGolemPet = false;
64308 }
64309 if (Main.player[owner].petFlagGolemPet)
64310 {
64311 timeLeft = 2;
64312 }
64313 }
64314 if (type == 892)
64315 {
64316 if (Main.player[owner].dead)
64317 {
64318 Main.player[owner].petFlagDukeFishronPet = false;
64319 }
64320 if (Main.player[owner].petFlagDukeFishronPet)
64321 {
64322 timeLeft = 2;
64323 }
64324 }
64325 if (type == 894)
64326 {
64327 if (Main.player[owner].dead)
64328 {
64329 Main.player[owner].petFlagMoonLordPet = false;
64330 }
64331 if (Main.player[owner].petFlagMoonLordPet)
64332 {
64333 timeLeft = 2;
64334 }
64335 }
64336 if (type == 897)
64337 {
64338 if (Main.player[owner].dead)
64339 {
64340 Main.player[owner].petFlagEverscreamPet = false;
64341 }
64342 if (Main.player[owner].petFlagEverscreamPet)
64343 {
64344 timeLeft = 2;
64345 }
64346 }
64347 if (type == 899)
64348 {
64349 if (Main.player[owner].dead)
64350 {
64351 Main.player[owner].petFlagMartianPet = false;
64352 }
64353 if (Main.player[owner].petFlagMartianPet)
64354 {
64355 timeLeft = 2;
64356 }
64357 }
64358 if (type == 900)
64359 {
64360 if (Main.player[owner].dead)
64361 {
64362 Main.player[owner].petFlagDD2OgrePet = false;
64363 }
64364 if (Main.player[owner].petFlagDD2OgrePet)
64365 {
64366 timeLeft = 2;
64367 }
64368 }
64369 if (type == 901)
64370 {
64371 if (Main.player[owner].dead)
64372 {
64373 Main.player[owner].petFlagDD2BetsyPet = false;
64374 }
64375 if (Main.player[owner].petFlagDD2BetsyPet)
64376 {
64377 timeLeft = 2;
64378 }
64379 }
64380 if (type == 934)
64381 {
64382 if (Main.player[owner].dead)
64383 {
64384 Main.player[owner].petFlagQueenSlimePet = false;
64385 }
64386 if (Main.player[owner].petFlagQueenSlimePet)
64387 {
64388 timeLeft = 2;
64389 }
64390 }
64391 if (type == 956)
64392 {
64393 if (Main.player[owner].dead)
64394 {
64395 Main.player[owner].petFlagBerniePet = false;
64396 }
64397 if (Main.player[owner].petFlagBerniePet)
64398 {
64399 timeLeft = 2;
64400 }
64401 }
64402 if (type == 958)
64403 {
64404 if (Main.player[owner].dead)
64405 {
64406 Main.player[owner].petFlagDeerclopsPet = false;
64407 }
64408 if (Main.player[owner].petFlagDeerclopsPet)
64409 {
64410 timeLeft = 2;
64411 }
64412 }
64413 if (type == 959)
64414 {
64415 if (Main.player[owner].dead)
64416 {
64417 Main.player[owner].petFlagPigPet = false;
64418 }
64419 if (Main.player[owner].petFlagPigPet)
64420 {
64421 timeLeft = 2;
64422 }
64423 }
64424 if (type == 960)
64425 {
64426 if (Main.player[owner].dead)
64427 {
64428 Main.player[owner].petFlagChesterPet = false;
64429 }
64430 if (Main.player[owner].petFlagChesterPet)
64431 {
64432 timeLeft = 2;
64433 }
64434 }
64435 if (type == 994)
64436 {
64437 if (Main.player[owner].dead)
64438 {
64439 Main.player[owner].petFlagJunimoPet = false;
64440 }
64441 if (Main.player[owner].petFlagJunimoPet)
64442 {
64443 timeLeft = 2;
64444 }
64445 }
64446 if (type == 998)
64447 {
64448 if (Main.player[owner].dead)
64449 {
64450 Main.player[owner].petFlagBlueChickenPet = false;
64451 }
64452 if (Main.player[owner].petFlagBlueChickenPet)
64453 {
64454 timeLeft = 2;
64455 }
64456 }
64457 if (type == 1003)
64458 {
64459 if (Main.player[owner].dead)
64460 {
64461 Main.player[owner].petFlagSpiffo = false;
64462 }
64463 if (Main.player[owner].petFlagSpiffo)
64464 {
64465 timeLeft = 2;
64466 }
64467 }
64468 if (type == 1004)
64469 {
64470 if (Main.player[owner].dead)
64471 {
64472 Main.player[owner].petFlagCaveling = false;
64473 }
64474 if (Main.player[owner].petFlagCaveling)
64475 {
64476 timeLeft = 2;
64477 }
64478 }
64479 if (flag13)
64480 {
64481 if (Main.player[owner].dead)
64482 {
64483 Main.player[owner].pygmy = false;
64484 }
64485 if (Main.player[owner].pygmy)
64486 {
64487 timeLeft = Main.rand.Next(2, 10);
64488 }
64489 }
64490 if (type >= 390 && type <= 392)
64491 {
64492 if (Main.player[owner].dead)
64493 {
64494 Main.player[owner].spiderMinion = false;
64495 }
64496 if (Main.player[owner].spiderMinion)
64497 {
64498 timeLeft = 2;
64499 }
64500 }
64501 if (type == 398)
64502 {
64503 if (Main.player[owner].dead)
64504 {
64505 Main.player[owner].miniMinotaur = false;
64506 }
64507 if (Main.player[owner].miniMinotaur)
64508 {
64509 timeLeft = 2;
64510 }
64511 }
64512 if (flag14)
64513 {
64514 timeLeft = 2;
64515 }
64516 if (flag13 || type == 266 || (type >= 390 && type <= 392))
64517 {
64518 num = 10;
64519 int num127 = 40 * (minionPos + 1) * Main.player[owner].direction;
64520 if (Main.player[owner].position.X + (float)(Main.player[owner].width / 2) < position.X + (float)(width / 2) - (float)num + (float)num127)
64521 {
64522 flag9 = true;
64523 }
64524 else if (Main.player[owner].position.X + (float)(Main.player[owner].width / 2) > position.X + (float)(width / 2) + (float)num + (float)num127)
64525 {
64526 flag10 = true;
64527 }
64528 }
64529 else if (type == 891)
64530 {
64531 num = 30;
64532 float num138 = -50 * -Main.player[owner].direction;
64533 float num149 = Main.player[owner].Center.X + num138;
64534 if (num149 < position.X + (float)(width / 2) - (float)num)
64535 {
64536 flag9 = true;
64537 }
64538 else if (num149 > position.X + (float)(width / 2) + (float)num)
64539 {
64540 flag10 = true;
64541 }
64542 }
64543 else if (type == 960 && !flag14)
64544 {
64545 num = 10;
64546 Player player = Main.player[owner];
64547 int num160 = ((player.Center.X - base.Center.X > 0f) ? 1 : (-1));
64548 if (player.velocity.X != 0f)
64549 {
64550 num160 = player.direction;
64551 }
64552 float num170 = -70 * num160;
64553 float num179 = player.Center.X + num170;
64554 if (num179 < base.Center.X - (float)num)
64555 {
64556 flag9 = true;
64557 }
64558 else if (num179 > base.Center.X + (float)num)
64559 {
64560 flag10 = true;
64561 }
64562 }
64563 else if (Main.player[owner].position.X + (float)(Main.player[owner].width / 2) < position.X + (float)(width / 2) - (float)num)
64564 {
64565 flag9 = true;
64566 }
64567 else if (Main.player[owner].position.X + (float)(Main.player[owner].width / 2) > position.X + (float)(width / 2) + (float)num)
64568 {
64569 flag10 = true;
64570 }
64571 if (num201)
64572 {
64573 flag9 = false;
64574 flag10 = true;
64575 num = 30;
64576 }
64577 if (flag15)
64578 {
64579 flag9 = false;
64580 flag10 = false;
64581 }
64582 if (type == 175)
64583 {
64584 float num190 = 0.1f;
64585 tileCollide = false;
64586 int num2 = 300;
64587 Vector2 vector = default(Vector2);
64588 ((Vector2)(ref vector))._002Ector(position.X + (float)width * 0.5f, position.Y + (float)height * 0.5f);
64589 float num13 = Main.player[owner].position.X + (float)(Main.player[owner].width / 2) - vector.X;
64590 float num24 = Main.player[owner].position.Y + (float)(Main.player[owner].height / 2) - vector.Y;
64591 if (type == 127)
64592 {
64593 num24 = Main.player[owner].position.Y - vector.Y;
64594 }
64595 float num35 = (float)Math.Sqrt(num13 * num13 + num24 * num24);
64596 float num46 = 7f;
64597 float num57 = 2000f;
64598 bool num202 = num35 > num57;
64599 if (num35 < (float)num2 && Main.player[owner].velocity.Y == 0f && position.Y + (float)height <= Main.player[owner].position.Y + (float)Main.player[owner].height && !Collision.SolidCollision(position, width, height))
64600 {
64601 ai[0] = 0f;
64602 if (velocity.Y < -6f)
64603 {
64604 velocity.Y = -6f;
64605 }
64606 }
64607 if (num35 < 150f)
64608 {
64609 if (Math.Abs(velocity.X) > 2f || Math.Abs(velocity.Y) > 2f)
64610 {
64611 velocity *= 0.99f;
64612 }
64613 num190 = 0.01f;
64614 if (num13 < -2f)
64615 {
64616 num13 = -2f;
64617 }
64618 if (num13 > 2f)
64619 {
64620 num13 = 2f;
64621 }
64622 if (num24 < -2f)
64623 {
64624 num24 = -2f;
64625 }
64626 if (num24 > 2f)
64627 {
64628 num24 = 2f;
64629 }
64630 }
64631 else
64632 {
64633 if (num35 > 300f)
64634 {
64635 num190 = 0.2f;
64636 }
64637 num35 = num46 / num35;
64638 num13 *= num35;
64639 num24 *= num35;
64640 }
64641 if (num202)
64642 {
64643 int num78 = 17;
64644 for (int i = 0; i < 12; i++)
64645 {
64646 float speedX = 1f - Main.rand.NextFloat() * 2f;
64647 float speedY = 1f - Main.rand.NextFloat() * 2f;
64648 int num89 = Dust.NewDust(position, width, height, num78, speedX, speedY);
64649 Main.dust[num89].noLightEmittence = true;
64650 Main.dust[num89].noGravity = true;
64651 }
64652 base.Center = Main.player[owner].Center;
64653 velocity = Vector2.Zero;
64654 if (Main.myPlayer == owner)
64655 {
64656 netUpdate = true;
64657 }
64658 }
64659 if (Math.Abs(num13) > Math.Abs(num24) || num190 == 0.05f)
64660 {
64661 if (velocity.X < num13)
64662 {
64663 velocity.X += num190;
64664 if (num190 > 0.05f && velocity.X < 0f)
64665 {
64666 velocity.X += num190;
64667 }
64668 }
64669 if (velocity.X > num13)
64670 {
64671 velocity.X -= num190;
64672 if (num190 > 0.05f && velocity.X > 0f)
64673 {
64674 velocity.X -= num190;
64675 }
64676 }
64677 }
64678 if (Math.Abs(num13) <= Math.Abs(num24) || num190 == 0.05f)
64679 {
64680 if (velocity.Y < num24)
64681 {
64682 velocity.Y += num190;
64683 if (num190 > 0.05f && velocity.Y < 0f)
64684 {
64685 velocity.Y += num190;
64686 }
64687 }
64688 if (velocity.Y > num24)
64689 {
64690 velocity.Y -= num190;
64691 if (num190 > 0.05f && velocity.Y > 0f)
64692 {
64693 velocity.Y -= num190;
64694 }
64695 }
64696 }
64697 rotation = (float)Math.Atan2(velocity.Y, velocity.X) - 1.57f;
64698 frameCounter++;
64699 if (frameCounter > 6)
64700 {
64701 frame++;
64702 frameCounter = 0;
64703 }
64704 if (frame > 1)
64705 {
64706 frame = 0;
64707 }
64708 return;
64709 }
64710 if (type == 197)
64711 {
64712 float num100 = 0.1f;
64713 tileCollide = false;
64714 int num110 = 300;
64715 Vector2 vector7 = default(Vector2);
64716 ((Vector2)(ref vector7))._002Ector(position.X + (float)width * 0.5f, position.Y + (float)height * 0.5f);
64717 float num119 = Main.player[owner].position.X + (float)(Main.player[owner].width / 2) - vector7.X;
64718 float num120 = Main.player[owner].position.Y + (float)(Main.player[owner].height / 2) - vector7.Y;
64719 if (type == 127)
64720 {
64721 num120 = Main.player[owner].position.Y - vector7.Y;
64722 }
64723 float num121 = (float)Math.Sqrt(num119 * num119 + num120 * num120);
64724 float num122 = 3f;
64725 if (num121 > 500f)
64726 {
64727 localAI[0] = 10000f;
64728 }
64729 if (localAI[0] >= 10000f)
64730 {
64731 num122 = 14f;
64732 }
64733 float num123 = 2000f;
64734 bool num203 = num121 > num123;
64735 if (num121 < (float)num110 && Main.player[owner].velocity.Y == 0f && position.Y + (float)height <= Main.player[owner].position.Y + (float)Main.player[owner].height && !Collision.SolidCollision(position, width, height))
64736 {
64737 ai[0] = 0f;
64738 if (velocity.Y < -6f)
64739 {
64740 velocity.Y = -6f;
64741 }
64742 }
64743 if (num121 < 150f)
64744 {
64745 if (Math.Abs(velocity.X) > 2f || Math.Abs(velocity.Y) > 2f)
64746 {
64747 velocity *= 0.99f;
64748 }
64749 num100 = 0.01f;
64750 if (num119 < -2f)
64751 {
64752 num119 = -2f;
64753 }
64754 if (num119 > 2f)
64755 {
64756 num119 = 2f;
64757 }
64758 if (num120 < -2f)
64759 {
64760 num120 = -2f;
64761 }
64762 if (num120 > 2f)
64763 {
64764 num120 = 2f;
64765 }
64766 }
64767 else
64768 {
64769 if (num121 > 300f)
64770 {
64771 num100 = 0.2f;
64772 }
64773 num121 = num122 / num121;
64774 num119 *= num121;
64775 num120 *= num121;
64776 }
64777 if (num203)
64778 {
64779 int num124 = 26;
64780 for (int j = 0; j < 12; j++)
64781 {
64782 float speedX2 = 1f - Main.rand.NextFloat() * 2f;
64783 float speedY2 = 1f - Main.rand.NextFloat() * 2f;
64784 int num125 = Dust.NewDust(position, width, height, num124, speedX2, speedY2);
64785 Main.dust[num125].noLightEmittence = true;
64786 Main.dust[num125].noGravity = true;
64787 }
64788 base.Center = Main.player[owner].Center;
64789 velocity = Vector2.Zero;
64790 if (Main.myPlayer == owner)
64791 {
64792 netUpdate = true;
64793 }
64794 }
64795 if (velocity.X < num119)
64796 {
64797 velocity.X += num100;
64798 if (num100 > 0.05f && velocity.X < 0f)
64799 {
64800 velocity.X += num100;
64801 }
64802 }
64803 if (velocity.X > num119)
64804 {
64805 velocity.X -= num100;
64806 if (num100 > 0.05f && velocity.X > 0f)
64807 {
64808 velocity.X -= num100;
64809 }
64810 }
64811 if (velocity.Y < num120)
64812 {
64813 velocity.Y += num100;
64814 if (num100 > 0.05f && velocity.Y < 0f)
64815 {
64816 velocity.Y += num100;
64817 }
64818 }
64819 if (velocity.Y > num120)
64820 {
64821 velocity.Y -= num100;
64822 if (num100 > 0.05f && velocity.Y > 0f)
64823 {
64824 velocity.Y -= num100;
64825 }
64826 }
64827 localAI[0] += Main.rand.Next(10);
64828 if (localAI[0] > 10000f)
64829 {
64830 if (localAI[1] == 0f)
64831 {
64832 if (velocity.X < 0f)
64833 {
64834 localAI[1] = -1f;
64835 }
64836 else
64837 {
64838 localAI[1] = 1f;
64839 }
64840 }
64841 rotation += 0.25f * localAI[1];
64842 if (localAI[0] > 12000f)
64843 {
64844 localAI[0] = 0f;
64845 }
64846 }
64847 else
64848 {
64849 localAI[1] = 0f;
64850 float num126 = velocity.X * 0.1f;
64851 if (rotation > num126)
64852 {
64853 rotation -= (Math.Abs(velocity.X) + Math.Abs(velocity.Y)) * 0.01f;
64854 if (rotation < num126)
64855 {
64856 rotation = num126;
64857 }
64858 }
64859 if (rotation < num126)
64860 {
64861 rotation += (Math.Abs(velocity.X) + Math.Abs(velocity.Y)) * 0.01f;
64862 if (rotation > num126)
64863 {
64864 rotation = num126;
64865 }
64866 }
64867 }
64868 if ((double)rotation > 6.28)
64869 {
64870 rotation -= 6.28f;
64871 }
64872 if ((double)rotation < -6.28)
64873 {
64874 rotation += 6.28f;
64875 }
64876 return;
64877 }
64878 Vector2 center2;
64879 if (type == 198 || type == 380 || type == 774 || type == 815 || type == 817 || type == 886 || type == 892 || type == 894 || type == 901)
64880 {
64881 float num128 = 0.4f;
64882 if (type == 380)
64883 {
64884 num128 = 0.3f;
64885 }
64886 if (type == 774)
64887 {
64888 num128 = 0.3f;
64889 }
64890 tileCollide = false;
64891 int num129 = 100;
64892 float num130 = 50f;
64893 float num131 = 400f;
64894 float num132 = num131 / 2f;
64895 float num133 = 2000f;
64896 bool flag16 = false;
64897 Vector2 vector8 = default(Vector2);
64898 ((Vector2)(ref vector8))._002Ector(position.X + (float)width * 0.5f, position.Y + (float)height * 0.5f);
64899 float num134 = Main.player[owner].position.X + (float)(Main.player[owner].width / 2) - vector8.X;
64900 float num135 = Main.player[owner].position.Y + (float)(Main.player[owner].height / 2) - vector8.Y;
64901 if (type == 774)
64902 {
64903 num130 = 2f;
64904 float num136 = (float)Math.Sin((float)Math.PI * 2f * ((float)Main.player[owner].miscCounter / 60f));
64905 float num137 = Utils.GetLerpValue(0.5f, 1f, num136, clamped: true);
64906 center2 = new Vector2(num134 - (float)(70 * Main.player[owner].direction), num135 - 60f);
64907 if (((Vector2)(ref center2)).Length() > 50f)
64908 {
64909 num136 = 0f;
64910 num137 = 0f;
64911 }
64912 num135 += -60f + num137 * -8f + num136 * 8f;
64913 num134 += (float)(70 * -Main.player[owner].direction);
64914 }
64915 else
64916 {
64917 if (type != 892 && type != 894)
64918 {
64919 num135 += (float)Main.rand.Next(-10, 21);
64920 num134 += (float)Main.rand.Next(-10, 21);
64921 }
64922 num134 += (float)(60 * -Main.player[owner].direction);
64923 num135 -= 60f;
64924 }
64925 Vector2 vector9 = default(Vector2);
64926 ((Vector2)(ref vector9))._002Ector(num134, num135);
64927 if (type == 127)
64928 {
64929 num135 = Main.player[owner].position.Y - vector8.Y;
64930 }
64931 float num139 = (float)Math.Sqrt(num134 * num134 + num135 * num135);
64932 float num140 = num139;
64933 float num141 = 14f;
64934 if (type == 380)
64935 {
64936 num141 = 6f;
64937 }
64938 if (type == 815 || type == 817)
64939 {
64940 num141 = ((!(num139 < num131)) ? 10f : 6f);
64941 }
64942 if (type == 892 || type == 894 || type == 901)
64943 {
64944 if (num139 < num132)
64945 {
64946 num141 = 6f;
64947 }
64948 num141 = ((!(num139 < num131)) ? 12f : 9f);
64949 }
64950 if (type == 774)
64951 {
64952 num141 = 5f;
64953 }
64954 if (num139 < (float)num129 && Main.player[owner].velocity.Y == 0f && position.Y + (float)height <= Main.player[owner].position.Y + (float)Main.player[owner].height && !Collision.SolidCollision(position, width, height))
64955 {
64956 ai[0] = 0f;
64957 if (velocity.Y < -6f)
64958 {
64959 velocity.Y = -6f;
64960 }
64961 }
64962 if (num139 < num130)
64963 {
64964 if (Math.Abs(velocity.X) > 2f || Math.Abs(velocity.Y) > 2f)
64965 {
64966 if (type == 892 || type == 892)
64967 {
64968 velocity *= 0.95f;
64969 }
64970 else
64971 {
64972 velocity *= 0.99f;
64973 }
64974 }
64975 num128 = 0.01f;
64976 }
64977 else
64978 {
64979 if (type == 892 || type == 894 || type == 901)
64980 {
64981 if (num139 < 100f)
64982 {
64983 num128 = 0.1f;
64984 }
64985 if (num139 > num133)
64986 {
64987 flag16 = true;
64988 }
64989 else if (num139 > num131)
64990 {
64991 num128 = 0.7f;
64992 }
64993 else if (num139 > num132)
64994 {
64995 num128 = 0.5f;
64996 }
64997 }
64998 else if (type == 815 || type == 817)
64999 {
65000 if (num139 < 100f)
65001 {
65002 num128 = 0.1f;
65003 }
65004 if (num139 > num133)
65005 {
65006 flag16 = true;
65007 }
65008 else if (type != 815 && num139 > num131)
65009 {
65010 num128 = 0.5f;
65011 }
65012 }
65013 else if (type == 380)
65014 {
65015 if (num139 < 100f)
65016 {
65017 num128 = 0.1f;
65018 }
65019 if (num139 > 300f)
65020 {
65021 num128 = 0.4f;
65022 }
65023 if (num139 > num133)
65024 {
65025 flag16 = true;
65026 }
65027 }
65028 else if (type == 198 || type == 886)
65029 {
65030 if (num139 < 100f)
65031 {
65032 num128 = 0.1f;
65033 }
65034 if (num139 > 300f)
65035 {
65036 num128 = 0.6f;
65037 }
65038 if (num139 > num133)
65039 {
65040 flag16 = true;
65041 }
65042 }
65043 else if (type == 774)
65044 {
65045 if (num139 < 40f)
65046 {
65047 num128 = 0.1f;
65048 }
65049 if (num139 > 300f)
65050 {
65051 num128 = 0.6f;
65052 }
65053 if (num139 > num133)
65054 {
65055 flag16 = true;
65056 }
65057 }
65058 num139 = num141 / num139;
65059 num134 *= num139;
65060 num135 *= num139;
65061 }
65062 if (velocity.X < num134)
65063 {
65064 velocity.X += num128;
65065 if (num128 > 0.05f && velocity.X < 0f)
65066 {
65067 velocity.X += num128;
65068 }
65069 }
65070 if (velocity.X > num134)
65071 {
65072 velocity.X -= num128;
65073 if (num128 > 0.05f && velocity.X > 0f)
65074 {
65075 velocity.X -= num128;
65076 }
65077 }
65078 if (velocity.Y < num135)
65079 {
65080 velocity.Y += num128;
65081 if (num128 > 0.05f && velocity.Y < 0f)
65082 {
65083 velocity.Y += num128 * 2f;
65084 }
65085 }
65086 if (velocity.Y > num135)
65087 {
65088 velocity.Y -= num128;
65089 if (num128 > 0.05f && velocity.Y > 0f)
65090 {
65091 velocity.Y -= num128 * 2f;
65092 }
65093 }
65094 if ((double)velocity.X > 0.25)
65095 {
65096 direction = -1;
65097 }
65098 else if ((double)velocity.X < -0.25)
65099 {
65100 direction = 1;
65101 }
65103 rotation = velocity.X * 0.05f;
65104 if (flag16)
65105 {
65106 int num142 = 33;
65107 if (type == 198 || type == 886)
65108 {
65109 num142 = 147;
65110 }
65111 if (type == 815)
65112 {
65113 num142 = 31;
65114 }
65115 if (type == 817)
65116 {
65117 num142 = 21;
65118 }
65119 for (int k = 0; k < 12; k++)
65120 {
65121 float speedX3 = 1f - Main.rand.NextFloat() * 2f;
65122 float speedY3 = 1f - Main.rand.NextFloat() * 2f;
65123 int num143 = Dust.NewDust(position, width, height, num142, speedX3, speedY3);
65124 Main.dust[num143].noLightEmittence = true;
65125 Main.dust[num143].noGravity = true;
65126 }
65127 base.Center = Main.player[owner].Center;
65128 velocity = Vector2.Zero;
65129 if (Main.myPlayer == owner)
65130 {
65131 netUpdate = true;
65132 }
65133 }
65134 bool flag2 = false;
65135 int num144 = 3;
65136 int num145 = 0;
65137 int num146 = 3;
65138 if (type == 380)
65139 {
65140 num144 = 6;
65141 }
65142 if (type == 815)
65143 {
65144 num144 = 5;
65145 num145 = 0;
65146 num146 = 5;
65147 if (num140 > num131)
65148 {
65149 num145 = 6;
65150 num146 = 9;
65151 }
65152 }
65153 if (type == 817)
65154 {
65155 num144 = 5;
65156 num145 = 0;
65157 num146 = 2;
65158 flag2 = true;
65159 }
65160 if (type == 901)
65161 {
65162 num144 = 4;
65163 num145 = 0;
65164 num146 = 5;
65165 if (num140 > num131 / 2f)
65166 {
65167 num144 = 3;
65168 num145 = 6;
65169 num146 = 11;
65170 }
65171 }
65172 if (type == 892)
65173 {
65174 num144 = 6;
65175 num145 = 0;
65176 num146 = Main.projFrames[type] - 1;
65177 }
65178 if (type == 886 || type == 894)
65179 {
65180 num144 = 4;
65181 num145 = 0;
65182 num146 = Main.projFrames[type] - 1;
65183 }
65184 if (type == 774)
65185 {
65186 if (((Vector2)(ref Main.player[owner].velocity)).Length() < 2f && ((Vector2)(ref vector9)).Length() < 10f)
65187 {
65188 direction = -Main.player[owner].direction;
65190 }
65191 num144 = 6;
65192 if (!wet)
65193 {
65194 num145 += 4;
65195 num146 += 4;
65196 }
65197 rotation = velocity.X * 0.05f + Math.Abs(velocity.Y * -0.05f);
65198 }
65199 if (flag2)
65200 {
65201 int num147 = num144 * (num146 - num145) * 2;
65202 frameCounter++;
65203 if (frameCounter >= num147)
65204 {
65205 frameCounter = 0;
65206 }
65208 if (frame > num146)
65209 {
65210 frame = num146 + (num146 - frame);
65211 }
65212 frame = (int)MathHelper.Clamp((float)frame, (float)num145, (float)num146);
65213 }
65214 else if (++frameCounter >= num144)
65215 {
65216 frameCounter = 0;
65217 frame++;
65219 {
65220 frame = num145;
65221 }
65222 }
65223 return;
65224 }
65225 if (type == 211)
65226 {
65227 float num148 = 0.2f;
65228 float num150 = 5f;
65229 tileCollide = false;
65230 Vector2 vector10 = default(Vector2);
65231 ((Vector2)(ref vector10))._002Ector(position.X + (float)width * 0.5f, position.Y + (float)height * 0.5f);
65232 float num151 = Main.player[owner].position.X + (float)(Main.player[owner].width / 2) - vector10.X;
65233 float num152 = Main.player[owner].position.Y + Main.player[owner].gfxOffY + (float)(Main.player[owner].height / 2) - vector10.Y;
65234 if (Main.player[owner].controlLeft)
65235 {
65236 num151 -= 120f;
65237 }
65238 else if (Main.player[owner].controlRight)
65239 {
65240 num151 += 120f;
65241 }
65242 if (Main.player[owner].controlDown)
65243 {
65244 num152 += 120f;
65245 }
65246 else
65247 {
65248 if (Main.player[owner].controlUp)
65249 {
65250 num152 -= 120f;
65251 }
65252 num152 -= 60f;
65253 }
65254 float num153 = (float)Math.Sqrt(num151 * num151 + num152 * num152);
65255 if (num153 > 1000f)
65256 {
65257 position.X += num151;
65258 position.Y += num152;
65259 }
65260 if (localAI[0] == 1f)
65261 {
65262 if (num153 < 10f)
65263 {
65264 Player player2 = Main.player[owner];
65265 if (Math.Abs(player2.velocity.X) + Math.Abs(player2.velocity.Y) < num150 && (player2.velocity.Y == 0f || (player2.mount.Active && player2.mount.CanFly())))
65266 {
65267 localAI[0] = 0f;
65268 }
65269 }
65270 num150 = 12f;
65271 if (num153 < num150)
65272 {
65273 velocity.X = num151;
65274 velocity.Y = num152;
65275 }
65276 else
65277 {
65278 num153 = num150 / num153;
65279 velocity.X = num151 * num153;
65280 velocity.Y = num152 * num153;
65281 }
65282 if ((double)velocity.X > 0.5)
65283 {
65284 direction = -1;
65285 }
65286 else if ((double)velocity.X < -0.5)
65287 {
65288 direction = 1;
65289 }
65291 rotation -= (0.2f + Math.Abs(velocity.X) * 0.025f) * (float)direction;
65292 frameCounter++;
65293 if (frameCounter > 3)
65294 {
65295 frame++;
65296 frameCounter = 0;
65297 }
65298 if (frame < 5)
65299 {
65300 frame = 5;
65301 }
65302 if (frame > 9)
65303 {
65304 frame = 5;
65305 }
65306 for (int l = 0; l < 2; l++)
65307 {
65308 int num154 = Dust.NewDust(new Vector2(position.X + 3f, position.Y + 4f), 14, 14, 156);
65309 Dust obj = Main.dust[num154];
65310 obj.velocity *= 0.2f;
65311 Main.dust[num154].noGravity = true;
65312 Main.dust[num154].scale = 1.25f;
65313 Main.dust[num154].shader = GameShaders.Armor.GetSecondaryShader(Main.player[owner].cLight, Main.player[owner]);
65314 }
65315 return;
65316 }
65317 if (num153 > 200f)
65318 {
65319 localAI[0] = 1f;
65320 }
65321 if ((double)velocity.X > 0.5)
65322 {
65323 direction = -1;
65324 }
65325 else if ((double)velocity.X < -0.5)
65326 {
65327 direction = 1;
65328 }
65330 if (num153 < 10f)
65331 {
65332 velocity.X = num151;
65333 velocity.Y = num152;
65334 rotation = velocity.X * 0.05f;
65335 if (num153 < num150)
65336 {
65337 position += velocity;
65338 velocity *= 0f;
65339 num148 = 0f;
65340 }
65341 direction = -Main.player[owner].direction;
65342 }
65343 num153 = num150 / num153;
65344 num151 *= num153;
65345 num152 *= num153;
65346 if (velocity.X < num151)
65347 {
65348 velocity.X += num148;
65349 if (velocity.X < 0f)
65350 {
65351 velocity.X *= 0.99f;
65352 }
65353 }
65354 if (velocity.X > num151)
65355 {
65356 velocity.X -= num148;
65357 if (velocity.X > 0f)
65358 {
65359 velocity.X *= 0.99f;
65360 }
65361 }
65362 if (velocity.Y < num152)
65363 {
65364 velocity.Y += num148;
65365 if (velocity.Y < 0f)
65366 {
65367 velocity.Y *= 0.99f;
65368 }
65369 }
65370 if (velocity.Y > num152)
65371 {
65372 velocity.Y -= num148;
65373 if (velocity.Y > 0f)
65374 {
65375 velocity.Y *= 0.99f;
65376 }
65377 }
65378 if (velocity.X != 0f || velocity.Y != 0f)
65379 {
65380 rotation = velocity.X * 0.05f;
65381 }
65382 frameCounter++;
65383 if (frameCounter > 3)
65384 {
65385 frame++;
65386 frameCounter = 0;
65387 }
65388 if (frame > 4)
65389 {
65390 frame = 0;
65391 }
65392 return;
65393 }
65394 if (type == 199)
65395 {
65396 float num155 = 0.1f;
65397 tileCollide = false;
65398 int num156 = 200;
65399 Vector2 vector11 = default(Vector2);
65400 ((Vector2)(ref vector11))._002Ector(position.X + (float)width * 0.5f, position.Y + (float)height * 0.5f);
65401 float num157 = Main.player[owner].position.X + (float)(Main.player[owner].width / 2) - vector11.X;
65402 float num158 = Main.player[owner].position.Y + (float)(Main.player[owner].height / 2) - vector11.Y;
65403 num158 -= 60f;
65404 num157 -= 2f;
65405 if (type == 127)
65406 {
65407 num158 = Main.player[owner].position.Y - vector11.Y;
65408 }
65409 float num159 = (float)Math.Sqrt(num157 * num157 + num158 * num158);
65410 float num161 = 4f;
65411 float num162 = num159;
65412 float num163 = 2000f;
65413 bool num204 = num159 > num163;
65414 if (num159 < (float)num156 && Main.player[owner].velocity.Y == 0f && position.Y + (float)height <= Main.player[owner].position.Y + (float)Main.player[owner].height && !Collision.SolidCollision(position, width, height))
65415 {
65416 ai[0] = 0f;
65417 if (velocity.Y < -6f)
65418 {
65419 velocity.Y = -6f;
65420 }
65421 }
65422 if (num159 < 4f)
65423 {
65424 velocity.X = num157;
65425 velocity.Y = num158;
65426 num155 = 0f;
65427 }
65428 else
65429 {
65430 if (num159 > 350f)
65431 {
65432 num155 = 0.2f;
65433 num161 = 10f;
65434 }
65435 num159 = num161 / num159;
65436 num157 *= num159;
65437 num158 *= num159;
65438 }
65439 if (num204)
65440 {
65441 int num164 = 2;
65442 for (int m = 0; m < 12; m++)
65443 {
65444 float speedX4 = 1f - Main.rand.NextFloat() * 2f;
65445 float speedY4 = 1f - Main.rand.NextFloat() * 2f;
65446 int num165 = Dust.NewDust(position, width, height, num164, speedX4, speedY4);
65447 Main.dust[num165].noLightEmittence = true;
65448 Main.dust[num165].noGravity = true;
65449 }
65450 base.Center = Main.player[owner].Center;
65451 velocity = Vector2.Zero;
65452 if (Main.myPlayer == owner)
65453 {
65454 netUpdate = true;
65455 }
65456 }
65457 if (velocity.X < num157)
65458 {
65459 velocity.X += num155;
65460 if (velocity.X < 0f)
65461 {
65462 velocity.X += num155;
65463 }
65464 }
65465 if (velocity.X > num157)
65466 {
65467 velocity.X -= num155;
65468 if (velocity.X > 0f)
65469 {
65470 velocity.X -= num155;
65471 }
65472 }
65473 if (velocity.Y < num158)
65474 {
65475 velocity.Y += num155;
65476 if (velocity.Y < 0f)
65477 {
65478 velocity.Y += num155;
65479 }
65480 }
65481 if (velocity.Y > num158)
65482 {
65483 velocity.Y -= num155;
65484 if (velocity.Y > 0f)
65485 {
65486 velocity.Y -= num155;
65487 }
65488 }
65489 direction = -Main.player[owner].direction;
65490 spriteDirection = 1;
65491 rotation = velocity.Y * 0.05f * (float)(-direction);
65492 if (num162 >= 50f)
65493 {
65494 frameCounter++;
65495 if (frameCounter <= 6)
65496 {
65497 return;
65498 }
65499 frameCounter = 0;
65500 if (velocity.X < 0f)
65501 {
65502 if (frame < 2)
65503 {
65504 frame++;
65505 }
65506 if (frame > 2)
65507 {
65508 frame--;
65509 }
65510 }
65511 else
65512 {
65513 if (frame < 6)
65514 {
65515 frame++;
65516 }
65517 if (frame > 6)
65518 {
65519 frame--;
65520 }
65521 }
65522 }
65523 else
65524 {
65525 frameCounter++;
65526 if (frameCounter > 6)
65527 {
65528 frame += direction;
65529 frameCounter = 0;
65530 }
65531 if (frame > 7)
65532 {
65533 frame = 0;
65534 }
65535 if (frame < 0)
65536 {
65537 frame = 7;
65538 }
65539 }
65540 return;
65541 }
65542 if (type == 885 || type == 889)
65543 {
65544 Player player3 = Main.player[owner];
65545 float num166 = 0.15f;
65546 tileCollide = false;
65547 int num167 = 150;
65548 Vector2 center = base.Center;
65549 float num168 = player3.Center.X - center.X;
65550 float num169 = player3.Center.Y - center.Y;
65551 num169 -= 65f;
65552 num168 -= (float)(30 * player3.direction);
65553 float num171 = (float)Math.Sqrt(num168 * num168 + num169 * num169);
65554 float num172 = 8f;
65555 float num173 = num171;
65556 float num174 = 2000f;
65557 bool num205 = num171 > num174;
65558 if (num171 < (float)num167 && player3.velocity.Y == 0f && position.Y + (float)height <= player3.position.Y + (float)player3.height && !Collision.SolidCollision(position, width, height) && velocity.Y < -6f)
65559 {
65560 velocity.Y = -6f;
65561 }
65562 if (num171 < 10f)
65563 {
65564 velocity *= 0.9f;
65565 if (((Vector2)(ref velocity)).Length() < 0.5f)
65566 {
65567 velocity = Vector2.Zero;
65568 }
65569 num166 = 0f;
65570 }
65571 else
65572 {
65573 if (num171 > (float)num167)
65574 {
65575 num166 = 0.2f;
65576 num172 = 12f;
65577 }
65578 num171 = num172 / num171;
65579 num168 *= num171;
65580 num169 *= num171;
65581 }
65582 if (num205)
65583 {
65584 int num175 = 234;
65585 if (type == 889)
65586 {
65587 num175 = 60;
65588 }
65589 for (int n = 0; n < 12; n++)
65590 {
65591 float speedX5 = 1f - Main.rand.NextFloat() * 2f;
65592 float speedY5 = 1f - Main.rand.NextFloat() * 2f;
65593 int num176 = Dust.NewDust(position, width, height, num175, speedX5, speedY5);
65594 Main.dust[num176].noLightEmittence = true;
65595 Main.dust[num176].noGravity = true;
65596 }
65597 base.Center = player3.Center;
65598 velocity = Vector2.Zero;
65599 if (Main.myPlayer == owner)
65600 {
65601 netUpdate = true;
65602 }
65603 }
65604 if (velocity.X < num168)
65605 {
65606 velocity.X += num166;
65607 if (velocity.X < 0f)
65608 {
65609 velocity.X += num166;
65610 }
65611 }
65612 if (velocity.X > num168)
65613 {
65614 velocity.X -= num166;
65615 if (velocity.X > 0f)
65616 {
65617 velocity.X -= num166;
65618 }
65619 }
65620 if (velocity.Y < num169)
65621 {
65622 velocity.Y += num166;
65623 if (velocity.Y < 0f)
65624 {
65625 velocity.Y += num166;
65626 }
65627 }
65628 if (velocity.Y > num169)
65629 {
65630 velocity.Y -= num166;
65631 if (velocity.Y > 0f)
65632 {
65633 velocity.Y -= num166;
65634 }
65635 }
65636 direction = -player3.direction;
65638 int num177 = 100;
65639 if (num173 >= (float)num167)
65640 {
65641 rotation += 0.5f;
65642 if (rotation > (float)Math.PI * 2f)
65643 {
65644 rotation -= (float)Math.PI * 2f;
65645 }
65646 frame = 6;
65647 frameCounter = 0;
65648 if (type == 885)
65649 {
65650 localAI[0] = 0f;
65651 }
65652 if (type == 889)
65653 {
65654 localAI[0] += 3f;
65655 if (localAI[0] > (float)num177)
65656 {
65657 localAI[0] = num177;
65658 }
65659 }
65660 return;
65661 }
65662 rotation *= 0.95f;
65663 if (rotation < 0.05f)
65664 {
65665 rotation = 0f;
65666 }
65667 frameCounter++;
65668 if (type == 885)
65669 {
65670 switch (frameCounter)
65671 {
65672 case 10:
65673 localAI[0] = 0f;
65674 break;
65675 case 20:
65676 localAI[0] = 1f;
65677 break;
65678 case 30:
65679 localAI[0] = 2f;
65680 break;
65681 case 40:
65682 localAI[0] = 1f;
65683 break;
65684 }
65685 }
65686 if (type == 889)
65687 {
65688 localAI[0] -= 3f;
65689 if (localAI[0] < 0f)
65690 {
65691 localAI[0] = 0f;
65692 }
65693 }
65694 if (frameCounter % 5 == 0)
65695 {
65696 frame++;
65697 if (frame > 5)
65698 {
65699 frame = 0;
65700 }
65701 }
65702 if (frameCounter >= 40)
65703 {
65704 frameCounter = 0;
65705 }
65706 return;
65707 }
65708 bool flag3 = ai[1] == 0f;
65709 if (flag)
65710 {
65711 flag3 = true;
65712 }
65713 if (flag3)
65714 {
65715 int num178 = 500;
65716 if (type == 127)
65717 {
65718 num178 = 200;
65719 }
65720 if (type == 208)
65721 {
65722 num178 = 300;
65723 }
65724 switch (type)
65725 {
65726 case 816:
65727 case 825:
65728 case 854:
65729 case 858:
65730 case 859:
65731 case 860:
65732 case 881:
65733 case 884:
65734 case 890:
65735 case 891:
65736 case 897:
65737 case 900:
65738 case 934:
65739 num178 = 400;
65740 break;
65741 case 821:
65742 case 899:
65743 num178 = 500;
65744 break;
65745 }
65746 if (flag13 || type == 266 || (type >= 390 && type <= 392))
65747 {
65748 num178 += 40 * minionPos;
65749 if (localAI[0] > 0f)
65750 {
65751 num178 += 500;
65752 }
65753 if (type == 266 && localAI[0] > 0f)
65754 {
65755 num178 += 100;
65756 }
65757 if (type >= 390 && type <= 392 && localAI[0] > 0f)
65758 {
65759 num178 += 400;
65760 }
65761 }
65762 if (Main.player[owner].rocketDelay2 > 0)
65763 {
65764 ai[0] = 1f;
65765 }
65766 Vector2 vector12 = default(Vector2);
65767 ((Vector2)(ref vector12))._002Ector(position.X + (float)width * 0.5f, position.Y + (float)height * 0.5f);
65768 float num206 = Main.player[owner].position.X + (float)(Main.player[owner].width / 2) - vector12.X;
65769 float num180 = Main.player[owner].position.Y + (float)(Main.player[owner].height / 2) - vector12.Y;
65770 float num181 = (float)Math.Sqrt(num206 * num206 + num180 * num180);
65771 if (!flag14)
65772 {
65773 if (num181 > 2000f)
65774 {
65775 position.X = Main.player[owner].position.X + (float)(Main.player[owner].width / 2) - (float)(width / 2);
65776 position.Y = Main.player[owner].position.Y + (float)(Main.player[owner].height / 2) - (float)(height / 2);
65777 }
65778 else if (num181 > (float)num178 || (Math.Abs(num180) > 300f && ((!flag13 && type != 266 && (type < 390 || type > 392)) || !(localAI[0] > 0f))))
65779 {
65780 if (type != 324)
65781 {
65782 if (num180 > 0f && velocity.Y < 0f)
65783 {
65784 velocity.Y = 0f;
65785 }
65787 {
65788 velocity.Y = 0f;
65789 }
65790 }
65791 ai[0] = 1f;
65792 }
65793 }
65794 }
65795 if ((type == 209 || type == 956) && ai[0] != 0f)
65796 {
65797 if (Main.player[owner].velocity.Y == 0f && alpha >= 100)
65798 {
65799 position.X = Main.player[owner].position.X + (float)(Main.player[owner].width / 2) - (float)(width / 2);
65800 position.Y = Main.player[owner].position.Y + (float)Main.player[owner].height - (float)height;
65801 ai[0] = 0f;
65802 }
65803 else
65804 {
65805 velocity.X = 0f;
65806 velocity.Y = 0f;
65807 if (type == 956 && alpha < 100)
65808 {
65809 int num182 = Dust.NewDust(position, width, height, 6, velocity.X, velocity.Y, 0, default(Color), 1.2f);
65810 Main.dust[num182].velocity.X += Main.rand.NextFloat() - 0.5f;
65811 Main.dust[num182].velocity.Y += (Main.rand.NextFloat() + 0.5f) * -1f;
65812 if (Main.rand.Next(3) != 0)
65813 {
65814 Main.dust[num182].noGravity = true;
65815 }
65816 }
65817 alpha += 5;
65818 if (alpha > 255)
65819 {
65820 alpha = 255;
65821 }
65822 }
65823 }
65824 else if (ai[0] != 0f && !flag14)
65825 {
65826 float num183 = 0.2f;
65827 int num184 = 200;
65828 if (type == 127)
65829 {
65830 num184 = 100;
65831 }
65832 if (flag13 || type == 816 || type == 821 || type == 825 || type == 854 || type == 858 || type == 859 || type == 860)
65833 {
65834 num183 = 0.5f;
65835 num184 = 100;
65836 }
65837 if (type == 875)
65838 {
65839 num183 = 2f;
65840 num184 = 100;
65841 }
65842 tileCollide = false;
65843 Vector2 vector13 = default(Vector2);
65844 ((Vector2)(ref vector13))._002Ector(position.X + (float)width * 0.5f, position.Y + (float)height * 0.5f);
65845 float num185 = Main.player[owner].position.X + (float)(Main.player[owner].width / 2) - vector13.X;
65846 if (flag13 || type == 266 || (type >= 390 && type <= 392))
65847 {
65848 num185 -= (float)(40 * Main.player[owner].direction);
65849 float num186 = 700f;
65850 if (flag13)
65851 {
65852 num186 += 100f;
65853 }
65854 bool flag4 = false;
65855 int num187 = -1;
65856 for (int num188 = 0; num188 < 200; num188++)
65857 {
65858 if (!Main.npc[num188].CanBeChasedBy(this))
65859 {
65860 continue;
65861 }
65862 float num189 = Main.npc[num188].position.X + (float)(Main.npc[num188].width / 2);
65863 float num191 = Main.npc[num188].position.Y + (float)(Main.npc[num188].height / 2);
65864 if (Math.Abs(Main.player[owner].position.X + (float)(Main.player[owner].width / 2) - num189) + Math.Abs(Main.player[owner].position.Y + (float)(Main.player[owner].height / 2) - num191) < num186)
65865 {
65866 if (Collision.CanHit(position, width, height, Main.npc[num188].position, Main.npc[num188].width, Main.npc[num188].height))
65867 {
65868 num187 = num188;
65869 }
65870 flag4 = true;
65871 break;
65872 }
65873 }
65874 if (!flag4)
65875 {
65876 num185 -= (float)(40 * minionPos * Main.player[owner].direction);
65877 }
65878 if (flag4 && num187 >= 0)
65879 {
65880 ai[0] = 0f;
65881 }
65882 }
65883 float num192 = Main.player[owner].position.Y + (float)(Main.player[owner].height / 2) - vector13.Y;
65884 if (type == 127)
65885 {
65886 num192 = Main.player[owner].position.Y - vector13.Y;
65887 }
65888 float num193 = (float)Math.Sqrt(num185 * num185 + num192 * num192);
65889 float num194 = num193;
65890 float num195 = 10f;
65891 float num196 = num193;
65892 if (type == 111)
65893 {
65894 num195 = 11f;
65895 }
65896 if (type == 127)
65897 {
65898 num195 = 9f;
65899 }
65900 if (type == 875)
65901 {
65902 num183 = 1.8f;
65903 num195 = 16f;
65904 }
65905 if (type == 324)
65906 {
65907 num195 = 20f;
65908 }
65909 if (flag13 || type == 816 || type == 821 || type == 825 || type == 854 || type == 858 || type == 859 || type == 860 || type == 956 || type == 958 || type == 959 || type == 960 || type == 994 || type == 998 || type == 1003 || type == 1004)
65910 {
65911 num183 = 0.4f;
65912 num195 = 12f;
65913 if (flag13)
65914 {
65915 num183 = 0.8f;
65916 }
65917 if (num195 < Math.Abs(Main.player[owner].velocity.X) + Math.Abs(Main.player[owner].velocity.Y))
65918 {
65919 num195 = Math.Abs(Main.player[owner].velocity.X) + Math.Abs(Main.player[owner].velocity.Y);
65920 }
65921 }
65922 if (type == 208 && Math.Abs(Main.player[owner].velocity.X) + Math.Abs(Main.player[owner].velocity.Y) > 4f)
65923 {
65924 num184 = -1;
65925 }
65926 if (num193 < (float)num184 && Main.player[owner].velocity.Y == 0f && position.Y + (float)height <= Main.player[owner].position.Y + (float)Main.player[owner].height && !Collision.SolidCollision(position, width, height))
65927 {
65928 ai[0] = 0f;
65929 if (velocity.Y < -6f)
65930 {
65931 velocity.Y = -6f;
65932 }
65933 }
65934 if (num193 < 60f)
65935 {
65936 num185 = velocity.X;
65937 num192 = velocity.Y;
65938 }
65939 else
65940 {
65941 num193 = num195 / num193;
65942 num185 *= num193;
65943 num192 *= num193;
65944 }
65945 if (type == 324)
65946 {
65947 if (num196 > 1000f)
65948 {
65949 if ((double)(Math.Abs(velocity.X) + Math.Abs(velocity.Y)) < (double)num195 - 1.25)
65950 {
65951 velocity *= 1.025f;
65952 }
65953 if ((double)(Math.Abs(velocity.X) + Math.Abs(velocity.Y)) > (double)num195 + 1.25)
65954 {
65955 velocity *= 0.975f;
65956 }
65957 }
65958 else if (num196 > 600f)
65959 {
65960 if (Math.Abs(velocity.X) + Math.Abs(velocity.Y) < num195 - 1f)
65961 {
65962 velocity *= 1.05f;
65963 }
65964 if (Math.Abs(velocity.X) + Math.Abs(velocity.Y) > num195 + 1f)
65965 {
65966 velocity *= 0.95f;
65967 }
65968 }
65969 else if (num196 > 400f)
65970 {
65971 if ((double)(Math.Abs(velocity.X) + Math.Abs(velocity.Y)) < (double)num195 - 0.5)
65972 {
65973 velocity *= 1.075f;
65974 }
65975 if ((double)(Math.Abs(velocity.X) + Math.Abs(velocity.Y)) > (double)num195 + 0.5)
65976 {
65977 velocity *= 0.925f;
65978 }
65979 }
65980 else
65981 {
65982 if ((double)(Math.Abs(velocity.X) + Math.Abs(velocity.Y)) < (double)num195 - 0.25)
65983 {
65984 velocity *= 1.1f;
65985 }
65986 if ((double)(Math.Abs(velocity.X) + Math.Abs(velocity.Y)) > (double)num195 + 0.25)
65987 {
65988 velocity *= 0.9f;
65989 }
65990 }
65991 velocity.X = (velocity.X * 34f + num185) / 35f;
65992 velocity.Y = (velocity.Y * 34f + num192) / 35f;
65993 }
65994 else if (type == 875)
65995 {
65996 if (num194 < (float)num184)
65997 {
65998 if (velocity.X < num185)
65999 {
66000 velocity.X += num183;
66001 }
66002 else if (velocity.X > num185)
66003 {
66004 velocity.X -= num183;
66005 }
66006 if (velocity.Y < num192)
66007 {
66008 velocity.Y += num183;
66009 }
66010 else if (velocity.Y > num192)
66011 {
66012 velocity.Y -= num183;
66013 }
66014 }
66015 else
66016 {
66017 velocity = Vector2.Lerp(velocity, new Vector2(num185, num192), 0.75f);
66018 }
66019 }
66020 else
66021 {
66022 if (velocity.X < num185)
66023 {
66024 velocity.X += num183;
66025 if (velocity.X < 0f)
66026 {
66027 velocity.X += num183 * 1.5f;
66028 }
66029 }
66030 if (velocity.X > num185)
66031 {
66032 velocity.X -= num183;
66033 if (velocity.X > 0f)
66034 {
66035 velocity.X -= num183 * 1.5f;
66036 }
66037 }
66038 if (velocity.Y < num192)
66039 {
66040 velocity.Y += num183;
66041 if (velocity.Y < 0f)
66042 {
66043 velocity.Y += num183 * 1.5f;
66044 }
66045 }
66046 if (velocity.Y > num192)
66047 {
66048 velocity.Y -= num183;
66049 if (velocity.Y > 0f)
66050 {
66051 velocity.Y -= num183 * 1.5f;
66052 }
66053 }
66054 }
66055 if (type == 111)
66056 {
66057 frame = 7;
66058 }
66059 if (flag13 && frame < 12)
66060 {
66061 frame = Main.rand.Next(12, 18);
66062 frameCounter = 0;
66063 }
66064 if (type != 313)
66065 {
66066 if ((double)velocity.X > 0.5)
66067 {
66068 spriteDirection = -1;
66069 }
66070 else if ((double)velocity.X < -0.5)
66071 {
66072 spriteDirection = 1;
66073 }
66074 }
66075 if (type == 112)
66076 {
66077 frameCounter++;
66078 if (frame < 3)
66079 {
66080 frame = 3;
66081 frameCounter = 0;
66082 }
66083 if (frameCounter > 3)
66084 {
66085 frameCounter = 0;
66086 frame++;
66087 if (frame >= Main.projFrames[type])
66088 {
66089 frame = 3;
66090 }
66091 }
66092 rotation = velocity.X * 0.125f;
66093 }
66094 else if (type == 900)
66095 {
66096 spriteDirection = -1;
66097 if (velocity.X > 0f)
66098 {
66099 spriteDirection = 1;
66100 }
66101 frameCounter++;
66102 if (frame < 10)
66103 {
66104 frame = 10;
66105 frameCounter = 0;
66106 }
66107 if (frameCounter > 3)
66108 {
66109 frameCounter = 0;
66110 frame++;
66111 if (frame >= Main.projFrames[type])
66112 {
66113 frame = 10;
66114 }
66115 }
66116 rotation = velocity.X * 0.125f;
66117 }
66118 else if (type == 899)
66119 {
66120 spriteDirection = -1;
66121 if (velocity.X > 0f)
66122 {
66123 spriteDirection = 1;
66124 }
66125 frameCounter++;
66126 if (frame < 10)
66127 {
66128 frame = 10;
66129 frameCounter = 0;
66130 }
66131 if (frameCounter > 3)
66132 {
66133 frameCounter = 0;
66134 frame++;
66135 if (frame >= Main.projFrames[type])
66136 {
66137 frame = 10;
66138 }
66139 }
66140 Vector2 v = velocity;
66141 ((Vector2)(ref v)).Normalize();
66142 rotation = v.ToRotation();
66143 if (velocity.X < 0f)
66144 {
66145 rotation += (float)Math.PI;
66146 }
66147 }
66148 else if (type == 897)
66149 {
66150 spriteDirection = 1;
66151 frameCounter++;
66152 if (frame < 8)
66153 {
66154 frame = 8;
66155 frameCounter = 0;
66156 }
66157 if (frameCounter > 3)
66158 {
66159 frameCounter = 0;
66160 frame++;
66161 if (frame >= Main.projFrames[type])
66162 {
66163 frame = 8;
66164 }
66165 }
66166 Vector2 v4 = velocity;
66167 ((Vector2)(ref v4)).Normalize();
66168 rotation = v4.ToRotation() + (float)Math.PI / 2f;
66169 }
66170 else if (type == 891)
66171 {
66172 spriteDirection = 1;
66173 frameCounter++;
66174 if (frame < 9)
66175 {
66176 frame = 9;
66177 frameCounter = 0;
66178 }
66179 if (frameCounter > 3)
66180 {
66181 frameCounter = 0;
66182 frame++;
66183 if (frame >= Main.projFrames[type])
66184 {
66185 frame = 9;
66186 }
66187 }
66188 Vector2 v5 = velocity;
66189 ((Vector2)(ref v5)).Normalize();
66190 rotation = v5.ToRotation() + (float)Math.PI / 2f;
66191 }
66192 else if (type == 890)
66193 {
66194 spriteDirection = -1;
66195 if (velocity.X > 0f)
66196 {
66197 spriteDirection = 1;
66198 }
66199 frameCounter++;
66200 if (frame < 9)
66201 {
66202 frame = 9;
66203 frameCounter = 0;
66204 }
66205 if (frameCounter > 3)
66206 {
66207 frameCounter = 0;
66208 frame++;
66209 if (frame >= Main.projFrames[type])
66210 {
66211 frame = 9;
66212 }
66213 }
66214 rotation = velocity.X * 0.025f;
66215 }
66216 else if (type == 884)
66217 {
66218 spriteDirection = -1;
66219 if (velocity.X > 0f)
66220 {
66221 spriteDirection = 1;
66222 }
66223 frameCounter++;
66224 if (frame < 9)
66225 {
66226 frame = 9;
66227 frameCounter = 0;
66228 }
66229 if (frameCounter > 3)
66230 {
66231 frameCounter = 0;
66232 frame++;
66233 if (frame >= Main.projFrames[type])
66234 {
66235 frame = 9;
66236 }
66237 }
66238 Vector2 v6 = velocity;
66239 ((Vector2)(ref v6)).Normalize();
66240 rotation = v6.ToRotation() + (float)Math.PI / 2f;
66241 }
66242 else if (type == 881 || type == 934)
66243 {
66244 int num197 = 1226;
66245 if (type == 934)
66246 {
66247 num197 = 1261;
66248 }
66249 if (frame < 6 || frame > 11)
66250 {
66251 Gore.NewGore(new Vector2(base.Center.X, position.Y), velocity * 0.5f, num197);
66252 }
66253 frameCounter++;
66254 if (frameCounter > 4)
66255 {
66256 frame++;
66257 frameCounter = 0;
66258 }
66259 if (frame < 6 || frame > 11)
66260 {
66261 frame = 6;
66262 }
66263 Vector2 v7 = velocity;
66264 ((Vector2)(ref v7)).Normalize();
66265 rotation = v7.ToRotation() + (float)Math.PI / 2f;
66266 }
66267 else if (type == 875)
66268 {
66269 if (++frameCounter > 4)
66270 {
66271 frame++;
66272 frameCounter = 0;
66273 }
66274 if (frame < 7 || frame > 10)
66275 {
66276 frame = 7;
66277 }
66278 Vector2 v8 = velocity;
66279 ((Vector2)(ref v8)).Normalize();
66280 rotation = v8.ToRotation() + ((spriteDirection == -1) ? 0f : ((float)Math.PI));
66281 }
66282 else if (type == 825)
66283 {
66284 if (++frameCounter > 4)
66285 {
66286 frame++;
66287 frameCounter = 0;
66288 }
66289 if (frame < 21 || frame > 25)
66290 {
66291 frame = 21;
66292 }
66293 rotation = velocity.X * 0.025f;
66294 }
66295 else if (type == 854)
66296 {
66297 if (frame < 13)
66298 {
66299 Gore.NewGore(new Vector2(base.Center.X, position.Y), velocity * 0.5f, 1269);
66300 }
66301 if (++frameCounter > 4)
66302 {
66303 frame++;
66304 frameCounter = 0;
66305 }
66306 if (frame < 13 || frame > 18)
66307 {
66308 frame = 13;
66309 }
66310 Vector2 v9 = velocity;
66311 ((Vector2)(ref v9)).Normalize();
66312 rotation = v9.ToRotation() + (float)Math.PI / 2f;
66313 }
66314 else if (type == 858)
66315 {
66316 if (++frameCounter > 4)
66317 {
66318 frame++;
66319 frameCounter = 0;
66320 }
66321 if (frame < 10 || frame > 13)
66322 {
66323 frame = 10;
66324 }
66325 Vector2 v10 = velocity;
66326 ((Vector2)(ref v10)).Normalize();
66327 rotation = v10.ToRotation() + ((spriteDirection == -1) ? 0f : ((float)Math.PI));
66328 }
66329 else if (type == 859)
66330 {
66331 if (++frameCounter > 4)
66332 {
66333 frame++;
66334 frameCounter = 0;
66335 }
66336 if (frame < 18 || frame > 23)
66337 {
66338 frame = 18;
66339 }
66340 rotation = velocity.X * 0.025f;
66341 }
66342 else if (type == 860)
66343 {
66344 if (frame < 6)
66345 {
66346 frame = 8;
66347 frameCounter = 0;
66348 }
66349 if (++frameCounter > 4)
66350 {
66351 frame++;
66352 frameCounter = 0;
66353 }
66354 if (frame > 13)
66355 {
66356 frame = 6;
66357 }
66358 Vector2 v11 = velocity;
66359 ((Vector2)(ref v11)).Normalize();
66360 rotation = v11.ToRotation() + (float)Math.PI / 2f;
66361 }
66362 else if (type == 816)
66363 {
66364 if (++frameCounter > 4)
66365 {
66366 frame++;
66367 frameCounter = 0;
66368 }
66369 if (frame < 11 || frame > 16)
66370 {
66371 frame = 11;
66372 }
66373 rotation = velocity.X * 0.025f;
66374 }
66375 else if (type == 821)
66376 {
66377 if (++frameCounter > 4)
66378 {
66379 frame++;
66380 frameCounter = 0;
66381 }
66382 if (frame < 19 || frame > 22)
66383 {
66384 frame = 19;
66385 }
66386 rotation = velocity.X * 0.025f;
66387 }
66388 else if (type == 958)
66389 {
66390 spriteDirection = -1;
66391 if (velocity.X > 0f)
66392 {
66393 spriteDirection = 1;
66394 }
66395 if (frame < 13)
66396 {
66397 frame = 13;
66398 frameCounter = 0;
66399 }
66400 if (++frameCounter > 4)
66401 {
66402 frame++;
66403 frameCounter = 0;
66404 }
66405 if (frame > 16)
66406 {
66407 frame = 13;
66408 }
66409 rotation = MathHelper.Clamp(velocity.X * 0.025f, -0.4f, 0.4f);
66410 }
66411 else if (type == 960)
66412 {
66413 spriteDirection = -1;
66414 if (velocity.X > 0f)
66415 {
66416 spriteDirection = 1;
66417 }
66418 frame = 4;
66419 frameCounter = 0;
66420 Vector2 v2 = velocity;
66421 ((Vector2)(ref v2)).Normalize();
66422 rotation = v2.ToRotation() + (float)Math.PI / 2f;
66423 }
66424 else if (type == 959)
66425 {
66426 spriteDirection = -1;
66427 if (velocity.X > 0f)
66428 {
66429 spriteDirection = 1;
66430 }
66431 frame = 11;
66432 frameCounter = 0;
66433 rotation = MathHelper.Clamp(velocity.X * 0.025f, -0.4f, 0.4f);
66434 float num198 = Vector2.Dot(velocity.SafeNormalize(Vector2.UnitX), new Vector2(0f, -1f));
66435 if (num198 > 0f && Main.rand.NextFloat() < 0.3f + num198 * 0.3f)
66436 {
66437 Dust dust = Dust.NewDustDirect(position, width, height, 16, velocity.X * 0.7f, velocity.Y * 1.2f, 150, default(Color), 0.6f);
66438 dust.noGravity = true;
66439 dust.fadeIn = 1f;
66440 dust.velocity.X = velocity.X * 0.3f;
66441 dust.position = base.Top + new Vector2(0f, -10f) + new Vector2(Main.rand.NextFloatDirection() * 30f, Main.rand.NextFloatDirection() * 10f);
66442 dust.velocity *= 0.7f;
66443 dust.position += dust.velocity * 2f;
66444 }
66445 }
66446 else if (type == 994)
66447 {
66448 spriteDirection = -1;
66449 if (velocity.X > 0f)
66450 {
66451 spriteDirection = 1;
66452 }
66453 frameCounter++;
66454 if (frameCounter > 5)
66455 {
66456 frame++;
66457 frameCounter = 0;
66458 }
66459 if (frame < 13 || frame > 15)
66460 {
66461 frame = 13;
66462 }
66463 rotation = MathHelper.Clamp(velocity.X * 0.025f, -0.4f, 0.4f);
66464 }
66465 else if (type == 998)
66466 {
66467 spriteDirection = 1;
66468 if (velocity.X > 0f)
66469 {
66470 spriteDirection = -1;
66471 }
66472 frameCounter++;
66473 if (frameCounter > 4)
66474 {
66475 frame++;
66476 frameCounter = 0;
66477 }
66479 {
66480 frame = 6;
66481 }
66482 rotation = MathHelper.Clamp(velocity.X * 0.025f, -0.4f, 0.4f);
66483 }
66484 else if (type == 1003)
66485 {
66486 spriteDirection = 1;
66487 if (velocity.X > 0f)
66488 {
66489 spriteDirection = -1;
66490 }
66491 frameCounter++;
66492 if (frameCounter > 3)
66493 {
66494 frame++;
66495 frameCounter = 0;
66496 }
66497 if (frame < 12 || frame > 15)
66498 {
66499 frame = 12;
66500 }
66501 rotation = MathHelper.Clamp(velocity.X * 0.025f, -0.35f, 0.35f);
66502 }
66503 else if (type == 1004)
66504 {
66505 spriteDirection = 1;
66506 if (velocity.X > 0f)
66507 {
66508 spriteDirection = -1;
66509 }
66510 frameCounter++;
66511 if (frameCounter > 3)
66512 {
66513 frame++;
66514 frameCounter = 0;
66515 }
66516 if (frame < 10 || frame > 14)
66517 {
66518 frame = 10;
66519 }
66520 rotation = MathHelper.Clamp(velocity.X * 0.025f, -0.35f, 0.35f);
66521 }
66522 else if (type == 112)
66523 {
66524 if (spriteDirection == -1)
66525 {
66526 rotation = (float)Math.Atan2(velocity.Y, velocity.X) + 1.57f;
66527 }
66528 else
66529 {
66530 rotation = (float)Math.Atan2(velocity.Y, velocity.X) + 1.57f;
66531 }
66532 }
66533 else if (type >= 390 && type <= 392)
66534 {
66535 int num199 = (int)(base.Center.X / 16f);
66536 int num200 = (int)(base.Center.Y / 16f);
66537 if (Main.tile[num199, num200] != null && Main.tile[num199, num200].wall > 0)
66538 {
66539 rotation = velocity.ToRotation() + (float)Math.PI / 2f;
66540 frameCounter += (int)(Math.Abs(velocity.X) + Math.Abs(velocity.Y));
66541 if (frameCounter > 5)
66542 {
66543 frame++;
66544 frameCounter = 0;
66545 }
66546 if (frame > 7)
66547 {
66548 frame = 4;
66549 }
66550 if (frame < 4)
66551 {
66552 frame = 7;
66553 }
66554 }
66555 else
66556 {
66557 frameCounter++;
66558 if (frameCounter > 2)
66559 {
66560 frame++;
66561 frameCounter = 0;
66562 }
66563 if (frame < 8 || frame > 10)
66564 {
66565 frame = 8;
66566 }
66567 rotation = velocity.X * 0.1f;
66568 }
66569 }
66570 else if (type == 334)
66571 {
66572 frameCounter++;
66573 if (frameCounter > 1)
66574 {
66575 frame++;
66576 frameCounter = 0;
66577 }
66578 if (frame < 7 || frame > 10)
66579 {
66580 frame = 7;
66581 }
66582 rotation = velocity.X * 0.1f;
66583 }
66584 else if (type == 353)
66585 {
66586 frameCounter++;
66587 if (frameCounter > 6)
66588 {
66589 frame++;
66590 frameCounter = 0;
66591 }
66592 if (frame < 10 || frame > 13)
66593 {
66594 frame = 10;
66595 }
66596 rotation = velocity.X * 0.05f;
66597 }
66598 else if (type == 127)
66599 {
66600 frameCounter += 3;
66601 if (frameCounter > 6)
66602 {
66603 frame++;
66604 frameCounter = 0;
66605 }
66606 if (frame <= 5 || frame > 15)
66607 {
66608 frame = 6;
66609 }
66610 rotation = velocity.X * 0.1f;
66611 }
66612 else if (type == 269)
66613 {
66614 if (frame == 6)
66615 {
66616 frameCounter = 0;
66617 }
66618 else if (frame < 4 || frame > 6)
66619 {
66620 frameCounter = 0;
66621 frame = 4;
66622 }
66623 else
66624 {
66625 frameCounter++;
66626 if (frameCounter > 6)
66627 {
66628 frame++;
66629 frameCounter = 0;
66630 }
66631 }
66632 rotation = velocity.X * 0.05f;
66633 }
66634 else if (type == 266)
66635 {
66636 frameCounter++;
66637 if (frameCounter > 6)
66638 {
66639 frame++;
66640 frameCounter = 0;
66641 }
66643 {
66644 frame = 2;
66645 }
66646 rotation = velocity.X * 0.1f;
66647 }
66648 else if (type == 324)
66649 {
66650 frameCounter++;
66651 if (frameCounter > 1)
66652 {
66653 frame++;
66654 frameCounter = 0;
66655 }
66657 {
66658 frame = 6;
66659 }
66660 rotation = (float)Math.Atan2(velocity.Y, velocity.X) + 1.58f;
66661 Lighting.AddLight((int)base.Center.X / 16, (int)base.Center.Y / 16, 0.9f, 0.6f, 0.2f);
66662 for (int num3 = 0; num3 < 2; num3++)
66663 {
66664 int num4 = 4;
66665 int num5 = Dust.NewDust(new Vector2(base.Center.X - (float)num4, base.Center.Y - (float)num4) - velocity * 0f, num4 * 2, num4 * 2, 6, 0f, 0f, 100);
66666 Main.dust[num5].scale *= 1.8f + (float)Main.rand.Next(10) * 0.1f;
66667 Dust obj2 = Main.dust[num5];
66668 obj2.velocity *= 0.2f;
66669 if (num3 == 1)
66670 {
66671 Dust obj3 = Main.dust[num5];
66672 obj3.position -= velocity * 0.5f;
66673 }
66674 Main.dust[num5].noGravity = true;
66675 num5 = Dust.NewDust(new Vector2(base.Center.X - (float)num4, base.Center.Y - (float)num4) - velocity * 0f, num4 * 2, num4 * 2, 31, 0f, 0f, 100, default(Color), 0.5f);
66676 Main.dust[num5].fadeIn = 1f + (float)Main.rand.Next(5) * 0.1f;
66677 Dust obj4 = Main.dust[num5];
66678 obj4.velocity *= 0.05f;
66679 if (num3 == 1)
66680 {
66681 Dust obj5 = Main.dust[num5];
66682 obj5.position -= velocity * 0.5f;
66683 }
66684 }
66685 }
66686 else if (type == 268)
66687 {
66688 frameCounter++;
66689 if (frameCounter > 4)
66690 {
66691 frame++;
66692 frameCounter = 0;
66693 }
66695 {
66696 frame = 6;
66697 }
66698 rotation = (float)Math.Atan2(velocity.Y, velocity.X) + 1.58f;
66699 }
66700 else if (type == 200)
66701 {
66702 frameCounter += 3;
66703 if (frameCounter > 6)
66704 {
66705 frame++;
66706 frameCounter = 0;
66707 }
66709 {
66710 frame = 6;
66711 }
66712 rotation = velocity.X * 0.1f;
66713 }
66714 else if (type == 208)
66715 {
66716 rotation = velocity.X * 0.075f;
66717 frameCounter++;
66718 if (frameCounter > 6)
66719 {
66720 frame++;
66721 frameCounter = 0;
66722 }
66723 if (frame > 4)
66724 {
66725 frame = 1;
66726 }
66727 if (frame < 1)
66728 {
66729 frame = 1;
66730 }
66731 }
66732 else if (type == 236)
66733 {
66734 rotation = velocity.Y * 0.05f * (float)direction;
66735 if (velocity.Y < 0f)
66736 {
66737 frameCounter += 2;
66738 }
66739 else
66740 {
66741 frameCounter++;
66742 }
66743 if (frameCounter >= 6)
66744 {
66745 frame++;
66746 frameCounter = 0;
66747 }
66748 if (frame > 12)
66749 {
66750 frame = 9;
66751 }
66752 if (frame < 9)
66753 {
66754 frame = 9;
66755 }
66756 }
66757 else if (type == 499)
66758 {
66759 rotation = velocity.Y * 0.05f * (float)direction;
66760 if (velocity.Y < 0f)
66761 {
66762 frameCounter += 2;
66763 }
66764 else
66765 {
66766 frameCounter++;
66767 }
66768 if (frameCounter >= 6)
66769 {
66770 frame++;
66771 frameCounter = 0;
66772 }
66773 if (frame >= 12)
66774 {
66775 frame = 8;
66776 }
66777 if (frame < 8)
66778 {
66779 frame = 8;
66780 }
66781 }
66782 else if (type == 765)
66783 {
66784 rotation = velocity.Y * 0.05f * (float)direction;
66785 frameCounter++;
66786 if (frameCounter >= 8)
66787 {
66788 frame++;
66789 frameCounter = 0;
66790 }
66791 if (frame >= 10)
66792 {
66793 frame = 8;
66794 }
66795 if (frame < 6)
66796 {
66797 frame = 6;
66798 }
66799 }
66800 else if (type == 314)
66801 {
66802 rotation = (float)Math.Atan2(velocity.Y, velocity.X) + 1.58f;
66803 frameCounter++;
66804 if (frameCounter >= 3)
66805 {
66806 frame++;
66807 frameCounter = 0;
66808 }
66809 if (frame > 12)
66810 {
66811 frame = 7;
66812 }
66813 if (frame < 7)
66814 {
66815 frame = 7;
66816 }
66817 }
66818 else if (type == 319)
66819 {
66820 rotation = velocity.X * 0.05f;
66821 frameCounter++;
66822 if (frameCounter >= 6)
66823 {
66824 frame++;
66825 frameCounter = 0;
66826 }
66827 if (frame > 10)
66828 {
66829 frame = 6;
66830 }
66831 if (frame < 6)
66832 {
66833 frame = 6;
66834 }
66835 }
66836 else if (type == 210)
66837 {
66838 rotation = (float)Math.Atan2(velocity.Y, velocity.X) + 1.58f;
66839 frameCounter += 3;
66840 if (frameCounter > 6)
66841 {
66842 frame++;
66843 frameCounter = 0;
66844 }
66845 if (frame > 11)
66846 {
66847 frame = 7;
66848 }
66849 if (frame < 7)
66850 {
66851 frame = 7;
66852 }
66853 }
66854 else if (type == 313)
66855 {
66856 position.Y += height;
66857 height = 54;
66858 position.Y -= height;
66859 position.X += width / 2;
66860 width = 54;
66861 position.X -= width / 2;
66862 rotation += velocity.X * 0.01f;
66863 frameCounter = 0;
66864 frame = 11;
66865 }
66866 else if (type == 398)
66867 {
66868 if ((double)velocity.X > 0.5)
66869 {
66870 spriteDirection = 1;
66871 }
66872 else if ((double)velocity.X < -0.5)
66873 {
66874 spriteDirection = -1;
66875 }
66876 frameCounter++;
66877 if (frameCounter > 1)
66878 {
66879 frame++;
66880 frameCounter = 0;
66881 }
66883 {
66884 frame = 6;
66885 }
66886 rotation = velocity.X * 0.1f;
66887 }
66888 else if (spriteDirection == -1)
66889 {
66890 rotation = (float)Math.Atan2(velocity.Y, velocity.X);
66891 }
66892 else
66893 {
66894 rotation = (float)Math.Atan2(velocity.Y, velocity.X) + 3.14f;
66895 }
66896 if (!flag13 && type != 499 && type != 765 && type != 816 && type != 821 && type != 825 && type != 859 && type != 881 && type != 884 && type != 890 && type != 891 && type != 900 && type != 934 && type != 958 && type != 959 && type != 960 && type != 994 && type != 998 && type != 1003 && type != 1004)
66897 {
66898 if (type == 899)
66899 {
66900 int num6 = 6;
66901 if (Main.rand.Next(4) == 0)
66902 {
66903 num6 = 31;
66904 }
66905 int num7 = Dust.NewDust(base.Center + new Vector2(-8f, 0f) - velocity * 0.25f, 15, 15, num6, (0f - velocity.X) * 0.5f, velocity.Y * 0.5f, 0, default(Color), 1.3f);
66906 Main.dust[num7].velocity.X = Main.dust[num7].velocity.X * 0.2f;
66907 Main.dust[num7].velocity.Y = Main.dust[num7].velocity.Y * 0.2f - 0.2f;
66908 Main.dust[num7].noGravity = true;
66909 }
66910 else if (type == 897)
66911 {
66912 int num8 = 6;
66913 if (Main.rand.Next(4) == 0)
66914 {
66915 num8 = 31;
66916 }
66917 int num9 = Dust.NewDust(base.Center + new Vector2(-8f, -8f) - velocity * 0.25f, 15, 15, num8, (0f - velocity.X) * 0.5f, velocity.Y * 0.5f, 0, default(Color), 1.3f);
66918 Main.dust[num9].velocity.X = Main.dust[num9].velocity.X * 0.2f;
66919 Main.dust[num9].velocity.Y = Main.dust[num9].velocity.Y * 0.2f - 0.2f;
66920 Main.dust[num9].noGravity = true;
66921 }
66922 else if (type == 875)
66923 {
66924 if (Main.rand.Next(3) == 0)
66925 {
66926 Gore.NewGorePerfect(base.Center + new Vector2(-10f + (float)Main.rand.Next(-20, 20) * 0.5f, -10f + (float)Main.rand.Next(-20, 20) * 0.5f), velocity * 0.1f, 1225, 0.5f + Main.rand.NextFloat() * 1f);
66927 Vector2 vector14 = Main.rand.NextVector2CircularEdge(2f, 2f) + velocity * -0.5f;
66928 vector14 *= 0.5f;
66929 int num10 = Dust.NewDust(base.Center - velocity * 1.5f - new Vector2(7f, 7f), 15, 15, 226, vector14.X, vector14.Y, 0, default(Color), 0.65f);
66930 Main.dust[num10].noGravity = true;
66931 }
66932 }
66933 else if (type == 860)
66934 {
66935 int num11 = Dust.NewDust(new Vector2(position.X + (float)(width / 2) - 4f, position.Y + (float)(height / 2) - 4f) + velocity, 8, 8, 27, (0f - velocity.X) * 0.5f, velocity.Y * 0.5f);
66936 Main.dust[num11].velocity.X = Main.dust[num11].velocity.X * 0.2f;
66937 Main.dust[num11].velocity.Y = Main.dust[num11].velocity.Y * 0.2f - 0.2f;
66938 Dust obj6 = Main.dust[num11];
66939 obj6.velocity += new Vector2((float)Main.rand.Next(-10, 10) * 0.4f, (float)Main.rand.Next(-10, 10) * 0.4f) * 0.5f;
66940 Main.dust[num11].noGravity = true;
66941 }
66942 else if (type == 858)
66943 {
66944 int num12 = 6;
66945 if (Main.rand.Next(4) == 0)
66946 {
66947 num12 = 31;
66948 }
66949 int num14 = Dust.NewDust(new Vector2(position.X + (float)(width / 2) - 4f, position.Y + (float)(height / 2) - 4f) - velocity, 10, 10, num12, (0f - velocity.X) * 0.5f, velocity.Y * 0.5f, 0, default(Color), 1.3f);
66950 Main.dust[num14].velocity.X = Main.dust[num14].velocity.X * 0.2f;
66951 Main.dust[num14].velocity.Y = Main.dust[num14].velocity.Y * 0.2f - 0.2f;
66952 Main.dust[num14].noGravity = true;
66953 }
66954 else if (type == 112)
66955 {
66956 int num15 = 6;
66957 if (Main.rand.Next(4) == 0)
66958 {
66959 num15 = 31;
66960 }
66961 Vector2 center3 = base.Center;
66962 Vector2 spinningpoint = new Vector2((float)(12 * spriteDirection), 4f);
66963 double radians = rotation;
66964 center2 = default(Vector2);
66965 int num16 = Dust.NewDust(center3 + Utils.RotatedBy(spinningpoint, radians, center2) + new Vector2(-5f, -5f), 10, 10, num15, (0f - velocity.X) * 0.5f, velocity.Y * 0.5f, 0, default(Color), 1.3f);
66966 Main.dust[num16].velocity.X = Main.dust[num16].velocity.X * 0.2f;
66967 Main.dust[num16].velocity.Y = Main.dust[num16].velocity.Y * 0.2f - 0.2f;
66968 Main.dust[num16].noGravity = true;
66969 }
66970 else if (type == 854)
66971 {
66972 if (Main.rand.Next(6) == 0)
66973 {
66974 Vector2 val2 = base.Center / 16f;
66975 int i2 = (int)val2.X;
66976 int num17 = (int)val2.Y;
66977 Tile tileSafely = Framing.GetTileSafely(i2, num17 + 1);
66978 if (!WorldGen.SolidTile(tileSafely) && tileSafely.liquid == 0)
66979 {
66980 Gore gore = Gore.NewGorePerfect(base.Center + new Vector2((float)Main.rand.Next(-30, 30) * 0.5f, (float)Main.rand.Next(-30, 30) * 0.5f), velocity * -0.2f, 910);
66981 gore.Frame.CurrentColumn = 0;
66982 gore.timeLeft = 1;
66983 }
66984 }
66985 }
66986 else if (type != 398 && type != 390 && type != 391 && type != 392 && type != 127 && type != 200 && type != 208 && type != 210 && type != 236 && type != 266 && type != 268 && type != 269 && type != 313 && type != 314 && type != 319 && type != 324 && type != 334 && type != 353)
66987 {
66988 int num18 = Dust.NewDust(new Vector2(position.X + (float)(width / 2) - 4f, position.Y + (float)(height / 2) - 4f) - velocity, 8, 8, 16, (0f - velocity.X) * 0.5f, velocity.Y * 0.5f, 50, default(Color), 1.7f);
66989 Main.dust[num18].velocity.X = Main.dust[num18].velocity.X * 0.2f;
66990 Main.dust[num18].velocity.Y = Main.dust[num18].velocity.Y * 0.2f;
66991 Main.dust[num18].noGravity = true;
66992 }
66993 }
66994 }
66995 else
66996 {
66997 if (flag13)
66998 {
66999 float num19 = 40 * minionPos;
67000 int num20 = 30;
67001 int num21 = 60;
67002 localAI[0] -= 1f;
67003 if (localAI[0] < 0f)
67004 {
67005 localAI[0] = 0f;
67006 }
67007 if (ai[1] > 0f)
67008 {
67009 ai[1] -= 1f;
67010 }
67011 else
67012 {
67013 float num22 = position.X;
67014 float num23 = position.Y;
67015 float num25 = 100000f;
67016 float num26 = num25;
67017 int num27 = -1;
67018 float num28 = 20f;
67020 if (ownerMinionAttackTargetNPC != null && ownerMinionAttackTargetNPC.CanBeChasedBy(this))
67021 {
67022 float num29 = ownerMinionAttackTargetNPC.position.X + (float)(ownerMinionAttackTargetNPC.width / 2);
67023 float num30 = ownerMinionAttackTargetNPC.position.Y + (float)(ownerMinionAttackTargetNPC.height / 2);
67024 float num31 = Math.Abs(position.X + (float)(width / 2) - num29) + Math.Abs(position.Y + (float)(height / 2) - num30);
67025 if (num31 < num25)
67026 {
67027 if (num27 == -1 && num31 <= num26)
67028 {
67029 num26 = num31;
67030 num22 = num29;
67031 num23 = num30;
67032 }
67034 {
67035 num25 = num31;
67036 num22 = num29;
67037 num23 = num30;
67039 }
67040 }
67041 }
67042 if (num27 == -1)
67043 {
67044 for (int num32 = 0; num32 < 200; num32++)
67045 {
67046 if (!Main.npc[num32].CanBeChasedBy(this))
67047 {
67048 continue;
67049 }
67050 float num33 = Main.npc[num32].position.X + (float)(Main.npc[num32].width / 2);
67051 float num34 = Main.npc[num32].position.Y + (float)(Main.npc[num32].height / 2);
67052 float num36 = Math.Abs(position.X + (float)(width / 2) - num33) + Math.Abs(position.Y + (float)(height / 2) - num34);
67053 if (num36 < num25)
67054 {
67055 if (num27 == -1 && num36 <= num26)
67056 {
67057 num26 = num36;
67058 num22 = num33 + Main.npc[num32].velocity.X * num28;
67059 num23 = num34 + Main.npc[num32].velocity.Y * num28;
67060 }
67061 if (Collision.CanHit(position, width, height, Main.npc[num32].position, Main.npc[num32].width, Main.npc[num32].height))
67062 {
67063 num25 = num36;
67064 num22 = num33 + Main.npc[num32].velocity.X * num28;
67065 num23 = num34 + Main.npc[num32].velocity.Y * num28;
67066 num27 = num32;
67067 }
67068 }
67069 }
67070 }
67071 if (num27 == -1 && num26 < num25)
67072 {
67073 num25 = num26;
67074 }
67075 float num37 = 400f;
67076 if ((double)position.Y > Main.worldSurface * 16.0)
67077 {
67078 num37 = 200f;
67079 }
67080 if (num25 < num37 + num19 && num27 == -1)
67081 {
67082 float num38 = num22 - (position.X + (float)(width / 2));
67083 if (num38 < -5f)
67084 {
67085 flag9 = true;
67086 flag10 = false;
67087 }
67088 else if (num38 > 5f)
67089 {
67090 flag10 = true;
67091 flag9 = false;
67092 }
67093 }
67094 else if (num27 >= 0 && num25 < 800f + num19)
67095 {
67096 localAI[0] = num21;
67097 float num39 = num22 - (position.X + (float)(width / 2));
67098 if (num39 > 450f || num39 < -450f)
67099 {
67100 if (num39 < -50f)
67101 {
67102 flag9 = true;
67103 flag10 = false;
67104 }
67105 else if (num39 > 50f)
67106 {
67107 flag10 = true;
67108 flag9 = false;
67109 }
67110 }
67111 else if (owner == Main.myPlayer)
67112 {
67113 ai[1] = num20;
67114 Vector2 vector2 = default(Vector2);
67115 ((Vector2)(ref vector2))._002Ector(position.X + (float)width * 0.5f, position.Y + (float)(height / 2) - 8f);
67116 float num40 = num22 - vector2.X + (float)Main.rand.Next(-20, 21);
67117 float num41 = Math.Abs(num40) * 0.1f;
67118 num41 = num41 * (float)Main.rand.Next(0, 100) * 0.001f;
67119 float num42 = num23 - vector2.Y + (float)Main.rand.Next(-20, 21) - num41;
67120 float num43 = (float)Math.Sqrt(num40 * num40 + num42 * num42);
67121 num43 = 11f / num43;
67122 num40 *= num43;
67123 num42 *= num43;
67124 int num44 = damage;
67125 int num45 = 195;
67127 Main.projectile[num47].timeLeft = 300;
67128 if (num40 < 0f)
67129 {
67130 direction = -1;
67131 }
67132 if (num40 > 0f)
67133 {
67134 direction = 1;
67135 }
67136 netUpdate = true;
67137 }
67138 }
67139 }
67140 }
67141 bool flag5 = false;
67142 Vector2 vector3 = Vector2.Zero;
67143 bool flag6 = false;
67144 if (type == 266 || (type >= 390 && type <= 392))
67145 {
67146 float num48 = 40 * minionPos;
67147 int num49 = 60;
67148 localAI[0] -= 1f;
67149 if (localAI[0] < 0f)
67150 {
67151 localAI[0] = 0f;
67152 }
67153 if (ai[1] > 0f)
67154 {
67155 ai[1] -= 1f;
67156 }
67157 else
67158 {
67159 float num50 = position.X;
67160 float num51 = position.Y;
67161 float num52 = 100000f;
67162 float num53 = num52;
67163 int num54 = -1;
67165 if (ownerMinionAttackTargetNPC2 != null && ownerMinionAttackTargetNPC2.CanBeChasedBy(this))
67166 {
67167 float x = ownerMinionAttackTargetNPC2.Center.X;
67168 float y = ownerMinionAttackTargetNPC2.Center.Y;
67169 float num55 = Math.Abs(position.X + (float)(width / 2) - x) + Math.Abs(position.Y + (float)(height / 2) - y);
67170 if (num55 < num52)
67171 {
67172 if (num54 == -1 && num55 <= num53)
67173 {
67174 num53 = num55;
67175 num50 = x;
67176 num51 = y;
67177 }
67179 {
67180 num52 = num55;
67181 num50 = x;
67182 num51 = y;
67184 }
67185 }
67186 }
67187 if (num54 == -1)
67188 {
67189 for (int num56 = 0; num56 < 200; num56++)
67190 {
67191 if (!Main.npc[num56].CanBeChasedBy(this))
67192 {
67193 continue;
67194 }
67195 float num58 = Main.npc[num56].position.X + (float)(Main.npc[num56].width / 2);
67196 float num59 = Main.npc[num56].position.Y + (float)(Main.npc[num56].height / 2);
67197 float num60 = Math.Abs(position.X + (float)(width / 2) - num58) + Math.Abs(position.Y + (float)(height / 2) - num59);
67198 if (num60 < num52)
67199 {
67200 if (num54 == -1 && num60 <= num53)
67201 {
67202 num53 = num60;
67203 num50 = num58;
67204 num51 = num59;
67205 }
67206 if (Collision.CanHit(position, width, height, Main.npc[num56].position, Main.npc[num56].width, Main.npc[num56].height))
67207 {
67208 num52 = num60;
67209 num50 = num58;
67210 num51 = num59;
67211 num54 = num56;
67212 }
67213 }
67214 }
67215 }
67216 if (type >= 390 && type <= 392 && !Collision.SolidCollision(position, width, height))
67217 {
67218 tileCollide = true;
67219 }
67220 if (num54 == -1 && num53 < num52)
67221 {
67222 num52 = num53;
67223 }
67224 else if (num54 >= 0)
67225 {
67226 flag5 = true;
67227 vector3 = new Vector2(num50, num51) - base.Center;
67228 if (type >= 390 && type <= 392)
67229 {
67230 if (Main.npc[num54].position.Y > position.Y + (float)height)
67231 {
67232 int num61 = (int)(base.Center.X / 16f);
67233 int num62 = (int)((position.Y + (float)height + 1f) / 16f);
67234 if (Main.tile[num61, num62] != null && Main.tile[num61, num62].active() && TileID.Sets.Platforms[Main.tile[num61, num62].type])
67235 {
67236 tileCollide = false;
67237 }
67238 }
67239 Rectangle rectangle = default(Rectangle);
67240 ((Rectangle)(ref rectangle))._002Ector((int)position.X, (int)position.Y, width, height);
67241 Rectangle value = default(Rectangle);
67242 ((Rectangle)(ref value))._002Ector((int)Main.npc[num54].position.X, (int)Main.npc[num54].position.Y, Main.npc[num54].width, Main.npc[num54].height);
67243 int num63 = 10;
67244 value.X -= num63;
67245 value.Y -= num63;
67246 value.Width += num63 * 2;
67247 value.Height += num63 * 2;
67248 if (((Rectangle)(ref rectangle)).Intersects(value))
67249 {
67250 flag6 = true;
67251 Vector2 vector4 = Main.npc[num54].Center - base.Center;
67252 if (velocity.Y > 0f && vector4.Y < 0f)
67253 {
67254 velocity.Y *= 0.5f;
67255 }
67256 if (velocity.Y < 0f && vector4.Y > 0f)
67257 {
67258 velocity.Y *= 0.5f;
67259 }
67260 if (velocity.X > 0f && vector4.X < 0f)
67261 {
67262 velocity.X *= 0.5f;
67263 }
67264 if (velocity.X < 0f && vector4.X > 0f)
67265 {
67266 velocity.X *= 0.5f;
67267 }
67268 if (((Vector2)(ref vector4)).Length() > 14f)
67269 {
67270 ((Vector2)(ref vector4)).Normalize();
67271 vector4 *= 14f;
67272 }
67273 rotation = (rotation * 5f + vector4.ToRotation() + (float)Math.PI / 2f) / 6f;
67274 velocity = (velocity * 9f + vector4) / 10f;
67275 for (int num64 = 0; num64 < 1000; num64++)
67276 {
67277 if (whoAmI == num64 || owner != Main.projectile[num64].owner || Main.projectile[num64].type < 390 || Main.projectile[num64].type > 392)
67278 {
67279 continue;
67280 }
67281 center2 = Main.projectile[num64].Center - base.Center;
67282 if (((Vector2)(ref center2)).Length() < 15f)
67283 {
67284 float num65 = 0.5f;
67285 if (base.Center.Y > Main.projectile[num64].Center.Y)
67286 {
67287 Main.projectile[num64].velocity.Y -= num65;
67288 velocity.Y += num65;
67289 }
67290 else
67291 {
67292 Main.projectile[num64].velocity.Y += num65;
67293 velocity.Y -= num65;
67294 }
67295 if (base.Center.X > Main.projectile[num64].Center.X)
67296 {
67297 velocity.X += num65;
67298 Main.projectile[num64].velocity.X -= num65;
67299 }
67300 else
67301 {
67302 velocity.X -= num65;
67303 Main.projectile[num64].velocity.Y += num65;
67304 }
67305 }
67306 }
67307 }
67308 }
67309 }
67310 float num66 = 300f;
67311 if ((double)position.Y > Main.worldSurface * 16.0)
67312 {
67313 num66 = 150f;
67314 }
67315 if (type >= 390 && type <= 392)
67316 {
67317 num66 = 500f;
67318 if ((double)position.Y > Main.worldSurface * 16.0)
67319 {
67320 num66 = 250f;
67321 }
67322 }
67323 if (num52 < num66 + num48 && num54 == -1)
67324 {
67325 float num67 = num50 - (position.X + (float)(width / 2));
67326 if (num67 < -5f)
67327 {
67328 flag9 = true;
67329 flag10 = false;
67330 }
67331 else if (num67 > 5f)
67332 {
67333 flag10 = true;
67334 flag9 = false;
67335 }
67336 }
67337 bool flag7 = false;
67338 if (type >= 390 && type <= 392 && localAI[1] > 0f)
67339 {
67340 flag7 = true;
67341 localAI[1] -= 1f;
67342 }
67343 if (num54 >= 0 && num52 < 800f + num48)
67344 {
67345 friendly = true;
67346 localAI[0] = num49;
67347 float num68 = num50 - (position.X + (float)(width / 2));
67348 if (num68 < -10f)
67349 {
67350 flag9 = true;
67351 flag10 = false;
67352 }
67353 else if (num68 > 10f)
67354 {
67355 flag10 = true;
67356 flag9 = false;
67357 }
67359 {
67360 float num69 = Math.Abs(num51 - base.Center.Y);
67361 if (num69 < 120f)
67362 {
67363 velocity.Y = -10f;
67364 }
67365 else if (num69 < 210f)
67366 {
67367 velocity.Y = -13f;
67368 }
67369 else if (num69 < 270f)
67370 {
67371 velocity.Y = -15f;
67372 }
67373 else if (num69 < 310f)
67374 {
67375 velocity.Y = -17f;
67376 }
67377 else if (num69 < 380f)
67378 {
67379 velocity.Y = -18f;
67380 }
67381 }
67382 if (flag7)
67383 {
67384 friendly = false;
67385 if (velocity.X < 0f)
67386 {
67387 flag9 = true;
67388 }
67389 else if (velocity.X > 0f)
67390 {
67391 flag10 = true;
67392 }
67393 }
67394 }
67395 else
67396 {
67397 friendly = false;
67398 }
67399 }
67400 }
67401 if (ai[1] != 0f)
67402 {
67403 flag9 = false;
67404 flag10 = false;
67405 }
67406 else if (flag13 && localAI[0] == 0f)
67407 {
67408 direction = Main.player[owner].direction;
67409 }
67410 else if (type >= 390 && type <= 392)
67411 {
67412 int num70 = (int)(base.Center.X / 16f);
67413 int num71 = (int)(base.Center.Y / 16f);
67414 if (Main.tile[num70, num71] != null && Main.tile[num70, num71].wall > 0)
67415 {
67416 flag9 = (flag10 = false);
67417 }
67418 }
67419 if (type == 127)
67420 {
67421 if ((double)rotation > -0.1 && (double)rotation < 0.1)
67422 {
67423 rotation = 0f;
67424 }
67425 else if (rotation < 0f)
67426 {
67427 rotation += 0.1f;
67428 }
67429 else
67430 {
67431 rotation -= 0.1f;
67432 }
67433 }
67434 else if (type != 313 && !flag6)
67435 {
67436 rotation = 0f;
67437 }
67438 if (type < 390 || type > 392)
67439 {
67440 tileCollide = true;
67441 }
67442 float num72 = 0.08f;
67443 float num73 = 6.5f;
67444 if (type == 127)
67445 {
67446 num73 = 2f;
67447 num72 = 0.04f;
67448 }
67449 if (type == 112)
67450 {
67451 num73 = 6f;
67452 num72 = 0.06f;
67453 }
67454 if (type == 334)
67455 {
67456 num73 = 8f;
67457 num72 = 0.08f;
67458 }
67459 if (type == 268)
67460 {
67461 num73 = 8f;
67462 num72 = 0.4f;
67463 }
67464 if (type == 324)
67465 {
67466 num72 = 0.1f;
67467 num73 = 3f;
67468 }
67469 if (type == 858)
67470 {
67471 num72 = 0.3f;
67472 num73 = 7f;
67473 }
67474 if (flag13 || type == 266 || (type >= 390 && type <= 392) || type == 816 || type == 821 || type == 825 || type == 859 || type == 860 || type == 881 || type == 884 || type == 890 || type == 891 || type == 897 || type == 899 || type == 900 || type == 934 || type == 956 || type == 958 || type == 959 || type == 960 || type == 994 || type == 998 || type == 1003 || type == 1004)
67475 {
67476 num73 = 6f;
67477 num72 = 0.2f;
67478 if (num73 < Math.Abs(Main.player[owner].velocity.X) + Math.Abs(Main.player[owner].velocity.Y))
67479 {
67480 num73 = Math.Abs(Main.player[owner].velocity.X) + Math.Abs(Main.player[owner].velocity.Y);
67481 num72 = 0.3f;
67482 }
67483 if (flag13)
67484 {
67485 num72 *= 2f;
67486 }
67487 }
67488 if (type == 875)
67489 {
67490 num73 = 7f;
67491 num72 = 0.25f;
67492 if (num73 < Math.Abs(Main.player[owner].velocity.X) + Math.Abs(Main.player[owner].velocity.Y))
67493 {
67494 num73 = Math.Abs(Main.player[owner].velocity.X) + Math.Abs(Main.player[owner].velocity.Y);
67495 num72 = 0.35f;
67496 }
67497 }
67498 if (type >= 390 && type <= 392)
67499 {
67500 num72 *= 2f;
67501 }
67502 if (flag14)
67503 {
67504 num73 = 6f;
67505 }
67506 if (flag9)
67507 {
67508 if ((double)velocity.X > -3.5)
67509 {
67510 velocity.X -= num72;
67511 }
67512 else
67513 {
67514 velocity.X -= num72 * 0.25f;
67515 }
67516 }
67517 else if (flag10)
67518 {
67519 if ((double)velocity.X < 3.5)
67520 {
67521 velocity.X += num72;
67522 }
67523 else
67524 {
67525 velocity.X += num72 * 0.25f;
67526 }
67527 }
67528 else
67529 {
67530 velocity.X *= 0.9f;
67531 if (velocity.X >= 0f - num72 && velocity.X <= num72)
67532 {
67533 velocity.X = 0f;
67534 }
67535 }
67536 if (type == 208)
67537 {
67538 velocity.X *= 0.95f;
67539 if ((double)velocity.X > -0.1 && (double)velocity.X < 0.1)
67540 {
67541 velocity.X = 0f;
67542 }
67543 flag9 = false;
67544 flag10 = false;
67545 }
67546 if (flag9 || flag10)
67547 {
67548 int num74 = (int)(position.X + (float)(width / 2)) / 16;
67549 int j2 = (int)(position.Y + (float)(height / 2)) / 16;
67550 if (type == 236)
67551 {
67552 num74 += direction;
67553 }
67554 if (flag9)
67555 {
67556 num74--;
67557 }
67558 if (flag10)
67559 {
67560 num74++;
67561 }
67562 num74 += (int)velocity.X;
67563 if (WorldGen.SolidTile(num74, j2))
67564 {
67565 flag12 = true;
67566 }
67567 }
67568 if (Main.player[owner].position.Y + (float)Main.player[owner].height - 8f > position.Y + (float)height)
67569 {
67570 flag11 = true;
67571 }
67572 if (type == 268 && frameCounter < 10)
67573 {
67574 flag12 = false;
67575 }
67576 if (type == 860 && velocity.X != 0f)
67577 {
67578 flag12 = true;
67579 }
67580 if ((type == 881 || type == 934) && velocity.X != 0f)
67581 {
67582 flag12 = true;
67583 }
67584 Collision.StepUp(ref position, ref velocity, width, height, ref stepSpeed, ref gfxOffY);
67585 if (velocity.Y == 0f || type == 200)
67586 {
67587 if (!flag11 && (velocity.X < 0f || velocity.X > 0f))
67588 {
67589 int num75 = (int)(position.X + (float)(width / 2)) / 16;
67590 int j3 = (int)(position.Y + (float)(height / 2)) / 16 + 1;
67591 if (flag9)
67592 {
67593 num75--;
67594 }
67595 if (flag10)
67596 {
67597 num75++;
67598 }
67599 WorldGen.SolidTile(num75, j3);
67600 }
67601 if (flag12)
67602 {
67603 int num76 = (int)(position.X + (float)(width / 2)) / 16;
67604 int num77 = (int)(position.Y + (float)height) / 16;
67605 if (WorldGen.SolidTileAllowBottomSlope(num76, num77) || Main.tile[num76, num77].halfBrick() || Main.tile[num76, num77].slope() > 0 || type == 200)
67606 {
67607 if (type == 200)
67608 {
67609 velocity.Y = -3.1f;
67610 }
67611 else
67612 {
67613 try
67614 {
67615 num76 = (int)(position.X + (float)(width / 2)) / 16;
67616 num77 = (int)(position.Y + (float)(height / 2)) / 16;
67617 if (flag9)
67618 {
67619 num76--;
67620 }
67621 if (flag10)
67622 {
67623 num76++;
67624 }
67625 num76 += (int)velocity.X;
67626 if (!WorldGen.SolidTile(num76, num77 - 1) && !WorldGen.SolidTile(num76, num77 - 2))
67627 {
67628 velocity.Y = -5.1f;
67629 }
67630 else if (!WorldGen.SolidTile(num76, num77 - 2))
67631 {
67632 velocity.Y = -7.1f;
67633 }
67634 else if (WorldGen.SolidTile(num76, num77 - 5))
67635 {
67636 velocity.Y = -11.1f;
67637 }
67638 else if (WorldGen.SolidTile(num76, num77 - 4))
67639 {
67640 velocity.Y = -10.1f;
67641 }
67642 else
67643 {
67644 velocity.Y = -9.1f;
67645 }
67646 }
67647 catch
67648 {
67649 velocity.Y = -9.1f;
67650 }
67651 }
67652 if (type == 127)
67653 {
67654 ai[0] = 1f;
67655 }
67656 }
67657 }
67658 else if (type == 266 && (flag9 || flag10))
67659 {
67660 velocity.Y -= 6f;
67661 }
67662 }
67663 if (velocity.X > num73)
67664 {
67665 velocity.X = num73;
67666 }
67667 if (velocity.X < 0f - num73)
67668 {
67669 velocity.X = 0f - num73;
67670 }
67671 if (velocity.X < 0f)
67672 {
67673 direction = -1;
67674 }
67675 if (velocity.X > 0f)
67676 {
67677 direction = 1;
67678 }
67679 if (velocity.X > num72 && flag10)
67680 {
67681 direction = 1;
67682 }
67683 if (velocity.X < 0f - num72 && flag9)
67684 {
67685 direction = -1;
67686 }
67687 if (type != 313)
67688 {
67689 if (direction == -1)
67690 {
67691 spriteDirection = 1;
67692 }
67693 if (direction == 1)
67694 {
67695 spriteDirection = -1;
67696 }
67697 }
67698 if (type == 398 || type == 958 || type == 960 || type == 956 || type == 959 || type == 994)
67699 {
67701 }
67702 bool flag8 = position.X - oldPosition.X == 0f;
67703 if (type == 956)
67704 {
67705 if (alpha > 0)
67706 {
67707 int num79 = Dust.NewDust(position, width, height, 6, velocity.X, velocity.Y, 0, default(Color), 1.2f);
67708 Main.dust[num79].velocity.X += Main.rand.NextFloat() - 0.5f;
67709 Main.dust[num79].velocity.Y += (Main.rand.NextFloat() + 0.5f) * -1f;
67710 if (Main.rand.Next(3) != 0)
67711 {
67712 Main.dust[num79].noGravity = true;
67713 }
67714 alpha -= 5;
67715 if (alpha < 0)
67716 {
67717 alpha = 0;
67718 }
67719 }
67720 if (velocity.Y != 0f)
67721 {
67722 frame = 10;
67723 }
67724 else if (flag8)
67725 {
67726 spriteDirection = 1;
67727 if (Main.player[owner].Center.X < base.Center.X)
67728 {
67729 spriteDirection = -1;
67730 }
67731 frame = 0;
67732 }
67733 else
67734 {
67735 float num80 = ((Vector2)(ref velocity)).Length();
67736 frameCounter += (int)num80;
67737 if (frameCounter > 7)
67738 {
67739 frame++;
67740 frameCounter = 0;
67741 }
67743 {
67744 frame = 1;
67745 }
67746 }
67747 velocity.Y += 0.4f;
67748 if (velocity.Y > 10f)
67749 {
67750 velocity.Y = 10f;
67751 }
67752 }
67753 else if (type == 958)
67754 {
67755 if (velocity.Y != 0f)
67756 {
67757 localAI[0] = 0f;
67758 frame = 4;
67759 }
67760 else if (flag8)
67761 {
67762 spriteDirection = 1;
67763 if (Main.player[owner].Center.X < base.Center.X)
67764 {
67765 spriteDirection = -1;
67766 }
67767 localAI[0] += 1f;
67768 if (localAI[0] > 200f)
67769 {
67770 frame = 1 + (int)(localAI[0] - 200f) / 6;
67771 if (localAI[0] >= 218f)
67772 {
67773 frame = 0;
67774 localAI[0] = Main.rand.Next(100);
67775 }
67776 }
67777 else
67778 {
67779 frame = 0;
67780 }
67781 }
67782 else
67783 {
67784 localAI[0] = 0f;
67785 float num81 = ((Vector2)(ref velocity)).Length();
67786 frameCounter += (int)num81;
67787 if (frameCounter > 6)
67788 {
67789 frame++;
67790 frameCounter = 0;
67791 }
67792 if (frame < 5 || frame > 12)
67793 {
67794 frame = 5;
67795 }
67796 }
67797 velocity.Y += 0.4f;
67798 if (velocity.Y > 10f)
67799 {
67800 velocity.Y = 10f;
67801 }
67802 }
67803 else if (type == 959)
67804 {
67805 if (velocity.Y != 0f)
67806 {
67807 frame = ((velocity.Y > 0f) ? 10 : 9);
67808 }
67809 else if (flag8)
67810 {
67811 spriteDirection = 1;
67812 if (Main.player[owner].Center.X < base.Center.X)
67813 {
67814 spriteDirection = -1;
67815 }
67816 frame = 0;
67817 }
67818 else
67819 {
67820 float num82 = ((Vector2)(ref velocity)).Length();
67821 frameCounter += (int)num82;
67822 if (frameCounter > 6)
67823 {
67824 frame++;
67825 frameCounter = 0;
67826 }
67828 {
67829 frame = 1;
67830 }
67831 }
67832 velocity.Y += 0.4f;
67833 if (velocity.Y > 10f)
67834 {
67835 velocity.Y = 10f;
67836 }
67837 }
67838 else if (type == 998)
67839 {
67840 if (velocity.Y != 0f)
67841 {
67842 frame = 1;
67843 }
67844 else if (flag8)
67845 {
67846 spriteDirection = -1;
67847 if (Main.player[owner].Center.X < base.Center.X)
67848 {
67849 spriteDirection = 1;
67850 }
67851 frame = 0;
67852 }
67853 else
67854 {
67855 float num83 = ((Vector2)(ref velocity)).Length();
67856 frameCounter += (int)num83;
67857 if (frameCounter > 6)
67858 {
67859 frame++;
67860 frameCounter = 0;
67861 }
67863 {
67864 frame = 0;
67865 }
67866 }
67867 velocity.Y += 0.4f;
67868 if (velocity.Y > 10f)
67869 {
67870 velocity.Y = 10f;
67871 }
67872 }
67873 else if (type == 1003)
67874 {
67875 if (velocity.Y != 0f)
67876 {
67877 frame = 1;
67878 }
67879 else if (flag8)
67880 {
67881 spriteDirection = -1;
67882 if (Main.player[owner].Center.X < base.Center.X)
67883 {
67884 spriteDirection = 1;
67885 }
67886 frame = 0;
67887 }
67888 else
67889 {
67890 float num84 = ((Vector2)(ref velocity)).Length();
67891 frameCounter += (int)num84;
67892 if (frameCounter > 6)
67893 {
67894 frame++;
67895 frameCounter = 0;
67896 }
67897 if (frame < 2 || frame > 11)
67898 {
67899 frame = 2;
67900 }
67901 }
67902 velocity.Y += 0.4f;
67903 if (velocity.Y > 10f)
67904 {
67905 velocity.Y = 10f;
67906 }
67907 }
67908 else if (type == 1004)
67909 {
67910 if (velocity.Y != 0f)
67911 {
67912 frame = 1;
67913 }
67914 else if (flag8)
67915 {
67916 spriteDirection = -1;
67917 if (Main.player[owner].Center.X < base.Center.X)
67918 {
67919 spriteDirection = 1;
67920 }
67921 frame = 0;
67922 }
67923 else
67924 {
67925 float num85 = ((Vector2)(ref velocity)).Length();
67926 frameCounter += (int)num85;
67927 if (frameCounter > 6)
67928 {
67929 frame++;
67930 frameCounter = 0;
67931 }
67933 {
67934 frame = 2;
67935 }
67936 }
67937 velocity.Y += 0.4f;
67938 if (velocity.Y > 10f)
67939 {
67940 velocity.Y = 10f;
67941 }
67942 }
67943 else if (type == 994)
67944 {
67945 if (velocity.Y != 0f)
67946 {
67947 frame = 4;
67948 }
67949 else if (flag8)
67950 {
67951 spriteDirection = 1;
67952 if (Main.player[owner].Center.X < base.Center.X)
67953 {
67954 spriteDirection = -1;
67955 }
67956 frameCounter++;
67957 if (frameCounter > 5)
67958 {
67959 frame++;
67960 frameCounter = 0;
67961 }
67962 if (frame > 3)
67963 {
67964 frame = 0;
67965 }
67966 }
67967 else
67968 {
67969 float num86 = ((Vector2)(ref velocity)).Length();
67970 frameCounter += (int)num86;
67971 if (frameCounter > 6)
67972 {
67973 frame++;
67974 frameCounter = 0;
67975 }
67976 if (frame < 5 || frame > 12)
67977 {
67978 frame = 5;
67979 }
67980 }
67981 velocity.Y += 0.4f;
67982 if (velocity.Y > 10f)
67983 {
67984 velocity.Y = 10f;
67985 }
67986 }
67987 else if (type == 960)
67988 {
67989 _ = Main.player[owner];
67990 if (velocity.Y != 0f)
67991 {
67992 localAI[0] = 0f;
67993 localAI[1] = 0f;
67994 frameCounter = 0;
67995 frame = 4;
67996 }
67997 else if (flag8)
67998 {
67999 if (!flag14)
68000 {
68001 spriteDirection = 1;
68002 if (Main.player[owner].Center.X < base.Center.X)
68003 {
68004 spriteDirection = -1;
68005 }
68006 }
68007 if (frame >= 5 && frame < 12)
68008 {
68009 frameCounter++;
68010 if (frameCounter > 3)
68011 {
68012 frame++;
68013 frameCounter = 0;
68014 }
68015 if (frame >= 12)
68016 {
68017 frame = 0;
68018 }
68019 }
68021 {
68022 if (localAI[0] == 0f)
68023 {
68024 if (localAI[1] == 0f)
68025 {
68026 localAI[1] = 1f;
68027 frameCounter = 0;
68028 }
68029 frame = 13;
68030 frameCounter++;
68031 if (frameCounter > 6)
68032 {
68033 localAI[0] = 1f;
68034 frame = 14;
68035 frameCounter = 0;
68036 }
68037 }
68038 else
68039 {
68040 frameCounter++;
68041 if (frameCounter > 6)
68042 {
68043 frame++;
68044 if (frame > 18)
68045 {
68046 frame = 14;
68047 }
68048 frameCounter = 0;
68049 }
68050 }
68051 }
68052 else
68053 {
68054 localAI[0] = 0f;
68055 if (localAI[1] == 1f)
68056 {
68057 localAI[1] = 0f;
68058 frameCounter = 0;
68059 }
68060 if (frame >= 12 && frame <= 19)
68061 {
68062 frame = 19;
68063 frameCounter++;
68064 if (frameCounter > 6)
68065 {
68066 frame = 0;
68067 frameCounter = 0;
68068 }
68069 }
68070 else
68071 {
68072 frameCounter++;
68073 if (frameCounter >= 24)
68074 {
68075 frameCounter = 0;
68076 }
68077 frame = frameCounter / 6;
68078 }
68079 }
68080 }
68081 else
68082 {
68083 localAI[0] = 0f;
68084 localAI[1] = 0f;
68085 float val = ((Vector2)(ref velocity)).Length();
68086 frameCounter += (int)Math.Max(2f, val);
68087 if (frameCounter > 6)
68088 {
68089 frame++;
68090 frameCounter = 0;
68091 }
68092 if (frame < 5 || frame > 12)
68093 {
68094 frame = 5;
68095 }
68096 }
68097 velocity.Y += 0.4f;
68098 if (velocity.Y > 10f)
68099 {
68100 velocity.Y = 10f;
68101 }
68102 }
68103 else if (type == 816)
68104 {
68105 if (velocity.Y != 0f)
68106 {
68107 frame = 4;
68108 }
68109 else if (flag8)
68110 {
68111 spriteDirection = -1;
68112 if (Main.player[owner].Center.X < base.Center.X)
68113 {
68114 spriteDirection = 1;
68115 }
68116 if (++frameCounter > 5)
68117 {
68118 frame++;
68119 frameCounter = 0;
68120 }
68122 {
68123 frame = 0;
68124 }
68125 }
68126 else
68127 {
68128 int num87 = 5;
68129 float num88 = ((Vector2)(ref velocity)).Length();
68130 if (num88 > 4f)
68131 {
68132 num87 = 3;
68133 }
68134 else if (num88 > 2f)
68135 {
68136 num87 = 4;
68137 }
68138 if (++frameCounter > num87)
68139 {
68140 frame++;
68141 frameCounter = 0;
68142 }
68143 if (frame < 4 || frame > 10)
68144 {
68145 frame = 4;
68146 }
68147 }
68148 velocity.Y += 0.4f;
68149 if (velocity.Y > 10f)
68150 {
68151 velocity.Y = 10f;
68152 }
68153 }
68154 if (type == 860)
68155 {
68156 if (velocity.Y != 0f)
68157 {
68158 localAI[0] = 0f;
68159 if (frame >= 5)
68160 {
68161 frame = 5;
68162 frameCounter = 0;
68163 }
68164 else if (++frameCounter > 5)
68165 {
68166 frame++;
68167 frameCounter = 0;
68168 }
68169 }
68170 else if (Math.Abs(velocity.X) < 1f)
68171 {
68172 if (localAI[0] > 800f)
68173 {
68174 frameCounter++;
68175 if (frameCounter > 3)
68176 {
68177 frameCounter = 0;
68178 frame++;
68179 if (frame > 3)
68180 {
68181 frame = 3;
68182 }
68183 }
68184 localAI[0] += 1f;
68185 if (localAI[0] > 850f)
68186 {
68187 localAI[0] = 0f;
68188 }
68189 if (frame == 3 && localAI[0] == 820f)
68190 {
68191 for (int num90 = 0; num90 < 3 + Main.rand.Next(3); num90++)
68192 {
68193 int num91 = Gore.NewGore(new Vector2(position.X, base.Center.Y - 10f), Vector2.Zero, 1218);
68194 Main.gore[num91].velocity = new Vector2((float)Main.rand.Next(1, 10) * 0.3f * (float)(-spriteDirection), 0f - (2f + (float)Main.rand.Next(4) * 0.3f));
68195 }
68196 }
68197 }
68198 else if (frame == 0)
68199 {
68200 localAI[0] += 1f;
68201 frame = 0;
68202 frameCounter = 0;
68203 }
68204 else
68205 {
68206 localAI[0] = 0f;
68207 if (frame > 5)
68208 {
68209 frame = 5;
68210 frameCounter = 0;
68211 }
68212 if (++frameCounter > 4)
68213 {
68214 frame--;
68215 frameCounter = 0;
68216 }
68217 }
68218 }
68219 velocity.Y += 0.4f;
68220 if (velocity.Y > 10f)
68221 {
68222 velocity.Y = 10f;
68223 }
68224 }
68225 if (type == 859)
68226 {
68227 if (velocity.Y != 0f)
68228 {
68229 frame = 4;
68230 }
68231 else if (flag8)
68232 {
68233 spriteDirection = -1;
68234 if (Main.player[owner].Center.X < base.Center.X)
68235 {
68236 spriteDirection = 1;
68237 }
68238 if (frame == 6)
68239 {
68240 if (++frameCounter > 5)
68241 {
68242 frame = 0;
68243 frameCounter = 0;
68244 }
68245 }
68246 else if (frame > 3)
68247 {
68248 frame = 6;
68249 frameCounter = 0;
68250 }
68251 else
68252 {
68253 if (++frameCounter > 5)
68254 {
68255 frame++;
68256 frameCounter = 0;
68257 }
68259 {
68260 frame = 0;
68261 }
68262 }
68263 }
68264 else
68265 {
68266 float num92 = ((Vector2)(ref velocity)).Length();
68267 int num93 = 8;
68268 if (num92 < 3f)
68269 {
68270 num93 = 4;
68271 }
68272 if (num92 < 1f)
68273 {
68274 num93 = 2;
68275 }
68276 frameCounter += (int)num92;
68277 if (frameCounter > num93)
68278 {
68279 frame++;
68280 frameCounter = 0;
68281 }
68282 if (frame < 5 || frame > 17)
68283 {
68284 frame = 5;
68285 }
68286 }
68287 velocity.Y += 0.4f;
68288 if (velocity.Y > 10f)
68289 {
68290 velocity.Y = 10f;
68291 }
68292 }
68293 else if (type == 858)
68294 {
68295 if (velocity.Y != 0f)
68296 {
68297 frame = 1;
68298 }
68299 else if (flag8)
68300 {
68301 spriteDirection = -1;
68302 if (Main.player[owner].Center.X < base.Center.X)
68303 {
68304 spriteDirection = 1;
68305 }
68306 frame = 0;
68307 }
68308 else
68309 {
68310 float num94 = ((Vector2)(ref velocity)).Length();
68311 frameCounter += (int)num94;
68312 if (frameCounter > 3)
68313 {
68314 frame++;
68315 frameCounter = 0;
68316 }
68318 {
68319 frame = 2;
68320 }
68321 }
68322 velocity.Y += 0.4f;
68323 if (velocity.Y > 10f)
68324 {
68325 velocity.Y = 10f;
68326 }
68327 }
68328 else if (type == 900)
68329 {
68331 if (velocity.Y != 0f)
68332 {
68333 frame = 1;
68334 frameCounter = 0;
68335 }
68336 else if (flag8)
68337 {
68338 spriteDirection = 1;
68339 if (Main.player[owner].Center.X < base.Center.X)
68340 {
68341 spriteDirection = -1;
68342 }
68343 frame = 0;
68344 frameCounter = 0;
68345 }
68346 else
68347 {
68348 frameCounter += 1 + (int)Math.Abs(velocity.X * 0.3f);
68349 if (frame < 2)
68350 {
68351 frame = 2;
68352 frameCounter = 0;
68353 }
68354 if (frameCounter > 4)
68355 {
68356 frame++;
68357 frameCounter = 0;
68358 }
68359 if (frame > 9)
68360 {
68361 frame = 2;
68362 }
68363 }
68364 velocity.Y += 0.4f;
68365 if (velocity.Y > 10f)
68366 {
68367 velocity.Y = 10f;
68368 }
68369 }
68370 else if (type == 899)
68371 {
68373 if (velocity.Y != 0f)
68374 {
68375 frame = 1;
68376 frameCounter = 0;
68377 }
68378 else if (flag8)
68379 {
68380 spriteDirection = 1;
68381 if (Main.player[owner].Center.X < base.Center.X)
68382 {
68383 spriteDirection = -1;
68384 }
68385 frame = 0;
68386 frameCounter = 0;
68387 }
68388 else
68389 {
68390 frameCounter += 1 + (int)Math.Abs(velocity.X * 0.3f);
68391 if (frame < 2)
68392 {
68393 frame = 2;
68394 frameCounter = 0;
68395 }
68396 if (frameCounter > 4)
68397 {
68398 frame++;
68399 frameCounter = 0;
68400 }
68401 if (frame > 9)
68402 {
68403 frame = 2;
68404 }
68405 }
68406 velocity.Y += 0.4f;
68407 if (velocity.Y > 10f)
68408 {
68409 velocity.Y = 10f;
68410 }
68411 }
68412 else if (type == 897)
68413 {
68415 if (velocity.Y != 0f)
68416 {
68417 frame = 1;
68418 frameCounter = 0;
68419 }
68420 else if (flag8)
68421 {
68422 spriteDirection = 1;
68423 if (Main.player[owner].Center.X < base.Center.X)
68424 {
68425 spriteDirection = -1;
68426 }
68427 frame = 0;
68428 frameCounter = 0;
68429 }
68430 else
68431 {
68432 frameCounter += 1 + (int)Math.Abs(velocity.X * 0.3f);
68433 if (frame < 2)
68434 {
68435 frame = 2;
68436 frameCounter = 0;
68437 }
68438 if (frameCounter > 4)
68439 {
68440 frame++;
68441 frameCounter = 0;
68442 }
68443 if (frame > 7)
68444 {
68445 frame = 2;
68446 }
68447 }
68448 velocity.Y += 0.4f;
68449 if (velocity.Y > 10f)
68450 {
68451 velocity.Y = 10f;
68452 }
68453 }
68454 else if (type == 891)
68455 {
68457 if (velocity.Y != 0f)
68458 {
68459 frame = 1;
68460 frameCounter = 0;
68461 }
68462 else if (flag8)
68463 {
68464 spriteDirection = Main.player[owner].direction;
68465 frame = 0;
68466 frameCounter = 0;
68467 }
68468 else
68469 {
68470 frameCounter += 1 + (int)Math.Abs(velocity.X * 0.3f);
68471 if (frame < 2)
68472 {
68473 frame = 2;
68474 frameCounter = 0;
68475 }
68476 if (frameCounter > 4)
68477 {
68478 frame++;
68479 frameCounter = 0;
68480 }
68481 if (frame > 8)
68482 {
68483 frame = 2;
68484 }
68485 }
68486 velocity.Y += 0.4f;
68487 if (velocity.Y > 10f)
68488 {
68489 velocity.Y = 10f;
68490 }
68491 }
68492 else if (type == 890)
68493 {
68495 if (velocity.Y != 0f)
68496 {
68497 frame = 1;
68498 frameCounter = 0;
68499 }
68500 else if (flag8)
68501 {
68502 spriteDirection = 1;
68503 if (Main.player[owner].Center.X < base.Center.X)
68504 {
68505 spriteDirection = -1;
68506 }
68507 frame = 0;
68508 frameCounter = 0;
68509 }
68510 else
68511 {
68512 frameCounter += 1 + (int)Math.Abs(velocity.X * 0.3f);
68513 if (frame < 2)
68514 {
68515 frame = 2;
68516 frameCounter = 0;
68517 }
68518 if (frameCounter > 4)
68519 {
68520 frame++;
68521 frameCounter = 0;
68522 }
68523 if (frame > 7)
68524 {
68525 frame = 2;
68526 }
68527 }
68528 velocity.Y += 0.4f;
68529 if (velocity.Y > 10f)
68530 {
68531 velocity.Y = 10f;
68532 }
68533 }
68534 else if (type == 884)
68535 {
68537 if (velocity.Y != 0f)
68538 {
68539 if (velocity.Y < 0f)
68540 {
68541 frame = 9;
68542 }
68543 else
68544 {
68545 frame = 1;
68546 }
68547 frameCounter = 0;
68548 }
68549 else if (flag8)
68550 {
68551 spriteDirection = 1;
68552 if (Main.player[owner].Center.X < base.Center.X)
68553 {
68554 spriteDirection = -1;
68555 }
68556 frame = 0;
68557 frameCounter = 0;
68558 }
68559 else
68560 {
68561 frameCounter += 1 + (int)Math.Abs(velocity.X * 0.5f);
68562 if (frameCounter > 6)
68563 {
68564 frame++;
68565 frameCounter = 0;
68566 }
68567 if (frame > 8)
68568 {
68569 frame = 2;
68570 }
68571 }
68572 velocity.Y += 0.4f;
68573 if (velocity.Y > 10f)
68574 {
68575 velocity.Y = 10f;
68576 }
68577 }
68578 else if (type == 881 || type == 934)
68579 {
68580 spriteDirection = 1;
68581 if (Main.player[owner].Center.X < base.Center.X)
68582 {
68583 spriteDirection = -1;
68584 }
68585 if (velocity.Y > 0f)
68586 {
68587 frameCounter++;
68588 if (frameCounter > 2)
68589 {
68590 frame++;
68591 if (frame >= 2)
68592 {
68593 frame = 2;
68594 }
68595 frameCounter = 0;
68596 }
68597 }
68598 else if (velocity.Y < 0f)
68599 {
68600 frameCounter++;
68601 if (frameCounter > 2)
68602 {
68603 frame++;
68604 if (frame >= 5)
68605 {
68606 frame = 0;
68607 }
68608 frameCounter = 0;
68609 }
68610 }
68611 else if (frame == 0)
68612 {
68613 frame = 0;
68614 }
68615 else if (++frameCounter > 3)
68616 {
68617 frame++;
68618 if (frame >= 6)
68619 {
68620 frame = 0;
68621 }
68622 frameCounter = 0;
68623 }
68624 if (wet && Main.player[owner].position.Y + (float)Main.player[owner].height < position.Y + (float)height && localAI[0] == 0f)
68625 {
68626 if (velocity.Y > -4f)
68627 {
68628 velocity.Y -= 0.2f;
68629 }
68630 if (velocity.Y > 0f)
68631 {
68632 velocity.Y *= 0.95f;
68633 }
68634 }
68635 else
68636 {
68637 velocity.Y += 0.4f;
68638 }
68639 if (velocity.Y > 10f)
68640 {
68641 velocity.Y = 10f;
68642 }
68643 }
68644 else if (type == 875)
68645 {
68646 if (velocity.Y != 0f)
68647 {
68648 if (velocity.Y < 0f)
68649 {
68650 frame = 3;
68651 }
68652 else
68653 {
68654 frame = 6;
68655 }
68656 frameCounter = 0;
68657 }
68658 else if (flag8)
68659 {
68660 spriteDirection = -1;
68661 if (Main.player[owner].Center.X < base.Center.X)
68662 {
68663 spriteDirection = 1;
68664 }
68665 frame = 0;
68666 frameCounter = 0;
68667 }
68668 else
68669 {
68670 frameCounter += 1 + (int)Math.Abs(velocity.X * 0.75f);
68671 if (frameCounter > 6)
68672 {
68673 frame++;
68674 frameCounter = 0;
68675 }
68676 if (frame > 6)
68677 {
68678 frame = 0;
68679 }
68680 }
68681 velocity.Y += 0.4f;
68682 if (velocity.Y > 10f)
68683 {
68684 velocity.Y = 10f;
68685 }
68686 }
68687 else if (type == 854)
68688 {
68689 if (velocity.Y != 0f)
68690 {
68691 frame = 7;
68692 }
68693 else if (flag8)
68694 {
68695 spriteDirection = -1;
68696 if (Main.player[owner].Center.X < base.Center.X)
68697 {
68698 spriteDirection = 1;
68699 }
68700 if (++frameCounter > 5)
68701 {
68702 frame++;
68703 frameCounter = 0;
68704 }
68706 {
68707 frame = 0;
68708 }
68709 }
68710 else
68711 {
68712 int num95 = 3;
68713 float num96 = ((Vector2)(ref velocity)).Length();
68714 if (num96 > 4f)
68715 {
68716 num95 = 1;
68717 }
68718 else if (num96 > 2f)
68719 {
68720 num95 = 2;
68721 }
68722 if (++frameCounter > num95)
68723 {
68724 frame++;
68725 frameCounter = 0;
68726 }
68727 if (frame < 4 || frame > 12)
68728 {
68729 frame = 4;
68730 }
68731 }
68732 velocity.Y += 0.4f;
68733 if (velocity.Y > 10f)
68734 {
68735 velocity.Y = 10f;
68736 }
68737 }
68738 else if (type == 825)
68739 {
68740 if (velocity.Y != 0f)
68741 {
68742 localAI[0] = 0f;
68743 frame = 12;
68744 }
68745 else if (flag8)
68746 {
68747 spriteDirection = -1;
68748 if (Main.player[owner].Center.X < base.Center.X)
68749 {
68750 spriteDirection = 1;
68751 }
68752 if (frame >= 1 && frame <= 2)
68753 {
68754 localAI[0] = 0f;
68755 if (++frameCounter > 5)
68756 {
68757 frame++;
68758 frameCounter = 0;
68759 }
68760 if (frame > 2)
68761 {
68762 frame = 0;
68763 }
68764 }
68765 else if (frame >= 3 && frame <= 11)
68766 {
68767 localAI[0] = 0f;
68768 if (++frameCounter > 5)
68769 {
68770 frame++;
68771 frameCounter = 0;
68772 }
68773 if (frame > 11)
68774 {
68775 frame = 0;
68776 }
68777 }
68778 else
68779 {
68780 if (frame == 13)
68781 {
68782 if (++frameCounter > 8)
68783 {
68784 frame++;
68785 frameCounter = 0;
68786 }
68787 if (frame == 14)
68788 {
68789 frame = 0;
68790 }
68791 }
68792 if (frame != 0)
68793 {
68794 frame = 13;
68795 }
68796 else
68797 {
68798 frame = 0;
68799 }
68800 if (frame == 0)
68801 {
68802 localAI[0] += 1f;
68803 if (localAI[0] > 300f && Main.rand.Next(50) == 0)
68804 {
68805 switch (Main.rand.Next(2))
68806 {
68807 case 0:
68808 frame = 1;
68809 break;
68810 case 1:
68811 frame = 3;
68812 break;
68813 }
68814 }
68815 }
68816 }
68817 }
68818 else
68819 {
68820 localAI[0] = 0f;
68821 int num97 = 3;
68822 float num98 = ((Vector2)(ref velocity)).Length();
68823 if (num98 > 4f)
68824 {
68825 num97 = 2;
68826 }
68827 else if (num98 > 2f)
68828 {
68829 num97 = 1;
68830 }
68831 if (++frameCounter > num97)
68832 {
68833 frame++;
68834 frameCounter = 0;
68835 }
68836 if (frame < 13)
68837 {
68838 frame = 13;
68839 }
68840 if (frame > 19)
68841 {
68842 frame = 14;
68843 }
68844 }
68845 velocity.Y += 0.4f;
68846 if (velocity.Y > 10f)
68847 {
68848 velocity.Y = 10f;
68849 }
68850 }
68851 else if (type == 821)
68852 {
68853 if (velocity.Y != 0f)
68854 {
68855 localAI[0] = 0f;
68856 frame = 12;
68857 }
68858 else if (flag8)
68859 {
68860 spriteDirection = -1;
68861 if (Main.player[owner].Center.X < base.Center.X)
68862 {
68863 spriteDirection = 1;
68864 }
68865 localAI[0] += 1f;
68866 if (localAI[0] > 400f)
68867 {
68868 int num99 = 7;
68869 if (frame == 9)
68870 {
68871 num99 = 25;
68872 }
68873 if (++frameCounter > num99)
68874 {
68875 frame++;
68876 frameCounter = 0;
68877 }
68878 if (frame < 5)
68879 {
68880 frame = 5;
68881 }
68882 if (frame > 11)
68883 {
68884 localAI[0] = 0f;
68885 frame = 0;
68886 }
68887 }
68888 else
68889 {
68890 if (++frameCounter > 6)
68891 {
68892 frame++;
68893 frameCounter = 0;
68894 }
68896 {
68897 frame = 0;
68898 }
68899 }
68900 }
68901 else
68902 {
68903 localAI[0] = 0f;
68904 int num101 = 4;
68905 float num207 = ((Vector2)(ref velocity)).Length();
68906 if (num207 > 3f)
68907 {
68908 num101 = 3;
68909 }
68910 if (num207 > 5f)
68911 {
68912 num101 = 2;
68913 }
68914 if (++frameCounter > num101)
68915 {
68916 frame++;
68917 if (num101 == 0)
68918 {
68919 frame++;
68920 }
68921 frameCounter = 0;
68922 }
68923 if (frame < 13 || frame > 18)
68924 {
68925 frame = 13;
68926 }
68927 }
68928 velocity.Y += 0.4f;
68929 if (velocity.Y > 10f)
68930 {
68931 velocity.Y = 10f;
68932 }
68933 }
68934 else if (flag13)
68935 {
68936 if (ai[1] > 0f)
68937 {
68938 if (localAI[1] == 0f)
68939 {
68940 localAI[1] = 1f;
68941 frame = 1;
68942 }
68943 if (frame != 0)
68944 {
68945 frameCounter++;
68946 if (frameCounter > 4)
68947 {
68948 frame++;
68949 frameCounter = 0;
68950 }
68951 if (frame >= 4)
68952 {
68953 frame = 0;
68954 }
68955 }
68956 }
68957 else if (velocity.Y == 0f)
68958 {
68959 localAI[1] = 0f;
68960 if (flag8)
68961 {
68962 frame = 0;
68963 frameCounter = 0;
68964 }
68965 else if ((double)velocity.X < -0.8 || (double)velocity.X > 0.8)
68966 {
68967 frameCounter += (int)Math.Abs(velocity.X);
68968 frameCounter++;
68969 if (frameCounter > 6)
68970 {
68971 frame++;
68972 frameCounter = 0;
68973 }
68974 if (frame < 5)
68975 {
68976 frame = 5;
68977 }
68978 if (frame >= 11)
68979 {
68980 frame = 5;
68981 }
68982 }
68983 else
68984 {
68985 frame = 0;
68986 frameCounter = 0;
68987 }
68988 }
68989 else if (velocity.Y < 0f)
68990 {
68991 frameCounter = 0;
68992 frame = 4;
68993 }
68994 else if (velocity.Y > 0f)
68995 {
68996 frameCounter = 0;
68997 frame = 4;
68998 }
68999 velocity.Y += 0.4f;
69000 if (velocity.Y > 10f)
69001 {
69002 velocity.Y = 10f;
69003 }
69004 _ = velocity;
69005 }
69006 else if (type == 268)
69007 {
69008 if (velocity.Y == 0f)
69009 {
69010 if (frame > 5)
69011 {
69012 frameCounter = 0;
69013 }
69014 if (flag8)
69015 {
69016 int num102 = 3;
69017 frameCounter++;
69018 if (frameCounter < num102)
69019 {
69020 frame = 0;
69021 }
69022 else if (frameCounter < num102 * 2)
69023 {
69024 frame = 1;
69025 }
69026 else if (frameCounter < num102 * 3)
69027 {
69028 frame = 2;
69029 }
69030 else if (frameCounter < num102 * 4)
69031 {
69032 frame = 3;
69033 }
69034 else
69035 {
69036 frameCounter = num102 * 4;
69037 }
69038 }
69039 else
69040 {
69041 velocity.X *= 0.8f;
69042 frameCounter++;
69043 int num103 = 3;
69044 if (frameCounter < num103)
69045 {
69046 frame = 0;
69047 }
69048 else if (frameCounter < num103 * 2)
69049 {
69050 frame = 1;
69051 }
69052 else if (frameCounter < num103 * 3)
69053 {
69054 frame = 2;
69055 }
69056 else if (frameCounter < num103 * 4)
69057 {
69058 frame = 3;
69059 }
69060 else if (flag9 || flag10)
69061 {
69062 velocity.X *= 2f;
69063 frame = 4;
69064 velocity.Y = -6.1f;
69065 frameCounter = 0;
69066 for (int num104 = 0; num104 < 4; num104++)
69067 {
69068 int num105 = Dust.NewDust(new Vector2(position.X, position.Y + (float)height - 2f), width, 4, 5);
69069 Dust obj8 = Main.dust[num105];
69070 obj8.velocity += velocity;
69071 Dust obj9 = Main.dust[num105];
69072 obj9.velocity *= 0.4f;
69073 }
69074 }
69075 else
69076 {
69077 frameCounter = num103 * 4;
69078 }
69079 }
69080 }
69081 else if (velocity.Y < 0f)
69082 {
69083 frameCounter = 0;
69084 frame = 5;
69085 }
69086 else
69087 {
69088 frame = 4;
69089 frameCounter = 3;
69090 }
69091 velocity.Y += 0.4f;
69092 if (velocity.Y > 10f)
69093 {
69094 velocity.Y = 10f;
69095 }
69096 }
69097 else if (type == 269)
69098 {
69099 if (velocity.Y >= 0f && (double)velocity.Y <= 0.8)
69100 {
69101 if (flag8)
69102 {
69103 frame = 0;
69104 frameCounter = 0;
69105 }
69106 else if ((double)velocity.X < -0.8 || (double)velocity.X > 0.8)
69107 {
69108 int num106 = Dust.NewDust(new Vector2(position.X, position.Y + (float)height - 2f), width, 6, 76);
69109 Main.dust[num106].noGravity = true;
69110 Dust obj10 = Main.dust[num106];
69111 obj10.velocity *= 0.3f;
69112 Main.dust[num106].noLight = true;
69113 frameCounter += (int)Math.Abs(velocity.X);
69114 frameCounter++;
69115 if (frameCounter > 6)
69116 {
69117 frame++;
69118 frameCounter = 0;
69119 }
69120 if (frame > 3)
69121 {
69122 frame = 0;
69123 }
69124 }
69125 else
69126 {
69127 frame = 0;
69128 frameCounter = 0;
69129 }
69130 }
69131 else
69132 {
69133 frameCounter = 0;
69134 frame = 2;
69135 }
69136 velocity.Y += 0.4f;
69137 if (velocity.Y > 10f)
69138 {
69139 velocity.Y = 10f;
69140 }
69141 }
69142 else if (type == 313)
69143 {
69144 int i3 = (int)(base.Center.X / 16f);
69145 int num107 = (int)(base.Center.Y / 16f);
69146 int num108 = 0;
69147 Tile tileSafely2 = Framing.GetTileSafely(i3, num107);
69148 Tile tileSafely3 = Framing.GetTileSafely(i3, num107 - 1);
69149 Tile tileSafely4 = Framing.GetTileSafely(i3, num107 + 1);
69150 if (tileSafely2.wall > 0)
69151 {
69152 num108++;
69153 }
69154 if (tileSafely3.wall > 0)
69155 {
69156 num108++;
69157 }
69158 if (tileSafely4.wall > 0)
69159 {
69160 num108++;
69161 }
69162 if (num108 > 1)
69163 {
69164 position.Y += height;
69165 height = 34;
69166 position.Y -= height;
69167 position.X += width / 2;
69168 width = 34;
69169 position.X -= width / 2;
69170 Vector2 vector5 = default(Vector2);
69171 ((Vector2)(ref vector5))._002Ector(position.X + (float)width * 0.5f, position.Y + (float)height * 0.5f);
69172 float num109 = Main.player[owner].Center.X - vector5.X;
69173 float num111 = Main.player[owner].Center.Y - vector5.Y;
69174 float num112 = (float)Math.Sqrt(num109 * num109 + num111 * num111);
69175 float num113 = 4f / num112;
69176 num109 *= num113;
69177 num111 *= num113;
69178 if (num112 < 120f)
69179 {
69180 velocity.X *= 0.9f;
69181 velocity.Y *= 0.9f;
69182 if ((double)(Math.Abs(velocity.X) + Math.Abs(velocity.Y)) < 0.1)
69183 {
69184 velocity *= 0f;
69185 }
69186 }
69187 else
69188 {
69189 velocity.X = (velocity.X * 9f + num109) / 10f;
69190 velocity.Y = (velocity.Y * 9f + num111) / 10f;
69191 }
69192 if (num112 >= 120f)
69193 {
69195 rotation = (float)Math.Atan2(velocity.Y * (float)(-direction), velocity.X * (float)(-direction));
69196 }
69197 frameCounter += (int)(Math.Abs(velocity.X) + Math.Abs(velocity.Y));
69198 if (frameCounter > 6)
69199 {
69200 frame++;
69201 frameCounter = 0;
69202 }
69203 if (frame > 10)
69204 {
69205 frame = 5;
69206 }
69207 if (frame < 5)
69208 {
69209 frame = 10;
69210 }
69211 }
69212 else
69213 {
69214 rotation = 0f;
69215 if (direction == -1)
69216 {
69217 spriteDirection = 1;
69218 }
69219 if (direction == 1)
69220 {
69221 spriteDirection = -1;
69222 }
69223 position.Y += height;
69224 height = 30;
69225 position.Y -= height;
69226 position.X += width / 2;
69227 width = 30;
69228 position.X -= width / 2;
69229 if (velocity.Y >= 0f && (double)velocity.Y <= 0.8)
69230 {
69231 if (flag8)
69232 {
69233 frame = 0;
69234 frameCounter = 0;
69235 }
69236 else if ((double)velocity.X < -0.8 || (double)velocity.X > 0.8)
69237 {
69238 frameCounter += (int)Math.Abs(velocity.X);
69239 frameCounter++;
69240 if (frameCounter > 6)
69241 {
69242 frame++;
69243 frameCounter = 0;
69244 }
69245 if (frame > 3)
69246 {
69247 frame = 0;
69248 }
69249 }
69250 else
69251 {
69252 frame = 0;
69253 frameCounter = 0;
69254 }
69255 }
69256 else
69257 {
69258 frameCounter = 0;
69259 frame = 4;
69260 }
69261 velocity.Y += 0.4f;
69262 if (velocity.Y > 10f)
69263 {
69264 velocity.Y = 10f;
69265 }
69266 }
69267 }
69268 else if (type >= 390 && type <= 392)
69269 {
69270 int i4 = (int)(base.Center.X / 16f);
69271 int num114 = (int)(base.Center.Y / 16f);
69272 int num115 = 0;
69273 Tile tileSafely5 = Framing.GetTileSafely(i4, num114);
69274 Tile tileSafely6 = Framing.GetTileSafely(i4, num114 - 1);
69275 Tile tileSafely7 = Framing.GetTileSafely(i4, num114 + 1);
69276 if (tileSafely5.wall > 0)
69277 {
69278 num115++;
69279 }
69280 if (tileSafely6.wall > 0)
69281 {
69282 num115++;
69283 }
69284 if (tileSafely7.wall > 0)
69285 {
69286 num115++;
69287 }
69288 if (num115 > 1)
69289 {
69290 position.Y += height;
69291 height = 34;
69292 position.Y -= height;
69293 position.X += width / 2;
69294 width = 34;
69295 position.X -= width / 2;
69296 float num116 = 9f;
69297 float num117 = 40 * (minionPos + 1);
69298 Vector2 v3 = Main.player[owner].Center - base.Center;
69299 if (flag5)
69300 {
69301 v3 = vector3;
69302 num117 = 10f;
69303 }
69304 else if (!Collision.CanHitLine(base.Center, 1, 1, Main.player[owner].Center, 1, 1))
69305 {
69306 ai[0] = 1f;
69307 }
69308 if (((Vector2)(ref v3)).Length() < num117)
69309 {
69310 velocity *= 0.9f;
69311 if ((double)(Math.Abs(velocity.X) + Math.Abs(velocity.Y)) < 0.1)
69312 {
69313 velocity *= 0f;
69314 }
69315 }
69316 else if (((Vector2)(ref v3)).Length() < 800f || !flag5)
69317 {
69318 velocity = (velocity * 9f + v3.SafeNormalize(Vector2.Zero) * num116) / 10f;
69319 }
69320 if (((Vector2)(ref v3)).Length() >= num117)
69321 {
69323 rotation = velocity.ToRotation() + (float)Math.PI / 2f;
69324 }
69325 else
69326 {
69327 rotation = v3.ToRotation() + (float)Math.PI / 2f;
69328 }
69329 frameCounter += (int)(Math.Abs(velocity.X) + Math.Abs(velocity.Y));
69330 if (frameCounter > 5)
69331 {
69332 frame++;
69333 frameCounter = 0;
69334 }
69335 if (frame > 7)
69336 {
69337 frame = 4;
69338 }
69339 if (frame < 4)
69340 {
69341 frame = 7;
69342 }
69343 }
69344 else
69345 {
69346 if (!flag6)
69347 {
69348 rotation = 0f;
69349 }
69350 if (direction == -1)
69351 {
69352 spriteDirection = 1;
69353 }
69354 if (direction == 1)
69355 {
69356 spriteDirection = -1;
69357 }
69358 position.Y += height;
69359 height = 30;
69360 position.Y -= height;
69361 position.X += width / 2;
69362 width = 30;
69363 position.X -= width / 2;
69364 if (!flag5 && !Collision.CanHitLine(base.Center, 1, 1, Main.player[owner].Center, 1, 1))
69365 {
69366 ai[0] = 1f;
69367 }
69368 if (!flag6 && frame >= 4 && frame <= 7)
69369 {
69370 Vector2 vector6 = Main.player[owner].Center - base.Center;
69371 if (flag5)
69372 {
69373 vector6 = vector3;
69374 }
69375 float num118 = 0f - vector6.Y;
69376 if (!(vector6.Y > 0f))
69377 {
69378 if (num118 < 120f)
69379 {
69380 velocity.Y = -10f;
69381 }
69382 else if (num118 < 210f)
69383 {
69384 velocity.Y = -13f;
69385 }
69386 else if (num118 < 270f)
69387 {
69388 velocity.Y = -15f;
69389 }
69390 else if (num118 < 310f)
69391 {
69392 velocity.Y = -17f;
69393 }
69394 else if (num118 < 380f)
69395 {
69396 velocity.Y = -18f;
69397 }
69398 }
69399 }
69400 if (flag6)
69401 {
69402 frameCounter++;
69403 if (frameCounter > 3)
69404 {
69405 frame++;
69406 frameCounter = 0;
69407 }
69408 if (frame >= 8)
69409 {
69410 frame = 4;
69411 }
69412 if (frame <= 3)
69413 {
69414 frame = 7;
69415 }
69416 }
69417 else if (velocity.Y >= 0f && (double)velocity.Y <= 0.8)
69418 {
69419 if (flag8)
69420 {
69421 frame = 0;
69422 frameCounter = 0;
69423 }
69424 else if ((double)velocity.X < -0.8 || (double)velocity.X > 0.8)
69425 {
69426 frameCounter += (int)Math.Abs(velocity.X);
69427 frameCounter++;
69428 if (frameCounter > 5)
69429 {
69430 frame++;
69431 frameCounter = 0;
69432 }
69433 if (frame > 2)
69434 {
69435 frame = 0;
69436 }
69437 }
69438 else
69439 {
69440 frame = 0;
69441 frameCounter = 0;
69442 }
69443 }
69444 else
69445 {
69446 frameCounter = 0;
69447 frame = 3;
69448 }
69449 velocity.Y += 0.4f;
69450 if (velocity.Y > 10f)
69451 {
69452 velocity.Y = 10f;
69453 }
69454 }
69455 }
69456 else if (type == 314)
69457 {
69458 if (velocity.Y >= 0f && (double)velocity.Y <= 0.8)
69459 {
69460 if (flag8)
69461 {
69462 frame = 0;
69463 frameCounter = 0;
69464 }
69465 else if ((double)velocity.X < -0.8 || (double)velocity.X > 0.8)
69466 {
69467 frameCounter += (int)Math.Abs(velocity.X);
69468 frameCounter++;
69469 if (frameCounter > 6)
69470 {
69471 frame++;
69472 frameCounter = 0;
69473 }
69474 if (frame > 6)
69475 {
69476 frame = 1;
69477 }
69478 }
69479 else
69480 {
69481 frame = 0;
69482 frameCounter = 0;
69483 }
69484 }
69485 else
69486 {
69487 frameCounter = 0;
69488 frame = 7;
69489 }
69490 velocity.Y += 0.4f;
69491 if (velocity.Y > 10f)
69492 {
69493 velocity.Y = 10f;
69494 }
69495 }
69496 else if (type == 319)
69497 {
69498 if (velocity.Y >= 0f && (double)velocity.Y <= 0.8)
69499 {
69500 if (flag8)
69501 {
69502 frame = 0;
69503 frameCounter = 0;
69504 }
69505 else if ((double)velocity.X < -0.8 || (double)velocity.X > 0.8)
69506 {
69507 frameCounter += (int)Math.Abs(velocity.X);
69508 frameCounter++;
69509 if (frameCounter > 8)
69510 {
69511 frame++;
69512 frameCounter = 0;
69513 }
69514 if (frame > 5)
69515 {
69516 frame = 2;
69517 }
69518 }
69519 else
69520 {
69521 frame = 0;
69522 frameCounter = 0;
69523 }
69524 }
69525 else
69526 {
69527 frameCounter = 0;
69528 frame = 1;
69529 }
69530 velocity.Y += 0.4f;
69531 if (velocity.Y > 10f)
69532 {
69533 velocity.Y = 10f;
69534 }
69535 }
69536 else if (type == 236)
69537 {
69538 if (velocity.Y >= 0f && (double)velocity.Y <= 0.8)
69539 {
69540 if (flag8)
69541 {
69542 frame = 0;
69543 frameCounter = 0;
69544 }
69545 else if ((double)velocity.X < -0.8 || (double)velocity.X > 0.8)
69546 {
69547 if (frame < 2)
69548 {
69549 frame = 2;
69550 }
69551 frameCounter += (int)Math.Abs(velocity.X);
69552 frameCounter++;
69553 if (frameCounter > 6)
69554 {
69555 frame++;
69556 frameCounter = 0;
69557 }
69558 if (frame > 8)
69559 {
69560 frame = 2;
69561 }
69562 }
69563 else
69564 {
69565 frame = 0;
69566 frameCounter = 0;
69567 }
69568 }
69569 else
69570 {
69571 frameCounter = 0;
69572 frame = 1;
69573 }
69574 velocity.Y += 0.4f;
69575 if (velocity.Y > 10f)
69576 {
69577 velocity.Y = 10f;
69578 }
69579 }
69580 else if (type == 499)
69581 {
69582 if (velocity.Y >= 0f && (double)velocity.Y <= 0.8)
69583 {
69584 if (flag8)
69585 {
69586 frame = 0;
69587 frameCounter = 0;
69588 }
69589 else if ((double)velocity.X < -0.8 || (double)velocity.X > 0.8)
69590 {
69591 if (frame < 2)
69592 {
69593 frame = 2;
69594 }
69595 frameCounter += (int)Math.Abs(velocity.X);
69596 frameCounter++;
69597 if (frameCounter > 6)
69598 {
69599 frame++;
69600 frameCounter = 0;
69601 }
69602 if (frame >= 8)
69603 {
69604 frame = 2;
69605 }
69606 }
69607 else
69608 {
69609 frame = 0;
69610 frameCounter = 0;
69611 }
69612 }
69613 else
69614 {
69615 frameCounter = 0;
69616 frame = 1;
69617 }
69618 velocity.Y += 0.4f;
69619 if (velocity.Y > 10f)
69620 {
69621 velocity.Y = 10f;
69622 }
69623 }
69624 else if (type == 765)
69625 {
69626 if (velocity.Y >= 0f && (double)velocity.Y <= 0.8)
69627 {
69628 if (flag8)
69629 {
69630 frame = 0;
69631 frameCounter = 0;
69632 }
69633 else if ((double)velocity.X < -0.8 || (double)velocity.X > 0.8)
69634 {
69635 if (frame < 1)
69636 {
69637 frame = 1;
69638 }
69639 frameCounter += (int)Math.Abs(velocity.X);
69640 frameCounter++;
69641 if (frameCounter > 6)
69642 {
69643 frame++;
69644 frameCounter = 0;
69645 }
69646 if (frame >= 6)
69647 {
69648 frame = 1;
69649 }
69650 }
69651 else
69652 {
69653 frame = 0;
69654 frameCounter = 0;
69655 }
69656 }
69657 else
69658 {
69659 frame = 0;
69660 frameCounter = 0;
69661 }
69662 velocity.Y += 0.4f;
69663 if (velocity.Y > 10f)
69664 {
69665 velocity.Y = 10f;
69666 }
69667 }
69668 else if (type == 266)
69669 {
69670 if (velocity.Y >= 0f && (double)velocity.Y <= 0.8)
69671 {
69672 if (flag8)
69673 {
69674 frameCounter++;
69675 }
69676 else
69677 {
69678 frameCounter += 3;
69679 }
69680 }
69681 else
69682 {
69683 frameCounter += 5;
69684 }
69685 if (frameCounter >= 20)
69686 {
69687 frameCounter -= 20;
69688 frame++;
69689 }
69690 if (frame > 1)
69691 {
69692 frame = 0;
69693 }
69694 if (wet && Main.player[owner].position.Y + (float)Main.player[owner].height < position.Y + (float)height && localAI[0] == 0f)
69695 {
69696 if (velocity.Y > -4f)
69697 {
69698 velocity.Y -= 0.2f;
69699 }
69700 if (velocity.Y > 0f)
69701 {
69702 velocity.Y *= 0.95f;
69703 }
69704 }
69705 else
69706 {
69707 velocity.Y += 0.4f;
69708 }
69709 if (velocity.Y > 10f)
69710 {
69711 velocity.Y = 10f;
69712 }
69713 }
69714 else if (type == 334)
69715 {
69716 if (velocity.Y == 0f)
69717 {
69718 if (flag8)
69719 {
69720 if (frame > 0)
69721 {
69722 frameCounter += 2;
69723 if (frameCounter > 6)
69724 {
69725 frame++;
69726 frameCounter = 0;
69727 }
69728 if (frame >= 7)
69729 {
69730 frame = 0;
69731 }
69732 }
69733 else
69734 {
69735 frame = 0;
69736 frameCounter = 0;
69737 }
69738 }
69739 else if ((double)velocity.X < -0.8 || (double)velocity.X > 0.8)
69740 {
69741 frameCounter += (int)Math.Abs((double)velocity.X * 0.75);
69742 frameCounter++;
69743 if (frameCounter > 6)
69744 {
69745 frame++;
69746 frameCounter = 0;
69747 }
69748 if (frame >= 7 || frame < 1)
69749 {
69750 frame = 1;
69751 }
69752 }
69753 else if (frame > 0)
69754 {
69755 frameCounter += 2;
69756 if (frameCounter > 6)
69757 {
69758 frame++;
69759 frameCounter = 0;
69760 }
69761 if (frame >= 7)
69762 {
69763 frame = 0;
69764 }
69765 }
69766 else
69767 {
69768 frame = 0;
69769 frameCounter = 0;
69770 }
69771 }
69772 else if (velocity.Y < 0f)
69773 {
69774 frameCounter = 0;
69775 frame = 2;
69776 }
69777 else if (velocity.Y > 0f)
69778 {
69779 frameCounter = 0;
69780 frame = 4;
69781 }
69782 velocity.Y += 0.4f;
69783 if (velocity.Y > 10f)
69784 {
69785 velocity.Y = 10f;
69786 }
69787 }
69788 else if (type == 353)
69789 {
69790 if (velocity.Y == 0f)
69791 {
69792 if (flag8)
69793 {
69794 frame = 0;
69795 frameCounter = 0;
69796 }
69797 else if ((double)velocity.X < -0.8 || (double)velocity.X > 0.8)
69798 {
69799 frameCounter += (int)Math.Abs(velocity.X);
69800 frameCounter++;
69801 if (frameCounter > 6)
69802 {
69803 frame++;
69804 frameCounter = 0;
69805 }
69806 if (frame > 9)
69807 {
69808 frame = 2;
69809 }
69810 }
69811 else
69812 {
69813 frame = 0;
69814 frameCounter = 0;
69815 }
69816 }
69817 else if (velocity.Y < 0f)
69818 {
69819 frameCounter = 0;
69820 frame = 1;
69821 }
69822 else if (velocity.Y > 0f)
69823 {
69824 frameCounter = 0;
69825 frame = 1;
69826 }
69827 velocity.Y += 0.4f;
69828 if (velocity.Y > 10f)
69829 {
69830 velocity.Y = 10f;
69831 }
69832 }
69833 else if (type == 111)
69834 {
69835 if (velocity.Y == 0f)
69836 {
69837 if (flag8)
69838 {
69839 frame = 0;
69840 frameCounter = 0;
69841 }
69842 else if ((double)velocity.X < -0.8 || (double)velocity.X > 0.8)
69843 {
69844 frameCounter += (int)Math.Abs(velocity.X);
69845 frameCounter++;
69846 if (frameCounter > 6)
69847 {
69848 frame++;
69849 frameCounter = 0;
69850 }
69851 if (frame >= 7)
69852 {
69853 frame = 0;
69854 }
69855 }
69856 else
69857 {
69858 frame = 0;
69859 frameCounter = 0;
69860 }
69861 }
69862 else if (velocity.Y < 0f)
69863 {
69864 frameCounter = 0;
69865 frame = 4;
69866 }
69867 else if (velocity.Y > 0f)
69868 {
69869 frameCounter = 0;
69870 frame = 6;
69871 }
69872 velocity.Y += 0.4f;
69873 if (velocity.Y > 10f)
69874 {
69875 velocity.Y = 10f;
69876 }
69877 }
69878 else if (type == 112)
69879 {
69880 if (velocity.Y == 0f)
69881 {
69882 if (flag8)
69883 {
69884 frame = 0;
69885 frameCounter = 0;
69886 }
69887 else if ((double)velocity.X < -0.8 || (double)velocity.X > 0.8)
69888 {
69889 frameCounter += (int)Math.Abs(velocity.X);
69890 frameCounter++;
69891 if (frameCounter > 6)
69892 {
69893 frame++;
69894 frameCounter = 0;
69895 }
69896 if (frame >= 3)
69897 {
69898 frame = 0;
69899 }
69900 }
69901 else
69902 {
69903 frame = 0;
69904 frameCounter = 0;
69905 }
69906 }
69907 else if (velocity.Y != 0f)
69908 {
69909 frameCounter = 0;
69910 frame = 1;
69911 }
69912 velocity.Y += 0.4f;
69913 if (velocity.Y > 10f)
69914 {
69915 velocity.Y = 10f;
69916 }
69917 }
69918 else if (type == 127)
69919 {
69920 if (velocity.Y == 0f)
69921 {
69922 if (flag8)
69923 {
69924 frame = 0;
69925 frameCounter = 0;
69926 }
69927 else if ((double)velocity.X < -0.1 || (double)velocity.X > 0.1)
69928 {
69929 frameCounter += (int)Math.Abs(velocity.X);
69930 frameCounter++;
69931 if (frameCounter > 6)
69932 {
69933 frame++;
69934 frameCounter = 0;
69935 }
69936 if (frame > 5)
69937 {
69938 frame = 0;
69939 }
69940 }
69941 else
69942 {
69943 frame = 0;
69944 frameCounter = 0;
69945 }
69946 }
69947 else
69948 {
69949 frame = 0;
69950 frameCounter = 0;
69951 }
69952 velocity.Y += 0.4f;
69953 if (velocity.Y > 10f)
69954 {
69955 velocity.Y = 10f;
69956 }
69957 }
69958 else if (type == 200)
69959 {
69960 if (velocity.Y == 0f)
69961 {
69962 if (flag8)
69963 {
69964 frame = 0;
69965 frameCounter = 0;
69966 }
69967 else if ((double)velocity.X < -0.1 || (double)velocity.X > 0.1)
69968 {
69969 frameCounter += (int)Math.Abs(velocity.X);
69970 frameCounter++;
69971 if (frameCounter > 6)
69972 {
69973 frame++;
69974 frameCounter = 0;
69975 }
69976 if (frame > 5)
69977 {
69978 frame = 0;
69979 }
69980 }
69981 else
69982 {
69983 frame = 0;
69984 frameCounter = 0;
69985 }
69986 }
69987 else
69988 {
69989 rotation = velocity.X * 0.1f;
69990 frameCounter++;
69991 if (velocity.Y < 0f)
69992 {
69993 frameCounter += 2;
69994 }
69995 if (frameCounter > 6)
69996 {
69997 frame++;
69998 frameCounter = 0;
69999 }
70000 if (frame > 9)
70001 {
70002 frame = 6;
70003 }
70004 if (frame < 6)
70005 {
70006 frame = 6;
70007 }
70008 }
70009 velocity.Y += 0.1f;
70010 if (velocity.Y > 4f)
70011 {
70012 velocity.Y = 4f;
70013 }
70014 }
70015 else if (type == 208)
70016 {
70017 if (velocity.Y == 0f && flag8)
70018 {
70019 if (Main.player[owner].position.X + (float)(Main.player[owner].width / 2) < position.X + (float)(width / 2))
70020 {
70021 direction = -1;
70022 }
70023 else if (Main.player[owner].position.X + (float)(Main.player[owner].width / 2) > position.X + (float)(width / 2))
70024 {
70025 direction = 1;
70026 }
70027 rotation = 0f;
70028 frame = 0;
70029 }
70030 else
70031 {
70032 rotation = velocity.X * 0.075f;
70033 frameCounter++;
70034 if (frameCounter > 6)
70035 {
70036 frame++;
70037 frameCounter = 0;
70038 }
70039 if (frame > 4)
70040 {
70041 frame = 1;
70042 }
70043 if (frame < 1)
70044 {
70045 frame = 1;
70046 }
70047 }
70048 velocity.Y += 0.1f;
70049 if (velocity.Y > 4f)
70050 {
70051 velocity.Y = 4f;
70052 }
70053 }
70054 else if (type == 209)
70055 {
70056 if (alpha > 0)
70057 {
70058 alpha -= 5;
70059 if (alpha < 0)
70060 {
70061 alpha = 0;
70062 }
70063 }
70064 if (velocity.Y == 0f)
70065 {
70066 if (flag8)
70067 {
70068 frame = 0;
70069 frameCounter = 0;
70070 }
70071 else if ((double)velocity.X < -0.1 || (double)velocity.X > 0.1)
70072 {
70073 frameCounter += (int)Math.Abs(velocity.X);
70074 frameCounter++;
70075 if (frameCounter > 6)
70076 {
70077 frame++;
70078 frameCounter = 0;
70079 }
70080 if (frame > 11)
70081 {
70082 frame = 2;
70083 }
70084 if (frame < 2)
70085 {
70086 frame = 2;
70087 }
70088 }
70089 else
70090 {
70091 frame = 0;
70092 frameCounter = 0;
70093 }
70094 }
70095 else
70096 {
70097 frame = 1;
70098 frameCounter = 0;
70099 rotation = 0f;
70100 }
70101 velocity.Y += 0.4f;
70102 if (velocity.Y > 10f)
70103 {
70104 velocity.Y = 10f;
70105 }
70106 }
70107 else if (type == 324)
70108 {
70109 if (velocity.Y == 0f)
70110 {
70111 if ((double)velocity.X < -0.1 || (double)velocity.X > 0.1)
70112 {
70113 frameCounter += (int)Math.Abs(velocity.X);
70114 frameCounter++;
70115 if (frameCounter > 6)
70116 {
70117 frame++;
70118 frameCounter = 0;
70119 }
70120 if (frame > 5)
70121 {
70122 frame = 2;
70123 }
70124 if (frame < 2)
70125 {
70126 frame = 2;
70127 }
70128 }
70129 else
70130 {
70131 frame = 0;
70132 frameCounter = 0;
70133 }
70134 }
70135 else
70136 {
70137 frameCounter = 0;
70138 frame = 1;
70139 }
70140 velocity.Y += 0.4f;
70141 if (velocity.Y > 14f)
70142 {
70143 velocity.Y = 14f;
70144 }
70145 }
70146 else if (type == 210)
70147 {
70148 if (velocity.Y == 0f)
70149 {
70150 if ((double)velocity.X < -0.1 || (double)velocity.X > 0.1)
70151 {
70152 frameCounter += (int)Math.Abs(velocity.X);
70153 frameCounter++;
70154 if (frameCounter > 6)
70155 {
70156 frame++;
70157 frameCounter = 0;
70158 }
70159 if (frame > 6)
70160 {
70161 frame = 0;
70162 }
70163 }
70164 else
70165 {
70166 frame = 0;
70167 frameCounter = 0;
70168 }
70169 }
70170 else
70171 {
70172 rotation = velocity.X * 0.05f;
70173 frameCounter++;
70174 if (frameCounter > 6)
70175 {
70176 frame++;
70177 frameCounter = 0;
70178 }
70179 if (frame > 11)
70180 {
70181 frame = 7;
70182 }
70183 if (frame < 7)
70184 {
70185 frame = 7;
70186 }
70187 }
70188 velocity.Y += 0.4f;
70189 if (velocity.Y > 10f)
70190 {
70191 velocity.Y = 10f;
70192 }
70193 }
70194 else if (type == 398)
70195 {
70196 if (velocity.Y == 0f)
70197 {
70198 if (flag8)
70199 {
70200 frame = 0;
70201 frameCounter = 0;
70202 }
70203 else if ((double)velocity.X < -0.8 || (double)velocity.X > 0.8)
70204 {
70205 frameCounter += (int)Math.Abs(velocity.X);
70206 frameCounter++;
70207 if (frameCounter > 6)
70208 {
70209 frame++;
70210 frameCounter = 0;
70211 }
70212 if (frame >= 5)
70213 {
70214 frame = 0;
70215 }
70216 }
70217 else
70218 {
70219 frame = 0;
70220 frameCounter = 0;
70221 }
70222 }
70223 else if (velocity.Y != 0f)
70224 {
70225 frameCounter = 0;
70226 frame = 5;
70227 }
70228 velocity.Y += 0.4f;
70229 if (velocity.Y > 10f)
70230 {
70231 velocity.Y = 10f;
70232 }
70233 }
70234 }
70235 if (type == 891)
70236 {
70237 _ = Main.player[owner];
70238 DelegateMethods.v3_1 = new Vector3(1f, 0.61f, 0.16f) * 1.5f;
70239 Utils.PlotTileLine(base.Center, base.Center + velocity * 6f, 20f, DelegateMethods.CastLightOpen);
70240 Utils.PlotTileLine(base.Left, base.Right, 20f, DelegateMethods.CastLightOpen);
70241 }
70242 }
bool wet
The Entity is currently in water. Projectile: Affects movement speed and some projectiles die when ...
Definition Entity.cs:57
int whoAmI
The index of this Entity within its specific array. These arrays track the entities in the world....
Definition Entity.cs:16
Vector2 velocity
The velocity of this Entity in world coordinates per tick.
Definition Entity.cs:33
Vector2 position
The position of this Entity in world coordinates.
Definition Entity.cs:28
int width
The width of this Entity's hitbox, in pixels.
Definition Entity.cs:46
bool active
If true, the Entity actually exists within the game world. Within the specific entity array,...
Definition Entity.cs:21
int height
The height of this Entity's hitbox, in pixels.
Definition Entity.cs:51
static ArmorShaderDataSet Armor
Definition GameShaders.cs:7
static bool[] Platforms
Definition TileID.cs:219
int owner
The index of the player who owns this projectile. In Multiplayer, Clients "own" projectiles that they...
int damage
This will always be set in Projectile.NewProjectile based on the weapons damage and player stat modif...
float[] ai
An array with 3 slots used for any sort of data storage, which is occasionally synced to the server....
bool netUpdate
Set manually to true in M:Terraria.ModLoader.ModProjectile.AI once to make it sync its current F:Terr...
int alpha
How transparent to draw this projectile. 0 to 255. 255 is completely transparent. ExampleBulletsets...
IEntitySource GetProjectileSource_FromThis()
float[] localAI
Acts like F:Terraria.Projectile.ai, but does not sync to the server. Many vanilla T:Terraria....
int frame
The frame number in the spritesheet that this projectile will be drawn with. Assign in M:Terraria....
float knockBack
This will always be set in Projectile.NewProjectile based on the weapons knockback and player stat mo...
bool friendly
If True, this projectile will hurt enemies (!F:Terraria.NPC.friendly) Defaults to false.
int type
The Projectile ID of this projectile. The Projectile ID is a unique number assigned to each Projectil...
bool tileCollide
If true, the projectile will collide with tiles, usually bouncing or killing the tile depending on M:...
int timeLeft
Time in ticks before this projectile will naturally despawn. Each update timeLeft is decreased by 1...
float rotation
Rotation of the projectile. Radians not Degrees. Use T:Microsoft.Xna.Framework.MathHelper if you want...
float stepSpeed
Has nothing to do with the speed that this projectile travels, that is dictated by AI code adjusting ...
bool Chester_IsAnyPlayerTrackingThisProjectile()
float gfxOffY
An offset from the actual position of the projectile that will be added to the draw position....
int minionPos
A number indicating the order of minions. Minion AI code typically uses this value to determine a sui...
int frameCounter
Used as a timer to decide when to change F:Terraria.Projectile.frame. Defaults to 0.
static int NewProjectile(IEntitySource spawnSource, Vector2 position, Vector2 velocity, int Type, int Damage, float KnockBack, int Owner=-1, float ai0=0f, float ai1=0f, float ai2=0f)
This particular overload uses a Vector2 instead of X and Y to determine the actual spawn position and...

References Terraria.Lighting.AddLight(), Terraria.Graphics.Shaders.GameShaders.Armor, Terraria.Collision.CanHit(), Terraria.Collision.CanHitLine(), Terraria.DelegateMethods.CastLightOpen(), Terraria.Entity.direction, Terraria.Main.dust, Terraria.Utils.GetLerpValue(), Terraria.Framing.GetTileSafely(), Terraria.Main.gore, Terraria.Main.myPlayer, Terraria.Dust.NewDust(), Terraria.Dust.NewDustDirect(), Terraria.Gore.NewGore(), Terraria.Gore.NewGorePerfect(), Terraria.Main.npc, Terraria.ID.TileID.Sets.Platforms, Terraria.Main.player, Terraria.Utils.PlotTileLine(), Terraria.Main.projectile, Terraria.Main.projFrames, Terraria.Main.rand, Terraria.Utils.RotatedBy(), Terraria.Collision.SolidCollision(), Terraria.WorldGen.SolidTile(), Terraria.WorldGen.SolidTileAllowBottomSlope(), Terraria.Collision.StepUp(), Terraria.Main.tile, and Terraria.Entity.velocity.

+ Here is the call graph for this function: