Ejemplo n.º 1
0
    private void UpdateBattleFrame()
    {
        if (IsPaused)
        {
            return;
        }

        this.battleResult = battle.BattleMain();
        if (!FF9StateSystem.Battle.isDebug)
        {
            if (UIManager.Battle.FF9BMenu_IsEnable())
            {
                this.YMenu_ManagerActiveTime();
            }

            if ((Int64)this.battleResult == 1L)
            {
                PersistenSingleton <FF9StateSystem> .Instance.mode = 8;
                IsOver = true;
            }
        }
        SceneDirector.ServiceFade();
    }
Ejemplo n.º 2
0
    private void OnGUI()
    {
        Rect fullscreenRect = DebugGuiSkin.GetFullscreenRect();

        DebugGuiSkin.ApplySkin();
        GUILayout.BeginArea(fullscreenRect);
        GUILayout.BeginHorizontal(new GUILayoutOption[0]);
        if (GUILayout.Button("Back", new GUILayoutOption[0]))
        {
            SceneDirector.Replace("MainMenu", SceneTransition.FadeOutToBlack_FadeIn, true);
        }
        GUILayout.FlexibleSpace();
        if (GUILayout.Button("Debug", new GUILayoutOption[0]))
        {
            this.isEnableSoundController = !this.isEnableSoundController;
        }
        GUILayout.EndHorizontal();
        GUILayout.BeginVertical(new GUILayoutOption[0]);
        GUILayout.FlexibleSpace();
        GUILayout.BeginHorizontal(new GUILayoutOption[0]);
        GUILayout.FlexibleSpace();
        if (this.isEnableSoundController)
        {
            GUILayout.BeginHorizontal("box", new GUILayoutOption[0]);
            GUILayout.BeginVertical(new GUILayoutOption[0]);
            GUILayout.Label("File: " + MovieTestScript.MovieFiles[this.currMovieIndex], new GUILayoutOption[0]);
            GUILayout.BeginHorizontal(new GUILayoutOption[0]);
            this.DrawControlMenu();
            GUILayout.EndVertical();
            GUILayout.EndVertical();
            GUILayout.EndHorizontal();
        }
        GUILayout.FlexibleSpace();
        GUILayout.EndHorizontal();
        GUILayout.EndVertical();
        GUILayout.EndArea();
    }
Ejemplo n.º 3
0
 private void CheckBlackjackKey(Control keyCode)
 {
     if (!this.isReadyToBlackjack)
     {
         return;
     }
     if (this.blackjackKeyCodeCount < this.blackjackKeyCodeList.Count)
     {
         Control control = this.blackjackKeyCodeList[this.blackjackKeyCodeCount];
         if (control == keyCode)
         {
             this.blackjackKeyCodeCount++;
             if (this.blackjackKeyCodeCount == this.blackjackKeyCodeList.Count)
             {
                 FF9Snd.ff9snd_sndeffect_play(103, 8388608, 127, 128);
                 this.isStartToBlackjack = true;
             }
         }
         else
         {
             this.blackjackKeyCodeCount = 0;
         }
     }
     if (keyCode == Control.Pause)
     {
         if (this.isStartToBlackjack)
         {
             FF9Snd.ff9snd_sndeffect_play(3096, 8388608, 127, 128);
             SceneDirector.Replace("EndGame", SceneTransition.FadeOutToBlack_FadeIn, true);
             SceneDirector.ToggleFadeAll(false);
         }
         else
         {
             SceneDirector.Replace("Title", SceneTransition.FadeOutToBlack_FadeIn, true);
         }
     }
 }
Ejemplo n.º 4
0
    private void OnGUI()
    {
        if (!EventEngineUtils.showDebugUI)
        {
            return;
        }
        Rect fullscreenRect = DebugGuiSkin.GetFullscreenRect();

        DebugGuiSkin.ApplySkin();
        if (!FF9StateSystem.Battle.isDebug)
        {
            GUILayout.BeginArea(fullscreenRect);
            GUILayout.BeginHorizontal(new GUILayoutOption[0]);
            if (GUILayout.Button("Back", new GUILayoutOption[0]))
            {
                SceneDirector.Replace(PersistenSingleton <SceneDirector> .Instance.LastScene, SceneTransition.FadeOutToBlack_FadeIn, true);
            }
            GUILayout.FlexibleSpace();
            GUILayout.EndHorizontal();
            GUILayout.EndArea();
            return;
        }
        GUILayout.BeginArea(fullscreenRect);
        GUILayout.BeginHorizontal(new GUILayoutOption[0]);
        if (GUILayout.Button("Back", new GUILayoutOption[0]))
        {
            SceneDirector.Replace("MainMenu", SceneTransition.FadeOutToBlack_FadeIn, true);
        }
        GUILayout.FlexibleSpace();
        GUILayout.FlexibleSpace();
        GUILayout.FlexibleSpace();
        GUILayout.BeginVertical(new GUILayoutOption[0]);
        GUILayout.BeginVertical("Box", new GUILayoutOption[0]);
        GUILayout.BeginHorizontal(new GUILayoutOption[0]);
        if (this.isOpenBattleMapDebugPanel)
        {
            if (GUILayout.Button("Effect UI", new GUILayoutOption[0]))
            {
                this.isOpenEffectDebugPanel = !this.isOpenEffectDebugPanel;
                if (this.isOpenEffectDebugPanel)
                {
                    this.isOpenAttackDebugPanel = false;
                }
            }
            if (GUILayout.Button("Attack UI", new GUILayoutOption[0]))
            {
                this.isOpenAttackDebugPanel = !this.isOpenAttackDebugPanel;
                if (this.isOpenAttackDebugPanel)
                {
                    this.isOpenEffectDebugPanel = false;
                }
            }
            GUILayout.FlexibleSpace();
        }
        if (GUILayout.Button("Debug UI", new GUILayoutOption[0]))
        {
            this.isOpenBattleMapDebugPanel = !this.isOpenBattleMapDebugPanel;
        }
        GUILayout.EndHorizontal();
        if (this.isOpenBattleMapDebugPanel)
        {
            this.BuildBattleMapDebugPanel();
        }
        GUILayout.EndVertical();
        GUILayout.FlexibleSpace();
        GUILayout.EndVertical();
        GUILayout.EndHorizontal();
        GUILayout.EndArea();
        if (this.isOpenEffectDebugPanel)
        {
            this.OnUiSpecialEffect();
        }
        if (this.isOpenAttackDebugPanel)
        {
            this.OnUiAttackDebug();
        }
    }
