public bool ValidateAndCollectNecessaryInfo(ref BigProgressBarInfo info) { if (info.npcIndexToAimAt < 0 || info.npcIndexToAimAt > 200) { return(false); } NPC npc1 = Main.npc[info.npcIndexToAimAt]; if (!npc1.active) { return(false); } int num = npc1.type == 126 ? 125 : 126; int lifeMax = npc1.lifeMax; int life = npc1.life; for (int index = 0; index < 200; ++index) { NPC npc2 = Main.npc[index]; if (npc2.active && npc2.type == num) { lifeMax += npc2.lifeMax; life += npc2.life; break; } } this._lifePercentToShow = Utils.Clamp <float>((float)life / (float)lifeMax, 0.0f, 1f); this._headIndex = npc1.GetBossHeadTextureIndex(); return(true); }
public bool TryTracking(int npcIndex) { if (npcIndex < 0 || npcIndex > 200) { return(false); } NPC npc = Main.npc[npcIndex]; if (!npc.active) { return(false); } BigProgressBarInfo info = new BigProgressBarInfo() { npcIndexToAimAt = npcIndex }; IBigProgressBar bigProgressBar1 = (IBigProgressBar)this._bossBar; IBigProgressBar bigProgressBar2; if (this._bossBarsByNpcNetId.TryGetValue(npc.netID, out bigProgressBar2)) { bigProgressBar1 = bigProgressBar2; } if (!bigProgressBar1.ValidateAndCollectNecessaryInfo(ref info)) { return(false); } this._currentBar = bigProgressBar1; this._info = info; return(true); }
public bool ValidateAndCollectNecessaryInfo(ref BigProgressBarInfo info) { if (info.npcIndexToAimAt < 0 || info.npcIndexToAimAt > 200) { return(false); } NPC npc1 = Main.npc[info.npcIndexToAimAt]; if (!npc1.active && !this.TryFindingAnotherGolemPiece(ref info)) { return(false); } int num1 = 0; this._referenceDummy.SetDefaults(245, npc1.GetMatchingSpawnParams()); int num2 = num1 + this._referenceDummy.lifeMax; this._referenceDummy.SetDefaults(246, npc1.GetMatchingSpawnParams()); int num3 = num2 + this._referenceDummy.lifeMax; float num4 = 0.0f; for (int index = 0; index < 200; ++index) { NPC npc2 = Main.npc[index]; if (npc2.active && this.ValidIds.Contains(npc2.type)) { num4 += (float)npc2.life; } } this._lifePercentToShow = Utils.Clamp <float>(num4 / (float)num3, 0.0f, 1f); return(true); }
public bool ValidateAndCollectNecessaryInfo(ref BigProgressBarInfo info) { if (info.npcIndexToAimAt < 0 || info.npcIndexToAimAt > 200) { return(false); } NPC nPC = Main.npc[info.npcIndexToAimAt]; if (!nPC.active && !TryFindingAnotherGolemPiece(ref info)) { return(false); } int num = 0; _referenceDummy.SetDefaults(245, nPC.GetMatchingSpawnParams()); num += _referenceDummy.lifeMax; _referenceDummy.SetDefaults(246, nPC.GetMatchingSpawnParams()); num += _referenceDummy.lifeMax; float num2 = 0f; for (int i = 0; i < 200; i++) { NPC nPC2 = Main.npc[i]; if (nPC2.active && ValidIds.Contains(nPC2.type)) { num2 += (float)nPC2.life; } } _lifePercentToShow = Utils.Clamp(num2 / (float)num, 0f, 1f); return(true); }
public bool ValidateAndCollectNecessaryInfo(BigProgressBarInfo info) { if (info.npcIndexToAimAt < 0 || info.npcIndexToAimAt > 200) { return(false); } NPC nPC = Main.npc[info.npcIndexToAimAt]; if (!nPC.active) { return(false); } int bossHeadTextureIndex = nPC.GetBossHeadTextureIndex(); if (bossHeadTextureIndex == -1) { return(false); } if (!IsPlayerInCombatArea()) { return(false); } if (nPC.ai[2] == 1f) { return(false); } float lifePercentToShow = Utils.Clamp((float)nPC.life / (float)nPC.lifeMax, 0f, 1f); float shieldPercentToShow = GetCurrentShieldValue() / GetMaxShieldValue(); _ = 600f * Main.GameModeInfo.EnemyMaxLifeMultiplier * GetMaxShieldValue() / (float)nPC.lifeMax; _lifePercentToShow = lifePercentToShow; _shieldPercentToShow = shieldPercentToShow; _headIndex = bossHeadTextureIndex; return(true); }
public bool TryTracking(int npcIndex) { if (npcIndex < 0 || npcIndex > 200) { return(false); } NPC nPC = Main.npc[npcIndex]; if (!nPC.active) { return(false); } BigProgressBarInfo bigProgressBarInfo = default(BigProgressBarInfo); bigProgressBarInfo.npcIndexToAimAt = npcIndex; BigProgressBarInfo info = bigProgressBarInfo; IBigProgressBar bigProgressBar = _bossBar; if (_bossBarsByNpcNetId.TryGetValue(nPC.netID, out var value)) { bigProgressBar = value; } if (!bigProgressBar.ValidateAndCollectNecessaryInfo(info)) { return(false); } _currentBar = bigProgressBar; _info = info; return(true); }
public bool ValidateAndCollectNecessaryInfo(BigProgressBarInfo info) { if (info.npcIndexToAimAt < 0 || info.npcIndexToAimAt > 200) { return(false); } NPC nPC = Main.npc[info.npcIndexToAimAt]; if (!nPC.active) { return(false); } int brainOfCthuluCreepersCount = NPC.GetBrainOfCthuluCreepersCount(); _creeperForReference.SetDefaults(267, nPC.GetMatchingSpawnParams()); int num = _creeperForReference.lifeMax * brainOfCthuluCreepersCount; float num2 = 0f; for (int i = 0; i < 200; i++) { NPC nPC2 = Main.npc[i]; if (nPC2.active && nPC2.type == _creeperForReference.type) { num2 += (float)nPC2.life; } } float num3 = (float)nPC.life + num2; int num4 = nPC.lifeMax + num; _lifePercentToShow = Utils.Clamp(num3 / (float)num4, 0f, 1f); return(true); }
public bool ValidateAndCollectNecessaryInfo(ref BigProgressBarInfo info) { if (info.npcIndexToAimAt < 0 || info.npcIndexToAimAt > 200) { return(false); } NPC npc1 = Main.npc[info.npcIndexToAimAt]; if (!npc1.active) { return(false); } int cthuluCreepersCount = NPC.GetBrainOfCthuluCreepersCount(); this._creeperForReference.SetDefaults(267, npc1.GetMatchingSpawnParams()); int num1 = this._creeperForReference.lifeMax * cthuluCreepersCount; float num2 = 0.0f; for (int index = 0; index < 200; ++index) { NPC npc2 = Main.npc[index]; if (npc2.active && npc2.type == this._creeperForReference.type) { num2 += (float)npc2.life; } } this._lifePercentToShow = Utils.Clamp <float>(((float)npc1.life + num2) / (float)(npc1.lifeMax + num1), 0.0f, 1f); return(true); }
public void Draw(ref BigProgressBarInfo info, SpriteBatch spriteBatch) { Texture2D texture2D = TextureAssets.NpcHeadBoss[this._headIndex].Value; Rectangle barIconFrame = texture2D.Frame(1, 1, 0, 0, 0, 0); BigProgressBarHelper.DrawFancyBar(spriteBatch, this._lifePercentToShow, texture2D, barIconFrame); }
public bool ValidateAndCollectNecessaryInfo(ref BigProgressBarInfo info) { if (info.npcIndexToAimAt < 0 || info.npcIndexToAimAt > 200) { return(false); } NPC npc = Main.npc[info.npcIndexToAimAt]; if (!npc.active) { return(false); } int headTextureIndex = npc.GetBossHeadTextureIndex(); if (headTextureIndex == -1 || !this.IsPlayerInCombatArea() || (double)npc.ai[2] == 1.0) { return(false); } float num1 = Utils.Clamp <float>((float)npc.life / (float)npc.lifeMax, 0.0f, 1f); float num2 = this.GetCurrentShieldValue() / this.GetMaxShieldValue(); double num3 = 600.0 * (double)Main.GameModeInfo.EnemyMaxLifeMultiplier * (double)this.GetMaxShieldValue() / (double)npc.lifeMax; this._lifePercentToShow = num1; this._shieldPercentToShow = num2; this._headIndex = headTextureIndex; return(true); }
public void Draw(BigProgressBarInfo info, SpriteBatch spriteBatch) { Texture2D value = TextureAssets.NpcHeadBoss[_headIndex].Value; Rectangle barIconFrame = value.Frame(); BigProgressBarHelper.DrawFancyBar(spriteBatch, _lifePercentToShow, value, barIconFrame); }
public bool ValidateAndCollectNecessaryInfo(BigProgressBarInfo info) { if (info.npcIndexToAimAt < 0 || info.npcIndexToAimAt > 200) { return(false); } NPC nPC = Main.npc[info.npcIndexToAimAt]; if (!nPC.active) { return(false); } int num = ((nPC.type == 126) ? 125 : 126); int num2 = nPC.lifeMax; int num3 = nPC.life; for (int i = 0; i < 200; i++) { NPC nPC2 = Main.npc[i]; if (nPC2.active && nPC2.type == num) { num2 += nPC2.lifeMax; num3 += nPC2.life; break; } } _lifePercentToShow = Utils.Clamp((float)num3 / (float)num2, 0f, 1f); _headIndex = nPC.GetBossHeadTextureIndex(); return(true); }
public void Draw(ref BigProgressBarInfo info, SpriteBatch spriteBatch) { int bossHeadTexture = NPCID.Sets.BossHeadTextures[491]; Texture2D texture2D = TextureAssets.NpcHeadBoss[bossHeadTexture].get_Value(); Rectangle barIconFrame = texture2D.Frame(1, 1, 0, 0, 0, 0); BigProgressBarHelper.DrawFancyBar(spriteBatch, this._lifePercentToShow, texture2D, barIconFrame); }
public void Draw(BigProgressBarInfo info, SpriteBatch spriteBatch) { int num = NPCID.Sets.BossHeadTextures[396]; Texture2D value = TextureAssets.NpcHeadBoss[num].Value; Rectangle barIconFrame = value.Frame(); BigProgressBarHelper.DrawFancyBar(spriteBatch, _lifePercentToShow, value, barIconFrame); }
private bool TryFindingAnotherPirateShipPiece(ref BigProgressBarInfo info) { for (int index = 0; index < 200; ++index) { NPC npc = Main.npc[index]; if (npc.active && this.ValidIds.Contains(npc.type)) { info.npcIndexToAimAt = index; return(true); } } return(false); }
private bool TryFindingAnotherEOWPiece(ref BigProgressBarInfo info) { for (int index = 0; index < 200; ++index) { NPC npc = Main.npc[index]; if (npc.active && npc.type >= 13 && npc.type <= 15) { info.npcIndexToAimAt = index; return(true); } } return(false); }
private bool TryFindingAnotherMoonLordPiece(BigProgressBarInfo info) { for (int i = 0; i < 200; i++) { NPC nPC = Main.npc[i]; if (nPC.active && ValidIds.Contains(nPC.type) && !IsInBadAI(nPC)) { info.npcIndexToAimAt = i; return(true); } } return(false); }
private bool TryFindingAnotherEOWPiece(BigProgressBarInfo info) { for (int i = 0; i < 200; i++) { NPC nPC = Main.npc[i]; if (nPC.active && nPC.type >= 13 && nPC.type <= 15) { info.npcIndexToAimAt = i; return(true); } } return(false); }
private bool TryFindingAnotherMartianSaucerPiece(ref BigProgressBarInfo info) { for (int i = 0; i < 200; i++) { NPC nPC = Main.npc[i]; if (nPC.active && ValidIds.Contains(nPC.type)) { info.npcIndexToAimAt = i; return(true); } } return(false); }
public bool ValidateAndCollectNecessaryInfo(ref BigProgressBarInfo info) { if (info.npcIndexToAimAt < 0 || info.npcIndexToAimAt > 200 || !Main.npc[info.npcIndexToAimAt].active && !this.TryFindingAnotherEOWPiece(ref info)) { return(false); } int worldsSegmentsCount = NPC.GetEaterOfWorldsSegmentsCount(); float num = 0.0f; for (int index = 0; index < 200; ++index) { NPC npc = Main.npc[index]; if (npc.active && npc.type >= 13 && npc.type <= 15) { num += (float)npc.life / (float)npc.lifeMax; } } this._lifePercentToShow = Utils.Clamp <float>(num / (float)worldsSegmentsCount, 0.0f, 1f); return(true); }
public bool ValidateAndCollectNecessaryInfo(ref BigProgressBarInfo info) { if (info.npcIndexToAimAt < 0 || info.npcIndexToAimAt > 200) { return(false); } NPC npc1 = Main.npc[info.npcIndexToAimAt]; if (!npc1.active || npc1.type != 395) { if (!this.TryFindingAnotherMartianSaucerPiece(ref info)) { return(false); } npc1 = Main.npc[info.npcIndexToAimAt]; } int num1 = 0; if (Main.expertMode) { this._referenceDummy.SetDefaults(395, npc1.GetMatchingSpawnParams()); num1 += this._referenceDummy.lifeMax; } this._referenceDummy.SetDefaults(394, npc1.GetMatchingSpawnParams()); int num2 = num1 + this._referenceDummy.lifeMax * 2; this._referenceDummy.SetDefaults(393, npc1.GetMatchingSpawnParams()); int num3 = num2 + this._referenceDummy.lifeMax * 2; float num4 = 0.0f; for (int index = 0; index < 200; ++index) { NPC npc2 = Main.npc[index]; if (npc2.active && this.ValidIdsToScanHp.Contains(npc2.type) && (Main.expertMode || npc2.type != 395)) { num4 += (float)npc2.life; } } this._lifePercentToShow = Utils.Clamp <float>(num4 / (float)num3, 0.0f, 1f); return(true); }
public bool ValidateAndCollectNecessaryInfo(ref BigProgressBarInfo info) { if (info.npcIndexToAimAt < 0 || info.npcIndexToAimAt > 200) { return(false); } NPC npc1 = Main.npc[info.npcIndexToAimAt]; if ((!npc1.active || this.IsInBadAI(npc1)) && !this.TryFindingAnotherMoonLordPiece(ref info)) { return(false); } int num1 = 0; NPCSpawnParams spawnparams = new NPCSpawnParams() { strengthMultiplierOverride = new float?(npc1.strengthMultiplier), playerCountForMultiplayerDifficultyOverride = new int?(npc1.statsAreScaledForThisManyPlayers) }; this._referenceDummy.SetDefaults(398, spawnparams); int num2 = num1 + this._referenceDummy.lifeMax; this._referenceDummy.SetDefaults(396, spawnparams); int num3 = num2 + this._referenceDummy.lifeMax; this._referenceDummy.SetDefaults(397, spawnparams); int num4 = num3 + this._referenceDummy.lifeMax + this._referenceDummy.lifeMax; float num5 = 0.0f; for (int index = 0; index < 200; ++index) { NPC npc2 = Main.npc[index]; if (npc2.active && this.ValidIds.Contains(npc2.type) && !this.IsInBadAI(npc2)) { num5 += (float)npc2.life; } } this._lifePercentToShow = Utils.Clamp <float>(num5 / (float)num4, 0.0f, 1f); return(true); }
public bool ValidateAndCollectNecessaryInfo(ref BigProgressBarInfo info) { if (info.npcIndexToAimAt < 0 || info.npcIndexToAimAt > 200) { return(false); } NPC nPC = Main.npc[info.npcIndexToAimAt]; if (!nPC.active || nPC.type != 395) { if (!TryFindingAnotherMartianSaucerPiece(ref info)) { return(false); } nPC = Main.npc[info.npcIndexToAimAt]; } int num = 0; if (Main.expertMode) { _referenceDummy.SetDefaults(395, nPC.GetMatchingSpawnParams()); num += _referenceDummy.lifeMax; } _referenceDummy.SetDefaults(394, nPC.GetMatchingSpawnParams()); num += _referenceDummy.lifeMax * 2; _referenceDummy.SetDefaults(393, nPC.GetMatchingSpawnParams()); num += _referenceDummy.lifeMax * 2; float num2 = 0f; for (int i = 0; i < 200; i++) { NPC nPC2 = Main.npc[i]; if (nPC2.active && ValidIdsToScanHp.Contains(nPC2.type) && (Main.expertMode || nPC2.type != 395)) { num2 += (float)nPC2.life; } } _lifePercentToShow = Utils.Clamp(num2 / (float)num, 0f, 1f); return(true); }
public bool ValidateAndCollectNecessaryInfo(ref BigProgressBarInfo info) { if (info.npcIndexToAimAt < 0 || info.npcIndexToAimAt > 200) { return(false); } NPC nPC = Main.npc[info.npcIndexToAimAt]; if (!nPC.active) { return(false); } int bossHeadTextureIndex = nPC.GetBossHeadTextureIndex(); if (bossHeadTextureIndex == -1) { return(false); } _lifePercentToShow = Utils.Clamp((float)nPC.life / (float)nPC.lifeMax, 0f, 1f); _headIndex = bossHeadTextureIndex; return(true); }
public bool ValidateAndCollectNecessaryInfo(ref BigProgressBarInfo info) { if (info.npcIndexToAimAt < 0 || info.npcIndexToAimAt > 200) { return(false); } NPC npc = Main.npc[info.npcIndexToAimAt]; if (!npc.active) { return(false); } int headTextureIndex = npc.GetBossHeadTextureIndex(); if (headTextureIndex == -1) { return(false); } this._lifePercentToShow = Utils.Clamp <float>((float)npc.life / (float)npc.lifeMax, 0.0f, 1f); this._headIndex = headTextureIndex; return(true); }
public bool ValidateAndCollectNecessaryInfo(BigProgressBarInfo info) { if (info.npcIndexToAimAt < 0 || info.npcIndexToAimAt > 200) { return(false); } NPC nPC = Main.npc[info.npcIndexToAimAt]; if ((!nPC.active || IsInBadAI(nPC)) && !TryFindingAnotherMoonLordPiece(info)) { return(false); } int num = 0; NPCSpawnParams nPCSpawnParams = default(NPCSpawnParams); nPCSpawnParams.strengthMultiplierOverride = nPC.strengthMultiplier; nPCSpawnParams.playerCountForMultiplayerDifficultyOverride = nPC.statsAreScaledForThisManyPlayers; NPCSpawnParams spawnparams = nPCSpawnParams; _referenceDummy.SetDefaults(398, spawnparams); num += _referenceDummy.lifeMax; _referenceDummy.SetDefaults(396, spawnparams); num += _referenceDummy.lifeMax; _referenceDummy.SetDefaults(397, spawnparams); num += _referenceDummy.lifeMax; num += _referenceDummy.lifeMax; float num2 = 0f; for (int i = 0; i < 200; i++) { NPC nPC2 = Main.npc[i]; if (nPC2.active && ValidIds.Contains(nPC2.type) && !IsInBadAI(nPC2)) { num2 += (float)nPC2.life; } } _lifePercentToShow = Utils.Clamp(num2 / (float)num, 0f, 1f); return(true); }
public bool ValidateAndCollectNecessaryInfo(ref BigProgressBarInfo info) { if (info.npcIndexToAimAt < 0 || info.npcIndexToAimAt > 200) { return(false); } NPC nPC = Main.npc[info.npcIndexToAimAt]; if (!nPC.active || nPC.type != 491) { if (!TryFindingAnotherPirateShipPiece(ref info)) { return(false); } nPC = Main.npc[info.npcIndexToAimAt]; } int num = 0; _referenceDummy.SetDefaults(492, nPC.GetMatchingSpawnParams()); num += _referenceDummy.lifeMax * 4; float num2 = 0f; for (int i = 0; i < 4; i++) { int num3 = (int)nPC.ai[i]; if (Main.npc.IndexInRange(num3)) { NPC nPC2 = Main.npc[num3]; if (nPC2.active && nPC2.type == 492) { num2 += (float)nPC2.life; } } } _lifePercentToShow = Utils.Clamp(num2 / (float)num, 0f, 1f); return(true); }
public bool ValidateAndCollectNecessaryInfo(ref BigProgressBarInfo info) { if (info.npcIndexToAimAt < 0 || info.npcIndexToAimAt > 200) { return(false); } NPC npc1 = Main.npc[info.npcIndexToAimAt]; if (!npc1.active || npc1.type != 491) { if (!this.TryFindingAnotherPirateShipPiece(ref info)) { return(false); } npc1 = Main.npc[info.npcIndexToAimAt]; } int num1 = 0; this._referenceDummy.SetDefaults(492, npc1.GetMatchingSpawnParams()); int num2 = num1 + this._referenceDummy.lifeMax * 4; float num3 = 0.0f; for (int index1 = 0; index1 < 4; ++index1) { int index2 = (int)npc1.ai[index1]; if (Main.npc.IndexInRange <NPC>(index2)) { NPC npc2 = Main.npc[index2]; if (npc2.active && npc2.type == 492) { num3 += (float)npc2.life; } } } this._lifePercentToShow = Utils.Clamp <float>(num3 / (float)num2, 0.0f, 1f); return(true); }
public bool ValidateAndCollectNecessaryInfo(BigProgressBarInfo info) { if (info.npcIndexToAimAt < 0 || info.npcIndexToAimAt > 200) { return(false); } if (!Main.npc[info.npcIndexToAimAt].active && !TryFindingAnotherEOWPiece(info)) { return(false); } int eaterOfWorldsSegmentsCount = NPC.GetEaterOfWorldsSegmentsCount(); float num = 0f; for (int i = 0; i < 200; i++) { NPC nPC = Main.npc[i]; if (nPC.active && nPC.type >= 13 && nPC.type <= 15) { num += (float)nPC.life / (float)nPC.lifeMax; } } _lifePercentToShow = Utils.Clamp(num / (float)eaterOfWorldsSegmentsCount, 0f, 1f); return(true); }
public void Draw(ref BigProgressBarInfo info, SpriteBatch spriteBatch) { }