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

◆ FindFrame()

void Terraria.NPC.FindFrame ( )
inline

Definition at line 59052 of file NPC.cs.

59053 {
59055 int num = 1;
59056 if (!Main.dedServ)
59057 {
59058 if (!TextureAssets.Npc[type].IsLoaded)
59059 {
59060 return;
59061 }
59062 num = TextureAssets.Npc[type].Height() / Main.npcFrameCount[type];
59063 }
59064 int num2 = 0;
59065 if (aiAction == 0)
59066 {
59067 num2 = ((velocity.Y < 0f) ? 2 : ((velocity.Y > 0f) ? 3 : ((velocity.X != 0f) ? 1 : 0)));
59068 }
59069 else if (aiAction == 1)
59070 {
59071 num2 = 4;
59072 }
59073 switch (type)
59074 {
59075 case 668:
59076 {
59077 int y2 = frame.Y;
59078 int num144 = y2;
59079 frame.Width = 180;
59080 if (ai[0] == 1f)
59081 {
59083 int num145 = 12;
59084 int num146 = 17;
59086 {
59087 y2 = num145;
59088 frameCounter = 0.0;
59089 if (!IsABestiaryIconDummy && y2 != num144)
59090 {
59092 }
59093 }
59094 frameCounter += 1.0;
59095 int sequenceFrame = (int)frameCounter / 4;
59097 }
59098 else if (ai[0] == 2f)
59099 {
59101 int num147 = 12;
59102 int num148 = 18;
59104 {
59105 y2 = num147;
59106 frameCounter = 0.0;
59107 if (!IsABestiaryIconDummy && y2 != num144)
59108 {
59110 }
59111 }
59112 frameCounter += 1.0;
59113 int sequenceFrame2 = (int)frameCounter / 4;
59116 }
59117 else if (ai[0] == 3f || ai[0] == 5f || ai[0] == 7f || ai[0] == 8f)
59118 {
59120 int num149 = 19;
59121 int num150 = 24;
59123 {
59124 y2 = num149;
59125 frameCounter = 0.0;
59126 }
59127 frameCounter += 1.0;
59128 int sequenceFrame3 = (int)frameCounter / 4;
59130 if (y2 == 21)
59131 {
59133 }
59134 }
59135 else if (ai[0] == 4f)
59136 {
59138 int num151 = 12;
59139 int num152 = 17;
59141 {
59142 y2 = num151;
59143 frameCounter = 0.0;
59144 if (!IsABestiaryIconDummy && y2 != num144)
59145 {
59147 }
59148 }
59149 frameCounter += 1.0;
59150 int sequenceFrame4 = (int)frameCounter / 4;
59152 }
59153 else
59154 {
59155 if (velocity.Y == 0f)
59156 {
59158 }
59159 if (velocity.Y > 0f || localAI[0] == 1f)
59160 {
59161 frameCounter = 0.0;
59162 y2 = 1;
59163 }
59164 else if (velocity.X == 0f)
59165 {
59166 frameCounter = 0.0;
59167 y2 = 0;
59168 }
59169 else
59170 {
59172 int num153 = 10;
59173 int num154 = 15;
59174 if (frameCounter >= (double)(num153 * num154) || frameCounter < 0.0)
59175 {
59176 frameCounter = 0.0;
59177 }
59178 y2 = 2 + (int)(frameCounter / (double)num154);
59179 if (num144 != y2 && !IsABestiaryIconDummy && (y2 == 4 || y2 == 9))
59180 {
59182 }
59183 }
59184 }
59185 frame.Y = y2;
59186 break;
59187 }
59188 case 657:
59189 {
59190 bool flag = life <= lifeMax / 2;
59191 frame.Width = 180;
59192 int num9 = frame.Y / num;
59193 if ((flag && noGravity) || velocity.Y < 0f)
59194 {
59195 if (num9 < 20 || num9 > 23)
59196 {
59197 if (num9 < 4 || num9 > 7)
59198 {
59199 num9 = 4;
59200 frameCounter = -1.0;
59201 }
59202 if ((frameCounter += 1.0) >= 4.0)
59203 {
59204 frameCounter = 0.0;
59205 num9++;
59206 if (num9 >= 7)
59207 {
59208 num9 = ((!flag) ? 7 : 22);
59209 }
59210 }
59211 }
59212 else if ((frameCounter += 1.0) >= 5.0)
59213 {
59214 frameCounter = 0.0;
59215 num9++;
59216 if (num9 >= 24)
59217 {
59218 num9 = 20;
59219 }
59220 }
59221 frame.Y = num9 * num;
59222 }
59223 else if (velocity.Y > 0f)
59224 {
59225 if (num9 < 8 || num9 > 10)
59226 {
59227 num9 = 8;
59228 frameCounter = -1.0;
59229 }
59230 if ((frameCounter += 1.0) >= 8.0)
59231 {
59232 frameCounter = 0.0;
59233 num9++;
59234 if (num9 >= 10)
59235 {
59236 num9 = 10;
59237 }
59238 }
59239 frame.Y = num9 * num;
59240 }
59241 else
59242 {
59243 if (velocity.Y != 0f)
59244 {
59245 break;
59246 }
59247 if (ai[0] == 5f)
59248 {
59249 frameCounter = 0.0;
59250 num9 = ((int)ai[1] / 3 % 3) switch
59251 {
59252 1 => 14,
59253 2 => 15,
59254 _ => 13,
59255 };
59256 }
59257 else if (ai[0] == 4f)
59258 {
59259 frameCounter = 0.0;
59260 switch ((int)ai[1] / 15)
59261 {
59262 default:
59263 num9 = 12;
59264 break;
59265 case 1:
59266 num9 = 11;
59267 break;
59268 case 2:
59269 case 3:
59270 num9 = 10;
59271 break;
59272 }
59273 }
59274 else
59275 {
59276 bool flag2 = num9 >= 10 && num9 <= 12;
59277 int num10 = 10;
59278 if (flag2)
59279 {
59280 num10 = 6;
59281 }
59282 if (!flag2 && num9 >= 4)
59283 {
59284 num9 = 0;
59285 frameCounter = -1.0;
59286 }
59287 if ((frameCounter += 1.0) >= (double)num10)
59288 {
59289 frameCounter = 0.0;
59290 num9++;
59291 if ((!flag2 || num9 == 13) && num9 >= 4)
59292 {
59293 num9 = 0;
59294 }
59295 }
59296 }
59297 frame.Y = num9 * num;
59298 }
59299 break;
59300 }
59301 case 604:
59302 case 605:
59303 {
59305 int num155 = 2;
59306 int num156 = 4;
59307 if ((frameCounter += 1.0) >= (double)(num156 * num155))
59308 {
59309 frameCounter = 0.0;
59310 }
59311 if (velocity.Y == 0f)
59312 {
59313 frame.Y = num * ((int)frameCounter / num155);
59314 }
59315 else
59316 {
59317 frame.Y = num * (4 + (int)frameCounter / num155);
59318 }
59319 break;
59320 }
59321 case 669:
59322 {
59324 int num186 = 2;
59325 int num187 = 4;
59326 if ((frameCounter += 1.0) >= (double)(num187 * num186))
59327 {
59328 frameCounter = 0.0;
59329 }
59330 if (velocity.Y == 0f)
59331 {
59332 frame.Y = num * ((int)frameCounter / num186);
59333 }
59334 else
59335 {
59336 frame.Y = num * (4 + (int)frameCounter / num186);
59337 }
59338 break;
59339 }
59340 case 618:
59341 if ((frameCounter += 1.0) >= 5.0)
59342 {
59343 frameCounter = 0.0;
59344 frame.Y += num;
59345 if (frame.Y / num >= Main.npcFrameCount[type])
59346 {
59347 frame.Y = 0;
59348 }
59349 }
59350 break;
59351 case 619:
59352 if ((frameCounter += 1.0) >= 6.0)
59353 {
59354 frameCounter = 0.0;
59355 frame.Y += num;
59356 if (frame.Y / num >= Main.npcFrameCount[type])
59357 {
59358 frame.Y = 0;
59359 }
59360 }
59361 break;
59362 case 636:
59363 frame.Y = (AI_120_HallowBoss_IsInPhase2() ? num : 0);
59364 break;
59365 case 568:
59366 case 569:
59367 if (ai[0] > 0f)
59368 {
59369 int num188 = frame.Y / num;
59372 {
59373 frameCounter = 0.0;
59374 }
59375 num188 = 7;
59376 frameCounter += 1.0;
59377 int num189 = 0;
59378 double num190 = frameCounter;
59379 int num17 = num189 + 1;
59380 num189 = num17;
59381 if (num190 >= (double)(5 * num17))
59382 {
59383 num188 = 8;
59384 }
59385 double num191 = frameCounter;
59386 num17 = num189 + 1;
59387 num189 = num17;
59388 if (num191 >= (double)(5 * num17))
59389 {
59390 num188 = 9;
59391 }
59392 double num192 = frameCounter;
59393 num17 = num189 + 1;
59394 num189 = num17;
59395 if (num192 >= (double)(5 * num17))
59396 {
59397 num188 = 10;
59398 }
59399 double num193 = frameCounter;
59400 num17 = num189 + 1;
59401 num189 = num17;
59402 if (num193 >= (double)(5 * num17))
59403 {
59404 num188 = 7;
59405 }
59406 double num194 = frameCounter;
59407 num17 = num189 + 1;
59408 num189 = num17;
59409 if (num194 >= (double)(5 * num17))
59410 {
59411 num188 = 8;
59412 }
59413 double num195 = frameCounter;
59414 num17 = num189 + 1;
59415 num189 = num17;
59416 if (num195 >= (double)(5 * num17))
59417 {
59418 num188 = 9;
59419 }
59420 double num196 = frameCounter;
59421 num17 = num189 + 1;
59422 num189 = num17;
59423 if (num196 >= (double)(5 * num17))
59424 {
59425 num188 = 10;
59426 }
59427 double num197 = frameCounter;
59428 num17 = num189 + 1;
59429 num189 = num17;
59430 if (num197 >= (double)(5 * num17))
59431 {
59432 num188 = 7;
59433 }
59434 double num198 = frameCounter;
59435 num17 = num189 + 1;
59436 num189 = num17;
59437 if (num198 >= (double)(5 * num17))
59438 {
59439 num188 = 8;
59440 }
59441 double num199 = frameCounter;
59442 num17 = num189 + 1;
59443 num189 = num17;
59444 if (num199 >= (double)(5 * num17))
59445 {
59446 num188 = 9;
59447 }
59448 double num200 = frameCounter;
59449 num17 = num189 + 1;
59450 num189 = num17;
59451 if (num200 >= (double)(5 * num17))
59452 {
59453 num188 = 10;
59454 }
59455 double num201 = frameCounter;
59456 num17 = num189 + 1;
59457 num189 = num17;
59458 if (num201 >= (double)(5 * num17))
59459 {
59460 num188 = 7;
59461 }
59462 double num202 = frameCounter;
59463 num17 = num189 + 1;
59464 num189 = num17;
59465 if (num202 >= (double)(5 * num17))
59466 {
59467 num188 = 8;
59468 }
59469 double num203 = frameCounter;
59470 num17 = num189 + 1;
59471 num189 = num17;
59472 if (num203 >= (double)(5 * num17))
59473 {
59474 num188 = 9;
59475 }
59476 double num204 = frameCounter;
59477 num17 = num189 + 1;
59478 num189 = num17;
59479 if (num204 >= (double)(5 * num17))
59480 {
59481 num188 = 10;
59482 }
59483 double num205 = frameCounter;
59484 num17 = num189 + 1;
59485 num189 = num17;
59486 if (num205 >= (double)(5 * num17))
59487 {
59488 num188 = 7;
59489 }
59490 double num206 = frameCounter;
59491 num17 = num189 + 1;
59492 num189 = num17;
59493 if (num206 >= (double)(5 * num17))
59494 {
59495 num188 = 8;
59496 }
59497 double num207 = frameCounter;
59498 num17 = num189 + 1;
59499 num189 = num17;
59500 if (num207 >= (double)(5 * num17))
59501 {
59502 num188 = 9;
59503 }
59504 double num208 = frameCounter;
59505 num17 = num189 + 1;
59506 num189 = num17;
59507 if (num208 >= (double)(5 * num17))
59508 {
59509 num188 = 10;
59510 }
59511 double num209 = frameCounter;
59512 num17 = num189 + 1;
59513 num189 = num17;
59514 if (num209 >= (double)(5 * num17))
59515 {
59516 num188 = 7;
59517 }
59518 double num210 = frameCounter;
59519 num17 = num189 + 1;
59520 num189 = num17;
59521 if (num210 >= (double)(5 * num17))
59522 {
59523 num188 = 8;
59524 }
59525 double num211 = frameCounter;
59526 num17 = num189 + 1;
59527 num189 = num17;
59528 if (num211 >= (double)(5 * num17))
59529 {
59530 num188 = 9;
59531 }
59532 double num212 = frameCounter;
59533 num17 = num189 + 1;
59534 num189 = num17;
59535 if (num212 >= (double)(5 * num17))
59536 {
59537 num188 = 10;
59538 }
59539 double num213 = frameCounter;
59540 num17 = num189 + 1;
59541 num189 = num17;
59542 if (num213 >= (double)(5 * num17))
59543 {
59544 num188 = 11;
59545 }
59546 double num214 = frameCounter;
59547 num17 = num189 + 1;
59548 num189 = num17;
59549 if (num214 >= (double)(5 * num17))
59550 {
59551 num188 = 12;
59552 }
59553 double num215 = frameCounter;
59554 num17 = num189 + 1;
59555 num189 = num17;
59556 if (num215 >= (double)(5 * num17))
59557 {
59558 num188 = 13;
59559 }
59560 double num216 = frameCounter;
59561 num17 = num189 + 1;
59562 num189 = num17;
59563 if (num216 >= (double)(5 * num17))
59564 {
59565 num188 = 14;
59566 }
59567 if (frameCounter >= 270.0)
59568 {
59569 num188 = 14;
59570 frameCounter -= 10.0;
59571 }
59572 frame.Y = num * num188;
59573 break;
59574 }
59575 if (velocity.Y == 0f)
59576 {
59578 }
59579 if (velocity.Y != 0f || (direction == -1 && velocity.X > 0f) || (direction == 1 && velocity.X < 0f))
59580 {
59581 frameCounter = 0.0;
59582 frame.Y = num * 4;
59583 break;
59584 }
59585 if (velocity.X == 0f)
59586 {
59587 frameCounter = 0.0;
59588 frame.Y = num * 6;
59589 break;
59590 }
59592 if (frameCounter >= 56.0 || frameCounter < 0.0)
59593 {
59594 frameCounter = 0.0;
59595 }
59596 frame.Y = num * (int)(frameCounter / 8.0);
59597 break;
59598 case 551:
59599 {
59600 int num11 = frame.Y / num;
59601 if (ai[0] == 4f)
59602 {
59603 float num12 = 60f;
59604 int num13 = 10;
59605 int num14 = 6 * num13;
59606 if (num11 < 5)
59607 {
59608 frameCounter = 0.0;
59609 }
59610 num11 = 5;
59611 frameCounter = (int)ai[1];
59612 int num15 = 0;
59613 double num16 = frameCounter;
59614 int num17 = num15 + 1;
59615 num15 = num17;
59616 if (num16 >= (double)(5 * num17))
59617 {
59618 num11 = 6;
59619 }
59620 num15 = 0;
59621 if (frameCounter >= (double)(num12 - 6f))
59622 {
59623 num11 = 7;
59624 }
59625 if (frameCounter >= (double)(num12 - 3f))
59626 {
59627 num11 = 8;
59628 }
59629 if (frameCounter >= (double)num12)
59630 {
59631 num11 = 9 + (int)frameCounter / 3 % 2;
59632 }
59633 num15 = 0;
59634 if (frameCounter >= (double)(num12 + (float)num14 + 3f))
59635 {
59636 num11 = 8;
59637 }
59638 double num18 = frameCounter;
59639 float num19 = num12 + (float)num14 + 3f;
59640 num17 = num15 + 1;
59641 num15 = num17;
59642 if (num18 >= (double)(num19 + (float)(5 * num17)))
59643 {
59644 num11 = 7;
59645 }
59646 double num20 = frameCounter;
59647 float num21 = num12 + (float)num14 + 3f;
59648 num17 = num15 + 1;
59649 num15 = num17;
59650 if (num20 >= (double)(num21 + (float)(5 * num17)))
59651 {
59652 num11 = 0;
59653 }
59654 }
59655 else if (ai[0] == 3f)
59656 {
59657 float num22 = 40f;
59658 float num23 = 80f;
59659 float num24 = num22 + num23;
59660 float num25 = 25f;
59661 if (num11 < 5)
59662 {
59663 frameCounter = 0.0;
59664 }
59665 num11 = 5;
59666 frameCounter = (int)ai[1];
59667 int num26 = 0;
59668 double num27 = frameCounter;
59669 int num17 = num26 + 1;
59670 num26 = num17;
59671 if (num27 >= (double)(5 * num17))
59672 {
59673 num11 = 6;
59674 }
59675 num26 = 0;
59676 if (frameCounter >= (double)(num22 - 6f))
59677 {
59678 num11 = 7;
59679 }
59680 if (frameCounter >= (double)(num22 - 3f))
59681 {
59682 num11 = 8;
59683 }
59684 if (frameCounter >= (double)num22)
59685 {
59686 num11 = 9 + (int)frameCounter / 3 % 2;
59687 }
59688 num26 = 0;
59689 if (frameCounter >= (double)(num24 - num25 + 3f))
59690 {
59691 num11 = 8;
59692 }
59693 double num28 = frameCounter;
59694 float num29 = num24 - num25 + 3f;
59695 num17 = num26 + 1;
59696 num26 = num17;
59697 if (num28 >= (double)(num29 + (float)(5 * num17)))
59698 {
59699 num11 = 7;
59700 }
59701 double num30 = frameCounter;
59702 float num31 = num24 - num25 + 3f;
59703 num17 = num26 + 1;
59704 num26 = num17;
59705 if (num30 >= (double)(num31 + (float)(5 * num17)))
59706 {
59707 num11 = 0;
59708 }
59709 }
59710 else if (ai[0] == 5f)
59711 {
59712 num11 = 3;
59713 }
59714 else if (ai[0] == 6f)
59715 {
59716 if (num11 > 4)
59717 {
59718 frameCounter = 0.0;
59719 }
59720 num11 = 1;
59721 frameCounter = (int)ai[1];
59722 int num32 = 0;
59723 double num33 = frameCounter;
59724 int num17 = num32 + 1;
59725 num32 = num17;
59726 if (num33 >= (double)(8 * num17))
59727 {
59728 num11 = 2;
59729 }
59730 double num34 = frameCounter;
59731 num17 = num32 + 1;
59732 num32 = num17;
59733 if (num34 >= (double)(8 * num17))
59734 {
59735 num11 = 3;
59736 }
59737 double num35 = frameCounter;
59738 num17 = num32 + 1;
59739 num32 = num17;
59740 if (num35 >= (double)(8 * num17))
59741 {
59742 num11 = 4;
59743 }
59744 double num36 = frameCounter;
59745 num17 = num32 + 1;
59746 num32 = num17;
59747 if (num36 >= (double)(8 * num17))
59748 {
59749 num11 = 3;
59750 }
59751 double num37 = frameCounter;
59752 num17 = num32 + 1;
59753 num32 = num17;
59754 if (num37 >= (double)(8 * num17))
59755 {
59756 num11 = 4;
59757 }
59758 double num38 = frameCounter;
59759 num17 = num32 + 1;
59760 num32 = num17;
59761 if (num38 >= (double)(8 * num17))
59762 {
59763 num11 = 3;
59764 }
59765 double num39 = frameCounter;
59766 num17 = num32 + 1;
59767 num32 = num17;
59768 if (num39 >= (double)(8 * num17))
59769 {
59770 num11 = 2;
59771 }
59772 double num40 = frameCounter;
59773 num17 = num32 + 1;
59774 num32 = num17;
59775 if (num40 >= (double)(8 * num17))
59776 {
59777 num11 = 1;
59778 }
59779 double num41 = frameCounter;
59780 num17 = num32 + 1;
59781 num32 = num17;
59782 if (num41 >= (double)(8 * num17))
59783 {
59784 num11 = 0;
59785 }
59786 }
59787 else
59788 {
59789 num11 = 0;
59790 }
59791 frame.Y = num * num11;
59792 break;
59793 }
59794 case 552:
59795 case 553:
59796 case 554:
59797 if (ai[0] > 0f)
59798 {
59800 if (frame.Y < num * 10 || frame.Y > num * 13 || ai[1] == 29f)
59801 {
59802 frame.Y = num * 10;
59803 frameCounter = 0.0;
59804 }
59805 if ((frameCounter += 1.0) >= 6.0 && frame.Y < num * 13)
59806 {
59807 frameCounter = 0.0;
59808 frame.Y += num;
59809 }
59810 break;
59811 }
59812 if (velocity.Y == 0f)
59813 {
59815 }
59816 if (velocity.Y != 0f || (direction == -1 && velocity.X > 0f) || (direction == 1 && velocity.X < 0f))
59817 {
59818 frameCounter = 0.0;
59819 frame.Y = num * 8;
59820 break;
59821 }
59822 if (velocity.X == 0f)
59823 {
59824 frameCounter = 0.0;
59825 frame.Y = num * 9;
59826 break;
59827 }
59829 if (frameCounter >= 64.0 || frameCounter < 0.0)
59830 {
59831 frameCounter = 0.0;
59832 }
59833 frame.Y = num * (int)(frameCounter / 8.0);
59834 break;
59835 case 572:
59836 case 573:
59837 if (ai[0] > 0f && ai[1] == 0f)
59838 {
59840 if (frame.Y != num * 8 || frameCounter > 2.0)
59841 {
59842 frame.Y = num * 8;
59843 frameCounter = 0.0;
59844 }
59845 if (frameCounter == 0.0)
59846 {
59847 frameCounter = 1.0;
59848 EmoteBubble.NewBubble(3, new WorldUIAnchor(this), 60);
59849 }
59850 break;
59851 }
59852 if (ai[1] == 1f)
59853 {
59854 if (velocity.Y == 0f)
59855 {
59857 }
59858 if (velocity.Y != 0f || (direction == -1 && velocity.X > 0f) || (direction == 1 && velocity.X < 0f))
59859 {
59860 frameCounter = 0.0;
59861 frame.Y = num * 17;
59862 break;
59863 }
59864 if (velocity.X == 0f)
59865 {
59866 frameCounter = 0.0;
59867 frame.Y = num * 8;
59868 break;
59869 }
59871 if (frameCounter >= 64.0 || frameCounter < 0.0)
59872 {
59873 frameCounter = 0.0;
59874 }
59875 frame.Y = num * ((int)(frameCounter / 8.0) + 8);
59876 break;
59877 }
59878 if (velocity.Y == 0f)
59879 {
59881 }
59882 if (velocity.Y != 0f || (direction == -1 && velocity.X > 0f) || (direction == 1 && velocity.X < 0f))
59883 {
59884 frameCounter = 0.0;
59885 frame.Y = num * 16;
59886 break;
59887 }
59888 if (velocity.X == 0f)
59889 {
59890 frameCounter = 0.0;
59891 frame.Y = 0;
59892 break;
59893 }
59895 if (frameCounter >= 64.0 || frameCounter < 0.0)
59896 {
59897 frameCounter = 0.0;
59898 }
59899 frame.Y = num * (int)(frameCounter / 8.0);
59900 break;
59901 case 566:
59902 case 567:
59903 if (velocity.Y == 0f)
59904 {
59906 }
59907 if (velocity.Y != 0f || (direction == -1 && velocity.X > 0f) || (direction == 1 && velocity.X < 0f))
59908 {
59909 frameCounter = 0.0;
59910 frame.Y = num * 8;
59911 break;
59912 }
59913 if (velocity.X == 0f)
59914 {
59915 frameCounter = 0.0;
59916 frame.Y = 0;
59917 break;
59918 }
59920 if (frameCounter >= 64.0 || frameCounter < 0.0)
59921 {
59922 frameCounter = 0.0;
59923 }
59924 frame.Y = num * (int)(frameCounter / 8.0);
59925 break;
59926 case 576:
59927 case 577:
59928 {
59929 int num76 = frame.Y;
59930 frame.Width = 80;
59931 if (ai[0] > 0f && ai[1] == 0f)
59932 {
59934 if (num76 < 11 || num76 > 20)
59935 {
59936 num76 = 11;
59937 frameCounter = 0.0;
59938 }
59939 int num77 = 4;
59940 if (num76 == 13 || num76 == 19)
59941 {
59942 num77 = 8;
59943 }
59944 if (num76 == 14 || num76 == 18)
59945 {
59946 num77 = 2;
59947 }
59948 if ((frameCounter += 1.0) >= (double)num77 && num76 < 20)
59949 {
59950 frameCounter = 0.0;
59951 num76++;
59952 }
59953 }
59954 else if (ai[0] > 0f && ai[1] == 2f)
59955 {
59957 if (num76 < 37 || num76 > 47)
59958 {
59959 num76 = 39;
59960 frameCounter = 0.0;
59961 }
59962 int num78 = 5;
59963 if (num76 == 42)
59964 {
59965 num78 = 6;
59966 }
59967 if (num76 == 45)
59968 {
59969 num78 = 8;
59970 }
59971 if (num76 == 46)
59972 {
59973 num78 = 4;
59974 }
59975 if (num76 == 47)
59976 {
59977 num78 = 26;
59978 }
59979 if (num76 == 37 || num76 == 38)
59980 {
59981 num78 = 7;
59982 }
59983 bool flag7 = true;
59984 if (num76 == 46 && velocity.Y != 0f)
59985 {
59986 flag7 = false;
59987 }
59988 if (num76 == 38)
59989 {
59990 flag7 = false;
59991 }
59992 if (flag7)
59993 {
59994 frameCounter += 1.0;
59995 }
59996 if (frameCounter >= (double)num78)
59997 {
59998 if (num76 < 47)
59999 {
60000 frameCounter = 0.0;
60001 num76++;
60002 }
60003 else
60004 {
60005 num76 = 37;
60006 frameCounter = 0.0;
60007 }
60008 }
60009 }
60010 else if (ai[0] > 0f && ai[1] == 1f)
60011 {
60013 if (num76 < 21 || num76 > 38)
60014 {
60015 num76 = 21;
60016 frameCounter = 0.0;
60017 }
60018 int num79 = 5;
60019 if ((frameCounter += 1.0) >= (double)num79 && num76 < 38)
60020 {
60021 frameCounter = 0.0;
60022 num76++;
60023 }
60024 }
60025 else
60026 {
60027 if (velocity.Y == 0f)
60028 {
60030 }
60031 if (velocity.Y != 0f)
60032 {
60033 frameCounter = 0.0;
60034 num76 = 43;
60035 }
60036 else if (velocity.X == 0f)
60037 {
60038 frameCounter = 0.0;
60039 num76 = 0;
60040 }
60041 else
60042 {
60044 if (frameCounter >= 60.0 || frameCounter < 0.0)
60045 {
60046 frameCounter = 0.0;
60047 }
60048 num76 = 1 + (int)(frameCounter / 6.0);
60049 }
60050 }
60051 frame.Y = num76;
60052 break;
60053 }
60054 case 570:
60055 case 571:
60056 if (ai[1] > 0f && ai[0] > 0f)
60057 {
60059 if (frame.Y < num * 10 || frame.Y > num * 15 || ai[1] == 59f)
60060 {
60061 frame.Y = num * 10;
60062 frameCounter = 0.0;
60063 }
60064 int num232 = 5;
60065 if (frame.Y == num * 14)
60066 {
60067 num232 = 35;
60068 }
60069 if ((frameCounter += 1.0) >= (double)num232 && frame.Y < num * 15)
60070 {
60071 frameCounter = 0.0;
60072 frame.Y += num;
60073 }
60074 break;
60075 }
60076 if (velocity.Y == 0f)
60077 {
60079 }
60080 if (velocity.Y != 0f || (direction == -1 && velocity.X > 0f) || (direction == 1 && velocity.X < 0f))
60081 {
60082 frameCounter = 0.0;
60083 frame.Y = num;
60084 break;
60085 }
60086 if (velocity.X == 0f)
60087 {
60088 frameCounter = 0.0;
60089 frame.Y = num * 9;
60090 break;
60091 }
60093 if (frameCounter >= 64.0 || frameCounter < 0.0)
60094 {
60095 frameCounter = 0.0;
60096 }
60097 frame.Y = num * (int)(frameCounter / 8.0 + 2.0);
60098 break;
60099 case 561:
60100 case 562:
60101 case 563:
60102 if (ai[1] > 0f && ai[0] > 0f)
60103 {
60105 if (frame.Y < num * 10 || frame.Y > num * 13 || ai[1] == 89f)
60106 {
60107 frame.Y = num * 10;
60108 frameCounter = 0.0;
60109 }
60110 if ((frameCounter += 1.0) >= 6.0 && frame.Y < num * 13)
60111 {
60112 frameCounter = 0.0;
60113 frame.Y += num;
60114 }
60115 break;
60116 }
60117 if (velocity.Y == 0f)
60118 {
60120 }
60121 if (velocity.Y != 0f || (direction == -1 && velocity.X > 0f) || (direction == 1 && velocity.X < 0f))
60122 {
60123 frameCounter = 0.0;
60124 frame.Y = num * 8;
60125 break;
60126 }
60127 if (velocity.X == 0f)
60128 {
60129 frameCounter = 0.0;
60130 frame.Y = num * 9;
60131 break;
60132 }
60134 if (frameCounter >= 64.0 || frameCounter < 0.0)
60135 {
60136 frameCounter = 0.0;
60137 }
60138 frame.Y = num * (int)(frameCounter / 8.0);
60139 break;
60140 case 555:
60141 case 556:
60142 case 557:
60143 if (ai[1] > 0f && ai[0] > 0f)
60144 {
60146 if (frame.Y < num * 10 || frame.Y > num * 16 || ai[1] == 41f)
60147 {
60148 frame.Y = num * 10;
60149 frameCounter = 0.0;
60150 }
60151 if ((frameCounter += 1.0) >= 6.0 && frame.Y < num * 16)
60152 {
60153 frameCounter = 0.0;
60154 frame.Y += num;
60155 }
60156 break;
60157 }
60158 if (velocity.Y == 0f)
60159 {
60161 }
60162 if (velocity.Y != 0f || (direction == -1 && velocity.X > 0f) || (direction == 1 && velocity.X < 0f))
60163 {
60164 frameCounter = 0.0;
60165 frame.Y = num;
60166 break;
60167 }
60168 if (velocity.X == 0f)
60169 {
60170 frameCounter = 0.0;
60171 frame.Y = 0;
60172 break;
60173 }
60175 if (frameCounter >= 64.0 || frameCounter < 0.0)
60176 {
60177 frameCounter = 0.0;
60178 }
60179 frame.Y = num * ((int)(frameCounter / 8.0) + 2);
60180 break;
60181 case 558:
60182 case 559:
60183 case 560:
60184 {
60185 if (velocity.X > 0f)
60186 {
60187 spriteDirection = 1;
60188 }
60189 if (velocity.X < 0f)
60190 {
60191 spriteDirection = -1;
60192 }
60193 float num45 = velocity.ToRotation();
60194 if (velocity.X < 0f)
60195 {
60196 num45 += (float)Math.PI;
60197 }
60198 if (ai[0] != 2f)
60199 {
60200 num45 = velocity.X * 0.1f;
60201 }
60202 rotation = num45;
60203 if (ai[0] == 2f)
60204 {
60205 frame.Y = num * 4;
60206 }
60207 else if ((frameCounter += 1.0) >= 6.0)
60208 {
60209 frame.Y += num;
60210 frameCounter = 0.0;
60211 if (frame.Y >= num * 4)
60212 {
60213 frame.Y = 0;
60214 }
60215 }
60216 break;
60217 }
60218 case 578:
60219 rotation = velocity.X * 0.1f;
60220 if ((frameCounter += 1.0) >= 4.0)
60221 {
60222 frame.Y += num;
60223 frameCounter = 0.0;
60224 if (frame.Y >= num * 4)
60225 {
60226 frame.Y = 0;
60227 }
60228 }
60229 break;
60230 case 574:
60231 case 575:
60232 {
60233 if (velocity.X > 0f)
60234 {
60235 spriteDirection = 1;
60236 }
60237 if (velocity.X < 0f)
60238 {
60239 spriteDirection = -1;
60240 }
60241 float num230 = velocity.ToRotation();
60242 if (velocity.X < 0f)
60243 {
60244 num230 += (float)Math.PI;
60245 }
60246 rotation = rotation.AngleTowards(num230, 0.02f);
60247 if (ai[0] != 0f)
60248 {
60249 if (frame.Y < num * 2)
60250 {
60251 frame.Y = num * 2;
60252 frameCounter = 0.0;
60253 }
60254 int num231 = 4;
60255 if (frame.Y >= num * 5)
60256 {
60257 num231 = 8;
60258 }
60259 Vector2 vector3 = base.Center + new Vector2(56 * spriteDirection, -30f).RotatedBy(rotation);
60260 if ((frameCounter += 1.0) >= (double)num231 && frame.Y < num * 9)
60261 {
60262 frameCounter = 0.0;
60263 frame.Y += num;
60264 if (frame.Y == num * 9)
60265 {
60266 for (int k = 0; k < 8; k++)
60267 {
60268 Dust dust2 = Dust.NewDustDirect(vector3, 0, 0, 6, 0f, 0f, 100);
60269 Dust dust = dust2;
60270 dust.velocity *= 3f;
60271 dust2.scale = 0.6f;
60272 dust2.fadeIn = 1.2f;
60273 dust2.noGravity = true;
60274 dust2.noLight = true;
60275 }
60276 }
60277 }
60278 if (frame.Y < num * 9 || !(ai[0] < 3f))
60279 {
60280 break;
60281 }
60284 int maxValue = 5;
60285 if (frameCounter > 60.0)
60286 {
60287 maxValue = 4;
60288 }
60289 if (frameCounter > 180.0)
60290 {
60291 maxValue = 3;
60292 }
60293 if (frameCounter > 300.0)
60294 {
60295 maxValue = 2;
60296 }
60297 if (frameCounter > 600.0)
60298 {
60299 maxValue = 1;
60300 }
60301 for (int l = 0; l < 2; l++)
60302 {
60303 if (Main.rand.Next(maxValue) == 0)
60304 {
60305 Dust dust3 = Dust.NewDustDirect(Vector2.Lerp(value2, value, (float)l / 10f + 0.1f), 0, 0, 6, 0f, 0f, 50);
60306 dust3.scale = 0.3f;
60307 dust3.fadeIn = 1.5f;
60308 dust3.noGravity = true;
60309 dust3.noLight = true;
60310 }
60311 }
60312 }
60313 else if ((frameCounter += 1.0) >= 6.0)
60314 {
60315 frame.Y += num;
60316 frameCounter = 0.0;
60317 if (frame.Y >= num * 2)
60318 {
60319 frame.Y = 0;
60320 }
60321 }
60322 break;
60323 }
60324 case 549:
60325 spriteDirection = 1;
60326 rotation = 0f;
60327 if ((frameCounter += 1.0) >= 6.0)
60328 {
60329 frame.Y += num;
60330 frameCounter = 0.0;
60331 if (frame.Y >= num * Main.npcFrameCount[type])
60332 {
60333 frame.Y = 0;
60334 }
60335 }
60336 break;
60337 case 594:
60338 spriteDirection = 1;
60339 frame.Y = (int)ai[2];
60340 frame.Width = 32;
60341 break;
60342 case 564:
60343 case 565:
60344 {
60345 int y = frame.Y;
60346 frame.Width = 80;
60347 frame.Height = 80;
60348 if (ai[0] > 0f && ai[1] == 0f)
60349 {
60351 if (y < 5 || y > 13)
60352 {
60353 frameCounter = 0.0;
60354 }
60355 y = 5;
60356 frameCounter += 1.0;
60357 int num87 = 0;
60358 double num88 = frameCounter;
60359 int num17 = num87 + 1;
60360 num87 = num17;
60361 if (num88 >= (double)(7 * num17))
60362 {
60363 y = 6;
60364 }
60365 double num89 = frameCounter;
60366 num17 = num87 + 1;
60367 num87 = num17;
60368 if (num89 >= (double)(7 * num17))
60369 {
60370 y = 7;
60371 }
60372 double num90 = frameCounter;
60373 num17 = num87 + 1;
60374 num87 = num17;
60375 if (num90 >= (double)(7 * num17))
60376 {
60377 y = 5;
60378 }
60379 double num91 = frameCounter;
60380 num17 = num87 + 1;
60381 num87 = num17;
60382 if (num91 >= (double)(7 * num17))
60383 {
60384 y = 6;
60385 }
60386 double num92 = frameCounter;
60387 num17 = num87 + 1;
60388 num87 = num17;
60389 if (num92 >= (double)(7 * num17))
60390 {
60391 y = 7;
60392 }
60393 double num93 = frameCounter;
60394 num17 = num87 + 1;
60395 num87 = num17;
60396 if (num93 >= (double)(7 * num17))
60397 {
60398 y = 5;
60399 }
60400 double num94 = frameCounter;
60401 num17 = num87 + 1;
60402 num87 = num17;
60403 if (num94 >= (double)(7 * num17))
60404 {
60405 y = 6;
60406 }
60407 double num95 = frameCounter;
60408 num17 = num87 + 1;
60409 num87 = num17;
60410 if (num95 >= (double)(7 * num17))
60411 {
60412 y = 7;
60413 }
60414 double num96 = frameCounter;
60415 num17 = num87 + 1;
60416 num87 = num17;
60417 if (num96 >= (double)(7 * num17))
60418 {
60419 y = 8;
60420 }
60421 double num97 = frameCounter;
60422 num17 = num87 + 1;
60423 num87 = num17;
60424 if (num97 >= (double)(7 * num17))
60425 {
60426 y = 9;
60427 }
60428 double num98 = frameCounter;
60429 num17 = num87 + 1;
60430 num87 = num17;
60431 if (num98 >= (double)(7 * num17))
60432 {
60433 y = 10;
60434 }
60435 double num99 = frameCounter;
60436 num17 = num87 + 1;
60437 num87 = num17;
60438 if (num99 >= (double)(7 * num17))
60439 {
60440 y = 11;
60441 }
60442 double num100 = frameCounter;
60443 num17 = num87 + 1;
60444 num87 = num17;
60445 if (num100 >= (double)(7 * num17))
60446 {
60447 y = 12;
60448 }
60449 double num101 = frameCounter;
60450 num17 = num87 + 1;
60451 num87 = num17;
60452 if (num101 >= (double)(7 * num17))
60453 {
60454 y = 5;
60455 frameCounter = 0.0;
60456 }
60457 }
60458 else if (ai[0] > 0f && ai[1] == 1f)
60459 {
60461 if (y < 13 || y > 25)
60462 {
60463 frameCounter = 0.0;
60464 }
60465 y = 13;
60466 frameCounter += 1.0;
60467 int num102 = 0;
60468 double num103 = frameCounter;
60469 int num17 = num102 + 1;
60470 num102 = num17;
60471 if (num103 >= (double)(8 * num17))
60472 {
60473 y = 14;
60474 }
60475 double num104 = frameCounter;
60476 num17 = num102 + 1;
60477 num102 = num17;
60478 if (num104 >= (double)(8 * num17))
60479 {
60480 y = 15;
60481 }
60482 double num105 = frameCounter;
60483 num17 = num102 + 1;
60484 num102 = num17;
60485 if (num105 >= (double)(8 * num17))
60486 {
60487 y = 16;
60488 }
60489 double num106 = frameCounter;
60490 num17 = num102 + 1;
60491 num102 = num17;
60492 if (num106 >= (double)(8 * num17))
60493 {
60494 y = 17;
60495 }
60496 double num107 = frameCounter;
60497 num17 = num102 + 1;
60498 num102 = num17;
60499 if (num107 >= (double)(8 * num17))
60500 {
60501 y = 18;
60502 }
60503 double num108 = frameCounter;
60504 num17 = num102 + 1;
60505 num102 = num17;
60506 if (num108 >= (double)(8 * num17))
60507 {
60508 y = 19;
60509 }
60510 double num109 = frameCounter;
60511 num17 = num102 + 1;
60512 num102 = num17;
60513 if (num109 >= (double)(8 * num17))
60514 {
60515 y = 20;
60516 }
60517 double num110 = frameCounter;
60518 num17 = num102 + 1;
60519 num102 = num17;
60520 if (num110 >= (double)(8 * num17))
60521 {
60522 y = 18;
60523 }
60524 double num111 = frameCounter;
60525 num17 = num102 + 1;
60526 num102 = num17;
60527 if (num111 >= (double)(8 * num17))
60528 {
60529 y = 19;
60530 }
60531 double num112 = frameCounter;
60532 num17 = num102 + 1;
60533 num102 = num17;
60534 if (num112 >= (double)(8 * num17))
60535 {
60536 y = 20;
60537 }
60538 double num113 = frameCounter;
60539 num17 = num102 + 1;
60540 num102 = num17;
60541 if (num113 >= (double)(8 * num17))
60542 {
60543 y = 21;
60544 }
60545 double num114 = frameCounter;
60546 num17 = num102 + 1;
60547 num102 = num17;
60548 if (num114 >= (double)(8 * num17))
60549 {
60550 y = 22;
60551 }
60552 double num115 = frameCounter;
60553 num17 = num102 + 1;
60554 num102 = num17;
60555 if (num115 >= (double)(8 * num17))
60556 {
60557 y = 23;
60558 }
60559 double num116 = frameCounter;
60560 num17 = num102 + 1;
60561 num102 = num17;
60562 if (num116 >= (double)(8 * num17))
60563 {
60564 y = 24;
60565 }
60566 double num117 = frameCounter;
60567 num17 = num102 + 1;
60568 num102 = num17;
60569 if (num117 >= (double)(8 * num17))
60570 {
60571 y = 25;
60572 }
60573 double num118 = frameCounter;
60574 num17 = num102 + 1;
60575 num102 = num17;
60576 if (num118 >= (double)(8 * num17))
60577 {
60578 y = 14;
60579 frameCounter = 0.0;
60580 }
60581 }
60582 else if (ai[0] > 0f && ai[1] == 2f)
60583 {
60585 if (y < 26 || y > 40)
60586 {
60587 frameCounter = 0.0;
60588 }
60589 y = 26;
60590 frameCounter += 1.0;
60591 int num119 = 0;
60592 double num120 = frameCounter;
60593 int num17 = num119 + 1;
60594 num119 = num17;
60595 if (num120 >= (double)(8 * num17))
60596 {
60597 y = 27;
60598 }
60599 double num121 = frameCounter;
60600 num17 = num119 + 1;
60601 num119 = num17;
60602 if (num121 >= (double)(8 * num17))
60603 {
60604 y = 28;
60605 }
60606 double num122 = frameCounter;
60607 num17 = num119 + 1;
60608 num119 = num17;
60609 if (num122 >= (double)(8 * num17))
60610 {
60611 y = 29;
60612 }
60613 double num123 = frameCounter;
60614 num17 = num119 + 1;
60615 num119 = num17;
60616 if (num123 >= (double)(8 * num17))
60617 {
60618 y = 26;
60619 }
60620 double num124 = frameCounter;
60621 num17 = num119 + 1;
60622 num119 = num17;
60623 if (num124 >= (double)(8 * num17))
60624 {
60625 y = 27;
60626 }
60627 double num125 = frameCounter;
60628 num17 = num119 + 1;
60629 num119 = num17;
60630 if (num125 >= (double)(8 * num17))
60631 {
60632 y = 28;
60633 }
60634 double num126 = frameCounter;
60635 num17 = num119 + 1;
60636 num119 = num17;
60637 if (num126 >= (double)(8 * num17))
60638 {
60639 y = 29;
60640 }
60641 double num127 = frameCounter;
60642 num17 = num119 + 1;
60643 num119 = num17;
60644 if (num127 >= (double)(8 * num17))
60645 {
60646 y = 26;
60647 }
60648 double num128 = frameCounter;
60649 num17 = num119 + 1;
60650 num119 = num17;
60651 if (num128 >= (double)(8 * num17))
60652 {
60653 y = 27;
60654 }
60655 double num129 = frameCounter;
60656 num17 = num119 + 1;
60657 num119 = num17;
60658 if (num129 >= (double)(8 * num17))
60659 {
60660 y = 28;
60661 }
60662 double num130 = frameCounter;
60663 num17 = num119 + 1;
60664 num119 = num17;
60665 if (num130 >= (double)(8 * num17))
60666 {
60667 y = 29;
60668 }
60669 double num131 = frameCounter;
60670 num17 = num119 + 1;
60671 num119 = num17;
60672 if (num131 >= (double)(8 * num17))
60673 {
60674 y = 30;
60675 }
60676 double num132 = frameCounter;
60677 num17 = num119 + 1;
60678 num119 = num17;
60679 if (num132 >= (double)(8 * num17))
60680 {
60681 y = 31;
60682 }
60683 double num133 = frameCounter;
60684 num17 = num119 + 1;
60685 num119 = num17;
60686 if (num133 >= (double)(8 * num17))
60687 {
60688 y = 32;
60689 }
60690 double num134 = frameCounter;
60691 num17 = num119 + 1;
60692 num119 = num17;
60693 if (num134 >= (double)(8 * num17))
60694 {
60695 y = 33;
60696 }
60697 double num135 = frameCounter;
60698 num17 = num119 + 1;
60699 num119 = num17;
60700 if (num135 >= (double)(8 * num17))
60701 {
60702 y = 34;
60703 }
60704 double num136 = frameCounter;
60705 num17 = num119 + 1;
60706 num119 = num17;
60707 if (num136 >= (double)(8 * num17))
60708 {
60709 y = 35;
60710 }
60711 double num137 = frameCounter;
60712 num17 = num119 + 1;
60713 num119 = num17;
60714 if (num137 >= (double)(8 * num17))
60715 {
60716 y = 36;
60717 }
60718 double num138 = frameCounter;
60719 num17 = num119 + 1;
60720 num119 = num17;
60721 if (num138 >= (double)(8 * num17))
60722 {
60723 y = 37;
60724 }
60725 double num139 = frameCounter;
60726 num17 = num119 + 1;
60727 num119 = num17;
60728 if (num139 >= (double)(8 * num17))
60729 {
60730 y = 38;
60731 }
60732 double num140 = frameCounter;
60733 num17 = num119 + 1;
60734 num119 = num17;
60735 if (num140 >= (double)(8 * num17))
60736 {
60737 y = 39;
60738 }
60739 double num141 = frameCounter;
60740 num17 = num119 + 1;
60741 num119 = num17;
60742 if (num141 >= (double)(8 * num17))
60743 {
60744 y = 40;
60745 }
60746 double num142 = frameCounter;
60747 num17 = num119 + 1;
60748 num119 = num17;
60749 if (num142 >= (double)(8 * num17))
60750 {
60751 y = 26;
60752 frameCounter = 0.0;
60753 }
60754 }
60755 else
60756 {
60757 frameCounter = frameCounter + (double)(velocity.Length() * 0.1f) + 1.0;
60758 if (frameCounter >= 40.0 || frameCounter < 0.0)
60759 {
60760 frameCounter = 0.0;
60761 }
60762 y = (int)(frameCounter / 8.0);
60763 }
60764 frame.Y = y;
60765 break;
60766 }
60767 case 620:
60768 if (ai[1] > 0f && ai[0] > 0f)
60769 {
60771 if (frame.Y < num * 14 || frame.Y > num * 20 || ai[1] == 59f)
60772 {
60773 frame.Y = num * 14;
60774 frameCounter = 0.0;
60775 }
60776 int num222 = 5;
60777 if (frame.Y == num * 17 || frame.Y == num * 16)
60778 {
60779 num222 = 3;
60780 }
60781 if ((frameCounter += 1.0) >= (double)num222 && frame.Y < num * 20)
60782 {
60783 frameCounter = 0.0;
60784 frame.Y += num;
60785 if (ai[1] > 0f && frame.Y == num * 18)
60786 {
60787 frame.Y = num * 16;
60788 }
60789 }
60790 break;
60791 }
60792 if (wet)
60793 {
60794 if (velocity.X < 0f)
60795 {
60796 direction = -1;
60797 }
60798 if (velocity.X > 0f)
60799 {
60800 direction = 1;
60801 }
60803 {
60804 rotation *= -1f;
60806 }
60807 float num223 = (float)Math.Atan2(velocity.Y * (float)direction, velocity.X * (float)direction);
60808 if (Math.Abs(rotation - num223) >= (float)Math.PI)
60809 {
60810 if (num223 < rotation)
60811 {
60812 rotation -= (float)Math.PI * 2f;
60813 }
60814 else
60815 {
60816 rotation += (float)Math.PI * 2f;
60817 }
60818 }
60819 rotation = (rotation * 4f + num223) / 5f;
60821 frameCounter += 1.0;
60822 if (frameCounter > 8.0)
60823 {
60824 frame.Y += num;
60825 frameCounter = 0.0;
60826 }
60827 if (frame.Y / num > 13)
60828 {
60829 frame.Y = num * 8;
60830 }
60831 else if (frame.Y / num < 8)
60832 {
60833 frame.Y = num * 13;
60834 }
60835 break;
60836 }
60837 if ((double)rotation > 3.14)
60838 {
60839 rotation -= 6.28f;
60840 }
60841 if ((double)rotation > -0.01 && (double)rotation < 0.01)
60842 {
60843 rotation = 0f;
60844 }
60845 else
60846 {
60847 rotation *= 0.9f;
60848 }
60849 if (velocity.Y == 0f)
60850 {
60851 if (direction == 1)
60852 {
60853 spriteDirection = 1;
60854 }
60855 if (direction == -1)
60856 {
60857 spriteDirection = -1;
60858 }
60859 if (velocity.X == 0f)
60860 {
60861 frame.Y = 0;
60862 frameCounter = 0.0;
60863 break;
60864 }
60865 if (frame.Y < num * 2)
60866 {
60867 frame.Y = num * 2;
60868 }
60870 frameCounter += 1.0;
60871 if (frameCounter > 9.0)
60872 {
60873 frame.Y += num;
60874 frameCounter = 0.0;
60875 }
60876 if (frame.Y / num > 7)
60877 {
60878 frame.Y = num * 2;
60879 }
60880 }
60881 else
60882 {
60883 frameCounter = 0.0;
60884 frame.Y = num;
60885 }
60886 break;
60887 case 17:
60888 case 18:
60889 case 19:
60890 case 20:
60891 case 21:
60892 case 22:
60893 case 26:
60894 case 27:
60895 case 28:
60896 case 31:
60897 case 37:
60898 case 38:
60899 case 44:
60900 case 54:
60901 case 73:
60902 case 77:
60903 case 78:
60904 case 79:
60905 case 80:
60906 case 104:
60907 case 107:
60908 case 108:
60909 case 120:
60910 case 124:
60911 case 140:
60912 case 142:
60913 case 159:
60914 case 160:
60915 case 162:
60916 case 167:
60917 case 178:
60918 case 181:
60919 case 185:
60920 case 196:
60921 case 197:
60922 case 198:
60923 case 201:
60924 case 202:
60925 case 203:
60926 case 207:
60927 case 208:
60928 case 209:
60929 case 212:
60930 case 213:
60931 case 227:
60932 case 228:
60933 case 229:
60934 case 287:
60935 case 294:
60936 case 295:
60937 case 296:
60938 case 310:
60939 case 311:
60940 case 312:
60941 case 313:
60942 case 314:
60943 case 322:
60944 case 323:
60945 case 324:
60946 case 326:
60947 case 338:
60948 case 339:
60949 case 340:
60950 case 353:
60951 case 368:
60952 case 369:
60953 case 441:
60954 case 453:
60955 case 460:
60956 case 462:
60957 case 463:
60958 case 489:
60959 case 534:
60960 case 550:
60961 case 588:
60962 case 630:
60963 case 632:
60964 case 633:
60965 case 635:
60966 case 637:
60967 case 638:
60968 case 656:
60969 case 663:
60970 case 670:
60971 case 678:
60972 case 679:
60973 case 680:
60974 case 681:
60975 case 682:
60976 case 683:
60977 case 684:
60978 {
60981 if (false && !Main.dedServ && TownNPCProfiles.Instance.GetProfile(type, out var profile))
60982 {
60983 Asset<Texture2D> textureNPCShouldUse = profile.GetTextureNPCShouldUse(this);
60984 if (textureNPCShouldUse.IsLoaded)
60985 {
60986 num = textureNPCShouldUse.Height() / Main.npcFrameCount[type];
60987 frame.Width = textureNPCShouldUse.Width();
60988 frame.Height = num;
60989 }
60990 }
60991 if (velocity.Y == 0f)
60992 {
60993 if (direction == 1)
60994 {
60995 spriteDirection = 1;
60996 }
60997 if (direction == -1)
60998 {
60999 spriteDirection = -1;
61000 }
61002 {
61003 spriteDirection *= -1;
61004 }
61005 int num237 = Main.npcFrameCount[type] - NPCID.Sets.AttackFrameCount[type];
61006 if (ai[0] == 23f)
61007 {
61008 frameCounter += 1.0;
61009 int num238 = frame.Y / num;
61010 int num17 = num237 - num238;
61011 if ((uint)(num17 - 1) > 1u && (uint)(num17 - 4) > 1u && num238 != 0)
61012 {
61013 frame.Y = 0;
61014 frameCounter = 0.0;
61015 }
61016 int num239 = 0;
61017 num239 = ((!(frameCounter < 6.0)) ? (num237 - 4) : (num237 - 5));
61018 if (ai[1] < 6f)
61019 {
61020 num239 = num237 - 5;
61021 }
61022 frame.Y = num * num239;
61023 }
61024 else if (ai[0] >= 20f && ai[0] <= 22f)
61025 {
61026 int num240 = frame.Y / num;
61027 switch ((int)ai[0])
61028 {
61029 case 20:
61030 if (flag11)
61031 {
61032 if (ai[1] > 30f && (num240 < 8 || num240 > 13))
61033 {
61034 num240 = 8;
61035 }
61036 if (num240 > 0)
61037 {
61038 frameCounter += 1.0;
61039 }
61040 if (frameCounter >= 12.0)
61041 {
61042 frameCounter = 0.0;
61043 num240++;
61044 if (num240 > 13 && ai[1] > 30f)
61045 {
61046 num240 = 8;
61047 }
61048 if (num240 > 13)
61049 {
61050 num240 = 0;
61051 }
61052 }
61053 }
61054 if (type == 656)
61055 {
61056 if (ai[1] > 30f && (num240 < 7 || num240 > 9))
61057 {
61058 num240 = 7;
61059 }
61060 if (num240 > 0)
61061 {
61062 frameCounter += 1.0;
61063 }
61064 if (frameCounter > 4.0)
61065 {
61066 frameCounter = 0.0;
61067 num240++;
61068 if (num240 > 8 && ai[1] > 30f)
61069 {
61070 num240 = 8;
61071 }
61072 if (num240 > 9)
61073 {
61074 num240 = 0;
61075 }
61076 }
61077 }
61078 if (type == 637)
61079 {
61080 if (ai[1] > 30f && (num240 < 10 || num240 > 16))
61081 {
61082 num240 = 10;
61083 }
61084 if (num240 > 0)
61085 {
61086 frameCounter += 1.0;
61087 }
61088 if (frameCounter > 4.0)
61089 {
61090 frameCounter = 0.0;
61091 num240++;
61092 if (num240 > 13 && ai[1] > 30f)
61093 {
61094 num240 = 13;
61095 }
61096 if (num240 > 16)
61097 {
61098 num240 = 0;
61099 }
61100 }
61101 }
61102 if (type != 638)
61103 {
61104 break;
61105 }
61106 if (ai[1] > 30f && (num240 < 23 || num240 > 27))
61107 {
61108 num240 = 23;
61109 }
61110 if (num240 > 0)
61111 {
61112 frameCounter += 1.0;
61113 }
61114 if (frameCounter > 4.0)
61115 {
61116 frameCounter = 0.0;
61117 num240++;
61118 if (num240 > 26 && ai[1] > 30f)
61119 {
61120 num240 = 24;
61121 }
61122 if (num240 > 27)
61123 {
61124 num240 = 0;
61125 }
61126 }
61127 break;
61128 case 21:
61129 if (type == 656)
61130 {
61131 if (ai[1] > 30f && (num240 < 10 || num240 > 16))
61132 {
61133 num240 = 10;
61134 }
61135 if (num240 > 0)
61136 {
61137 frameCounter += 1.0;
61138 }
61139 if (frameCounter > 4.0)
61140 {
61141 frameCounter = 0.0;
61142 num240++;
61143 if (num240 > 13 && ai[1] > 30f)
61144 {
61145 num240 = 13;
61146 }
61147 if (num240 > 16)
61148 {
61149 num240 = 0;
61150 }
61151 }
61152 }
61153 if (type == 637)
61154 {
61155 if (ai[1] > 30f && (num240 < 17 || num240 > 21))
61156 {
61157 num240 = 17;
61158 }
61159 if (num240 > 0)
61160 {
61161 frameCounter += 1.0;
61162 }
61163 if (frameCounter > 4.0)
61164 {
61165 frameCounter = 0.0;
61166 num240++;
61167 if (num240 > 19 && ai[1] > 30f)
61168 {
61169 num240 = 19;
61170 }
61171 if (num240 > 21)
61172 {
61173 num240 = 0;
61174 }
61175 }
61176 }
61177 if (type != 638)
61178 {
61179 break;
61180 }
61181 if (ai[1] > 30f && (num240 < 17 || num240 > 22))
61182 {
61183 num240 = 17;
61184 }
61185 if (num240 > 0)
61186 {
61187 frameCounter += 1.0;
61188 }
61189 if (frameCounter > 4.0)
61190 {
61191 frameCounter = 0.0;
61192 num240++;
61193 if (num240 > 21 && ai[1] > 30f)
61194 {
61195 num240 = 18;
61196 }
61197 if (num240 > 22)
61198 {
61199 num240 = 0;
61200 }
61201 }
61202 break;
61203 case 22:
61204 if (type == 656)
61205 {
61206 int num241 = Main.npcFrameCount[type];
61207 if (ai[1] > 40f && (num240 < 17 || num240 >= num241))
61208 {
61209 num240 = 17;
61210 }
61211 if (num240 > 0)
61212 {
61213 frameCounter += 1.0;
61214 }
61215 if (frameCounter > 4.0)
61216 {
61217 frameCounter = 0.0;
61218 num240++;
61219 if (num240 > 20 && ai[1] > 40f)
61220 {
61221 num240 = 19;
61222 }
61223 if (num240 >= num241)
61224 {
61225 num240 = 0;
61226 }
61227 }
61228 }
61229 if (type != 637)
61230 {
61231 break;
61232 }
61233 if (ai[1] > 30f && (num240 < 17 || num240 > 27))
61234 {
61235 num240 = 17;
61236 }
61237 if (num240 > 0)
61238 {
61239 frameCounter += 1.0;
61240 }
61241 if (frameCounter > 4.0)
61242 {
61243 frameCounter = 0.0;
61244 num240++;
61245 if (num240 > 27)
61246 {
61247 num240 = ((!(ai[1] <= 30f)) ? 22 : 20);
61248 }
61249 else if (ai[1] <= 30f && num240 == 22)
61250 {
61251 num240 = 0;
61252 }
61253 else if (ai[1] > 30f && num240 > 19 && num240 < 22)
61254 {
61255 num240 = 22;
61256 }
61257 }
61258 break;
61259 }
61260 frame.Y = num240 * num;
61261 }
61262 else if (ai[0] == 2f)
61263 {
61264 frameCounter += 1.0;
61265 if (frame.Y / num == num237 - 1 && frameCounter >= 5.0)
61266 {
61267 frame.Y = 0;
61268 frameCounter = 0.0;
61269 }
61270 else if (frame.Y / num == 0 && frameCounter >= 40.0)
61271 {
61272 frame.Y = num * (num237 - 1);
61273 frameCounter = 0.0;
61274 }
61275 else if (frame.Y != 0 && frame.Y != num * (num237 - 1))
61276 {
61277 frame.Y = 0;
61278 frameCounter = 0.0;
61279 }
61280 }
61281 else if (ai[0] == 11f)
61282 {
61283 frameCounter += 1.0;
61284 if (frame.Y / num == num237 - 1 && frameCounter >= 50.0)
61285 {
61286 if (frameCounter == 50.0)
61287 {
61288 int num242 = Main.rand.Next(4);
61289 for (int m = 0; m < 3 + num242; m++)
61290 {
61291 int num243 = Dust.NewDust(base.Center + Vector2.UnitX * -direction * 8f - Vector2.One * 5f + Vector2.UnitY * 8f, 3, 6, 216, -direction, 1f);
61292 Dust dust = Main.dust[num243];
61293 dust.velocity /= 2f;
61294 Main.dust[num243].scale = 0.8f;
61295 }
61296 if (Main.rand.Next(30) == 0)
61297 {
61298 int num244 = Gore.NewGore(base.Center + Vector2.UnitX * -direction * 8f, Vector2.Zero, Main.rand.Next(580, 583));
61299 Gore gore = Main.gore[num244];
61300 gore.velocity /= 2f;
61301 Main.gore[num244].velocity.Y = Math.Abs(Main.gore[num244].velocity.Y);
61302 Main.gore[num244].velocity.X = (0f - Math.Abs(Main.gore[num244].velocity.X)) * (float)direction;
61303 }
61304 }
61305 if (frameCounter >= 100.0 && Main.rand.Next(20) == 0)
61306 {
61307 frame.Y = 0;
61308 frameCounter = 0.0;
61309 }
61310 }
61311 else if (frame.Y / num == 0 && frameCounter >= 20.0)
61312 {
61313 frame.Y = num * (num237 - 1);
61314 frameCounter = 0.0;
61315 EmoteBubble.NewBubble(89, new WorldUIAnchor(this), 90);
61316 }
61317 else if (frame.Y != 0 && frame.Y != num * (num237 - 1))
61318 {
61319 frame.Y = 0;
61320 frameCounter = 0.0;
61321 }
61322 }
61323 else if (ai[0] == 5f)
61324 {
61325 frame.Y = num * (num237 - 3);
61326 if (type == 637)
61327 {
61328 frame.Y = num * 19;
61329 }
61330 frameCounter = 0.0;
61331 }
61332 else if (ai[0] == 6f)
61333 {
61334 frameCounter += 1.0;
61335 int num245 = frame.Y / num;
61336 int num17 = num237 - num245;
61337 if ((uint)(num17 - 1) > 1u && (uint)(num17 - 4) > 1u && num245 != 0)
61338 {
61339 frame.Y = 0;
61340 frameCounter = 0.0;
61341 }
61342 int num246 = 0;
61343 num246 = ((!(frameCounter < 10.0)) ? ((frameCounter < 16.0) ? (num237 - 5) : ((frameCounter < 46.0) ? (num237 - 4) : ((frameCounter < 60.0) ? (num237 - 5) : ((!(frameCounter < 66.0)) ? ((frameCounter < 72.0) ? (num237 - 5) : ((frameCounter < 102.0) ? (num237 - 4) : ((frameCounter < 108.0) ? (num237 - 5) : ((!(frameCounter < 114.0)) ? ((frameCounter < 120.0) ? (num237 - 5) : ((frameCounter < 150.0) ? (num237 - 4) : ((frameCounter < 156.0) ? (num237 - 5) : ((!(frameCounter < 162.0)) ? ((frameCounter < 168.0) ? (num237 - 5) : ((frameCounter < 198.0) ? (num237 - 4) : ((frameCounter < 204.0) ? (num237 - 5) : ((!(frameCounter < 210.0)) ? ((frameCounter < 216.0) ? (num237 - 5) : ((frameCounter < 246.0) ? (num237 - 4) : ((frameCounter < 252.0) ? (num237 - 5) : ((!(frameCounter < 258.0)) ? ((frameCounter < 264.0) ? (num237 - 5) : ((frameCounter < 294.0) ? (num237 - 4) : ((frameCounter < 300.0) ? (num237 - 5) : 0))) : 0)))) : 0)))) : 0)))) : 0)))) : 0)))) : 0);
61344 if (num246 == num237 - 4 && num245 == num237 - 5)
61345 {
61346 Vector2 vector4 = base.Center + new Vector2(10 * direction, -4f);
61347 for (int n = 0; n < 8; n++)
61348 {
61349 int num247 = Main.rand.Next(139, 143);
61350 int num248 = Dust.NewDust(vector4, 0, 0, num247, velocity.X + (float)direction, velocity.Y - 2.5f, 0, default(Color), 1.2f);
61351 Main.dust[num248].velocity.X += (float)direction * 1.5f;
61352 Dust dust = Main.dust[num248];
61353 dust.position -= new Vector2(4f);
61354 dust = Main.dust[num248];
61355 dust.velocity *= 2f;
61356 Main.dust[num248].scale = 0.7f + Main.rand.NextFloat() * 0.3f;
61357 }
61358 }
61359 frame.Y = num * num246;
61360 if (frameCounter >= 300.0)
61361 {
61362 frameCounter = 0.0;
61363 }
61364 }
61365 else if ((ai[0] == 7f || ai[0] == 19f) && !NPCID.Sets.IsTownPet[type])
61366 {
61367 frameCounter += 1.0;
61368 int num249 = frame.Y / num;
61369 int num17 = num237 - num249;
61370 if ((uint)(num17 - 1) > 1u && (uint)(num17 - 4) > 1u && num249 != 0)
61371 {
61372 frame.Y = 0;
61373 frameCounter = 0.0;
61374 }
61375 int num250 = 0;
61376 if (frameCounter < 16.0)
61377 {
61378 num250 = 0;
61379 }
61380 else if (frameCounter == 16.0)
61381 {
61382 EmoteBubble.NewBubbleNPC(new WorldUIAnchor(this), 112);
61383 }
61384 else if (frameCounter < 128.0)
61385 {
61386 num250 = ((frameCounter % 16.0 < 8.0) ? (num237 - 2) : 0);
61387 }
61388 else if (frameCounter < 160.0)
61389 {
61390 num250 = 0;
61391 }
61392 else if (frameCounter != 160.0)
61393 {
61394 num250 = ((frameCounter < 220.0) ? ((frameCounter % 12.0 < 6.0) ? (num237 - 2) : 0) : 0);
61395 }
61396 else
61397 {
61398 EmoteBubble.NewBubbleNPC(new WorldUIAnchor(this), 60);
61399 }
61400 frame.Y = num * num250;
61401 if (frameCounter >= 220.0)
61402 {
61403 frameCounter = 0.0;
61404 }
61405 }
61406 else if (ai[0] == 9f)
61407 {
61408 frameCounter += 1.0;
61409 int num251 = frame.Y / num;
61410 int num17 = num237 - num251;
61411 if ((uint)(num17 - 1) > 1u && (uint)(num17 - 4) > 1u && num251 != 0)
61412 {
61413 frame.Y = 0;
61414 frameCounter = 0.0;
61415 }
61416 int num252 = 0;
61417 num252 = ((!(frameCounter < 10.0)) ? ((!(frameCounter < 16.0)) ? (num237 - 4) : (num237 - 5)) : 0);
61418 if (ai[1] < 16f)
61419 {
61420 num252 = num237 - 5;
61421 }
61422 if (ai[1] < 10f)
61423 {
61424 num252 = 0;
61425 }
61426 frame.Y = num * num252;
61427 }
61428 else if (ai[0] == 18f)
61429 {
61430 frameCounter += 1.0;
61431 int num253 = frame.Y / num;
61432 int num17 = num237 - num253;
61433 if ((uint)(num17 - 1) > 1u && (uint)(num17 - 4) > 1u && num253 != 0)
61434 {
61435 frame.Y = 0;
61436 frameCounter = 0.0;
61437 }
61438 int num254 = 0;
61439 if (frameCounter < 10.0)
61440 {
61441 num254 = 0;
61442 }
61443 else if (frameCounter < 16.0)
61444 {
61445 num254 = num237 - 1;
61446 }
61447 else
61448 {
61449 num254 = num237 - 2;
61450 }
61451 if (ai[1] < 16f)
61452 {
61453 num254 = num237 - 1;
61454 }
61455 if (ai[1] < 10f)
61456 {
61457 num254 = 0;
61458 }
61459 num254 = Main.npcFrameCount[type] - 2;
61460 frame.Y = num * num254;
61461 }
61462 else if (ai[0] == 10f || ai[0] == 13f)
61463 {
61464 frameCounter += 1.0;
61465 int num255 = frame.Y / num;
61466 int num17 = num255 - num237;
61467 if ((uint)num17 > 3u && num255 != 0)
61468 {
61469 frame.Y = 0;
61470 frameCounter = 0.0;
61471 }
61472 int num256 = 10;
61473 int num257 = 6;
61474 if (type == 633)
61475 {
61476 num256 = 0;
61477 num257 = 2;
61478 }
61479 int num258 = 0;
61480 num258 = ((!(frameCounter < (double)num256)) ? ((frameCounter < (double)(num256 + num257)) ? num237 : ((frameCounter < (double)(num256 + num257 * 2)) ? (num237 + 1) : ((frameCounter < (double)(num256 + num257 * 3)) ? (num237 + 2) : ((frameCounter < (double)(num256 + num257 * 4)) ? (num237 + 3) : 0)))) : 0);
61481 frame.Y = num * num258;
61482 }
61483 else if (ai[0] == 15f)
61484 {
61485 frameCounter += 1.0;
61486 int num259 = frame.Y / num;
61487 int num17 = num259 - num237;
61488 if ((uint)num17 > 3u && num259 != 0)
61489 {
61490 frame.Y = 0;
61491 frameCounter = 0.0;
61492 }
61493 float num260 = ai[1] / (float)NPCID.Sets.AttackTime[type];
61494 int num261 = 0;
61495 num261 = ((num260 > 0.65f) ? num237 : ((num260 > 0.5f) ? (num237 + 1) : ((num260 > 0.35f) ? (num237 + 2) : ((num260 > 0f) ? (num237 + 3) : 0))));
61496 frame.Y = num * num261;
61497 }
61498 else if (ai[0] == 25f)
61499 {
61500 frame.Y = num;
61501 }
61502 else if (ai[0] == 12f)
61503 {
61504 frameCounter += 1.0;
61505 int num262 = frame.Y / num;
61506 int num17 = num262 - num237;
61507 if ((uint)num17 > 4u && num262 != 0)
61508 {
61509 frame.Y = 0;
61510 frameCounter = 0.0;
61511 }
61512 int num263 = num237 + GetShootingFrame(ai[2]);
61513 frame.Y = num * num263;
61514 }
61515 else if (ai[0] == 14f || ai[0] == 24f)
61516 {
61517 frameCounter += 1.0;
61518 int num264 = frame.Y / num;
61519 int num17 = num264 - num237;
61520 if ((uint)num17 > 1u && num264 != 0)
61521 {
61522 frame.Y = 0;
61523 frameCounter = 0.0;
61524 }
61525 int num265 = 12;
61526 int num266 = ((frameCounter % (double)num265 * 2.0 < (double)num265) ? num237 : (num237 + 1));
61527 frame.Y = num * num266;
61528 if (ai[0] == 24f)
61529 {
61530 if (frameCounter == 60.0)
61531 {
61532 EmoteBubble.NewBubble(87, new WorldUIAnchor(this), 60);
61533 }
61534 if (frameCounter == 150.0)
61535 {
61536 EmoteBubble.NewBubble(3, new WorldUIAnchor(this), 90);
61537 }
61538 if (frameCounter >= 240.0)
61539 {
61540 frame.Y = 0;
61541 }
61542 }
61543 }
61544 else if (ai[0] == 1001f)
61545 {
61546 frame.Y = num * (num237 - 1);
61547 frameCounter = 0.0;
61548 }
61549 else if (CanTalk && (ai[0] == 3f || ai[0] == 4f))
61550 {
61551 frameCounter += 1.0;
61552 int num267 = frame.Y / num;
61553 int num17 = num237 - num267;
61554 if ((uint)(num17 - 1) > 1u && (uint)(num17 - 4) > 1u && num267 != 0)
61555 {
61556 frame.Y = 0;
61557 frameCounter = 0.0;
61558 }
61559 bool flag12 = ai[0] == 3f;
61560 int num268 = 0;
61561 int num269 = 0;
61562 int num270 = -1;
61563 int num271 = -1;
61564 if (frameCounter < 10.0)
61565 {
61566 num268 = 0;
61567 }
61568 else if (frameCounter < 16.0)
61569 {
61570 num268 = num237 - 5;
61571 }
61572 else if (frameCounter < 46.0)
61573 {
61574 num268 = num237 - 4;
61575 }
61576 else if (frameCounter < 60.0)
61577 {
61578 num268 = num237 - 5;
61579 }
61580 else if (frameCounter < 216.0)
61581 {
61582 num268 = 0;
61583 }
61584 else if (frameCounter == 216.0 && Main.netMode != 1)
61585 {
61586 num270 = 70;
61587 }
61588 else if (frameCounter < 286.0)
61589 {
61590 num268 = ((frameCounter % 12.0 < 6.0) ? (num237 - 2) : 0);
61591 }
61592 else if (frameCounter < 320.0)
61593 {
61594 num268 = 0;
61595 }
61596 else if (frameCounter != 320.0 || Main.netMode == 1)
61597 {
61598 num268 = ((frameCounter < 420.0) ? ((frameCounter % 16.0 < 8.0) ? (num237 - 2) : 0) : 0);
61599 }
61600 else
61601 {
61602 num270 = 100;
61603 }
61604 if (frameCounter < 70.0)
61605 {
61606 num269 = 0;
61607 }
61608 else if (frameCounter != 70.0 || Main.netMode == 1)
61609 {
61610 num269 = ((frameCounter < 160.0) ? ((frameCounter % 16.0 < 8.0) ? (num237 - 2) : 0) : ((frameCounter < 166.0) ? (num237 - 5) : ((frameCounter < 186.0) ? (num237 - 4) : ((frameCounter < 200.0) ? (num237 - 5) : ((!(frameCounter < 320.0)) ? ((frameCounter < 326.0) ? (num237 - 1) : 0) : 0)))));
61611 }
61612 else
61613 {
61614 num271 = 90;
61615 }
61616 if (flag12)
61617 {
61618 NPC nPC = Main.npc[(int)ai[2]];
61619 if (num270 != -1)
61620 {
61622 }
61623 if (num271 != -1 && nPC.CanTalk)
61624 {
61626 }
61627 }
61628 frame.Y = num * (flag12 ? num268 : num269);
61629 if (frameCounter >= 420.0)
61630 {
61631 frameCounter = 0.0;
61632 }
61633 }
61634 else if (CanTalk && (ai[0] == 16f || ai[0] == 17f))
61635 {
61636 frameCounter += 1.0;
61637 int num272 = frame.Y / num;
61638 int num17 = num237 - num272;
61639 if ((uint)(num17 - 1) > 1u && (uint)(num17 - 4) > 1u && num272 != 0)
61640 {
61641 frame.Y = 0;
61642 frameCounter = 0.0;
61643 }
61644 bool flag13 = ai[0] == 16f;
61645 int num273 = 0;
61646 int num274 = -1;
61647 if (frameCounter < 10.0)
61648 {
61649 num273 = 0;
61650 }
61651 else if (frameCounter < 16.0)
61652 {
61653 num273 = num237 - 5;
61654 }
61655 else if (frameCounter < 22.0)
61656 {
61657 num273 = num237 - 4;
61658 }
61659 else if (frameCounter < 28.0)
61660 {
61661 num273 = num237 - 5;
61662 }
61663 else if (frameCounter < 34.0)
61664 {
61665 num273 = num237 - 4;
61666 }
61667 else if (frameCounter < 40.0)
61668 {
61669 num273 = num237 - 5;
61670 }
61671 else if (frameCounter == 40.0 && Main.netMode != 1)
61672 {
61673 num274 = 45;
61674 }
61675 else if (frameCounter < 70.0)
61676 {
61677 num273 = num237 - 4;
61678 }
61679 else if (frameCounter < 76.0)
61680 {
61681 num273 = num237 - 5;
61682 }
61683 else if (frameCounter < 82.0)
61684 {
61685 num273 = num237 - 4;
61686 }
61687 else if (frameCounter < 88.0)
61688 {
61689 num273 = num237 - 5;
61690 }
61691 else if (frameCounter < 94.0)
61692 {
61693 num273 = num237 - 4;
61694 }
61695 else if (frameCounter < 100.0)
61696 {
61697 num273 = num237 - 5;
61698 }
61699 else if (frameCounter == 100.0 && Main.netMode != 1)
61700 {
61701 num274 = 45;
61702 }
61703 else if (frameCounter < 130.0)
61704 {
61705 num273 = num237 - 4;
61706 }
61707 else if (frameCounter < 136.0)
61708 {
61709 num273 = num237 - 5;
61710 }
61711 else if (frameCounter < 142.0)
61712 {
61713 num273 = num237 - 4;
61714 }
61715 else if (frameCounter < 148.0)
61716 {
61717 num273 = num237 - 5;
61718 }
61719 else if (frameCounter < 154.0)
61720 {
61721 num273 = num237 - 4;
61722 }
61723 else if (frameCounter < 160.0)
61724 {
61725 num273 = num237 - 5;
61726 }
61727 else if (frameCounter != 160.0 || Main.netMode == 1)
61728 {
61729 num273 = ((frameCounter < 220.0) ? (num237 - 4) : ((frameCounter < 226.0) ? (num237 - 5) : 0));
61730 }
61731 else
61732 {
61733 num274 = 75;
61734 }
61735 if (flag13 && num274 != -1)
61736 {
61737 int num275 = (int)localAI[2];
61738 int num276 = (int)localAI[3];
61739 int num277 = (int)Main.npc[(int)ai[2]].localAI[3];
61740 int num278 = (int)Main.npc[(int)ai[2]].localAI[2];
61741 int num279 = 3 - num275 - num276;
61742 int num280 = 0;
61743 if (frameCounter == 40.0)
61744 {
61745 num280 = 1;
61746 }
61747 if (frameCounter == 100.0)
61748 {
61749 num280 = 2;
61750 }
61751 if (frameCounter == 160.0)
61752 {
61753 num280 = 3;
61754 }
61755 int num281 = 3 - num280;
61756 int num282 = -1;
61757 int num283 = 0;
61758 while (num282 < 0)
61759 {
61760 num17 = num283 + 1;
61761 num283 = num17;
61762 if (num17 >= 100)
61763 {
61764 break;
61765 }
61766 num282 = Main.rand.Next(2);
61767 if (num282 == 0 && num278 >= num276)
61768 {
61769 num282 = -1;
61770 }
61771 if (num282 == 1 && num277 >= num275)
61772 {
61773 num282 = -1;
61774 }
61775 if (num282 == -1 && num281 <= num279)
61776 {
61777 num282 = 2;
61778 }
61779 }
61780 if (num282 == 0)
61781 {
61782 Main.npc[(int)ai[2]].localAI[3] += 1f;
61783 num277++;
61784 }
61785 if (num282 == 1)
61786 {
61787 Main.npc[(int)ai[2]].localAI[2] += 1f;
61788 num278++;
61789 }
61790 int num284 = Utils.SelectRandom<int>(Main.rand, 38, 37, 36);
61791 int num285 = num284;
61792 switch (num282)
61793 {
61794 case 0:
61795 switch (num284)
61796 {
61797 case 38:
61798 num285 = 37;
61799 break;
61800 case 37:
61801 num285 = 36;
61802 break;
61803 case 36:
61804 num285 = 38;
61805 break;
61806 }
61807 break;
61808 case 1:
61809 switch (num284)
61810 {
61811 case 38:
61812 num285 = 36;
61813 break;
61814 case 37:
61815 num285 = 38;
61816 break;
61817 case 36:
61818 num285 = 37;
61819 break;
61820 }
61821 break;
61822 }
61823 if (num281 == 0)
61824 {
61825 if (num277 >= 2)
61826 {
61827 num284 -= 3;
61828 }
61829 if (num278 >= 2)
61830 {
61831 num285 -= 3;
61832 }
61833 }
61835 EmoteBubble.NewBubble(num285, new WorldUIAnchor(Main.npc[(int)ai[2]]), num274);
61836 }
61837 frame.Y = num * (flag13 ? num273 : num273);
61838 if (frameCounter >= 420.0)
61839 {
61840 frameCounter = 0.0;
61841 }
61842 }
61843 else if (velocity.X == 0f)
61844 {
61845 if (type == 638)
61846 {
61847 int num286 = frame.Y / num;
61848 if (num286 > 7)
61849 {
61850 num286 = 0;
61851 }
61852 frameCounter += 1.0;
61853 if (frameCounter > 4.0)
61854 {
61855 frameCounter = 0.0;
61856 num286++;
61857 if (num286 > 7)
61858 {
61859 num286 = 0;
61860 }
61861 }
61862 frame.Y = num286 * num;
61863 }
61864 else if (type == 140 || type == 489)
61865 {
61866 frame.Y = num;
61867 frameCounter = 0.0;
61868 }
61869 else
61870 {
61871 frame.Y = 0;
61872 frameCounter = 0.0;
61873 }
61874 }
61875 else
61876 {
61877 int num287 = 6;
61878 if (type == 632)
61879 {
61880 num287 = 12;
61881 }
61882 if (type == 534)
61883 {
61884 num287 = 12;
61885 }
61886 if (type == 638)
61887 {
61888 num287 = 12;
61889 }
61890 if (type == 656)
61891 {
61892 num287 = 12;
61893 }
61894 if (flag11)
61895 {
61896 num287 = 12;
61897 }
61898 if (type == 489)
61899 {
61900 num287 = 8;
61901 frameCounter += Math.Abs(velocity.X) * 1f;
61902 frameCounter += 0.5;
61903 }
61904 else
61905 {
61906 frameCounter += Math.Abs(velocity.X) * 2f;
61907 frameCounter += 1.0;
61908 }
61909 if (type == 462)
61910 {
61911 num287 = 9;
61912 }
61913 int num288 = num * 2;
61914 if (type == 638)
61915 {
61916 num288 = num * 9;
61917 }
61918 if (type == 656)
61919 {
61920 num288 = num;
61921 }
61922 if (flag11)
61923 {
61924 num288 = num;
61925 }
61926 if (frame.Y < num288)
61927 {
61928 frame.Y = num288;
61929 }
61930 if (frameCounter > (double)num287)
61931 {
61932 frame.Y += num;
61933 frameCounter = 0.0;
61934 }
61935 if (frame.Y / num >= Main.npcFrameCount[type] - num236)
61936 {
61937 frame.Y = num288;
61938 }
61939 }
61940 break;
61941 }
61942 if (type == 462)
61943 {
61944 frameCounter = 0.0;
61945 if (velocity.Y < 0f)
61946 {
61947 frame.Y = num;
61948 }
61949 else
61950 {
61951 frame.Y = num * 2;
61952 }
61953 break;
61954 }
61955 if (flag11)
61956 {
61958 int num289 = frame.Y / num;
61959 if (velocity.Y < 0f)
61960 {
61962 {
61963 num289 = 2;
61964 frameCounter = -1.0;
61965 }
61966 if ((frameCounter += 1.0) >= 4.0)
61967 {
61968 frameCounter = 0.0;
61969 num289++;
61970 if (num289 >= 3)
61971 {
61972 num289 = 3;
61973 }
61974 }
61975 frame.Y = num289 * num;
61976 }
61977 else if (velocity.Y > 0f)
61978 {
61980 {
61981 num289 = 3;
61982 frameCounter = -1.0;
61983 }
61984 if ((frameCounter += 1.0) >= 4.0)
61985 {
61986 frameCounter = 0.0;
61987 num289++;
61988 if (num289 >= 6)
61989 {
61990 num289 = 6;
61991 }
61992 }
61993 frame.Y = num289 * num;
61994 }
61995 }
61996 else
61997 {
61998 frameCounter = 0.0;
61999 frame.Y = num;
62000 }
62001 if (type == 489 || type == 21 || type == 31 || type == 294 || type == 326 || type == 295 || type == 296 || type == 44 || type == 77 || type == 120 || type == 140 || type == 159 || type == 167 || type == 197 || type == 201 || type == 202)
62002 {
62003 frame.Y = 0;
62004 }
62005 if (type == 638)
62006 {
62007 frame.Y = num * 8;
62008 }
62009 break;
62010 }
62011 case 494:
62012 case 495:
62013 if (ai[2] > 0f)
62014 {
62015 if (ai[2] < 7f)
62016 {
62017 frame.Y = num * 5;
62018 }
62019 else if (ai[2] < 14f)
62020 {
62021 frame.Y = num * 6;
62022 }
62023 else if (ai[2] < 20f)
62024 {
62025 frame.Y = num * 7;
62026 }
62027 break;
62028 }
62029 if (velocity.Y == 0f)
62030 {
62031 if (direction == 1)
62032 {
62033 spriteDirection = 1;
62034 }
62035 if (direction == -1)
62036 {
62037 spriteDirection = -1;
62038 }
62039 }
62040 if (velocity.Y != 0f || (direction == -1 && velocity.X > 0f) || (direction == 1 && velocity.X < 0f))
62041 {
62042 frameCounter = 0.0;
62043 if (velocity.Y < 0f)
62044 {
62045 frame.Y = num * 2;
62046 }
62047 else
62048 {
62049 frame.Y = num * 3;
62050 }
62051 break;
62052 }
62053 if (velocity.X == 0f)
62054 {
62055 frameCounter = 0.0;
62056 frame.Y = 0;
62057 break;
62058 }
62060 if (frameCounter < 8.0)
62061 {
62062 frame.Y = 0;
62063 break;
62064 }
62065 if (frameCounter < 16.0)
62066 {
62067 frame.Y = num;
62068 break;
62069 }
62070 if (frameCounter < 24.0)
62071 {
62072 frame.Y = num * 2;
62073 break;
62074 }
62075 if (frameCounter < 32.0)
62076 {
62077 frame.Y = num * 3;
62078 break;
62079 }
62080 if (frameCounter < 39.0)
62081 {
62082 frame.Y = num * 4;
62083 break;
62084 }
62085 frame.Y = num * 4;
62086 frameCounter = 0.0;
62087 break;
62088 case 541:
62089 if (ai[0] > 0f)
62090 {
62091 float num220 = ai[0];
62092 if (num220 < 6f)
62093 {
62094 frame.Y = num * 4;
62095 }
62096 else if (num220 < 105f)
62097 {
62098 frame.Y = num * (int)(num220 / 8f % 4f + 5f);
62099 }
62100 else if (num220 < 114f)
62101 {
62102 frame.Y = num * 9;
62103 }
62104 else if (num220 < 135f)
62105 {
62106 frame.Y = num * (int)((num220 - 99f - 15f) / 7f + 10f);
62107 }
62108 else
62109 {
62110 frame.Y = num;
62111 }
62112 }
62113 else
62114 {
62115 frameCounter = frameCounter + (double)(velocity.Length() * 0.1f) + 1.0;
62116 if (frameCounter >= 8.0)
62117 {
62118 frame.Y += num;
62119 frameCounter = 0.0;
62120 }
62121 if (frame.Y >= num * 4)
62122 {
62123 frame.Y = 0;
62124 }
62125 }
62126 break;
62127 case 612:
62128 case 613:
62129 {
62131 {
62132 frameCounter += 1.0;
62133 if (frameCounter > 50.0)
62134 {
62135 frameCounter = 0.0;
62136 frame.Y = 0;
62137 }
62138 frame.Y = (int)Utils.WrappedLerp(0f, 4f, (float)frameCounter / 50f) * num;
62139 break;
62140 }
62141 bool flag5 = true;
62142 if (frame.Y == 0 && Main.rand.Next(180) != 0)
62143 {
62144 flag5 = false;
62145 }
62146 if (flag5)
62147 {
62148 frameCounter += 1.0;
62149 }
62150 if (velocity.X != 0f)
62151 {
62153 }
62154 int num68 = 10;
62155 bool flag6 = Math.Abs(velocity.X) > 1f;
62156 if (ai[1] == 1f)
62157 {
62158 frameCounter = 0.0;
62159 frame.Y = num * 4;
62160 }
62161 if (Math.Abs(velocity.Y) > 0.1f || flag6)
62162 {
62163 frameCounter = 0.0;
62164 frame.Y = num * 4;
62165 }
62166 else if (frame.Y == 0)
62167 {
62168 num68 = 2;
62169 }
62170 if (frame.Y == num * 4)
62171 {
62172 num68 = 60;
62173 if (!flag6)
62174 {
62175 num68 = 2;
62176 }
62177 }
62178 if (frameCounter >= (double)num68)
62179 {
62180 frameCounter = 0.0;
62181 frame.Y += num;
62182 if (frame.Y / num >= 5)
62183 {
62184 frame.Y = 0;
62185 }
62186 }
62187 break;
62188 }
62189 case 583:
62190 case 584:
62191 case 585:
62192 rotation = velocity.X * 0.1f;
62193 if ((frameCounter += 1.0) >= 4.0)
62194 {
62195 frame.Y += num;
62196 frameCounter = 0.0;
62197 if (frame.Y >= num * 4)
62198 {
62199 frame.Y = 0;
62200 }
62201 }
62202 break;
62203 case 498:
62204 case 499:
62205 case 500:
62206 case 501:
62207 case 502:
62208 case 503:
62209 case 504:
62210 case 505:
62211 case 506:
62212 if (velocity.Y == 0f)
62213 {
62214 if (direction == 1)
62215 {
62216 spriteDirection = 1;
62217 }
62218 if (direction == -1)
62219 {
62220 spriteDirection = -1;
62221 }
62222 if (ai[2] > 0f)
62223 {
62225 if (ai[1] < 12f)
62226 {
62227 frame.Y = num * 8;
62228 }
62229 else if (ai[1] < 34f)
62230 {
62231 frame.Y = num * 9;
62232 }
62233 else
62234 {
62235 frame.Y = num * 8;
62236 }
62237 frameCounter = 0.0;
62238 break;
62239 }
62240 if (velocity.X == 0f)
62241 {
62242 frame.Y = 0;
62243 break;
62244 }
62245 frameCounter += Math.Abs(velocity.X) * 1f;
62246 if (frameCounter > 4.0)
62247 {
62248 frame.Y += num;
62249 frameCounter = 0.0;
62250 }
62251 if (frame.Y > num * 7)
62252 {
62253 frame.Y = 0;
62254 }
62255 }
62256 else
62257 {
62258 frameCounter = 0.0;
62259 frame.Y = num * 10;
62260 }
62261 break;
62262 case 524:
62263 case 525:
62264 case 526:
62265 case 527:
62266 if (velocity.Y == 0f)
62267 {
62268 if (direction != 0)
62269 {
62271 }
62272 if (velocity.X == 0f)
62273 {
62274 frame.Y = 0;
62275 frameCounter = 0.0;
62276 break;
62277 }
62278 if (frame.Y <= num)
62279 {
62280 frame.Y = num * 2;
62281 }
62283 frameCounter += 1.0;
62284 if (frameCounter > 9.0)
62285 {
62286 frame.Y += num;
62287 frameCounter = 0.0;
62288 }
62289 if (frame.Y / num >= Main.npcFrameCount[type])
62290 {
62291 frame.Y = num * 2;
62292 }
62293 }
62294 else
62295 {
62296 frame.Y = num;
62297 frameCounter = 0.0;
62298 }
62299 break;
62300 case 528:
62301 case 529:
62302 if (velocity.Y == 0f)
62303 {
62304 if (direction != 0)
62305 {
62307 }
62308 if (velocity.X == 0f)
62309 {
62310 frame.Y = 0;
62311 frameCounter = 0.0;
62312 break;
62313 }
62315 frameCounter += 1.0;
62316 if (frameCounter > 9.0)
62317 {
62318 frame.Y += num;
62319 frameCounter = 0.0;
62320 }
62321 if (frame.Y / num >= Main.npcFrameCount[type] - 1)
62322 {
62323 frame.Y = num;
62324 }
62325 }
62326 else
62327 {
62328 frame.Y = num * (Main.npcFrameCount[type] - 1);
62329 frameCounter = 0.0;
62330 }
62331 break;
62332 case 533:
62333 if (velocity.Y == 0f && direction != 0)
62334 {
62336 }
62337 frameCounter += 1.0;
62338 if (frameCounter >= 48.0)
62339 {
62340 frameCounter = 0.0;
62341 }
62342 frame.Y = (int)(frameCounter / 6.0) * num;
62343 if (ai[1] > 0f)
62344 {
62345 frame.Y += num * 8;
62346 }
62347 break;
62348 case 496:
62349 case 497:
62350 if (ai[0] == 0f)
62351 {
62352 rotation = 0f;
62353 if (velocity.Y == 0f)
62354 {
62356 }
62357 else if (velocity.Y < 0f)
62358 {
62359 frameCounter = 0.0;
62360 }
62361 frameCounter += Math.Abs(velocity.X) * 1.1f;
62362 if (frameCounter < 6.0)
62363 {
62364 frame.Y = 0;
62365 }
62366 else if (frameCounter < 12.0)
62367 {
62368 frame.Y = num;
62369 }
62370 else if (frameCounter < 18.0)
62371 {
62372 frame.Y = num * 2;
62373 }
62374 else if (frameCounter < 24.0)
62375 {
62376 frame.Y = num * 3;
62377 }
62378 else
62379 {
62380 frameCounter = 0.0;
62381 }
62382 }
62383 else if (ai[0] == 1f)
62384 {
62385 frameCounter = 0.0;
62386 if (ai[1] < 10f)
62387 {
62388 frame.Y = num * 4;
62389 }
62390 else if (ai[1] < 20f)
62391 {
62392 frame.Y = num * 5;
62393 }
62394 else
62395 {
62396 frame.Y = num * 6;
62397 }
62398 }
62399 else if (ai[0] == 5f)
62400 {
62401 frameCounter = 0.0;
62402 if (ai[1] < 10f)
62403 {
62404 frame.Y = num * 10;
62405 }
62406 else if (ai[1] < 20f)
62407 {
62408 frame.Y = num * 11;
62409 }
62410 else
62411 {
62412 frame.Y = num * 3;
62413 }
62414 }
62415 else
62416 {
62417 frameCounter = 0.0;
62418 frame.Y = num * 7;
62419 }
62420 break;
62421 case 508:
62422 case 532:
62423 case 580:
62424 case 582:
62425 if (velocity.Y != 0f)
62426 {
62427 frame.Y = num;
62428 break;
62429 }
62430 if (velocity.X == 0f)
62431 {
62432 frame.Y = 0;
62433 break;
62434 }
62435 if (direction < 0 && velocity.X < 0f)
62436 {
62437 spriteDirection = -1;
62438 }
62439 if (direction > 0 && velocity.X > 0f)
62440 {
62441 spriteDirection = 1;
62442 }
62443 if (frame.Y / num < 2)
62444 {
62445 frame.Y = num * 2;
62446 }
62447 frameCounter += 1f + Math.Abs(velocity.X) / 2f;
62448 if (frameCounter > 6.0)
62449 {
62450 frame.Y += num;
62451 frameCounter = 0.0;
62452 }
62453 if (frame.Y / num >= Main.npcFrameCount[type])
62454 {
62455 frame.Y = num * 2;
62456 }
62457 break;
62458 case 509:
62459 case 581:
62460 if ((velocity.X > 0f && direction > 0) || (velocity.X < 0f && direction < 0))
62461 {
62463 }
62464 if ((frameCounter += 1.0) >= 3.0)
62465 {
62466 frameCounter = 0.0;
62467 frame.Y += num;
62468 if (frame.Y / num >= Main.npcFrameCount[type])
62469 {
62470 frame.Y = 0;
62471 }
62472 }
62473 break;
62474 case 415:
62475 if (ai[2] < 0f)
62476 {
62477 if (frame.Y / num != 8 && frame.Y / num != 9 && frame.Y / num != 0)
62478 {
62479 frameCounter = 0.0;
62480 }
62481 frameCounter += 1.0;
62482 int num163 = 0;
62483 int num164 = 18;
62484 int num165 = 4;
62485 if (frameCounter > (double)(num164 - num165 * 2))
62486 {
62487 num163 = 8 + (int)frameCounter / 4 % 2;
62488 }
62489 if (frameCounter > (double)(num164 + num165 * 6))
62490 {
62491 num163 = 0;
62492 frameCounter = 0.0;
62493 }
62494 frame.Y = num * num163;
62495 }
62496 else if (velocity.Y == 0f)
62497 {
62498 if (direction != 0)
62499 {
62501 }
62502 if (frame.Y < num * 2)
62503 {
62504 frame.Y = num * 2;
62505 }
62506 frameCounter += Math.Abs(velocity.X) * 0.5f;
62507 if (frameCounter >= 8.0)
62508 {
62509 frame.Y += num;
62510 frameCounter = 0.0;
62511 }
62512 if (frame.Y / num >= Main.npcFrameCount[type] - 2)
62513 {
62514 frame.Y = num * 2;
62515 }
62516 if (velocity.X == 0f)
62517 {
62518 frame.Y = 0;
62519 }
62520 }
62521 else
62522 {
62523 frameCounter = 0.0;
62524 frame.Y = num;
62525 }
62526 break;
62527 case 416:
62529 {
62530 frameCounter += 1.0;
62531 if (frameCounter > 5.0)
62532 {
62533 frameCounter = 0.0;
62534 frame.Y += num;
62535 }
62536 if (frame.Y < num * 2 || frame.Y > num * 7)
62537 {
62538 frame.Y = num * 2;
62539 }
62540 }
62541 else if (Main.netMode != 2 && !Main.dedServ)
62542 {
62543 int num63 = (int)ai[0];
62544 if (Main.npc[num63].active && Main.npc[num63].type == 415 && TextureAssets.Npc[415].IsLoaded)
62545 {
62546 frame.Y = Main.npc[num63].frame.Y / (TextureAssets.Npc[415].Height() / Main.npcFrameCount[415]) * num;
62547 }
62548 }
62549 break;
62550 case 417:
62551 if (ai[0] == 0f)
62552 {
62553 rotation = 0f;
62554 if (velocity.Y == 0f)
62555 {
62557 }
62558 else if (velocity.Y < 0f)
62559 {
62560 frameCounter = 0.0;
62561 }
62562 frameCounter += Math.Abs(velocity.X) * 1.1f;
62563 frame.Y = (int)(frameCounter / 6.0) * num;
62564 if (frameCounter >= 48.0)
62565 {
62566 frameCounter = 0.0;
62567 }
62568 }
62569 else if (ai[0] == 1f)
62570 {
62571 frameCounter = 0.0;
62572 frame.Y = num * (9 + (int)(ai[1] / 6f));
62573 }
62574 else if (ai[0] == 5f)
62575 {
62576 frameCounter = 0.0;
62577 frame.Y = num * (13 - (int)(ai[1] / 6f));
62578 }
62579 else
62580 {
62581 frameCounter = 0.0;
62582 frame.Y = num * 14;
62583 }
62584 break;
62585 case 518:
62586 if (velocity.Y == 0f)
62587 {
62588 if (direction != 0)
62589 {
62591 }
62592 if (velocity.X == 0f)
62593 {
62594 frame.Y = 0;
62595 frameCounter = 0.0;
62596 break;
62597 }
62598 if (frame.Y < num * 2)
62599 {
62600 frame.Y = num * 2;
62601 }
62602 frameCounter += Math.Abs(velocity.X) * 1f;
62603 frameCounter += 1.0;
62604 if (frameCounter > 6.0)
62605 {
62606 frame.Y += num;
62607 frameCounter = 0.0;
62608 }
62609 if (frame.Y / num >= Main.npcFrameCount[type])
62610 {
62611 frame.Y = num * 2;
62612 }
62613 }
62614 else
62615 {
62616 frame.Y = num;
62617 frameCounter = 0.0;
62618 }
62619 break;
62620 case 419:
62621 if (ai[2] < 0f)
62622 {
62623 int num61 = 1;
62624 if (direction != 0)
62625 {
62627 }
62628 if (frame.Y / num >= 9)
62629 {
62630 frame.Y = num * 2;
62631 frameCounter = 0.0;
62632 }
62633 if (frame.Y / num < 2)
62634 {
62635 frame.Y = num * 2;
62636 frameCounter = 0.0;
62637 }
62638 frameCounter += 1.0;
62639 if (frameCounter >= (double)(num61 * 4 + 6))
62640 {
62641 frameCounter = 8.0;
62642 }
62643 if (frameCounter < 6.0)
62644 {
62645 frame.Y = num * (int)(2.0 + frameCounter / 3.0);
62646 }
62647 else
62648 {
62649 frame.Y = num * (int)(4.0 + (frameCounter - 6.0) / (double)num61);
62650 }
62651 }
62652 else if (velocity.Y == 0f)
62653 {
62654 if (direction != 0)
62655 {
62657 }
62658 if (velocity.X == 0f)
62659 {
62660 frame.Y = 0;
62661 frameCounter = 0.0;
62662 break;
62663 }
62664 frameCounter += Math.Abs(velocity.X) * 1f;
62665 frameCounter += 1.0;
62666 if (frameCounter > 6.0)
62667 {
62668 frame.Y += num;
62669 frameCounter = 0.0;
62670 }
62671 if (frame.Y / num >= Main.npcFrameCount[type])
62672 {
62673 frame.Y = num * 9;
62674 }
62675 if (frame.Y / num < 9)
62676 {
62677 frame.Y = num * 9;
62678 }
62679 }
62680 else
62681 {
62682 frame.Y = num;
62683 frameCounter = 0.0;
62684 }
62685 break;
62686 case 425:
62687 if (direction != 0)
62688 {
62690 }
62691 if (ai[2] == 1f)
62692 {
62693 frameCounter += 1.0;
62694 if (frameCounter >= 3.0)
62695 {
62696 frame.Y += num;
62697 frameCounter = 0.0;
62698 }
62699 if (frame.Y > num * 12 || frame.Y < num * 10)
62700 {
62701 frame.Y = num * 10;
62702 }
62703 }
62704 else if (velocity.Y != 0f)
62705 {
62706 frameCounter = 0.0;
62707 frame.Y = num;
62708 }
62709 else if (velocity.X == 0f)
62710 {
62711 frameCounter = 0.0;
62712 frame.Y = 0;
62713 }
62714 else
62715 {
62717 if (frameCounter >= 8.0)
62718 {
62719 frame.Y += num;
62720 frameCounter = 0.0;
62721 }
62722 if (frame.Y > num * 9 || frame.Y < num * 2)
62723 {
62724 frame.Y = num * 2;
62725 }
62726 }
62727 break;
62728 case 427:
62729 if (direction != 0)
62730 {
62732 }
62733 if (velocity.Y != 0f)
62734 {
62735 frameCounter += 1.0;
62736 if (frameCounter >= 2.0)
62737 {
62738 frame.Y += num;
62739 frameCounter = 0.0;
62740 }
62741 if (frame.Y >= num * 9 || frame.Y < num * 6)
62742 {
62743 frame.Y = num * 6;
62744 }
62745 }
62746 else if (velocity.X == 0f)
62747 {
62748 frameCounter = 0.0;
62749 frame.Y = 0;
62750 }
62751 else
62752 {
62754 if (frameCounter >= 8.0)
62755 {
62756 frame.Y += num;
62757 frameCounter = 0.0;
62758 }
62759 if (frame.Y > num * 5 || frame.Y < num)
62760 {
62761 frame.Y = num;
62762 }
62763 }
62764 break;
62765 case 426:
62766 if (direction != 0)
62767 {
62769 }
62770 if (ai[1] >= 45f)
62771 {
62772 if (velocity.Y == 0f)
62773 {
62774 frame.Y = num * 8;
62775 break;
62776 }
62777 frameCounter += 1.0;
62778 if (frameCounter >= 2.0)
62779 {
62780 frame.Y += num;
62781 frameCounter = 0.0;
62782 }
62783 if (frame.Y >= num * 15 || frame.Y < num * 12)
62784 {
62785 frame.Y = num * 12;
62786 }
62787 }
62788 else if (velocity.Y != 0f)
62789 {
62790 frameCounter += 1.0;
62791 if (frameCounter >= 2.0)
62792 {
62793 frame.Y += num;
62794 frameCounter = 0.0;
62795 }
62796 if (frame.Y >= num * 12 || frame.Y < num * 9)
62797 {
62798 frame.Y = num * 9;
62799 }
62800 }
62801 else if (velocity.X == 0f)
62802 {
62803 frameCounter = 0.0;
62804 frame.Y = 0;
62805 }
62806 else
62807 {
62809 if (frameCounter >= 10.0)
62810 {
62811 frame.Y += num;
62812 frameCounter = 0.0;
62813 }
62814 if (frame.Y > num * 7 || frame.Y < num)
62815 {
62816 frame.Y = num;
62817 }
62818 }
62819 break;
62820 case 429:
62821 if (velocity.Y == 0f)
62822 {
62823 if (direction != 0)
62824 {
62826 }
62827 if (velocity.X == 0f)
62828 {
62829 frame.Y = 0;
62830 frameCounter = 0.0;
62831 break;
62832 }
62833 if (frame.Y < num * 2)
62834 {
62835 frame.Y = num * 2;
62836 }
62837 frameCounter += Math.Abs(velocity.X) * 1f;
62838 frameCounter += 1.0;
62839 if (frameCounter > 6.0)
62840 {
62841 frame.Y += num;
62842 frameCounter = 0.0;
62843 }
62844 if (frame.Y / num >= Main.npcFrameCount[type])
62845 {
62846 frame.Y = num * 2;
62847 }
62848 }
62849 else
62850 {
62851 frame.Y = num;
62852 frameCounter = 0.0;
62853 }
62854 break;
62855 case 428:
62856 if (velocity.Y == 0f)
62857 {
62858 if (direction != 0)
62859 {
62861 }
62862 if (velocity.X == 0f)
62863 {
62864 frame.Y = 0;
62865 frameCounter = 0.0;
62866 break;
62867 }
62868 frameCounter += Math.Abs(velocity.X) * 1f;
62869 if ((frameCounter += 1.0) > 10.0)
62870 {
62871 frame.Y += num;
62872 frameCounter = 0.0;
62873 }
62874 if (frame.Y / num >= Main.npcFrameCount[type] - 1)
62875 {
62876 frame.Y = 0;
62877 }
62878 }
62879 else if (frame.Y / num != 4)
62880 {
62881 if (frameCounter > 0.0)
62882 {
62883 frameCounter = 0.0;
62884 }
62885 if ((frameCounter -= 1.0) < -10.0 || velocity.Y > 0.6f)
62886 {
62887 frame.Y = num * 4;
62888 frameCounter = 0.0;
62889 }
62890 }
62891 break;
62892 case 423:
62893 if (ai[2] == 1f)
62894 {
62895 int num233 = 2;
62896 if (ai[1] >= 30f && ai[1] < 45f)
62897 {
62898 num233 = 3;
62899 }
62900 frame.Y = num233 * num;
62901 break;
62902 }
62903 if (velocity.Y != 0f)
62904 {
62905 frame.Y = num;
62906 break;
62907 }
62908 if (velocity.X == 0f)
62909 {
62910 frame.Y = 0;
62911 break;
62912 }
62913 if (velocity.X != 0f)
62914 {
62916 }
62917 if (frame.Y / num < 4)
62918 {
62919 frame.Y = num * 4;
62920 }
62921 frameCounter += 1f + Math.Abs(velocity.X) / 2f;
62922 if (frameCounter > 6.0)
62923 {
62924 frame.Y += num;
62925 frameCounter = 0.0;
62926 }
62927 if (frame.Y / num >= Main.npcFrameCount[type])
62928 {
62929 frame.Y = num * 4;
62930 }
62931 break;
62932 case 421:
62933 if (ai[0] == 5f)
62934 {
62935 frameCounter += 1.0;
62936 }
62937 if ((frameCounter += 1.0) >= 5.0)
62938 {
62939 frameCounter = 0.0;
62940 frame.Y += num;
62941 if (frame.Y / num >= Main.npcFrameCount[type])
62942 {
62943 frame.Y = 0;
62944 }
62945 }
62946 break;
62947 case 424:
62948 if (velocity.Y == 0f)
62949 {
62950 if (direction != 0)
62951 {
62953 }
62954 if (ai[2] > 0f)
62955 {
62956 frame.Y = num * ((ai[1] > 90f) ? (Main.npcFrameCount[type] - 2) : (Main.npcFrameCount[type] - 1));
62957 frameCounter = 0.0;
62958 break;
62959 }
62960 if (velocity.X == 0f)
62961 {
62962 frame.Y = 0;
62963 break;
62964 }
62965 if (frame.Y < num * 2)
62966 {
62967 frame.Y = num * 2;
62968 }
62969 frameCounter += Math.Abs(velocity.X) * 2f;
62970 frameCounter += velocity.X * 1.3f;
62971 if (frameCounter > 6.0)
62972 {
62973 frame.Y += num;
62974 frameCounter = 0.0;
62975 }
62976 if (frame.Y / num >= Main.npcFrameCount[type] - 2)
62977 {
62978 frame.Y = num * 2;
62979 }
62980 }
62981 else
62982 {
62983 frameCounter = 0.0;
62984 frame.Y = num;
62985 }
62986 break;
62987 case 420:
62988 if ((frameCounter += 1.0) >= 5.0)
62989 {
62990 frameCounter = 0.0;
62991 frame.Y += num;
62992 if (frame.Y / num >= Main.npcFrameCount[type])
62993 {
62994 frame.Y = 0;
62995 }
62996 }
62997 break;
62998 case 411:
62999 if (ai[1] >= 120f && ai[1] < 240f)
63000 {
63002 frame.Y = num * (Main.npcFrameCount[type] - 1);
63003 frameCounter = 0.0;
63004 }
63005 else if (velocity.Y == 0f)
63006 {
63007 if (direction != 0)
63008 {
63010 }
63011 if (velocity.X == 0f)
63012 {
63013 frame.Y = 0;
63014 frameCounter = 0.0;
63015 break;
63016 }
63017 if (frame.Y < num * 2)
63018 {
63019 frame.Y = num * 2;
63020 }
63021 frameCounter += Math.Abs(velocity.X) * 1f;
63022 frameCounter += 1.0;
63023 if (frameCounter > 6.0)
63024 {
63025 frame.Y += num;
63026 frameCounter = 0.0;
63027 }
63028 if (frame.Y / num >= Main.npcFrameCount[type] - 1)
63029 {
63030 frame.Y = num * 2;
63031 }
63032 }
63033 else
63034 {
63035 frame.Y = num;
63036 frameCounter = 0.0;
63037 }
63038 break;
63039 case 409:
63040 if (velocity.Y == 0f && ai[1] <= 30f && ai[1] > 0f)
63041 {
63042 frame.Y = num * (Main.npcFrameCount[type] - 1);
63043 frameCounter = 0.0;
63044 break;
63045 }
63046 if (velocity.Y == 0f)
63047 {
63049 }
63050 if ((frameCounter += 1.0) >= 6.0)
63051 {
63052 frameCounter = 0.0;
63053 frame.Y += num;
63054 if (frame.Y / num >= Main.npcFrameCount[type] - 2)
63055 {
63056 frame.Y = 0;
63057 }
63058 }
63059 break;
63060 case 410:
63062 if (frameCounter >= 10.0)
63063 {
63064 frameCounter -= 10.0;
63065 frame.Y += num;
63066 if (frame.Y / num >= Main.npcFrameCount[type])
63067 {
63068 frame.Y = 0;
63069 }
63070 }
63071 break;
63072 case 407:
63073 if ((frameCounter += 1.0) >= 6.0)
63074 {
63075 frameCounter = 0.0;
63076 frame.Y += num;
63077 if (frame.Y / num >= Main.npcFrameCount[type])
63078 {
63079 frame.Y = 0;
63080 }
63081 }
63082 break;
63083 case 405:
63084 case 406:
63085 if ((frameCounter += 1.0) >= 4.0)
63086 {
63087 frameCounter = 0.0;
63088 frame.Y += num;
63089 if (frame.Y / num >= Main.npcFrameCount[type])
63090 {
63091 frame.Y = 0;
63092 }
63093 }
63094 break;
63095 case 516:
63096 if (localAI[1] == 0f)
63097 {
63098 localAI[1] = 1f;
63099 frame.Y = num * Main.rand.Next(3);
63100 frameCounter += Main.rand.Next(3);
63101 }
63102 frameCounter += 1.0;
63103 if (frameCounter > 3.0)
63104 {
63105 frameCounter = 0.0;
63106 frame.Y += num;
63107 if (frame.Y > num * 3)
63108 {
63109 frame.Y = 0;
63110 }
63111 }
63112 break;
63113 case 418:
63114 if (ai[0] == 0f || ai[0] == 1f || ai[0] == -1f)
63115 {
63116 frameCounter += 1.0;
63117 if (frameCounter > 6.0)
63118 {
63119 frameCounter = 0.0;
63120 frame.Y += num;
63121 }
63122 if (frame.Y > num * 4)
63123 {
63124 frame.Y = 0;
63125 }
63126 }
63127 else if (ai[0] == 2f)
63128 {
63129 if (ai[1] < 10f)
63130 {
63131 frame.Y = num * 5;
63132 }
63133 else if (ai[1] < 20f)
63134 {
63135 frame.Y = num * 6;
63136 }
63137 else
63138 {
63139 frame.Y = num * 7;
63140 }
63141 }
63142 else if (ai[0] == -2f)
63143 {
63144 frameCounter += 1.0;
63145 if (frameCounter > 12.0)
63146 {
63147 frameCounter = 0.0;
63148 frame.Y += num;
63149 }
63150 if (frame.Y > num * 7)
63151 {
63152 frame.Y = num * 5;
63153 }
63154 }
63155 break;
63156 case 1:
63157 case 16:
63158 case 59:
63159 case 71:
63160 case 81:
63161 case 138:
63162 case 147:
63163 case 183:
63164 case 184:
63165 case 204:
63166 case 225:
63167 case 302:
63168 case 304:
63169 case 333:
63170 case 334:
63171 case 335:
63172 case 336:
63173 case 535:
63174 case 537:
63175 case 658:
63176 case 659:
63177 case 667:
63178 case 676:
63179 if (type == 302 || type == 304)
63180 {
63182 }
63183 frameCounter += 1.0;
63184 if (num2 > 0)
63185 {
63186 frameCounter += 1.0;
63187 }
63188 if (num2 == 4)
63189 {
63190 frameCounter += 1.0;
63191 }
63192 if (frameCounter >= 8.0)
63193 {
63194 frame.Y += num;
63195 frameCounter = 0.0;
63196 }
63197 if (frame.Y >= num * Main.npcFrameCount[type])
63198 {
63199 frame.Y = 0;
63200 }
63201 break;
63202 case 488:
63203 {
63204 int num180 = (int)localAI[1];
63205 if (Framing.GetTileSafely((int)ai[0], (int)ai[1]).frameX >= 36)
63206 {
63207 num180 *= -1;
63208 }
63209 if (localAI[0] > 24f)
63210 {
63211 localAI[0] = 24f;
63212 }
63213 if (localAI[0] > 0f)
63214 {
63215 localAI[0] -= 1f;
63216 }
63217 if (localAI[0] < 0f)
63218 {
63219 localAI[0] = 0f;
63220 }
63221 int num181 = ((num180 == -1) ? 4 : 6);
63222 int num182 = (int)localAI[0] / num181;
63223 if (localAI[0] % (float)num181 != 0f)
63224 {
63225 num182++;
63226 }
63227 if (num182 != 0 && num180 == 1)
63228 {
63229 num182 += 5;
63230 }
63231 frame.Y = num182 * num;
63232 break;
63233 }
63234 case 430:
63235 case 431:
63236 case 432:
63237 case 433:
63238 case 434:
63239 case 435:
63240 case 436:
63241 case 591:
63242 if (ai[2] > 0f)
63243 {
63244 if (ai[2] < 5f)
63245 {
63246 frame.Y = num * 3;
63247 }
63248 else if (ai[2] < 10f)
63249 {
63250 frame.Y = num * 4;
63251 }
63252 else if (ai[2] < 15f)
63253 {
63254 frame.Y = num * 5;
63255 }
63256 else
63257 {
63258 frame.Y = num * 6;
63259 }
63260 break;
63261 }
63262 if (velocity.Y == 0f)
63263 {
63264 if (direction == 1)
63265 {
63266 spriteDirection = 1;
63267 }
63268 if (direction == -1)
63269 {
63270 spriteDirection = -1;
63271 }
63272 }
63273 if (velocity.Y != 0f || (direction == -1 && velocity.X > 0f) || (direction == 1 && velocity.X < 0f))
63274 {
63275 frameCounter = 0.0;
63276 frame.Y = num * 2;
63277 break;
63278 }
63279 if (velocity.X == 0f)
63280 {
63281 frameCounter = 0.0;
63282 frame.Y = 0;
63283 break;
63284 }
63286 if (frameCounter < 8.0)
63287 {
63288 frame.Y = 0;
63289 }
63290 else if (frameCounter < 16.0)
63291 {
63292 frame.Y = num;
63293 }
63294 else if (frameCounter < 24.0)
63295 {
63296 frame.Y = num * 2;
63297 }
63298 else if (frameCounter < 32.0)
63299 {
63300 frame.Y = num;
63301 }
63302 else
63303 {
63304 frameCounter = 0.0;
63305 }
63306 break;
63307 case 454:
63308 {
63309 int num160 = (int)(frameCounter / 2.0);
63310 frame.Y = num * num160;
63311 break;
63312 }
63313 case 377:
63314 case 446:
63316 {
63317 frameCounter += 1.0;
63318 if (frameCounter > 4.0)
63319 {
63320 frameCounter = 0.0;
63321 frame.Y += num;
63322 }
63323 if (frame.Y > num)
63324 {
63325 frame.Y = 0;
63326 }
63327 }
63328 else if (velocity.Y != 0f)
63329 {
63330 frame.Y = num;
63331 }
63332 else
63333 {
63334 frame.Y = 0;
63335 }
63337 break;
63338 case 378:
63339 {
63340 if (velocity.Y != 0f && frame.Y < num * 2)
63341 {
63342 frame.Y += num * 2;
63343 }
63344 if (velocity.Y == 0f && frame.Y > num * 2)
63345 {
63346 frame.Y -= num * 2;
63347 }
63348 frameCounter += 1.0;
63349 int num229 = 6;
63350 if (frameCounter >= (double)num229)
63351 {
63352 frameCounter = 0.0;
63353 frame.Y += num;
63354 if (velocity.Y != 0f && frame.Y >= num * 4)
63355 {
63356 frame.Y = num * 2;
63357 }
63358 if (velocity.Y == 0f && frame.Y >= num * 2)
63359 {
63360 frame.Y = 0;
63361 }
63362 }
63363 break;
63364 }
63365 case 376:
63366 frameCounter += 1.0;
63367 if (frameCounter > 30.0)
63368 {
63369 frameCounter = 0.0;
63370 frame.Y += num;
63371 if (frame.Y >= num * 2)
63372 {
63373 frame.Y = 0;
63374 }
63375 }
63376 break;
63377 case 589:
63378 {
63379 int num72 = frame.Y / num;
63380 frameCounter += 1.0;
63381 if (velocity.Y != 0f)
63382 {
63383 frame.Y = 0;
63384 frameCounter = 0.0;
63385 }
63386 if (num72 >= 12)
63387 {
63388 if (frameCounter > 6.0)
63389 {
63390 frameCounter = 0.0;
63391 frame.Y += num;
63392 if (frame.Y >= num * Main.npcFrameCount[type])
63393 {
63394 frame.Y = 0;
63395 }
63396 }
63397 }
63398 else if (num72 >= 11)
63399 {
63400 if (frameCounter > (double)Main.rand.Next(40, 140))
63401 {
63402 frameCounter = 0.0;
63403 frame.Y += num;
63404 }
63405 }
63406 else if (num72 >= 8)
63407 {
63408 if (!(frameCounter > 3.0))
63409 {
63410 break;
63411 }
63412 frameCounter = 0.0;
63413 frame.Y += num;
63414 if (frame.Y == num * 9)
63415 {
63417 vector.Y += height - 6;
63418 if (direction == 1)
63419 {
63420 vector.X += 30f;
63421 }
63422 else
63423 {
63424 vector.X -= 22f;
63425 }
63426 for (int j = 0; j < 4; j++)
63427 {
63428 Dust.NewDust(vector, 1, 1, 32);
63429 }
63430 }
63431 }
63432 else if (num72 >= 7)
63433 {
63434 if (frameCounter > (double)Main.rand.Next(30, 90))
63435 {
63436 frameCounter = 0.0;
63437 frame.Y += num;
63438 }
63439 }
63440 else if (num72 >= 4)
63441 {
63442 if (frameCounter > 4.0)
63443 {
63444 frameCounter = 0.0;
63445 frame.Y += num;
63446 }
63447 }
63448 else if (num72 >= 1)
63449 {
63450 if (frameCounter > 4.0)
63451 {
63452 frameCounter = 0.0;
63453 frame.Y += num;
63454 if (frame.Y >= num * 4 && Main.rand.Next(3) != 0)
63455 {
63456 frame.Y = 0;
63457 }
63458 }
63459 }
63460 else if (frameCounter > (double)Main.rand.Next(90, 450))
63461 {
63462 frameCounter = 0.0;
63463 frame.Y += num;
63464 }
63465 break;
63466 }
63467 case 375:
63468 frameCounter += 1.0;
63469 if (frameCounter > 4.0)
63470 {
63471 frameCounter = 0.0;
63472 frame.Y += num;
63473 if (frame.Y >= num * 4)
63474 {
63475 frame.Y = 0;
63476 }
63477 }
63478 break;
63479 case 374:
63480 localAI[0] = -2f;
63481 if (velocity.Y == 0f)
63482 {
63483 rotation = 0f;
63484 if (velocity.X == 0f)
63485 {
63486 frame.Y = 0;
63487 frameCounter = 0.0;
63488 break;
63489 }
63490 frameCounter += 1.0;
63491 if (frameCounter > 6.0)
63492 {
63493 frameCounter = 0.0;
63494 frame.Y += num;
63495 if (frame.Y >= num * 4)
63496 {
63497 frame.Y = num;
63498 }
63499 }
63500 break;
63501 }
63502 rotation += (float)direction * 0.1f;
63503 frameCounter += 1.0;
63504 if (frameCounter > 3.0)
63505 {
63506 frameCounter = 0.0;
63507 frame.Y += num;
63508 if (frame.Y >= num * 4)
63509 {
63510 frame.Y = num;
63511 }
63512 }
63513 break;
63514 case 492:
63515 frame.Y = num * (int)ai[2];
63516 break;
63517 case 473:
63518 case 474:
63519 case 475:
63520 case 476:
63521 if (velocity.Y == 0f)
63522 {
63524 }
63525 if (ai[0] == 0f || ai[0] == 7f)
63526 {
63527 rotation = 0f;
63528 frameCounter = 0.0;
63529 frame.Y = 0;
63530 }
63531 else if (ai[0] == 1f)
63532 {
63533 rotation = 0f;
63534 frameCounter = 0.0;
63535 int num80 = 6;
63536 if (ai[1] < (float)num80)
63537 {
63538 frame.Y = num;
63539 }
63540 else if (ai[1] < (float)(num80 * 2))
63541 {
63542 frame.Y = num * 2;
63543 }
63544 else if (ai[1] < (float)(num80 * 3))
63545 {
63546 frame.Y = num * 3;
63547 }
63548 else if (ai[1] < (float)(num80 * 4))
63549 {
63550 frame.Y = num * 4;
63551 }
63552 else if (ai[1] < (float)(num80 * 5))
63553 {
63554 frame.Y = num * 5;
63555 }
63556 else
63557 {
63558 frame.Y = num * 6;
63559 }
63560 }
63561 else if (ai[0] == 8f)
63562 {
63563 rotation = 0f;
63564 frameCounter += 1.0;
63565 if (frameCounter >= 24.0)
63566 {
63567 frameCounter = 0.0;
63568 }
63569 frame.Y = num * Math.Min(6, Math.Max(3, 3 + (int)frameCounter / 6));
63570 }
63571 else if (ai[0] == 2f || ai[0] == 6f)
63572 {
63573 rotation = 0f;
63574 if (velocity.Y == 0f)
63575 {
63576 int num81 = 6;
63577 frameCounter += 1.0;
63578 if (frame.Y < num * 7)
63579 {
63580 frame.Y = num * 12;
63581 }
63582 if (frame.Y < num * 10)
63583 {
63584 if (frameCounter > 8.0)
63585 {
63586 frame.Y += num;
63587 frameCounter = 0.0;
63588 if (frame.Y == num * 10)
63589 {
63590 frameCounter = num81 * 2;
63591 }
63592 }
63593 }
63594 else if (frameCounter < (double)num81)
63595 {
63596 frame.Y = num * 12;
63597 }
63598 else if (frameCounter < (double)(num81 * 2))
63599 {
63600 frame.Y = num * 11;
63601 }
63602 else if (frameCounter < (double)(num81 * 3))
63603 {
63604 frame.Y = num * 10;
63605 }
63606 else
63607 {
63608 frame.Y = num * 11;
63609 if (frameCounter >= (double)(num81 * 4 - 1))
63610 {
63611 frameCounter = 0.0;
63612 }
63613 }
63614 }
63615 else
63616 {
63617 frame.Y = num * 13;
63618 frameCounter = 0.0;
63619 }
63620 }
63621 else if (ai[0] == 3f)
63622 {
63623 rotation = 0f;
63624 frameCounter += 1.0;
63625 if (frameCounter > 6.0)
63626 {
63627 frameCounter = 0.0;
63628 if (frame.Y > num * 7)
63629 {
63630 frame.Y -= num;
63631 }
63632 }
63633 }
63634 else if (ai[0] == 4f || ai[0] == 5f)
63635 {
63636 if (ai[0] == 4f && ai[2] == 1f)
63637 {
63638 rotation = 0f;
63639 }
63640 frame.Y = num * 13;
63641 frameCounter = 0.0;
63642 }
63643 else
63644 {
63645 if (ai[0] != 4.1f)
63646 {
63647 break;
63648 }
63649 rotation = 0f;
63650 if (frame.Y > num * 6)
63651 {
63652 frameCounter = 0.0;
63653 }
63654 frameCounter += 1.0;
63655 int num82 = 4;
63656 if (frameCounter < (double)num82)
63657 {
63658 frame.Y = num * 6;
63659 break;
63660 }
63661 if (frameCounter < (double)(num82 * 2))
63662 {
63663 frame.Y = num * 5;
63664 break;
63665 }
63666 if (frameCounter < (double)(num82 * 3))
63667 {
63668 frame.Y = num * 4;
63669 break;
63670 }
63671 if (frameCounter < (double)(num82 * 4))
63672 {
63673 frame.Y = num * 3;
63674 break;
63675 }
63676 if (frameCounter < (double)(num82 * 5))
63677 {
63678 frame.Y = num * 4;
63679 break;
63680 }
63681 frame.Y = num * 5;
63682 if (frameCounter >= (double)(num82 * 6 - 1))
63683 {
63684 frameCounter = 0.0;
63685 }
63686 }
63687 break;
63688 case 477:
63689 frameCounter += velocity.Length() / 4f;
63690 frameCounter += 1.0;
63691 if (frameCounter >= 6.0)
63692 {
63693 frameCounter = 0.0;
63694 frame.Y += num;
63695 }
63696 if (frame.Y / num > 5)
63697 {
63698 frame.Y = 0;
63699 }
63700 break;
63701 case 479:
63702 {
63703 frameCounter += 1.0;
63704 int num62 = 4;
63705 if (frameCounter < (double)num62)
63706 {
63707 frame.Y = 0;
63708 }
63709 else if (frameCounter < (double)(num62 * 2))
63710 {
63711 frame.Y = num;
63712 }
63713 else if (frameCounter < (double)(num62 * 3))
63714 {
63715 frame.Y = num * 2;
63716 }
63717 else if (frameCounter < (double)(num62 * 4 - 1))
63718 {
63719 frame.Y = num;
63720 }
63721 else
63722 {
63723 frameCounter = 0.0;
63724 }
63725 break;
63726 }
63727 case 472:
63728 if (velocity.X < 0f)
63729 {
63730 direction = -1;
63731 }
63732 else
63733 {
63734 direction = 1;
63735 }
63736 if (direction == 1)
63737 {
63738 spriteDirection = 1;
63739 }
63740 if (direction == -1)
63741 {
63742 spriteDirection = -1;
63743 }
63744 rotation = (float)Math.Atan2(velocity.Y * (float)direction, velocity.X * (float)direction);
63745 frameCounter += 1.0;
63746 if (frameCounter > 4.0)
63747 {
63748 frame.Y += num;
63749 frameCounter = 0.0;
63750 }
63751 if (frame.Y / num >= 6)
63752 {
63753 frame.Y = 0;
63754 }
63755 break;
63756 case 449:
63757 case 450:
63758 case 451:
63759 case 452:
63760 if (velocity.Y == 0f)
63761 {
63762 if (direction == 1)
63763 {
63764 spriteDirection = 1;
63765 }
63766 if (direction == -1)
63767 {
63768 spriteDirection = -1;
63769 }
63770 if (ai[2] > 0f)
63771 {
63773 int num176 = 0;
63774 int num177 = Main.npcFrameCount[type] - 5;
63775 int num178 = 5;
63776 int num179 = 7;
63777 num176 = ((ai[1] >= 50f) ? 1 : ((ai[1] >= (float)(50 - num179)) ? 2 : ((ai[1] >= (float)(50 - num179 * 2)) ? 3 : ((ai[1] >= (float)(50 - num179 * 3)) ? 4 : 0))));
63778 frame.Y = num * (num177 + num176);
63779 frameCounter = 0.0;
63780 break;
63781 }
63782 if (velocity.X == 0f)
63783 {
63784 frame.Y = 0;
63785 break;
63786 }
63787 if (frame.Y < num * 2)
63788 {
63789 frame.Y = num * 2;
63790 }
63791 if (frame.Y < num * 2)
63792 {
63793 frame.Y = num * 2;
63794 }
63795 frameCounter += Math.Abs(velocity.X) * 2f;
63796 if (frameCounter > 6.0)
63797 {
63798 frame.Y += num;
63799 frameCounter = 0.0;
63800 }
63801 if (frame.Y / num >= 15)
63802 {
63803 frame.Y = num * 2;
63804 }
63805 }
63806 else
63807 {
63808 frameCounter = 0.0;
63809 frame.Y = num;
63810 }
63811 break;
63812 case 481:
63813 if (velocity.Y == 0f)
63814 {
63815 if (direction == 1)
63816 {
63817 spriteDirection = 1;
63818 }
63819 if (direction == -1)
63820 {
63821 spriteDirection = -1;
63822 }
63823 if (ai[2] > 0f)
63824 {
63826 int num69 = 0;
63827 if (ai[1] < 22f)
63828 {
63829 num69 = -14;
63830 }
63831 else if (ai[1] < 28f)
63832 {
63833 num69 = 3;
63834 }
63835 else if (ai[1] < 34f)
63836 {
63837 num69 = 2;
63838 }
63839 else if (ai[1] < 40f)
63840 {
63841 num69 = 1;
63842 }
63843 frame.Y = num * (15 + num69);
63844 frameCounter = 0.0;
63845 }
63846 else if (velocity.X == 0f)
63847 {
63848 frame.Y = num;
63849 }
63850 else
63851 {
63852 if (frame.Y < num * 2)
63853 {
63854 frame.Y = num * 2;
63855 }
63856 frameCounter += Math.Abs(velocity.X) * 2f;
63857 if (frameCounter > 6.0)
63858 {
63859 frame.Y += num;
63860 frameCounter = 0.0;
63861 }
63862 if (frame.Y / num >= 15)
63863 {
63864 frame.Y = num * 2;
63865 }
63866 }
63867 }
63868 else
63869 {
63870 frameCounter = 0.0;
63871 frame.Y = 0;
63872 }
63873 break;
63874 case 468:
63875 if (velocity.Y == 0f)
63876 {
63877 if (direction == 1)
63878 {
63879 spriteDirection = 1;
63880 }
63881 if (direction == -1)
63882 {
63883 spriteDirection = -1;
63884 }
63885 if (ai[2] > 0f)
63886 {
63888 int num44 = 0;
63889 if (ai[1] < 22f)
63890 {
63891 num44 = -15;
63892 }
63893 else if (ai[1] < 28f)
63894 {
63895 num44 = 3;
63896 }
63897 else if (ai[1] < 34f)
63898 {
63899 num44 = 2;
63900 }
63901 else if (ai[1] < 40f)
63902 {
63903 num44 = 1;
63904 }
63905 frame.Y = num * (15 + num44);
63906 frameCounter = 0.0;
63907 }
63908 else if (velocity.X == 0f)
63909 {
63910 frame.Y = 0;
63911 }
63912 else
63913 {
63914 if (frame.Y < num * 2)
63915 {
63916 frame.Y = num * 2;
63917 }
63918 frameCounter += Math.Abs(velocity.X) * 2f;
63919 if (frameCounter > 6.0)
63920 {
63921 frame.Y += num;
63922 frameCounter = 0.0;
63923 }
63924 if (frame.Y / num >= 15)
63925 {
63926 frame.Y = num * 2;
63927 }
63928 }
63929 }
63930 else
63931 {
63932 frameCounter = 0.0;
63933 frame.Y = num;
63934 }
63935 break;
63936 case 379:
63937 case 380:
63938 if (velocity.Y == 0f)
63939 {
63940 if (direction == 1)
63941 {
63942 spriteDirection = 1;
63943 }
63944 if (direction == -1)
63945 {
63946 spriteDirection = -1;
63947 }
63948 if (ai[2] > 0f)
63949 {
63951 frame.Y = num * ((int)ai[2] - 1 + 2);
63952 frameCounter = 0.0;
63953 break;
63954 }
63955 if (velocity.X == 0f)
63956 {
63957 frame.Y = 0;
63958 break;
63959 }
63960 if (frame.Y < num * 7)
63961 {
63962 frame.Y = num * 7;
63963 }
63964 frameCounter += Math.Abs(velocity.X) * 2f;
63965 if (frameCounter > 6.0)
63966 {
63967 frame.Y += num;
63968 frameCounter = 0.0;
63969 }
63970 if (frame.Y / num >= Main.npcFrameCount[type])
63971 {
63972 frame.Y = num * 7;
63973 }
63974 }
63975 else
63976 {
63977 frameCounter = 0.0;
63978 frame.Y = num;
63979 }
63980 break;
63981 case 381:
63982 case 382:
63983 case 383:
63984 case 385:
63985 case 389:
63986 if (velocity.Y == 0f)
63987 {
63989 if (frame.Y < num * 2)
63990 {
63991 frame.Y = num * 2;
63992 }
63993 if (type == 389 || type == 385)
63994 {
63995 frameCounter += (double)Math.Abs(velocity.X) * 1.2;
63996 }
63997 else
63998 {
63999 frameCounter += Math.Abs(velocity.X) * 2f;
64000 }
64001 if (frameCounter > 6.0)
64002 {
64003 frame.Y += num;
64004 frameCounter = 0.0;
64005 }
64006 if (frame.Y / num >= Main.npcFrameCount[type])
64007 {
64008 frame.Y = num * 2;
64009 }
64010 if (velocity.X == 0f)
64011 {
64012 frame.Y = 0;
64013 }
64014 }
64015 else
64016 {
64017 frameCounter = 0.0;
64018 frame.Y = num;
64019 }
64020 break;
64021 case 387:
64022 if (ai[0] > 0f)
64023 {
64024 frameCounter += 1.0;
64025 if (ai[0] >= 20f)
64026 {
64027 frameCounter += 1.0;
64028 }
64029 if (ai[0] >= 40f)
64030 {
64031 frameCounter += 1.0;
64032 }
64033 if (frameCounter >= 10.0)
64034 {
64035 frameCounter = 0.0;
64036 frame.Y += num;
64037 if (frame.Y >= num * 2)
64038 {
64039 frame.Y = 0;
64040 }
64041 }
64042 break;
64043 }
64044 frameCounter += 1.0;
64045 if (frameCounter >= 15.0)
64046 {
64047 frameCounter = 0.0;
64048 frame.Y += num;
64049 if (frame.Y >= num * 2)
64050 {
64051 frame.Y = 0;
64052 }
64053 }
64054 break;
64055 case 386:
64056 if (ai[2] > 0f)
64057 {
64058 int num71 = (int)ai[2] / 12;
64059 frame.Y = num * (9 + num71 % 2);
64060 }
64061 else if (velocity.Y == 0f)
64062 {
64064 if (frame.Y < num * 2)
64065 {
64066 frame.Y = num * 2;
64067 }
64068 frameCounter += Math.Abs(velocity.X) * 2f;
64069 if (frameCounter > 6.0)
64070 {
64071 frame.Y += num;
64072 frameCounter = 0.0;
64073 }
64074 if (frame.Y / num >= 9)
64075 {
64076 frame.Y = num * 2;
64077 }
64078 if (velocity.X == 0f)
64079 {
64080 frame.Y = 0;
64081 }
64082 }
64083 else
64084 {
64085 frameCounter = 0.0;
64086 frame.Y = num;
64087 }
64088 break;
64089 case 388:
64090 {
64091 frameCounter += 1.0;
64092 int num64 = 6;
64093 if (frameCounter >= (double)num64)
64094 {
64095 frameCounter = 0.0;
64096 frame.Y += num;
64097 if (frame.Y >= num * 2)
64098 {
64099 frame.Y = 0;
64100 }
64101 }
64102 break;
64103 }
64104 case 391:
64105 if (velocity.Y == 0f)
64106 {
64107 if (direction == 1)
64108 {
64109 spriteDirection = -1;
64110 }
64111 if (direction == -1)
64112 {
64113 spriteDirection = 1;
64114 }
64115 if (frame.Y < num)
64116 {
64117 frame.Y = num;
64118 }
64119 frameCounter += Math.Abs(velocity.X) * 0.5f;
64120 if (frameCounter > 6.0)
64121 {
64122 frame.Y += num;
64123 frameCounter = 0.0;
64124 }
64125 if (frame.Y / num >= Main.npcFrameCount[type])
64126 {
64127 frame.Y = num;
64128 }
64129 if (velocity.X == 0f)
64130 {
64131 frame.Y = 0;
64132 }
64133 }
64134 else
64135 {
64136 frameCounter = 0.0;
64137 frame.Y = 0;
64138 }
64139 break;
64140 case 390:
64142 {
64143 frameCounter += Math.Abs(velocity.X) * 0.5f;
64144 if (frameCounter > 6.0)
64145 {
64146 frameCounter = 0.0;
64147 localAI[3] += 1f;
64148 if (localAI[3] >= (float)Main.npcFrameCount[391])
64149 {
64150 localAI[3] = 0f;
64151 }
64152 }
64153 }
64154 if (direction != 0)
64155 {
64157 }
64158 if (ai[2] > 0f)
64159 {
64160 frame.Y = num * ((int)ai[2] - 1);
64161 }
64162 else
64163 {
64164 frame.Y = num * 2;
64165 }
64166 break;
64167 case 393:
64168 {
64169 int num170 = 0;
64170 Vector2 vector2 = ai[2].ToRotationVector2();
64171 num170 = ((vector2.Y > Math.Abs(vector2.X) * 2f) ? 4 : ((vector2.Y > Math.Abs(vector2.X) * 1.5f) ? ((vector2.X > 0f) ? 5 : 3) : ((Math.Abs(vector2.X) > vector2.Y * 2f) ? ((vector2.X > 0f) ? 8 : 0) : ((!(Math.Abs(vector2.X) > vector2.Y * 1.5f)) ? ((vector2.X > 0f) ? 6 : 2) : ((!(vector2.X > 0f)) ? 1 : 7)))));
64172 frame.Y = num * num170;
64173 float num171 = 280f;
64174 float num172 = 140f;
64175 if (ai[3] >= num171 && ai[3] < num171 + num172 && (int)ai[3] % 6 <= 2)
64176 {
64177 frame.Y += num * 9;
64178 }
64179 break;
64180 }
64181 case 394:
64182 {
64183 int num166 = (int)ai[3] - 300;
64184 if (num166 >= 120)
64185 {
64186 num166 -= 120;
64187 if (num166 >= 160)
64188 {
64189 frame.Y = num * (7 - (num166 - 160) / 5);
64190 }
64191 else if (num166 >= 20)
64192 {
64193 frame.Y = num * (num166 / 4 % 4);
64194 }
64195 else
64196 {
64197 frame.Y = num * (4 + num166 / 5);
64198 }
64199 }
64200 else
64201 {
64202 frame.Y = num * 4;
64203 }
64204 break;
64205 }
64206 case 395:
64207 {
64208 float num157 = 20f;
64209 float num158 = 240f;
64210 bool flag9 = ai[3] >= num157 && ai[3] < num157 + num158;
64211 frameCounter += 1.0;
64212 if (frameCounter >= 66.0)
64213 {
64214 frameCounter = 0.0;
64215 }
64216 if (flag9)
64217 {
64218 frameCounter += 1.0;
64219 if (frameCounter >= 54.0 || frameCounter < 36.0)
64220 {
64221 frameCounter = 36.0;
64222 }
64223 }
64224 int num159 = (int)frameCounter % 66;
64225 num159 /= 6;
64226 frame.Y = num * num159;
64227 break;
64228 }
64229 case 392:
64230 {
64231 float num84 = 20f;
64232 float num85 = 240f;
64233 bool flag8 = ai[3] >= num84 && ai[3] < num84 + num85;
64234 frameCounter += 1.0;
64235 if (flag8)
64236 {
64237 frameCounter += 1.0;
64238 }
64239 if (frameCounter >= 12.0)
64240 {
64241 frameCounter = 0.0;
64242 }
64243 int num86 = (int)frameCounter % 12;
64244 num86 /= 3;
64245 frame.Y = num * num86;
64246 break;
64247 }
64248 case 399:
64249 frameCounter = (frameCounter + 0.25) % 4.0 + (double)((ai[0] != 0f) ? 4 : 0);
64250 frame.Y = num * (int)frameCounter;
64251 break;
64252 case 520:
64253 if (velocity.Y == 0f)
64254 {
64256 frameCounter += Math.Abs(velocity.X) * 1f;
64257 if (frameCounter > 6.0)
64258 {
64259 if (Math.Abs(velocity.X) < 0.2f)
64260 {
64261 frame.Y = 0;
64262 frameCounter = 0.0;
64263 }
64264 else
64265 {
64266 frame.Y += num;
64267 frameCounter = 0.0;
64268 }
64269 }
64270 if (frame.Y / num >= Main.npcFrameCount[type])
64271 {
64272 frame.Y = num;
64273 }
64274 if (velocity.X == 0f)
64275 {
64276 frame.Y = 0;
64277 }
64278 }
64279 else
64280 {
64281 frameCounter = 0.0;
64282 frame.Y = num;
64283 }
64284 break;
64285 case 398:
64286 {
64287 if (ai[0] <= 0f)
64288 {
64289 frame.Y = 0;
64290 break;
64291 }
64292 if (frame.Y == 0)
64293 {
64294 Gore.NewGore(position + new Vector2(-10f, -15f), velocity, 619);
64295 Gore.NewGore(position + new Vector2(10f, -15f), velocity, 620);
64296 Gore.NewGore(position + new Vector2(-10f, 15f), velocity, 621);
64297 Gore.NewGore(position + new Vector2(10f, 15f), velocity, 622);
64298 for (int i = 0; i < 50; i++)
64299 {
64300 frame.Y = num;
64301 Dust.NewDust(position, width, height, 209);
64302 }
64303 }
64304 frameCounter += 1.0;
64305 if (frameCounter >= 30.0)
64306 {
64307 frameCounter = 6.0;
64308 }
64309 int num67 = (int)frameCounter % 30;
64310 num67 /= 6;
64311 frame.Y = num * num67;
64312 break;
64313 }
64314 case 397:
64315 {
64316 int num48 = (int)frameCounter / 7;
64317 frame.Y = num * num48;
64318 break;
64319 }
64320 case 400:
64321 {
64322 frameCounter += 1.0;
64323 if (ai[0] == 0f || ai[0] == 3f)
64324 {
64325 frameCounter += 1.0;
64326 }
64327 if (frameCounter >= 16.0)
64328 {
64329 frameCounter = 0.0;
64330 }
64331 int num49 = (int)frameCounter % 16;
64332 num49 /= 4;
64333 frame.Y = num * num49;
64334 break;
64335 }
64336 case 437:
64337 {
64338 frameCounter += 1.0;
64339 if (frameCounter >= 20.0)
64340 {
64341 frameCounter = 0.0;
64342 }
64343 int num42 = (int)frameCounter % 20;
64344 num42 /= 5;
64345 frame.Y = num * num42;
64346 break;
64347 }
64348 case 438:
64349 {
64350 frameCounter += 1.0;
64351 if (ai[1] == 1f)
64352 {
64353 frameCounter += 1.0;
64354 }
64355 if (frameCounter >= 49.0)
64356 {
64357 frameCounter = 0.0;
64358 }
64359 int num235 = (int)frameCounter % 49;
64360 num235 /= 7;
64361 if (num235 >= 4)
64362 {
64363 num235 = 6 - num235;
64364 }
64365 frame.Y = num * num235;
64366 break;
64367 }
64368 case 439:
64369 case 440:
64370 {
64371 int num43 = (int)localAI[2];
64373 {
64374 if (frameCounter > 5.0)
64375 {
64376 frameCounter = 0.0;
64377 frame.Y += num;
64378 }
64379 if (frame.Y < num * 4 || frame.Y > num * 6)
64380 {
64381 frame.Y = num * 4;
64382 }
64383 }
64384 else
64385 {
64386 switch (num43)
64387 {
64388 case 0:
64389 if (frameCounter >= 15.0)
64390 {
64391 frameCounter = 0.0;
64392 frame.Y = 0;
64393 }
64394 else if (frame.Y != 0)
64395 {
64396 frame.Y = ((int)frameCounter / 5 + 4) * num;
64397 }
64398 break;
64399 case 10:
64400 if (frameCounter >= 15.0)
64401 {
64402 frameCounter = 0.0;
64403 }
64404 frame.Y = ((int)frameCounter / 5 + 4) * num;
64405 break;
64406 case 1:
64407 if (frameCounter >= 15.0)
64408 {
64409 frameCounter = 0.0;
64410 frame.Y = num;
64411 }
64412 else if (frame.Y != num)
64413 {
64414 frame.Y = ((int)frameCounter / 5 + 10) * num;
64415 }
64416 break;
64417 case 11:
64418 if (frameCounter >= 15.0)
64419 {
64420 frameCounter = 0.0;
64421 }
64422 frame.Y = ((int)frameCounter / 5 + 10) * num;
64423 break;
64424 case 2:
64425 if (frameCounter >= 15.0)
64426 {
64427 frameCounter = 0.0;
64428 frame.Y = num * 2;
64429 }
64430 else if (frame.Y != num * 2)
64431 {
64432 frame.Y = ((int)frameCounter / 5 + 7) * num;
64433 }
64434 break;
64435 case 12:
64436 if (frameCounter >= 15.0)
64437 {
64438 frameCounter = 0.0;
64439 }
64440 frame.Y = ((int)frameCounter / 5 + 7) * num;
64441 break;
64442 case 13:
64443 if (frameCounter >= 15.0)
64444 {
64445 frameCounter = 0.0;
64446 }
64447 frame.Y = ((int)frameCounter / 5 + 13) * num;
64448 break;
64449 }
64450 }
64451 frameCounter += 1.0;
64452 break;
64453 }
64454 case 521:
64455 if (velocity.X < 0f)
64456 {
64457 direction = -1;
64458 }
64459 else
64460 {
64461 direction = 1;
64462 }
64463 if (direction != 0)
64464 {
64466 }
64467 rotation = (float)Math.Atan2(velocity.Y * (float)spriteDirection, velocity.X * (float)spriteDirection) + velocity.X * 0.1f;
64468 if ((frameCounter += 1.0) >= 5.0)
64469 {
64470 frame.Y += num;
64471 frameCounter = 0.0;
64472 if (frame.Y / num >= Main.npcFrameCount[type])
64473 {
64474 frame.Y = 0;
64475 }
64476 }
64477 break;
64478 case 523:
64479 if ((frameCounter += 1.0) >= 6.0)
64480 {
64481 frame.Y += num;
64482 frameCounter = 0.0;
64483 if (frame.Y / num >= Main.npcFrameCount[type])
64484 {
64485 frame.Y = 0;
64486 }
64487 }
64488 break;
64489 case 371:
64490 case 372:
64491 case 373:
64492 frame.Y = num;
64493 break;
64494 case 370:
64495 {
64496 if (ai[0] == 0f || ai[0] == 5f)
64497 {
64498 int num73 = 5;
64499 if (ai[0] == 5f)
64500 {
64501 num73 = 4;
64502 }
64503 frameCounter += 1.0;
64504 if (frameCounter > (double)num73)
64505 {
64506 frameCounter = 0.0;
64507 frame.Y += num;
64508 }
64509 if (frame.Y >= num * 6)
64510 {
64511 frame.Y = 0;
64512 }
64513 }
64514 if (ai[0] == 1f || ai[0] == 6f)
64515 {
64516 if (ai[2] < 10f)
64517 {
64518 frame.Y = num * 6;
64519 }
64520 else
64521 {
64522 frame.Y = num * 7;
64523 }
64524 }
64525 if (ai[0] == 2f || ai[0] == 7f)
64526 {
64527 if (ai[2] < 10f)
64528 {
64529 frame.Y = num * 6;
64530 }
64531 else
64532 {
64533 frame.Y = num * 7;
64534 }
64535 }
64536 if (ai[0] == 3f || ai[0] == 8f || ai[0] == -1f)
64537 {
64538 int num74 = 90;
64539 if (ai[2] < (float)(num74 - 30) || ai[2] > (float)(num74 - 10))
64540 {
64541 frameCounter += 1.0;
64542 if (frameCounter > 5.0)
64543 {
64544 frameCounter = 0.0;
64545 frame.Y += num;
64546 }
64547 if (frame.Y >= num * 6)
64548 {
64549 frame.Y = 0;
64550 }
64551 }
64552 else
64553 {
64554 frame.Y = num * 6;
64555 if (ai[2] > (float)(num74 - 20) && ai[2] < (float)(num74 - 15))
64556 {
64557 frame.Y = num * 7;
64558 }
64559 }
64560 }
64561 if (ai[0] != 4f && ai[0] != 9f)
64562 {
64563 break;
64564 }
64565 int num75 = 180;
64566 if (ai[2] < (float)(num75 - 60) || ai[2] > (float)(num75 - 20))
64567 {
64568 frameCounter += 1.0;
64569 if (frameCounter > 5.0)
64570 {
64571 frameCounter = 0.0;
64572 frame.Y += num;
64573 }
64574 if (frame.Y >= num * 6)
64575 {
64576 frame.Y = 0;
64577 }
64578 }
64579 else
64580 {
64581 frame.Y = num * 6;
64582 if (ai[2] > (float)(num75 - 50) && ai[2] < (float)(num75 - 25))
64583 {
64584 frame.Y = num * 7;
64585 }
64586 }
64587 break;
64588 }
64589 case 359:
64590 case 360:
64591 case 655:
64592 {
64593 if (velocity.Y > 1f)
64594 {
64595 frameCounter += 1.0;
64596 int num65 = 6;
64597 if (frameCounter < (double)num65)
64598 {
64599 frame.Y = num * 4;
64600 break;
64601 }
64602 frame.Y = num * 5;
64603 if (frameCounter >= (double)(num65 * 2 - 1))
64604 {
64605 frameCounter = 0.0;
64606 }
64607 break;
64608 }
64609 frameCounter += 1.0;
64610 int num66 = 10;
64611 if (frameCounter < (double)num66)
64612 {
64613 frame.Y = 0;
64614 break;
64615 }
64616 if (frameCounter < (double)(num66 * 2))
64617 {
64618 frame.Y = num;
64619 break;
64620 }
64621 if (frameCounter < (double)(num66 * 3))
64622 {
64623 frame.Y = num * 2;
64624 break;
64625 }
64626 if (frameCounter < (double)(num66 * 4))
64627 {
64628 frame.Y = num * 3;
64629 break;
64630 }
64631 if (frameCounter < (double)(num66 * 5))
64632 {
64633 frame.Y = num * 2;
64634 break;
64635 }
64636 frame.Y = num;
64637 if (frameCounter >= (double)(num66 * 6 - 1))
64638 {
64639 frameCounter = 0.0;
64640 }
64641 break;
64642 }
64643 case 327:
64644 if (ai[3] == 0f)
64645 {
64646 if (frame.Y > num * 5)
64647 {
64648 frameCounter += 1.0;
64649 }
64650 else if (frame.Y > 0)
64651 {
64652 frameCounter -= 1.0;
64653 }
64654 }
64655 else if (ai[3] == 1f)
64656 {
64657 if (frame.Y > num * 10)
64658 {
64659 frameCounter += 1.0;
64660 }
64661 else if (frame.Y > num * 4)
64662 {
64663 frameCounter -= 1.0;
64664 }
64665 else if (frame.Y < num * 4)
64666 {
64667 frameCounter += 1.0;
64668 }
64669 }
64670 else if (ai[3] == 2f)
64671 {
64672 if (frame.Y < num * 2)
64673 {
64674 frameCounter -= 1.0;
64675 }
64676 else if (frame.Y > num * 8)
64677 {
64678 frameCounter -= 1.0;
64679 }
64680 else if (frame.Y < num * 8)
64681 {
64682 frameCounter += 1.0;
64683 }
64684 }
64685 if (frameCounter > 6.0)
64686 {
64687 frameCounter = 0.0;
64688 frame.Y += num;
64689 if (frame.Y > num * 11)
64690 {
64691 frame.Y = 0;
64692 }
64693 }
64694 if (frameCounter < 0.0)
64695 {
64696 frameCounter = 6.0;
64697 frame.Y -= num;
64698 if (frame.Y < 0)
64699 {
64700 frame.Y = num * 11;
64701 }
64702 }
64703 break;
64704 case 347:
64705 frameCounter += 1.0;
64706 if (frameCounter > 1.0)
64707 {
64708 frame.Y += num;
64709 frameCounter = 0.0;
64710 }
64711 if (frame.Y > num * 3)
64712 {
64713 frame.Y = 0;
64714 }
64715 break;
64716 case 346:
64717 if (ai[0] == 1f)
64718 {
64720 frameCounter += 1.0;
64721 if (frameCounter > 2.0)
64722 {
64723 frame.Y += num;
64724 frameCounter = 0.0;
64725 }
64726 if (frame.Y > num * 8)
64727 {
64728 frame.Y = num * 6;
64729 }
64730 if (frame.Y < num * 6)
64731 {
64732 frame.Y = num * 6;
64733 }
64734 break;
64735 }
64736 if (velocity.X == 0f)
64737 {
64738 ref int y3 = ref frame.Y;
64739 y3 = y3;
64740 frameCounter = 0.0;
64741 break;
64742 }
64744 frameCounter += 1.0;
64745 frameCounter += Math.Abs(velocity.X) / 2f;
64746 if (frameCounter > 4.0)
64747 {
64748 frame.Y += num;
64749 frameCounter = 0.0;
64750 }
64751 if (frame.Y > num * 5)
64752 {
64753 frame.Y = num;
64754 }
64755 if (frame.Y < num)
64756 {
64757 frame.Y = num;
64758 }
64759 break;
64760 case 352:
64761 frameCounter += 1.0;
64762 if (frameCounter > 3.0)
64763 {
64764 frame.Y += num;
64765 frameCounter = 0.0;
64766 }
64767 if (frame.Y > num * 5)
64768 {
64769 frame.Y = 0;
64770 }
64771 break;
64772 case 345:
64773 if (ai[0] == 0f)
64774 {
64775 if (ai[3] >= 0f)
64776 {
64777 frame.Y = 0;
64778 }
64779 else if (velocity.X < 0f)
64780 {
64781 frame.Y = num;
64782 }
64783 else
64784 {
64785 frame.Y = num * 2;
64786 }
64787 }
64788 else if (ai[0] == 1f)
64789 {
64790 frameCounter += 1.0;
64791 if (frameCounter > 5.0)
64792 {
64793 frameCounter = 0.0;
64794 frame.Y += num;
64795 }
64796 if (frame.Y > num * 4)
64797 {
64798 frame.Y = num * 3;
64799 }
64800 if (frame.Y < num * 3)
64801 {
64802 frame.Y = num * 3;
64803 }
64804 }
64805 else if (ai[0] == 2f)
64806 {
64807 frame.Y = num * 5;
64808 }
64809 break;
64810 case 344:
64811 if (velocity.X == 0f)
64812 {
64813 frameCounter += 1.0;
64814 if (frameCounter > 5.0)
64815 {
64816 frameCounter = 0.0;
64817 frame.Y += num;
64818 }
64819 if (frame.Y > num * 9)
64820 {
64821 frame.Y = 0;
64822 }
64823 }
64824 else
64825 {
64826 frameCounter += Math.Max(1f, Math.Abs(velocity.X) * 0.75f);
64827 if (frameCounter > 5.0)
64828 {
64829 frameCounter = 0.0;
64830 frame.Y += num;
64831 }
64832 if (frame.Y > num * 9)
64833 {
64834 frame.Y = 0;
64835 }
64836 }
64837 break;
64838 case 325:
64839 if (velocity.X == 0f)
64840 {
64841 frameCounter += 1.0;
64842 if (frameCounter > 4.0)
64843 {
64844 frameCounter = 0.0;
64845 frame.Y += num;
64846 }
64847 if (frame.Y > num * 4)
64848 {
64849 frame.Y = 0;
64850 }
64851 break;
64852 }
64853 frameCounter += 1.0;
64854 if (frameCounter > 4.0)
64855 {
64856 frameCounter = 0.0;
64857 frame.Y += num;
64858 }
64859 if (frame.Y < num * 5)
64860 {
64861 frame.Y = num * 5;
64862 }
64863 if (frame.Y > num * 9)
64864 {
64865 frame.Y = num * 5;
64866 }
64867 break;
64868 case 490:
64869 rotation = velocity.X * 0.15f;
64870 frameCounter += 1.0;
64871 if (frameCounter > 6.0)
64872 {
64873 frameCounter = 0.0;
64874 frame.Y += num;
64875 }
64876 if (frame.Y >= num * Main.npcFrameCount[type])
64877 {
64878 frame.Y = 0;
64879 }
64880 break;
64881 case 266:
64882 frameCounter += 1.0;
64883 if (frameCounter > 6.0)
64884 {
64885 frameCounter = 0.0;
64886 frame.Y += num;
64887 }
64888 if (ai[0] >= 0f)
64889 {
64890 if (frame.Y > num * 3)
64891 {
64892 frame.Y = 0;
64893 }
64894 break;
64895 }
64896 if (frame.Y < num * 4)
64897 {
64898 frame.Y = num * 4;
64899 }
64900 if (frame.Y > num * 7)
64901 {
64902 frame.Y = num * 4;
64903 }
64904 break;
64905 case 262:
64906 frameCounter += 1.0;
64907 if (frameCounter > 6.0)
64908 {
64909 frameCounter = 0.0;
64910 frame.Y += num;
64911 }
64912 if (life > lifeMax / 2)
64913 {
64914 if (frame.Y > num * 3)
64915 {
64916 frame.Y = 0;
64917 }
64918 break;
64919 }
64920 if (frame.Y < num * 4)
64921 {
64922 frame.Y = num * 4;
64923 }
64924 if (frame.Y > num * 7)
64925 {
64926 frame.Y = num * 4;
64927 }
64928 break;
64929 case 305:
64930 case 306:
64931 case 307:
64932 case 308:
64933 case 309:
64934 if (velocity.Y == 0f)
64935 {
64937 }
64938 if (velocity.Y < -3f)
64939 {
64940 frame.Y = num * 5;
64941 }
64942 else if (velocity.Y <= 0f)
64943 {
64944 frame.Y = 0;
64945 }
64946 else if (velocity.Y < 2f)
64947 {
64948 frame.Y = num * 3;
64949 }
64950 else
64951 {
64952 frame.Y = num;
64953 }
64954 rotation = velocity.X * 0.1f;
64955 break;
64956 case 263:
64957 if (velocity.X == 0f && velocity.Y == 0f)
64958 {
64959 if (frame.Y > 0)
64960 {
64961 frameCounter += 1.0;
64962 if (frameCounter > 4.0)
64963 {
64964 frameCounter = 0.0;
64965 frame.Y -= num;
64966 }
64967 }
64968 }
64969 else if (frame.Y < 2)
64970 {
64971 frameCounter += 1.0;
64972 if (frameCounter > 4.0)
64973 {
64974 frameCounter = 0.0;
64975 frame.Y += num;
64976 }
64977 }
64978 break;
64979 case 244:
64980 frameCounter += 1.0;
64981 if (num2 > 0)
64982 {
64983 frameCounter += 1.0;
64984 }
64985 if (num2 == 4)
64986 {
64987 frameCounter += 1.0;
64988 }
64989 if (frameCounter >= 8.0)
64990 {
64991 frame.Y += num;
64992 frameCounter = 0.0;
64993 }
64994 if (frame.Y >= num * Main.npcFrameCount[type])
64995 {
64996 frame.Y = 0;
64997 }
64998 break;
64999 case 289:
65000 frameCounter += 1.0;
65001 if (frameCounter < 4.0)
65002 {
65003 frame.Y = 0;
65004 }
65005 else if (frameCounter < 8.0)
65006 {
65007 frame.Y = num;
65008 }
65009 else
65010 {
65011 frame.Y = num * 2;
65012 frameCounter = 0.0;
65013 if (frameCounter > 12.0)
65014 {
65015 frameCounter = 0.0;
65016 }
65017 }
65018 if (ai[3] == 1f)
65019 {
65020 frame.Y += num * 3;
65021 }
65022 break;
65023 case 288:
65024 frameCounter += 1.0;
65025 if (frameCounter >= 6.0)
65026 {
65027 frame.Y += num;
65028 frameCounter = 0.0;
65029 }
65030 if (frame.Y >= num * Main.npcFrameCount[type])
65031 {
65032 frame.Y = 0;
65033 }
65034 break;
65035 case 355:
65036 case 358:
65037 case 654:
65039 frameCounter += 1.0;
65040 if (frameCounter < 4.0)
65041 {
65042 frame.Y = 0;
65043 }
65044 else
65045 {
65046 frame.Y = num;
65047 if (frameCounter >= 7.0)
65048 {
65049 frameCounter = 0.0;
65050 }
65051 }
65052 if (localAI[2] <= 0f)
65053 {
65054 frame.Y += num * 2;
65055 }
65056 break;
65057 case 677:
65059 frameCounter += 1.0;
65060 if ((frameCounter += 1.0) >= 6.0)
65061 {
65062 frameCounter = 0.0;
65063 if (++frame.Y >= 5)
65064 {
65065 frame.Y = 0;
65066 }
65067 }
65068 break;
65069 case 595:
65070 case 596:
65071 case 597:
65072 case 598:
65073 case 599:
65074 case 600:
65075 case 601:
65076 {
65078 int num218 = 3;
65079 if ((frameCounter += 1.0) >= (double)(Main.npcFrameCount[type] * num218))
65080 {
65081 frameCounter = 0.0;
65082 }
65083 frame.Y = num * ((int)frameCounter / num218);
65084 break;
65085 }
65086 case 356:
65087 case 444:
65088 case 653:
65089 case 661:
65090 {
65091 int num183 = 7;
65092 rotation = velocity.X * 0.3f;
65094 frameCounter = frameCounter + 1.0 + (double)((Math.Abs(velocity.X) + Math.Abs(velocity.Y)) / 2f);
65095 if (frameCounter < (double)num183)
65096 {
65097 frame.Y = 0;
65098 }
65099 else if (frameCounter < (double)(num183 * 2))
65100 {
65101 frame.Y = num;
65102 }
65103 else if (frameCounter < (double)(num183 * 3))
65104 {
65105 frame.Y = num * 2;
65106 }
65107 else
65108 {
65109 frame.Y = num;
65110 if (frameCounter >= (double)(num183 * 4 - 1))
65111 {
65112 frameCounter = 0.0;
65113 }
65114 }
65115 if (type != 444 && type != 653 && type != 661)
65116 {
65117 frame.Y += (int)((float)(num * 3) * (ai[2] - 1f));
65118 }
65119 break;
65120 }
65121 case 357:
65122 case 448:
65123 case 484:
65124 case 606:
65125 {
65126 localAI[0] = -2f;
65127 if (velocity.Y == 0f)
65128 {
65129 rotation = 0f;
65130 if (velocity.X == 0f)
65131 {
65132 frame.Y = num;
65133 frameCounter = 0.0;
65134 }
65135 else
65136 {
65137 frameCounter += 1.0;
65138 if (frameCounter > 12.0)
65139 {
65140 frameCounter = 0.0;
65141 frame.Y += num;
65142 if (frame.Y > num)
65143 {
65144 frame.Y = 0;
65145 }
65146 }
65147 }
65148 }
65149 else
65150 {
65151 rotation += (float)direction * 0.1f;
65152 frame.Y = num;
65153 }
65154 int i3 = (int)base.Center.X / 16;
65155 int j3 = (int)position.Y / 16;
65156 Tile tileSafely2 = Framing.GetTileSafely(i3, j3);
65157 if (tileSafely2 != null)
65158 {
65159 if (tileSafely2.slope() == 0)
65160 {
65161 j3++;
65162 tileSafely2 = Framing.GetTileSafely(i3, j3);
65163 }
65164 if (tileSafely2.slope() == 1)
65165 {
65166 rotation = 0.785f;
65167 localAI[0] = 0f;
65168 }
65169 else if (tileSafely2.slope() == 2)
65170 {
65171 rotation = -0.785f;
65172 localAI[0] = 0f;
65173 }
65174 }
65175 break;
65176 }
65177 case 485:
65178 case 486:
65179 case 487:
65180 {
65182 localAI[0] = -2f;
65183 if (velocity.Y == 0f)
65184 {
65185 rotation = 0f;
65186 if (velocity.X == 0f)
65187 {
65188 frame.Y = num;
65189 frameCounter = 0.0;
65190 }
65191 else
65192 {
65193 frameCounter += Math.Abs(velocity.X * 5f);
65194 if (frameCounter > 10.0)
65195 {
65196 frameCounter = 0.0;
65197 frame.Y += num;
65198 if (frame.Y > num * 3)
65199 {
65200 frame.Y = 0;
65201 }
65202 }
65203 }
65204 }
65205 else
65206 {
65207 rotation += (float)direction * 0.1f;
65208 frame.Y = num;
65209 }
65210 int i2 = (int)base.Center.X / 16;
65211 int j2 = (int)position.Y / 16;
65212 Tile tileSafely = Framing.GetTileSafely(i2, j2);
65213 if (tileSafely != null)
65214 {
65215 if (tileSafely.slope() == 0)
65216 {
65217 j2++;
65218 tileSafely = Framing.GetTileSafely(i2, j2);
65219 }
65220 if (tileSafely.slope() == 1)
65221 {
65222 rotation = 0.785f;
65223 localAI[0] = 0f;
65224 }
65225 else if (tileSafely.slope() == 2)
65226 {
65227 rotation = -0.785f;
65228 localAI[0] = 0f;
65229 }
65230 }
65231 break;
65232 }
65233 case 250:
65234 case 264:
65235 case 268:
65236 frameCounter += 1.0;
65237 if (frameCounter >= 6.0)
65238 {
65239 frame.Y += num;
65240 frameCounter = 0.0;
65241 }
65242 if (frame.Y >= num * Main.npcFrameCount[type])
65243 {
65244 frame.Y = 0;
65245 }
65246 break;
65247 case 245:
65248 if (ai[0] == 0f)
65249 {
65250 if (ai[1] < -16f)
65251 {
65252 frame.Y = 0;
65253 }
65254 else if (ai[1] < -12f)
65255 {
65256 frame.Y = num;
65257 }
65258 else if (ai[1] < -8f)
65259 {
65260 frame.Y = num * 2;
65261 }
65262 else if (ai[1] < -4f)
65263 {
65264 frame.Y = num * 3;
65265 }
65266 else if (ai[1] < 0f)
65267 {
65268 frame.Y = num * 4;
65269 }
65270 else
65271 {
65272 frame.Y = 0;
65273 }
65274 }
65275 else if (ai[0] == 1f)
65276 {
65277 frame.Y = 1;
65278 }
65279 break;
65280 case 246:
65281 if (ai[0] == 0f)
65282 {
65283 if (localAI[0] == 1f)
65284 {
65285 frame.Y = num;
65286 }
65287 else
65288 {
65289 frame.Y = 0;
65290 }
65291 }
65292 else if (ai[0] == 1f)
65293 {
65294 if (localAI[0] == 1f)
65295 {
65296 frame.Y = num;
65297 }
65298 else
65299 {
65300 frame.Y = 0;
65301 }
65302 if (localAI[1] == -1f)
65303 {
65304 frame.Y += num * 4;
65305 }
65306 if (localAI[1] == 1f)
65307 {
65308 frame.Y += num * 2;
65309 }
65310 }
65311 break;
65312 case 249:
65313 if (localAI[0] == 1f)
65314 {
65315 frame.Y = num;
65316 }
65317 else
65318 {
65319 frame.Y = 0;
65320 }
65321 if ((frameCounter += 1.0) >= 16.0)
65322 {
65323 frameCounter = 0.0;
65324 }
65325 break;
65326 case 141:
65328 if (velocity.Y != 0f)
65329 {
65330 frame.Y = num * 2;
65331 break;
65332 }
65333 frameCounter += 1.0;
65334 if (frameCounter >= 8.0)
65335 {
65336 frame.Y += num;
65337 frameCounter = 0.0;
65338 }
65339 if (frame.Y > num)
65340 {
65341 frame.Y = 0;
65342 }
65343 break;
65344 case 243:
65345 if (frameCounter < 0.0)
65346 {
65347 if (velocity.Y == 0f)
65348 {
65349 frameCounter += 1.0;
65350 if (frameCounter < -12.0)
65351 {
65352 if (frame.Y > num * 9)
65353 {
65354 frame.Y = num * 11;
65355 }
65356 }
65357 else if (frameCounter < -6.0)
65358 {
65359 if (frame.Y > num * 9)
65360 {
65361 frame.Y = num * 12;
65362 }
65363 }
65364 else if (frameCounter < 0.0)
65365 {
65366 frameCounter = 0.0;
65367 if (frame.Y > num * 9)
65368 {
65369 frame.Y = num * 11;
65370 }
65371 }
65372 }
65373 else
65374 {
65375 frameCounter = -18.0;
65376 if (velocity.Y < 0f)
65377 {
65378 frame.Y = num * 14;
65379 }
65380 else
65381 {
65382 frame.Y = num * 13;
65383 }
65384 }
65385 break;
65386 }
65388 frameCounter += Math.Abs(velocity.X * 1.1f);
65389 if (frameCounter >= 6.0)
65390 {
65391 frameCounter = 0.0;
65392 frame.Y += num;
65393 if (frame.Y > num * 9)
65394 {
65395 frame.Y = 0;
65396 }
65397 }
65398 if (velocity.Y < -2f || velocity.Y > 5f)
65399 {
65400 frameCounter = -18.0;
65401 }
65402 break;
65403 case 222:
65404 frameCounter += 1.0;
65405 if (localAI[0] == 1f)
65406 {
65407 if (frameCounter > 4.0)
65408 {
65409 frame.Y += num;
65410 frameCounter = 0.0;
65411 }
65412 if (frame.Y >= num * 4)
65413 {
65414 frame.Y = 0;
65415 }
65416 break;
65417 }
65418 if (frameCounter > 4.0)
65419 {
65420 frame.Y += num;
65421 frameCounter = 0.0;
65422 }
65423 if (frame.Y < num * 4)
65424 {
65425 frame.Y = num * 4;
65426 }
65427 if (frame.Y >= num * 12)
65428 {
65429 frame.Y = num * 4;
65430 }
65431 break;
65432 case 164:
65433 case 236:
65434 case 239:
65435 case 530:
65436 if (velocity.Y != 0f)
65437 {
65438 frameCounter = 0.0;
65439 if (velocity.Y < 0f)
65440 {
65441 frame.Y = num * 4;
65442 }
65443 else
65444 {
65445 frame.Y = 0;
65446 }
65447 break;
65448 }
65450 frameCounter += Math.Abs(velocity.X) * 1.1f;
65451 while (frameCounter >= 6.0)
65452 {
65453 frameCounter -= 6.0;
65454 frame.Y += num;
65455 if (frame.Y > num * 3)
65456 {
65457 frame.Y = 0;
65458 }
65459 }
65460 break;
65461 case 165:
65462 case 237:
65463 case 238:
65464 case 240:
65465 case 531:
65466 {
65467 float num217 = 0.5f;
65468 if (type == 531)
65469 {
65470 num217 = 0.4f;
65471 }
65473 if (frameCounter < 6.0)
65474 {
65475 frame.Y = 0;
65476 }
65477 else if (frameCounter < 12.0)
65478 {
65479 frame.Y = num;
65480 }
65481 else if (frameCounter < 18.0)
65482 {
65483 frame.Y = num * 2;
65484 }
65485 else if (frameCounter < 24.0)
65486 {
65487 frame.Y = num * 3;
65488 }
65489 else
65490 {
65491 frameCounter = 0.0;
65492 }
65493 break;
65494 }
65495 case 195:
65496 if (ai[0] < 3f)
65497 {
65498 frame.Y = 0;
65499 }
65500 else if (ai[0] < 6f)
65501 {
65502 frame.Y = num;
65503 }
65504 else if (ai[0] < 9f)
65505 {
65506 frame.Y = num * 2;
65507 }
65508 else if (ai[0] < 12f)
65509 {
65510 frame.Y = num * 3;
65511 }
65512 else if (ai[0] < 15f)
65513 {
65514 frame.Y = num * 4;
65515 }
65516 else
65517 {
65518 frame.Y = num * 5;
65519 }
65520 break;
65521 case 174:
65523 {
65524 frameCounter += 1.0;
65525 if (frameCounter > 5.0)
65526 {
65527 frameCounter = 0.0;
65528 frame.Y += num;
65529 }
65530 if (frame.Y > num * 4)
65531 {
65532 frame.Y = 0;
65533 }
65534 }
65535 else if (velocity.Y == 0f)
65536 {
65537 frame.Y = 0;
65538 }
65539 else if ((double)velocity.Y < -1.5)
65540 {
65541 frame.Y = num;
65542 }
65543 else if ((double)velocity.Y > 1.5)
65544 {
65545 frame.Y = num * 3;
65546 }
65547 else
65548 {
65549 frame.Y = num * 2;
65550 }
65551 break;
65552 case 177:
65553 if (velocity.Y == 0f)
65554 {
65555 frameCounter += 1.0;
65556 if (frameCounter >= 10.0)
65557 {
65558 frameCounter = 30.0;
65559 frame.Y = 0;
65560 }
65561 else
65562 {
65563 frame.Y = num;
65564 }
65565 }
65566 else if (velocity.Y < 0f)
65567 {
65568 frame.Y = num * 2;
65569 }
65570 else
65571 {
65572 frameCounter = 0.0;
65573 frame.Y = num * 2;
65574 }
65575 break;
65576 case 163:
65577 if (velocity.Y != 0f)
65578 {
65579 frameCounter = -12.0;
65580 if (velocity.Y < 0f)
65581 {
65582 frame.Y = num * 5;
65583 }
65584 else
65585 {
65586 frame.Y = num * 6;
65587 }
65588 break;
65589 }
65591 frameCounter += Math.Abs(velocity.X) * 1.1f;
65592 if (frameCounter < -6.0)
65593 {
65594 frame.Y = num * 6;
65595 }
65596 else if (frameCounter < 0.0)
65597 {
65598 frame.Y = num * 7;
65599 }
65600 else if (frameCounter < 6.0)
65601 {
65602 frame.Y = num;
65603 }
65604 else if (frameCounter < 12.0)
65605 {
65606 frame.Y = num * 2;
65607 }
65608 else if (frameCounter < 18.0)
65609 {
65610 frame.Y = num * 3;
65611 }
65612 else
65613 {
65614 frameCounter = 0.0;
65615 }
65616 break;
65617 case 143:
65618 if (velocity.Y > 0f)
65619 {
65620 frameCounter += 1.0;
65621 }
65622 else if (velocity.Y < 0f)
65623 {
65624 frameCounter -= 1.0;
65625 }
65626 if (frameCounter < 6.0)
65627 {
65628 frame.Y = num;
65629 }
65630 else if (frameCounter < 12.0)
65631 {
65632 frame.Y = num * 2;
65633 }
65634 else if (frameCounter < 18.0)
65635 {
65636 frame.Y = num * 3;
65637 }
65638 if (frameCounter < 0.0)
65639 {
65640 frameCounter = 0.0;
65641 }
65642 if (frameCounter > 17.0)
65643 {
65644 frameCounter = 17.0;
65645 }
65646 break;
65647 case 144:
65648 if (velocity.X == 0f && velocity.Y == 0f)
65649 {
65650 localAI[3] += 1f;
65651 if (localAI[3] < 6f)
65652 {
65653 frame.Y = 0;
65654 }
65655 else if (localAI[3] < 12f)
65656 {
65657 frame.Y = num;
65658 }
65659 if (localAI[3] >= 11f)
65660 {
65661 localAI[3] = 0f;
65662 }
65663 break;
65664 }
65665 if (velocity.Y > 0f)
65666 {
65667 frameCounter += 1.0;
65668 }
65669 else if (velocity.Y < 0f)
65670 {
65671 frameCounter -= 1.0;
65672 }
65673 if (frameCounter < 6.0)
65674 {
65675 frame.Y = num * 2;
65676 }
65677 else if (frameCounter < 12.0)
65678 {
65679 frame.Y = num * 3;
65680 }
65681 else if (frameCounter < 18.0)
65682 {
65683 frame.Y = num * 4;
65684 }
65685 if (frameCounter < 0.0)
65686 {
65687 frameCounter = 0.0;
65688 }
65689 if (frameCounter > 17.0)
65690 {
65691 frameCounter = 17.0;
65692 }
65693 break;
65694 case 145:
65695 if (velocity.X == 0f && velocity.Y == 0f)
65696 {
65697 if (ai[2] < 4f)
65698 {
65699 frame.Y = 0;
65700 }
65701 else if (ai[2] < 8f)
65702 {
65703 frame.Y = num;
65704 }
65705 else if (ai[2] < 12f)
65706 {
65707 frame.Y = num * 2;
65708 }
65709 else if (ai[2] < 16f)
65710 {
65711 frame.Y = num * 3;
65712 }
65713 break;
65714 }
65715 if (velocity.Y > 0f)
65716 {
65717 frameCounter += 1.0;
65718 }
65719 else if (velocity.Y < 0f)
65720 {
65721 frameCounter -= 1.0;
65722 }
65723 if (frameCounter < 6.0)
65724 {
65725 frame.Y = num * 4;
65726 }
65727 else if (frameCounter < 12.0)
65728 {
65729 frame.Y = num * 5;
65730 }
65731 else if (frameCounter < 18.0)
65732 {
65733 frame.Y = num * 6;
65734 }
65735 if (frameCounter < 0.0)
65736 {
65737 frameCounter = 0.0;
65738 }
65739 if (frameCounter > 17.0)
65740 {
65741 frameCounter = 17.0;
65742 }
65743 break;
65744 case 50:
65745 if (velocity.Y != 0f)
65746 {
65747 if (frame.Y < num * 4)
65748 {
65749 frame.Y = num * 4;
65750 frameCounter = 0.0;
65751 }
65752 if ((frameCounter += 1.0) >= 4.0)
65753 {
65754 frame.Y = num * 5;
65755 }
65756 break;
65757 }
65758 if (frame.Y >= num * 5)
65759 {
65760 frame.Y = num * 4;
65761 frameCounter = 0.0;
65762 }
65763 frameCounter += 1.0;
65764 if (num2 > 0)
65765 {
65766 frameCounter += 1.0;
65767 }
65768 if (num2 == 4)
65769 {
65770 frameCounter += 1.0;
65771 }
65772 if (frameCounter >= 8.0)
65773 {
65774 frame.Y += num;
65775 frameCounter = 0.0;
65776 if (frame.Y >= num * 4)
65777 {
65778 frame.Y = 0;
65779 }
65780 }
65781 break;
65782 case 170:
65783 case 171:
65784 case 180:
65786 frameCounter += 1.0;
65787 if (frameCounter >= 4.0)
65788 {
65789 frame.Y += num;
65790 frameCounter = 0.0;
65791 }
65792 if (frame.Y >= num * 14)
65793 {
65794 frame.Y = 0;
65795 }
65796 break;
65797 case 135:
65798 if (ai[2] == 0f)
65799 {
65800 frame.Y = 0;
65801 }
65802 else
65803 {
65804 frame.Y = num;
65805 }
65806 break;
65807 case 85:
65808 case 341:
65809 case 629:
65810 if (ai[0] == 0f)
65811 {
65812 frameCounter = 0.0;
65813 frame.Y = 0;
65814 }
65815 else
65816 {
65817 int num173 = 3;
65818 if (velocity.Y == 0f)
65819 {
65820 frameCounter -= 1.0;
65821 }
65822 else
65823 {
65824 frameCounter += 1.0;
65825 }
65826 if (frameCounter < 0.0)
65827 {
65828 frameCounter = 0.0;
65829 }
65830 if (frameCounter > (double)(num173 * 4))
65831 {
65832 frameCounter = num173 * 4;
65833 }
65834 if (frameCounter < (double)num173)
65835 {
65836 frame.Y = num;
65837 }
65838 else if (frameCounter < (double)(num173 * 2))
65839 {
65840 frame.Y = num * 2;
65841 }
65842 else if (frameCounter < (double)(num173 * 3))
65843 {
65844 frame.Y = num * 3;
65845 }
65846 else if (frameCounter < (double)(num173 * 4))
65847 {
65848 frame.Y = num * 4;
65849 }
65850 else if (frameCounter < (double)(num173 * 5))
65851 {
65852 frame.Y = num * 5;
65853 }
65854 else if (frameCounter < (double)(num173 * 6))
65855 {
65856 frame.Y = num * 4;
65857 }
65858 else if (frameCounter < (double)(num173 * 7))
65859 {
65860 frame.Y = num * 3;
65861 }
65862 else
65863 {
65864 frame.Y = num * 2;
65865 if (frameCounter >= (double)(num173 * 8))
65866 {
65868 }
65869 }
65870 }
65871 if (ai[3] == 2f || (IsABestiaryIconDummy && type == 85))
65872 {
65873 frame.Y += num * 6;
65874 }
65875 else if (ai[3] == 3f)
65876 {
65877 frame.Y += num * 12;
65878 }
65879 break;
65880 case 113:
65881 case 114:
65882 if (ai[2] == 0f)
65883 {
65884 frameCounter += 1.0;
65885 if (frameCounter >= 12.0)
65886 {
65887 frame.Y += num;
65888 frameCounter = 0.0;
65889 }
65890 if (frame.Y >= num * Main.npcFrameCount[type])
65891 {
65892 frame.Y = 0;
65893 }
65894 }
65895 else
65896 {
65897 frame.Y = 0;
65898 frameCounter = -60.0;
65899 }
65900 break;
65901 case 61:
65902 {
65904 rotation = velocity.X * 0.1f;
65905 if (velocity.X == 0f && velocity.Y == 0f)
65906 {
65907 frame.Y = 0;
65908 frameCounter = 0.0;
65909 break;
65910 }
65911 int num167 = 5;
65912 int num168 = 5;
65913 frameCounter += 1.0;
65914 if (frameCounter >= (double)(num167 * num168))
65915 {
65916 frameCounter = 0.0;
65917 }
65918 int num169 = (int)(frameCounter / (double)num167);
65919 frame.Y = (num169 + 1) * num;
65920 break;
65921 }
65922 case 252:
65923 case 301:
65924 if (type == 301)
65925 {
65926 if (velocity.Y == 0f)
65927 {
65929 }
65930 else
65931 {
65932 if ((double)velocity.X > 0.5)
65933 {
65934 spriteDirection = -1;
65935 }
65936 if ((double)velocity.X < -0.5)
65937 {
65938 spriteDirection = 1;
65939 }
65940 }
65941 }
65942 else
65943 {
65944 if ((double)velocity.X > 0.5)
65945 {
65946 spriteDirection = 1;
65947 }
65948 if ((double)velocity.X < -0.5)
65949 {
65950 spriteDirection = -1;
65951 }
65952 }
65953 rotation = velocity.X * 0.1f;
65954 if (velocity.X == 0f && velocity.Y == 0f)
65955 {
65956 frame.Y = 0;
65957 frameCounter = 0.0;
65958 break;
65959 }
65960 frameCounter += 1.0;
65961 if (frameCounter > 4.0)
65962 {
65963 frameCounter = 0.0;
65964 frame.Y += num;
65965 }
65966 if (frame.Y > num * 4 || frame.Y == 0)
65967 {
65968 frame.Y = num;
65969 }
65970 break;
65971 case 122:
65973 rotation = velocity.X * 0.05f;
65974 if (ai[3] > 0f)
65975 {
65976 int num143 = (int)(ai[3] / 8f);
65977 frameCounter = 0.0;
65978 frame.Y = (num143 + 3) * num;
65979 break;
65980 }
65981 frameCounter += 1.0;
65982 if (frameCounter >= 8.0)
65983 {
65984 frame.Y += num;
65985 frameCounter = 0.0;
65986 }
65987 if (frame.Y >= num * 3)
65988 {
65989 frame.Y = 0;
65990 }
65991 break;
65992 case 74:
65993 case 297:
65994 case 298:
65995 case 442:
65996 {
65998 rotation = velocity.X * 0.1f;
65999 if (velocity.X == 0f && velocity.Y == 0f)
66000 {
66001 frame.Y = num * 4;
66002 frameCounter = 0.0;
66003 break;
66004 }
66005 int num83 = Main.npcFrameCount[type] - 1;
66006 frameCounter += 1.0;
66007 if (frameCounter >= 4.0)
66008 {
66009 frame.Y += num;
66010 frameCounter = 0.0;
66011 }
66012 if (frame.Y >= num * num83)
66013 {
66014 frame.Y = 0;
66015 }
66016 break;
66017 }
66018 case 671:
66019 case 672:
66020 case 673:
66021 case 674:
66022 case 675:
66023 {
66025 rotation = velocity.X * 0.1f;
66026 if (velocity.X == 0f && velocity.Y == 0f)
66027 {
66028 frame.Y = 0;
66029 frameCounter = 0.0;
66030 break;
66031 }
66032 int num70 = Main.npcFrameCount[type];
66033 frameCounter += 1.0;
66034 if (frameCounter >= 4.0)
66035 {
66036 frameCounter = 0.0;
66037 frame.Y += num;
66038 }
66039 if (frame.Y >= num * num70)
66040 {
66041 frame.Y = num;
66042 }
66043 break;
66044 }
66045 case 611:
66047 rotation = velocity.X * 0.1f;
66048 if (velocity.X == 0f && velocity.Y == 0f)
66049 {
66050 int num57 = frame.Y / num;
66051 if (num57 < 0 || num57 >= 8)
66052 {
66053 frame.Y = 0;
66054 }
66055 if ((int)frameCounter % 40 != 0 || Main.rand.Next(80) == 0)
66056 {
66057 frameCounter += 1.0;
66058 }
66059 if ((frameCounter + 1.0) % 40.0 == 39.0)
66060 {
66061 frameCounter = 40 * Main.rand.Next(3);
66062 }
66063 int num58 = (int)frameCounter % 40 / 10;
66064 int num59 = (int)frameCounter / 40;
66065 int num60 = 0;
66066 switch (num59)
66067 {
66068 case 0:
66069 if (num58 == 3)
66070 {
66071 num58 = 1;
66072 }
66073 num60 = num58;
66074 break;
66075 case 1:
66076 if (num58 == 3)
66077 {
66078 num58 = 1;
66079 }
66080 num60 = 0;
66081 if (num58 != 0)
66082 {
66083 num60 = 2 + num58;
66084 }
66085 break;
66086 case 2:
66087 num60 = 0;
66088 if (num58 != 0)
66089 {
66090 num60 = 4 + num58;
66091 }
66092 break;
66093 }
66094 frame.Y = num * num60;
66095 }
66096 else
66097 {
66098 frameCounter += 1.0;
66099 if (frameCounter >= 5.0)
66100 {
66101 frame.Y += num;
66102 frameCounter = 0.0;
66103 }
66104 if (frame.Y >= num * Main.npcFrameCount[type] || frame.Y < num * 8)
66105 {
66106 frame.Y = num * 8;
66107 }
66108 }
66109 break;
66110 case 362:
66111 case 364:
66112 case 608:
66114 if (velocity.X == 0f)
66115 {
66116 frameCounter = 0.0;
66117 frame.Y = 0;
66118 break;
66119 }
66120 frameCounter += 1.0;
66121 if (frameCounter >= 4.0)
66122 {
66123 frame.Y += num;
66124 frameCounter = 0.0;
66125 }
66126 if (frame.Y >= num * 10)
66127 {
66128 frame.Y = num * 3;
66129 }
66130 if (frame.Y < num * 3)
66131 {
66132 frame.Y = num * 3;
66133 }
66134 break;
66135 case 363:
66136 case 365:
66137 case 609:
66139 if (wet)
66140 {
66141 frameCounter += 1.0;
66142 if (frameCounter >= 8.0)
66143 {
66144 frame.Y += num;
66145 frameCounter = 0.0;
66146 }
66147 if (frame.Y > num * 2)
66148 {
66149 frame.Y = num;
66150 }
66151 if (frame.Y < num)
66152 {
66153 frame.Y = num;
66154 }
66155 rotation = 0f;
66156 }
66157 else if (velocity.X == 0f && velocity.Y == 0f)
66158 {
66159 frame.Y = num;
66160 frameCounter = 0.0;
66161 rotation = 0f;
66162 }
66163 else
66164 {
66165 rotation = velocity.X * 0.1f;
66166 frameCounter += 1.0;
66167 if (frameCounter >= 4.0)
66168 {
66169 frame.Y += num;
66170 frameCounter = 0.0;
66171 }
66172 if (frame.Y >= num * Main.npcFrameCount[type])
66173 {
66174 frame.Y = num * 11;
66175 }
66176 if (frame.Y < num * 11)
66177 {
66178 frame.Y = num * 11;
66179 }
66180 }
66181 break;
66182 case 602:
66184 if (velocity.X == 0f)
66185 {
66186 frameCounter = 0.0;
66187 frame.Y = 0;
66188 break;
66189 }
66190 frameCounter += 1.0;
66191 if (frameCounter >= 4.0)
66192 {
66193 frame.Y += num;
66194 frameCounter = 0.0;
66195 }
66196 if (frame.Y >= num * 10)
66197 {
66198 frame.Y = num * 3;
66199 }
66200 if (frame.Y < num * 3)
66201 {
66202 frame.Y = num * 3;
66203 }
66204 break;
66205 case 603:
66207 if (wet)
66208 {
66209 frameCounter += 1.0;
66210 if (frameCounter >= 8.0)
66211 {
66212 frame.Y += num;
66213 frameCounter = 0.0;
66214 }
66215 if (frame.Y > num * 2)
66216 {
66217 frame.Y = num;
66218 }
66219 if (frame.Y < num)
66220 {
66221 frame.Y = num;
66222 }
66223 rotation = 0f;
66224 }
66225 else if (velocity.X == 0f && velocity.Y == 0f)
66226 {
66227 frame.Y = num;
66228 frameCounter = 0.0;
66229 rotation = 0f;
66230 }
66231 else
66232 {
66233 rotation = velocity.X * 0.1f;
66234 frameCounter += 1.0;
66235 if (frameCounter >= 4.0)
66236 {
66237 frame.Y += num;
66238 frameCounter = 0.0;
66239 }
66240 if (frame.Y >= num * Main.npcFrameCount[type])
66241 {
66242 frame.Y = num * 11;
66243 }
66244 if (frame.Y < num * 11)
66245 {
66246 frame.Y = num * 11;
66247 }
66248 }
66249 break;
66250 case 62:
66251 case 66:
66252 {
66254 rotation = velocity.X * 0.1f;
66255 int num225 = 5;
66256 int num226 = 5;
66257 frameCounter += 1.0;
66258 if (frameCounter >= (double)(num225 * num226))
66259 {
66260 frameCounter = 0.0;
66261 }
66262 int num227 = (int)(frameCounter / (double)num225);
66263 frame.Y = num227 * num;
66264 break;
66265 }
66266 case 156:
66267 {
66269 rotation = velocity.X * 0.1f;
66270 frameCounter += 1.0;
66271 if (frameCounter >= 20.0)
66272 {
66273 frameCounter = 0.0;
66274 }
66275 int num221 = (int)frameCounter / 4;
66276 frame.Y = num221 * num;
66277 break;
66278 }
66279 case 63:
66280 case 64:
66281 case 103:
66282 case 242:
66283 case 256:
66284 if ((type == 63 || type == 64 || type == 103 || type == 242) && ai[1] == 1f)
66285 {
66286 frameCounter += 1.0;
66287 if (frameCounter > 4.0)
66288 {
66289 frameCounter = 0.0;
66290 frame.Y += num;
66291 }
66292 if (frame.Y > num * 6)
66293 {
66294 frame.Y = num * 4;
66295 }
66296 if (frame.Y < num * 4)
66297 {
66298 frame.Y = num * 4;
66299 }
66300 return;
66301 }
66302 frameCounter += 1.0;
66303 if (frameCounter < 6.0)
66304 {
66305 frame.Y = 0;
66306 break;
66307 }
66308 if (frameCounter < 12.0)
66309 {
66310 frame.Y = num;
66311 break;
66312 }
66313 if (frameCounter < 18.0)
66314 {
66315 frame.Y = num * 2;
66316 break;
66317 }
66318 frame.Y = num * 3;
66319 if (frameCounter >= 23.0)
66320 {
66321 frameCounter = 0.0;
66322 }
66323 break;
66324 case 221:
66325 if (localAI[2] == 1f)
66326 {
66327 if (localAI[0] == 1f)
66328 {
66329 frame.Y = 0;
66330 localAI[0] = 0f;
66331 }
66332 frameCounter += 1.0;
66333 if (frameCounter >= 8.0)
66334 {
66335 frame.Y += num;
66336 frameCounter = 0.0;
66337 }
66338 if (frame.Y >= num * Main.npcFrameCount[type])
66339 {
66340 frame.Y = num * Main.npcFrameCount[type] - num;
66341 }
66342 }
66343 else
66344 {
66345 frameCounter += 1.0;
66346 if (frameCounter >= 13.0)
66347 {
66348 frame.Y += num;
66349 frameCounter = 0.0;
66350 }
66351 if (frame.Y >= num * Main.npcFrameCount[type])
66352 {
66353 frame.Y = 0;
66354 }
66355 }
66356 break;
66357 case 2:
66358 case 23:
66359 case 121:
66360 case 169:
66361 case 190:
66362 case 191:
66363 case 192:
66364 case 193:
66365 case 194:
66366 case 317:
66367 case 318:
66368 case 660:
66369 {
66370 if (type == 23)
66371 {
66372 int num161 = Dust.NewDust(new Vector2(position.X - velocity.X, position.Y - velocity.Y), width, height, 6, velocity.X * 0.2f, velocity.Y * 0.2f, 100, default(Color), 2f);
66373 Main.dust[num161].noGravity = true;
66374 Main.dust[num161].velocity.X *= 0.3f;
66375 Main.dust[num161].velocity.Y *= 0.3f;
66376 }
66377 if ((type == 121 || type == 660) && localAI[0] == 0f)
66378 {
66379 localAI[0] = 1f;
66380 frame.Y = num * 2;
66381 }
66382 if (type == 2 || type == 190 || type == 191 || type == 192 || type == 193 || type == 194 || type == 317 || type == 318)
66383 {
66384 if (velocity.X > 0f)
66385 {
66386 spriteDirection = 1;
66387 rotation = (float)Math.Atan2(velocity.Y, velocity.X);
66388 }
66389 if (velocity.X < 0f)
66390 {
66391 spriteDirection = -1;
66392 rotation = (float)Math.Atan2(velocity.Y, velocity.X) + 3.14f;
66393 }
66394 }
66395 else if (type == 2 || type == 121 || type == 660)
66396 {
66397 if (velocity.X > 0f)
66398 {
66399 spriteDirection = 1;
66400 }
66401 if (velocity.X < 0f)
66402 {
66403 spriteDirection = -1;
66404 }
66405 rotation = velocity.X * 0.1f;
66406 }
66407 frameCounter += 1.0;
66408 float num162 = 8f;
66409 if (type == 660)
66410 {
66411 num162 = 6f;
66412 }
66413 if (frameCounter >= (double)num162)
66414 {
66415 frame.Y += num;
66416 frameCounter = 0.0;
66417 }
66418 if (frame.Y >= num * Main.npcFrameCount[type])
66419 {
66420 frame.Y = 0;
66421 }
66422 break;
66423 }
66424 case 133:
66425 if (velocity.X > 0f)
66426 {
66427 spriteDirection = 1;
66428 rotation = (float)Math.Atan2(velocity.Y, velocity.X);
66429 }
66430 if (velocity.X < 0f)
66431 {
66432 spriteDirection = -1;
66433 rotation = (float)Math.Atan2(velocity.Y, velocity.X) + 3.14f;
66434 }
66435 frameCounter += 1.0;
66436 if (frameCounter >= 8.0)
66437 {
66438 frame.Y = num;
66439 }
66440 else
66441 {
66442 frame.Y = 0;
66443 }
66444 if (frameCounter >= 16.0)
66445 {
66446 frame.Y = 0;
66447 frameCounter = 0.0;
66448 }
66449 if ((double)life < (double)lifeMax * 0.5)
66450 {
66451 frame.Y += num * 2;
66452 }
66453 break;
66454 case 116:
66455 if (velocity.X > 0f)
66456 {
66457 spriteDirection = 1;
66458 rotation = (float)Math.Atan2(velocity.Y, velocity.X);
66459 }
66460 if (velocity.X < 0f)
66461 {
66462 spriteDirection = -1;
66463 rotation = (float)Math.Atan2(velocity.Y, velocity.X) + 3.14f;
66464 }
66465 frameCounter += 1.0;
66466 if (frameCounter >= 5.0)
66467 {
66468 frame.Y += num;
66469 frameCounter = 0.0;
66470 }
66471 if (frame.Y >= num * Main.npcFrameCount[type])
66472 {
66473 frame.Y = 0;
66474 }
66475 break;
66476 case 75:
66477 if (velocity.X > 0f)
66478 {
66479 spriteDirection = 1;
66480 }
66481 else
66482 {
66483 spriteDirection = -1;
66484 }
66485 rotation = velocity.X * 0.1f;
66486 frameCounter += 1.0;
66487 if (frameCounter >= 4.0)
66488 {
66489 frame.Y += num;
66490 frameCounter = 0.0;
66491 }
66492 if (frame.Y >= num * Main.npcFrameCount[type])
66493 {
66494 frame.Y = 0;
66495 }
66496 break;
66497 case 157:
66498 {
66500 frameCounter += 1.0;
66501 if (!wet)
66502 {
66503 frameCounter += 1.0;
66504 }
66505 int num56 = 5;
66506 if (frameCounter < (double)num56)
66507 {
66508 frame.Y = 0;
66509 }
66510 else if (frameCounter < (double)(num56 * 2))
66511 {
66512 frame.Y = num;
66513 }
66514 else if (frameCounter < (double)(num56 * 3))
66515 {
66516 frame.Y = num * 2;
66517 }
66518 else if (frameCounter < (double)(num56 * 4))
66519 {
66520 frame.Y = num;
66521 }
66522 else if (frameCounter < (double)(num56 * 5))
66523 {
66524 frame.Y = num * 3;
66525 }
66526 else if (frameCounter < (double)(num56 * 6))
66527 {
66528 frame.Y = num * 4;
66529 }
66530 else if (frameCounter < (double)(num56 * 7))
66531 {
66532 frame.Y = num * 5;
66533 }
66534 else if (frameCounter < (double)(num56 * 8))
66535 {
66536 frame.Y = num * 4;
66537 }
66538 else
66539 {
66540 frameCounter = 0.0;
66541 }
66542 break;
66543 }
66544 case 55:
66545 case 57:
66546 case 58:
66547 case 102:
66548 case 241:
66549 case 465:
66550 case 592:
66551 case 607:
66553 frameCounter += 1.0;
66554 if (wet)
66555 {
66556 if (frameCounter < 6.0)
66557 {
66558 frame.Y = 0;
66559 }
66560 else if (frameCounter < 12.0)
66561 {
66562 frame.Y = num;
66563 }
66564 else if (frameCounter < 18.0)
66565 {
66566 frame.Y = num * 2;
66567 }
66568 else if (frameCounter < 24.0)
66569 {
66570 frame.Y = num * 3;
66571 }
66572 else
66573 {
66574 frameCounter = 0.0;
66575 }
66576 }
66577 else if (frameCounter < 6.0)
66578 {
66579 frame.Y = num * 4;
66580 }
66581 else if (frameCounter < 12.0)
66582 {
66583 frame.Y = num * 5;
66584 }
66585 else
66586 {
66587 frameCounter = 0.0;
66588 }
66589 break;
66590 case 615:
66592 if (!wet && ai[2] == 1f)
66593 {
66594 frame.Y = 4 * num;
66595 break;
66596 }
66597 if (!wet)
66598 {
66599 frameCounter += 1.0;
66600 }
66601 if ((frameCounter += 1.0) >= (double)(7 * (Main.npcFrameCount[type] - 1)))
66602 {
66603 frameCounter = 0.0;
66604 }
66605 frame.Y = (int)(frameCounter / 7.0) * num;
66606 break;
66607 case 69:
66608 if (ai[0] < 190f)
66609 {
66610 frameCounter += 1.0;
66611 if (frameCounter >= 6.0)
66612 {
66613 frameCounter = 0.0;
66614 frame.Y += num;
66615 if (frame.Y / num >= Main.npcFrameCount[type] - 1)
66616 {
66617 frame.Y = 0;
66618 }
66619 }
66620 }
66621 else
66622 {
66623 frameCounter = 0.0;
66624 frame.Y = num * (Main.npcFrameCount[type] - 1);
66625 }
66626 break;
66627 case 155:
66628 {
66629 int num224 = frame.Y / num;
66630 if (IsABestiaryIconDummy && num224 < 3)
66631 {
66632 num224 = 3;
66633 }
66634 if (velocity.Y < 0f)
66635 {
66636 num224 = 10;
66637 }
66638 else if (velocity.Y > 0f)
66639 {
66640 num224 = 11;
66641 }
66642 else if (velocity.X == 0f)
66643 {
66644 num224 = 0;
66645 frameCounter = 0.0;
66646 }
66647 else if (((direction > 0 && velocity.X < 0f) || (direction < 0 && velocity.X > 0f)) && Math.Abs(velocity.X) < 4f)
66648 {
66650 if (num224 > 2)
66651 {
66652 num224 = 0;
66653 frameCounter = 0.0;
66654 }
66655 if (num224 < 2)
66656 {
66657 frameCounter += 1.0;
66658 if (frameCounter > 5.0)
66659 {
66660 frameCounter = 0.0;
66661 num224++;
66662 }
66663 }
66664 else
66665 {
66666 frameCounter = 0.0;
66667 }
66668 }
66669 else
66670 {
66671 spriteDirection = ((!(velocity.X < 0f)) ? 1 : (-1));
66672 frameCounter += Math.Abs(velocity.X) * 0.4f;
66673 if (num224 == 10 || num224 == 11)
66674 {
66675 num224 = 12;
66676 frameCounter = 0.0;
66677 }
66678 else if (frameCounter > 8.0)
66679 {
66680 frameCounter -= 8.0;
66681 num224++;
66682 if (num224 > 9)
66683 {
66684 num224 = 3;
66685 }
66686 }
66687 }
66688 frame.Y = num224 * num;
66689 break;
66690 }
66691 case 329:
66692 if (velocity.Y > 0f)
66693 {
66694 frame.Y = num * 3;
66695 frameCounter = 0.0;
66696 break;
66697 }
66698 if (velocity.Y < 0f)
66699 {
66700 frame.Y = num * 2;
66701 frameCounter = 0.0;
66702 break;
66703 }
66705 frameCounter += Math.Abs(velocity.X) * 0.4f;
66706 if (frameCounter > 4.0)
66707 {
66708 frameCounter = 0.0;
66709 frame.Y += num;
66710 if (frame.Y < num * 2)
66711 {
66712 frame.Y = num * 2;
66713 }
66714 if (frame.Y > num * 9)
66715 {
66716 frame.Y = num * 2;
66717 }
66718 }
66719 break;
66720 case 86:
66721 if (velocity.Y == 0f || wet)
66722 {
66723 if (velocity.X < -2f)
66724 {
66725 spriteDirection = -1;
66726 }
66727 else if (velocity.X > 2f)
66728 {
66729 spriteDirection = 1;
66730 }
66731 else
66732 {
66734 }
66735 }
66736 if (velocity.Y != 0f)
66737 {
66738 frame.Y = num * 15;
66739 frameCounter = 0.0;
66740 break;
66741 }
66742 if (velocity.X == 0f)
66743 {
66744 frameCounter = 0.0;
66745 frame.Y = 0;
66746 break;
66747 }
66748 if (Math.Abs(velocity.X) < 3f)
66749 {
66751 if (frameCounter >= 6.0)
66752 {
66753 frameCounter = 0.0;
66754 frame.Y += num;
66755 if (frame.Y / num >= 9)
66756 {
66757 frame.Y = num;
66758 }
66759 if (frame.Y / num <= 0)
66760 {
66761 frame.Y = num;
66762 }
66763 }
66764 break;
66765 }
66767 if (frameCounter >= 10.0)
66768 {
66769 frameCounter = 0.0;
66770 frame.Y += num;
66771 if (frame.Y / num >= 15)
66772 {
66773 frame.Y = num * 9;
66774 }
66775 if (frame.Y / num <= 8)
66776 {
66777 frame.Y = num * 9;
66778 }
66779 }
66780 break;
66781 case 315:
66782 if (velocity.Y == 0f || wet)
66783 {
66784 if (velocity.X < -1f)
66785 {
66786 spriteDirection = -1;
66787 }
66788 else if (velocity.X > 1f)
66789 {
66790 spriteDirection = 1;
66791 }
66792 else
66793 {
66795 }
66796 }
66797 if (velocity.Y != 0f)
66798 {
66799 frame.Y = 0;
66800 frameCounter = 0.0;
66801 break;
66802 }
66804 if (frameCounter >= 8.0)
66805 {
66806 frameCounter = 0.0;
66807 frame.Y += num;
66808 if (frame.Y / num > 10)
66809 {
66810 frame.Y = num;
66811 }
66812 }
66813 break;
66814 case 127:
66815 if (IsMechQueenUp)
66816 {
66817 if (ai[1] == 0f)
66818 {
66819 frameCounter += 1.0;
66820 if (frameCounter >= 12.0)
66821 {
66822 frameCounter = 0.0;
66823 frame.Y += num;
66824 if (frame.Y / num >= 5)
66825 {
66826 frame.Y = num * 3;
66827 }
66828 }
66829 }
66830 else
66831 {
66832 frameCounter = 0.0;
66833 frame.Y = num * 5;
66834 }
66835 }
66836 else if (ai[1] == 0f)
66837 {
66838 frameCounter += 1.0;
66839 if (frameCounter >= 12.0)
66840 {
66841 frameCounter = 0.0;
66842 frame.Y += num;
66843 if (frame.Y / num >= 2)
66844 {
66845 frame.Y = 0;
66846 }
66847 }
66848 }
66849 else
66850 {
66851 frameCounter = 0.0;
66852 frame.Y = num * 2;
66853 }
66854 break;
66855 case 129:
66856 if (velocity.Y == 0f)
66857 {
66859 }
66860 frameCounter += 1.0;
66861 if (frameCounter >= 2.0)
66862 {
66863 frameCounter = 0.0;
66864 frame.Y += num;
66865 if (frame.Y / num >= Main.npcFrameCount[type])
66866 {
66867 frame.Y = 0;
66868 }
66869 }
66870 break;
66871 case 130:
66872 if (velocity.Y == 0f)
66873 {
66875 }
66876 frameCounter += 1.0;
66877 if (frameCounter >= 8.0)
66878 {
66879 frameCounter = 0.0;
66880 frame.Y += num;
66881 if (frame.Y / num >= Main.npcFrameCount[type])
66882 {
66883 frame.Y = 0;
66884 }
66885 }
66886 break;
66887 case 67:
66888 case 217:
66889 case 218:
66890 case 219:
66891 if (velocity.Y == 0f)
66892 {
66894 }
66895 frameCounter += 1.0;
66896 if (frameCounter >= 6.0)
66897 {
66898 frameCounter = 0.0;
66899 frame.Y += num;
66900 if (frame.Y / num >= Main.npcFrameCount[type])
66901 {
66902 frame.Y = 0;
66903 }
66904 }
66905 break;
66906 case 220:
66907 if (velocity.Y == 0f)
66908 {
66910 }
66911 frameCounter += 1.0;
66912 if (frameCounter >= 10.0)
66913 {
66914 frameCounter = 0.0;
66915 frame.Y += num;
66916 if (frame.Y / num >= Main.npcFrameCount[type])
66917 {
66918 frame.Y = 0;
66919 }
66920 }
66921 break;
66922 case 109:
66923 if (velocity.Y == 0f && ((velocity.X <= 0f && direction < 0) || (velocity.X >= 0f && direction > 0)))
66924 {
66926 }
66928 if (frameCounter >= 7.0)
66929 {
66930 frameCounter -= 7.0;
66931 frame.Y += num;
66932 if (frame.Y / num >= Main.npcFrameCount[type])
66933 {
66934 frame.Y = 0;
66935 }
66936 }
66937 break;
66938 case 83:
66939 case 84:
66940 case 179:
66941 if (ai[0] == 2f)
66942 {
66943 frameCounter = 0.0;
66944 frame.Y = 0;
66945 break;
66946 }
66947 frameCounter += 1.0;
66948 if (frameCounter >= 4.0)
66949 {
66950 frameCounter = 0.0;
66951 frame.Y += num;
66952 if (frame.Y / num >= Main.npcFrameCount[type])
66953 {
66954 frame.Y = 0;
66955 }
66956 }
66957 break;
66958 case 72:
66959 frameCounter += 1.0;
66960 if (frameCounter >= 3.0)
66961 {
66962 frameCounter = 0.0;
66963 frame.Y += num;
66964 if (frame.Y / num >= Main.npcFrameCount[type])
66965 {
66966 frame.Y = 0;
66967 }
66968 }
66969 break;
66970 case 65:
66972 frameCounter += 1.0;
66973 if (wet && type == 65)
66974 {
66975 if (frameCounter < 6.0)
66976 {
66977 frame.Y = 0;
66978 }
66979 else if (frameCounter < 12.0)
66980 {
66981 frame.Y = num;
66982 }
66983 else if (frameCounter < 18.0)
66984 {
66985 frame.Y = num * 2;
66986 }
66987 else if (frameCounter < 24.0)
66988 {
66989 frame.Y = num * 3;
66990 }
66991 else
66992 {
66993 frameCounter = 0.0;
66994 }
66995 }
66996 break;
66997 case 542:
66998 case 543:
66999 case 544:
67000 case 545:
67002 frameCounter += 1.0;
67003 if (frameCounter >= 16.0)
67004 {
67005 frameCounter = 0.0;
67006 }
67007 frame.Y = num * (int)(frameCounter / 4.0);
67008 break;
67009 case 224:
67010 case 587:
67011 if (velocity.X > 0f)
67012 {
67013 spriteDirection = 1;
67014 rotation = velocity.Y * 0.2f;
67015 }
67016 if (velocity.X < 0f)
67017 {
67018 spriteDirection = -1;
67019 rotation = (0f - velocity.Y) * 0.2f;
67020 }
67021 frameCounter += 1.0;
67022 if (frameCounter >= 6.0)
67023 {
67024 frame.Y += num;
67025 frameCounter = 0.0;
67026 }
67027 if (frame.Y >= num * 4)
67028 {
67029 frame.Y = 0;
67030 }
67031 break;
67032 case 150:
67033 case 151:
67034 case 152:
67035 case 158:
67036 case 226:
67037 if (type == 151)
67038 {
67039 int num46 = Dust.NewDust(new Vector2(position.X, position.Y), width, height, 6, velocity.X * 0.2f, velocity.Y * 0.2f, 100, default(Color), 2f);
67040 Main.dust[num46].noGravity = true;
67041 }
67042 if (type == 150 && Main.rand.Next(10) == 0)
67043 {
67044 int num47 = Dust.NewDust(new Vector2(position.X, position.Y), width, height, 67, velocity.X * 0.5f, velocity.Y * 0.5f, 90, default(Color), 1.5f);
67045 Main.dust[num47].noGravity = true;
67046 Dust dust = Main.dust[num47];
67047 dust.velocity *= 0.2f;
67048 Main.dust[num47].noLight = true;
67049 }
67050 if (velocity.X > 0f)
67051 {
67052 spriteDirection = 1;
67053 }
67054 if (velocity.X < 0f)
67055 {
67056 spriteDirection = -1;
67057 }
67058 rotation = velocity.X * 0.1f;
67059 frameCounter += 1.0;
67060 if (frameCounter >= 6.0)
67061 {
67062 frame.Y += num;
67063 frameCounter = 0.0;
67064 }
67065 if (frame.Y >= num * 4)
67066 {
67067 frame.Y = 0;
67068 }
67069 break;
67070 case 48:
67071 case 49:
67072 case 51:
67073 case 60:
67074 case 82:
67075 case 93:
67076 case 137:
67077 case 182:
67078 case 210:
67079 case 211:
67080 case 253:
67081 case 316:
67082 case 634:
67083 case 662:
67084 case 664:
67085 {
67086 if (type == 60)
67087 {
67088 int num290 = Dust.NewDust(new Vector2(position.X, position.Y), width, height, 6, velocity.X * 0.2f, velocity.Y * 0.2f, 100, default(Color), 2f);
67089 Main.dust[num290].noGravity = true;
67090 }
67091 if (type == 634 && Main.rand.Next(10) == 0)
67092 {
67093 int num291 = Dust.NewDust(position, width, height, 165, velocity.X, velocity.Y, 50);
67094 Dust dust = Main.dust[num291];
67095 dust.velocity *= 0.1f;
67096 Main.dust[num291].noGravity = true;
67097 }
67098 if (velocity.X > 0f)
67099 {
67100 spriteDirection = 1;
67101 }
67102 if (velocity.X < 0f)
67103 {
67104 spriteDirection = -1;
67105 }
67106 rotation = velocity.X * 0.1f;
67107 if (type == 210 || type == 211)
67108 {
67109 frameCounter += 1.0;
67110 rotation = velocity.X * 0.2f;
67111 }
67112 frameCounter += 1.0;
67113 int num292 = 6;
67114 int num293 = Main.npcFrameCount[type];
67115 if (type == 49 || type == 51 || type == 60 || type == 634)
67116 {
67117 num293--;
67118 }
67119 if (type == 48)
67120 {
67121 num292 = 5;
67122 }
67123 if (frameCounter >= (double)num292)
67124 {
67125 frame.Y += num;
67126 frameCounter = 0.0;
67127 }
67128 if (frame.Y >= num * num293)
67129 {
67130 frame.Y = 0;
67131 }
67132 break;
67133 }
67134 case 330:
67135 if (velocity.X > 0f)
67136 {
67137 spriteDirection = 1;
67138 }
67139 if (velocity.X < 0f)
67140 {
67141 spriteDirection = -1;
67142 }
67143 rotation = velocity.X * 0.15f;
67144 frameCounter += 1.0;
67145 if (frameCounter >= 8.0)
67146 {
67147 frame.Y += num;
67148 frameCounter = 0.0;
67149 }
67150 if (frame.Y >= num * Main.npcFrameCount[type])
67151 {
67152 frame.Y = 0;
67153 }
67154 break;
67155 case 42:
67156 case 231:
67157 case 232:
67158 case 233:
67159 case 234:
67160 case 235:
67161 frameCounter += 1.0;
67162 if (frameCounter < 2.0)
67163 {
67164 frame.Y = 0;
67165 }
67166 else if (frameCounter < 4.0)
67167 {
67168 frame.Y = num;
67169 }
67170 else if (frameCounter < 6.0)
67171 {
67172 frame.Y = num * 2;
67173 }
67174 else if (frameCounter < 8.0)
67175 {
67176 frame.Y = num;
67177 }
67178 else
67179 {
67180 frameCounter = 0.0;
67181 }
67182 break;
67183 case 205:
67184 frameCounter += 0.5;
67185 if (frameCounter < 2.0)
67186 {
67187 frame.Y = 0;
67188 }
67189 else if (frameCounter < 4.0)
67190 {
67191 frame.Y = num;
67192 }
67193 else if (frameCounter < 6.0)
67194 {
67195 frame.Y = num * 2;
67196 }
67197 else if (frameCounter < 8.0)
67198 {
67199 frame.Y = num;
67200 }
67201 else
67202 {
67203 frameCounter = 0.0;
67204 }
67205 break;
67206 case 176:
67207 frameCounter += 1.0;
67208 if (frameCounter > 4.0)
67209 {
67210 frame.Y += num;
67211 frameCounter = 0.0;
67212 }
67213 if (frame.Y > num)
67214 {
67215 frame.Y = 0;
67216 }
67217 break;
67218 case 43:
67219 case 56:
67220 case 175:
67221 frameCounter += 1.0;
67222 if (frameCounter < 6.0)
67223 {
67224 frame.Y = 0;
67225 }
67226 else if (frameCounter < 12.0)
67227 {
67228 frame.Y = num;
67229 }
67230 else if (frameCounter < 18.0)
67231 {
67232 frame.Y = num * 2;
67233 }
67234 else if (frameCounter < 24.0)
67235 {
67236 frame.Y = num;
67237 }
67238 if (frameCounter == 23.0)
67239 {
67240 frameCounter = 0.0;
67241 }
67242 break;
67243 case 115:
67244 frameCounter += 1.0;
67245 if (frameCounter < 3.0)
67246 {
67247 frame.Y = 0;
67248 }
67249 else if (frameCounter < 6.0)
67250 {
67251 frame.Y = num;
67252 }
67253 else if (frameCounter < 12.0)
67254 {
67255 frame.Y = num * 2;
67256 }
67257 else if (frameCounter < 15.0)
67258 {
67259 frame.Y = num;
67260 }
67261 if (frameCounter == 15.0)
67262 {
67263 frameCounter = 0.0;
67264 }
67265 break;
67266 case 101:
67267 frameCounter += 1.0;
67268 if (frameCounter > 6.0)
67269 {
67270 frame.Y += num * 2;
67271 frameCounter = 0.0;
67272 }
67273 if (frame.Y > num * 2)
67274 {
67275 frame.Y = 0;
67276 }
67277 break;
67278 case 199:
67279 if (velocity.Y == 0f)
67280 {
67281 if (direction == 1)
67282 {
67283 spriteDirection = 1;
67284 }
67285 if (direction == -1)
67286 {
67287 spriteDirection = -1;
67288 }
67289 }
67290 if (frame.Y < num * 3)
67291 {
67292 frameCounter += 1.0;
67293 if (frameCounter > 6.0)
67294 {
67295 frameCounter = 0.0;
67296 frame.Y += num;
67297 }
67298 }
67299 else
67300 {
67301 if (velocity.Y != 0f)
67302 {
67303 break;
67304 }
67306 if (frameCounter > 12.0)
67307 {
67308 frameCounter = 0.0;
67309 frame.Y += num;
67310 if (frame.Y > num * 7)
67311 {
67312 frame.Y = num * 3;
67313 }
67314 }
67315 }
67316 break;
67317 case 467:
67318 if (ai[0] == 1f || IsABestiaryIconDummy)
67319 {
67320 frameCounter += 1.0;
67321 if (frameCounter > 4.0)
67322 {
67323 frameCounter = 0.0;
67324 if (frame.Y < num * 6)
67325 {
67326 frame.Y += num;
67327 frameCounter = 0.0;
67328 }
67329 else if (IsABestiaryIconDummy)
67330 {
67331 frame.Y = 0;
67332 }
67333 }
67334 break;
67335 }
67336 frameCounter += 1.0;
67337 if (frameCounter > 4.0)
67338 {
67339 frameCounter = 0.0;
67340 if (frame.Y > num * 3)
67341 {
67342 frame.Y = num * 3;
67343 }
67344 if (frame.Y > 0)
67345 {
67346 frame.Y -= num;
67347 frameCounter = 0.0;
67348 }
67349 }
67350 break;
67351 case 480:
67352 if (velocity.Y == 0f)
67353 {
67354 if (direction == 1)
67355 {
67356 spriteDirection = 1;
67357 }
67358 if (direction == -1)
67359 {
67360 spriteDirection = -1;
67361 }
67362 if (ai[2] < 0f)
67363 {
67364 frameCounter += 1.0;
67365 if (frameCounter > 3.0)
67366 {
67367 frame.Y += num;
67368 frameCounter = 0.0;
67369 }
67370 if (frame.Y >= Main.npcFrameCount[type] * num)
67371 {
67372 frame.Y = num * 21;
67373 }
67374 else if (frame.Y < num * 21)
67375 {
67376 frame.Y = num * 21;
67377 }
67378 }
67379 else if (velocity.X == 0f)
67380 {
67381 frameCounter += 1.0;
67382 if (frameCounter > 4.0)
67383 {
67384 frame.Y += num;
67385 frameCounter = 0.0;
67386 }
67387 if (frame.Y / num > 7)
67388 {
67389 frame.Y = 0;
67390 }
67391 }
67392 else
67393 {
67394 frameCounter += 1f + Math.Abs(velocity.X);
67395 if (frameCounter > 6.0)
67396 {
67397 frame.Y += num;
67398 frameCounter = 0.0;
67399 }
67400 if (frame.Y / num >= Main.npcFrameCount[type] - 4)
67401 {
67402 frame.Y = num * 10;
67403 }
67404 else if (frame.Y / num < 10)
67405 {
67406 frame.Y = num * 10;
67407 }
67408 }
67409 }
67410 else
67411 {
67412 frameCounter = 0.0;
67413 frame.Y = num * 8;
67414 }
67415 break;
67416 case 483:
67417 if (ai[0] == -1f)
67418 {
67419 frameCounter += 1.0;
67420 if (frameCounter > 4.0)
67421 {
67422 frame.Y += num;
67423 frameCounter = 0.0;
67424 }
67425 if (frame.Y > num * 21)
67426 {
67427 frame.Y = num * 21;
67428 }
67429 else if (frame.Y < num * 13)
67430 {
67431 frame.Y = num * 13;
67432 }
67433 rotation += velocity.X * 0.2f;
67434 }
67435 else
67436 {
67437 frameCounter += 1.0;
67438 if (frameCounter > 4.0)
67439 {
67440 frame.Y += num;
67441 frameCounter = 0.0;
67442 }
67443 if (frame.Y > num * 11)
67444 {
67445 frame.Y = 0;
67446 }
67447 rotation = velocity.X * 0.1f;
67448 }
67449 break;
67450 case 482:
67451 if (velocity.Y == 0f)
67452 {
67453 if (direction == 1)
67454 {
67455 spriteDirection = 1;
67456 }
67457 if (direction == -1)
67458 {
67459 spriteDirection = -1;
67460 }
67461 if (ai[2] < 0f)
67462 {
67463 frameCounter += 1.0;
67464 if (frameCounter > 3.0)
67465 {
67466 frame.Y += num;
67467 frameCounter = 0.0;
67468 }
67469 if (frame.Y >= Main.npcFrameCount[type] * num)
67470 {
67471 frame.Y = num * 11;
67472 }
67473 else if (frame.Y < num * 11)
67474 {
67475 frame.Y = num * 11;
67476 }
67477 }
67478 else if (velocity.X == 0f)
67479 {
67480 frameCounter += 1.0;
67481 frame.Y = 0;
67482 }
67483 else
67484 {
67485 frameCounter += 0.2f + Math.Abs(velocity.X);
67486 if (frameCounter > 8.0)
67487 {
67488 frame.Y += num;
67489 frameCounter = 0.0;
67490 }
67491 if (frame.Y / num >= Main.npcFrameCount[type] - 10)
67492 {
67493 frame.Y = num * 2;
67494 }
67495 else if (frame.Y / num < 2)
67496 {
67497 frame.Y = num * 2;
67498 }
67499 }
67500 }
67501 else
67502 {
67503 frameCounter = 0.0;
67504 frame.Y = num;
67505 }
67506 break;
67507 case 631:
67508 {
67509 int num51 = 100;
67510 int num52 = 32;
67511 int num53 = 8;
67512 if (velocity.Y == 0f)
67513 {
67515 if (ai[2] != 0f && ai[2] < (float)num51)
67516 {
67517 float num54 = ai[2] - (float)(num51 - num52);
67518 float amount = num54 / (float)num52;
67519 Player player = Main.player[target];
67520 bool flag3 = player != null && ((player.Center.X < base.Center.X) ? (direction == -1) : (direction == 1));
67521 bool flag4 = player?.Hitbox.Intersects(base.Hitbox) ?? false;
67522 if (player != null && flag3 && !flag4 && Collision.CanHit(player, this))
67523 {
67524 frame.Y = (int)MathHelper.Lerp(15f, Main.npcFrameCount[type], amount) * num;
67525 }
67526 else if (flag3 && flag4)
67527 {
67528 frame.Y = (int)MathHelper.Lerp(10f, 15f, amount) * num;
67529 }
67530 else
67531 {
67532 frame.Y = 0;
67533 }
67534 }
67535 else if (velocity.X == 0f)
67536 {
67537 frameCounter = 0.0;
67538 frame.Y = 0;
67539 }
67540 else
67541 {
67542 frameCounter += 0.2f + Math.Abs(velocity.X);
67543 if (frameCounter > 8.0)
67544 {
67545 frame.Y += num;
67546 frameCounter = 0.0;
67547 }
67548 if (frame.Y >= num53 * num)
67549 {
67550 frame.Y = num;
67551 }
67552 else if (frame.Y / num < 1)
67553 {
67554 frame.Y = num;
67555 }
67556 }
67557 }
67558 else
67559 {
67560 frameCounter = 0.0;
67561 frame.Y = 0;
67562 }
67563 break;
67564 }
67565 case 461:
67566 if (wet)
67567 {
67568 if (velocity.X < 0f)
67569 {
67570 direction = -1;
67571 }
67572 if (velocity.X > 0f)
67573 {
67574 direction = 1;
67575 }
67577 {
67578 rotation *= -1f;
67580 }
67581 float num234 = (float)Math.Atan2(velocity.Y * (float)direction, velocity.X * (float)direction);
67582 if ((double)Math.Abs(rotation - num234) >= 3.14)
67583 {
67584 if (num234 < rotation)
67585 {
67586 rotation -= 6.28f;
67587 }
67588 else
67589 {
67590 rotation += 6.28f;
67591 }
67592 }
67593 rotation = (rotation * 4f + num234) / 5f;
67595 frameCounter += 1.0;
67596 if (frameCounter > 8.0)
67597 {
67598 frame.Y += num;
67599 frameCounter = 0.0;
67600 }
67601 if (frame.Y / num > 20)
67602 {
67603 frame.Y = num * 16;
67604 }
67605 else if (frame.Y / num < 16)
67606 {
67607 frame.Y = num * 19;
67608 }
67609 break;
67610 }
67611 if ((double)rotation > 3.14)
67612 {
67613 rotation -= 6.28f;
67614 }
67615 if ((double)rotation > -0.01 && (double)rotation < 0.01)
67616 {
67617 rotation = 0f;
67618 }
67619 else
67620 {
67621 rotation *= 0.9f;
67622 }
67623 if (velocity.Y == 0f)
67624 {
67625 if (direction == 1)
67626 {
67627 spriteDirection = 1;
67628 }
67629 if (direction == -1)
67630 {
67631 spriteDirection = -1;
67632 }
67633 if (velocity.X == 0f)
67634 {
67635 frame.Y = 0;
67636 frameCounter = 0.0;
67637 break;
67638 }
67639 if (frame.Y < num * 2)
67640 {
67641 frame.Y = num * 2;
67642 }
67643 frameCounter += Math.Abs(velocity.X) * 2f;
67644 frameCounter += 1.0;
67645 if (frameCounter > 6.0)
67646 {
67647 frame.Y += num;
67648 frameCounter = 0.0;
67649 }
67650 if (frame.Y / num > 15)
67651 {
67652 frame.Y = num * 2;
67653 }
67654 }
67655 else
67656 {
67657 frameCounter = 0.0;
67658 frame.Y = num;
67659 }
67660 break;
67661 case 586:
67662 {
67663 if (wet)
67664 {
67665 if (velocity.X < 0f)
67666 {
67667 direction = -1;
67668 }
67669 if (velocity.X > 0f)
67670 {
67671 direction = 1;
67672 }
67675 frameCounter += 1.0;
67676 if (frameCounter > 60.0)
67677 {
67678 frame.Y += num;
67679 frameCounter = 0.0;
67680 }
67681 if (frame.Y / num > 1)
67682 {
67683 frame.Y = 0;
67684 }
67685 else if (frame.Y / num < 0)
67686 {
67687 frame.Y = 0;
67688 }
67689 break;
67690 }
67691 if (velocity.Y == 0f)
67692 {
67694 }
67695 if (velocity.X == 0f)
67696 {
67697 frame.Y = num;
67698 frameCounter = 0.0;
67699 break;
67700 }
67701 int num228 = 6;
67702 num228 = 8;
67703 frameCounter += Math.Abs(velocity.X) * 1f;
67704 frameCounter += 0.5;
67705 if (frameCounter > (double)num228)
67706 {
67707 frame.Y += num;
67708 frameCounter = 0.0;
67709 }
67710 if (frame.Y / num >= Main.npcFrameCount[type])
67711 {
67712 frame.Y = 0;
67713 }
67714 break;
67715 }
67716 case 466:
67717 if (!IsABestiaryIconDummy && ai[2] <= 0f)
67718 {
67719 if (direction == 1)
67720 {
67721 spriteDirection = 1;
67722 }
67723 if (direction == -1)
67724 {
67725 spriteDirection = -1;
67726 }
67727 if (ai[2] == 0f)
67728 {
67729 frame.Y = 0;
67730 }
67731 else if (ai[2] < -8f)
67732 {
67733 frame.Y = num;
67734 }
67735 else
67736 {
67737 frame.Y = num * 2;
67738 }
67739 }
67740 else if (velocity.Y == 0f)
67741 {
67742 if (direction == 1)
67743 {
67744 spriteDirection = 1;
67745 }
67746 if (direction == -1)
67747 {
67748 spriteDirection = -1;
67749 }
67750 if (velocity.X == 0f)
67751 {
67752 frame.Y = num * 2;
67753 frameCounter = 0.0;
67754 break;
67755 }
67756 if (frame.Y / num < 4)
67757 {
67758 frame.Y = num * 4;
67759 }
67760 frameCounter += Math.Abs(velocity.X) * 2f;
67761 frameCounter += 1.0;
67762 if (frameCounter > 7.0)
67763 {
67764 frame.Y += num;
67765 frameCounter = 0.0;
67766 }
67767 if (frame.Y / num > 17)
67768 {
67769 frame.Y = num * 4;
67770 }
67771 if (frame.Y / num < 4)
67772 {
67773 frame.Y = num * 4;
67774 }
67775 }
67776 else
67777 {
67778 frameCounter = 0.0;
67779 frame.Y = num * 3;
67780 }
67781 break;
67782 case 471:
67783 {
67784 bool flag10 = false;
67785 if (ai[3] < 0f)
67786 {
67787 flag10 = true;
67788 }
67789 if (flag10)
67790 {
67791 if (direction == 1)
67792 {
67793 spriteDirection = 1;
67794 }
67795 if (direction == -1)
67796 {
67797 spriteDirection = -1;
67798 }
67799 frameCounter += Math.Abs(velocity.Length()) * 0.5f;
67800 frameCounter += 1.0;
67801 if (frameCounter < 6.0)
67802 {
67803 frame.Y = num * 17;
67804 break;
67805 }
67806 if (frameCounter < 12.0)
67807 {
67808 frame.Y = num * 18;
67809 break;
67810 }
67811 if (frameCounter < 18.0)
67812 {
67813 frame.Y = num * 19;
67814 break;
67815 }
67816 if (frameCounter < 23.0)
67817 {
67818 frame.Y = num * 18;
67819 break;
67820 }
67821 frame.Y = num * 18;
67822 frameCounter = 0.0;
67823 }
67824 else if (ai[3] == 1f)
67825 {
67826 frame.Y = num * 16;
67827 frameCounter = 0.0;
67828 }
67829 else if (velocity.Y == 0f)
67830 {
67831 if (direction == 1)
67832 {
67833 spriteDirection = 1;
67834 }
67835 if (direction == -1)
67836 {
67837 spriteDirection = -1;
67838 }
67839 if (velocity.X == 0f)
67840 {
67841 frame.Y = 0;
67842 frameCounter = 0.0;
67843 break;
67844 }
67845 frameCounter += Math.Abs(velocity.X) * 2f;
67846 frameCounter += 1.0;
67847 if (frameCounter > 7.0)
67848 {
67849 frame.Y += num;
67850 frameCounter = 0.0;
67851 }
67852 if (frame.Y / num > 15)
67853 {
67854 frame.Y = num * 2;
67855 }
67856 if (frame.Y / num < 2)
67857 {
67858 frame.Y = num * 2;
67859 }
67860 }
67861 else
67862 {
67863 frameCounter = 0.0;
67864 frame.Y = num;
67865 }
67866 break;
67867 }
67868 case 166:
67869 if (velocity.Y == 0f)
67870 {
67871 if (direction == 1)
67872 {
67873 spriteDirection = 1;
67874 }
67875 if (direction == -1)
67876 {
67877 spriteDirection = -1;
67878 }
67879 if (velocity.X == 0f)
67880 {
67881 frameCounter += 2.0;
67882 if (frameCounter > 7.0)
67883 {
67884 frame.Y += num;
67885 frameCounter = 0.0;
67886 }
67887 if (frame.Y / num > 5)
67888 {
67889 frame.Y = 0;
67890 }
67891 break;
67892 }
67894 frameCounter += 1.0;
67895 if (frameCounter > 9.0)
67896 {
67897 frame.Y += num;
67898 frameCounter = 0.0;
67899 }
67900 if (frame.Y / num > 12)
67901 {
67902 frame.Y = num * 7;
67903 }
67904 if (frame.Y / num < 7)
67905 {
67906 frame.Y = num * 7;
67907 }
67908 }
67909 else
67910 {
67911 frameCounter = 0.0;
67912 frame.Y = num * 6;
67913 }
67914 break;
67915 case 469:
67916 if (ai[2] == 1f)
67917 {
67918 rotation = (float)Math.Atan2(velocity.Y, velocity.X) + 1.57f;
67919 if (velocity.X < 0f)
67920 {
67921 direction = -1;
67922 }
67923 if (velocity.X > 0f)
67924 {
67925 direction = 1;
67926 }
67929 if (frameCounter > 11.0)
67930 {
67931 frame.Y += num;
67932 frameCounter = 0.0;
67933 }
67934 if (frame.Y / num > 5)
67935 {
67936 frame.Y = num * 2;
67937 }
67938 if (frame.Y / num < 2)
67939 {
67940 frame.Y = num * 2;
67941 }
67942 break;
67943 }
67944 rotation = 0f;
67945 if (velocity.Y == 0f)
67946 {
67947 if (direction == 1)
67948 {
67949 spriteDirection = 1;
67950 }
67951 if (direction == -1)
67952 {
67953 spriteDirection = -1;
67954 }
67955 if (velocity.X == 0f)
67956 {
67957 frameCounter = 0.0;
67958 frame.Y = 0;
67959 break;
67960 }
67962 frameCounter += 1.0;
67963 if (frameCounter > 9.0)
67964 {
67965 frame.Y += num;
67966 frameCounter = 0.0;
67967 }
67968 if (frame.Y / num > 11)
67969 {
67970 frame.Y = num * 6;
67971 }
67972 if (frame.Y / num < 6)
67973 {
67974 frame.Y = num * 6;
67975 }
67976 }
67977 else
67978 {
67979 frameCounter = 0.0;
67980 frame.Y = num;
67981 }
67982 break;
67983 case 351:
67984 if (velocity.Y == 0f)
67985 {
67986 if (direction == 1)
67987 {
67988 spriteDirection = 1;
67989 }
67990 if (direction == -1)
67991 {
67992 spriteDirection = -1;
67993 }
67994 if (velocity.X == 0f)
67995 {
67996 frame.Y = 0;
67997 frameCounter = 0.0;
67998 break;
67999 }
68000 if (frame.Y < num * 2)
68001 {
68002 frame.Y = num * 2;
68003 }
68004 frameCounter += Math.Abs(velocity.X) * 1f;
68005 frameCounter += 1.0;
68006 if (frameCounter > 8.0)
68007 {
68008 frame.Y += num;
68009 frameCounter = 0.0;
68010 }
68011 if (frame.Y / num >= Main.npcFrameCount[type])
68012 {
68013 frame.Y = num * 2;
68014 }
68015 }
68016 else
68017 {
68018 if (velocity.Y < 0f)
68019 {
68020 frame.Y = num;
68021 }
68022 else
68023 {
68024 frame.Y = num;
68025 }
68026 frameCounter = 0.0;
68027 }
68028 break;
68029 case 343:
68030 if (velocity.Y == 0f)
68031 {
68032 if (direction == 1)
68033 {
68034 spriteDirection = 1;
68035 }
68036 if (direction == -1)
68037 {
68038 spriteDirection = -1;
68039 }
68040 if (velocity.X == 0f)
68041 {
68042 frame.Y = num * 2;
68043 frameCounter = 0.0;
68044 break;
68045 }
68046 if (frame.Y < num * 2)
68047 {
68048 frame.Y = num * 2;
68049 }
68050 frameCounter += Math.Abs(velocity.X) * 1f;
68051 frameCounter += 1.0;
68052 if (frameCounter > 6.0)
68053 {
68054 frame.Y += num;
68055 frameCounter = 0.0;
68056 }
68057 if (frame.Y / num >= Main.npcFrameCount[type])
68058 {
68059 frame.Y = num * 2;
68060 }
68061 }
68062 else
68063 {
68064 if (velocity.Y < 0f)
68065 {
68066 frame.Y = 0;
68067 }
68068 else
68069 {
68070 frame.Y = num;
68071 }
68072 frameCounter = 0.0;
68073 }
68074 break;
68075 case 269:
68076 case 270:
68077 case 271:
68078 case 272:
68079 case 273:
68080 case 274:
68081 case 275:
68082 case 276:
68083 case 277:
68084 case 278:
68085 case 279:
68086 case 280:
68087 if (velocity.Y == 0f)
68088 {
68089 if (direction == 1)
68090 {
68091 spriteDirection = 1;
68092 }
68093 if (direction == -1)
68094 {
68095 spriteDirection = -1;
68096 }
68097 if (velocity.X == 0f)
68098 {
68099 if (type == 140)
68100 {
68101 frame.Y = num;
68102 frameCounter = 0.0;
68103 }
68104 else
68105 {
68106 frame.Y = 0;
68107 frameCounter = 0.0;
68108 }
68109 break;
68110 }
68111 if (frame.Y < num * 2)
68112 {
68113 frame.Y = num * 2;
68114 }
68115 frameCounter += Math.Abs(velocity.X) * 2f;
68116 frameCounter += 1.0;
68117 if (frameCounter > 6.0)
68118 {
68119 frame.Y += num;
68120 frameCounter = 0.0;
68121 }
68122 if (frame.Y / num >= Main.npcFrameCount[type])
68123 {
68124 frame.Y = num * 2;
68125 }
68126 }
68127 else
68128 {
68129 frameCounter = 0.0;
68130 frame.Y = 0;
68131 }
68132 break;
68133 case 230:
68134 if (velocity.Y == 0f)
68135 {
68136 rotation = 0f;
68137 if (direction == 1)
68138 {
68139 spriteDirection = 1;
68140 }
68141 if (direction == -1)
68142 {
68143 spriteDirection = -1;
68144 }
68145 if (velocity.X == 0f)
68146 {
68147 frame.Y = 0;
68148 frameCounter = 0.0;
68149 break;
68150 }
68151 frameCounter += Math.Abs(velocity.X) * 2f;
68152 frameCounter += 1.0;
68153 if (frameCounter > 10.0)
68154 {
68155 frame.Y += num;
68156 frameCounter = 0.0;
68157 }
68158 if (frame.Y / num >= Main.npcFrameCount[type])
68159 {
68160 frame.Y = 0;
68161 }
68162 }
68163 else
68164 {
68165 frameCounter = 0.0;
68166 frame.Y = 0;
68167 if (velocity.Y > 4f)
68168 {
68169 rotation -= velocity.Y * 0.01f;
68170 }
68171 }
68172 break;
68173 case 593:
68174 if (velocity.Y == 0f)
68175 {
68176 rotation = 0f;
68177 if (direction == 1)
68178 {
68179 spriteDirection = 1;
68180 }
68181 if (direction == -1)
68182 {
68183 spriteDirection = -1;
68184 }
68185 if (velocity.X == 0f)
68186 {
68187 frame.Y = 0;
68188 frameCounter = 0.0;
68189 break;
68190 }
68191 frameCounter += Math.Abs(velocity.X) * 2f;
68192 frameCounter += 1.0;
68193 if (frameCounter > 10.0)
68194 {
68195 frame.Y += num;
68196 frameCounter = 0.0;
68197 }
68198 if (frame.Y / num >= Main.npcFrameCount[type])
68199 {
68200 frame.Y = 0;
68201 }
68202 }
68203 else
68204 {
68205 frameCounter = 0.0;
68206 frame.Y = 0;
68207 if (velocity.Y > 4f)
68208 {
68209 rotation -= velocity.Y * 0.01f;
68210 }
68211 }
68212 break;
68213 case 290:
68214 if (velocity.Y == 0f)
68215 {
68216 if (direction == 1)
68217 {
68218 spriteDirection = 1;
68219 }
68220 if (direction == -1)
68221 {
68222 spriteDirection = -1;
68223 }
68224 if (ai[2] > 0f)
68225 {
68226 if (ai[1] < 10f)
68227 {
68228 frame.Y = num * 11;
68229 }
68230 else if (ai[1] < 20f)
68231 {
68232 frame.Y = num * 10;
68233 }
68234 else
68235 {
68236 frame.Y = num * 9;
68237 }
68238 break;
68239 }
68240 if (velocity.X == 0f)
68241 {
68242 frameCounter = 0.0;
68243 frame.Y = 0;
68244 break;
68245 }
68246 if (frame.Y < num * 2)
68247 {
68248 frame.Y = num * 2;
68249 }
68250 frameCounter += Math.Abs(velocity.X) * 1f;
68251 if (frameCounter > 6.0)
68252 {
68253 frame.Y += num;
68254 frameCounter = 0.0;
68255 }
68256 if (frame.Y > num * 8)
68257 {
68258 frame.Y = num * 2;
68259 }
68260 }
68261 else
68262 {
68263 frameCounter = 0.0;
68264 frame.Y = num;
68265 }
68266 break;
68267 case 110:
68268 case 214:
68269 case 215:
68270 case 216:
68271 case 293:
68272 if (velocity.Y == 0f)
68273 {
68274 if (direction == 1)
68275 {
68276 spriteDirection = 1;
68277 }
68278 if (direction == -1)
68279 {
68280 spriteDirection = -1;
68281 }
68282 if (ai[2] > 0f)
68283 {
68285 frame.Y = num * (int)ai[2];
68286 frameCounter = 0.0;
68287 break;
68288 }
68289 if (frame.Y < num * 6)
68290 {
68291 frame.Y = num * 6;
68292 }
68293 frameCounter += Math.Abs(velocity.X) * 2f;
68295 if (frameCounter > 6.0)
68296 {
68297 frame.Y += num;
68298 frameCounter = 0.0;
68299 }
68300 if (frame.Y / num >= Main.npcFrameCount[type])
68301 {
68302 frame.Y = num * 6;
68303 }
68304 }
68305 else
68306 {
68307 frameCounter = 0.0;
68308 frame.Y = 0;
68309 }
68310 break;
68311 case 206:
68312 if (velocity.Y == 0f)
68313 {
68314 if (direction == 1)
68315 {
68316 spriteDirection = 1;
68317 }
68318 if (direction == -1)
68319 {
68320 spriteDirection = -1;
68321 }
68322 if (ai[2] > 0f)
68323 {
68325 frame.Y = num * (int)ai[2];
68326 frameCounter = 0.0;
68327 break;
68328 }
68329 if (frame.Y < num * 6)
68330 {
68331 frame.Y = num * 6;
68332 }
68333 frameCounter += Math.Abs(velocity.X) * 2f;
68335 if (frameCounter > 6.0)
68336 {
68337 frame.Y += num;
68338 frameCounter = 0.0;
68339 }
68340 if (frame.Y / num >= Main.npcFrameCount[type])
68341 {
68342 frame.Y = num * 6;
68343 }
68344 }
68345 else
68346 {
68347 frameCounter = 0.0;
68348 frame.Y = 0;
68349 }
68350 break;
68351 case 350:
68352 if (velocity.Y == 0f)
68353 {
68354 if (direction == 1)
68355 {
68356 spriteDirection = 1;
68357 }
68358 if (direction == -1)
68359 {
68360 spriteDirection = -1;
68361 }
68362 if (ai[2] > 0f)
68363 {
68365 frame.Y = num * ((int)ai[2] - 1);
68366 frameCounter = 0.0;
68367 break;
68368 }
68369 if (frame.Y < num * 7)
68370 {
68371 frame.Y = num * 7;
68372 }
68373 frameCounter += Math.Abs(velocity.X) * 2f;
68374 frameCounter += velocity.X * 1.3f;
68375 if (frameCounter > 4.0)
68376 {
68377 frame.Y += num;
68378 frameCounter = 0.0;
68379 }
68380 if (frame.Y / num >= Main.npcFrameCount[type])
68381 {
68382 frame.Y = num * 7;
68383 }
68384 }
68385 else
68386 {
68387 frameCounter = 0.0;
68388 frame.Y = num * 5;
68389 }
68390 break;
68391 case 111:
68392 case 291:
68393 case 292:
68394 if (velocity.Y == 0f)
68395 {
68396 if (direction == 1)
68397 {
68398 spriteDirection = 1;
68399 }
68400 if (direction == -1)
68401 {
68402 spriteDirection = -1;
68403 }
68404 if (ai[2] > 0f)
68405 {
68407 frame.Y = num * ((int)ai[2] - 1);
68408 frameCounter = 0.0;
68409 break;
68410 }
68411 if (frame.Y < num * 7)
68412 {
68413 frame.Y = num * 7;
68414 }
68415 frameCounter += Math.Abs(velocity.X) * 2f;
68416 frameCounter += velocity.X * 1.3f;
68417 if (frameCounter > 6.0)
68418 {
68419 frame.Y += num;
68420 frameCounter = 0.0;
68421 }
68422 if (frame.Y / num >= Main.npcFrameCount[type])
68423 {
68424 frame.Y = num * 7;
68425 }
68426 }
68427 else
68428 {
68429 frameCounter = 0.0;
68430 frame.Y = num * 6;
68431 }
68432 break;
68433 case 257:
68434 if (velocity.Y == 0f)
68435 {
68436 if (direction == 1)
68437 {
68438 spriteDirection = 1;
68439 }
68440 if (direction == -1)
68441 {
68442 spriteDirection = -1;
68443 }
68444 }
68445 if (velocity.Y != 0f || (direction == -1 && velocity.X > 0f) || (direction == 1 && velocity.X < 0f))
68446 {
68447 frameCounter = 0.0;
68448 frame.Y = num * 4;
68449 break;
68450 }
68451 if (velocity.X == 0f)
68452 {
68453 frameCounter = 0.0;
68454 frame.Y = 0;
68455 break;
68456 }
68458 if (frameCounter < 8.0)
68459 {
68460 frame.Y = 0;
68461 }
68462 else if (frameCounter < 16.0)
68463 {
68464 frame.Y = num;
68465 }
68466 else if (frameCounter < 24.0)
68467 {
68468 frame.Y = num * 2;
68469 }
68470 else if (frameCounter < 32.0)
68471 {
68472 frame.Y = num * 3;
68473 }
68474 else
68475 {
68476 frameCounter = 0.0;
68477 }
68478 break;
68479 case 258:
68480 if (velocity.Y == 0f)
68481 {
68482 if (direction == 1)
68483 {
68484 spriteDirection = 1;
68485 }
68486 if (direction == -1)
68487 {
68488 spriteDirection = -1;
68489 }
68490 }
68491 if (velocity.Y != 0f || (direction == -1 && velocity.X > 0f) || (direction == 1 && velocity.X < 0f))
68492 {
68493 frameCounter += 1.0;
68494 if (frameCounter > 1.0)
68495 {
68496 frame.Y += num;
68497 frameCounter = 0.0;
68498 }
68499 if (frame.Y > num * 5 || frame.Y < num * 3)
68500 {
68501 frame.Y = num * 3;
68502 }
68503 }
68504 else if (velocity.X == 0f)
68505 {
68506 frameCounter = 0.0;
68507 frame.Y = 0;
68508 }
68509 else
68510 {
68512 if (frameCounter < 8.0)
68513 {
68514 frame.Y = 0;
68515 }
68516 else if (frameCounter < 16.0)
68517 {
68518 frame.Y = num;
68519 }
68520 else if (frameCounter < 24.0)
68521 {
68522 frame.Y = num * 2;
68523 }
68524 else
68525 {
68526 frameCounter = 0.0;
68527 }
68528 }
68529 break;
68530 case 348:
68531 if (velocity.Y == 0f)
68532 {
68533 if (direction == 1)
68534 {
68535 spriteDirection = 1;
68536 }
68537 if (direction == -1)
68538 {
68539 spriteDirection = -1;
68540 }
68541 }
68542 if (velocity.Y != 0f)
68543 {
68544 frameCounter = 0.0;
68545 frame.Y = num * 8;
68546 break;
68547 }
68548 if (velocity.X == 0f)
68549 {
68550 frameCounter = 0.0;
68551 frame.Y = 0;
68552 break;
68553 }
68555 frameCounter += 1.0;
68556 if (frameCounter > 6.0)
68557 {
68558 frame.Y += num;
68559 frameCounter = 0.0;
68560 }
68561 if (frame.Y > num * 7)
68562 {
68563 frame.Y = num;
68564 }
68565 break;
68566 case 349:
68567 frameCounter += 1.0;
68568 if (frameCounter > 3.0)
68569 {
68570 frame.Y += num;
68571 frameCounter = 0.0;
68572 }
68573 if (frame.Y > num * 7)
68574 {
68575 frame.Y = 0;
68576 }
68577 break;
68578 case 3:
68579 case 52:
68580 case 53:
68581 case 132:
68582 case 161:
68583 case 186:
68584 case 187:
68585 case 188:
68586 case 189:
68587 case 200:
68588 case 223:
68589 case 251:
68590 case 254:
68591 case 255:
68592 case 319:
68593 case 320:
68594 case 321:
68595 case 331:
68596 case 332:
68597 case 342:
68598 case 536:
68599 case 590:
68600 if (velocity.Y == 0f)
68601 {
68602 if (direction == 1)
68603 {
68604 spriteDirection = 1;
68605 }
68606 if (direction == -1)
68607 {
68608 spriteDirection = -1;
68609 }
68610 }
68611 if (velocity.Y != 0f || (direction == -1 && velocity.X > 0f) || (direction == 1 && velocity.X < 0f))
68612 {
68613 frameCounter = 0.0;
68614 frame.Y = num * 2;
68615 break;
68616 }
68617 if (velocity.X == 0f)
68618 {
68619 frameCounter = 0.0;
68620 frame.Y = 0;
68621 break;
68622 }
68624 if (frameCounter < 8.0)
68625 {
68626 frame.Y = 0;
68627 }
68628 else if (frameCounter < 16.0)
68629 {
68630 frame.Y = num;
68631 }
68632 else if (frameCounter < 24.0)
68633 {
68634 frame.Y = num * 2;
68635 }
68636 else if (frameCounter < 32.0)
68637 {
68638 frame.Y = num;
68639 }
68640 else
68641 {
68642 frameCounter = 0.0;
68643 }
68644 break;
68645 case 148:
68646 case 149:
68647 case 168:
68648 case 470:
68649 {
68650 int num50 = 0;
68651 if (localAI[0] == 2f)
68652 {
68653 num50 = 3;
68654 }
68655 if (localAI[0] == 3f)
68656 {
68657 num50 = 6;
68658 }
68659 if (localAI[0] == 4f)
68660 {
68661 num50 = 9;
68662 }
68663 num50 *= num;
68664 if (velocity.Y == 0f)
68665 {
68666 if (direction == 1)
68667 {
68668 spriteDirection = 1;
68669 }
68670 if (direction == -1)
68671 {
68672 spriteDirection = -1;
68673 }
68674 if (velocity.X == 0f)
68675 {
68676 frame.Y = num50;
68677 frameCounter = 0.0;
68678 break;
68679 }
68680 frameCounter += Math.Abs(velocity.X) * 1f;
68681 if (frameCounter < 6.0)
68682 {
68683 frame.Y = num50;
68684 break;
68685 }
68686 if (frameCounter < 12.0)
68687 {
68688 frame.Y = num + num50;
68689 break;
68690 }
68691 if (frameCounter < 15.0)
68692 {
68693 frame.Y = num * 2 + num50;
68694 break;
68695 }
68696 frameCounter = 0.0;
68697 frame.Y = num * 2 + num50;
68698 }
68699 else if (velocity.Y < 0f)
68700 {
68701 frameCounter = 0.0;
68702 frame.Y = num * 2 + num50;
68703 }
68704 else if (velocity.Y > 0f)
68705 {
68706 frameCounter = 0.0;
68707 frame.Y = num * 2 + num50;
68708 }
68709 break;
68710 }
68711 case 299:
68712 case 538:
68713 case 539:
68714 case 639:
68715 case 640:
68716 case 641:
68717 case 642:
68718 case 643:
68719 case 644:
68720 case 645:
68721 if (velocity.Y == 0f)
68722 {
68723 if (direction == 1)
68724 {
68725 spriteDirection = 1;
68726 }
68727 if (direction == -1)
68728 {
68729 spriteDirection = -1;
68730 }
68731 if (velocity.X == 0f)
68732 {
68733 frame.Y = 0;
68734 frameCounter = 0.0;
68735 break;
68736 }
68737 frameCounter += Math.Abs(velocity.X) * 0.5f;
68738 frameCounter += 1.0;
68739 if (frameCounter > 6.0)
68740 {
68741 frame.Y += num;
68742 frameCounter = 0.0;
68743 }
68744 if (frame.Y / num >= Main.npcFrameCount[type] - 1)
68745 {
68746 frame.Y = num;
68747 }
68748 }
68749 else if (velocity.Y < 0f)
68750 {
68751 frameCounter = 0.0;
68752 frame.Y = num * 2;
68753 }
68754 else if (velocity.Y > 0f)
68755 {
68756 frameCounter = 0.0;
68757 frame.Y = num * 4;
68758 }
68759 break;
68760 case 300:
68761 case 447:
68762 if (velocity.Y == 0f)
68763 {
68764 if (direction == 1)
68765 {
68766 spriteDirection = 1;
68767 }
68768 if (direction == -1)
68769 {
68770 spriteDirection = -1;
68771 }
68772 if (velocity.X == 0f)
68773 {
68774 frameCounter += 1.0;
68775 if (frameCounter > 8.0)
68776 {
68777 frame.Y += num;
68778 frameCounter = 0.0;
68779 }
68780 if (frame.Y / num > 1)
68781 {
68782 frame.Y = 0;
68783 }
68784 break;
68785 }
68786 frameCounter += Math.Abs(velocity.X) * 0.5f;
68787 frameCounter += 1.0;
68788 if (frameCounter > 6.0)
68789 {
68790 frame.Y += num;
68791 frameCounter = 0.0;
68792 }
68793 if (frame.Y / num >= Main.npcFrameCount[type])
68794 {
68795 frame.Y = num * 2;
68796 }
68797 }
68798 else
68799 {
68800 frameCounter += Math.Abs(velocity.X) * 0.5f;
68801 frameCounter += 1.0;
68802 if (frameCounter > 6.0)
68803 {
68804 frame.Y += num;
68805 frameCounter = 0.0;
68806 }
68807 if (frame.Y / num >= Main.npcFrameCount[type])
68808 {
68809 frame.Y = num * 2;
68810 }
68811 }
68812 break;
68813 case 610:
68814 if (velocity.Y == 0f)
68815 {
68816 if (direction == 1)
68817 {
68818 spriteDirection = 1;
68819 }
68820 if (direction == -1)
68821 {
68822 spriteDirection = -1;
68823 }
68824 if (velocity.X == 0f)
68825 {
68826 frameCounter += 1.0;
68827 if (frameCounter > 8.0)
68828 {
68829 frame.Y += num;
68830 frameCounter = 0.0;
68831 }
68832 if (frame.Y / num > 1)
68833 {
68834 frame.Y = 0;
68835 }
68836 break;
68837 }
68838 frameCounter += Math.Abs(velocity.X) * 0.5f;
68839 frameCounter += 1.0;
68840 if (frameCounter > 6.0)
68841 {
68842 frame.Y += num;
68843 frameCounter = 0.0;
68844 }
68845 if (frame.Y / num >= Main.npcFrameCount[type])
68846 {
68847 frame.Y = num * 2;
68848 }
68849 }
68850 else
68851 {
68852 frameCounter += Math.Abs(velocity.X) * 0.5f;
68853 frameCounter += 1.0;
68854 if (frameCounter > 6.0)
68855 {
68856 frame.Y += num;
68857 frameCounter = 0.0;
68858 }
68859 if (frame.Y / num >= Main.npcFrameCount[type])
68860 {
68861 frame.Y = num * 2;
68862 }
68863 }
68864 break;
68865 case 361:
68866 case 445:
68867 case 687:
68869 if (wet)
68870 {
68871 frameCounter = 0.0;
68872 if (velocity.X > 0.25f || velocity.X < -0.25f)
68873 {
68874 frame.Y = num * 10;
68875 }
68876 else if (velocity.X > 0.15f || velocity.X < -0.15f)
68877 {
68878 frame.Y = num * 11;
68879 }
68880 else
68881 {
68882 frame.Y = num * 12;
68883 }
68884 }
68885 else if (velocity.Y == 0f)
68886 {
68887 if (velocity.X == 0f)
68888 {
68889 frameCounter += 1.0;
68890 if (frameCounter > 6.0)
68891 {
68892 frameCounter = 0.0;
68893 frame.Y += num;
68894 }
68895 if (frame.Y > num * 5)
68896 {
68897 frame.Y = 0;
68898 }
68899 break;
68900 }
68901 frameCounter += 1.0;
68902 int num219 = 6;
68903 if (frameCounter < (double)num219)
68904 {
68905 frame.Y = 0;
68906 break;
68907 }
68908 if (frameCounter < (double)(num219 * 2))
68909 {
68910 frame.Y = num * 6;
68911 break;
68912 }
68913 if (frameCounter < (double)(num219 * 3))
68914 {
68915 frame.Y = num * 8;
68916 break;
68917 }
68918 frame.Y = num * 9;
68919 if (frameCounter >= (double)(num219 * 4 - 1))
68920 {
68921 frameCounter = 0.0;
68922 }
68923 }
68924 else if (velocity.Y > 0f)
68925 {
68926 frame.Y = num * 9;
68927 }
68928 else
68929 {
68930 frame.Y = num * 8;
68931 }
68932 break;
68933 case 616:
68934 case 617:
68935 {
68936 int num184 = 8;
68937 int num185 = 5;
68938 if (velocity.X == 0f)
68939 {
68940 num185 = 10;
68941 }
68943 if (wet)
68944 {
68945 frameCounter++;
68946 if (frameCounter > (double)num185)
68947 {
68948 frameCounter = 0.0;
68949 frame.Y += num;
68950 if (frame.Y > num * 13)
68951 {
68952 frame.Y = num * 8;
68953 }
68954 }
68955 break;
68956 }
68957 frameCounter++;
68958 if (frameCounter > (double)num184)
68959 {
68960 frameCounter = 0.0;
68961 frame.Y += num;
68962 if (frame.Y > num * 7)
68963 {
68964 frame.Y = 0;
68965 }
68966 }
68967 if (velocity.X == 0f)
68968 {
68969 frameCounter = 0.0;
68970 frame.Y = 0;
68971 }
68972 if (velocity.Y != 0f)
68973 {
68974 frameCounter = 0.0;
68975 frame.Y = num * 8;
68976 }
68977 break;
68978 }
68979 case 625:
68980 {
68981 int num174 = 7;
68982 int num175 = 4;
68983 if (velocity.X == 0f)
68984 {
68985 num175 = 8;
68986 }
68988 if (wet)
68989 {
68990 if (frame.Y < num * 6)
68991 {
68992 frame.Y = num * 6;
68993 }
68994 frameCounter++;
68995 if (frameCounter > (double)num175)
68996 {
68997 frameCounter = 0.0;
68998 frame.Y += num;
68999 if (frame.Y > num * 11)
69000 {
69001 frame.Y = num * 6;
69002 }
69003 }
69004 break;
69005 }
69006 if (frame.Y > num * 5)
69007 {
69008 frame.Y = 0;
69009 }
69010 frameCounter++;
69011 if (frameCounter > (double)num174)
69012 {
69013 frameCounter = 0.0;
69014 frame.Y += num;
69015 if (frame.Y > num * 5)
69016 {
69017 frame.Y = 0;
69018 }
69019 }
69020 if (velocity.X == 0f)
69021 {
69022 frameCounter = 0.0;
69023 frame.Y = 0;
69024 }
69025 break;
69026 }
69027 case 626:
69028 case 627:
69029 if (velocity.X != 0f)
69030 {
69031 spriteDirection = ((!(velocity.X < 0f)) ? 1 : (-1));
69032 }
69034 {
69035 frameCounter++;
69036 if (frameCounter > 5.0)
69037 {
69038 frameCounter = 0.0;
69039 frame.Y += num;
69040 }
69041 if (frame.Y > num * 5)
69042 {
69043 frame.Y = 0;
69044 }
69045 }
69046 else if (!wet)
69047 {
69048 frame.Y = 0;
69049 }
69050 else if (velocity.Length() > 0.15f)
69051 {
69052 frame.Y = num * 3;
69053 }
69054 else if (velocity.Length() > 0.05f)
69055 {
69056 frame.Y = num * 2;
69057 }
69058 else if (velocity.Length() > 0.025f)
69059 {
69060 frame.Y = num;
69061 }
69062 else
69063 {
69064 frame.Y = 0;
69065 }
69066 break;
69067 case 366:
69068 case 367:
69069 if (velocity.Y == 0f)
69070 {
69071 if (direction == 1)
69072 {
69073 spriteDirection = 1;
69074 }
69075 if (direction == -1)
69076 {
69077 spriteDirection = -1;
69078 }
69079 }
69080 if (velocity.X == 0f)
69081 {
69082 frame.Y = 0;
69083 frameCounter = 0.0;
69084 break;
69085 }
69086 frameCounter += Math.Abs(velocity.X) * 1f;
69087 frameCounter += 1.0;
69088 if (frameCounter > 6.0)
69089 {
69090 frame.Y += num;
69091 frameCounter = 0.0;
69092 }
69093 if (frame.Y / num >= Main.npcFrameCount[type])
69094 {
69095 frame.Y = 0;
69096 }
69097 break;
69098 case 46:
69099 case 47:
69100 case 303:
69101 case 337:
69102 case 443:
69103 case 464:
69104 case 540:
69105 case 614:
69106 case 646:
69107 case 647:
69108 case 648:
69109 case 649:
69110 case 650:
69111 case 651:
69112 case 652:
69113 if (velocity.Y == 0f)
69114 {
69115 if (direction == 1)
69116 {
69117 spriteDirection = 1;
69118 }
69119 if (direction == -1)
69120 {
69121 spriteDirection = -1;
69122 }
69123 if (velocity.X == 0f)
69124 {
69125 frame.Y = 0;
69126 frameCounter = 0.0;
69127 break;
69128 }
69129 frameCounter += Math.Abs(velocity.X) * 1f;
69130 frameCounter += 1.0;
69131 if (frameCounter > 6.0)
69132 {
69133 frame.Y += num;
69134 frameCounter = 0.0;
69135 }
69136 if (frame.Y / num >= Main.npcFrameCount[type])
69137 {
69138 frame.Y = 0;
69139 }
69140 }
69141 else if (velocity.Y < 0f)
69142 {
69143 frameCounter = 0.0;
69144 frame.Y = num * 4;
69145 }
69146 else if (velocity.Y > 0f)
69147 {
69148 frameCounter = 0.0;
69149 frame.Y = num * 6;
69150 }
69151 break;
69152 case 4:
69153 case 125:
69154 case 126:
69155 frameCounter += 1.0;
69156 if (frameCounter < 7.0)
69157 {
69158 frame.Y = 0;
69159 }
69160 else if (frameCounter < 14.0)
69161 {
69162 frame.Y = num;
69163 }
69164 else if (frameCounter < 21.0)
69165 {
69166 frame.Y = num * 2;
69167 }
69168 else
69169 {
69170 frameCounter = 0.0;
69171 frame.Y = 0;
69172 }
69173 if (ai[0] > 1f)
69174 {
69175 frame.Y += num * 3;
69176 }
69177 break;
69178 case 5:
69179 frameCounter += 1.0;
69180 if (frameCounter >= 8.0)
69181 {
69182 frame.Y += num;
69183 frameCounter = 0.0;
69184 }
69185 if (frame.Y >= num * Main.npcFrameCount[type])
69186 {
69187 frame.Y = 0;
69188 }
69189 break;
69190 case 94:
69191 frameCounter += 1.0;
69192 if (frameCounter < 6.0)
69193 {
69194 frame.Y = 0;
69195 break;
69196 }
69197 if (frameCounter < 12.0)
69198 {
69199 frame.Y = num;
69200 break;
69201 }
69202 if (frameCounter < 18.0)
69203 {
69204 frame.Y = num * 2;
69205 break;
69206 }
69207 frame.Y = num;
69208 if (frameCounter >= 23.0)
69209 {
69210 frameCounter = 0.0;
69211 }
69212 break;
69213 case 6:
69214 case 173:
69215 frameCounter += 1.0;
69216 if (frameCounter >= 8.0)
69217 {
69218 frame.Y += num;
69219 frameCounter = 0.0;
69220 }
69221 if (frame.Y >= num * Main.npcFrameCount[type])
69222 {
69223 frame.Y = 0;
69224 }
69225 break;
69226 case 24:
69227 if (velocity.Y == 0f)
69228 {
69229 if (direction == 1)
69230 {
69231 spriteDirection = 1;
69232 }
69233 if (direction == -1)
69234 {
69235 spriteDirection = -1;
69236 }
69237 }
69238 if (ai[1] > 0f)
69239 {
69240 if (frame.Y < 4)
69241 {
69242 frameCounter = 0.0;
69243 }
69244 frameCounter += 1.0;
69245 if (frameCounter <= 4.0)
69246 {
69247 frame.Y = num * 4;
69248 break;
69249 }
69250 if (frameCounter <= 8.0)
69251 {
69252 frame.Y = num * 5;
69253 break;
69254 }
69255 if (frameCounter <= 12.0)
69256 {
69257 frame.Y = num * 6;
69258 break;
69259 }
69260 if (frameCounter <= 16.0)
69261 {
69262 frame.Y = num * 7;
69263 break;
69264 }
69265 if (frameCounter <= 20.0)
69266 {
69267 frame.Y = num * 8;
69268 break;
69269 }
69270 frame.Y = num * 9;
69271 frameCounter = 100.0;
69272 break;
69273 }
69274 frameCounter += 1.0;
69275 if (frameCounter <= 4.0)
69276 {
69277 frame.Y = 0;
69278 break;
69279 }
69280 if (frameCounter <= 8.0)
69281 {
69282 frame.Y = num;
69283 break;
69284 }
69285 if (frameCounter <= 12.0)
69286 {
69287 frame.Y = num * 2;
69288 break;
69289 }
69290 frame.Y = num * 3;
69291 if (frameCounter >= 16.0)
69292 {
69293 frameCounter = 0.0;
69294 }
69295 break;
69296 case 29:
69297 case 32:
69298 case 45:
69299 case 172:
69300 case 281:
69301 case 282:
69302 case 283:
69303 case 284:
69304 case 285:
69305 case 286:
69306 if (velocity.Y == 0f)
69307 {
69308 if (direction == 1)
69309 {
69310 spriteDirection = 1;
69311 }
69312 if (direction == -1)
69313 {
69314 spriteDirection = -1;
69315 }
69316 }
69317 frame.Y = 0;
69318 if (velocity.Y != 0f)
69319 {
69320 frame.Y += num * 2;
69321 }
69322 else if (ai[1] > 0f)
69323 {
69324 frame.Y += num;
69325 }
69326 break;
69327 case 34:
69328 frameCounter += 1.0;
69329 if (frameCounter >= 4.0)
69330 {
69331 frame.Y += num;
69332 frameCounter = 0.0;
69333 }
69334 if (frame.Y >= num * Main.npcFrameCount[type])
69335 {
69336 frame.Y = 0;
69337 }
69338 break;
69339 case 624:
69340 if (velocity.Y == 0f)
69341 {
69343 }
69344 if (velocity.X == 0f && velocity.Y == 0f)
69345 {
69346 frameCounter = 0.0;
69347 frame.Y = 0;
69348 break;
69349 }
69350 if (velocity.Y < 0f)
69351 {
69352 frameCounter = 0.0;
69353 frame.Y = 9 * num;
69354 break;
69355 }
69356 if (velocity.Y > 0f)
69357 {
69358 frameCounter = 0.0;
69359 frame.Y = 10 * num;
69360 break;
69361 }
69363 if (frameCounter > 8.0)
69364 {
69365 int num55 = frame.Y / num;
69366 frameCounter -= 8.0;
69367 num55++;
69368 if (num55 > 8)
69369 {
69370 num55 = 1;
69371 }
69372 frame.Y = num55 * num;
69373 }
69374 break;
69375 case 628:
69376 spriteDirection = ((!(Main.WindForVisuals > 0f)) ? 1 : (-1));
69378 {
69379 int num3 = frame.Y / num;
69380 int num4 = 5;
69381 spriteDirection = 1;
69382 frameCounter++;
69383 if (frameCounter > (double)num4)
69384 {
69385 frameCounter -= num4;
69386 num3++;
69387 if (num3 > 5)
69388 {
69389 num3 = 0;
69390 }
69391 frame.Y = num3 * num;
69392 }
69393 }
69394 else if (ai[0] == 0f)
69395 {
69396 int num5 = frame.Y / num;
69397 int num6 = 8;
69398 if (num5 == 6)
69399 {
69400 frameCounter += 1f + 0.5f * Math.Abs(Main.WindForVisuals);
69401 if (frameCounter > (double)num6)
69402 {
69403 frameCounter -= num6;
69404 num5 = 0;
69405 frame.Y = num5 * num;
69406 }
69407 break;
69408 }
69409 if (num5 > 5)
69410 {
69411 num5 = 6;
69412 frameCounter = 0.0;
69413 frame.Y = num5 * num;
69414 break;
69415 }
69416 frameCounter += 1f + 0.5f * Math.Abs(Main.WindForVisuals);
69417 if (frameCounter > (double)num6)
69418 {
69419 frameCounter -= num6;
69420 num5++;
69421 if (num5 > 5)
69422 {
69423 num5 = 0;
69424 }
69425 frame.Y = num5 * num;
69426 }
69427 }
69428 else if (localAI[0] == 0f)
69429 {
69430 frameCounter++;
69431 if (!(frameCounter > 4.0))
69432 {
69433 break;
69434 }
69435 frameCounter = 0.0;
69436 int num7 = frame.Y / num;
69437 if (num7 == 6)
69438 {
69439 num7 = 7;
69440 }
69441 else if (num7 < 7)
69442 {
69443 num7 = 6;
69444 }
69445 else
69446 {
69447 num7++;
69448 if (num7 > 10)
69449 {
69450 num7 = 7;
69451 }
69452 }
69453 frame.Y = num7 * num;
69454 }
69455 else if (localAI[0] == 1f)
69456 {
69457 int num8 = frame.Y / num;
69458 num8 = (int)MathHelper.Lerp(7f, 20f, (float)frameCounter / 80f);
69459 if (num8 > 19)
69460 {
69461 num8 = 19;
69462 }
69463 if (num8 > 16)
69464 {
69465 num8 -= 9;
69466 }
69467 frameCounter++;
69468 if (frameCounter > 80.0)
69469 {
69470 frameCounter = 0.0;
69471 }
69472 frame.Y = num8 * num;
69473 }
69474 break;
69475 }
69476 if (aiStyle == 39 && type != 417)
69477 {
69478 if (ai[0] == 0f)
69479 {
69480 rotation = 0f;
69481 if (velocity.Y == 0f)
69482 {
69484 }
69485 else if (velocity.Y < 0f)
69486 {
69487 frameCounter = 0.0;
69488 }
69489 frameCounter += Math.Abs(velocity.X) * 1.1f;
69490 if (frameCounter < 6.0)
69491 {
69492 frame.Y = 0;
69493 }
69494 else if (frameCounter < 12.0)
69495 {
69496 frame.Y = num;
69497 }
69498 else if (frameCounter < 18.0)
69499 {
69500 frame.Y = num * 2;
69501 }
69502 else if (frameCounter < 24.0)
69503 {
69504 frame.Y = num * 3;
69505 }
69506 else if (frameCounter < 32.0)
69507 {
69508 frame.Y = num * 4;
69509 }
69510 else
69511 {
69512 frameCounter = 0.0;
69513 }
69514 }
69515 else if (ai[0] == 1f)
69516 {
69517 frameCounter = 0.0;
69518 if (ai[1] < 10f)
69519 {
69520 frame.Y = num * 5;
69521 }
69522 else if (ai[1] < 20f)
69523 {
69524 frame.Y = num * 6;
69525 }
69526 else
69527 {
69528 frame.Y = num * 7;
69529 }
69530 }
69531 else if (ai[0] == 5f)
69532 {
69533 frameCounter = 0.0;
69534 if (ai[1] < 10f)
69535 {
69536 frame.Y = num * 7;
69537 }
69538 else if (ai[1] < 20f)
69539 {
69540 frame.Y = num * 6;
69541 }
69542 else
69543 {
69544 frame.Y = num * 5;
69545 }
69546 }
69547 else
69548 {
69549 frameCounter = 0.0;
69550 frame.Y = num * 7;
69551 }
69552 }
69554 }
static float Lerp(float value1, float value2, float amount)
Definition MathHelper.cs:53
static byte Min(byte val1, byte val2)
Definition Math.cs:912
static double Atan2(double y, double x)
static double Abs(double value)
const double PI
Definition Math.cs:16
static int Sign(decimal value)
Definition Math.cs:1202
static byte Max(byte val1, byte val2)
Definition Math.cs:738
static void PlaySound(int type, Vector2 position, int style=1)
Vector2 velocity
Definition Entity.cs:16
Vector2 position
Definition Entity.cs:14
static Asset< Texture2D >[] Npc
static int NewBubbleNPC(WorldUIAnchor bubbleAnchor, int time, WorldUIAnchor other=null)
static int NewBubble(int emoticon, WorldUIAnchor bubbleAnchor, int time)
static int[] AttackFrameCount
Definition NPCID.cs:4212
static bool[] IsTownPet
Definition NPCID.cs:4099
static int[] AttackTime
Definition NPCID.cs:4224
static bool[] IsTownSlime
Definition NPCID.cs:4101
static int[] ExtraFramesCount
Definition NPCID.cs:4210
static readonly LegacySoundStyle DeerclopsScream
Definition SoundID.cs:964
static readonly LegacySoundStyle DeerclopsStep
Definition SoundID.cs:970
Vector2 netOffset
Definition NPC.cs:103
bool CanTalk
Definition NPC.cs:641
float[] localAI
Definition NPC.cs:449
int spriteDirection
Definition NPC.cs:517
int aiAction
Definition NPC.cs:451
int lifeMax
Definition NPC.cs:479
int aiStyle
Definition NPC.cs:453
bool isLikeATownNPC
Definition NPC.cs:822
static int FindFrame_Deerclops_GetAttack2Frame(int sequenceFrame)
Definition NPC.cs:69571
int GetShootingFrame(float circleY)
Definition NPC.cs:58831
bool noGravity
Definition NPC.cs:503
float[] ai
Definition NPC.cs:447
float value
Definition NPC.cs:523
static bool IsMechQueenUp
Definition NPC.cs:834
static int FindFrame_Deerclops_GetAttack1Frame(int sequenceFrame)
Definition NPC.cs:69566
int type
Definition NPC.cs:445
float rotation
Definition NPC.cs:501
static int FindFrame_Deerclops_GetAttack3Frame(int sequenceFrame)
Definition NPC.cs:69576
double frameCounter
Definition NPC.cs:483
bool AI_120_HallowBoss_IsInPhase2()
Definition NPC.cs:39010
int life
Definition NPC.cs:477
Rectangle frame
Definition NPC.cs:485
Vector2[] oldPos
Definition NPC.cs:155
bool IsABestiaryIconDummy
Definition NPC.cs:33
int target
Definition NPC.cs:459
static Vector2 Lerp(Vector2 value1, Vector2 value2, float amount)
Definition Vector2.cs:227