Ejemplo n.º 5
0
    private void BuildBattleMapDebugPanel()
    {
        GUILayout.BeginHorizontal(new GUILayoutOption[0]);
        if (GUILayout.Button(" < ", new GUILayoutOption[0]))
        {
            this.mapIndex--;
            if (this.mapIndex < 0)
            {
                this.mapIndex = (Int32)this.mapIDs.Length - 1;
            }
            FF9StateSystem.Battle.battleMapIndex = this.mapIDs[this.mapIndex];
            FF9StateSystem.Battle.patternIndex   = 0;
            SceneDirector.Replace("BattleMapDebug", SceneTransition.FadeOutToBlack_FadeIn, true);
        }
        this.battleMapString = GUILayout.TextField(this.battleMapString, new GUILayoutOption[]
        {
            GUILayout.Width(200f)
        });
        if (GUILayout.Button(" > ", new GUILayoutOption[0]))
        {
            this.mapIndex++;
            if (this.mapIndex > (Int32)this.mapIDs.Length)
            {
                this.mapIndex = 0;
            }
            FF9StateSystem.Battle.battleMapIndex = this.mapIDs[this.mapIndex];
            FF9StateSystem.Battle.patternIndex   = 0;
            SceneDirector.Replace("BattleMapDebug", SceneTransition.FadeOutToBlack_FadeIn, true);
        }
        if (GUILayout.Button("Jump", new GUILayoutOption[0]))
        {
            Int32 num = 0;
            Int32.TryParse(this.battleMapString, out num);
            if (!this.mapIDs.Contains(num))
            {
                return;
            }
            FF9StateSystem.Battle.battleMapIndex = num;
            FF9StateSystem.Battle.patternIndex   = 0;
            SoundLib.StopAllSounds();
            SceneDirector.Replace("BattleMapDebug", SceneTransition.FadeOutToBlack_FadeIn, true);
        }
        GUILayout.EndHorizontal();
        GUILayout.BeginHorizontal(new GUILayoutOption[0]);
        if (GUILayout.Button(" < ", new GUILayoutOption[0]))
        {
            if (this.battleMain.btlScene.header.PatCount == 1)
            {
                return;
            }
            BTL_SCENE btl_scene = FF9StateSystem.Battle.FF9Battle.btl_scene;
            btl_scene.PatNum = (Byte)(btl_scene.PatNum - 1);
            if (FF9StateSystem.Battle.FF9Battle.btl_scene.PatNum < 0 || FF9StateSystem.Battle.FF9Battle.btl_scene.PatNum == 255)
            {
                FF9StateSystem.Battle.FF9Battle.btl_scene.PatNum = (Byte)(this.battleMain.btlScene.header.PatCount - 1);
            }
            this.patternIndex = String.Concat(new Object[]
            {
                "Pattern ",
                (Int32)(FF9StateSystem.Battle.FF9Battle.btl_scene.PatNum + 1),
                " / ",
                this.battleMain.btlScene.header.PatCount
            });
            FF9StateSystem.Battle.patternIndex = FF9StateSystem.Battle.FF9Battle.btl_scene.PatNum;
            SceneDirector.Replace("BattleMapDebug", SceneTransition.FadeOutToBlack_FadeIn, true);
        }
        GUILayout.Label(this.patternIndex, new GUILayoutOption[]
        {
            GUILayout.Width(200f)
        });
        if (GUILayout.Button(" > ", new GUILayoutOption[0]))
        {
            if (this.battleMain.btlScene.header.PatCount == 1)
            {
                return;
            }
            BTL_SCENE btl_scene2 = FF9StateSystem.Battle.FF9Battle.btl_scene;
            btl_scene2.PatNum = (Byte)(btl_scene2.PatNum + 1);
            if (FF9StateSystem.Battle.FF9Battle.btl_scene.PatNum >= this.battleMain.btlScene.header.PatCount)
            {
                FF9StateSystem.Battle.FF9Battle.btl_scene.PatNum = 0;
            }
            this.patternIndex = String.Concat(new Object[]
            {
                "Pattern ",
                (Int32)(FF9StateSystem.Battle.FF9Battle.btl_scene.PatNum + 1),
                " / ",
                this.battleMain.btlScene.header.PatCount
            });
            FF9StateSystem.Battle.patternIndex = FF9StateSystem.Battle.FF9Battle.btl_scene.PatNum;
            SceneDirector.Replace("BattleMapDebug", SceneTransition.FadeOutToBlack_FadeIn, true);
        }
        GUILayout.EndHorizontal();
        GUILayout.BeginHorizontal(new GUILayoutOption[0]);
        GUI.enabled = (btlseq.seq_work_set.SeqWork[0] != null && btlseq.seq_work_set.SeqWork[0].CmdPtr == null);
        if (GUILayout.Button(" < ", new GUILayoutOption[0]))
        {
            this.seqNo--;
            if (this.seqNo < 0)
            {
                this.seqNo = this.seqList.Count - 1;
            }
        }
        GUILayout.Label("sequence: " + (this.seqNo + 1), new GUILayoutOption[]
        {
            GUILayout.Width(150f)
        });
        if (GUILayout.Button(" > ", new GUILayoutOption[0]))
        {
            this.seqNo++;
            if (this.seqNo >= this.seqList.Count)
            {
                this.seqNo = 0;
            }
        }
        if (GUILayout.Button(" Play ", new GUILayoutOption[0]))
        {
            btl_cmd.SetEnemyCommandBySequence(1, 47u, (UInt32)this.seqList[this.seqNo]);
        }
        GUI.enabled = true;
        GUILayout.EndHorizontal();
        this.OnUiCamera();
        Boolean flag = GUILayout.Toggle(FF9StateSystem.Battle.isFrontRow, "Front Row", new GUILayoutOption[0]);

        if (flag != FF9StateSystem.Battle.isFrontRow)
        {
            FF9StateSystem.Battle.isFrontRow = flag;
            this.battleMain.SetFrontRow();
        }
        Boolean flag2 = GUILayout.Toggle(FF9StateSystem.Battle.isLevitate, "Levitate", new GUILayoutOption[0]);

        if (flag2 != FF9StateSystem.Battle.isLevitate)
        {
            FF9StateSystem.Battle.isLevitate = flag2;
            if (!flag2)
            {
                for (BTL_DATA next = FF9StateSystem.Battle.FF9Battle.btl_list.next; next != null; next = next.next)
                {
                    if (next.bi.player != 0)
                    {
                        Vector3 pos = next.pos;
                        pos.y    = 0f;
                        next.pos = pos;
                    }
                }
            }
        }
        GUILayout.BeginHorizontal(new GUILayoutOption[0]);
        if (GUILayout.Button("Normal Attack", new GUILayoutOption[0]))
        {
            FF9StateSystem.Battle.debugStartType = 2;
            SceneDirector.Replace("BattleMapDebug", SceneTransition.FadeOutToBlack_FadeIn, true);
        }
        if (GUILayout.Button("First Attack", new GUILayoutOption[0]))
        {
            FF9StateSystem.Battle.debugStartType = 1;
            SceneDirector.Replace("BattleMapDebug", SceneTransition.FadeOutToBlack_FadeIn, true);
        }
        if (GUILayout.Button("Back Attack", new GUILayoutOption[0]))
        {
            FF9StateSystem.Battle.debugStartType = 0;
            SceneDirector.Replace("BattleMapDebug", SceneTransition.FadeOutToBlack_FadeIn, true);
        }
        GUILayout.EndHorizontal();
    }
Ejemplo n.º 6
0
 private static void DumpInteractables(SceneDirector obj)
 {
     purchaseInteractions = FindObjectsOfType <PurchaseInteraction>().ToList();
     chests = ConvertPurchaseInteractsToChests();
 }
Ejemplo n.º 7
0
 private static void SceneDirector_PopulateScene(On.RoR2.SceneDirector.orig_PopulateScene orig, SceneDirector self)
 {
     if (gurrenInteractSpawnCard && Run.instance.userMasters.Values.Any((x) =>
     {
         if (x != null && x.bodyPrefab != null)
         {
             var body = x.bodyPrefab.GetComponent <CharacterBody>();
             if (body)
             {
                 var found = body.bodyIndex == BodyCatalog.FindBodyIndex("LagannBody");
                 if (found)
                 {
                     var gurrenMinionCache = GurrenMinionCache.GetOrSetGurrenStatusCache(x);
                     if (!gurrenMinionCache.gurrenMinion)
                     {
                         return(true);
                     }
                 }
             }
         }
         return(false);
     }))
     {
         TTGL_SurvivorPlugin.instance.Logger.LogMessage("Added Gurren On Level");
         DirectorCore.instance.TrySpawnObject(new DirectorSpawnRequest(gurrenInteractSpawnCard, new DirectorPlacementRule
         {
             placementMode = DirectorPlacementRule.PlacementMode.Random
         }, self.rng));
     }
     orig(self);
 }
Ejemplo n.º 8
0
 public static void OnPrePopulateSetMonsterCreditZero(SceneDirector director)
 {
     //Note that this is not a hook, but an event subscription.
     director.SetFieldValue("monsterCredit", 0);
 }
Ejemplo n.º 9
0
        private static void InteractibleCreditOverride(On.RoR2.SceneDirector.orig_PlaceTeleporter orig, SceneDirector self)
        {
            orig(self);

            Debug.Log(SceneInfo.instance.sceneDef.nameToken);

            #region InteractablesCredit

            // This is the standard amount of interactablesCredit we work with.
            // Prior to the interactablesCredit overhaul this was the standard value for all runs.
            var interactableCredit = 200;

            var stageInfo = SceneInfo.instance.GetComponent <ClassicStageInfo>();

            if (stageInfo)
            {
                // Overwrite our base value with the actual amount of director credits.
                interactableCredit = stageInfo.sceneDirectorInteractibleCredits;

                // We require playercount for several of the following computations. We don't want this to break with
                // those crazy 'mega party mods', thus we clamp this value.
                var clampPlayerCount = Math.Min(Run.instance.participatingPlayerCount, 8);

                // The flat creditModifier slightly adjust interactables based on the amount of players.
                // We do not want to reduce the amount of interactables too much for very high amounts of players (to support multiplayer mods).
                var creditModifier = (float)(0.95 + clampPlayerCount * 0.05);

                // In addition to our flat modifier, we additionally introduce a stage modifier.
                // This reduces player strength early game (as having more bodies gives a flat power increase early game).
                creditModifier *= (float)Math.Max(
                    1.0 + 0.1 * Math.Min(
                        Run.instance.participatingPlayerCount * 2 - Run.instance.stageClearCount - 2
                        , 3)
                    , 1.0);

                // We must apply the transformation to interactableCredit otherwise bonusIntractableCreditObject will be overwritten.
                interactableCredit = (int)(interactableCredit / creditModifier);

                // Fetch the amount of bonus interactables we may play with. We have to do this after our first math block,
                // as we do not want to divide bonuscredits twice.
                if (stageInfo.bonusInteractibleCreditObjects != null)
                {
                    foreach (var bonusInteractableCreditObject in stageInfo.bonusInteractibleCreditObjects)
                    {
                        if (bonusInteractableCreditObject.objectThatGrantsPointsIfEnabled.activeSelf)
                        {
                            interactableCredit += bonusInteractableCreditObject.points / clampPlayerCount;
                        }
                    }
                }
            }

            // Set interactables budget to interactableCredit * config player count / sacrificeOffset.
            if (ShareSuite.OverridePlayerScalingEnabled.Value && (!SceneInfo.instance ||
                                                                  !NoInteractibleOverrideScenes.Contains(SceneInfo.instance.sceneDef.nameToken)))
            {
                self.interactableCredit = (int)(interactableCredit * ShareSuite.InteractablesCredit.Value / _sacrificeOffset) + ShareSuite.InteractablesOffset.Value;
            }

            #endregion

            _sacrificeOffset = 1;
        }
