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

◆ BoringSetup()

void Terraria.DataStructures.PlayerDrawSet.BoringSetup ( Player player,
List< DrawData > drawData,
List< int > dust,
List< int > gore,
Vector2 drawPosition,
float shadowOpacity,
float rotation,
Vector2 rotationOrigin )
inline

Definition at line 251 of file PlayerDrawSet.cs.

252 {
254 DustCache = dust;
255 GoreCache = gore;
256 drawPlayer = player;
258 this.rotation = rotation;
259 this.rotationOrigin = rotationOrigin;
260 heldItem = player.lastVisualizedSelectedItem;
265 {
266 cLegs = cBody;
267 }
292 isSitting = drawPlayer.sitting.isSitting;
293 seatYOffset = 0f;
294 sittingIndex = 0;
296 drawPlayer.sitting.GetSittingOffsetInfo(drawPlayer, out posOffset, out seatYOffset);
297 if (isSitting)
298 {
299 sittingIndex = drawPlayer.sitting.sittingIndex;
300 }
302 {
303 isSitting = true;
304 }
306 {
307 isSitting = true;
308 }
310 {
311 isSitting = true;
312 }
313 isSleeping = drawPlayer.sleeping.isSleeping;
316 if (isSitting)
317 {
320 }
321 else
322 {
323 sittingIndex = -1;
324 }
325 if (isSleeping)
326 {
327 this.rotationOrigin = player.Size / 2f;
328 drawPlayer.sleeping.GetSleepingOffsetInfo(drawPlayer, out var posOffset2);
330 }
331 weaponDrawOrder = WeaponDrawOrder.BehindFrontArm;
332 if (heldItem.type == 4952)
333 {
334 weaponDrawOrder = WeaponDrawOrder.BehindBackArm;
335 }
336 if (GolfHelper.IsPlayerHoldingClub(player) && player.itemAnimation > player.itemAnimationMax)
337 {
338 weaponDrawOrder = WeaponDrawOrder.OverFrontArm;
339 }
341 ItemLocation = Position + (drawPlayer.itemLocation - drawPlayer.position);
342 armorAdjust = 0;
343 missingHand = false;
344 missingArm = false;
345 heldProjOverHand = false;
347 if (drawPlayer.body == 77 || drawPlayer.body == 103 || drawPlayer.body == 41 || drawPlayer.body == 100 || drawPlayer.body == 10 || drawPlayer.body == 11 || drawPlayer.body == 12 || drawPlayer.body == 13 || drawPlayer.body == 14 || drawPlayer.body == 43 || drawPlayer.body == 15 || drawPlayer.body == 16 || drawPlayer.body == 20 || drawPlayer.body == 39 || drawPlayer.body == 50 || drawPlayer.body == 38 || drawPlayer.body == 40 || drawPlayer.body == 57 || drawPlayer.body == 44 || drawPlayer.body == 52 || drawPlayer.body == 53 || drawPlayer.body == 68 || drawPlayer.body == 81 || drawPlayer.body == 85 || drawPlayer.body == 88 || drawPlayer.body == 98 || drawPlayer.body == 86 || drawPlayer.body == 87 || drawPlayer.body == 99 || drawPlayer.body == 165 || drawPlayer.body == 166 || drawPlayer.body == 167 || drawPlayer.body == 171 || drawPlayer.body == 45 || drawPlayer.body == 168 || drawPlayer.body == 169 || drawPlayer.body == 42 || drawPlayer.body == 180 || drawPlayer.body == 181 || drawPlayer.body == 183 || drawPlayer.body == 186 || drawPlayer.body == 187 || drawPlayer.body == 188 || drawPlayer.body == 64 || drawPlayer.body == 189 || drawPlayer.body == 191 || drawPlayer.body == 192 || drawPlayer.body == 198 || drawPlayer.body == 199 || drawPlayer.body == 202 || drawPlayer.body == 203 || drawPlayer.body == 58 || drawPlayer.body == 59 || drawPlayer.body == 60 || drawPlayer.body == 61 || drawPlayer.body == 62 || drawPlayer.body == 63 || drawPlayer.body == 36 || drawPlayer.body == 104 || drawPlayer.body == 184 || drawPlayer.body == 74 || drawPlayer.body == 78 || drawPlayer.body == 185 || drawPlayer.body == 196 || drawPlayer.body == 197 || drawPlayer.body == 182 || drawPlayer.body == 87 || drawPlayer.body == 76 || drawPlayer.body == 209 || drawPlayer.body == 168 || drawPlayer.body == 210 || drawPlayer.body == 211 || drawPlayer.body == 213)
348 {
349 missingHand = true;
350 }
351 int body = drawPlayer.body;
352 if (body == 83)
353 {
354 missingArm = false;
355 }
356 else
357 {
358 missingArm = true;
359 }
360 if (drawPlayer.heldProj >= 0 && shadow == 0f)
361 {
362 body = Main.projectile[drawPlayer.heldProj].type;
363 if (body == 460 || body == 535 || body == 600)
364 {
365 heldProjOverHand = true;
366 }
367 }
369 hairDyePacked = PlayerDrawHelper.PackShader(drawPlayer.hairDye, PlayerDrawHelper.ShaderConfiguration.HairShader);
370 if (drawPlayer.head == 0 && drawPlayer.hairDye == 0)
371 {
372 hairDyePacked = PlayerDrawHelper.PackShader(1, PlayerDrawHelper.ShaderConfiguration.HairShader);
373 }
374 skinDyePacked = player.skinDyePacked;
376 {
378 }
380 {
381 Point point = Center.ToTileCoordinates();
382 if (Main.InSmartCursorHighlightArea(point.X, point.Y, out var actuallySelected))
383 {
384 Color color = Lighting.GetColor(point.X, point.Y);
385 int num = (color.R + color.G + color.B) / 3;
386 if (num > 10)
387 {
389 }
390 }
391 }
393 Position.Y -= mountOffSet;
395 {
396 Mount.currentShader = (drawPlayer.mount.Cart ? drawPlayer.cMinecart : drawPlayer.cMount);
397 }
398 else
399 {
400 Mount.currentShader = 0;
401 }
403 itemEffect = SpriteEffects.FlipHorizontally;
405 colorEyeWhites = drawPlayer.GetImmuneAlpha(Lighting.GetColorClamped((int)((double)Position.X + (double)drawPlayer.width * 0.5) / 16, (int)(((double)Position.Y + (double)drawPlayer.height * 0.25) / 16.0), Color.White), shadow);
406 colorEyes = drawPlayer.GetImmuneAlpha(Lighting.GetColorClamped((int)((double)Position.X + (double)drawPlayer.width * 0.5) / 16, (int)(((double)Position.Y + (double)drawPlayer.height * 0.25) / 16.0), drawPlayer.eyeColor), shadow);
407 colorHead = drawPlayer.GetImmuneAlpha(Lighting.GetColorClamped((int)((double)Position.X + (double)drawPlayer.width * 0.5) / 16, (int)(((double)Position.Y + (double)drawPlayer.height * 0.25) / 16.0), drawPlayer.skinColor), shadow);
408 colorBodySkin = drawPlayer.GetImmuneAlpha(Lighting.GetColorClamped((int)((double)Position.X + (double)drawPlayer.width * 0.5) / 16, (int)(((double)Position.Y + (double)drawPlayer.height * 0.5) / 16.0), drawPlayer.skinColor), shadow);
409 colorLegs = drawPlayer.GetImmuneAlpha(Lighting.GetColorClamped((int)((double)Position.X + (double)drawPlayer.width * 0.5) / 16, (int)(((double)Position.Y + (double)drawPlayer.height * 0.75) / 16.0), drawPlayer.skinColor), shadow);
410 colorShirt = drawPlayer.GetImmuneAlphaPure(Lighting.GetColorClamped((int)((double)Position.X + (double)drawPlayer.width * 0.5) / 16, (int)(((double)Position.Y + (double)drawPlayer.height * 0.5) / 16.0), drawPlayer.shirtColor), shadow);
411 colorUnderShirt = drawPlayer.GetImmuneAlphaPure(Lighting.GetColorClamped((int)((double)Position.X + (double)drawPlayer.width * 0.5) / 16, (int)(((double)Position.Y + (double)drawPlayer.height * 0.5) / 16.0), drawPlayer.underShirtColor), shadow);
412 colorPants = drawPlayer.GetImmuneAlphaPure(Lighting.GetColorClamped((int)((double)Position.X + (double)drawPlayer.width * 0.5) / 16, (int)(((double)Position.Y + (double)drawPlayer.height * 0.75) / 16.0), drawPlayer.pantsColor), shadow);
413 colorShoes = drawPlayer.GetImmuneAlphaPure(Lighting.GetColorClamped((int)((double)Position.X + (double)drawPlayer.width * 0.5) / 16, (int)(((double)Position.Y + (double)drawPlayer.height * 0.75) / 16.0), drawPlayer.shoeColor), shadow);
414 colorArmorHead = drawPlayer.GetImmuneAlphaPure(Lighting.GetColorClamped((int)((double)Position.X + (double)drawPlayer.width * 0.5) / 16, (int)((double)Position.Y + (double)drawPlayer.height * 0.25) / 16, Color.White), shadow);
415 colorArmorBody = drawPlayer.GetImmuneAlphaPure(Lighting.GetColorClamped((int)((double)Position.X + (double)drawPlayer.width * 0.5) / 16, (int)((double)Position.Y + (double)drawPlayer.height * 0.5) / 16, Color.White), shadow);
417 colorArmorLegs = drawPlayer.GetImmuneAlphaPure(Lighting.GetColorClamped((int)((double)Position.X + (double)drawPlayer.width * 0.5) / 16, (int)((double)Position.Y + (double)drawPlayer.height * 0.75) / 16, Color.White), shadow);
418 floatingTubeColor = drawPlayer.GetImmuneAlphaPure(Lighting.GetColorClamped((int)((double)Position.X + (double)drawPlayer.width * 0.5) / 16, (int)((double)Position.Y + (double)drawPlayer.height * 0.75) / 16, Color.White), shadow);
419 colorElectricity = new Color(255, 255, 255, 100);
421 int num2 = 0;
422 int num3 = 0;
423 int num4 = 0;
424 int num5 = 0;
425 headGlowMask = -1;
426 bodyGlowMask = -1;
427 armGlowMask = -1;
428 legsGlowMask = -1;
433 switch (drawPlayer.head)
434 {
435 case 169:
436 num2++;
437 break;
438 case 170:
439 num3++;
440 break;
441 case 171:
442 num4++;
443 break;
444 case 189:
445 num5++;
446 break;
447 }
448 switch (drawPlayer.body)
449 {
450 case 175:
451 num2++;
452 break;
453 case 176:
454 num3++;
455 break;
456 case 177:
457 num4++;
458 break;
459 case 190:
460 num5++;
461 break;
462 }
463 switch (drawPlayer.legs)
464 {
465 case 110:
466 num2++;
467 break;
468 case 111:
469 num3++;
470 break;
471 case 112:
472 num4++;
473 break;
474 case 130:
475 num5++;
476 break;
477 }
478 num2 = 3;
479 num3 = 3;
480 num4 = 3;
481 num5 = 3;
483 ArkhalisColor.A = 180;
484 if (drawPlayer.head == 169)
485 {
486 headGlowMask = 15;
487 byte b = (byte)(62.5f * (float)(1 + num2));
488 headGlowColor = new Color(b, b, b, 0);
489 }
490 else if (drawPlayer.head == 216)
491 {
492 headGlowMask = 256;
493 byte b2 = 127;
494 headGlowColor = new Color(b2, b2, b2, 0);
495 }
496 else if (drawPlayer.head == 210)
497 {
498 headGlowMask = 242;
499 byte b3 = 127;
500 headGlowColor = new Color(b3, b3, b3, 0);
501 }
502 else if (drawPlayer.head == 214)
503 {
504 headGlowMask = 245;
506 }
507 else if (drawPlayer.head == 240)
508 {
509 headGlowMask = 273;
510 headGlowColor = new Color(230, 230, 230, 60);
511 }
512 else if (drawPlayer.head == 267)
513 {
514 headGlowMask = 301;
515 headGlowColor = new Color(230, 230, 230, 60);
516 }
517 else if (drawPlayer.head == 268)
518 {
519 headGlowMask = 302;
520 float num6 = (float)(int)Main.mouseTextColor / 255f;
521 num6 *= num6;
522 headGlowColor = new Color(255, 255, 255) * num6;
523 }
524 else if (drawPlayer.head == 269)
525 {
526 headGlowMask = 304;
527 headGlowColor = new Color(200, 200, 200);
528 }
529 else if (drawPlayer.head == 270)
530 {
531 headGlowMask = 305;
532 headGlowColor = new Color(200, 200, 200, 150);
533 }
534 else if (drawPlayer.head == 271)
535 {
536 headGlowMask = 309;
538 }
539 else if (drawPlayer.head == 170)
540 {
541 headGlowMask = 16;
542 byte b4 = (byte)(62.5f * (float)(1 + num3));
543 headGlowColor = new Color(b4, b4, b4, 0);
544 }
545 else if (drawPlayer.head == 189)
546 {
547 headGlowMask = 184;
548 byte b5 = (byte)(62.5f * (float)(1 + num5));
549 headGlowColor = new Color(b5, b5, b5, 0);
551 }
552 else if (drawPlayer.head == 171)
553 {
554 byte b6 = (byte)(62.5f * (float)(1 + num4));
556 }
557 else if (drawPlayer.head == 175)
558 {
559 headGlowMask = 41;
560 headGlowColor = new Color(255, 255, 255, 0);
561 }
562 else if (drawPlayer.head == 193)
563 {
564 headGlowMask = 209;
565 headGlowColor = new Color(255, 255, 255, 127);
566 }
567 else if (drawPlayer.head == 109)
568 {
569 headGlowMask = 208;
570 headGlowColor = new Color(255, 255, 255, 0);
571 }
572 else if (drawPlayer.head == 178)
573 {
574 headGlowMask = 96;
575 headGlowColor = new Color(255, 255, 255, 0);
576 }
577 if (drawPlayer.body == 175)
578 {
579 if (drawPlayer.Male)
580 {
581 bodyGlowMask = 13;
582 }
583 else
584 {
585 bodyGlowMask = 18;
586 }
587 byte b7 = (byte)(62.5f * (float)(1 + num2));
588 bodyGlowColor = new Color(b7, b7, b7, 0);
589 }
590 else if (drawPlayer.body == 208)
591 {
592 if (drawPlayer.Male)
593 {
594 bodyGlowMask = 246;
595 }
596 else
597 {
598 bodyGlowMask = 247;
599 }
600 armGlowMask = 248;
603 }
604 else if (drawPlayer.body == 227)
605 {
606 bodyGlowColor = new Color(230, 230, 230, 60);
607 armGlowColor = new Color(230, 230, 230, 60);
608 }
609 else if (drawPlayer.body == 237)
610 {
611 float num7 = (float)(int)Main.mouseTextColor / 255f;
612 num7 *= num7;
613 bodyGlowColor = new Color(255, 255, 255) * num7;
614 }
615 else if (drawPlayer.body == 238)
616 {
617 bodyGlowColor = new Color(255, 255, 255);
618 armGlowColor = new Color(255, 255, 255);
619 }
620 else if (drawPlayer.body == 239)
621 {
622 bodyGlowColor = new Color(200, 200, 200, 150);
623 armGlowColor = new Color(200, 200, 200, 150);
624 }
625 else if (drawPlayer.body == 190)
626 {
627 if (drawPlayer.Male)
628 {
629 bodyGlowMask = 185;
630 }
631 else
632 {
633 bodyGlowMask = 186;
634 }
635 armGlowMask = 188;
636 byte b8 = (byte)(62.5f * (float)(1 + num5));
637 bodyGlowColor = new Color(b8, b8, b8, 0);
638 armGlowColor = new Color(b8, b8, b8, 0);
640 }
641 else if (drawPlayer.body == 176)
642 {
643 if (drawPlayer.Male)
644 {
645 bodyGlowMask = 14;
646 }
647 else
648 {
649 bodyGlowMask = 19;
650 }
651 armGlowMask = 12;
652 byte b9 = (byte)(62.5f * (float)(1 + num3));
653 bodyGlowColor = new Color(b9, b9, b9, 0);
654 armGlowColor = new Color(b9, b9, b9, 0);
655 }
656 else if (drawPlayer.body == 194)
657 {
658 bodyGlowMask = 210;
659 armGlowMask = 211;
660 bodyGlowColor = new Color(255, 255, 255, 127);
661 armGlowColor = new Color(255, 255, 255, 127);
662 }
663 else if (drawPlayer.body == 177)
664 {
665 byte b10 = (byte)(62.5f * (float)(1 + num4));
667 }
668 else if (drawPlayer.body == 179)
669 {
670 if (drawPlayer.Male)
671 {
672 bodyGlowMask = 42;
673 }
674 else
675 {
676 bodyGlowMask = 43;
677 }
678 armGlowMask = 44;
679 bodyGlowColor = new Color(255, 255, 255, 0);
680 armGlowColor = new Color(255, 255, 255, 0);
681 }
682 if (drawPlayer.legs == 111)
683 {
684 legsGlowMask = 17;
685 byte b11 = (byte)(62.5f * (float)(1 + num3));
686 legsGlowColor = new Color(b11, b11, b11, 0);
687 }
688 else if (drawPlayer.legs == 157)
689 {
690 legsGlowMask = 249;
692 }
693 else if (drawPlayer.legs == 158)
694 {
695 legsGlowMask = 250;
697 }
698 else if (drawPlayer.legs == 210)
699 {
700 legsGlowMask = 274;
701 legsGlowColor = new Color(230, 230, 230, 60);
702 }
703 else if (drawPlayer.legs == 222)
704 {
705 legsGlowMask = 303;
706 float num8 = (float)(int)Main.mouseTextColor / 255f;
707 num8 *= num8;
708 legsGlowColor = new Color(255, 255, 255) * num8;
709 }
710 else if (drawPlayer.legs == 225)
711 {
712 legsGlowMask = 306;
713 legsGlowColor = new Color(200, 200, 200, 150);
714 }
715 else if (drawPlayer.legs == 226)
716 {
717 legsGlowMask = 307;
718 legsGlowColor = new Color(200, 200, 200, 150);
719 }
720 else if (drawPlayer.legs == 110)
721 {
722 legsGlowMask = 199;
723 byte b12 = (byte)(62.5f * (float)(1 + num2));
724 legsGlowColor = new Color(b12, b12, b12, 0);
725 }
726 else if (drawPlayer.legs == 112)
727 {
728 byte b13 = (byte)(62.5f * (float)(1 + num4));
730 }
731 else if (drawPlayer.legs == 134)
732 {
733 legsGlowMask = 212;
734 legsGlowColor = new Color(255, 255, 255, 127);
735 }
736 else if (drawPlayer.legs == 130)
737 {
738 byte b14 = (byte)(127 * (1 + num5));
739 legsGlowMask = 187;
740 legsGlowColor = new Color(b14, b14, b14, 0);
742 }
743 float alphaReduction = shadow;
749 {
750 Main.instance.LoadArmorHead(drawPlayer.head);
752 if (num9 >= 0)
753 {
754 Main.instance.LoadArmorHead(num9);
755 }
756 }
758 {
759 Main.instance.LoadArmorBody(drawPlayer.body);
760 }
762 {
763 Main.instance.LoadArmorLegs(drawPlayer.legs);
764 }
766 {
767 Main.instance.LoadAccHandsOn(drawPlayer.handon);
768 }
770 {
771 Main.instance.LoadAccHandsOff(drawPlayer.handoff);
772 }
774 {
775 Main.instance.LoadAccBack(drawPlayer.back);
776 }
778 {
779 Main.instance.LoadAccFront(drawPlayer.front);
780 }
782 {
783 Main.instance.LoadAccShoes(drawPlayer.shoe);
784 }
786 {
787 Main.instance.LoadAccWaist(drawPlayer.waist);
788 }
790 {
791 Main.instance.LoadAccShield(drawPlayer.shield);
792 }
794 {
795 Main.instance.LoadAccNeck(drawPlayer.neck);
796 }
798 {
799 Main.instance.LoadAccFace(drawPlayer.face);
800 }
802 {
803 Main.instance.LoadAccBalloon(drawPlayer.balloon);
804 }
806 {
807 Main.instance.LoadAccBack(drawPlayer.backpack);
808 }
810 {
811 Main.instance.LoadAccBack(drawPlayer.tail);
812 }
814 {
815 Main.instance.LoadAccFace(drawPlayer.faceHead);
816 }
818 {
819 Main.instance.LoadAccFace(drawPlayer.faceFlower);
820 }
822 {
823 Main.instance.LoadAccBalloon(drawPlayer.balloonFront);
824 }
826 {
827 Main.instance.LoadAccBeard(drawPlayer.beard);
828 }
829 Main.instance.LoadHair(drawPlayer.hair);
831 {
832 Main.instance.LoadProjectile(238);
833 }
835 {
842 }
844 {
846 {
855 colorDisplayDollSkin = PlayerDrawHelper.DISPLAY_DOLL_DEFAULT_SKIN_COLOR;
856 }
857 else
858 {
859 colorDisplayDollSkin = drawPlayer.GetImmuneAlphaPure(Lighting.GetColorClamped((int)((double)Position.X + (double)drawPlayer.width * 0.5) / 16, (int)((double)Position.Y + (double)drawPlayer.height * 0.5) / 16, PlayerDrawHelper.DISPLAY_DOLL_DEFAULT_SKIN_COLOR), shadow);
860 }
861 }
863 {
864 if ((drawPlayer.head == 78 || drawPlayer.head == 79 || drawPlayer.head == 80) && drawPlayer.body == 51 && drawPlayer.legs == 47)
865 {
866 float num10 = (float)(int)Main.mouseTextColor / 200f - 0.3f;
867 if (shadow != 0f)
868 {
869 num10 = 0f;
870 }
871 colorArmorHead.R = (byte)((float)(int)colorArmorHead.R * num10);
872 colorArmorHead.G = (byte)((float)(int)colorArmorHead.G * num10);
873 colorArmorHead.B = (byte)((float)(int)colorArmorHead.B * num10);
874 colorArmorBody.R = (byte)((float)(int)colorArmorBody.R * num10);
875 colorArmorBody.G = (byte)((float)(int)colorArmorBody.G * num10);
876 colorArmorBody.B = (byte)((float)(int)colorArmorBody.B * num10);
877 colorArmorLegs.R = (byte)((float)(int)colorArmorLegs.R * num10);
878 colorArmorLegs.G = (byte)((float)(int)colorArmorLegs.G * num10);
879 colorArmorLegs.B = (byte)((float)(int)colorArmorLegs.B * num10);
880 }
881 if (drawPlayer.head == 193 && drawPlayer.body == 194 && drawPlayer.legs == 134)
882 {
883 float num11 = 0.6f - drawPlayer.ghostFade * 0.3f;
884 if (shadow != 0f)
885 {
886 num11 = 0f;
887 }
888 colorArmorHead.R = (byte)((float)(int)colorArmorHead.R * num11);
889 colorArmorHead.G = (byte)((float)(int)colorArmorHead.G * num11);
890 colorArmorHead.B = (byte)((float)(int)colorArmorHead.B * num11);
891 colorArmorBody.R = (byte)((float)(int)colorArmorBody.R * num11);
892 colorArmorBody.G = (byte)((float)(int)colorArmorBody.G * num11);
893 colorArmorBody.B = (byte)((float)(int)colorArmorBody.B * num11);
894 colorArmorLegs.R = (byte)((float)(int)colorArmorLegs.R * num11);
895 colorArmorLegs.G = (byte)((float)(int)colorArmorLegs.G * num11);
896 colorArmorLegs.B = (byte)((float)(int)colorArmorLegs.B * num11);
897 }
898 if (shadow > 0f)
899 {
906 }
907 }
908 float num12 = 1f;
909 float num13 = 1f;
910 float num14 = 1f;
911 float num15 = 1f;
912 if (drawPlayer.honey && Main.rand.Next(30) == 0 && shadow == 0f)
913 {
914 Dust dust2 = Dust.NewDustDirect(Position, drawPlayer.width, drawPlayer.height, 152, 0f, 0f, 150);
915 dust2.velocity.Y = 0.3f;
916 dust2.velocity.X *= 0.1f;
917 dust2.scale += (float)Main.rand.Next(3, 4) * 0.1f;
918 dust2.alpha = 100;
919 dust2.noGravity = true;
920 dust2.velocity += drawPlayer.velocity * 0.1f;
921 DustCache.Add(dust2.dustIndex);
922 }
923 if (drawPlayer.dryadWard && drawPlayer.velocity.X != 0f && Main.rand.Next(4) == 0)
924 {
925 Dust dust3 = Dust.NewDustDirect(new Vector2(drawPlayer.position.X - 2f, drawPlayer.position.Y + (float)drawPlayer.height - 2f), drawPlayer.width + 4, 4, 163, 0f, 0f, 100, default(Color), 1.5f);
926 dust3.noGravity = true;
927 dust3.noLight = true;
928 dust3.velocity *= 0f;
929 DustCache.Add(dust3.dustIndex);
930 }
932 {
933 if (Main.rand.Next(50) == 0 && shadow == 0f)
934 {
935 Dust dust4 = Dust.NewDustDirect(Position, drawPlayer.width, drawPlayer.height, 46, 0f, 0f, 150, default(Color), 0.2f);
936 dust4.noGravity = true;
937 dust4.fadeIn = 1.9f;
938 DustCache.Add(dust4.dustIndex);
939 }
940 num12 *= 0.65f;
941 num14 *= 0.75f;
942 }
943 if (drawPlayer.venom)
944 {
945 if (Main.rand.Next(10) == 0 && shadow == 0f)
946 {
947 Dust dust5 = Dust.NewDustDirect(Position, drawPlayer.width, drawPlayer.height, 171, 0f, 0f, 100, default(Color), 0.5f);
948 dust5.noGravity = true;
949 dust5.fadeIn = 1.5f;
950 DustCache.Add(dust5.dustIndex);
951 }
952 num13 *= 0.45f;
953 num12 *= 0.75f;
954 }
955 if (drawPlayer.onFire)
956 {
957 if (Main.rand.Next(4) == 0 && shadow == 0f)
958 {
959 Dust dust6 = Dust.NewDustDirect(new Vector2(Position.X - 2f, Position.Y - 2f), drawPlayer.width + 4, drawPlayer.height + 4, 6, drawPlayer.velocity.X * 0.4f, drawPlayer.velocity.Y * 0.4f, 100, default(Color), 3f);
960 dust6.noGravity = true;
961 dust6.velocity *= 1.8f;
962 dust6.velocity.Y -= 0.5f;
963 DustCache.Add(dust6.dustIndex);
964 }
965 num14 *= 0.6f;
966 num13 *= 0.7f;
967 }
969 {
970 if (Main.rand.Next(4) == 0 && shadow == 0f)
971 {
972 Dust dust7 = Dust.NewDustDirect(new Vector2(Position.X - 2f, Position.Y - 2f), drawPlayer.width + 4, drawPlayer.height + 4, 6, drawPlayer.velocity.X * 0.4f, drawPlayer.velocity.Y * 0.4f, 100, default(Color), 3f);
973 dust7.noGravity = true;
974 dust7.velocity *= 1.8f;
975 dust7.velocity.Y -= 0.5f;
976 DustCache.Add(dust7.dustIndex);
977 }
978 num14 *= 0.6f;
979 num13 *= 0.7f;
980 }
981 if (drawPlayer.dripping && shadow == 0f && Main.rand.Next(4) != 0)
982 {
983 Vector2 position = Position;
984 position.X -= 2f;
985 position.Y -= 2f;
986 if (Main.rand.Next(2) == 0)
987 {
988 Dust dust8 = Dust.NewDustDirect(position, drawPlayer.width + 4, drawPlayer.height + 2, 211, 0f, 0f, 50, default(Color), 0.8f);
989 if (Main.rand.Next(2) == 0)
990 {
991 dust8.alpha += 25;
992 }
993 if (Main.rand.Next(2) == 0)
994 {
995 dust8.alpha += 25;
996 }
997 dust8.noLight = true;
998 dust8.velocity *= 0.2f;
999 dust8.velocity.Y += 0.2f;
1000 dust8.velocity += drawPlayer.velocity;
1001 DustCache.Add(dust8.dustIndex);
1002 }
1003 else
1004 {
1005 Dust dust9 = Dust.NewDustDirect(position, drawPlayer.width + 8, drawPlayer.height + 8, 211, 0f, 0f, 50, default(Color), 1.1f);
1006 if (Main.rand.Next(2) == 0)
1007 {
1008 dust9.alpha += 25;
1009 }
1010 if (Main.rand.Next(2) == 0)
1011 {
1012 dust9.alpha += 25;
1013 }
1014 dust9.noLight = true;
1015 dust9.noGravity = true;
1016 dust9.velocity *= 0.2f;
1017 dust9.velocity.Y += 1f;
1018 dust9.velocity += drawPlayer.velocity;
1019 DustCache.Add(dust9.dustIndex);
1020 }
1021 }
1023 {
1024 int alpha = 175;
1025 Color newColor = new Color(0, 80, 255, 100);
1026 if (Main.rand.Next(4) != 0 && shadow == 0f)
1027 {
1029 position2.X -= 2f;
1030 position2.Y -= 2f;
1031 if (Main.rand.Next(2) == 0)
1032 {
1033 Dust dust10 = Dust.NewDustDirect(position2, drawPlayer.width + 4, drawPlayer.height + 2, 4, 0f, 0f, alpha, newColor, 1.4f);
1034 if (Main.rand.Next(2) == 0)
1035 {
1036 dust10.alpha += 25;
1037 }
1038 if (Main.rand.Next(2) == 0)
1039 {
1040 dust10.alpha += 25;
1041 }
1042 dust10.noLight = true;
1043 dust10.velocity *= 0.2f;
1044 dust10.velocity.Y += 0.2f;
1045 dust10.velocity += drawPlayer.velocity;
1046 DustCache.Add(dust10.dustIndex);
1047 }
1048 }
1049 num12 *= 0.8f;
1050 num13 *= 0.8f;
1051 }
1053 {
1054 int alpha2 = 100;
1055 if (Main.rand.Next(4) != 0 && shadow == 0f)
1056 {
1058 position3.X -= 2f;
1059 position3.Y -= 2f;
1060 if (Main.rand.Next(4) == 0)
1061 {
1062 Color newColor2 = Main.hslToRgb(0.7f + 0.2f * Main.rand.NextFloat(), 1f, 0.5f);
1063 newColor2.A /= 2;
1064 Dust dust11 = Dust.NewDustDirect(position3, drawPlayer.width + 4, drawPlayer.height + 2, 4, 0f, 0f, alpha2, newColor2, 0.65f);
1065 if (Main.rand.Next(2) == 0)
1066 {
1067 dust11.alpha += 25;
1068 }
1069 if (Main.rand.Next(2) == 0)
1070 {
1071 dust11.alpha += 25;
1072 }
1073 dust11.noLight = true;
1074 dust11.velocity *= 0.2f;
1075 dust11.velocity += drawPlayer.velocity * 0.7f;
1076 dust11.fadeIn = 0.8f;
1077 DustCache.Add(dust11.dustIndex);
1078 }
1079 if (Main.rand.Next(30) == 0)
1080 {
1081 Color color2 = Main.hslToRgb(0.7f + 0.2f * Main.rand.NextFloat(), 1f, 0.5f);
1082 color2.A /= 2;
1083 Dust dust12 = Dust.NewDustDirect(position3, drawPlayer.width + 4, drawPlayer.height + 2, 43, 0f, 0f, 254, new Color(127, 127, 127, 0), 0.45f);
1084 dust12.noLight = true;
1085 dust12.velocity.X *= 0f;
1086 dust12.velocity *= 0.03f;
1087 dust12.fadeIn = 0.6f;
1088 DustCache.Add(dust12.dustIndex);
1089 }
1090 }
1091 num12 *= 0.94f;
1092 num13 *= 0.82f;
1093 }
1094 if (drawPlayer.ichor)
1095 {
1096 num14 = 0f;
1097 }
1098 if (drawPlayer.electrified && shadow == 0f && Main.rand.Next(3) == 0)
1099 {
1100 Dust dust13 = Dust.NewDustDirect(new Vector2(Position.X - 2f, Position.Y - 2f), drawPlayer.width + 4, drawPlayer.height + 4, 226, 0f, 0f, 100, default(Color), 0.5f);
1101 dust13.velocity *= 1.6f;
1102 dust13.velocity.Y -= 1f;
1103 dust13.position = Vector2.Lerp(dust13.position, drawPlayer.Center, 0.5f);
1104 DustCache.Add(dust13.dustIndex);
1105 }
1106 if (drawPlayer.burned)
1107 {
1108 if (shadow == 0f)
1109 {
1110 Dust dust14 = Dust.NewDustDirect(new Vector2(Position.X - 2f, Position.Y - 2f), drawPlayer.width + 4, drawPlayer.height + 4, 6, drawPlayer.velocity.X * 0.4f, drawPlayer.velocity.Y * 0.4f, 100, default(Color), 2f);
1111 dust14.noGravity = true;
1112 dust14.velocity *= 1.8f;
1113 dust14.velocity.Y -= 0.75f;
1114 DustCache.Add(dust14.dustIndex);
1115 }
1116 num12 = 1f;
1117 num14 *= 0.6f;
1118 num13 *= 0.7f;
1119 }
1121 {
1122 if (Main.rand.Next(4) == 0 && shadow == 0f)
1123 {
1124 Dust dust15 = Dust.NewDustDirect(new Vector2(Position.X - 2f, Position.Y - 2f), drawPlayer.width + 4, drawPlayer.height + 4, 135, drawPlayer.velocity.X * 0.4f, drawPlayer.velocity.Y * 0.4f, 100, default(Color), 3f);
1125 dust15.noGravity = true;
1126 dust15.velocity *= 1.8f;
1127 dust15.velocity.Y -= 0.5f;
1128 DustCache.Add(dust15.dustIndex);
1129 }
1130 num12 *= 0.5f;
1131 num13 *= 0.7f;
1132 }
1134 {
1135 if (Main.rand.Next(4) == 0 && shadow == 0f)
1136 {
1137 Dust dust16 = Dust.NewDustDirect(new Vector2(Position.X - 2f, Position.Y - 2f), drawPlayer.width + 4, drawPlayer.height + 4, 135, drawPlayer.velocity.X * 0.4f, drawPlayer.velocity.Y * 0.4f, 100, default(Color), 3f);
1138 dust16.noGravity = true;
1139 dust16.velocity *= 1.8f;
1140 dust16.velocity.Y -= 0.5f;
1141 DustCache.Add(dust16.dustIndex);
1142 }
1143 num12 *= 0.5f;
1144 num13 *= 0.7f;
1145 }
1146 if (drawPlayer.onFire2)
1147 {
1148 if (Main.rand.Next(4) == 0 && shadow == 0f)
1149 {
1150 Dust dust17 = Dust.NewDustDirect(new Vector2(Position.X - 2f, Position.Y - 2f), drawPlayer.width + 4, drawPlayer.height + 4, 75, drawPlayer.velocity.X * 0.4f, drawPlayer.velocity.Y * 0.4f, 100, default(Color), 3f);
1151 dust17.noGravity = true;
1152 dust17.velocity *= 1.8f;
1153 dust17.velocity.Y -= 0.5f;
1154 DustCache.Add(dust17.dustIndex);
1155 }
1156 num14 *= 0.6f;
1157 num13 *= 0.7f;
1158 }
1159 if (drawPlayer.noItems)
1160 {
1161 num13 *= 0.8f;
1162 num12 *= 0.65f;
1163 }
1164 if (drawPlayer.blind)
1165 {
1166 num13 *= 0.65f;
1167 num12 *= 0.7f;
1168 }
1169 if (drawPlayer.bleed)
1170 {
1171 num13 *= 0.9f;
1172 num14 *= 0.9f;
1173 if (!drawPlayer.dead && Main.rand.Next(30) == 0 && shadow == 0f)
1174 {
1175 Dust dust18 = Dust.NewDustDirect(Position, drawPlayer.width, drawPlayer.height, 5);
1176 dust18.velocity.Y += 0.5f;
1177 dust18.velocity *= 0.25f;
1178 DustCache.Add(dust18.dustIndex);
1179 }
1180 }
1181 if (shadow == 0f && drawPlayer.palladiumRegen && drawPlayer.statLife < drawPlayer.statLifeMax2 && Main.instance.IsActive && !Main.gamePaused && drawPlayer.miscCounter % 10 == 0 && shadow == 0f)
1182 {
1183 Vector2 position4 = default(Vector2);
1184 position4.X = Position.X + (float)Main.rand.Next(drawPlayer.width);
1185 position4.Y = Position.Y + (float)Main.rand.Next(drawPlayer.height);
1186 position4.X = Position.X + (float)(drawPlayer.width / 2) - 6f;
1187 position4.Y = Position.Y + (float)(drawPlayer.height / 2) - 6f;
1188 position4.X -= Main.rand.Next(-10, 11);
1189 position4.Y -= Main.rand.Next(-20, 21);
1190 int item = Gore.NewGore(position4, new Vector2((float)Main.rand.Next(-10, 11) * 0.1f, (float)Main.rand.Next(-20, -10) * 0.1f), 331, (float)Main.rand.Next(80, 120) * 0.01f);
1192 }
1193 if (shadow == 0f && drawPlayer.loveStruck && Main.instance.IsActive && !Main.gamePaused && Main.rand.Next(5) == 0)
1194 {
1195 Vector2 vector = new Vector2(Main.rand.Next(-10, 11), Main.rand.Next(-10, 11));
1196 vector.Normalize();
1197 vector.X *= 0.66f;
1198 int num16 = Gore.NewGore(Position + new Vector2(Main.rand.Next(drawPlayer.width + 1), Main.rand.Next(drawPlayer.height + 1)), vector * Main.rand.Next(3, 6) * 0.33f, 331, (float)Main.rand.Next(40, 121) * 0.01f);
1199 Main.gore[num16].sticky = false;
1200 Main.gore[num16].velocity *= 0.4f;
1201 Main.gore[num16].velocity.Y -= 0.6f;
1203 }
1204 if (drawPlayer.stinky && Main.instance.IsActive && !Main.gamePaused)
1205 {
1206 num12 *= 0.7f;
1207 num14 *= 0.55f;
1208 if (Main.rand.Next(5) == 0 && shadow == 0f)
1209 {
1210 Vector2 vector2 = new Vector2(Main.rand.Next(-10, 11), Main.rand.Next(-10, 11));
1211 vector2.Normalize();
1212 vector2.X *= 0.66f;
1213 vector2.Y = Math.Abs(vector2.Y);
1214 Vector2 vector3 = vector2 * Main.rand.Next(3, 5) * 0.25f;
1215 int num17 = Dust.NewDust(Position, drawPlayer.width, drawPlayer.height, 188, vector3.X, vector3.Y * 0.5f, 100, default(Color), 1.5f);
1216 Main.dust[num17].velocity *= 0.1f;
1217 Main.dust[num17].velocity.Y -= 0.5f;
1219 }
1220 }
1221 if (drawPlayer.slowOgreSpit && Main.instance.IsActive && !Main.gamePaused)
1222 {
1223 num12 *= 0.6f;
1224 num14 *= 0.45f;
1225 if (Main.rand.Next(5) == 0 && shadow == 0f)
1226 {
1227 int type = Utils.SelectRandom<int>(Main.rand, 4, 256);
1228 Dust dust19 = Main.dust[Dust.NewDust(Position, drawPlayer.width, drawPlayer.height, type, 0f, 0f, 100)];
1229 dust19.scale = 0.8f + Main.rand.NextFloat() * 0.6f;
1230 dust19.fadeIn = 0.5f;
1231 dust19.velocity *= 0.05f;
1232 dust19.noLight = true;
1233 if (dust19.type == 4)
1234 {
1235 dust19.color = new Color(80, 170, 40, 120);
1236 }
1237 DustCache.Add(dust19.dustIndex);
1238 }
1239 if (Main.rand.Next(5) == 0 && shadow == 0f)
1240 {
1241 int num18 = Gore.NewGore(Position + new Vector2(Main.rand.NextFloat(), Main.rand.NextFloat()) * drawPlayer.Size, Vector2.Zero, Utils.SelectRandom<int>(Main.rand, 1024, 1025, 1026), 0.65f);
1242 Main.gore[num18].velocity *= 0.05f;
1244 }
1245 }
1246 if (Main.instance.IsActive && !Main.gamePaused && shadow == 0f)
1247 {
1248 float num19 = (float)drawPlayer.miscCounter / 180f;
1249 float num20 = 0f;
1250 float num21 = 10f;
1251 int type2 = 90;
1252 int num22 = 0;
1253 for (int i = 0; i < 3; i++)
1254 {
1255 switch (i)
1256 {
1257 case 0:
1259 {
1260 continue;
1261 }
1262 num20 = (float)Math.PI * 2f / (float)drawPlayer.nebulaLevelLife;
1264 break;
1265 case 1:
1267 {
1268 continue;
1269 }
1270 num20 = (float)Math.PI * -2f / (float)drawPlayer.nebulaLevelMana;
1272 num19 = (float)(-drawPlayer.miscCounter) / 180f;
1273 num21 = 20f;
1274 type2 = 88;
1275 break;
1276 case 2:
1278 {
1279 continue;
1280 }
1281 num20 = (float)Math.PI * 2f / (float)drawPlayer.nebulaLevelDamage;
1283 num19 = (float)drawPlayer.miscCounter / 180f;
1284 num21 = 30f;
1285 type2 = 86;
1286 break;
1287 }
1288 for (int j = 0; j < num22; j++)
1289 {
1290 Dust dust20 = Dust.NewDustDirect(Position, drawPlayer.width, drawPlayer.height, type2, 0f, 0f, 100, default(Color), 1.5f);
1291 dust20.noGravity = true;
1292 dust20.velocity = Vector2.Zero;
1293 dust20.position = drawPlayer.Center + Vector2.UnitY * drawPlayer.gfxOffY + (num19 * ((float)Math.PI * 2f) + num20 * (float)j).ToRotationVector2() * num21;
1294 dust20.customData = drawPlayer;
1295 DustCache.Add(dust20.dustIndex);
1296 }
1297 }
1298 }
1299 if (drawPlayer.witheredArmor && Main.instance.IsActive && !Main.gamePaused)
1300 {
1301 num13 *= 0.5f;
1302 num12 *= 0.75f;
1303 }
1304 if (drawPlayer.witheredWeapon && drawPlayer.itemAnimation > 0 && heldItem.damage > 0 && Main.instance.IsActive && !Main.gamePaused && Main.rand.Next(3) == 0)
1305 {
1306 Dust dust21 = Dust.NewDustDirect(new Vector2(Position.X - 2f, Position.Y - 2f), drawPlayer.width + 4, drawPlayer.height + 4, 272, 0f, 0f, 50, default(Color), 0.5f);
1307 dust21.velocity *= 1.6f;
1308 dust21.velocity.Y -= 1f;
1309 dust21.position = Vector2.Lerp(dust21.position, drawPlayer.Center, 0.5f);
1310 DustCache.Add(dust21.dustIndex);
1311 }
1313 if (num12 != 1f || num13 != 1f || num14 != 1f || num15 != 1f)
1314 {
1316 {
1331 {
1332 colorDisplayDollSkin = drawPlayer.GetImmuneAlpha(PlayerDrawHelper.DISPLAY_DOLL_DEFAULT_SKIN_COLOR, shadow);
1333 }
1334 }
1335 else
1336 {
1337 colorEyeWhites = Main.buffColor(colorEyeWhites, num12, num13, num14, num15);
1338 colorEyes = Main.buffColor(colorEyes, num12, num13, num14, num15);
1339 colorHair = Main.buffColor(colorHair, num12, num13, num14, num15);
1340 colorHead = Main.buffColor(colorHead, num12, num13, num14, num15);
1341 colorBodySkin = Main.buffColor(colorBodySkin, num12, num13, num14, num15);
1342 colorShirt = Main.buffColor(colorShirt, num12, num13, num14, num15);
1343 colorUnderShirt = Main.buffColor(colorUnderShirt, num12, num13, num14, num15);
1344 colorPants = Main.buffColor(colorPants, num12, num13, num14, num15);
1345 colorLegs = Main.buffColor(colorLegs, num12, num13, num14, num15);
1346 colorShoes = Main.buffColor(colorShoes, num12, num13, num14, num15);
1347 colorArmorHead = Main.buffColor(colorArmorHead, num12, num13, num14, num15);
1348 colorArmorBody = Main.buffColor(colorArmorBody, num12, num13, num14, num15);
1349 colorArmorLegs = Main.buffColor(colorArmorLegs, num12, num13, num14, num15);
1351 {
1352 colorDisplayDollSkin = Main.buffColor(PlayerDrawHelper.DISPLAY_DOLL_DEFAULT_SKIN_COLOR, num12, num13, num14, num15);
1353 }
1354 }
1355 }
1357 {
1368 if (colorArmorHead.A > Main.gFade)
1369 {
1370 colorArmorHead.A = Main.gFade;
1371 }
1372 if (colorArmorBody.A > Main.gFade)
1373 {
1374 colorArmorBody.A = Main.gFade;
1375 }
1376 if (colorArmorLegs.A > Main.gFade)
1377 {
1378 colorArmorLegs.A = Main.gFade;
1379 }
1381 {
1383 }
1384 }
1386 {
1387 float num23 = 1f;
1388 colorEyeWhites = Color.White * num23;
1389 colorEyes = drawPlayer.eyeColor * num23;
1391 colorHead = drawPlayer.skinColor * num23;
1392 colorBodySkin = drawPlayer.skinColor * num23;
1393 colorShirt = drawPlayer.shirtColor * num23;
1394 colorUnderShirt = drawPlayer.underShirtColor * num23;
1395 colorPants = drawPlayer.pantsColor * num23;
1396 colorShoes = drawPlayer.shoeColor * num23;
1397 colorLegs = drawPlayer.skinColor * num23;
1402 {
1403 colorDisplayDollSkin = PlayerDrawHelper.DISPLAY_DOLL_DEFAULT_SKIN_COLOR * num23;
1404 }
1405 }
1407 {
1409 float opacityForAnimation = drawPlayer.opacityForAnimation;
1410 opacityForAnimation *= opacityForAnimation;
1411 colorEyeWhites = Color.White * opacityForAnimation;
1412 colorEyes = drawPlayer.eyeColor * opacityForAnimation;
1413 colorHair = GameShaders.Hair.GetColor(drawPlayer.hairDye, drawPlayer, Color.White) * opacityForAnimation;
1414 colorHead = drawPlayer.skinColor * opacityForAnimation;
1415 colorBodySkin = drawPlayer.skinColor * opacityForAnimation;
1416 colorShirt = drawPlayer.shirtColor * opacityForAnimation;
1417 colorUnderShirt = drawPlayer.underShirtColor * opacityForAnimation;
1418 colorPants = drawPlayer.pantsColor * opacityForAnimation;
1419 colorShoes = drawPlayer.shoeColor * opacityForAnimation;
1420 colorLegs = drawPlayer.skinColor * opacityForAnimation;
1425 {
1426 colorDisplayDollSkin = PlayerDrawHelper.DISPLAY_DOLL_DEFAULT_SKIN_COLOR * opacityForAnimation;
1427 }
1428 }
1429 stealth = 1f;
1430 if (heldItem.type == 3106)
1431 {
1432 float num24 = drawPlayer.stealth;
1433 if ((double)num24 < 0.03)
1434 {
1435 num24 = 0.03f;
1436 }
1437 float num25 = (1f + num24 * 10f) / 11f;
1438 if (num24 < 0f)
1439 {
1440 num24 = 0f;
1441 }
1442 if (!(num24 < 1f - shadow) && shadow > 0f)
1443 {
1444 num24 = shadow * 0.5f;
1445 }
1446 stealth = num25;
1447 colorArmorHead = new Color((byte)((float)(int)colorArmorHead.R * num24), (byte)((float)(int)colorArmorHead.G * num24), (byte)((float)(int)colorArmorHead.B * num25), (byte)((float)(int)colorArmorHead.A * num24));
1448 colorArmorBody = new Color((byte)((float)(int)colorArmorBody.R * num24), (byte)((float)(int)colorArmorBody.G * num24), (byte)((float)(int)colorArmorBody.B * num25), (byte)((float)(int)colorArmorBody.A * num24));
1449 colorArmorLegs = new Color((byte)((float)(int)colorArmorLegs.R * num24), (byte)((float)(int)colorArmorLegs.G * num24), (byte)((float)(int)colorArmorLegs.B * num25), (byte)((float)(int)colorArmorLegs.A * num24));
1450 num24 *= num24;
1467 {
1469 }
1470 }
1472 {
1473 float num26 = drawPlayer.stealth;
1474 if ((double)num26 < 0.03)
1475 {
1476 num26 = 0.03f;
1477 }
1478 float num27 = (1f + num26 * 10f) / 11f;
1479 if (num26 < 0f)
1480 {
1481 num26 = 0f;
1482 }
1483 if (!(num26 < 1f - shadow) && shadow > 0f)
1484 {
1485 num26 = shadow * 0.5f;
1486 }
1487 stealth = num27;
1488 colorArmorHead = new Color((byte)((float)(int)colorArmorHead.R * num26), (byte)((float)(int)colorArmorHead.G * num26), (byte)((float)(int)colorArmorHead.B * num27), (byte)((float)(int)colorArmorHead.A * num26));
1489 colorArmorBody = new Color((byte)((float)(int)colorArmorBody.R * num26), (byte)((float)(int)colorArmorBody.G * num26), (byte)((float)(int)colorArmorBody.B * num27), (byte)((float)(int)colorArmorBody.A * num26));
1490 colorArmorLegs = new Color((byte)((float)(int)colorArmorLegs.R * num26), (byte)((float)(int)colorArmorLegs.G * num26), (byte)((float)(int)colorArmorLegs.B * num27), (byte)((float)(int)colorArmorLegs.A * num26));
1491 num26 *= num26;
1508 {
1510 }
1511 }
1512 else if (drawPlayer.setVortex)
1513 {
1514 float num28 = drawPlayer.stealth;
1515 if ((double)num28 < 0.03)
1516 {
1517 num28 = 0.03f;
1518 }
1519 if (num28 < 0f)
1520 {
1521 num28 = 0f;
1522 }
1523 if (!(num28 < 1f - shadow) && shadow > 0f)
1524 {
1525 num28 = shadow * 0.5f;
1526 }
1527 stealth = num28;
1528 Color secondColor = new Color(Vector4.Lerp(Vector4.One, new Vector4(0f, 0.12f, 0.16f, 0f), 1f - num28));
1532 num28 *= num28;
1549 {
1551 }
1552 }
1553 if (hideEntirePlayer)
1554 {
1555 stealth = 1f;
1557 }
1558 if (drawPlayer.gravDir == 1f)
1559 {
1560 if (drawPlayer.direction == 1)
1561 {
1564 }
1565 else
1566 {
1567 playerEffect = SpriteEffects.FlipHorizontally;
1568 itemEffect = SpriteEffects.FlipHorizontally;
1569 }
1570 if (!drawPlayer.dead)
1571 {
1572 drawPlayer.legPosition.Y = 0f;
1573 drawPlayer.headPosition.Y = 0f;
1574 drawPlayer.bodyPosition.Y = 0f;
1575 }
1576 }
1577 else
1578 {
1579 if (drawPlayer.direction == 1)
1580 {
1581 playerEffect = SpriteEffects.FlipVertically;
1582 itemEffect = SpriteEffects.FlipVertically;
1583 }
1584 else
1585 {
1586 playerEffect = SpriteEffects.FlipHorizontally | SpriteEffects.FlipVertically;
1587 itemEffect = SpriteEffects.FlipHorizontally | SpriteEffects.FlipVertically;
1588 }
1589 if (!drawPlayer.dead)
1590 {
1591 drawPlayer.legPosition.Y = 6f;
1592 drawPlayer.headPosition.Y = 6f;
1593 drawPlayer.bodyPosition.Y = 6f;
1594 }
1595 }
1596 switch (heldItem.type)
1597 {
1598 case 3182:
1599 case 3184:
1600 case 3185:
1601 case 3782:
1602 itemEffect ^= SpriteEffects.FlipHorizontally | SpriteEffects.FlipVertically;
1603 break;
1604 case 5118:
1605 if (player.gravDir < 0f)
1606 {
1607 itemEffect ^= SpriteEffects.FlipHorizontally | SpriteEffects.FlipVertically;
1608 }
1609 break;
1610 }
1611 legVect = new Vector2((float)drawPlayer.legFrame.Width * 0.5f, (float)drawPlayer.legFrame.Height * 0.75f);
1612 bodyVect = new Vector2((float)drawPlayer.legFrame.Width * 0.5f, (float)drawPlayer.legFrame.Height * 0.5f);
1613 headVect = new Vector2((float)drawPlayer.legFrame.Width * 0.5f, (float)drawPlayer.legFrame.Height * 0.4f);
1615 {
1616 drawPlayer.headRotation = drawPlayer.velocity.Y * (float)drawPlayer.direction * 0.1f;
1617 if ((double)drawPlayer.headRotation < -0.3)
1618 {
1619 drawPlayer.headRotation = -0.3f;
1620 }
1621 if ((double)drawPlayer.headRotation > 0.3)
1622 {
1623 drawPlayer.headRotation = 0.3f;
1624 }
1625 }
1626 else if (!drawPlayer.dead)
1627 {
1628 drawPlayer.headRotation = 0f;
1629 }
1630 Rectangle bodyFrame = drawPlayer.bodyFrame;
1631 bodyFrame = drawPlayer.bodyFrame;
1632 bodyFrame.Y -= 336;
1633 if (bodyFrame.Y < 0)
1634 {
1635 bodyFrame.Y = 0;
1636 }
1637 hairFrontFrame = bodyFrame;
1638 hairBackFrame = bodyFrame;
1639 if (hideHair)
1640 {
1641 hairFrontFrame.Height = 0;
1642 hairBackFrame.Height = 0;
1643 }
1644 else if (backHairDraw)
1645 {
1646 int height = 26;
1647 hairFrontFrame.Height = height;
1648 }
1649 hidesTopSkin = drawPlayer.body == 82 || drawPlayer.body == 83 || drawPlayer.body == 93 || drawPlayer.body == 21 || drawPlayer.body == 22;
1650 hidesBottomSkin = drawPlayer.body == 93 || drawPlayer.legs == 20 || drawPlayer.legs == 21;
1651 drawFloatingTube = drawPlayer.hasFloatingTube && !hideEntirePlayer;
1656 {
1657 drawFrontAccInNeckAccLayer = drawPlayer.front > 0 && drawPlayer.front < ArmorIDs.Front.Count && ArmorIDs.Front.Sets.DrawsInNeckLayer[drawPlayer.front];
1658 }
1663 }
static double Abs(double value)
const double PI
Definition Math.cs:16
Vector2 Center
Definition Entity.cs:43
Vector2 Size
Definition Entity.cs:151
Vector2 velocity
Definition Entity.cs:16
Vector2 position
Definition Entity.cs:14
static bool IsPlayerHoldingClub(Player player)
static HairShaderDataSet Hair
Definition GameShaders.cs:9
static readonly int Count
Definition ArmorIDs.cs:1668
static readonly int Count
Definition ArmorIDs.cs:2088
static readonly sbyte Count
Definition ArmorIDs.cs:2123
static readonly int Count
Definition ArmorIDs.cs:1032
static readonly sbyte Count
Definition ArmorIDs.cs:2036
static readonly int Count
Definition ArmorIDs.cs:1704
static readonly int Count
Definition ArmorIDs.cs:1582
static readonly int Count
Definition ArmorIDs.cs:1536
static readonly int Count
Definition ArmorIDs.cs:587
static readonly int Count
Definition ArmorIDs.cs:1470
static readonly int Count
Definition ArmorIDs.cs:1972
static readonly int Count
Definition ArmorIDs.cs:1943
static readonly int Count
Definition ArmorIDs.cs:1770
static readonly int Count
Definition ArmorIDs.cs:1818
static Color GetSelectionGlowColor(bool isTileSelected, int averageTileLighting)
Definition Colors.cs:127
int damage
Definition Item.cs:167
bool Active
Definition Mount.cs:345
int nebulaLevelLife
Definition Player.cs:703
bool eyebrellaCloud
Definition Player.cs:1633
sbyte balloonFront
Definition Player.cs:1363
bool electrified
Definition Player.cs:911
bool loveStruck
Definition Player.cs:905
PlayerSleepingHelper sleeping
Definition Player.cs:2465
bool palladiumRegen
Definition Player.cs:929
bool socialIgnoreLight
Definition Player.cs:1237
bool onFrostBurn2
Definition Player.cs:1897
PlayerSittingHelper sitting
Definition Player.cs:2463
int nebulaLevelDamage
Definition Player.cs:709
float opacityForAnimation
Definition Player.cs:1501
Color underShirtColor
Definition Player.cs:2141
bool drippingSparkleSlime
Definition Player.cs:1917
Vector2 GetHairDrawOffset(int hairID, bool hatHair)
Definition Player.cs:3855
Color shirtColor
Definition Player.cs:2139
void GetHairSettings(out bool fullHair, out bool hatHair, out bool hideHair, out bool backHairDraw, out bool drawsBackHairWithoutHeadgear)
Definition Player.cs:16638
float HeightOffsetVisual
Definition Player.cs:2755
bool hasUnicornHorn
Definition Player.cs:1639
bool isFullbright
Definition Player.cs:1247
bool slowOgreSpit
Definition Player.cs:2009
bool isDisplayDollOrInanimate
Definition Player.cs:1245
Color GetHairColor(bool useLighting=true)
Definition Player.cs:52299
int nebulaLevelMana
Definition Player.cs:705
bool witheredWeapon
Definition Player.cs:2007
bool witheredArmor
Definition Player.cs:2005
Color skinColor
Definition Player.cs:2135
Color GetImmuneAlpha(Color newColor, float alphaReduction)
Definition Player.cs:50645
Vector2 GetLegsDrawOffset()
Definition Player.cs:3991
Color pantsColor
Definition Player.cs:2143
Color GetImmuneAlphaPure(Color newColor, float alphaReduction)
Definition Player.cs:50669
bool isHatRackDoll
Definition Player.cs:1249
sbyte faceFlower
Definition Player.cs:1361
bool hasAngelHalo
Definition Player.cs:1641
float MountXOffset
Definition Player.cs:2787
Vector2 GetHelmetDrawOffset()
Definition Player.cs:3869
Rectangle bodyFrame
Definition Player.cs:1373
float headRotation
Definition Player.cs:1273
bool shroomiteStealth
Definition Player.cs:1233
bool drippingSlime
Definition Player.cs:1915
Color shoeColor
Definition Player.cs:2145
Rectangle legFrame
Definition Player.cs:1375
static Color Multiply(Color value, float scale)
Definition Color.cs:513
static Color Transparent
Definition Color.cs:76
static Vector2 Lerp(Vector2 value1, Vector2 value2, float amount)
Definition Vector2.cs:227
static Vector4 Lerp(Vector4 value1, Vector4 value2, float amount)
Definition Vector4.cs:277

