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

◆ AI_122_PirateGhost()

void Terraria.NPC.AI_122_PirateGhost ( )
inline

Definition at line 37975 of file NPC.cs.

37976 {
37977 if (localAI[0] == 0f)
37978 {
37979 localAI[0] = 1f;
37981 }
37983 if (targetData.Invalid)
37984 {
37985 TargetClosest();
37987 }
37988 if (targetData.Invalid)
37989 {
37990 velocity *= 0.9f;
37991 alpha = Utils.Clamp(alpha + 5, 0, 255);
37992 if (alpha >= 255)
37993 {
37994 StrikeNPCNoInteraction(9999, 0f, 0);
37995 }
37996 return;
37997 }
37998 alpha = Utils.Clamp(alpha - 5, 0, 255);
37999 Vector2 targetPosition = Vector2.Zero.MoveTowards(targetData.Center - base.Center, 4f);
38000 velocity = velocity.MoveTowards(targetPosition, 2f / 15f);
38001 for (int i = 0; i < 200; i++)
38002 {
38003 if (Main.npc[i].active && Main.npc[i].type == type && i != whoAmI)
38004 {
38005 Vector2 vector = Main.npc[i].Center - base.Center;
38006 if (vector.Length() < 50f)
38007 {
38008 vector.Normalize();
38009 vector *= 0.1f;
38010 velocity -= vector;
38011 velocity.X -= vector.X * 1f;
38012 }
38013 }
38014 }
38015 }
static void PlaySound(int type, Vector2 position, int style=1)
Vector2 velocity
Definition Entity.cs:16
Vector2 position
Definition Entity.cs:14
static readonly LegacySoundStyle NPCHit6
Definition SoundID.cs:178
float[] localAI
Definition NPC.cs:449
void TargetClosest(bool faceTarget=true)
Definition NPC.cs:69934
NPCAimedTarget GetTargetData(bool ignorePlayerTankPets=true)
Definition NPC.cs:864
int type
Definition NPC.cs:445
int alpha
Definition NPC.cs:489
double StrikeNPCNoInteraction(int Damage, float knockBack, int hitDirection, bool crit=false, bool noEffect=false, bool fromNet=false)
Definition NPC.cs:78015

References Terraria.NPC.alpha, Terraria.NPC.GetTargetData(), Terraria.NPC.localAI, Terraria.Main.npc, Terraria.ID.SoundID.NPCHit6, Terraria.Audio.SoundEngine.PlaySound(), Terraria.Entity.position, Terraria.NPC.StrikeNPCNoInteraction(), Terraria.NPC.TargetClosest(), Terraria.NPC.type, Terraria.Entity.velocity, Terraria.Entity.whoAmI, and Microsoft.Xna.Framework.Vector2.Zero.

Referenced by Terraria.NPC.AI().