コード例 #1
0
        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());
        }
コード例 #2
0
 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();
 }