Ejemplo n.º 10
0
        private void SceneDirector_Start(On.RoR2.SceneDirector.orig_Start orig, SceneDirector self)
        {
            if (UnityEngine.SceneManagement.SceneManager.GetActiveScene().name == "arena")
            {
                //check if any paladin has beads of fealty
                bool hasBeads = false;
                for (int i = 0; i < CharacterMaster.readOnlyInstancesList.Count; i++)
                {
                    if (CharacterMaster.readOnlyInstancesList[i].bodyPrefab.GetComponent <CharacterBody>().baseNameToken == "PALADIN_NAME" && CharacterMaster.readOnlyInstancesList[i].inventory.GetItemCount(ItemIndex.LunarTrinket) > 0)
                    {
                        hasBeads = true;
                        break;
                    }
                }

                if (hasBeads)
                {
                    //destroy environment
                    GameObject.Destroy(GameObject.Find("HOLDER: Nullifier Props").gameObject);
                    GameObject.Destroy(GameObject.Find("HOLDER: Misc Props").gameObject);
                    GameObject.Destroy(GameObject.Find("HOLDER: Terrain").gameObject);
                    GameObject.Destroy(GameObject.Find("HOLDER: Ruins").gameObject);
                    GameObject.Destroy(GameObject.Find("HOLDER: Small Trees").gameObject);
                    GameObject.Destroy(GameObject.Find("HOLDER: Artifact Formula").gameObject);
                    GameObject.Destroy(GameObject.Find("HOLDER: Rocks").gameObject);
                    //GameObject.Destroy(GameObject.Find("FOLIAGE: Skybox Kelp Trees").gameObject);
                    GameObject.Destroy(GameObject.Find("ArenaBoulderFix").gameObject);
                    GameObject.Destroy(GameObject.Find("PortalArena").gameObject);
                    GameObject.Find("ArenaMissionController").transform.Find("PPSick").gameObject.SetActive(false);

                    GameObject.Destroy(GameObject.Find("ArenaMissionController").transform.Find("NullSafeZone (1)").gameObject);
                    GameObject.Destroy(GameObject.Find("ArenaMissionController").transform.Find("NullSafeZone (2)").gameObject);
                    GameObject.Destroy(GameObject.Find("ArenaMissionController").transform.Find("NullSafeZone (3)").gameObject);
                    GameObject.Destroy(GameObject.Find("ArenaMissionController").transform.Find("NullSafeZone (4)").gameObject);
                    GameObject.Destroy(GameObject.Find("ArenaMissionController").transform.Find("NullSafeZone (5)").gameObject);
                    GameObject.Destroy(GameObject.Find("ArenaMissionController").transform.Find("NullSafeZone (6)").gameObject);
                    GameObject.Destroy(GameObject.Find("ArenaMissionController").transform.Find("NullSafeZone (7)").gameObject);
                    GameObject.Destroy(GameObject.Find("ArenaMissionController").transform.Find("NullSafeZone (8)").gameObject);
                    GameObject.Destroy(GameObject.Find("ArenaMissionController").transform.Find("NullSafeZone (9)").gameObject);

                    GameObject.Find("HOLDER: Ruins and Gameplay Zones").SetActive(true);
                    GameObject.Find("HOLDER: Ruins and Gameplay Zones").transform.Find("ShrineCombat").gameObject.SetActive(true);
                    GameObject.Find("HOLDER: Ruins and Gameplay Zones").transform.Find("WPPlatform2").gameObject.SetActive(true);
                    GameObject.Find("HOLDER: Ruins and Gameplay Zones").transform.Find("WPPlatform2").Find("WPPlatform2Barrier").gameObject.SetActive(true);
                    GameObject.Find("HOLDER: Ruins and Gameplay Zones").transform.Find("WPPlatform2").Find("WPPlatform2Barrier (1)").gameObject.SetActive(true);
                    GameObject.Find("HOLDER: Ruins and Gameplay Zones").transform.Find("WPPlatform2").Find("WPPlatform2Barrier (2)").gameObject.SetActive(true);
                    GameObject.Find("HOLDER: Ruins and Gameplay Zones").transform.Find("WPPlatform2").Find("WPPlatform2Barrier (3)").gameObject.SetActive(true);
                    GameObject.Find("HOLDER: Ruins and Gameplay Zones").transform.Find("WPPlatform2").Find("WPPlatform2Barrier (4)").gameObject.SetActive(true);
                    GameObject.Find("HOLDER: Ruins and Gameplay Zones").transform.Find("WPPlatform2").Find("WPPlatform2Barrier (5)").gameObject.SetActive(true);
                    GameObject.Find("HOLDER: Ruins and Gameplay Zones").transform.Find("WPPlatform2").Find("WPPlatform2Barrier (6)").gameObject.SetActive(true);
                    GameObject.Find("HOLDER: Ruins and Gameplay Zones").transform.Find("WPPlatform2").Find("WPPlatform2Barrier (7)").gameObject.SetActive(true);
                    GameObject.Find("HOLDER: Ruins and Gameplay Zones").transform.Find("WPPlatform2").Find("ArenaBarrier").Find("ArenaBarrierCenter").gameObject.SetActive(true);
                    GameObject.Find("HOLDER: Ruins and Gameplay Zones").transform.Find("WPPlatform2").Find("ArenaBarrier (1)").Find("ArenaBarrierCenter").gameObject.SetActive(true);
                    GameObject.Find("HOLDER: Ruins and Gameplay Zones").transform.Find("WPPlatform2").Find("ArenaBarrier (2)").Find("ArenaBarrierCenter").gameObject.SetActive(true);
                    GameObject.Find("HOLDER: Ruins and Gameplay Zones").transform.Find("WPPlatform2").Find("ArenaBarrier (3)").Find("ArenaBarrierCenter").gameObject.SetActive(true);

                    GameObject.Find("HOLDER: Ruins and Gameplay Zones").transform.Find("ShrineCombat").localPosition = new Vector3(-84, 112, -6);
                    GameObject.Find("HOLDER: Ruins and Gameplay Zones").transform.Find("WPPlatform2").localPosition  = new Vector3(-84, 84, -6);

                    GameObject.Find("HOLDER: Lighting, Effects, Wind, etc").transform.Find("ArenaSkybox").Find("CameraRelative").Find("Dust").gameObject.SetActive(false);
                    GameObject.Find("HOLDER: Lighting, Effects, Wind, etc").transform.Find("ArenaSkybox").Find("CameraRelative").Find("Weather (Locked Position/Rotation").Find("Embers").gameObject.SetActive(true);
                    GameObject.Find("HOLDER: Lighting, Effects, Wind, etc").transform.Find("ArenaSkybox").Find("CameraRelative").Find("Weather (Locked Position/Rotation").Find("GiantDust?").gameObject.SetActive(true);

                    foreach (SpawnPoint i in FindObjectsOfType <SpawnPoint>())
                    {
                        i.transform.position = new Vector3(-84, 103, 32);
                    }
                    ;

                    GameObject.Find("ArenaMissionController").GetComponent <ArenaMissionController>().enabled = false;
                }
            }

            orig(self);
        }
