public static void CloseLantern() { if (FakeModPlayer.AnyLanterns() == -1) { return; } Main.projectile[FakeModPlayer.AnyLanterns()].ai[0] = 1; }
public override void AI() { if (FakeModPlayer.AnyLanterns2() != projectile.whoAmI) { projectile.active = false; return; } if (Twilight.FindHead() == -1 || ApoBirdSky.CurrentState != ApoBirdSky.State.ApoSky) { projectile.Kill(); return; } else { projectile.velocity = Vector2.Zero; } for (int i = 0; i < 6; i++) { CircleR[i] += 5; if (CircleR[i] > 200) { CircleAlpha[i] = (400 - CircleR[i]) / 200; } else { CircleAlpha[i] = 1; } if (CircleR[i] > 400) { CircleR[i] -= 400; } } if (!FakeModPlayer.Initialised) { FakeModPlayer.Initialised = true; Main.player[FakePlayer] = new Player(true) { name = Language.ActiveCulture == GameCulture.Chinese ? "永燃灯" : "A Lamp that Burns Forever", difficulty = 2, statLifeMax2 = 99999, statLifeMax = 99999, statLife = 99999, Center = projectile.Center, active = true, immuneAlpha = 255, immune = true, immuneTime = 60, }; Main.player[FakePlayer].PlayerFrame(); } else { if (!Main.player[FakePlayer].active) { Main.player[FakePlayer].active = true; Main.player[FakePlayer].statLife = 99999; Main.player[FakePlayer].statLifeMax = 99999; Main.player[FakePlayer].statLifeMax2 = 99999; Main.player[FakePlayer].immuneAlpha = 255; Main.player[FakePlayer].immune = true; Main.player[FakePlayer].immuneTime = 60; } } Main.player[FakePlayer].Center = projectile.Center; if (projectile.timeLeft > 440) { projectile.Opacity = (float)(480 - projectile.timeLeft) / 40; } if (projectile.timeLeft < 40) { projectile.Opacity = (float)projectile.timeLeft / 40; } }