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

◆ ai

float [] Terraria.NPC.ai = new float[maxAI]

An array with 4 slots used for any sort of data storage, which is occasionally synced from the server to clients. Each vanilla T:Terraria.ID.NPCAIStyleID uses these slots for different purposes. Set F:Terraria.NPC.netUpdate to true to manually sync. The advantage of using these 4 floats is that they are synced automatically. Using fields in your P:Terraria.NPC.ModNPC class will work just the same, but they might need to be synced via M:Terraria.ModLoader.ModNPC.SendExtraAI(System.IO.BinaryWriter) and M:Terraria.ModLoader.ModNPC.ReceiveExtraAI(System.IO.BinaryReader) if necessary.
Clever use of Reference return valuesas seen in ExampleCustomAISlimeNPC.cscan be used to reuse the ai array entries with readable names.
Defaults to the values passed into M:Terraria.NPC.NewNPC(Terraria.DataStructures.IEntitySource,System.Int32,System.Int32,System.Int32,System.Int32,System.Single,System.Single,System.Single,System.Single,System.Int32), usually [0, 0, 0, 0].

Definition at line 997 of file NPC.cs.

Referenced by Terraria.GameContent.Bestiary.UnlockableNPCEntryIcon.UnlockableNPCEntryIcon(), Terraria.GameContent.Bestiary.UnlockableNPCEntryIcon.AdjustSpecialSpawnRulesForVisuals(), Terraria.NPC.AI_001_Slimes(), Terraria.NPC.AI_002_FloatingEye(), Terraria.NPC.AI_003_Fighters(), Terraria.NPC.AI_005_EaterOfSouls(), Terraria.NPC.AI_006_Worms(), Terraria.NPC.AI_007_AttemptToPlayIdleAnimationsForPets(), Terraria.NPC.AI_007_FindGoodRestingSpot(), Terraria.NPC.AI_007_TownEntities(), Terraria.NPC.AI_007_TownEntities_GetWalkPrediction(), Terraria.NPC.AI_007_TownEntities_IsInAGoodRestingSpot(), Terraria.NPC.AI_007_TownEntities_Shimmer_TeleportToLandingSpot(), Terraria.NPC.AI_007_TryForcingSitting(), Terraria.NPC.AI_026_Unicorns(), Terraria.NPC.AI_037_Destroyer(), Terraria.NPC.AI_045_Golem(), Terraria.NPC.AI_047_GolemFist(), Terraria.NPC.AI_065_Butterflies(), Terraria.NPC.AI_069_DukeFishron(), Terraria.NPC.AI_084_LunaticCultist(), Terraria.NPC.AI_107_ImprovedWalkers(), Terraria.NPC.AI_108_DivingFlyer(), Terraria.NPC.AI_109_DarkMage(), Terraria.NPC.AI_110_Betsy(), Terraria.NPC.AI_112_FairyCritter(), Terraria.NPC.AI_113_WindyBalloon(), Terraria.NPC.AI_113_WindyBalloon_GetSlaveNPC(), Terraria.NPC.AI_114_Dragonflies(), Terraria.NPC.AI_115_LadyBugs(), Terraria.NPC.AI_116_WaterStriders(), Terraria.NPC.AI_117_BloodNautilus(), Terraria.NPC.AI_118_Seahorses(), Terraria.NPC.AI_119_Dandelion(), Terraria.NPC.AI_120_HallowBoss(), Terraria.NPC.AI_120_HallowBoss_IsGenuinelyEnraged(), Terraria.NPC.AI_120_HallowBoss_IsInPhase2(), Terraria.NPC.AI_121_QueenSlime(), Terraria.NPC.AI_123_Deerclops(), Terraria.NPC.AI_123_Deerclops_MakeSpikesBothSides(), Terraria.NPC.AI_123_Deerclops_MakeSpikesForward(), Terraria.NPC.AI_123_Deerclops_Movement(), Terraria.NPC.AI_124_DeerclopsLeg(), Terraria.NPC.CheckActive(), Terraria.NPC.CheckActive_WormSegments(), Terraria.NPC.CheckCatchNPC(), Terraria.NPC.checkDead(), Terraria.Cinematics.DSTFilm.CreateDeerclops(), Terraria.Cinematics.DSTFilm.DeerclopsAttack(), Terraria.Cinematics.DD2Film.DryadAttack(), Terraria.Cinematics.DD2Film.DryadInteract(), Terraria.Cinematics.DD2Film.DryadPortalKnock(), Terraria.Cinematics.DD2Film.DryadStand(), Terraria.Cinematics.DD2Film.DryadWalk(), Terraria.NPC.GetBossHeadRotation(), Terraria.NPC.GetBossHeadTextureIndex(), Terraria.NPC.IsDamageDodgeable(), Terraria.GameContent.UI.BigProgressBar.MoonLordProgressBar.IsInBadAI(), Terraria.DataStructures.NPCFollowState.MoveNPCBackHome(), Terraria.Cinematics.DD2Film.OgreStand(), Terraria.NPC.SetDefaults(), Terraria.NPC.SpawnPassiveShadowHands(), Terraria.NPC.SpawnStardustMark_StardustTower(), Terraria.Cinematics.DSTFilm.TurnPlayerToTheLeft(), Terraria.NPC.VanillaAI_Inner(), and Terraria.NPC.VanillaFindFrame().