public static void LevelLoaded() { if (cursesLastFloor == null) { cursesLastFloor = new List <string>(); } foreach (CurseData curse in CurrentActiveCurses) { cursesLastFloor.Add(curse.curseName); } CurseManager.RemoveAllCurses(); float allCurse = GameManager.Instance.GetCombinedPlayersStatAmount(PlayerStats.StatType.Curse); float ran = UnityEngine.Random.value; Debug.Log("Running Curse Check on Floor Load - Random (" + ran + ") - CurseTotal (" + allCurse + ")"); float curseChance = 0.0666f; if (!SaveAPIManager.GetFlag(CustomDungeonFlags.CURSES_DISABLED)) { if (UnityEngine.Random.value <= (allCurse * curseChance)) { float hellclears = GameStatsManager.Instance.GetPlayerStatValue(TrackedStats.TIMES_CLEARED_BULLET_HELL); if (hellclears > 0) { AddRandomCurse(); } } } if (PostNewLevelCurseProcessing != null) { CurseManager.PostNewLevelCurseProcessing(); } InherentPostLevelCurseProcessing(); GameManager.Instance.StartCoroutine(DoCursePopups()); }
public static void OnFloorUnloaded(List <PlayerController> Players) { if (OnFloorExited != null) { OnFloorExited(); } foreach (PlayerController player in Players) { } if (CurseManager.CurrentActiveCurses.Count > 0) { if (!SaveAPIManager.GetFlag(CustomDungeonFlags.FLOOR_CLEARED_WITH_CURSE)) { SaveAPIManager.SetFlag(CustomDungeonFlags.FLOOR_CLEARED_WITH_CURSE, true); } } CurseManager.RemoveAllCurses(); }