private IEnumerator HandleTimeSlowDuration() { float newAdditionalTableFlipSlowTime = GetAdditionalTableFlipSlowTime() + 1.5f; SetAdditionalTableFlipSlowTime(newAdditionalTableFlipSlowTime); float newAdditionalTableFlipSlowTime2 = Mathf.Min(3f, GetAdditionalTableFlipSlowTime()); SetAdditionalTableFlipSlowTime(newAdditionalTableFlipSlowTime2); if (GetTableFlipTimeIsActive()) { yield break; } SetTableFlipTimeIsActive(true); BraveTime.RegisterTimeScaleMultiplier(0.5f, this.gameObject); float elapsed = 0f; while (elapsed < GetAdditionalTableFlipSlowTime()) { elapsed += BraveTime.DeltaTime; yield return(null); } SetAdditionalTableFlipSlowTime(0f); SetTableFlipTimeIsActive(false); BraveTime.ClearMultiplier(this.gameObject); yield break; }
protected override void Update() { if (gun.CurrentOwner && gun.CurrentOwner is PlayerController) { PlayerController owna = gun.CurrentOwner as PlayerController; if (owna.IsDodgeRolling) { if (TimeIsFrozen) { BraveTime.ClearMultiplier(base.gameObject); TimeIsFrozen = false; } } if (gun.IsCharging) { if (!TimeIsFrozen && !owna.IsDodgeRolling) { BraveTime.SetTimeScaleMultiplier(0.01f, base.gameObject); TimeIsFrozen = true; } } else { if (TimeIsFrozen) { BraveTime.ClearMultiplier(base.gameObject); TimeIsFrozen = false; } } } base.Update(); }
static void Postfix(PlayerController __instance) { if (__instance.AcceptingNonMotionInput) { BraveInput instanceForPlayer = BraveInput.GetInstanceForPlayer(__instance.PlayerIDX); bool isKeyboard = instanceForPlayer.IsKeyboardAndMouse(false); if (isKeyboard) { if (Input.GetKeyDown(KeyCode.H)) { util.ToggleHealthBars(); logger.LogInfo($"Toggled health bars to {util.healthBars}"); } if (Input.GetKeyDown(KeyCode.Z)) { util.ToggleAutoBlank(); logger.LogInfo($"Toggled auto blank to {util.autoBlank}"); } if (Input.GetKeyDown(KeyCode.G)) { SilencerInstance.DestroyBulletsInRange(GameManager.Instance.PrimaryPlayer.CenterPosition, 10000, true, true); } if (Input.GetKeyDown(KeyCode.I)) { ReadFiles(); } if (Input.GetKeyDown(KeyCode.U)) { SpawnItems(); } if (Input.GetKeyDown(KeyCode.O)) { BraveTime.RegisterTimeScaleMultiplier(0.5f, __instance.gameObject); logger.LogInfo($"Applied time multiplier"); } if (Input.GetKeyDown(KeyCode.P)) { BraveTime.ClearMultiplier(__instance.gameObject); logger.LogInfo($"Cleared time multiplier"); } if (Input.GetKeyDown(KeyCode.K)) { configGodModeEnabled.Value = !configGodModeEnabled.Value; logger.LogInfo($"Toggled godmode to {configGodModeEnabled.Value}"); } if (Input.GetKeyDown(KeyCode.J)) { configInfiniteAmmoEnabled.Value = !configInfiniteAmmoEnabled.Value; logger.LogInfo($"Toggled infinite ammo to {configInfiniteAmmoEnabled.Value}"); } } } }
public override void OnSwitchedAwayFromThisGun() { if (TimeIsFrozen) { BraveTime.ClearMultiplier(base.gameObject); TimeIsFrozen = false; } base.OnSwitchedAwayFromThisGun(); }
private void ImprovedMindControl(PlayerController player) { var Enemy = EnemyDatabase.GetOrLoadByGuid("01972dee89fc4404a5c408d50007dad5"); if (player.PlayerHasActiveSynergy("Skilled & Killed")) { Enemy = EnemyDatabase.GetOrLoadByGuid("70216cae6c1346309d86d4a0b4603045"); } if (player.PlayerHasActiveSynergy("Darkened Soul")) { Enemy = EnemyDatabase.GetOrLoadByGuid("39e6f47a16ab4c86bec4b12984aece4c"); } if (player.PlayerHasActiveSynergy("Ridin' Shotgun")) { Enemy = EnemyDatabase.GetOrLoadByGuid("128db2f0781141bcb505d8f00f9e4d47"); } AIActor aiactor = AIActor.Spawn(Enemy.aiActor, player.CenterPosition, GameManager.Instance.PrimaryPlayer.CurrentRoom, true, AIActor.AwakenAnimationType.Spawn, true); MindControlNotGamer THEBRAINWAVES = aiactor.gameObject.GetOrAddComponent <MindControlNotGamer>(); THEBRAINWAVES.owner = player; GameManager.Instance.MainCameraController.StopTrackingPlayer(); GameManager.Instance.MainCameraController.SetManualControl(true, false); aiactor.IgnoreForRoomClear = true; aiactor.CanTargetEnemies = true; aiactor.HitByEnemyBullets = true; aiactor.MovementSpeed = player.stats.MovementSpeed; aiactor.gameObject.AddComponent <KillOnRoomClear>(); player.healthHaver.IsVulnerable = false; player.ToggleRenderer(false, "arbitrary teleporter."); player.ToggleGunRenderers(false, "arbitrary teleporter."); player.ToggleHandRenderers(false, "arbitrary teleporter."); aiactor.healthHaver.OnDeath += this.SummonPlayer; if (player.PlayerHasActiveSynergy(SynergyNameToCheck)) { BraveTime.ClearMultiplier(base.gameObject); Gamer = true; player.RemovePassiveItem(279); aiactor.healthHaver.OnDamaged += this.SwapPositions; BraveTime.ClearMultiplier(base.gameObject); } daguy = aiactor; player.IsVisible = false; player.specRigidbody.CollideWithOthers = false; player.MovementModifiers += this.NoMotionModifier; player.IsStationary = true; player.CurrentStoneGunTimer = 9999999999999999999999f; StartCoroutine("jaja"); }
private IEnumerator CauseDeath(AIActor aiActor, PlayerController user) { //GameManager.Instance.PauseRaw(true); Pixelator.Instance.DoFinalNonFadedLayer = true; //int PreviousLayer = aiActor.gameObject.layer; float elapsed = 0f; float duration = 0.8f; user.healthHaver.IsVulnerable = false; user.SetInputOverride("tiddy"); RadialSlowInterface Rad; Rad = new RadialSlowInterface { RadialSlowHoldTime = 6f, RadialSlowOutTime = 2f, RadialSlowTimeModifier = 0f, DoesSepia = false, UpdatesForNewEnemies = true, audioEvent = "Play_OBJ_time_bell_01", }; Rad.DoRadialSlow(user.CenterPosition, user.CurrentRoom); //aiActor.LocalTimeScale = 0; GameObject clockhairObject = Instantiate(BraveResources.Load <GameObject>("Clockhair", ".prefab")); ClockhairController clockhair = clockhairObject.GetComponent <ClockhairController>(); elapsed = 0f; duration = clockhair.ClockhairInDuration; Vector3 clockhairTargetPosition = aiActor.sprite.WorldCenter; Vector3 clockhairStartPosition = clockhairTargetPosition + new Vector3(-20f, 5f, 0f); clockhair.renderer.enabled = false; clockhair.spriteAnimator.Play("clockhair_intro"); clockhair.hourAnimator.Play("hour_hand_intro"); clockhair.minuteAnimator.Play("minute_hand_intro"); clockhair.secondAnimator.Play("second_hand_intro"); bool hasWobbled = false; while (elapsed < duration) { if (GameManager.INVARIANT_DELTA_TIME == 0f) { elapsed += 0.05f; } elapsed += GameManager.INVARIANT_DELTA_TIME; float t2 = elapsed / duration; float smoothT = Mathf.SmoothStep(0f, 1f, t2); Vector3 currentPosition = Vector3.Slerp(clockhairStartPosition, clockhairTargetPosition, smoothT); clockhairObject.transform.position = currentPosition.WithZ(0f); if (t2 > 0.5f) { clockhair.renderer.enabled = true; clockhair.spriteAnimator.UpdateAnimation(GameManager.INVARIANT_DELTA_TIME); } if (t2 > 0.75f) { clockhair.hourAnimator.GetComponent <Renderer>().enabled = true; clockhair.minuteAnimator.GetComponent <Renderer>().enabled = true; clockhair.secondAnimator.GetComponent <Renderer>().enabled = true; clockhair.hourAnimator.UpdateAnimation(GameManager.INVARIANT_DELTA_TIME); clockhair.minuteAnimator.UpdateAnimation(GameManager.INVARIANT_DELTA_TIME); clockhair.secondAnimator.UpdateAnimation(GameManager.INVARIANT_DELTA_TIME); } if (!hasWobbled && clockhair.spriteAnimator.CurrentFrame == clockhair.spriteAnimator.CurrentClip.frames.Length - 1) { clockhair.spriteAnimator.Play("clockhair_wobble"); hasWobbled = true; } clockhair.sprite.UpdateZDepth(); //aiActor.spriteAnimator.UpdateAnimation(GameManager.INVARIANT_DELTA_TIME); yield return(null); } if (!hasWobbled) { clockhair.spriteAnimator.Play("clockhair_wobble"); } clockhair.SpinToSessionStart(clockhair.ClockhairSpinDuration); elapsed = 0f; duration = clockhair.ClockhairSpinDuration + clockhair.ClockhairPauseBeforeShot; while (elapsed < duration) { if (GameManager.INVARIANT_DELTA_TIME == 0f) { elapsed += 0.05f; } elapsed += GameManager.INVARIANT_DELTA_TIME; clockhair.spriteAnimator.UpdateAnimation(GameManager.INVARIANT_DELTA_TIME); yield return(null); } elapsed = 0f; duration = 0.1f; clockhairStartPosition = clockhairObject.transform.position; clockhairTargetPosition = clockhairStartPosition + new Vector3(0f, 12f, 0f); clockhair.spriteAnimator.Play("clockhair_fire"); clockhair.hourAnimator.GetComponent <Renderer>().enabled = false; clockhair.minuteAnimator.GetComponent <Renderer>().enabled = false; clockhair.secondAnimator.GetComponent <Renderer>().enabled = false; while (elapsed < duration) { if (GameManager.INVARIANT_DELTA_TIME == 0f) { elapsed += 0.05f; } elapsed += GameManager.INVARIANT_DELTA_TIME; clockhair.spriteAnimator.UpdateAnimation(GameManager.INVARIANT_DELTA_TIME); //aiActor.spriteAnimator.UpdateAnimation(GameManager.INVARIANT_DELTA_TIME); yield return(null); } aiActor.healthHaver.ApplyDamage(10000000f, Vector2.zero, "You Died.", CoreDamageTypes.None, DamageCategory.Unstoppable, false, null, true); elapsed = 0f; duration = 1f; while (elapsed < duration) { if (GameManager.INVARIANT_DELTA_TIME == 0f) { elapsed += 0.05f; } elapsed += GameManager.INVARIANT_DELTA_TIME; if (clockhair.spriteAnimator.CurrentFrame == clockhair.spriteAnimator.CurrentClip.frames.Length - 1) { clockhair.renderer.enabled = false; } else { clockhair.spriteAnimator.UpdateAnimation(GameManager.INVARIANT_DELTA_TIME); } //aiActor.spriteAnimator.UpdateAnimation(GameManager.INVARIANT_DELTA_TIME); yield return(null); } Pixelator.Instance.FadeToColor(0.25f, Pixelator.Instance.FadeColor, true); Pixelator.Instance.LerpToLetterbox(1f, 0.25f); Pixelator.Instance.DoFinalNonFadedLayer = false; // aiActor.gameObject.SetLayerRecursively(PreviousLayer); // GameManager.Instance.ForceUnpause(); //GameManager.Instance.PreventPausing = false; BraveTime.ClearMultiplier(GameManager.Instance.gameObject); yield return(new WaitForSeconds(1f)); //GameManager.Instance.PrimaryPlayer.CurrentInputState = PlayerInputState.AllInput; //if (GameManager.Instance.SecondaryPlayer) { GameManager.Instance.SecondaryPlayer.CurrentInputState = PlayerInputState.AllInput; } //GameManager.Instance.MainCameraController.SetManualControl(false, true); user.ClearInputOverride("tiddy"); Destroy(clockhairObject); user.healthHaver.IsVulnerable = true; yield break; }
private IEnumerator HandleDeathSequence() { GameManager.Instance.PauseRaw(true); Pixelator.Instance.DoFinalNonFadedLayer = true; aiShooter.CurrentGun.gameObject.SetActive(false); aiShooter.gunAttachPoint.gameObject.SetActive(false); aiShooter.ToggleHandRenderers(false, "Death Sequance"); int PreviousLayer = gameObject.layer; gameObject.SetLayerRecursively(LayerMask.NameToLayer("Unfaded")); float elapsed = 0f; float duration = 0.8f; tk2dBaseSprite spotlightSprite = (Instantiate(BraveResources.Load <GameObject>("DeathShadow", ".prefab"), specRigidbody.UnitCenter, Quaternion.identity)).GetComponent <tk2dBaseSprite>(); spotlightSprite.spriteAnimator.ignoreTimeScale = true; spotlightSprite.spriteAnimator.Play(); tk2dSpriteAnimator whooshAnimator = spotlightSprite.transform.GetChild(0).GetComponent <tk2dSpriteAnimator>(); whooshAnimator.ignoreTimeScale = true; whooshAnimator.Play(); Pixelator.Instance.CustomFade(0.6f, 0f, Color.white, Color.black, 0.1f, 0.5f); Pixelator.Instance.LerpToLetterbox(0.35f, 0.8f); spotlightSprite.color = Color.white; yield return(StartCoroutine(InvariantWait(0.4f))); GameObject clockhairObject = Instantiate(BraveResources.Load <GameObject>("Clockhair", ".prefab")); ClockhairController clockhair = clockhairObject.GetComponent <ClockhairController>(); elapsed = 0f; duration = clockhair.ClockhairInDuration; Vector3 clockhairTargetPosition = sprite.WorldCenter; Vector3 clockhairStartPosition = clockhairTargetPosition + new Vector3(-20f, 5f, 0f); clockhair.renderer.enabled = false; clockhair.spriteAnimator.Play("clockhair_intro"); clockhair.hourAnimator.Play("hour_hand_intro"); clockhair.minuteAnimator.Play("minute_hand_intro"); clockhair.secondAnimator.Play("second_hand_intro"); bool hasWobbled = false; while (elapsed < duration) { if (GameManager.INVARIANT_DELTA_TIME == 0f) { elapsed += 0.05f; } elapsed += GameManager.INVARIANT_DELTA_TIME; float t2 = elapsed / duration; float smoothT = Mathf.SmoothStep(0f, 1f, t2); Vector3 currentPosition = Vector3.Slerp(clockhairStartPosition, clockhairTargetPosition, smoothT); clockhairObject.transform.position = currentPosition.WithZ(0f); if (t2 > 0.5f) { clockhair.renderer.enabled = true; clockhair.spriteAnimator.UpdateAnimation(GameManager.INVARIANT_DELTA_TIME); } if (t2 > 0.75f) { clockhair.hourAnimator.GetComponent <Renderer>().enabled = true; clockhair.minuteAnimator.GetComponent <Renderer>().enabled = true; clockhair.secondAnimator.GetComponent <Renderer>().enabled = true; clockhair.hourAnimator.UpdateAnimation(GameManager.INVARIANT_DELTA_TIME); clockhair.minuteAnimator.UpdateAnimation(GameManager.INVARIANT_DELTA_TIME); clockhair.secondAnimator.UpdateAnimation(GameManager.INVARIANT_DELTA_TIME); } if (!hasWobbled && clockhair.spriteAnimator.CurrentFrame == clockhair.spriteAnimator.CurrentClip.frames.Length - 1) { clockhair.spriteAnimator.Play("clockhair_wobble"); hasWobbled = true; } clockhair.sprite.UpdateZDepth(); spriteAnimator.UpdateAnimation(GameManager.INVARIANT_DELTA_TIME); yield return(null); } if (!hasWobbled) { clockhair.spriteAnimator.Play("clockhair_wobble"); } clockhair.SpinToSessionStart(clockhair.ClockhairSpinDuration); elapsed = 0f; duration = clockhair.ClockhairSpinDuration + clockhair.ClockhairPauseBeforeShot; while (elapsed < duration) { if (GameManager.INVARIANT_DELTA_TIME == 0f) { elapsed += 0.05f; } elapsed += GameManager.INVARIANT_DELTA_TIME; clockhair.spriteAnimator.UpdateAnimation(GameManager.INVARIANT_DELTA_TIME); yield return(null); } elapsed = 0f; duration = 0.1f; clockhairStartPosition = clockhairObject.transform.position; clockhairTargetPosition = clockhairStartPosition + new Vector3(0f, 12f, 0f); clockhair.spriteAnimator.Play("clockhair_fire"); clockhair.hourAnimator.GetComponent <Renderer>().enabled = false; clockhair.minuteAnimator.GetComponent <Renderer>().enabled = false; clockhair.secondAnimator.GetComponent <Renderer>().enabled = false; //Setup Daeth Animation Here; if (m_GungeoneerMimicBossController && m_GungeoneerMimicBossController.m_Player) { // aiActor.aiAnimator.enabled = false; if (m_GungeoneerMimicBossController.m_Player.UseArmorlessAnim) { spriteAnimator.Play(DeathClipName_Armorless); } else { spriteAnimator.Play(DeathClipName); } } while (elapsed < duration) { if (GameManager.INVARIANT_DELTA_TIME == 0f) { elapsed += 0.05f; } elapsed += GameManager.INVARIANT_DELTA_TIME; clockhair.spriteAnimator.UpdateAnimation(GameManager.INVARIANT_DELTA_TIME); spriteAnimator.UpdateAnimation(GameManager.INVARIANT_DELTA_TIME); yield return(null); } elapsed = 0f; duration = 1f; while (elapsed < duration) { if (GameManager.INVARIANT_DELTA_TIME == 0f) { elapsed += 0.05f; } elapsed += GameManager.INVARIANT_DELTA_TIME; if (clockhair.spriteAnimator.CurrentFrame == clockhair.spriteAnimator.CurrentClip.frames.Length - 1) { clockhair.renderer.enabled = false; } else { clockhair.spriteAnimator.UpdateAnimation(GameManager.INVARIANT_DELTA_TIME); } spriteAnimator.UpdateAnimation(GameManager.INVARIANT_DELTA_TIME); yield return(null); } yield return(StartCoroutine(InvariantWait(1f))); Pixelator.Instance.FadeToColor(0.25f, Pixelator.Instance.FadeColor, true); Pixelator.Instance.LerpToLetterbox(1f, 0.25f); Destroy(spotlightSprite.gameObject); Pixelator.Instance.DoFinalNonFadedLayer = false; gameObject.SetLayerRecursively(PreviousLayer); GameManager.Instance.ForceUnpause(); GameManager.Instance.PreventPausing = false; BraveTime.ClearMultiplier(GameManager.Instance.gameObject); yield return(new WaitForSeconds(1f)); GameManager.Instance.PrimaryPlayer.CurrentInputState = PlayerInputState.AllInput; if (GameManager.Instance.SecondaryPlayer) { GameManager.Instance.SecondaryPlayer.CurrentInputState = PlayerInputState.AllInput; } GameManager.Instance.MainCameraController.SetManualControl(false, true); Destroy(clockhairObject); healthHaver.DeathAnimationComplete(null, null); if (gameObject.GetComponent <ExpandGungeoneerMimicIntroDoer>()) { Destroy(gameObject.GetComponent <ExpandGungeoneerMimicIntroDoer>().MirrorBase); Destroy(gameObject.GetComponent <ExpandGungeoneerMimicIntroDoer>().MirrorShatterFX); } yield break; }