Terraria v1.4.4.9
Terraria source code documentation
Loading...
Searching...
No Matches
PirateShipBigProgressBar.cs
Go to the documentation of this file.
4using Terraria.ID;
5
7
9{
11
13
14 private HashSet<int> ValidIds = new HashSet<int> { 491 };
15
17 {
18 _referenceDummy = new NPC();
19 }
20
22 {
23 if (info.npcIndexToAimAt < 0 || info.npcIndexToAimAt > 200)
24 {
25 return false;
26 }
27 NPC nPC = Main.npc[info.npcIndexToAimAt];
28 if (!nPC.active || nPC.type != 491)
29 {
31 {
32 return false;
33 }
34 nPC = Main.npc[info.npcIndexToAimAt];
35 }
36 int num = 0;
37 _referenceDummy.SetDefaults(492, nPC.GetMatchingSpawnParams());
38 num += _referenceDummy.lifeMax * 4;
39 float num2 = 0f;
40 for (int i = 0; i < 4; i++)
41 {
42 int num3 = (int)nPC.ai[i];
43 if (Main.npc.IndexInRange(num3))
44 {
45 NPC nPC2 = Main.npc[num3];
46 if (nPC2.active && nPC2.type == 492)
47 {
48 num2 += (float)nPC2.life;
49 }
50 }
51 }
52 _cache.SetLife(num2, num);
53 return true;
54 }
55
56 public void Draw(ref BigProgressBarInfo info, SpriteBatch spriteBatch)
57 {
58 int num = NPCID.Sets.BossHeadTextures[491];
59 Texture2D value = TextureAssets.NpcHeadBoss[num].Value;
60 Rectangle barIconFrame = value.Frame();
62 }
63
65 {
66 for (int i = 0; i < 200; i++)
67 {
68 NPC nPC = Main.npc[i];
69 if (nPC.active && ValidIds.Contains(nPC.type))
70 {
71 info.npcIndexToAimAt = i;
72 return true;
73 }
74 }
75 return false;
76 }
77}
static Asset< Texture2D >[] NpcHeadBoss
static void DrawFancyBar(SpriteBatch spriteBatch, float lifeAmount, float lifeMax, Texture2D barIconTexture, Rectangle barIconFrame)
void Draw(ref BigProgressBarInfo info, SpriteBatch spriteBatch)
static int[] BossHeadTextures
Definition NPCID.cs:4240
static NPC[] npc
Definition Main.cs:1685
void SetDefaults(int Type, NPCSpawnParams spawnparams=default(NPCSpawnParams))
Definition NPC.cs:2523