public override void Draw(SpriteBatch spriteBatch, float minDepth, float maxDepth) { Texture2D boltTexture = mod.GetTexture("Backgrounds/AthenaBolt"); Texture2D flashTexture = mod.GetTexture("Backgrounds/AthenaFlash"); if (maxDepth >= 3.40282347E+38f && minDepth < 3.40282347E+38f) { clouds.Update(mod.GetTexture("Backgrounds/FogTex")); clouds.Draw(mod.GetTexture("Backgrounds/FogTex"), false, Color.CornflowerBlue, true); } float scale = Math.Min(1f, (Main.screenPosition.Y - 1000f) / 1000f); Vector2 value3 = Main.screenPosition + new Vector2(Main.screenWidth >> 1, Main.screenHeight >> 1); Rectangle rectangle = new Rectangle(-1000, -1000, 4000, 4000); for (int i = 0; i < bolts.Length; i++) { if (bolts[i].IsAlive && bolts[i].Depth > minDepth && bolts[i].Depth < maxDepth) { Vector2 value4 = new Vector2(1f / bolts[i].Depth, 0.9f / bolts[i].Depth); Vector2 position = (bolts[i].Position - value3) * value4 + value3 - Main.screenPosition; if (rectangle.Contains((int)position.X, (int)position.Y)) { Texture2D texture = boltTexture; int life = bolts[i].Life; if (life > 26 && life % 2 == 0) { texture = flashTexture; } float scale2 = life / 30f; spriteBatch.Draw(texture, position, null, Color.White * scale * scale2 * Intensity, 0f, Vector2.Zero, value4.X * 5f, SpriteEffects.None, 0f); } } } }
public override void Draw(SpriteBatch spriteBatch, float minDepth, float maxDepth) { Texture2D BeamTexture = mod.GetTexture("Backgrounds/AnubisBeam"); Texture2D[] RuneTextures = new Texture2D[8]; for (int i = 0; i < RuneTextures.Length; i++) { RuneTextures[i] = mod.GetTexture("Backgrounds/Runes/Rune" + i); } if (maxDepth >= 3.40282347E+38f && minDepth < 3.40282347E+38f) { spriteBatch.Draw(Main.blackTileTexture, new Rectangle(0, 0, Main.screenWidth, Main.screenHeight), Color.Black * Intensity); } int num = -1; int num2 = 0; for (int i = 0; i < _pillars.Length; i++) { float depth = _pillars[i].Depth; if (num == -1 && depth < maxDepth) { num = i; } if (depth <= minDepth) { break; } num2 = i; } if (num == -1) { return; } Vector2 value3 = Main.screenPosition + new Vector2(Main.screenWidth >> 1, Main.screenHeight >> 1); Rectangle rectangle = new Rectangle(-1000, -1000, 4000, 4000); float scale = Math.Min(1f, (Main.screenPosition.Y - 1000f) / 1000f); for (int j = num; j < num2; j++) { Vector2 value4 = new Vector2(1f / _pillars[j].Depth, 0.9f / _pillars[j].Depth); Vector2 vector = _pillars[j].Position; vector = (vector - value3) * value4 + value3 - Main.screenPosition; if (rectangle.Contains((int)vector.X, (int)vector.Y)) { float num3 = value4.X * 450f; spriteBatch.Draw(BeamTexture, vector, null, Color.White * 0.2f * scale * Intensity, 0f, Vector2.Zero, new Vector2(num3 / 70f, num3 / 45f), SpriteEffects.None, 0f); int num4 = 0; for (float num5 = 0f; num5 <= 1f; num5 += 0.03f) { float num6 = 1f - (num5 + Main.GlobalTime * 0.02f + (float)Math.Sin((float)j)) % 1f; spriteBatch.Draw(RuneTextures[num4], vector + new Vector2((float)Math.Sin(num5 * 1582f) * (num3 * 0.5f) + num3 * 0.5f, num6 * 2000f), null, Color.White * num6 * scale * Intensity, num6 * 20f, new Vector2(RuneTextures[num4].Width >> 1, RuneTextures[num4].Height >> 1), 0.9f, SpriteEffects.None, 0f); num4 = (num4 + 1) % RuneTextures.Length; } } } }
public override void Draw(SpriteBatch spriteBatch, float minDepth, float maxDepth) { Texture2D PlanetTexture = mod.GetTexture("Backgrounds/Moon"); Texture2D SkyTexture = mod.GetTexture("Backgrounds/MireSky"); if (maxDepth >= 3.40282347E+38f && minDepth < 3.40282347E+38f) { if (!Main.dayTime) { spriteBatch.Draw(SkyTexture, new Rectangle(0, 0, Main.screenWidth, Main.screenHeight), Color.White); double bgTop = (int)((-Main.screenPosition.Y) / (Main.worldSurface * 16.0 - 600.0) * 200.0); Main.bgColor = Color.White; if (Main.gameMenu || Main.netMode == NetmodeID.Server) { bgTop = -200; } int num23 = (int)(Main.time / 32400.0 * (Main.screenWidth + Main.moonTexture[Main.moonType].Width * 2)) - Main.moonTexture[Main.moonType].Width; int num24 = 0; Color white2 = Color.White; float num25 = 1f; float rotation2 = (float)(Main.time / 32400.0) * 2f - 7.3f; if (!Main.dayTime) { double num27; if (Main.time < 16200.0) { num27 = Math.Pow(1.0 - Main.time / 32400.0 * 2.0, 2.0); num24 = (int)(bgTop + num27 * 250.0 + 180.0); } else { num27 = Math.Pow((Main.time / 32400.0 - 0.5) * 2.0, 2.0); num24 = (int)(bgTop + num27 * 250.0 + 180.0); } num25 = (float)(1.2 - num27 * 0.4); } float num65 = 1f - Main.cloudAlpha * 1.5f; if (num65 < 0f) { num65 = 0f; } white2.R = (byte)(white2.R * num65); white2.G = (byte)(white2.G * num65); white2.B = (byte)(white2.B * num65); white2.A = (byte)(white2.A * num65); Main.spriteBatch.Draw(PlanetTexture, new Vector2(num23, num24 + Main.moonModY), new Rectangle?(new Rectangle(0, 0, PlanetTexture.Width, PlanetTexture.Width)), white2, rotation2, new Vector2(PlanetTexture.Width / 2, PlanetTexture.Width / 2), num25, SpriteEffects.None, 0f); } } }
public override void Draw(SpriteBatch spriteBatch, float minDepth, float maxDepth) { Texture2D MeteorTexture = mod.GetTexture("Backgrounds/ShenMeteor"); Texture2D SkyTex = mod.GetTexture("Backgrounds/ShenBg"); if (maxDepth >= 3.40282347E+38f && minDepth < 3.40282347E+38f) { spriteBatch.Draw(Main.blackTileTexture, new Rectangle(0, 0, Main.screenWidth, Main.screenHeight), Color.Black * Intensity); spriteBatch.Draw(SkyTex, new Rectangle(0, 0, Main.screenWidth, Main.screenHeight), Color.White); } int num = -1; int num2 = 0; for (int i = 0; i < Meteors.Length; i++) { float depth = Meteors[i].Depth; if (num == -1 && depth < maxDepth) { num = i; } if (depth <= minDepth) { break; } num2 = i; } if (num == -1) { return; } float scale = Math.Min(1f, (Main.screenPosition.Y - 1000f) / 1000f); Vector2 value3 = Main.screenPosition + new Vector2(Main.screenWidth >> 1, Main.screenHeight >> 1); Rectangle rectangle = new Rectangle(-1000, -1000, 4000, 4000); for (int j = num; j < num2; j++) { Vector2 value4 = new Vector2(1f / Meteors[j].Depth, 0.9f / Meteors[j].Depth); Vector2 position = (Meteors[j].Position - value3) * value4 + value3 - Main.screenPosition; int num3 = Meteors[j].FrameCounter / 3; Meteors[j].FrameCounter = (Meteors[j].FrameCounter + 1) % 12; if (rectangle.Contains((int)position.X, (int)position.Y)) { spriteBatch.Draw(MeteorTexture, position, new Rectangle?(new Rectangle(0, num3 * (MeteorTexture.Height / 4), MeteorTexture.Width, MeteorTexture.Height / 4)), Color.White * scale * Intensity, 0f, Vector2.Zero, value4.X * 5f * Meteors[j].Scale, SpriteEffects.None, 0f); } } }
public override void Draw(SpriteBatch spriteBatch, float minDepth, float maxDepth) { Texture2D PlanetTexture = mod.GetTexture("Backgrounds/AkumaSun"); Texture2D MeteorTexture = mod.GetTexture("Backgrounds/AkumaAMeteor"); Texture2D SkyTex = mod.GetTexture("Backgrounds/SkyTex"); if (maxDepth >= 3.40282347E+38f && minDepth < 3.40282347E+38f) { if (Main.dayTime) { spriteBatch.Draw(Main.blackTileTexture, new Rectangle(0, 0, Main.screenWidth, Main.screenHeight), Color.Black * Intensity); spriteBatch.Draw(SkyTex, new Rectangle(0, Math.Max(0, (int)((Main.worldSurface * 16.0 - Main.screenPosition.Y - 2400.0) * 0.10000000149011612)), Main.screenWidth, Main.screenHeight), Color.DeepSkyBlue * Math.Min(1f, (Main.screenPosition.Y - 800f) / 1000f * Intensity)); float num64 = 1f; num64 -= Main.cloudAlpha * 1.5f; if (num64 < 0f) { num64 = 0f; } int num20 = (int)(Main.time / 54000.0 * (Main.screenWidth + Main.sunTexture.Width * 2)) - Main.sunTexture.Width; int num21 = 0; float num22 = 1f; float rotation = (float)(Main.time / 54000.0) * 2f - 7.3f; double bgTop = (-Main.screenPosition.Y) / (Main.worldSurface * 16.0 - 600.0) * 200.0; if (Main.dayTime) { double num26; if (Main.time < 27000.0) { num26 = Math.Pow(1.0 - Main.time / 54000.0 * 2.0, 2.0); num21 = (int)(bgTop + num26 * 250.0 + 180.0); } else { num26 = Math.Pow((Main.time / 54000.0 - 0.5) * 2.0, 2.0); num21 = (int)(bgTop + num26 * 250.0 + 180.0); } num22 = (float)(1.2 - num26 * 0.4); } Color color6 = new Color((byte)(255f * num64), (byte)(Color.White.G * num64), (byte)(Color.White.B * num64), (byte)(255f * num64)); Main.spriteBatch.Draw(PlanetTexture, new Vector2(num20, num21 + Main.sunModY), new Microsoft.Xna.Framework.Rectangle?(new Rectangle(0, 0, PlanetTexture.Width, PlanetTexture.Height)), color6, rotation, new Vector2(PlanetTexture.Width / 2, PlanetTexture.Height / 2), num22, SpriteEffects.None, 0f); } } int num = -1; int num2 = 0; for (int i = 0; i < Meteors.Length; i++) { float depth = Meteors[i].Depth; if (num == -1 && depth < maxDepth) { num = i; } if (depth <= minDepth) { break; } num2 = i; } if (num == -1) { return; } float scale = Math.Min(1f, (Main.screenPosition.Y - 1000f) / 1000f); Vector2 value3 = Main.screenPosition + new Vector2(Main.screenWidth >> 1, Main.screenHeight >> 1); Rectangle rectangle = new Rectangle(-1000, -1000, 4000, 4000); for (int j = num; j < num2; j++) { Vector2 value4 = new Vector2(1f / Meteors[j].Depth, 0.9f / Meteors[j].Depth); Vector2 position = (Meteors[j].Position - value3) * value4 + value3 - Main.screenPosition; int num3 = Meteors[j].FrameCounter / 3; Meteors[j].FrameCounter = (Meteors[j].FrameCounter + 1) % 12; if (rectangle.Contains((int)position.X, (int)position.Y)) { spriteBatch.Draw(MeteorTexture, position, new Rectangle?(new Rectangle(0, num3 * (MeteorTexture.Height / 4), MeteorTexture.Width, MeteorTexture.Height / 4)), Color.White * scale * Intensity, 0f, Vector2.Zero, value4.X * 5f * Meteors[j].Scale, SpriteEffects.None, 0f); } } }
public override void Draw(SpriteBatch spriteBatch, float minDepth, float maxDepth) { Texture2D PlanetTexture = mod.GetTexture("Backgrounds/VoidBH"); Texture2D Asteroids1 = mod.GetTexture("Backgrounds/Asteroids1"); Texture2D Asteroids2 = mod.GetTexture("Backgrounds/Asteroids2"); Texture2D Asteroids3 = mod.GetTexture("Backgrounds/Asteroids3"); Texture2D Echo = mod.GetTexture("Backgrounds/Echo"); Texture2D LB = mod.GetTexture("Backgrounds/LB"); Texture2D boltTexture = mod.GetTexture("Backgrounds/VoidBolt"); Texture2D flashTexture = mod.GetTexture("Backgrounds/VoidFlash"); Texture2D Stars = mod.GetTexture("Backgrounds/Void_Starfield"); if (maxDepth >= 3.40282347E+38f && minDepth < 3.40282347E+38f) { var planetPos = new Vector2(Main.screenWidth / 2, Main.screenHeight / 2); var echoPos = new Vector2(Main.screenWidth / 2, Main.screenHeight / 2); var Asteroidpos1 = new Vector2(Main.screenWidth / 2, Main.screenHeight / 2); var Asteroidpos2 = new Vector2(Main.screenWidth / 2, Main.screenHeight / 2); var Asteroidpos3 = new Vector2(Main.screenWidth / 2, Main.screenHeight / 2); asteroidPercent1 += 0.004f; asteroidPercent2 += 0.005f; asteroidPercent3 += 0.006f; if (asteroidPercent1 > (float)Math.PI) { asteroidPercent1 = 0f; } if (asteroidPercent2 > (float)Math.PI) { asteroidPercent2 = 0f; } if (asteroidPercent3 > (float)Math.PI) { asteroidPercent3 = 0f; } Rotation -= .0008f; LBRotation += .0005f; Asteroidpos1.Y += (float)Math.Sin(asteroidPercent1) * 16f; Asteroidpos2.Y += (float)Math.Sin(asteroidPercent2) * -30f; Asteroidpos3.Y += (float)Math.Sin(asteroidPercent3) * 20f; if (!AAWorld.downedZero) { spriteBatch.Draw(Stars, new Rectangle(0, 0, Main.screenWidth, Main.screenHeight), Color.White); } else { spriteBatch.Draw(Main.blackTileTexture, new Rectangle(0, 0, Main.screenWidth, Main.screenHeight), Color.Black * Intensity); spriteBatch.Draw(PlanetTexture, planetPos, null, Color.White * 0.9f * Intensity, Rotation, new Vector2(PlanetTexture.Width >> 1, PlanetTexture.Height >> 1), 1f, SpriteEffects.None, 1f); float lightningIntensity = BaseUtility.MultiLerp(Main.LocalPlayer.miscCounter % 100f / 100f, 0.2f, 0.8f, 0.2f); spriteBatch.Draw(LB, planetPos, null, Color.White * 0.9f * Intensity * lightningIntensity, LBRotation, new Vector2(LB.Width >> 1, LB.Height >> 1), 1f, SpriteEffects.None, 1f); if (AAWorld.downedZero) { spriteBatch.Draw(Echo, echoPos, null, GetGlowAlpha(true), 0f, new Vector2(Echo.Width >> 1, Echo.Height >> 1), AAWorld.downedAllAncients ? 0.4f : .3f, SpriteEffects.None, 1f); } } Color astroGlow = Color.White * MathHelper.Lerp(0.7f, 1f, Main.mouseTextColor / 255f); astroGlow.A = (byte)(255f * Intensity); spriteBatch.Draw(Asteroids1, Asteroidpos1, null, NPC.downedMoonlord ? astroGlow : Color.White, 0f, new Vector2(Asteroids1.Width >> 1, Asteroids1.Height >> 1), 1f, SpriteEffects.None, 1f); spriteBatch.Draw(Asteroids2, Asteroidpos2, null, NPC.downedMoonlord ? astroGlow : Color.White, 0f, new Vector2(Asteroids2.Width >> 1, Asteroids2.Height >> 1), 1f, SpriteEffects.None, 1f); spriteBatch.Draw(Asteroids3, Asteroidpos3, null, NPC.downedMoonlord ? astroGlow : Color.White, 0f, new Vector2(Asteroids3.Width >> 1, Asteroids3.Height >> 1), 1f, SpriteEffects.None, 1f); } float scale = Math.Min(1f, (Main.screenPosition.Y - 1000f) / 1000f); Vector2 value3 = Main.screenPosition + new Vector2(Main.screenWidth >> 1, Main.screenHeight >> 1); Rectangle rectangle = new Rectangle(-1000, -1000, 4000, 4000); for (int i = 0; i < bolts.Length; i++) { if (bolts[i].IsAlive && bolts[i].Depth > minDepth && bolts[i].Depth < maxDepth) { Vector2 value4 = new Vector2(1f / bolts[i].Depth, 0.9f / bolts[i].Depth); Vector2 position = (bolts[i].Position - value3) * value4 + value3 - Main.screenPosition; if (rectangle.Contains((int)position.X, (int)position.Y)) { Texture2D texture = boltTexture; int life = bolts[i].Life; if (life > 26 && life % 2 == 0) { texture = flashTexture; } float scale2 = life / 30f; spriteBatch.Draw(texture, position, null, Color.White * scale * scale2 * Intensity, 0f, Vector2.Zero, value4.X * 5f, SpriteEffects.None, 0f); } } } }
public override void Draw(SpriteBatch spriteBatch, float minDepth, float maxDepth) { Texture2D PlanetTexture = mod.GetTexture("Backgrounds/YamataMoon"); Texture2D BeamTexture = mod.GetTexture("Backgrounds/YamataBeam"); Texture2D[] RockTextures = new Texture2D[3]; for (int i = 0; i < RockTextures.Length; i++) { RockTextures[i] = mod.GetTexture("Backgrounds/YamataRock" + i); } Texture2D SkyTex = mod.GetTexture("Backgrounds/YamataStars"); if (maxDepth >= 3.40282347E+38f && minDepth < 3.40282347E+38f) { if (!Main.dayTime) { spriteBatch.Draw(SkyTex, new Rectangle(0, 0, Main.screenWidth, Main.screenHeight), Color.White); double bgTop = (int)((-Main.screenPosition.Y) / (Main.worldSurface * 16.0 - 600.0) * 200.0); Main.bgColor = Color.White; if (Main.gameMenu || Main.netMode == NetmodeID.Server) { bgTop = -200; } int num23 = (int)(Main.time / 32400.0 * (Main.screenWidth + Main.moonTexture[Main.moonType].Width * 2)) - Main.moonTexture[Main.moonType].Width; int num24 = 0; Color white2 = Color.White; float num25 = 1f; float rotation2 = (float)(Main.time / 32400.0) * 2f - 7.3f; if (!Main.dayTime) { double num27; if (Main.time < 16200.0) { num27 = Math.Pow(1.0 - Main.time / 32400.0 * 2.0, 2.0); num24 = (int)(bgTop + num27 * 250.0 + 180.0); } else { num27 = Math.Pow((Main.time / 32400.0 - 0.5) * 2.0, 2.0); num24 = (int)(bgTop + num27 * 250.0 + 180.0); } num25 = (float)(1.2 - num27 * 0.4); } float num65 = 1f - Main.cloudAlpha * 1.5f; if (num65 < 0f) { num65 = 0f; } white2.R = (byte)(white2.R * num65); white2.G = (byte)(white2.G * num65); white2.B = (byte)(white2.B * num65); white2.A = (byte)(white2.A * num65); Main.spriteBatch.Draw(PlanetTexture, new Vector2(num23, num24 + Main.moonModY), new Rectangle?(new Rectangle(0, 0, PlanetTexture.Width, PlanetTexture.Width)), white2, rotation2, new Vector2(PlanetTexture.Width / 2, PlanetTexture.Width / 2), num25, SpriteEffects.None, 0f); } } int num = -1; int num2 = 0; for (int i = 0; i < _pillars.Length; i++) { float depth = _pillars[i].Depth; if (num == -1 && depth < maxDepth) { num = i; } if (depth <= minDepth) { break; } num2 = i; } if (num == -1) { return; } Vector2 value3 = Main.screenPosition + new Vector2(Main.screenWidth >> 1, Main.screenHeight >> 1); Rectangle rectangle = new Rectangle(-1000, -1000, 4000, 4000); float scale = Math.Min(1f, (Main.screenPosition.Y - 1000f) / 1000f); for (int j = num; j < num2; j++) { Vector2 value4 = new Vector2(1f / _pillars[j].Depth, 0.9f / _pillars[j].Depth); Vector2 vector = _pillars[j].Position; vector = (vector - value3) * value4 + value3 - Main.screenPosition; if (rectangle.Contains((int)vector.X, (int)vector.Y)) { float num3 = value4.X * 450f; spriteBatch.Draw(BeamTexture, vector, null, Color.White * 0.2f * scale * Intensity, 0f, Vector2.Zero, new Vector2(num3 / 70f, num3 / 45f), SpriteEffects.None, 0f); int num4 = 0; for (float num5 = 0f; num5 <= 1f; num5 += 0.03f) { float num6 = 1f - (num5 + Main.GlobalTime * 0.02f + (float)Math.Sin((float)j)) % 1f; spriteBatch.Draw(RockTextures[num4], vector + new Vector2((float)Math.Sin(num5 * 1582f) * (num3 * 0.5f) + num3 * 0.5f, num6 * 2000f), null, Color.White * num6 * scale * Intensity, num6 * 20f, new Vector2(RockTextures[num4].Width >> 1, RockTextures[num4].Height >> 1), 0.9f, SpriteEffects.None, 0f); num4 = (num4 + 1) % RockTextures.Length; } } } }