References System.Math.Abs(), Terraria.NPC.ai, Terraria.NPC.AI_120_HallowBoss_IsInPhase2(), Terraria.NPC.aiAction, Terraria.NPC.aiStyle, System.Math.Atan2(), Terraria.ID.NPCID.Sets.AttackFrameCount, Terraria.ID.NPCID.Sets.AttackTime, Terraria.Collision.CanHit(), Terraria.NPC.CanTalk, Terraria.Main.dedServ, Terraria.ID.SoundID.DeerclopsScream, Terraria.ID.SoundID.DeerclopsStep, Terraria.Entity.direction, Terraria.Main.dust, Terraria.ID.NPCID.Sets.ExtraFramesCount, Terraria.NPC.FindFrame_Deerclops_GetAttack1Frame(), Terraria.NPC.FindFrame_Deerclops_GetAttack2Frame(), Terraria.NPC.FindFrame_Deerclops_GetAttack3Frame(), Terraria.NPC.frame, Terraria.NPC.frameCounter, Terraria.NPC.GetShootingFrame(), Terraria.Framing.GetTileSafely(), Terraria.Main.gore, Terraria.Entity.height, Terraria.Entity.Hitbox, Terraria.GameContent.TownNPCProfiles.Instance, Microsoft.Xna.Framework.Rectangle.Intersects(), Terraria.NPC.IsABestiaryIconDummy, Terraria.NPC.isLikeATownNPC, Terraria.NPC.IsMechQueenUp, Terraria.ID.NPCID.Sets.IsTownPet, Terraria.ID.NPCID.Sets.IsTownSlime, Microsoft.Xna.Framework.Vector2.Length(), Microsoft.Xna.Framework.MathHelper.Lerp(), Microsoft.Xna.Framework.Vector2.Lerp(), Terraria.NPC.life, Terraria.NPC.lifeMax, Terraria.NPC.localAI, System.Math.Max(), System.Math.Min(), Terraria.Main.netMode, Terraria.NPC.netOffset, Terraria.GameContent.UI.EmoteBubble.NewBubble(), Terraria.GameContent.UI.EmoteBubble.NewBubbleNPC(), Terraria.Dust.NewDust(), Terraria.Dust.NewDustDirect(), Terraria.Gore.NewGore(), Terraria.NPC.noGravity, Terraria.GameContent.TextureAssets.Npc, Terraria.Main.npc, Terraria.Main.npcFrameCount, Terraria.NPC.oldPos, Microsoft.Xna.Framework.Vector2.One, System.Math.PI, Terraria.Main.player, Terraria.Audio.SoundEngine.PlaySound(), Terraria.Entity.position, Terraria.Main.rand, Terraria.NPC.rotation, System.Math.Sign(), Terraria.NPC.spriteDirection, Terraria.NPC.target, Terraria.NPC.type, Microsoft.Xna.Framework.Vector2.UnitX, Microsoft.Xna.Framework.Vector2.UnitY, Terraria.NPC.value, Microsoft.Xna.Framework.Graphics.Vector2, Terraria.Entity.velocity, Terraria.Entity.wet, Terraria.Entity.width, Terraria.Main.WindForVisuals, Terraria.Utils.WrappedLerp(), Microsoft.Xna.Framework.Vector2.X, Microsoft.Xna.Framework.Rectangle.Y, Microsoft.Xna.Framework.Vector2.Y, and Microsoft.Xna.Framework.Vector2.Zero.

Referenced by Terraria.GameContent.Animations.Segments.NPCSegment.Draw(), Terraria.GameContent.Bestiary.UnlockableNPCEntryIcon.SimulateFirstHover(), and Terraria.GameContent.Bestiary.UnlockableNPCEntryIcon.Update().