Ejemplo n.º 11
0
    public void HandleBoosterButton(BoosterType triggerType = BoosterType.None)
    {
        if (!Configuration.Cheats.Enabled)
        {
            return;
        }
        if (PersistenSingleton <UIManager> .Instance.State == UIManager.UIState.Title || PersistenSingleton <UIManager> .Instance.State == UIManager.UIState.PreEnding || (PersistenSingleton <UIManager> .Instance.State == UIManager.UIState.Ending || !MBG.IsNull && !MBG.Instance.IsFinished()))
        {
            return;
        }
        if (UnityXInput.Input.GetKeyDown(KeyCode.F1) || triggerType == BoosterType.HighSpeedMode)
        {
            if (!Configuration.Cheats.SpeedMode)
            {
                Log.Message("[Cheats] SpeedMode was disabled.");
                FF9Sfx.FF9SFX_Play(102);
                return;
            }

            bool flag = !FF9StateSystem.Settings.IsBoosterButtonActive[1];
            FF9StateSystem.Settings.CallBoosterButtonFuntion(BoosterType.HighSpeedMode, flag);
            PersistenSingleton <UIManager> .Instance.Booster.SetBoosterHudIcon(BoosterType.HighSpeedMode, flag);

            PersistenSingleton <UIManager> .Instance.Booster.SetBoosterButton(BoosterType.HighSpeedMode, flag);
        }
        if (UnityXInput.Input.GetKeyDown(KeyCode.F2) || triggerType == BoosterType.BattleAssistance)
        {
            if (!Configuration.Cheats.BattleAssistance)
            {
                Log.Message("[Cheats] BattleAssistance was disabled.");
                FF9Sfx.FF9SFX_Play(102);
                return;
            }

            if ((FF9StateSystem.Battle.isNoBoosterMap() || FF9StateSystem.Battle.FF9Battle.btl_escape_fade != 32) && SceneDirector.IsBattleScene())
            {
                return;
            }
            bool flag = !FF9StateSystem.Settings.IsBoosterButtonActive[0];
            FF9StateSystem.Settings.CallBoosterButtonFuntion(BoosterType.BattleAssistance, flag);
            PersistenSingleton <UIManager> .Instance.Booster.SetBoosterHudIcon(BoosterType.BattleAssistance, flag);

            PersistenSingleton <UIManager> .Instance.Booster.SetBoosterButton(BoosterType.BattleAssistance, flag);
        }
        if (UnityXInput.Input.GetKeyDown(KeyCode.F3) || triggerType == BoosterType.Attack9999)
        {
            if (!Configuration.Cheats.Attack9999)
            {
                Log.Message("[Cheats] Attack9999 was disabled.");
                FF9Sfx.FF9SFX_Play(102);
                return;
            }

            bool flag = !FF9StateSystem.Settings.IsBoosterButtonActive[3];
            FF9StateSystem.Settings.CallBoosterButtonFuntion(BoosterType.Attack9999, flag);
            PersistenSingleton <UIManager> .Instance.Booster.SetBoosterHudIcon(BoosterType.Attack9999, flag);

            PersistenSingleton <UIManager> .Instance.Booster.SetBoosterButton(BoosterType.Attack9999, flag);
        }
        if (UnityXInput.Input.GetKeyDown(KeyCode.F4) || triggerType == BoosterType.NoRandomEncounter)
        {
            if (!Configuration.Cheats.NoRandomEncounter)
            {
                Log.Message("[Cheats] NoRandomEncounter was disabled.");
                FF9Sfx.FF9SFX_Play(102);
                return;
            }

            if (PersistenSingleton <UIManager> .Instance.State != UIManager.UIState.FieldHUD && PersistenSingleton <UIManager> .Instance.State != UIManager.UIState.WorldHUD && PersistenSingleton <UIManager> .Instance.State != UIManager.UIState.Pause)
            {
                return;
            }
            bool flag = !FF9StateSystem.Settings.IsBoosterButtonActive[4];
            FF9StateSystem.Settings.CallBoosterButtonFuntion(BoosterType.NoRandomEncounter, flag);
            PersistenSingleton <UIManager> .Instance.Booster.SetBoosterHudIcon(BoosterType.NoRandomEncounter, flag);

            PersistenSingleton <UIManager> .Instance.Booster.SetBoosterButton(BoosterType.NoRandomEncounter, flag);
        }
        if (UnityXInput.Input.GetKeyDown(KeyCode.F5) && (PersistenSingleton <UIManager> .Instance.State == UIManager.UIState.FieldHUD || PersistenSingleton <UIManager> .Instance.State == UIManager.UIState.WorldHUD || PersistenSingleton <UIManager> .Instance.State == UIManager.UIState.Pause))
        {
            if (!Configuration.Cheats.MasterSkill)
            {
                Log.Message("[Cheats] MasterSkill was disabled.");
                FF9Sfx.FF9SFX_Play(102);
                return;
            }

            if (!FF9StateSystem.Settings.IsMasterSkill)
            {
                PersistenSingleton <UIManager> .Instance.Booster.ShowWaringDialog(BoosterType.MasterSkill);
            }
            else
            {
                FF9StateSystem.Settings.CallBoosterButtonFuntion(BoosterType.MasterSkill, false);
                PersistenSingleton <UIManager> .Instance.Booster.SetBoosterHudIcon(BoosterType.MasterSkill, false);
            }
        }
        if (UnityXInput.Input.GetKeyDown(KeyCode.F6) && (PersistenSingleton <UIManager> .Instance.State == UIManager.UIState.FieldHUD || PersistenSingleton <UIManager> .Instance.State == UIManager.UIState.WorldHUD || PersistenSingleton <UIManager> .Instance.State == UIManager.UIState.Pause))
        {
            if (!Configuration.Cheats.LvMax)
            {
                Log.Message("[Cheats] LvMax was disabled.");
                FF9Sfx.FF9SFX_Play(102);
                return;
            }

            PersistenSingleton <UIManager> .Instance.Booster.ShowWaringDialog(BoosterType.LvMax);
        }
        if (UnityXInput.Input.GetKeyDown(KeyCode.F7) && (PersistenSingleton <UIManager> .Instance.State == UIManager.UIState.FieldHUD || PersistenSingleton <UIManager> .Instance.State == UIManager.UIState.WorldHUD || PersistenSingleton <UIManager> .Instance.State == UIManager.UIState.Pause))
        {
            if (!Configuration.Cheats.GilMax)
            {
                Log.Message("[Cheats] GilMax was disabled.");
                FF9Sfx.FF9SFX_Play(102);
                return;
            }

            PersistenSingleton <UIManager> .Instance.Booster.ShowWaringDialog(BoosterType.GilMax);
        }
    }
Ejemplo n.º 12
0
    private void OnGUI()
    {
        Rect fullscreenRect = DebugGuiSkin.GetFullscreenRect();

        DebugGuiSkin.ApplySkin();
        GUILayout.BeginArea(fullscreenRect);
        GUILayout.BeginHorizontal(new GUILayoutOption[0]);
        GUILayout.BeginVertical(new GUILayoutOption[0]);
        if (GUILayout.Button("Back", new GUILayoutOption[0]))
        {
            SceneDirector.Replace("MainMenu", SceneTransition.FadeOutToBlack_FadeIn, true);
        }
        GUILayout.FlexibleSpace();
        GUILayout.EndVertical();
        GUILayout.FlexibleSpace();
        GUILayout.BeginVertical(new GUILayoutOption[0]);
        GUILayout.FlexibleSpace();
        this.scrollPosition = GUILayout.BeginScrollView(this.scrollPosition, new GUILayoutOption[]
        {
            GUILayout.Width(fullscreenRect.width * 2f / 3f),
            GUILayout.Height(fullscreenRect.height * 3f / 4f)
        });
        GUILayout.BeginVertical("Box", new GUILayoutOption[0]);
        GUILayout.Label("Please select game stage", new GUILayoutOption[0]);
        GUILayout.Label("( Valid stage are between 0 AND 127 )", new GUILayoutOption[0]);
        GUILayout.BeginHorizontal(new GUILayoutOption[0]);
        if (GUILayout.Button("-10", new GUILayoutOption[0]))
        {
            Int32 num = Convert.ToInt32(this.stageStr);
            if (num >= 10)
            {
                num -= 10;
            }
            else
            {
                num = 0;
            }
            this.stageStr = String.Empty + num;
        }
        if (GUILayout.Button("-1", new GUILayoutOption[0]))
        {
            Int32 num2 = Convert.ToInt32(this.stageStr);
            if (num2 > 0)
            {
                num2--;
            }
            this.stageStr = String.Empty + num2;
        }
        this.stageStr = GUILayout.TextField(this.stageStr, new GUILayoutOption[0]);
        if (GUILayout.Button("+1", new GUILayoutOption[0]))
        {
            Int32 num3 = Convert.ToInt32(this.stageStr);
            if (num3 < 127)
            {
                num3++;
            }
            this.stageStr = String.Empty + num3;
        }
        if (GUILayout.Button("+10", new GUILayoutOption[0]))
        {
            Int32 num4 = Convert.ToInt32(this.stageStr);
            if (num4 < 118)
            {
                num4 += 10;
            }
            else
            {
                num4 = 127;
            }
            this.stageStr = String.Empty + num4;
        }
        GUILayout.EndHorizontal();
        if (GUILayout.Button("PLAY!", new GUILayoutOption[0]))
        {
            Int32 num5 = Convert.ToInt32(this.stageStr);
            FF9StateSystem.Common.FF9.miniGameArg = (UInt16)num5;
            SceneDirector.Replace("QuadMist", SceneTransition.FadeOutToBlack_FadeIn, true);
        }
        GUILayout.Label("----------------------------------------", new GUILayoutOption[0]);
        if (GUILayout.Button("Clear all cards", new GUILayoutOption[0]))
        {
            QuadMistDatabase.LoadData();
            List <QuadMistCard> cardList = QuadMistDatabase.GetCardList();
            cardList.Clear();
            QuadMistDatabase.SetCardList(cardList);
            QuadMistDatabase.SaveData();
        }
        if (GUILayout.Button("Reset all stat", new GUILayoutOption[0]))
        {
            QuadMistDatabase.LoadData();
            QuadMistDatabase.SetWinCount(0);
            QuadMistDatabase.SetLoseCount(0);
            QuadMistDatabase.SetDrawCount(0);
            QuadMistDatabase.SaveData();
        }
        GUILayout.Label("Game generates new 8 cards", new GUILayoutOption[0]);
        GUILayout.Label("----------------------------------------", new GUILayoutOption[0]);
        GUILayout.Label("Create/Remove card", new GUILayoutOption[0]);
        GUILayout.Label("Select card ID (Between 0-99)", new GUILayoutOption[0]);
        GUILayout.BeginHorizontal(new GUILayoutOption[0]);
        if (GUILayout.Button("-10", new GUILayoutOption[0]))
        {
            Int32 num6 = Convert.ToInt32(this.cardStr);
            if (num6 >= 10)
            {
                num6 -= 10;
            }
            else
            {
                num6 = 0;
            }
            this.cardStr = String.Empty + num6;
        }
        if (GUILayout.Button("-1", new GUILayoutOption[0]))
        {
            Int32 num7 = Convert.ToInt32(this.cardStr);
            if (num7 > 0)
            {
                num7--;
            }
            this.cardStr = String.Empty + num7;
        }
        this.cardStr = GUILayout.TextField(this.cardStr, new GUILayoutOption[0]);
        if (GUILayout.Button("+1", new GUILayoutOption[0]))
        {
            Int32 num8 = Convert.ToInt32(this.cardStr);
            if (num8 < 99)
            {
                num8++;
            }
            this.cardStr = String.Empty + num8;
        }
        if (GUILayout.Button("+10", new GUILayoutOption[0]))
        {
            Int32 num9 = Convert.ToInt32(this.cardStr);
            if (num9 < 90)
            {
                num9 += 10;
            }
            else
            {
                num9 = 99;
            }
            this.cardStr = String.Empty + num9;
        }
        GUILayout.EndHorizontal();
        if (GUILayout.Button("Create card", new GUILayoutOption[0]))
        {
            QuadMistDatabase.LoadData();
            Int32 id = Convert.ToInt32(this.cardStr);
            List <QuadMistCard> cardList2 = QuadMistDatabase.GetCardList();
            QuadMistCard        item      = CardPool.CreateQuadMistCard(id);
            cardList2.Add(item);
            QuadMistDatabase.SetCardList(cardList2);
            QuadMistDatabase.SaveData();
        }
        if (GUILayout.Button("Remove card", new GUILayoutOption[0]))
        {
            QuadMistDatabase.LoadData();
            Int32 num10 = Convert.ToInt32(this.cardStr);
            List <QuadMistCard> cardList3 = QuadMistDatabase.GetCardList();
            List <QuadMistCard> list      = new List <QuadMistCard>();
            foreach (QuadMistCard quadMistCard in cardList3)
            {
                if ((Int32)quadMistCard.id == num10)
                {
                    list.Add(quadMistCard);
                }
            }
            foreach (QuadMistCard item2 in list)
            {
                cardList3.Remove(item2);
            }
            QuadMistDatabase.SetCardList(cardList3);
            QuadMistDatabase.SaveData();
        }
        GUILayout.Label("(Remove all All card at filled ID)", new GUILayoutOption[0]);
        GUILayout.Label("----------------------------------------", new GUILayoutOption[0]);
        GUILayout.Label("Templates", new GUILayoutOption[0]);
        if (GUILayout.Button("Create 100", new GUILayoutOption[0]))
        {
            QuadMistDatabase.LoadData();
            List <QuadMistCard> cardList4 = QuadMistDatabase.GetCardList();
            cardList4.Clear();
            for (Int32 i = 0; i < 100; i++)
            {
                QuadMistCard item3 = CardPool.CreateQuadMistCard(i);
                cardList4.Add(item3);
            }
            QuadMistDatabase.SetCardList(cardList4);
            QuadMistDatabase.SaveData();
        }
        GUILayout.Label("Create 100 cards, 1 ID 1 card", new GUILayoutOption[0]);
        GUILayout.EndVertical();
        GUILayout.EndScrollView();
        GUILayout.FlexibleSpace();
        GUILayout.EndVertical();
        GUILayout.FlexibleSpace();
        GUILayout.EndHorizontal();
        GUILayout.EndArea();
    }
