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

◆ AI_069_DukeFishron()

void Terraria.NPC.AI_069_DukeFishron ( )
inlineprivate

Definition at line 51255 of file NPC.cs.

51256 {
51257 //IL_021c: Unknown result type (might be due to invalid IL or missing references)
51258 //IL_0221: Unknown result type (might be due to invalid IL or missing references)
51259 //IL_0295: Unknown result type (might be due to invalid IL or missing references)
51260 //IL_029a: Unknown result type (might be due to invalid IL or missing references)
51261 //IL_025b: Unknown result type (might be due to invalid IL or missing references)
51262 //IL_0260: Unknown result type (might be due to invalid IL or missing references)
51263 //IL_03e6: Unknown result type (might be due to invalid IL or missing references)
51264 //IL_03f0: Unknown result type (might be due to invalid IL or missing references)
51265 //IL_03fb: Unknown result type (might be due to invalid IL or missing references)
51266 //IL_0405: Unknown result type (might be due to invalid IL or missing references)
51267 //IL_06c1: Unknown result type (might be due to invalid IL or missing references)
51268 //IL_06cb: Unknown result type (might be due to invalid IL or missing references)
51269 //IL_06d0: Unknown result type (might be due to invalid IL or missing references)
51270 //IL_06d7: Unknown result type (might be due to invalid IL or missing references)
51271 //IL_06e1: Unknown result type (might be due to invalid IL or missing references)
51272 //IL_064a: Unknown result type (might be due to invalid IL or missing references)
51273 //IL_0737: Unknown result type (might be due to invalid IL or missing references)
51274 //IL_097a: Unknown result type (might be due to invalid IL or missing references)
51275 //IL_098c: Unknown result type (might be due to invalid IL or missing references)
51276 //IL_0991: Unknown result type (might be due to invalid IL or missing references)
51277 //IL_0996: Unknown result type (might be due to invalid IL or missing references)
51278 //IL_0998: Unknown result type (might be due to invalid IL or missing references)
51279 //IL_099e: Unknown result type (might be due to invalid IL or missing references)
51280 //IL_09a3: Unknown result type (might be due to invalid IL or missing references)
51281 //IL_09a8: Unknown result type (might be due to invalid IL or missing references)
51282 //IL_09af: Unknown result type (might be due to invalid IL or missing references)
51283 //IL_09b4: Unknown result type (might be due to invalid IL or missing references)
51284 //IL_09c1: Unknown result type (might be due to invalid IL or missing references)
51285 //IL_095d: Unknown result type (might be due to invalid IL or missing references)
51286 //IL_0961: Unknown result type (might be due to invalid IL or missing references)
51287 //IL_0966: Unknown result type (might be due to invalid IL or missing references)
51288 //IL_12ee: Unknown result type (might be due to invalid IL or missing references)
51289 //IL_12f8: Unknown result type (might be due to invalid IL or missing references)
51290 //IL_12fd: Unknown result type (might be due to invalid IL or missing references)
51291 //IL_0fa6: Unknown result type (might be due to invalid IL or missing references)
51292 //IL_0fb8: Unknown result type (might be due to invalid IL or missing references)
51293 //IL_0fbd: Unknown result type (might be due to invalid IL or missing references)
51294 //IL_0fc2: Unknown result type (might be due to invalid IL or missing references)
51295 //IL_0fc4: Unknown result type (might be due to invalid IL or missing references)
51296 //IL_0fca: Unknown result type (might be due to invalid IL or missing references)
51297 //IL_0fcf: Unknown result type (might be due to invalid IL or missing references)
51298 //IL_0fd4: Unknown result type (might be due to invalid IL or missing references)
51299 //IL_0fdb: Unknown result type (might be due to invalid IL or missing references)
51300 //IL_0fe0: Unknown result type (might be due to invalid IL or missing references)
51301 //IL_0fed: Unknown result type (might be due to invalid IL or missing references)
51302 //IL_0f89: Unknown result type (might be due to invalid IL or missing references)
51303 //IL_0f8d: Unknown result type (might be due to invalid IL or missing references)
51304 //IL_0f92: Unknown result type (might be due to invalid IL or missing references)
51305 //IL_0db1: Unknown result type (might be due to invalid IL or missing references)
51306 //IL_0db6: Unknown result type (might be due to invalid IL or missing references)
51307 //IL_0dd2: Unknown result type (might be due to invalid IL or missing references)
51308 //IL_0dd7: Unknown result type (might be due to invalid IL or missing references)
51309 //IL_0de1: Unknown result type (might be due to invalid IL or missing references)
51310 //IL_0e01: Unknown result type (might be due to invalid IL or missing references)
51311 //IL_0e07: Unknown result type (might be due to invalid IL or missing references)
51312 //IL_0e09: Unknown result type (might be due to invalid IL or missing references)
51313 //IL_0e0e: Unknown result type (might be due to invalid IL or missing references)
51314 //IL_0e10: Unknown result type (might be due to invalid IL or missing references)
51315 //IL_0e30: Unknown result type (might be due to invalid IL or missing references)
51316 //IL_0e42: Unknown result type (might be due to invalid IL or missing references)
51317 //IL_0e47: Unknown result type (might be due to invalid IL or missing references)
51318 //IL_0e49: Unknown result type (might be due to invalid IL or missing references)
51319 //IL_0e4b: Unknown result type (might be due to invalid IL or missing references)
51320 //IL_0e57: Unknown result type (might be due to invalid IL or missing references)
51321 //IL_0e64: Unknown result type (might be due to invalid IL or missing references)
51322 //IL_0e75: Unknown result type (might be due to invalid IL or missing references)
51323 //IL_0e7b: Unknown result type (might be due to invalid IL or missing references)
51324 //IL_0eae: Unknown result type (might be due to invalid IL or missing references)
51325 //IL_0eb8: Unknown result type (might be due to invalid IL or missing references)
51326 //IL_0ebd: Unknown result type (might be due to invalid IL or missing references)
51327 //IL_0ecb: Unknown result type (might be due to invalid IL or missing references)
51328 //IL_0ed1: Unknown result type (might be due to invalid IL or missing references)
51329 //IL_0ed6: Unknown result type (might be due to invalid IL or missing references)
51330 //IL_0edb: Unknown result type (might be due to invalid IL or missing references)
51331 //IL_0a19: Unknown result type (might be due to invalid IL or missing references)
51332 //IL_14ba: Unknown result type (might be due to invalid IL or missing references)
51333 //IL_14c4: Unknown result type (might be due to invalid IL or missing references)
51334 //IL_14c9: Unknown result type (might be due to invalid IL or missing references)
51335 //IL_1339: Unknown result type (might be due to invalid IL or missing references)
51336 //IL_1341: Unknown result type (might be due to invalid IL or missing references)
51337 //IL_1045: Unknown result type (might be due to invalid IL or missing references)
51338 //IL_0a6f: Unknown result type (might be due to invalid IL or missing references)
51339 //IL_09ed: Unknown result type (might be due to invalid IL or missing references)
51340 //IL_07a6: Unknown result type (might be due to invalid IL or missing references)
51341 //IL_07ab: Unknown result type (might be due to invalid IL or missing references)
51342 //IL_07c4: Unknown result type (might be due to invalid IL or missing references)
51343 //IL_07c9: Unknown result type (might be due to invalid IL or missing references)
51344 //IL_07d3: Unknown result type (might be due to invalid IL or missing references)
51345 //IL_07dd: Unknown result type (might be due to invalid IL or missing references)
51346 //IL_07f9: Unknown result type (might be due to invalid IL or missing references)
51347 //IL_07ff: Unknown result type (might be due to invalid IL or missing references)
51348 //IL_0801: Unknown result type (might be due to invalid IL or missing references)
51349 //IL_0807: Unknown result type (might be due to invalid IL or missing references)
51350 //IL_080c: Unknown result type (might be due to invalid IL or missing references)
51351 //IL_0811: Unknown result type (might be due to invalid IL or missing references)
51352 //IL_0813: Unknown result type (might be due to invalid IL or missing references)
51353 //IL_0818: Unknown result type (might be due to invalid IL or missing references)
51354 //IL_081d: Unknown result type (might be due to invalid IL or missing references)
51355 //IL_081f: Unknown result type (might be due to invalid IL or missing references)
51356 //IL_0821: Unknown result type (might be due to invalid IL or missing references)
51357 //IL_082d: Unknown result type (might be due to invalid IL or missing references)
51358 //IL_083a: Unknown result type (might be due to invalid IL or missing references)
51359 //IL_084b: Unknown result type (might be due to invalid IL or missing references)
51360 //IL_0851: Unknown result type (might be due to invalid IL or missing references)
51361 //IL_0883: Unknown result type (might be due to invalid IL or missing references)
51362 //IL_0885: Unknown result type (might be due to invalid IL or missing references)
51363 //IL_088f: Unknown result type (might be due to invalid IL or missing references)
51364 //IL_0894: Unknown result type (might be due to invalid IL or missing references)
51365 //IL_08aa: Unknown result type (might be due to invalid IL or missing references)
51366 //IL_08b2: Unknown result type (might be due to invalid IL or missing references)
51367 //IL_1505: Unknown result type (might be due to invalid IL or missing references)
51368 //IL_150d: Unknown result type (might be due to invalid IL or missing references)
51369 //IL_109b: Unknown result type (might be due to invalid IL or missing references)
51370 //IL_1019: Unknown result type (might be due to invalid IL or missing references)
51371 //IL_0ac7: Unknown result type (might be due to invalid IL or missing references)
51372 //IL_0a45: Unknown result type (might be due to invalid IL or missing references)
51373 //IL_137f: Unknown result type (might be due to invalid IL or missing references)
51374 //IL_1384: Unknown result type (might be due to invalid IL or missing references)
51375 //IL_1390: Unknown result type (might be due to invalid IL or missing references)
51376 //IL_1395: Unknown result type (might be due to invalid IL or missing references)
51377 //IL_13a4: Unknown result type (might be due to invalid IL or missing references)
51378 //IL_13ae: Unknown result type (might be due to invalid IL or missing references)
51379 //IL_13b3: Unknown result type (might be due to invalid IL or missing references)
51380 //IL_13b5: Unknown result type (might be due to invalid IL or missing references)
51381 //IL_13ba: Unknown result type (might be due to invalid IL or missing references)
51382 //IL_13c2: Unknown result type (might be due to invalid IL or missing references)
51383 //IL_13c9: Unknown result type (might be due to invalid IL or missing references)
51384 //IL_1409: Unknown result type (might be due to invalid IL or missing references)
51385 //IL_1410: Unknown result type (might be due to invalid IL or missing references)
51386 //IL_10f3: Unknown result type (might be due to invalid IL or missing references)
51387 //IL_1071: Unknown result type (might be due to invalid IL or missing references)
51388 //IL_0b14: Unknown result type (might be due to invalid IL or missing references)
51389 //IL_0b1e: Unknown result type (might be due to invalid IL or missing references)
51390 //IL_0a9b: Unknown result type (might be due to invalid IL or missing references)
51391 //IL_15e2: Unknown result type (might be due to invalid IL or missing references)
51392 //IL_15f4: Unknown result type (might be due to invalid IL or missing references)
51393 //IL_15f9: Unknown result type (might be due to invalid IL or missing references)
51394 //IL_15fe: Unknown result type (might be due to invalid IL or missing references)
51395 //IL_1600: Unknown result type (might be due to invalid IL or missing references)
51396 //IL_1606: Unknown result type (might be due to invalid IL or missing references)
51397 //IL_160b: Unknown result type (might be due to invalid IL or missing references)
51398 //IL_1610: Unknown result type (might be due to invalid IL or missing references)
51399 //IL_1617: Unknown result type (might be due to invalid IL or missing references)
51400 //IL_161c: Unknown result type (might be due to invalid IL or missing references)
51401 //IL_1629: Unknown result type (might be due to invalid IL or missing references)
51402 //IL_15c5: Unknown result type (might be due to invalid IL or missing references)
51403 //IL_15c9: Unknown result type (might be due to invalid IL or missing references)
51404 //IL_15ce: Unknown result type (might be due to invalid IL or missing references)
51405 //IL_10c7: Unknown result type (might be due to invalid IL or missing references)
51406 //IL_0af3: Unknown result type (might be due to invalid IL or missing references)
51407 //IL_1e47: Unknown result type (might be due to invalid IL or missing references)
51408 //IL_1e51: Unknown result type (might be due to invalid IL or missing references)
51409 //IL_1e56: Unknown result type (might be due to invalid IL or missing references)
51410 //IL_1c3d: Unknown result type (might be due to invalid IL or missing references)
51411 //IL_1c45: Unknown result type (might be due to invalid IL or missing references)
51412 //IL_1a6f: Unknown result type (might be due to invalid IL or missing references)
51413 //IL_1a74: Unknown result type (might be due to invalid IL or missing references)
51414 //IL_1a90: Unknown result type (might be due to invalid IL or missing references)
51415 //IL_1a95: Unknown result type (might be due to invalid IL or missing references)
51416 //IL_1a9f: Unknown result type (might be due to invalid IL or missing references)
51417 //IL_1abf: Unknown result type (might be due to invalid IL or missing references)
51418 //IL_1ac5: Unknown result type (might be due to invalid IL or missing references)
51419 //IL_1ac7: Unknown result type (might be due to invalid IL or missing references)
51420 //IL_1acc: Unknown result type (might be due to invalid IL or missing references)
51421 //IL_1ace: Unknown result type (might be due to invalid IL or missing references)
51422 //IL_1aee: Unknown result type (might be due to invalid IL or missing references)
51423 //IL_1b00: Unknown result type (might be due to invalid IL or missing references)
51424 //IL_1b05: Unknown result type (might be due to invalid IL or missing references)
51425 //IL_1b07: Unknown result type (might be due to invalid IL or missing references)
51426 //IL_1b09: Unknown result type (might be due to invalid IL or missing references)
51427 //IL_1b15: Unknown result type (might be due to invalid IL or missing references)
51428 //IL_1b22: Unknown result type (might be due to invalid IL or missing references)
51429 //IL_1b33: Unknown result type (might be due to invalid IL or missing references)
51430 //IL_1b39: Unknown result type (might be due to invalid IL or missing references)
51431 //IL_1b6c: Unknown result type (might be due to invalid IL or missing references)
51432 //IL_1b76: Unknown result type (might be due to invalid IL or missing references)
51433 //IL_1b7b: Unknown result type (might be due to invalid IL or missing references)
51434 //IL_1b89: Unknown result type (might be due to invalid IL or missing references)
51435 //IL_1b8f: Unknown result type (might be due to invalid IL or missing references)
51436 //IL_1b94: Unknown result type (might be due to invalid IL or missing references)
51437 //IL_1b99: Unknown result type (might be due to invalid IL or missing references)
51438 //IL_1681: Unknown result type (might be due to invalid IL or missing references)
51439 //IL_114f: Unknown result type (might be due to invalid IL or missing references)
51440 //IL_1157: Unknown result type (might be due to invalid IL or missing references)
51441 //IL_111f: Unknown result type (might be due to invalid IL or missing references)
51442 //IL_1e92: Unknown result type (might be due to invalid IL or missing references)
51443 //IL_1e9a: Unknown result type (might be due to invalid IL or missing references)
51444 //IL_1d9a: Unknown result type (might be due to invalid IL or missing references)
51445 //IL_1db2: Unknown result type (might be due to invalid IL or missing references)
51446 //IL_1db8: Unknown result type (might be due to invalid IL or missing references)
51447 //IL_1dba: Unknown result type (might be due to invalid IL or missing references)
51448 //IL_1dbf: Unknown result type (might be due to invalid IL or missing references)
51449 //IL_1c77: Unknown result type (might be due to invalid IL or missing references)
51450 //IL_1c83: Unknown result type (might be due to invalid IL or missing references)
51451 //IL_16d7: Unknown result type (might be due to invalid IL or missing references)
51452 //IL_1655: Unknown result type (might be due to invalid IL or missing references)
51453 //IL_122f: Unknown result type (might be due to invalid IL or missing references)
51454 //IL_1239: Unknown result type (might be due to invalid IL or missing references)
51455 //IL_1189: Unknown result type (might be due to invalid IL or missing references)
51456 //IL_1195: Unknown result type (might be due to invalid IL or missing references)
51457 //IL_1f95: Unknown result type (might be due to invalid IL or missing references)
51458 //IL_1cac: Unknown result type (might be due to invalid IL or missing references)
51459 //IL_1cb1: Unknown result type (might be due to invalid IL or missing references)
51460 //IL_1cc0: Unknown result type (might be due to invalid IL or missing references)
51461 //IL_1cca: Unknown result type (might be due to invalid IL or missing references)
51462 //IL_1ccf: Unknown result type (might be due to invalid IL or missing references)
51463 //IL_1cd1: Unknown result type (might be due to invalid IL or missing references)
51464 //IL_1cd6: Unknown result type (might be due to invalid IL or missing references)
51465 //IL_1cde: Unknown result type (might be due to invalid IL or missing references)
51466 //IL_1ce6: Unknown result type (might be due to invalid IL or missing references)
51467 //IL_1d33: Unknown result type (might be due to invalid IL or missing references)
51468 //IL_1d38: Unknown result type (might be due to invalid IL or missing references)
51469 //IL_1d4d: Unknown result type (might be due to invalid IL or missing references)
51470 //IL_1d53: Unknown result type (might be due to invalid IL or missing references)
51471 //IL_1d55: Unknown result type (might be due to invalid IL or missing references)
51472 //IL_1d5c: Unknown result type (might be due to invalid IL or missing references)
51473 //IL_1d61: Unknown result type (might be due to invalid IL or missing references)
51474 //IL_172f: Unknown result type (might be due to invalid IL or missing references)
51475 //IL_16ad: Unknown result type (might be due to invalid IL or missing references)
51476 //IL_11bc: Unknown result type (might be due to invalid IL or missing references)
51477 //IL_11c1: Unknown result type (might be due to invalid IL or missing references)
51478 //IL_11c3: Unknown result type (might be due to invalid IL or missing references)
51479 //IL_11c8: Unknown result type (might be due to invalid IL or missing references)
51480 //IL_11d7: Unknown result type (might be due to invalid IL or missing references)
51481 //IL_11e1: Unknown result type (might be due to invalid IL or missing references)
51482 //IL_11e6: Unknown result type (might be due to invalid IL or missing references)
51483 //IL_11e8: Unknown result type (might be due to invalid IL or missing references)
51484 //IL_11ed: Unknown result type (might be due to invalid IL or missing references)
51485 //IL_11f5: Unknown result type (might be due to invalid IL or missing references)
51486 //IL_11fd: Unknown result type (might be due to invalid IL or missing references)
51487 //IL_202c: Unknown result type (might be due to invalid IL or missing references)
51488 //IL_2036: Unknown result type (might be due to invalid IL or missing references)
51489 //IL_203b: Unknown result type (might be due to invalid IL or missing references)
51490 //IL_1ed2: Unknown result type (might be due to invalid IL or missing references)
51491 //IL_1ed9: Unknown result type (might be due to invalid IL or missing references)
51492 //IL_177c: Unknown result type (might be due to invalid IL or missing references)
51493 //IL_1786: Unknown result type (might be due to invalid IL or missing references)
51494 //IL_1703: Unknown result type (might be due to invalid IL or missing references)
51495 //IL_2077: Unknown result type (might be due to invalid IL or missing references)
51496 //IL_207f: Unknown result type (might be due to invalid IL or missing references)
51497 //IL_175b: Unknown result type (might be due to invalid IL or missing references)
51498 //IL_2644: Unknown result type (might be due to invalid IL or missing references)
51499 //IL_264e: Unknown result type (might be due to invalid IL or missing references)
51500 //IL_2653: Unknown result type (might be due to invalid IL or missing references)
51501 //IL_218f: Unknown result type (might be due to invalid IL or missing references)
51502 //IL_21a1: Unknown result type (might be due to invalid IL or missing references)
51503 //IL_21a6: Unknown result type (might be due to invalid IL or missing references)
51504 //IL_21ab: Unknown result type (might be due to invalid IL or missing references)
51505 //IL_21ad: Unknown result type (might be due to invalid IL or missing references)
51506 //IL_21b3: Unknown result type (might be due to invalid IL or missing references)
51507 //IL_21b8: Unknown result type (might be due to invalid IL or missing references)
51508 //IL_21bd: Unknown result type (might be due to invalid IL or missing references)
51509 //IL_21c4: Unknown result type (might be due to invalid IL or missing references)
51510 //IL_21c9: Unknown result type (might be due to invalid IL or missing references)
51511 //IL_21cc: Unknown result type (might be due to invalid IL or missing references)
51512 //IL_21d7: Unknown result type (might be due to invalid IL or missing references)
51513 //IL_21e1: Unknown result type (might be due to invalid IL or missing references)
51514 //IL_2172: Unknown result type (might be due to invalid IL or missing references)
51515 //IL_2176: Unknown result type (might be due to invalid IL or missing references)
51516 //IL_217b: Unknown result type (might be due to invalid IL or missing references)
51517 //IL_0c7f: Unknown result type (might be due to invalid IL or missing references)
51518 //IL_0c84: Unknown result type (might be due to invalid IL or missing references)
51519 //IL_0c86: Unknown result type (might be due to invalid IL or missing references)
51520 //IL_0c8b: Unknown result type (might be due to invalid IL or missing references)
51521 //IL_0c92: Unknown result type (might be due to invalid IL or missing references)
51522 //IL_0c97: Unknown result type (might be due to invalid IL or missing references)
51523 //IL_28b4: Unknown result type (might be due to invalid IL or missing references)
51524 //IL_28cc: Unknown result type (might be due to invalid IL or missing references)
51525 //IL_28d2: Unknown result type (might be due to invalid IL or missing references)
51526 //IL_28d4: Unknown result type (might be due to invalid IL or missing references)
51527 //IL_28d9: Unknown result type (might be due to invalid IL or missing references)
51528 //IL_2890: Unknown result type (might be due to invalid IL or missing references)
51529 //IL_2898: Unknown result type (might be due to invalid IL or missing references)
51530 //IL_268e: Unknown result type (might be due to invalid IL or missing references)
51531 //IL_2696: Unknown result type (might be due to invalid IL or missing references)
51532 //IL_2447: Unknown result type (might be due to invalid IL or missing references)
51533 //IL_244c: Unknown result type (might be due to invalid IL or missing references)
51534 //IL_2468: Unknown result type (might be due to invalid IL or missing references)
51535 //IL_246d: Unknown result type (might be due to invalid IL or missing references)
51536 //IL_2477: Unknown result type (might be due to invalid IL or missing references)
51537 //IL_2497: Unknown result type (might be due to invalid IL or missing references)
51538 //IL_249d: Unknown result type (might be due to invalid IL or missing references)
51539 //IL_249f: Unknown result type (might be due to invalid IL or missing references)
51540 //IL_24a4: Unknown result type (might be due to invalid IL or missing references)
51541 //IL_24a6: Unknown result type (might be due to invalid IL or missing references)
51542 //IL_24c6: Unknown result type (might be due to invalid IL or missing references)
51543 //IL_24d8: Unknown result type (might be due to invalid IL or missing references)
51544 //IL_24dd: Unknown result type (might be due to invalid IL or missing references)
51545 //IL_24df: Unknown result type (might be due to invalid IL or missing references)
51546 //IL_24e1: Unknown result type (might be due to invalid IL or missing references)
51547 //IL_24ed: Unknown result type (might be due to invalid IL or missing references)
51548 //IL_24fa: Unknown result type (might be due to invalid IL or missing references)
51549 //IL_250b: Unknown result type (might be due to invalid IL or missing references)
51550 //IL_2511: Unknown result type (might be due to invalid IL or missing references)
51551 //IL_2544: Unknown result type (might be due to invalid IL or missing references)
51552 //IL_254e: Unknown result type (might be due to invalid IL or missing references)
51553 //IL_2553: Unknown result type (might be due to invalid IL or missing references)
51554 //IL_2561: Unknown result type (might be due to invalid IL or missing references)
51555 //IL_2567: Unknown result type (might be due to invalid IL or missing references)
51556 //IL_256c: Unknown result type (might be due to invalid IL or missing references)
51557 //IL_2571: Unknown result type (might be due to invalid IL or missing references)
51558 //IL_2705: Unknown result type (might be due to invalid IL or missing references)
51559 //IL_271d: Unknown result type (might be due to invalid IL or missing references)
51560 //IL_2722: Unknown result type (might be due to invalid IL or missing references)
51561 //IL_2727: Unknown result type (might be due to invalid IL or missing references)
51562 //IL_272a: Unknown result type (might be due to invalid IL or missing references)
51563 //IL_272c: Unknown result type (might be due to invalid IL or missing references)
51564 //IL_272d: Unknown result type (might be due to invalid IL or missing references)
51565 //IL_2734: Unknown result type (might be due to invalid IL or missing references)
51566 //IL_2736: Unknown result type (might be due to invalid IL or missing references)
51567 //IL_273a: Unknown result type (might be due to invalid IL or missing references)
51568 //IL_2744: Unknown result type (might be due to invalid IL or missing references)
51569 //IL_26e8: Unknown result type (might be due to invalid IL or missing references)
51570 //IL_26ec: Unknown result type (might be due to invalid IL or missing references)
51571 //IL_26f1: Unknown result type (might be due to invalid IL or missing references)
51572 //IL_232d: Unknown result type (might be due to invalid IL or missing references)
51573 //IL_2332: Unknown result type (might be due to invalid IL or missing references)
51574 //IL_2334: Unknown result type (might be due to invalid IL or missing references)
51575 //IL_2339: Unknown result type (might be due to invalid IL or missing references)
51576 //IL_2340: Unknown result type (might be due to invalid IL or missing references)
51577 //IL_2345: Unknown result type (might be due to invalid IL or missing references)
51578 //IL_222f: Unknown result type (might be due to invalid IL or missing references)
51579 //IL_2234: Unknown result type (might be due to invalid IL or missing references)
51580 //IL_18d7: Unknown result type (might be due to invalid IL or missing references)
51581 //IL_18dc: Unknown result type (might be due to invalid IL or missing references)
51582 //IL_18de: Unknown result type (might be due to invalid IL or missing references)
51583 //IL_18e3: Unknown result type (might be due to invalid IL or missing references)
51584 //IL_18ea: Unknown result type (might be due to invalid IL or missing references)
51585 //IL_18ef: Unknown result type (might be due to invalid IL or missing references)
51586 //IL_1957: Unknown result type (might be due to invalid IL or missing references)
51587 //IL_195c: Unknown result type (might be due to invalid IL or missing references)
51588 //IL_195e: Unknown result type (might be due to invalid IL or missing references)
51589 //IL_1963: Unknown result type (might be due to invalid IL or missing references)
51590 //IL_196a: Unknown result type (might be due to invalid IL or missing references)
51591 //IL_196f: Unknown result type (might be due to invalid IL or missing references)
51592 //IL_2792: Unknown result type (might be due to invalid IL or missing references)
51593 //IL_2797: Unknown result type (might be due to invalid IL or missing references)
51594 bool expertMode = Main.expertMode;
51595 float num = (expertMode ? 1.2f : 1f);
51596 bool flag = (double)life <= (double)lifeMax * 0.5;
51597 bool flag2 = expertMode && (double)life <= (double)lifeMax * 0.15;
51598 bool flag3 = ai[0] > 4f;
51599 bool flag4 = ai[0] > 9f;
51600 bool flag5 = ai[3] < 10f;
51601 if (flag4)
51602 {
51603 damage = (int)((float)defDamage * 1.1f * num);
51604 defense = 0;
51605 }
51606 else if (flag3)
51607 {
51608 damage = (int)((float)defDamage * 1.2f * num);
51609 defense = (int)((float)defDefense * 0.8f);
51610 }
51611 else
51612 {
51613 damage = defDamage;
51615 }
51616 int num12 = (expertMode ? 40 : 60);
51617 float num23 = (expertMode ? 0.55f : 0.45f);
51618 float num34 = (expertMode ? 8.5f : 7.5f);
51619 if (flag4)
51620 {
51621 num23 = 0.7f;
51622 num34 = 12f;
51623 num12 = 30;
51624 }
51625 else if (flag3 && flag5)
51626 {
51627 num23 = (expertMode ? 0.6f : 0.5f);
51628 num34 = (expertMode ? 10f : 8f);
51629 num12 = (expertMode ? 40 : 20);
51630 }
51631 else if (flag5 && !flag3 && !flag4)
51632 {
51633 num12 = 30;
51634 }
51635 int num36 = (expertMode ? 28 : 30);
51636 float num37 = (expertMode ? 17f : 16f);
51637 if (flag4)
51638 {
51639 num36 = 25;
51640 num37 = 27f;
51641 }
51642 else if (flag5 && flag3)
51643 {
51644 num36 = (expertMode ? 27 : 30);
51645 if (expertMode)
51646 {
51647 num37 = 21f;
51648 }
51649 }
51650 int num38 = 80;
51651 int num39 = 4;
51652 float num40 = 0.3f;
51653 float num2 = 5f;
51654 int num3 = 90;
51655 int num4 = 180;
51656 int num5 = 180;
51657 int num6 = 30;
51658 int num7 = 120;
51659 int num8 = 4;
51660 float num9 = 6f;
51661 float num10 = 20f;
51662 float num11 = (float)Math.PI * 2f / (float)(num7 / 2);
51663 int num13 = 75;
51664 Vector2 center = base.Center;
51665 Player player = Main.player[target];
51666 if (target < 0 || target == 255 || player.dead || !player.active || Vector2.Distance(player.Center, center) > 5600f)
51667 {
51668 TargetClosest();
51669 player = Main.player[target];
51670 netUpdate = true;
51671 }
51672 if (player.dead || Vector2.Distance(player.Center, center) > 5600f)
51673 {
51674 velocity.Y -= 0.4f;
51675 EncourageDespawn(10);
51676 if (ai[0] > 4f)
51677 {
51678 ai[0] = 5f;
51679 }
51680 else
51681 {
51682 ai[0] = 0f;
51683 }
51684 ai[2] = 0f;
51685 }
51686 bool flag6 = player.position.Y < 800f || (double)player.position.Y > Main.worldSurface * 16.0 || (player.position.X > 6400f && player.position.X < (float)(Main.maxTilesX * 16 - 6400));
51687 if (flag6)
51688 {
51689 num12 = 10;
51690 damage = defDamage * 2;
51691 defense = defDefense * 2;
51692 num37 += 6f;
51693 }
51694 bool flag7 = true;
51695 if (localAI[0] == 0f)
51696 {
51697 localAI[0] = 1f;
51698 alpha = 255;
51699 rotation = 0f;
51700 if (Main.netMode != 1)
51701 {
51702 ai[0] = -1f;
51703 netUpdate = true;
51704 }
51705 }
51706 float num14 = (float)Math.Atan2(player.Center.Y - center.Y, player.Center.X - center.X);
51707 if (spriteDirection == 1)
51708 {
51709 num14 += (float)Math.PI;
51710 }
51711 if (num14 < 0f)
51712 {
51713 num14 += (float)Math.PI * 2f;
51714 }
51715 if (num14 > (float)Math.PI * 2f)
51716 {
51717 num14 -= (float)Math.PI * 2f;
51718 }
51719 if (ai[0] == -1f)
51720 {
51721 num14 = 0f;
51722 }
51723 if (ai[0] == 3f)
51724 {
51725 num14 = 0f;
51726 }
51727 if (ai[0] == 4f)
51728 {
51729 num14 = 0f;
51730 }
51731 if (ai[0] == 8f)
51732 {
51733 num14 = 0f;
51734 }
51735 float num15 = 0.04f;
51736 if (ai[0] == 1f || ai[0] == 6f)
51737 {
51738 num15 = 0f;
51739 }
51740 if (ai[0] == 7f)
51741 {
51742 num15 = 0f;
51743 }
51744 if (ai[0] == 3f)
51745 {
51746 num15 = 0.01f;
51747 }
51748 if (ai[0] == 4f)
51749 {
51750 num15 = 0.01f;
51751 }
51752 if (ai[0] == 8f)
51753 {
51754 num15 = 0.01f;
51755 }
51756 if (rotation < num14)
51757 {
51758 if ((double)(num14 - rotation) > Math.PI)
51759 {
51760 rotation -= num15;
51761 }
51762 else
51763 {
51764 rotation += num15;
51765 }
51766 }
51767 if (rotation > num14)
51768 {
51769 if ((double)(rotation - num14) > Math.PI)
51770 {
51771 rotation += num15;
51772 }
51773 else
51774 {
51775 rotation -= num15;
51776 }
51777 }
51778 if (rotation > num14 - num15 && rotation < num14 + num15)
51779 {
51780 rotation = num14;
51781 }
51782 if (rotation < 0f)
51783 {
51784 rotation += (float)Math.PI * 2f;
51785 }
51786 if (rotation > (float)Math.PI * 2f)
51787 {
51788 rotation -= (float)Math.PI * 2f;
51789 }
51790 if (rotation > num14 - num15 && rotation < num14 + num15)
51791 {
51792 rotation = num14;
51793 }
51794 if (ai[0] != -1f && ai[0] < 9f)
51795 {
51796 if (Collision.SolidCollision(position, width, height))
51797 {
51798 alpha += 15;
51799 }
51800 else
51801 {
51802 alpha -= 15;
51803 }
51804 if (alpha < 0)
51805 {
51806 alpha = 0;
51807 }
51808 if (alpha > 150)
51809 {
51810 alpha = 150;
51811 }
51812 }
51813 if (ai[0] == -1f)
51814 {
51815 flag7 = false;
51816 velocity *= 0.98f;
51817 int num16 = Math.Sign(player.Center.X - center.X);
51818 if (num16 != 0)
51819 {
51820 direction = num16;
51822 }
51823 if (ai[2] > 20f)
51824 {
51825 velocity.Y = -2f;
51826 alpha -= 5;
51827 if (Collision.SolidCollision(position, width, height))
51828 {
51829 alpha += 15;
51830 }
51831 if (alpha < 0)
51832 {
51833 alpha = 0;
51834 }
51835 if (alpha > 150)
51836 {
51837 alpha = 150;
51838 }
51839 }
51840 if (ai[2] == (float)(num3 - 30))
51841 {
51842 int num17 = 36;
51843 for (int i = 0; i < num17; i++)
51844 {
51845 Vector2 val = (Vector2.Normalize(velocity) * new Vector2((float)width / 2f, (float)height) * 0.75f * 0.5f).RotatedBy((float)(i - (num17 / 2 - 1)) * ((float)Math.PI * 2f) / (float)num17) + base.Center;
51846 Vector2 vector15 = val - base.Center;
51847 int num18 = Dust.NewDust(val + vector15, 0, 0, 172, vector15.X * 2f, vector15.Y * 2f, 100, default(Color), 1.4f);
51848 Main.dust[num18].noGravity = true;
51849 Main.dust[num18].noLight = true;
51850 Main.dust[num18].velocity = Vector2.Normalize(vector15) * 3f;
51851 }
51852 SoundEngine.PlaySound(29, (int)center.X, (int)center.Y, 20);
51853 }
51854 ai[2] += 1f;
51855 if (ai[2] >= (float)num13)
51856 {
51857 ai[0] = 0f;
51858 ai[1] = 0f;
51859 ai[2] = 0f;
51860 netUpdate = true;
51861 }
51862 }
51863 else if (ai[0] == 0f && !player.dead)
51864 {
51865 if (ai[1] == 0f)
51866 {
51867 ai[1] = 300 * Math.Sign((center - player.Center).X);
51868 }
51869 Vector2 vector16 = Vector2.Normalize(player.Center + new Vector2(ai[1], -200f) - center - velocity) * num34;
51870 if (velocity.X < vector16.X)
51871 {
51872 velocity.X += num23;
51873 if (velocity.X < 0f && vector16.X > 0f)
51874 {
51875 velocity.X += num23;
51876 }
51877 }
51878 else if (velocity.X > vector16.X)
51879 {
51880 velocity.X -= num23;
51881 if (velocity.X > 0f && vector16.X < 0f)
51882 {
51883 velocity.X -= num23;
51884 }
51885 }
51886 if (velocity.Y < vector16.Y)
51887 {
51888 velocity.Y += num23;
51889 if (velocity.Y < 0f && vector16.Y > 0f)
51890 {
51891 velocity.Y += num23;
51892 }
51893 }
51894 else if (velocity.Y > vector16.Y)
51895 {
51896 velocity.Y -= num23;
51897 if (velocity.Y > 0f && vector16.Y < 0f)
51898 {
51899 velocity.Y -= num23;
51900 }
51901 }
51902 int num19 = Math.Sign(player.Center.X - center.X);
51903 if (num19 != 0)
51904 {
51905 if (ai[2] == 0f && num19 != direction)
51906 {
51907 rotation += (float)Math.PI;
51908 }
51909 direction = num19;
51910 if (spriteDirection != -direction)
51911 {
51912 rotation += (float)Math.PI;
51913 }
51915 }
51916 ai[2] += 1f;
51917 if (ai[2] >= (float)num12)
51918 {
51919 int num20 = 0;
51920 switch ((int)ai[3])
51921 {
51922 case 0:
51923 case 1:
51924 case 2:
51925 case 3:
51926 case 4:
51927 case 5:
51928 case 6:
51929 case 7:
51930 case 8:
51931 case 9:
51932 num20 = 1;
51933 break;
51934 case 10:
51935 ai[3] = 1f;
51936 num20 = 2;
51937 break;
51938 case 11:
51939 ai[3] = 0f;
51940 num20 = 3;
51941 break;
51942 }
51943 if (flag6 && num20 == 2)
51944 {
51945 num20 = 3;
51946 }
51947 if (flag)
51948 {
51949 num20 = 4;
51950 }
51951 switch (num20)
51952 {
51953 case 1:
51954 ai[0] = 1f;
51955 ai[1] = 0f;
51956 ai[2] = 0f;
51957 velocity = Vector2.Normalize(player.Center - center) * num37;
51958 rotation = (float)Math.Atan2(velocity.Y, velocity.X);
51959 if (num19 != 0)
51960 {
51961 direction = num19;
51962 if (spriteDirection == 1)
51963 {
51964 rotation += (float)Math.PI;
51965 }
51967 }
51968 break;
51969 case 2:
51970 ai[0] = 2f;
51971 ai[1] = 0f;
51972 ai[2] = 0f;
51973 break;
51974 case 3:
51975 ai[0] = 3f;
51976 ai[1] = 0f;
51977 ai[2] = 0f;
51978 if (flag6)
51979 {
51980 ai[2] = num3 - 40;
51981 }
51982 break;
51983 case 4:
51984 ai[0] = 4f;
51985 ai[1] = 0f;
51986 ai[2] = 0f;
51987 break;
51988 }
51989 netUpdate = true;
51990 }
51991 }
51992 else if (ai[0] == 1f)
51993 {
51994 int num21 = 7;
51995 for (int j = 0; j < num21; j++)
51996 {
51997 Vector2 val2 = (Vector2.Normalize(velocity) * new Vector2((float)(width + 50) / 2f, (float)height) * 0.75f).RotatedBy((double)(j - (num21 / 2 - 1)) * Math.PI / (double)(float)num21) + center;
51998 Vector2 vector17 = ((float)(Main.rand.NextDouble() * 3.1415927410125732) - (float)Math.PI / 2f).ToRotationVector2() * (float)Main.rand.Next(3, 8);
51999 int num22 = Dust.NewDust(val2 + vector17, 0, 0, 172, vector17.X * 2f, vector17.Y * 2f, 100, default(Color), 1.4f);
52000 Main.dust[num22].noGravity = true;
52001 Main.dust[num22].noLight = true;
52002 Dust obj = Main.dust[num22];
52003 obj.velocity /= 4f;
52004 Dust obj2 = Main.dust[num22];
52005 obj2.velocity -= velocity;
52006 }
52007 ai[2] += 1f;
52008 if (ai[2] >= (float)num36)
52009 {
52010 ai[0] = 0f;
52011 ai[1] = 0f;
52012 ai[2] = 0f;
52013 ai[3] += 2f;
52014 netUpdate = true;
52015 }
52016 }
52017 else if (ai[0] == 2f)
52018 {
52019 if (ai[1] == 0f)
52020 {
52021 ai[1] = 300 * Math.Sign((center - player.Center).X);
52022 }
52023 Vector2 vector18 = Vector2.Normalize(player.Center + new Vector2(ai[1], -200f) - center - velocity) * num2;
52024 if (velocity.X < vector18.X)
52025 {
52026 velocity.X += num40;
52027 if (velocity.X < 0f && vector18.X > 0f)
52028 {
52029 velocity.X += num40;
52030 }
52031 }
52032 else if (velocity.X > vector18.X)
52033 {
52034 velocity.X -= num40;
52035 if (velocity.X > 0f && vector18.X < 0f)
52036 {
52037 velocity.X -= num40;
52038 }
52039 }
52040 if (velocity.Y < vector18.Y)
52041 {
52042 velocity.Y += num40;
52043 if (velocity.Y < 0f && vector18.Y > 0f)
52044 {
52045 velocity.Y += num40;
52046 }
52047 }
52048 else if (velocity.Y > vector18.Y)
52049 {
52050 velocity.Y -= num40;
52051 if (velocity.Y > 0f && vector18.Y < 0f)
52052 {
52053 velocity.Y -= num40;
52054 }
52055 }
52056 if (ai[2] == 0f)
52057 {
52058 SoundEngine.PlaySound(29, (int)center.X, (int)center.Y, 20);
52059 }
52060 if (ai[2] % (float)num39 == 0f)
52061 {
52062 SoundEngine.PlaySound(4, (int)base.Center.X, (int)base.Center.Y, 19);
52063 if (Main.netMode != 1)
52064 {
52065 Vector2 vector19 = Vector2.Normalize(player.Center - center) * (float)(width + 20) / 2f + center;
52066 NewNPC(GetSpawnSourceForNPCFromNPCAI(), (int)vector19.X, (int)vector19.Y + 45, 371);
52067 }
52068 }
52069 int num24 = Math.Sign(player.Center.X - center.X);
52070 if (num24 != 0)
52071 {
52072 direction = num24;
52073 if (spriteDirection != -direction)
52074 {
52075 rotation += (float)Math.PI;
52076 }
52078 }
52079 ai[2] += 1f;
52080 if (ai[2] >= (float)num38)
52081 {
52082 ai[0] = 0f;
52083 ai[1] = 0f;
52084 ai[2] = 0f;
52085 netUpdate = true;
52086 }
52087 }
52088 else if (ai[0] == 3f)
52089 {
52090 velocity *= 0.98f;
52091 velocity.Y = MathHelper.Lerp(velocity.Y, 0f, 0.02f);
52092 if (ai[2] == (float)(num3 - 30))
52093 {
52094 SoundEngine.PlaySound(29, (int)center.X, (int)center.Y, 9);
52095 }
52096 if (Main.netMode != 1 && ai[2] == (float)(num3 - 30))
52097 {
52098 Vector2 vector20 = rotation.ToRotationVector2() * (Vector2.UnitX * (float)direction) * (float)(width + 20) / 2f + center;
52099 Projectile.NewProjectile(GetSpawnSource_ForProjectile(), vector20.X, vector20.Y, direction * 2, 8f, 385, 0, 0f, Main.myPlayer);
52100 Projectile.NewProjectile(GetSpawnSource_ForProjectile(), vector20.X, vector20.Y, -direction * 2, 8f, 385, 0, 0f, Main.myPlayer);
52101 }
52102 ai[2] += 1f;
52103 if (ai[2] >= (float)num3)
52104 {
52105 ai[0] = 0f;
52106 ai[1] = 0f;
52107 ai[2] = 0f;
52108 netUpdate = true;
52109 }
52110 }
52111 else if (ai[0] == 4f)
52112 {
52113 flag7 = false;
52114 velocity *= 0.98f;
52115 velocity.Y = MathHelper.Lerp(velocity.Y, 0f, 0.02f);
52116 if (ai[2] == (float)(num4 - 60))
52117 {
52118 SoundEngine.PlaySound(29, (int)center.X, (int)center.Y, 20);
52119 }
52120 ai[2] += 1f;
52121 if (ai[2] >= (float)num4)
52122 {
52123 ai[0] = 5f;
52124 ai[1] = 0f;
52125 ai[2] = 0f;
52126 ai[3] = 0f;
52127 netUpdate = true;
52128 }
52129 }
52130 else if (ai[0] == 5f && !player.dead)
52131 {
52132 if (ai[1] == 0f)
52133 {
52134 ai[1] = 300 * Math.Sign((center - player.Center).X);
52135 }
52136 Vector2 vector21 = Vector2.Normalize(player.Center + new Vector2(ai[1], -200f) - center - velocity) * num34;
52137 if (velocity.X < vector21.X)
52138 {
52139 velocity.X += num23;
52140 if (velocity.X < 0f && vector21.X > 0f)
52141 {
52142 velocity.X += num23;
52143 }
52144 }
52145 else if (velocity.X > vector21.X)
52146 {
52147 velocity.X -= num23;
52148 if (velocity.X > 0f && vector21.X < 0f)
52149 {
52150 velocity.X -= num23;
52151 }
52152 }
52153 if (velocity.Y < vector21.Y)
52154 {
52155 velocity.Y += num23;
52156 if (velocity.Y < 0f && vector21.Y > 0f)
52157 {
52158 velocity.Y += num23;
52159 }
52160 }
52161 else if (velocity.Y > vector21.Y)
52162 {
52163 velocity.Y -= num23;
52164 if (velocity.Y > 0f && vector21.Y < 0f)
52165 {
52166 velocity.Y -= num23;
52167 }
52168 }
52169 int num25 = Math.Sign(player.Center.X - center.X);
52170 if (num25 != 0)
52171 {
52172 if (ai[2] == 0f && num25 != direction)
52173 {
52174 rotation += (float)Math.PI;
52175 }
52176 direction = num25;
52177 if (spriteDirection != -direction)
52178 {
52179 rotation += (float)Math.PI;
52180 }
52182 }
52183 ai[2] += 1f;
52184 if (ai[2] >= (float)num12)
52185 {
52186 int num26 = 0;
52187 switch ((int)ai[3])
52188 {
52189 case 0:
52190 case 1:
52191 case 2:
52192 case 3:
52193 case 4:
52194 case 5:
52195 num26 = 1;
52196 break;
52197 case 6:
52198 ai[3] = 1f;
52199 num26 = 2;
52200 break;
52201 case 7:
52202 ai[3] = 0f;
52203 num26 = 3;
52204 break;
52205 }
52206 if (flag2)
52207 {
52208 num26 = 4;
52209 }
52210 if (flag6 && num26 == 2)
52211 {
52212 num26 = 3;
52213 }
52214 switch (num26)
52215 {
52216 case 1:
52217 ai[0] = 6f;
52218 ai[1] = 0f;
52219 ai[2] = 0f;
52220 velocity = Vector2.Normalize(player.Center - center) * num37;
52221 rotation = (float)Math.Atan2(velocity.Y, velocity.X);
52222 if (num25 != 0)
52223 {
52224 direction = num25;
52225 if (spriteDirection == 1)
52226 {
52227 rotation += (float)Math.PI;
52228 }
52230 }
52231 break;
52232 case 2:
52233 velocity = Vector2.Normalize(player.Center - center) * num10;
52234 rotation = (float)Math.Atan2(velocity.Y, velocity.X);
52235 if (num25 != 0)
52236 {
52237 direction = num25;
52238 if (spriteDirection == 1)
52239 {
52240 rotation += (float)Math.PI;
52241 }
52243 }
52244 ai[0] = 7f;
52245 ai[1] = 0f;
52246 ai[2] = 0f;
52247 break;
52248 case 3:
52249 ai[0] = 8f;
52250 ai[1] = 0f;
52251 ai[2] = 0f;
52252 break;
52253 case 4:
52254 ai[0] = 9f;
52255 ai[1] = 0f;
52256 ai[2] = 0f;
52257 break;
52258 }
52259 netUpdate = true;
52260 }
52261 }
52262 else if (ai[0] == 6f)
52263 {
52264 int num27 = 7;
52265 for (int k = 0; k < num27; k++)
52266 {
52267 Vector2 val3 = (Vector2.Normalize(velocity) * new Vector2((float)(width + 50) / 2f, (float)height) * 0.75f).RotatedBy((double)(k - (num27 / 2 - 1)) * Math.PI / (double)(float)num27) + center;
52268 Vector2 vector11 = ((float)(Main.rand.NextDouble() * 3.1415927410125732) - (float)Math.PI / 2f).ToRotationVector2() * (float)Main.rand.Next(3, 8);
52269 int num28 = Dust.NewDust(val3 + vector11, 0, 0, 172, vector11.X * 2f, vector11.Y * 2f, 100, default(Color), 1.4f);
52270 Main.dust[num28].noGravity = true;
52271 Main.dust[num28].noLight = true;
52272 Dust obj3 = Main.dust[num28];
52273 obj3.velocity /= 4f;
52274 Dust obj4 = Main.dust[num28];
52275 obj4.velocity -= velocity;
52276 }
52277 ai[2] += 1f;
52278 if (ai[2] >= (float)num36)
52279 {
52280 ai[0] = 5f;
52281 ai[1] = 0f;
52282 ai[2] = 0f;
52283 ai[3] += 2f;
52284 netUpdate = true;
52285 }
52286 }
52287 else if (ai[0] == 7f)
52288 {
52289 if (ai[2] == 0f)
52290 {
52291 SoundEngine.PlaySound(29, (int)center.X, (int)center.Y, 20);
52292 }
52293 if (ai[2] % (float)num8 == 0f)
52294 {
52295 SoundEngine.PlaySound(4, (int)base.Center.X, (int)base.Center.Y, 19);
52296 if (Main.netMode != 1)
52297 {
52298 Vector2 vector12 = Vector2.Normalize(velocity) * (float)(width + 20) / 2f + center;
52299 int num29 = NewNPC(GetSpawnSourceForNPCFromNPCAI(), (int)vector12.X, (int)vector12.Y + 45, 371);
52300 Main.npc[num29].target = target;
52301 Main.npc[num29].velocity = Vector2.Normalize(velocity).RotatedBy((float)Math.PI / 2f * (float)direction) * num9;
52302 Main.npc[num29].netUpdate = true;
52303 Main.npc[num29].ai[3] = (float)Main.rand.Next(80, 121) / 100f;
52304 }
52305 }
52306 velocity = velocity.RotatedBy((0f - num11) * (float)direction);
52307 rotation -= num11 * (float)direction;
52308 ai[2] += 1f;
52309 if (ai[2] >= (float)num7)
52310 {
52311 ai[0] = 5f;
52312 ai[1] = 0f;
52313 ai[2] = 0f;
52314 netUpdate = true;
52315 }
52316 }
52317 else if (ai[0] == 8f)
52318 {
52319 velocity *= 0.98f;
52320 velocity.Y = MathHelper.Lerp(velocity.Y, 0f, 0.02f);
52321 if (ai[2] == (float)(num3 - 30))
52322 {
52323 SoundEngine.PlaySound(29, (int)center.X, (int)center.Y, 20);
52324 }
52325 if (Main.netMode != 1 && ai[2] == (float)(num3 - 30))
52326 {
52327 Projectile.NewProjectile(GetSpawnSource_ForProjectile(), center.X, center.Y, 0f, 0f, 385, 0, 0f, Main.myPlayer, 1f, target + 1, flag6 ? 1 : 0);
52328 }
52329 ai[2] += 1f;
52330 if (ai[2] >= (float)num3)
52331 {
52332 ai[0] = 5f;
52333 ai[1] = 0f;
52334 ai[2] = 0f;
52335 netUpdate = true;
52336 }
52337 }
52338 else if (ai[0] == 9f)
52339 {
52340 flag7 = false;
52341 if (ai[2] < (float)(num5 - 90))
52342 {
52343 if (Collision.SolidCollision(position, width, height))
52344 {
52345 alpha += 15;
52346 }
52347 else
52348 {
52349 alpha -= 15;
52350 }
52351 if (alpha < 0)
52352 {
52353 alpha = 0;
52354 }
52355 if (alpha > 150)
52356 {
52357 alpha = 150;
52358 }
52359 }
52360 else if (alpha < 255)
52361 {
52362 alpha += 4;
52363 if (alpha > 255)
52364 {
52365 alpha = 255;
52366 }
52367 }
52368 velocity *= 0.98f;
52369 velocity.Y = MathHelper.Lerp(velocity.Y, 0f, 0.02f);
52370 if (ai[2] == (float)(num5 - 60))
52371 {
52372 SoundEngine.PlaySound(29, (int)center.X, (int)center.Y, 20);
52373 }
52374 ai[2] += 1f;
52375 if (ai[2] >= (float)num5)
52376 {
52377 ai[0] = 10f;
52378 ai[1] = 0f;
52379 ai[2] = 0f;
52380 ai[3] = 0f;
52381 netUpdate = true;
52382 }
52383 }
52384 else if (ai[0] == 10f && !player.dead)
52385 {
52386 chaseable = false;
52387 if (alpha < 255)
52388 {
52389 alpha += 25;
52390 if (alpha > 255)
52391 {
52392 alpha = 255;
52393 }
52394 }
52395 if (ai[1] == 0f)
52396 {
52397 ai[1] = 360 * Math.Sign((center - player.Center).X);
52398 }
52399 Vector2 desiredVelocity = Vector2.Normalize(player.Center + new Vector2(ai[1], -200f) - center - velocity) * num34;
52401 int num30 = Math.Sign(player.Center.X - center.X);
52402 if (num30 != 0)
52403 {
52404 if (ai[2] == 0f && num30 != direction)
52405 {
52406 rotation += (float)Math.PI;
52407 for (int l = 0; l < oldPos.Length; l++)
52408 {
52409 oldPos[l] = Vector2.Zero;
52410 }
52411 }
52412 direction = num30;
52413 if (spriteDirection != -direction)
52414 {
52415 rotation += (float)Math.PI;
52416 }
52418 }
52419 ai[2] += 1f;
52420 if (ai[2] >= (float)num12)
52421 {
52422 int num31 = 0;
52423 switch ((int)ai[3])
52424 {
52425 case 0:
52426 case 2:
52427 case 3:
52428 case 5:
52429 case 6:
52430 case 7:
52431 num31 = 1;
52432 break;
52433 case 1:
52434 case 4:
52435 case 8:
52436 num31 = 2;
52437 break;
52438 }
52439 switch (num31)
52440 {
52441 case 1:
52442 ai[0] = 11f;
52443 ai[1] = 0f;
52444 ai[2] = 0f;
52445 velocity = Vector2.Normalize(player.Center - center) * num37;
52446 rotation = (float)Math.Atan2(velocity.Y, velocity.X);
52447 if (num30 != 0)
52448 {
52449 direction = num30;
52450 if (spriteDirection == 1)
52451 {
52452 rotation += (float)Math.PI;
52453 }
52455 }
52456 break;
52457 case 2:
52458 ai[0] = 12f;
52459 ai[1] = 0f;
52460 ai[2] = 0f;
52461 break;
52462 case 3:
52463 ai[0] = 13f;
52464 ai[1] = 0f;
52465 ai[2] = 0f;
52466 break;
52467 }
52468 netUpdate = true;
52469 }
52470 }
52471 else if (ai[0] == 11f)
52472 {
52473 chaseable = true;
52474 alpha -= 25;
52475 if (alpha < 0)
52476 {
52477 alpha = 0;
52478 }
52479 int num32 = 7;
52480 for (int m = 0; m < num32; m++)
52481 {
52482 Vector2 val4 = (Vector2.Normalize(velocity) * new Vector2((float)(width + 50) / 2f, (float)height) * 0.75f).RotatedBy((double)(m - (num32 / 2 - 1)) * Math.PI / (double)(float)num32) + center;
52483 Vector2 vector13 = ((float)(Main.rand.NextDouble() * 3.1415927410125732) - (float)Math.PI / 2f).ToRotationVector2() * (float)Main.rand.Next(3, 8);
52484 int num33 = Dust.NewDust(val4 + vector13, 0, 0, 172, vector13.X * 2f, vector13.Y * 2f, 100, default(Color), 1.4f);
52485 Main.dust[num33].noGravity = true;
52486 Main.dust[num33].noLight = true;
52487 Dust obj5 = Main.dust[num33];
52488 obj5.velocity /= 4f;
52489 Dust obj6 = Main.dust[num33];
52490 obj6.velocity -= velocity;
52491 }
52492 ai[2] += 1f;
52493 if (ai[2] >= (float)num36)
52494 {
52495 ai[0] = 10f;
52496 ai[1] = 0f;
52497 ai[2] = 0f;
52498 ai[3] += 1f;
52499 netUpdate = true;
52500 }
52501 }
52502 else if (ai[0] == 12f)
52503 {
52504 flag7 = false;
52505 chaseable = false;
52506 if (alpha < 255)
52507 {
52508 alpha += 17;
52509 if (alpha > 255)
52510 {
52511 alpha = 255;
52512 }
52513 }
52514 velocity *= 0.98f;
52515 velocity.Y = MathHelper.Lerp(velocity.Y, 0f, 0.02f);
52516 if (ai[2] == (float)(num6 / 2))
52517 {
52518 SoundEngine.PlaySound(29, (int)center.X, (int)center.Y, 20);
52519 }
52520 if (Main.netMode != 1 && ai[2] == (float)(num6 / 2))
52521 {
52522 if (ai[1] == 0f)
52523 {
52524 ai[1] = 300 * Math.Sign((center - player.Center).X);
52525 }
52526 Vector2 vector14 = player.Center + new Vector2(0f - ai[1], -200f);
52527 Vector2 val6 = (base.Center = vector14);
52528 center = val6;
52529 int num35 = Math.Sign(player.Center.X - center.X);
52530 if (num35 != 0)
52531 {
52532 if (ai[2] == 0f && num35 != direction)
52533 {
52534 rotation += (float)Math.PI;
52535 for (int n = 0; n < oldPos.Length; n++)
52536 {
52537 oldPos[n] = Vector2.Zero;
52538 }
52539 }
52540 direction = num35;
52541 if (spriteDirection != -direction)
52542 {
52543 rotation += (float)Math.PI;
52544 }
52546 }
52547 }
52548 ai[2] += 1f;
52549 if (ai[2] >= (float)num6)
52550 {
52551 ai[0] = 10f;
52552 ai[1] = 0f;
52553 ai[2] = 0f;
52554 ai[3] += 1f;
52555 if (ai[3] >= 9f)
52556 {
52557 ai[3] = 0f;
52558 }
52559 netUpdate = true;
52560 }
52561 }
52562 else if (ai[0] == 13f)
52563 {
52564 if (ai[2] == 0f)
52565 {
52566 SoundEngine.PlaySound(29, (int)center.X, (int)center.Y, 20);
52567 }
52568 velocity = velocity.RotatedBy((0f - num11) * (float)direction);
52569 rotation -= num11 * (float)direction;
52570 ai[2] += 1f;
52571 if (ai[2] >= (float)num7)
52572 {
52573 ai[0] = 10f;
52574 ai[1] = 0f;
52575 ai[2] = 0f;
52576 ai[3] += 1f;
52577 netUpdate = true;
52578 }
52579 }
52581 }
static SlotId PlaySound(in SoundStyle? style, Vector2? position=null, SoundUpdateCallback? updateCallback=null)
Attempts to play a sound style with the provided sound style (if it's not null), and returns a valid ...
Vector2 velocity
The velocity of this Entity in world coordinates per tick.
Definition Entity.cs:33
Vector2 position
The position of this Entity in world coordinates.
Definition Entity.cs:28
int width
The width of this Entity's hitbox, in pixels.
Definition Entity.cs:46
int height
The height of this Entity's hitbox, in pixels.
Definition Entity.cs:51
int defense
How resistant to damage this NPC is. The List of NPCs wiki pagecan be useful for finding appropriat...
Definition NPC.cs:1033
int damage
The amount of contact damage this NPC deals. Changing this WILL NOT change the amount of damage done...
Definition NPC.cs:1027
float[] localAI
Acts like F:Terraria.NPC.ai, but does not sync to the server. Many vanilla T:Terraria....
Definition NPC.cs:1003
int spriteDirection
Definition NPC.cs:1143
bool chaseable
Definition NPC.cs:702
void EncourageDespawn(int despawnTime)
Definition NPC.cs:2199
int lifeMax
The maximum life of this NPC.
Definition NPC.cs:1077
void TargetClosest(bool faceTarget=true)
Definition NPC.cs:83247
int defDefense
Stores the value of F:Terraria.NPC.defense at the end of SetDefaults. Useful for scaling defense in A...
Definition NPC.cs:1043
float[] ai
An array with 4 slots used for any sort of data storage, which is occasionally synced from the server...
Definition NPC.cs:997
bool dontTakeDamage
Definition NPC.cs:1160
int alpha
0 is opaque, and 255 is transparent. Note that this is the opposite of how alpha is typically express...
Definition NPC.cs:1092
float rotation
Definition NPC.cs:1116
IEntitySource GetSpawnSourceForNPCFromNPCAI()
Definition NPC.cs:107568
static int NewNPC(IEntitySource source, int X, int Y, int Type, int Start=0, float ai0=0f, float ai1=0f, float ai2=0f, float ai3=0f, int Target=255)
Spawns an NPC into the game world with the given type. This method should not be called on multipla...
Definition NPC.cs:91239
int defDamage
Stores the value of F:Terraria.NPC.damage at the end of SetDefaults. Useful for scaling damage in AI ...
Definition NPC.cs:1038
int life
The current life of the NPC. Automatically set to the value of F:Terraria.NPC.lifeMax at the end of S...
Definition NPC.cs:1072
IEntitySource GetSpawnSource_ForProjectile()
Definition NPC.cs:107558
void SimpleFlyMovement(Vector2 desiredVelocity, float moveSpeed)
Definition NPC.cs:82824
bool netUpdate
Definition NPC.cs:1130
Vector2[] oldPos
Definition NPC.cs:580
int target
Definition NPC.cs:1019

References Terraria.Entity.active, Terraria.NPC.ai, Terraria.NPC.alpha, Terraria.Entity.Center, Terraria.NPC.chaseable, Terraria.NPC.damage, Terraria.Player.dead, Terraria.NPC.defDamage, Terraria.NPC.defDefense, Terraria.NPC.defense, Terraria.Entity.direction, Terraria.NPC.dontTakeDamage, Terraria.Main.dust, Terraria.NPC.EncourageDespawn(), Terraria.Main.expertMode, Terraria.NPC.GetSpawnSource_ForProjectile(), Terraria.NPC.GetSpawnSourceForNPCFromNPCAI(), Terraria.Entity.height, Terraria.NPC.life, Terraria.NPC.lifeMax, Terraria.NPC.localAI, Terraria.Main.myPlayer, Terraria.Main.netMode, Terraria.NPC.netUpdate, Terraria.Dust.NewDust(), Terraria.NPC.NewNPC(), Terraria.Projectile.NewProjectile(), Terraria.Main.npc, Terraria.NPC.oldPos, Terraria.Main.player, Terraria.Audio.SoundEngine.PlaySound(), Terraria.Entity.position, Terraria.Main.rand, Terraria.NPC.rotation, Terraria.NPC.SimpleFlyMovement(), Terraria.Collision.SolidCollision(), Terraria.NPC.spriteDirection, Terraria.NPC.target, Terraria.NPC.TargetClosest(), Terraria.Entity.velocity, Terraria.Entity.width, and Terraria.Main.worldSurface.

Referenced by Terraria.NPC.VanillaAI_Inner().

+ Here is the call graph for this function:
+ Here is the caller graph for this function: