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

◆ UpdateNPC_UpdateGravity()

void Terraria.NPC.UpdateNPC_UpdateGravity ( out float maxFallSpeed)
inlineprivate

Definition at line 87655 of file NPC.cs.

87656 {
87657 maxFallSpeed = 10f;
87658 gravity = 0.3f;
87659 if (type == 258)
87660 {
87661 gravity = 0.1f;
87662 if (velocity.Y > 3f)
87663 {
87664 velocity.Y = 3f;
87665 }
87666 }
87667 else if (type == 425 && ai[2] == 1f)
87668 {
87669 gravity = 0.1f;
87670 }
87671 else if ((type == 576 || type == 577) && ai[0] > 0f && ai[1] == 2f)
87672 {
87673 gravity = 0.45f;
87674 if (velocity.Y > 32f)
87675 {
87676 velocity.Y = 32f;
87677 }
87678 }
87679 else if (type == 427 && ai[2] == 1f)
87680 {
87681 gravity = 0.1f;
87682 if (velocity.Y > 4f)
87683 {
87684 velocity.Y = 4f;
87685 }
87686 }
87687 else if (type == 426)
87688 {
87689 gravity = 0.1f;
87690 if (velocity.Y > 3f)
87691 {
87692 velocity.Y = 3f;
87693 }
87694 }
87695 else if (type == 541)
87696 {
87697 gravity = 0f;
87698 }
87699 else if (aiStyle == 7 && ai[0] == 25f)
87700 {
87701 gravity = 0f;
87702 }
87703 float num = (float)Main.maxTilesX / 4200f;
87704 num *= num;
87705 float num2 = (float)((double)(position.Y / 16f - (60f + 10f * num)) / (Main.worldSurface / 6.0));
87706 if ((double)num2 < 0.25)
87707 {
87708 num2 = 0.25f;
87709 }
87710 if (num2 > 1f)
87711 {
87712 num2 = 1f;
87713 }
87714 gravity *= num2;
87715 if (wet)
87716 {
87717 if (shimmerWet)
87718 {
87719 gravity = 0.15f;
87720 maxFallSpeed = 5.5f;
87721 }
87722 else if (honeyWet)
87723 {
87724 gravity = 0.1f;
87725 maxFallSpeed = 4f;
87726 }
87727 else
87728 {
87729 gravity = 0.2f;
87730 maxFallSpeed = 7f;
87731 }
87732 }
87733 }
bool honeyWet
Definition Entity.cs:34
bool shimmerWet
Definition Entity.cs:32
Vector2 velocity
Definition Entity.cs:16
int aiStyle
Definition NPC.cs:453
static float gravity
Definition NPC.cs:129
float[] ai
Definition NPC.cs:447
int type
Definition NPC.cs:445

References Terraria.Main.maxTilesX, and System.type.