Ejemplo n.º 13
0
    public override void HonoUpdate()
    {
        base.HonoUpdate();
        if (this.isFirstFrame)
        {
            this.isFirstFrame = false;
            return;
        }
        switch (this.ff9endingState)
        {
        case EndingMain.FF9EndingState.ENDING_STATE_FMV059:
            MBG.Instance.LoadMovie(MBG.MBGDiscTable[4][18].name);
            MBG.Instance.SetModeEnding();
            MBG.Instance.SetFinishCallback(delegate
            {
                this.ff9endingState = EndingMain.FF9EndingState.ENDING_STATE_TEXT;
                MBG.Instance.Purge();
            });
            MBG.Instance.Play();
            this.ff9endingState = EndingMain.FF9EndingState.WAIT_FMV059_END;
            break;

        case EndingMain.FF9EndingState.WAIT_FMV059_END:
            if (!this.fadeblack && MBG.Instance.GetFrameCount - MBG.Instance.GetFrame < 60)
            {
                this.fadeblack = true;
                SceneDirector.InitFade(FadeMode.Sub, 0, new Color32(0, 0, 0, Byte.MaxValue));
                SceneDirector.InitFade(FadeMode.Sub, 60, new Color32(Byte.MaxValue, Byte.MaxValue, Byte.MaxValue, Byte.MaxValue));
            }
            break;

        case EndingMain.FF9EndingState.ENDING_STATE_TEXT:
            SceneDirector.InitFade(FadeMode.Sub, 1, new Color32(0, 0, 0, Byte.MaxValue));
            PersistenSingleton <UIManager> .Instance.EndingScene.endingSlideshow.PlayEndingText(delegate
            {
                this.ff9endingState = EndingMain.FF9EndingState.ENDING_STATE_FMV060;
            });

            this.ff9endingState = EndingMain.FF9EndingState.WAIT_ENDING_STATE_TEXT;
            break;

        case EndingMain.FF9EndingState.ENDING_STATE_FMV060:
            MBG.Instance.LoadMovie(MBG.MBGDiscTable[4][19].name);
            MBG.Instance.SetModeEnding();
            MBG.Instance.Play();
            MBG.Instance.SetFinishCallback(delegate
            {
                this.ff9endingState = EndingMain.FF9EndingState.ENDING_STATE_IMAGE;
            });
            this.ff9endingState = EndingMain.FF9EndingState.WAIT_FMV060_END;
            break;

        case EndingMain.FF9EndingState.ENDING_STATE_IMAGE:
            PersistenSingleton <UIManager> .Instance.EndingScene.endingSlideshow.PlayLastEndingText(delegate
            {
                this.ff9endingState = EndingMain.FF9EndingState.ENDING_STATE_END;
                PersistenSingleton <UIManager> .Instance.SetMenuControlEnable(true);
                PersistenSingleton <UIManager> .Instance.SetUIPauseEnable(true);
                PersistenSingleton <UIManager> .Instance.EndingScene.ReadyToBlackjack();
                FF9Snd.ff9endsnd_song_play(156);
                FF9Snd.ff9endsnd_song_vol_fade(156, 90, 0, 127);
                FF9StateSystem.Serializer.SetGameFinishFlagWithTrue(delegate(DataSerializerErrorCode errNo, Boolean isSuccess)
                {
                    if (errNo != DataSerializerErrorCode.Success || !isSuccess)
                    {
                    }
                });
                AchievementManager.ReportAchievement(AcheivementKey.CompleteGame, 1);
            });

            this.ff9endingState = EndingMain.FF9EndingState.WAITENDINGSTATEIMAGE;
            break;
        }
        SceneDirector.ServiceFade();
    }
 private void EnsureBluePortal(On.RoR2.Run.orig_OnServerTeleporterPlaced orig, Run self, SceneDirector sceneDirector, GameObject teleporter)
 {
     orig(self, sceneDirector, teleporter);
     TeleporterInteraction.instance.baseShopSpawnChance = 100;
 }
Ejemplo n.º 15
0
        public void TeleporterPlaceHook(On.RoR2.SceneDirector.orig_PlaceTeleporter orig, SceneDirector self) //NOTE: NOT DEAD END HOOK ANYMORE!!
        {
            if (!self.teleporterInstance && self.teleporterSpawnCard)
            {
                self.teleporterSpawnCard = null;
                orig(self);
                if (PrefabManager.iscCorruptedTeleporter)
                {
                    self.teleporterInstance = self.directorCore.TrySpawnObject(new DirectorSpawnRequest(PrefabManager.iscCorruptedTeleporter, new DirectorPlacementRule
                    {
                        placementMode = DirectorPlacementRule.PlacementMode.Random
                    }, self.rng));
                    Run.instance.OnServerTeleporterPlaced(self, self.teleporterInstance);
                }

                GameObject[] vents = new GameObject[4];

                for (int i = 0; i < vents.Length; i++)
                {
                    bool validPlacement;
                    for (int j = 0; j < 25; j++)
                    {
                        validPlacement = true;
                        vents[i]       = self.directorCore.TrySpawnObject(new DirectorSpawnRequest(PrefabManager.iscVoidRift, new DirectorPlacementRule
                        {
                            placementMode = DirectorPlacementRule.PlacementMode.Random
                        }, self.rng));
                        if (Vector3.Distance(self.teleporterInstance.transform.position, vents[i].transform.position) <= 75)
                        {
                            validPlacement = false;
                        }
                        if (validPlacement)
                        {
                            for (int k = i - 1; k >= 0; k--)
                            {
                                if (Vector3.Distance(vents[k].transform.position, vents[i].transform.position) <= 75)
                                {
                                    validPlacement = false;
                                    break;
                                }
                            }
                        }
                        if (validPlacement)
                        {
                            break;
                        }
                        if (j == 24)
                        {
                            Debug.LogWarning("[CRCore3]: To many attempts to spawn VoidRift. Defaulting to sub-optimal placement.");
                            break;
                        }
                        Debug.LogWarning("[CRCore3]: VoidRift placement to close to other objective. Retrying.");
                        GameObject.Destroy(vents[i]);
                    }
                }

                self.teleporterInstance.GetComponent <CRMissionController>().voidRifts = vents;
                self.teleporterInstance.GetComponent <CRMissionController>().Start();
            }
            else
            {
                orig(self);
            }
        }