References Microsoft.Xna.Framework.Color.A, System.Math.Abs(), Terraria.Mount.Active, System.Collections.Generic.List< T >.Add(), Terraria.DataStructures.PlayerDrawSet.AdjustmentsForWolfMount(), Terraria.DataStructures.PlayerDrawSet.ArkhalisColor, Terraria.DataStructures.PlayerDrawSet.armGlowColor, Terraria.DataStructures.PlayerDrawSet.armGlowMask, Terraria.DataStructures.PlayerDrawSet.armorAdjust, Microsoft.Xna.Framework.Color.B, Terraria.Player.back, Terraria.DataStructures.PlayerDrawSet.backHairDraw, Terraria.Player.backpack, Terraria.Player.balloon, Terraria.Player.balloonFront, Terraria.Player.beard, Terraria.Player.bleed, Terraria.Player.blind, Terraria.Player.body, Terraria.Player.bodyFrame, Terraria.DataStructures.PlayerDrawSet.bodyGlowColor, Terraria.DataStructures.PlayerDrawSet.bodyGlowMask, Terraria.DataStructures.PlayerDrawSet.bodyVect, Terraria.Main.buffColor(), Terraria.Player.burned, Terraria.DataStructures.PlayerDrawSet.cAngelHalo, Terraria.Player.cAngelHalo, Terraria.DataStructures.PlayerDrawSet.cBack, Terraria.Player.cBack, Terraria.DataStructures.PlayerDrawSet.cBackpack, Terraria.Player.cBackpack, Terraria.DataStructures.PlayerDrawSet.cBalloon, Terraria.Player.cBalloon, Terraria.DataStructures.PlayerDrawSet.cBalloonFront, Terraria.Player.cBalloonFront, Terraria.DataStructures.PlayerDrawSet.cBeard, Terraria.Player.cBeard, Terraria.DataStructures.PlayerDrawSet.cBody, Terraria.Player.cBody, Terraria.DataStructures.PlayerDrawSet.cCarpet, Terraria.Player.cCarpet, Terraria.DataStructures.PlayerDrawSet.Center, Terraria.Entity.Center, Terraria.DataStructures.PlayerDrawSet.cFace, Terraria.Player.cFace, Terraria.DataStructures.PlayerDrawSet.cFaceFlower, Terraria.Player.cFaceFlower, Terraria.DataStructures.PlayerDrawSet.cFaceHead, Terraria.Player.cFaceHead, Terraria.DataStructures.PlayerDrawSet.cFlameWaker, Terraria.Player.cFlameWaker, Terraria.DataStructures.PlayerDrawSet.cFloatingTube, Terraria.Player.cFloatingTube, Terraria.DataStructures.PlayerDrawSet.cFront, Terraria.Player.cFront, Terraria.DataStructures.PlayerDrawSet.cHandOff, Terraria.Player.cHandOff, Terraria.DataStructures.PlayerDrawSet.cHandOn, Terraria.Player.cHandOn, Terraria.DataStructures.PlayerDrawSet.cHead, Terraria.Player.cHead, Terraria.DataStructures.PlayerDrawSet.cLegs, Terraria.Player.cLegs, Terraria.DataStructures.PlayerDrawSet.cLeinShampoo, Terraria.Player.cLeinShampoo, Terraria.Player.cMount, Terraria.DataStructures.PlayerDrawSet.cNeck, Terraria.Player.cNeck, Microsoft.Xna.Framework.Graphics.Color, Terraria.DataStructures.PlayerDrawSet.colorArmorBody, Terraria.DataStructures.PlayerDrawSet.colorArmorHead, Terraria.DataStructures.PlayerDrawSet.colorArmorLegs, Terraria.DataStructures.PlayerDrawSet.colorBodySkin, Terraria.DataStructures.PlayerDrawSet.colorDisplayDollSkin, Terraria.DataStructures.PlayerDrawSet.colorElectricity, Terraria.DataStructures.PlayerDrawSet.colorEyes, Terraria.DataStructures.PlayerDrawSet.colorEyeWhites, Terraria.DataStructures.PlayerDrawSet.colorHair, Terraria.DataStructures.PlayerDrawSet.colorHead, Terraria.DataStructures.PlayerDrawSet.colorLegs, Terraria.DataStructures.PlayerDrawSet.colorMount, Terraria.DataStructures.PlayerDrawSet.colorPants, Terraria.DataStructures.PlayerDrawSet.colorShirt, Terraria.DataStructures.PlayerDrawSet.colorShoes, Terraria.DataStructures.PlayerDrawSet.colorUnderShirt, Terraria.ID.ArmorIDs.Head.Count, Terraria.ID.ArmorIDs.Body.Count, Terraria.ID.ArmorIDs.Legs.Count, Terraria.ID.ArmorIDs.HandOn.Count, Terraria.ID.ArmorIDs.HandOff.Count, Terraria.ID.ArmorIDs.Back.Count, Terraria.ID.ArmorIDs.Front.Count, Terraria.ID.ArmorIDs.Shoe.Count, Terraria.ID.ArmorIDs.Waist.Count, Terraria.ID.ArmorIDs.Shield.Count, Terraria.ID.ArmorIDs.Neck.Count, Terraria.ID.ArmorIDs.Face.Count, Terraria.ID.ArmorIDs.Balloon.Count, Terraria.ID.ArmorIDs.Beard.Count, Terraria.DataStructures.PlayerDrawSet.cPortableStool, Terraria.Player.cPortableStool, Terraria.DataStructures.PlayerDrawSet.CreateCompositeData(), Terraria.DataStructures.PlayerDrawSet.cShield, Terraria.Player.cShield, Terraria.DataStructures.PlayerDrawSet.cShoe, Terraria.Player.cShoe, Terraria.DataStructures.PlayerDrawSet.cTail, Terraria.Player.cTail, Terraria.DataStructures.PlayerDrawSet.cUnicornHorn, Terraria.Player.cUnicornHorn, Terraria.DataStructures.PlayerDrawSet.cWaist, Terraria.Player.cWaist, Terraria.DataStructures.PlayerDrawSet.cWings, Terraria.Player.cWings, Terraria.Item.damage, Terraria.Player.dead, Terraria.Entity.direction, Terraria.DataStructures.PlayerDrawHelper.DISPLAY_DOLL_DEFAULT_SKIN_COLOR, Terraria.DataStructures.PlayerDrawSet.drawAngelHalo, Terraria.DataStructures.PlayerDrawSet.DrawDataCache, Terraria.DataStructures.PlayerDrawSet.drawFloatingTube, Terraria.DataStructures.PlayerDrawSet.drawFrontAccInNeckAccLayer, Terraria.DataStructures.PlayerDrawSet.drawPlayer, Terraria.DataStructures.PlayerDrawSet.drawsBackHairWithoutHeadgear, Terraria.ID.ArmorIDs.Front.Sets.DrawsInNeckLayer, Terraria.DataStructures.PlayerDrawSet.drawUnicornHorn, Terraria.Player.dripping, Terraria.Player.drippingSlime, Terraria.Player.drippingSparkleSlime, Terraria.Player.dryadWard, Terraria.Main.dust, Terraria.DataStructures.PlayerDrawSet.DustCache, Terraria.Player.electrified, Terraria.Player.eyebrellaCloud, Terraria.Player.eyeColor, Terraria.Player.face, Terraria.Player.faceFlower, Terraria.Player.faceHead, Terraria.DataStructures.PlayerDrawSet.floatingTubeColor, Terraria.Player.forceMerman, Terraria.Player.front, Terraria.ID.ArmorIDs.Head.Sets.FrontToBackID, Terraria.DataStructures.PlayerDrawSet.fullHair, Microsoft.Xna.Framework.Color.G, Terraria.Main.gamePaused, Terraria.Lighting.GetColor(), Terraria.Lighting.GetColorClamped(), Terraria.Player.GetHairColor(), Terraria.Player.GetHairDrawOffset(), Terraria.Player.GetHairSettings(), Terraria.Player.GetHelmetDrawOffset(), Terraria.Player.GetImmuneAlpha(), Terraria.Player.GetImmuneAlphaPure(), Terraria.Player.GetLegsDrawOffset(), Terraria.ID.Colors.GetSelectionGlowColor(), Terraria.Main.gFade, Terraria.Main.gore, Terraria.DataStructures.PlayerDrawSet.GoreCache, Terraria.Player.gravDir, Terraria.Graphics.Shaders.GameShaders.Hair, Terraria.Player.hair, Terraria.DataStructures.PlayerDrawSet.hairBackFrame, Terraria.Player.hairDye, Terraria.DataStructures.PlayerDrawSet.hairDyePacked, Terraria.DataStructures.PlayerDrawSet.hairFrontFrame, Terraria.DataStructures.PlayerDrawSet.hairOffset, Terraria.Player.handoff, Terraria.Player.handon, Terraria.Player.hasAngelHalo, Terraria.Player.hasUnicornHorn, Terraria.DataStructures.PlayerDrawSet.hatHair, Terraria.Player.head, Terraria.DataStructures.PlayerDrawSet.headGlowColor, Terraria.DataStructures.PlayerDrawSet.headGlowMask, Terraria.Player.headRotation, Terraria.DataStructures.PlayerDrawSet.headVect, Microsoft.Xna.Framework.Rectangle.Height, Terraria.Entity.height, Terraria.Player.HeightOffsetVisual, Terraria.DataStructures.PlayerDrawSet.heldItem, Terraria.Player.heldProj, Terraria.DataStructures.PlayerDrawSet.heldProjOverHand, Terraria.DataStructures.PlayerDrawSet.helmetOffset, Terraria.DataStructures.PlayerDrawSet.hideEntirePlayer, Terraria.DataStructures.PlayerDrawSet.hideHair, Terraria.Player.hideMerman, Terraria.DataStructures.PlayerDrawSet.hidesBottomSkin, Terraria.DataStructures.PlayerDrawSet.hidesTopSkin, Terraria.Player.honey, Terraria.Main.hslToRgb(), Terraria.Player.ichor, Terraria.Main.InSmartCursorHighlightArea(), Terraria.Main.instance, Terraria.Player.isDisplayDollOrInanimate, Terraria.Player.isFullbright, Terraria.Player.isHatRackDoll, Terraria.GameContent.Golf.GolfHelper.IsPlayerHoldingClub(), Terraria.DataStructures.PlayerDrawSet.isSitting, Terraria.DataStructures.PlayerDrawSet.isSleeping, System.item, Terraria.Player.itemAnimation, Terraria.Player.itemAnimationMax, Terraria.DataStructures.PlayerDrawSet.itemEffect, Terraria.Player.lastVisualizedSelectedItem, Terraria.Player.legFrame, Terraria.Player.legs, Terraria.DataStructures.PlayerDrawSet.legsGlowColor, Terraria.DataStructures.PlayerDrawSet.legsGlowMask, Terraria.DataStructures.PlayerDrawSet.legsOffset, Terraria.DataStructures.PlayerDrawSet.legVect, Microsoft.Xna.Framework.Vector2.Lerp(), Microsoft.Xna.Framework.Vector4.Lerp(), Terraria.Player.loveStruck, Terraria.Player.Male, Terraria.Player.merman, Terraria.Player.miscCounter, Terraria.DataStructures.PlayerDrawSet.missingArm, Terraria.DataStructures.PlayerDrawSet.missingHand, Terraria.Player.mount, Terraria.DataStructures.PlayerDrawSet.mountOffSet, Terraria.Player.MountXOffset, Microsoft.Xna.Framework.Color.Multiply(), Terraria.Player.nebulaLevelDamage, Terraria.Player.nebulaLevelLife, Terraria.Player.nebulaLevelMana, Terraria.Player.neck, Terraria.Dust.NewDust(), Terraria.Dust.NewDustDirect(), Terraria.Gore.NewGore(), Terraria.Player.noItems, Microsoft.Xna.Framework.Vector4.One, Terraria.Player.onFire, Terraria.Player.onFire2, Terraria.Player.onFire3, Terraria.Player.onFrostBurn, Terraria.Player.onFrostBurn2, Terraria.Player.opacityForAnimation, Terraria.DataStructures.PlayerDrawHelper.PackShader(), Terraria.Player.palladiumRegen, Terraria.Player.pantsColor, System.Math.PI, Terraria.DataStructures.PlayerDrawSet.playerEffect, Terraria.Player.poisoned, Terraria.DataStructures.PlayerDrawSet.Position, Terraria.Entity.position, Terraria.Main.projectile, Terraria.DataStructures.PlayerDrawSet.projectileDrawPosition, Microsoft.Xna.Framework.Color.R, Terraria.Main.rand, Terraria.DataStructures.PlayerDrawSet.rotation, Terraria.DataStructures.PlayerDrawSet.rotationOrigin, Terraria.DataStructures.PlayerDrawSet.seatYOffset, Terraria.DataStructures.PlayerDrawSet.selectionGlowColor, Terraria.Player.setVortex, Terraria.DataStructures.PlayerDrawSet.shadow, Terraria.Player.shield, Terraria.Player.shimmering, Terraria.Player.shirtColor, Terraria.Player.shoe, Terraria.Player.shoeColor, Terraria.Player.shroomiteStealth, Terraria.Player.sitting, Terraria.DataStructures.PlayerDrawSet.sittingIndex, Terraria.Entity.Size, Terraria.Player.skinColor, Terraria.DataStructures.PlayerDrawSet.skinDyePacked, Terraria.Player.skinDyePacked, Terraria.DataStructures.PlayerDrawSet.skinVar, Terraria.Player.skinVariant, Terraria.Player.sleeping, Terraria.Player.slowOgreSpit, Terraria.Player.socialGhost, Terraria.Player.socialIgnoreLight, Terraria.Player.statLife, Terraria.Player.statLifeMax2, Terraria.DataStructures.PlayerDrawSet.stealth, Terraria.Player.stealth, Terraria.Player.stinky, Terraria.Player.tail, Terraria.DataStructures.PlayerDrawSet.torsoOffset, Microsoft.Xna.Framework.Color.Transparent, System.type, Terraria.Item.type, Terraria.Mount.Type, Terraria.Player.underShirtColor, Microsoft.Xna.Framework.Graphics.Vector2, Terraria.Entity.velocity, Terraria.Player.venom, Terraria.Player.waist, Terraria.DataStructures.PlayerDrawSet.weaponDrawOrder, Terraria.Player.wearsRobe, Microsoft.Xna.Framework.Color.White, Microsoft.Xna.Framework.Rectangle.Width, Terraria.Entity.width, Terraria.Player.witheredArmor, Terraria.Player.witheredWeapon, Microsoft.Xna.Framework.Point.X, Microsoft.Xna.Framework.Vector2.X, Microsoft.Xna.Framework.Point.Y, Microsoft.Xna.Framework.Rectangle.Y, Microsoft.Xna.Framework.Vector2.Y, and Microsoft.Xna.Framework.Vector2.Zero.