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

◆ Counterweight()

void Terraria.Player.Counterweight ( Vector2 hitPos,
int dmg,
float kb )
inline

Definition at line 11781 of file Player.cs.

11782 {
11783 if (!yoyoGlove && counterWeight <= 0)
11784 {
11785 return;
11786 }
11787 int num = -1;
11788 int num2 = 0;
11789 int num3 = 0;
11790 for (int i = 0; i < 1000; i++)
11791 {
11792 if (Main.projectile[i].active && Main.projectile[i].owner == whoAmI)
11793 {
11794 if (Main.projectile[i].counterweight)
11795 {
11796 num3++;
11797 }
11798 else if (Main.projectile[i].aiStyle == 99)
11799 {
11800 num2++;
11801 num = i;
11802 }
11803 }
11804 }
11805 if (yoyoGlove && num2 < 2)
11806 {
11807 if (num >= 0)
11808 {
11809 Vector2 vector = hitPos - base.Center;
11810 vector.Normalize();
11811 vector *= 16f;
11812 Projectile.NewProjectile(Projectile.InheritSource(Main.projectile[num]), base.Center.X, base.Center.Y, vector.X, vector.Y, Main.projectile[num].type, Main.projectile[num].damage, Main.projectile[num].knockBack, whoAmI, 1f);
11813 }
11814 }
11815 else if (num3 < num2)
11816 {
11817 Vector2 vector2 = hitPos - base.Center;
11818 vector2.Normalize();
11819 vector2 *= 16f;
11820 float knockBack = (kb + 6f) / 2f;
11821 IEntitySource spawnSource = Projectile.InheritSource(Main.projectile[num]);
11822 if (num3 > 0)
11823 {
11824 Projectile.NewProjectile(spawnSource, base.Center.X, base.Center.Y, vector2.X, vector2.Y, counterWeight, (int)((double)dmg * 0.8), knockBack, whoAmI, 1f);
11825 }
11826 else
11827 {
11828 Projectile.NewProjectile(spawnSource, base.Center.X, base.Center.Y, vector2.X, vector2.Y, counterWeight, (int)((double)dmg * 0.8), knockBack, whoAmI);
11829 }
11830 }
11831 }
int counterWeight
Definition Player.cs:669

References Terraria.Projectile.InheritSource(), Terraria.Projectile.NewProjectile(), and Terraria.Main.projectile.