Ejemplo n.º 16
0
    void Awake()
    {
        SceneDirector director = SceneDirector.GetInstance();

        director.CSController = this;
    }
Ejemplo n.º 17
0
 private static void SetSacrificeOffset(On.RoR2.Artifacts.SacrificeArtifactManager.orig_OnPrePopulateSceneServer orig, SceneDirector sceneDirector)
 {
     _sacrificeOffset = 2;
     orig(sceneDirector);
 }
Ejemplo n.º 18
0
 private void Exit()
 {
     SceneDirector.Replace("MainMenu", SceneTransition.FadeOutToBlack_FadeIn, true);
 }
Ejemplo n.º 19
0
    public void HonoUpdate20FPS()
    {
        if ((this.FF9.attr & 256u) == 0u)
        {
            if (ff9.w_frameCounter >= 5)
            {
                UIManager.World.SetPerspectiveToggle(ff9.w_cameraSysDataCamera.upperCounter == 4096);
                UIManager.World.SetRotationLockToggle(!ff9.w_cameraSysData.cameraNotrot);
            }
            if (this.FF9WorldMap.nextMode != 2)
            {
                switch (ff9.w_frameMainRoutine())
                {
                case 3:
                    this.FF9WorldMap.nextMode = 2;
                    ff9.ff9worldInternalBattleEncountStart();
                    PersistenSingleton <HonoInputManager> .Instance.IgnoreCheckingDirectionSources = false;
                    break;

                case 4:
                    this.FF9WorldMap.nextMode = 1;
                    PersistenSingleton <HonoInputManager> .Instance.IgnoreCheckingDirectionSources = false;
                    this.FF9Sys.attr |= 4096u;
                    break;
                }
            }
            this.RenderTextureBank.OnUpdate20FPS();
            if ((this.FF9World.attr & 512u) == 0u)
            {
                SceneDirector.ServiceFade();
            }
            if ((this.FF9World.attr & 1024u) == 0u)
            {
                ff9.ff9worldInternalBattleEncountService();
            }
            if (HonoBehaviorSystem.Instance.IsFastForwardModeActive())
            {
                this.fastForwardFrameCounter20FPS++;
                if (this.fastForwardFrameCounter20FPS == HonoBehaviorSystem.Instance.GetFastForwardFactor())
                {
                    this.UpdateTexture_Render();
                    this.fastForwardFrameCounter20FPS = 0;
                }
            }
            else
            {
                this.UpdateTexture_Render();
            }
        }
        if ((this.FF9Sys.attr & 12289u) != 0u || (this.FF9Sys.attr & 4097u) != 0u)
        {
            ff9.ff9ShutdownStateWorldMap();
            ff9.ff9ShutdownStateWorldSystem();
            if (this.FF9Sys.mode == 1)
            {
                AllSoundDispatchPlayer allSoundDispatchPlayer = SoundLib.GetAllSoundDispatchPlayer();
                allSoundDispatchPlayer.FF9SOUND_SNDEFFECTRES_STOPCURRENT();
                allSoundDispatchPlayer.FF9SOUND_SNDEFFECT_STOP_ALL(null);
                allSoundDispatchPlayer.FF9SOUND_STREAM_STOP();
                SceneDirector.Replace("FieldMap", SceneTransition.FadeOutToBlack_FadeIn, true);
            }
            else if (this.FF9Sys.mode == 2)
            {
                EventEngine eventEngine = PersistenSingleton <EventEngine> .Instance;
                Obj         objUID      = eventEngine.GetObjUID(250);
                PosObj      posObj      = (PosObj)objUID;
                EventInput.IsProcessingInput = false;
                SoundLib.StopAllSounds();
                SFX_Rush.SetCenterPosition(1);
                SceneDirector.Replace("BattleMap", SceneTransition.SwirlInBlack, true);
            }
            else if (this.FF9Sys.mode == 3)
            {
                SoundLib.StopAllSounds();
                SceneDirector.Replace("WorldMap", SceneTransition.FadeOutToBlack_FadeIn, true);
            }
        }
        if (!FF9StateSystem.World.IsBeeScene)
        {
            for (ObjList objList = ff9.GetActiveObjList(); objList != null; objList = objList.next)
            {
                Obj obj = objList.obj;
                if (PersistenSingleton <EventEngine> .Instance.isPosObj(obj))
                {
                    WMActor wmActor = ((Actor)obj).wmActor;
                    if (obj.cid == 4 && wmActor != (UnityEngine.Object)null)
                    {
                        wmActor.UpdateAnimationViaScript();
                    }
                }
            }
        }
        for (ObjList objList2 = this.World.ActorList; objList2 != null; objList2 = objList2.next)
        {
            if (objList2.obj.cid == 4)
            {
                WMActor wmActor2 = ((Actor)objList2.obj).wmActor;
                wmActor2.LateUpdateFunction();
            }
        }
    }
Ejemplo n.º 20
0
    public static UInt32 BattleMain()
    {
        FF9StateGlobal       ff9       = FF9StateSystem.Common.FF9;
        FF9StateBattleSystem ff9Battle = FF9StateSystem.Battle.FF9Battle;

        SFX.UpdateCamera();
        if (ff9Battle.btl_phase != 4 && ff9Battle.s_cur != null && ff9Battle.s_cur.activeSelf)
        {
            ff9Battle.s_cur.SetActive(false);
        }
        switch (ff9Battle.btl_phase)
        {
        case 1:
            battle.BattleIdleLoop(ff9, ff9Battle);
            break;

        case 2:
            battle.BattleLoadLoop(ff9, ff9Battle);
            break;

        case 3:
            if (battle.BattleIdleLoop(ff9, ff9Battle))
            {
                if (FF9StateSystem.Common.FF9.btlMapNo == 336 && !battle.isAlreadyShowTutorial)
                {
                    PersistenSingleton <UIManager> .Instance.TutorialScene.DisplayMode = TutorialUI.Mode.Battle;
                    PersistenSingleton <UIManager> .Instance.ChangeUIState(UIManager.UIState.Tutorial);

                    battle.isAlreadyShowTutorial = true;
                }
                if (!FF9StateSystem.Battle.isTutorial)
                {
                    ff9Battle.btl_phase        = 4;
                    ff9Battle.btl_cnt          = ff9Battle.btl_cnt & 15;
                    ff9Battle.player_load_fade = 0;
                    for (BTL_DATA next = ff9Battle.btl_list.next; next != null; next = next.next)
                    {
                        UInt16 startSfx;
                        if (next.bi.player == 0 && (startSfx = BTL_SCENE.BtlGetStartSFX()) != UInt16.MaxValue)
                        {
                            btl_util.SetBattleSfx(next, startSfx, 127);
                            break;
                        }
                    }
                    if (battle.SUMMON_RAY_FLAG == 0)
                    {
                        UIManager.Battle.FF9BMenu_EnableMenu(true);
                    }
                    if (ff9Battle.btl_scene.Info.StartType == 0)
                    {
                        UIManager.Battle.SetBattleFollowMessage(2);
                        break;
                    }
                    if (ff9Battle.btl_scene.Info.StartType == 1)
                    {
                        UIManager.Battle.SetBattleFollowMessage(1);
                    }
                }
            }
            break;

        case 4:
            battle.BattleMainLoop(ff9, ff9Battle);
            break;

        case 5:
            if (!FF9StateSystem.Battle.isDebug)
            {
                UIManager.Battle.FF9BMenu_EnableMenu(false);
            }
            battle.BattleTrailingLoop(ff9, ff9Battle);
            if (ff9Battle.btl_seq != 3)
            {
                ff9Battle.btl_escape_key = 0;
            }
            break;

        case 6:
            battle.BattleIdleLoop(ff9, ff9Battle);
            if (ff9Battle.btl_seq == 1)
            {
                SceneDirector.FF9Wipe_FadeOutEx(32);
                ++ff9Battle.btl_seq;
                break;
            }
            if (ff9Battle.btl_seq == 2 && ff9Battle.btl_fade_time++ > 32)
            {
                return(btl_sys.ManageBattleEnd(ff9Battle));
            }
            break;

        case 7:
        case 8:
            if (battle.BattleIdleLoop(ff9, ff9Battle))
            {
                ff9.btl_flag |= 64;
                if (ff9Battle.btl_seq == 0)
                {
                    if (ff9.btl_result != 5)
                    {
                        SceneDirector.FF9Wipe_FadeOutEx(32);
                    }
                    ++ff9Battle.btl_seq;
                    break;
                }
                if (ff9Battle.btl_seq == 1 && ff9Battle.btl_fade_time++ > 32)
                {
                    return(btl_sys.ManageBattleEnd(ff9Battle));
                }
            }
            break;
        }
        if (!FF9StateSystem.Battle.isDebug)
        {
            PersistenSingleton <EventEngine> .Instance.ServiceEvents();
        }
        ++ff9Battle.btl_cnt;
        return(0);
    }
