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

◆ UseAbility()

void Terraria.Mount.UseAbility ( Player mountedPlayer,
Vector2 mousePosition,
bool toggleOn )
inline

Definition at line 2716 of file Mount.cs.

2717 {
2718 switch (_type)
2719 {
2720 case 9:
2721 {
2722 if (Main.myPlayer != mountedPlayer.whoAmI)
2723 {
2724 break;
2725 }
2726 int type2 = 606;
2728 Vector2 vector5 = default(Vector2);
2729 vector5.X = mountedPlayer.position.X + (float)(mountedPlayer.width / 2);
2730 vector5.Y = mountedPlayer.position.Y + (float)mountedPlayer.height;
2731 int num3 = (_frameExtra - 6) * 2;
2732 Vector2 vector6 = default(Vector2);
2733 for (int i = 0; i < 2; i++)
2734 {
2735 vector6.Y = vector5.Y + scutlixEyePositions[num3 + i].Y + (float)_data.yOffset;
2736 if (mountedPlayer.direction == -1)
2737 {
2738 vector6.X = vector5.X - scutlixEyePositions[num3 + i].X - (float)_data.xOffset;
2739 }
2740 else
2741 {
2742 vector6.X = vector5.X + scutlixEyePositions[num3 + i].X + (float)_data.xOffset;
2743 }
2745 vector7.Normalize();
2746 vector7 *= 14f;
2747 int damage3 = 150;
2748 vector6 += vector7;
2749 Projectile.NewProjectile(GetProjectileSpawnSource(mountedPlayer), vector6.X, vector6.Y, vector7.X, vector7.Y, type2, damage3, 0f, Main.myPlayer);
2750 }
2751 break;
2752 }
2753 case 46:
2754 if (Main.myPlayer == mountedPlayer.whoAmI)
2755 {
2756 if (_abilityCooldown <= 10)
2757 {
2758 int damage = 120;
2759 Vector2 vector = mountedPlayer.Center + new Vector2(mountedPlayer.width * -mountedPlayer.direction, 26f);
2760 Vector2 vector2 = new Vector2(0f, -4f).RotatedByRandom(0.10000000149011612);
2761 Projectile.NewProjectile(GetProjectileSpawnSource(mountedPlayer), vector.X, vector.Y, vector2.X, vector2.Y, 930, damage, 0f, Main.myPlayer);
2762 SoundEngine.PlaySound(SoundID.Item89.SoundId, (int)vector.X, (int)vector.Y, SoundID.Item89.Style, 0.2f);
2763 }
2764 int type = 14;
2765 int damage2 = 100;
2767 Vector2 vector3 = default(Vector2);
2768 vector3.X = mountedPlayer.position.X + (float)(mountedPlayer.width / 2);
2769 vector3.Y = mountedPlayer.position.Y + (float)mountedPlayer.height;
2770 Vector2 vector4 = new Vector2(vector3.X + (float)(mountedPlayer.width * mountedPlayer.direction), vector3.Y - 12f);
2772 v = v.SafeNormalize(Vector2.Zero);
2773 v *= 12f;
2774 v = v.RotatedByRandom(0.20000000298023224);
2775 Projectile.NewProjectile(GetProjectileSpawnSource(mountedPlayer), vector4.X, vector4.Y, v.X, v.Y, type, damage2, 0f, Main.myPlayer);
2776 SoundEngine.PlaySound(SoundID.Item11.SoundId, (int)vector4.X, (int)vector4.Y, SoundID.Item11.Style, 0.2f);
2777 }
2778 break;
2779 case 8:
2780 if (Main.myPlayer == mountedPlayer.whoAmI)
2781 {
2782 if (!toggleOn)
2783 {
2784 _abilityActive = false;
2785 }
2786 else if (!_abilityActive)
2787 {
2788 if (mountedPlayer.whoAmI == Main.myPlayer)
2789 {
2790 float num = Main.screenPosition.X + (float)Main.mouseX;
2791 float num2 = Main.screenPosition.Y + (float)Main.mouseY;
2792 float ai = num - mountedPlayer.position.X;
2793 float ai2 = num2 - mountedPlayer.position.Y;
2794 Projectile.NewProjectile(GetProjectileSpawnSource(mountedPlayer), num, num2, 0f, 0f, 453, 0, 0f, mountedPlayer.whoAmI, ai, ai2);
2795 }
2796 _abilityActive = true;
2797 }
2798 }
2799 else
2800 {
2802 }
2803 break;
2804 }
2805 }
static void PlaySound(int type, Vector2 position, int style=1)
static readonly LegacySoundStyle Item89
Definition SoundID.cs:592
static readonly LegacySoundStyle Item11
Definition SoundID.cs:436
static Vector2[] scutlixEyePositions
Definition Mount.cs:261
int _abilityCooldown
Definition Mount.cs:317
MountData _data
Definition Mount.cs:287
int _frameExtra
Definition Mount.cs:297
bool _abilityActive
Definition Mount.cs:321
Vector2 ClampToDeadZone(Player mountedPlayer, Vector2 position)
Definition Mount.cs:4509
IEntitySource GetProjectileSpawnSource(Player mountedPlayer)
Definition Mount.cs:2401

References Terraria.Mount._abilityActive, Terraria.Mount._abilityCooldown, Terraria.Mount._data, Terraria.Mount._frameExtra, Terraria.Mount._type, Terraria.Mount.ClampToDeadZone(), Terraria.Mount.GetProjectileSpawnSource(), Terraria.ID.SoundID.Item11, Terraria.ID.SoundID.Item89, Terraria.Main.mouseX, Terraria.Main.mouseY, Terraria.Main.myPlayer, Terraria.Projectile.NewProjectile(), Terraria.Audio.SoundEngine.PlaySound(), Terraria.Mount.scutlixEyePositions, System.type, Microsoft.Xna.Framework.Graphics.Vector2, Microsoft.Xna.Framework.Vector2.X, Terraria.Mount.MountData.xOffset, Microsoft.Xna.Framework.Vector2.Y, Terraria.Mount.MountData.yOffset, and Microsoft.Xna.Framework.Vector2.Zero.

Referenced by Terraria.Mount.UpdateEffects().