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

◆ ItemCheck_PlayInstruments()

void Terraria.Player.ItemCheck_PlayInstruments ( Item sItem)
inlineprivate

Definition at line 44283 of file Player.cs.

44284 {
44285 Vector2 vector = new Vector2(position.X + (float)width * 0.5f, position.Y + (float)height * 0.5f);
44286 float num = (float)Main.mouseX + Main.screenPosition.X - vector.X;
44287 float num2 = (float)Main.mouseY + Main.screenPosition.Y - vector.Y;
44288 float num3 = (float)Math.Sqrt(num * num + num2 * num2);
44289 float num4 = (float)Main.screenHeight / Main.GameViewMatrix.Zoom.Y;
44290 num3 /= num4 / 2f;
44291 if (num3 > 1f)
44292 {
44293 num3 = 1f;
44294 }
44295 musicDist = num3;
44296 if (itemAnimation > 0 && ItemTimeIsZero && (sItem.type == 508 || sItem.type == 507))
44297 {
44299 Vector2 vector2 = new Vector2(position.X + (float)width * 0.5f, position.Y + (float)height * 0.5f);
44300 float num5 = (float)Main.mouseX + Main.screenPosition.X - vector2.X;
44301 float num6 = (float)Main.mouseY + Main.screenPosition.Y - vector2.Y;
44302 float num7 = (float)Math.Sqrt(num5 * num5 + num6 * num6);
44303 float num8 = (float)Main.screenHeight / Main.GameViewMatrix.Zoom.Y;
44304 num7 /= num8 / 2f;
44305 if (num7 > 1f)
44306 {
44307 num7 = 1f;
44308 }
44309 num7 = num7 * 2f - 1f;
44310 if (num7 < -1f)
44311 {
44312 num7 = -1f;
44313 }
44314 if (num7 > 1f)
44315 {
44316 num7 = 1f;
44317 }
44318 num7 = (float)Math.Round(num7 * (float)musicNotes);
44319 num7 = (Main.musicPitch = num7 / (float)musicNotes);
44321 if (sItem.type == 507)
44322 {
44324 }
44326 NetMessage.SendData(58, -1, -1, null, whoAmI, num7);
44327 }
44328 if (itemAnimation <= 0 || mouseInterface)
44329 {
44330 return;
44331 }
44332 if (Main.mouseLeft && Main.mouseLeftRelease)
44333 {
44334 if (sItem.type == 1305)
44335 {
44336 Vector2 vector3 = new Vector2(position.X + (float)width * 0.5f, position.Y + (float)height * 0.5f);
44337 float num9 = (float)Main.mouseX + Main.screenPosition.X - vector3.X;
44338 float num10 = (float)Main.mouseY + Main.screenPosition.Y - vector3.Y;
44339 float num11 = (float)Math.Sqrt(num9 * num9 + num10 * num10);
44340 float num12 = (float)Main.screenHeight / Main.GameViewMatrix.Zoom.Y;
44341 num11 /= num12 / 2f;
44342 if (num11 > 1f)
44343 {
44344 num11 = 1f;
44345 }
44346 num11 = num11 * 2f - 1f;
44347 if (num11 < -1f)
44348 {
44349 num11 = -1f;
44350 }
44351 if (num11 > 1f)
44352 {
44353 num11 = 1f;
44354 }
44355 num11 = (float)Math.Round(num11 * (float)musicNotes);
44356 num11 = (Main.musicPitch = num11 / (float)musicNotes);
44358 NetMessage.SendData(58, -1, -1, null, whoAmI, num11);
44359 }
44360 else if (sItem.type == 4057 || sItem.type == 4372)
44361 {
44362 Vector2 vector4 = new Vector2(position.X + (float)width * 0.5f, position.Y + (float)height * 0.5f);
44363 float num13 = (float)Main.mouseX + Main.screenPosition.X - vector4.X;
44364 float num14 = (float)Main.mouseY + Main.screenPosition.Y - vector4.Y;
44365 float num15 = (float)Math.Sqrt(num13 * num13 + num14 * num14);
44366 float num16 = (float)Main.screenHeight / Main.GameViewMatrix.Zoom.Y;
44367 num15 /= num16 / 2f;
44368 if (num15 > 1f)
44369 {
44370 num15 = 1f;
44371 }
44373 NetMessage.SendData(58, -1, -1, null, whoAmI, num15);
44374 }
44375 }
44376 if (sItem.type == 4715 && ((Main.mouseLeft && Main.mouseLeftRelease) | ItemAnimationJustStarted))
44377 {
44378 Vector2 vector5 = new Vector2(position.X + (float)width * 0.5f, position.Y + (float)height * 0.5f);
44379 float num17 = (float)Main.mouseX + Main.screenPosition.X - vector5.X;
44380 float num18 = (float)Main.mouseY + Main.screenPosition.Y - vector5.Y;
44381 float num19 = (float)Math.Sqrt(num17 * num17 + num18 * num18);
44382 float num20 = (float)Main.screenHeight / Main.GameViewMatrix.Zoom.Y;
44383 num19 /= num20 / 2f;
44384 if (num19 > 1f)
44385 {
44386 num19 = 1f;
44387 }
44389 NetMessage.SendData(58, -1, -1, null, whoAmI, num19);
44390 }
44391 if (sItem.type != 4673)
44392 {
44393 return;
44394 }
44395 int num21 = (int)base.Center.X / 16;
44396 int num22 = (int)base.Center.Y / 16;
44397 if (WorldGen.InWorld(num21, num22) && Main.tile[num21, num22] != null && Main.tile[num21, num22].type == 486 && ((Main.mouseLeft && Main.mouseLeftRelease) || (Main.mouseRight && Main.mouseRightRelease)))
44398 {
44399 Vector2 vector6 = new Vector2(position.X + (float)width * 0.5f, position.Y + (float)height * 0.5f);
44400 float num23 = (float)Main.mouseX + Main.screenPosition.X - vector6.X;
44401 float num24 = (float)Main.mouseY + Main.screenPosition.Y - vector6.Y;
44402 float num25 = (float)Math.Sqrt(num23 * num23 + num24 * num24);
44403 float num26 = (float)Main.screenHeight / Main.GameViewMatrix.Zoom.Y;
44404 num25 /= num26 / 2f;
44405 if (num25 > 1f)
44406 {
44407 num25 = 1f;
44408 }
44410 NetMessage.SendData(58, -1, -1, null, whoAmI, num25);
44411 }
44412 }
static double Sqrt(double d)
static decimal Round(decimal d)
Definition Math.cs:1096
static void PlaySound(int type, Vector2 position, int style=1)
Vector2 position
Definition Entity.cs:14
static readonly LegacySoundStyle Item47
Definition SoundID.cs:508
static readonly LegacySoundStyle Item26
Definition SoundID.cs:466
static readonly LegacySoundStyle Item35
Definition SoundID.cs:484
void ApplyItemTime(Item sItem)
Definition Player.cs:3752
bool ItemAnimationJustStarted
Definition Player.cs:3527
bool ItemTimeIsZero
Definition Player.cs:3525
bool mouseInterface
Definition Player.cs:1137
static int musicNotes
Definition Player.cs:2715
void PlayDrums(float range)
Definition Player.cs:44489
float musicDist
Definition Player.cs:2717
void PlayGuitarChord(float range)
Definition Player.cs:44459

References Terraria.Main.GameViewMatrix, Terraria.WorldGen.InWorld(), Terraria.ID.SoundID.Item26, Terraria.ID.SoundID.Item35, Terraria.ID.SoundID.Item47, Terraria.Main.mouseLeft, Terraria.Main.mouseLeftRelease, Terraria.Main.mouseRight, Terraria.Main.mouseRightRelease, Terraria.Main.mouseX, Terraria.Main.mouseY, Terraria.Audio.SoundEngine.PlaySound(), System.Math.Round(), Terraria.Main.screenHeight, Terraria.Main.screenPosition, Terraria.NetMessage.SendData(), System.Math.Sqrt(), Terraria.Main.tile, and System.type.