Ejemplo n.º 21
0
        private static void OccupyNearbyNodes_OnSceneDirectorPrePopulateSceneServer(On.RoR2.OccupyNearbyNodes.orig_OnSceneDirectorPrePopulateSceneServer orig, SceneDirector sceneDirector)
        {
            //orig(self); //nope
            NodeGraph graph = SceneInfo.instance.GetNodeGraph(MapNodeGroup.GraphType.Ground);

            foreach (var onn in OccupyNearbyNodes.instancesList)
            {
                var noi = onn.GetComponent <NodeOccupationInfo>();
                if (!noi)
                {
                    noi = onn.gameObject.AddComponent <NodeOccupationInfo>();
                }
                var nodes = graph.FindNodesInRange(onn.transform.position, 0f, onn.radius, HullMask.None);
                foreach (var node in nodes)
                {
                    //TODO: make absolutely sure leaving this out doesn't screw with anything (it's a direct difference from vanilla behavior)
                    //if(Array.Exists(DirectorCore.instance.occupiedNodes, x => {return x.nodeGraph == graph && x.nodeIndex == node;})) continue;
                    noi._indices.Add(new KeyValuePair <NodeGraph, NodeGraph.NodeIndex>(graph, node));
                    DirectorCore.instance.AddOccupiedNode(graph, node);
                }
            }
        }
Ejemplo n.º 22
0
 private static void DumpInteractables(SceneDirector obj)
 {
     UmbraMenu.spawnCards = Utility.GetSpawnCards();
 }
Ejemplo n.º 23
0
 public void Back()
 {
     SceneDirector.Replace("MainMenu", SceneTransition.FadeOutToBlack_FadeIn, true);
 }
Ejemplo n.º 24
0
    public unsafe Int32 Set24BitMode(Int32 isOn)
    {
        UInt64 num = this.IsPlaying();

        if (isOn == 1)
        {
            this.MBGIsRGB24 = 1;
            if (this.movieMaterial.GetFirstFrame)
            {
                this.mbgCamera.depth = 1f;
                this.SetMovieCamera(this.mbgCamera);
                SceneDirector.ToggleFadeAll(true);
            }
            else
            {
                this.updateSwitchCamera = true;
            }
            FF9StateSystem.Common.FF9.attr |= 20u;
            if (PersistenSingleton <FF9StateSystem> .Instance.mode == 1 || PersistenSingleton <FF9StateSystem> .Instance.mode == 5)
            {
                FF9StateSystem.Field.FF9Field.attr |= 9u;
            }
            this.renderQueue = 2000;
        }
        else
        {
            this.updateSwitchCamera = false;
            this.MBGIsRGB24         = 0;
            FieldMap component = GameObject.Find("FieldMap").GetComponent <FieldMap>();
            if (component != (UnityEngine.Object)null)
            {
                this.SetFieldMap(component);
            }
            if (PersistenSingleton <FF9StateSystem> .Instance.mode == 1 || PersistenSingleton <FF9StateSystem> .Instance.mode == 5)
            {
                FieldMap.FF9FieldAttr.ff9[1, 0]  |= (UInt16)20;
                FieldMap.FF9FieldAttr.field[1, 0] = (UInt16)9;
            }
            this.renderQueue = 3001;
        }
        ObjList activeObjList = PersistenSingleton <EventEngine> .Instance.GetActiveObjList();

        for (ObjList objList = activeObjList; objList != null; objList = objList.next)
        {
            if (objList.obj.cid == 4)
            {
                if (objList.obj.go != (UnityEngine.Object)null)
                {
                    SkinnedMeshRenderer[] componentsInChildren = objList.obj.go.GetComponentsInChildren <SkinnedMeshRenderer>();
                    SkinnedMeshRenderer[] array = componentsInChildren;
                    for (Int32 i = 0; i < (Int32)array.Length; i++)
                    {
                        SkinnedMeshRenderer skinnedMeshRenderer = array[i];
                        Material[]          materials           = skinnedMeshRenderer.materials;
                        for (Int32 j = 0; j < (Int32)materials.Length; j++)
                        {
                            Material material = materials[j];
                            material.renderQueue = this.renderQueue;
                        }
                    }
                }
            }
        }
        return(1);
    }
Ejemplo n.º 25
0
        private static void ResetClassValues(On.RoR2.SceneDirector.orig_PlaceTeleporter orig, SceneDirector self)
        {
            // Allow for money sharing triggers as teleporter is inactive
            SetTeleporterActive(false);

            // This should run on every map, as it is required to fix shared money.
            // Reset shared money value to the default (0) at the start of each round
            SharedMoneyValue = 0;

            orig(self);
        }
Ejemplo n.º 26
0
    private void Update()
    {
        BattleHUD.Read();
        this.UpdateAttachModel();
        this.cumulativeTime += Time.deltaTime;
        if (this.needClampTime)
        {
            this.cumulativeTime = Mathf.Min(this.cumulativeTime, HonoluluBattleMain.frameTime * (float)SettingsState.FastForwardGameSpeed * 1.2f);
        }
        while (this.cumulativeTime >= HonoluluBattleMain.frameTime)
        {
            this.cumulativeTime -= HonoluluBattleMain.frameTime;
            HonoluluBattleMain.battleSPS.Service();
            if ((FF9StateSystem.Battle.FF9Battle.attr & 4096) == 0)
            {
                if ((FF9StateSystem.Battle.FF9Battle.attr & 256) == 0)
                {
                    this.battleResult = (ulong)battle.BattleMain();
                    if (!FF9StateSystem.Battle.isDebug)
                    {
                        if (UIManager.Battle.FF9BMenu_IsEnable())
                        {
                            this.YMenu_ManagerAt();
                        }
                        if (this.battleResult == 1UL)
                        {
                            PersistenSingleton <FF9StateSystem> .Instance.mode = 8;
                            FF9StateBattleSystem ff9Battle3 = FF9StateSystem.Battle.FF9Battle;
                            ff9Battle3.attr |= 4096;
                        }
                    }
                    SceneDirector.ServiceFade();
                }
            }
            else
            {
                FF9StateGlobal ff9StateGlobal = FF9StateSystem.Common.FF9;
                switch (ff9StateGlobal.btl_result)
                {
                case 1:
                case 2:
                case 3:
                case 4:
                case 5:
                case 7:
                    if (ff9StateGlobal.btl_result == 2)
                    {
                        ff9StateGlobal.btl_result = 1;
                    }
                    if (FF9StateSystem.Battle.FF9Battle.map.nextMode == 1 || FF9StateSystem.Battle.FF9Battle.map.nextMode == 5)
                    {
                        FF9StateSystem.Common.FF9.fldMapNo = FF9StateSystem.Battle.FF9Battle.map.nextMapNo;
                    }
                    else if (FF9StateSystem.Battle.FF9Battle.map.nextMode == 3)
                    {
                        FF9StateSystem.Common.FF9.wldMapNo = FF9StateSystem.Battle.FF9Battle.map.nextMapNo;
                    }
                    UIManager.Battle.GoToBattleResult();
                    if (!FF9StateSystem.Battle.isDebug)
                    {
                        PersistenSingleton <EventEngine> .Instance.ServiceEvents();

                        SceneDirector.ServiceFade();
                    }
                    break;

                case 6:
                    UIManager.Battle.GoToGameOver();
                    break;
                }
            }
        }
        for (BTL_DATA next = FF9StateSystem.Battle.FF9Battle.btl_list.next; next != null; next = next.next)
        {
            if (next.bi.slave == 0 && next.bi.disappear == 0 && next.bi.shadow != 0)
            {
                FF9StateBattleSystem ff9Battle2 = FF9StateSystem.Battle.FF9Battle;
                int boneNo = ff9btl.ff9btl_set_bone(next.shadow_bone[0], next.shadow_bone[1]);
                if (next.bi.player != 0)
                {
                    if ((ff9Battle2.cmd_status & 1) == 0)
                    {
                        if ((next.escape_key ^ ff9Battle2.btl_escape_key) != 0)
                        {
                            btl_mot.SetDefaultIdle(next);
                        }
                        next.escape_key = ff9Battle2.btl_escape_key;
                    }
                    btlseq.FF9DrawShadowCharBattle(ff9Battle2.map.shadowArray, (int)next.bi.slot_no, 0, boneNo);
                }
                else if (next.die_seq < 4)
                {
                    btlseq.FF9DrawShadowCharBattle(ff9Battle2.map.shadowArray, (int)(checked (9 + next.bi.slot_no)), 0, boneNo);
                }
            }
        }
    }
Ejemplo n.º 27
0
    private void OnUiAttackDebug()
    {
        Rect fullscreenRect = DebugGuiSkin.GetFullscreenRect();
        Rect screenRect     = fullscreenRect;

        screenRect.height *= 0.375f;
        screenRect.y       = fullscreenRect.height - screenRect.height;
        GUILayout.BeginArea(screenRect);
        GUILayout.BeginVertical(new GUILayoutOption[0]);
        this.scrollPosition = GUILayout.BeginScrollView(this.scrollPosition, new GUILayoutOption[]
        {
            GUILayout.Width(screenRect.width),
            GUILayout.Height(screenRect.height)
        });
        GUILayout.BeginHorizontal("Box", new GUILayoutOption[0]);
        Boolean isTrance = GUILayout.Toggle(FF9StateSystem.Battle.isTrance[FF9StateSystem.Battle.selectCharPosID], "Trance", new GUILayoutOption[0]);

        if (isTrance != FF9StateSystem.Battle.isTrance[FF9StateSystem.Battle.selectCharPosID])
        {
            BattleUnit character = btl_scrp.FindBattleUnit((UInt16)(1 << FF9StateSystem.Battle.selectCharPosID));
            FF9StateSystem.Battle.isTrance[FF9StateSystem.Battle.selectCharPosID] = isTrance;
            if (isTrance)
            {
                character.Trance = Byte.MaxValue;
                character.AlterStatus(BattleStatus.Trance);
            }
            else
            {
                character.Trance = 0;
                character.RemoveStatus(BattleStatus.Trance);
            }
        }
        if (GUILayout.Button("Attack", new GUILayoutOption[0]))
        {
            HonoluluBattleMain.playCommand(FF9StateSystem.Battle.selectCharPosID, 0, 16, isTrance);
        }
        else if (GUILayout.Button("Skill1", new GUILayoutOption[0]))
        {
            HonoluluBattleMain.playCommand(FF9StateSystem.Battle.selectCharPosID, 1, 16, isTrance);
        }
        else if (GUILayout.Button("Skill2", new GUILayoutOption[0]))
        {
            HonoluluBattleMain.playCommand(FF9StateSystem.Battle.selectCharPosID, 2, 16, isTrance);
        }
        else if (GUILayout.Button("Item", new GUILayoutOption[0]))
        {
            HonoluluBattleMain.playCommand(FF9StateSystem.Battle.selectCharPosID, 3, 16, isTrance);
        }
        GUILayout.EndHorizontal();
        GUILayout.BeginHorizontal("Box", new GUILayoutOption[0]);
        GUILayout.Label("PlayerCount:" + FF9StateSystem.Battle.selectPlayerCount, new GUILayoutOption[0]);
        if (GUILayout.Button("<", new GUILayoutOption[0]))
        {
            FF9StateSystem.Battle.selectPlayerCount--;
            if (FF9StateSystem.Battle.selectPlayerCount <= 0)
            {
                FF9StateSystem.Battle.selectPlayerCount = 4;
                ff9play.FF9Play_SetParty(0, 0);
                ff9play.FF9Play_SetParty(1, 1);
                ff9play.FF9Play_SetParty(2, 2);
                ff9play.FF9Play_SetParty(3, 3);
            }
            else
            {
                ff9play.FF9Play_SetParty(FF9StateSystem.Battle.selectPlayerCount, -1);
            }
            SceneDirector.Replace("BattleMapDebug", SceneTransition.FadeOutToBlack_FadeIn, true);
        }
        if (GUILayout.Button(">", new GUILayoutOption[0]))
        {
            Int32 num = FF9StateSystem.Battle.selectPlayerCount++;
            if (FF9StateSystem.Battle.selectPlayerCount > 4)
            {
                FF9StateSystem.Battle.selectPlayerCount = 1;
                ff9play.FF9Play_SetParty(3, -1);
                ff9play.FF9Play_SetParty(2, -1);
                ff9play.FF9Play_SetParty(1, -1);
            }
            else
            {
                ff9play.FF9Play_SetParty(num, num);
            }
            SceneDirector.Replace("BattleMapDebug", SceneTransition.FadeOutToBlack_FadeIn, true);
        }
        GUILayout.EndHorizontal();
        GUILayout.BeginHorizontal("Box", new GUILayoutOption[0]);
        GUILayout.Label("CharPosID:" + FF9StateSystem.Battle.selectCharPosID, new GUILayoutOption[0]);
        if (GUILayout.Button("<", new GUILayoutOption[0]))
        {
            FF9StateSystem.Battle.selectCharPosID--;
            if (FF9StateSystem.Battle.selectCharPosID < 0)
            {
                FF9StateSystem.Battle.selectCharPosID = FF9StateSystem.Battle.selectPlayerCount - 1;
            }
        }
        if (GUILayout.Button(">", new GUILayoutOption[0]))
        {
            FF9StateSystem.Battle.selectCharPosID++;
            if (FF9StateSystem.Battle.selectCharPosID >= FF9StateSystem.Battle.selectPlayerCount)
            {
                FF9StateSystem.Battle.selectCharPosID = 0;
            }
        }
        GUILayout.EndHorizontal();
        GUILayout.BeginHorizontal("Box", new GUILayoutOption[0]);
        GUILayout.Label("CharModelID:" + FF9StateSystem.Common.FF9.party.member[FF9StateSystem.Battle.selectCharPosID].info.slot_no, new GUILayoutOption[0]);
        if (GUILayout.Button("<", new GUILayoutOption[0]))
        {
            Int32 num2 = BattleUI.currentDebugSerialCharacter[FF9StateSystem.Battle.selectCharPosID];
            do
            {
                if (num2 != 0)
                {
                    num2--;
                }
                else
                {
                    num2 = 11;
                }
            }while (Array.IndexOf <Int32>(BattleUI.currentDebugSerialCharacter, num2) != -1);
            ff9play.FF9Dbg_SetCharacter(num2, FF9StateSystem.Battle.selectCharPosID);
            BattleUI.currentDebugSerialCharacter[FF9StateSystem.Battle.selectCharPosID] = num2;
            SceneDirector.Replace("BattleMapDebug", SceneTransition.FadeOutToBlack_FadeIn, true);
        }
        if (GUILayout.Button(">", new GUILayoutOption[0]))
        {
            Int32 num3 = BattleUI.currentDebugSerialCharacter[FF9StateSystem.Battle.selectCharPosID];
            do
            {
                if (num3 < 12)
                {
                    num3++;
                }
                else
                {
                    num3 = 0;
                }
            }while (Array.IndexOf <Int32>(BattleUI.currentDebugSerialCharacter, num3) != -1);
            ff9play.FF9Dbg_SetCharacter(num3, FF9StateSystem.Battle.selectCharPosID);
            BattleUI.currentDebugSerialCharacter[FF9StateSystem.Battle.selectCharPosID] = num3;
            SceneDirector.Replace("BattleMapDebug", SceneTransition.FadeOutToBlack_FadeIn, true);
        }
        GUILayout.EndHorizontal();
        GUILayout.BeginHorizontal("Box", new GUILayoutOption[0]);
        GUILayout.Label("WeaponID:" + this.battleMain.GetWeaponID(FF9StateSystem.Battle.selectCharPosID), new GUILayoutOption[0]);
        if (GUILayout.Button("<", new GUILayoutOption[0]))
        {
            HonoluluBattleMain.CurPlayerWeaponIndex[FF9StateSystem.Battle.selectCharPosID]--;
            ff9feqp.FF9FEqp_Equip((Byte)FF9StateSystem.Battle.selectCharPosID, ref HonoluluBattleMain.CurPlayerWeaponIndex[FF9StateSystem.Battle.selectCharPosID]);
            SceneDirector.Replace("BattleMapDebug", SceneTransition.FadeOutToBlack_FadeIn, true);
        }
        if (GUILayout.Button(">", new GUILayoutOption[0]))
        {
            HonoluluBattleMain.CurPlayerWeaponIndex[FF9StateSystem.Battle.selectCharPosID]++;
            ff9feqp.FF9FEqp_Equip((Byte)FF9StateSystem.Battle.selectCharPosID, ref HonoluluBattleMain.CurPlayerWeaponIndex[FF9StateSystem.Battle.selectCharPosID]);
            SceneDirector.Replace("BattleMapDebug", SceneTransition.FadeOutToBlack_FadeIn, true);
        }
        GUILayout.EndHorizontal();
        GUILayout.EndScrollView();
        GUILayout.EndVertical();
        GUILayout.EndArea();
    }
Ejemplo n.º 28
0
 private void Update()
 {
     SceneDirector.ServiceFade();
 }
Ejemplo n.º 29
0
 protected void Start()
 {
     Debug.Log(this.GetInstanceID());
     sceneController = (FirstController)SceneDirector.GetInstance().CSController;
     sceneController.actionManager = this;
 }
Ejemplo n.º 30
0
        private void DoNotPopulateScene(On.RoR2.SceneDirector.orig_PopulateScene orig, SceneDirector self)
        {
            self.SetFieldValue <float>("interactableCredit", 0);

            orig(self);
        }