Esempio n. 1
0
    public void Begin()
    {
        string name = NameInputField.text.ToLower();

        Logger.Instance.UserID = name;
        LevelSelection.SetVersion(GameVersion.GetVersion(name));
        Session.LoadLevel("IntroCutscene1");
    }
Esempio n. 2
0
        static void OnGUI(UnityModManager.ModEntry modEntry)
        {
            if (!enabled)
            {
                return;
            }

            var fixedWidth = new GUILayoutOption[1] {
                GUILayout.ExpandWidth(false)
            };

            if (testedGameVersion != GameVersion.GetVersion())
            {
                GUILayout.Label($"<b>This mod was tested against game version {testedGameVersion}, but you are running {GameVersion.GetVersion()}.</b>", fixedWidth);
            }
            if (failedPatches.Count > 0)
            {
                GUILayout.BeginVertical();
                GUILayout.Label("<b>Error: Some patches failed to apply. These features may not work:</b>", fixedWidth);
                foreach (var featureName in failedPatches)
                {
                    GUILayout.Label($"  • <b>{featureName}</b>", fixedWidth);
                }
                GUILayout.EndVertical();
            }
            if (failedLoading.Count > 0)
            {
                GUILayout.BeginVertical();
                GUILayout.Label("<b>Error: Some assets failed to load. Saves using these features won't work:</b>", fixedWidth);
                foreach (var featureName in failedLoading)
                {
                    GUILayout.Label($"  • <b>{featureName}</b>", fixedWidth);
                }
                GUILayout.EndVertical();
            }

            settings.EldritchKnightFix = GUILayout.Toggle(settings.EldritchKnightFix,
                                                          "Eldritch Knight requires martial class (doesn't affect existing EKs)", fixedWidth);

            settings.ShowCustomPortraits = GUILayout.Toggle(settings.ShowCustomPortraits,
                                                            "Show custom portraits in the portrait list at character creation (if changed, requires restart)", fixedWidth);

            settings.OracleHas3SkillPoints = GUILayout.Toggle(settings.OracleHas3SkillPoints,
                                                              "Give Oracle class 3+int skill points on level up (instead of 4, due to condensed skills)");
            OracleClass.MaybeUpdateSkillPoints();

            settings.RelaxAncientLorekeeper = GUILayout.Toggle(settings.RelaxAncientLorekeeper,
                                                               "Any race can choose the Oracle Ancient Lorekeeper archetype", fixedWidth);

            settings.RelaxTonguesCurse = GUILayout.Toggle(settings.RelaxTonguesCurse,
                                                          "Disable Tongues curse penalty (that party members need 1 rank Knowledge: World to be controlled by PC in combat)", fixedWidth);
        }
Esempio n. 3
0
        private bool FindProcess(out Process process, out GameVersion gameVersion)
        {
            foreach (var p in Process.GetProcesses())
            {
                gameVersion = GameVersion.GetVersion(p);
                if (gameVersion != null && !p.HasExited)
                {
                    process = p;
                    return(true);
                }
            }

            process     = null;
            gameVersion = null;
            return(false);
        }
Esempio n. 4
0
        static void OnGUI(UnityModManager.ModEntry modEntry)
        {
            if (!enabled)
            {
                return;
            }

            var fixedWidth = new GUILayoutOption[1] {
                GUILayout.ExpandWidth(false)
            };

            if (testedGameVersion != GameVersion.GetVersion())
            {
                GUILayout.Label(string.Format(RES.testedGameVersion_warning, testedGameVersion, GameVersion.GetVersion()), fixedWidth);
            }
            if (failedPatches.Count > 0)
            {
                GUILayout.BeginVertical();
                GUILayout.Label(RES.failedPatches_error, fixedWidth);
                foreach (var featureName in failedPatches)
                {
                    GUILayout.Label(string.Format(RES.featureName_error, featureName), fixedWidth);
                }
                GUILayout.EndVertical();
            }
            if (failedLoading.Count > 0)
            {
                GUILayout.BeginVertical();
                GUILayout.Label(RES.failedLoading_error, fixedWidth);
                foreach (var featureName in failedLoading)
                {
                    GUILayout.Label(string.Format(RES.featureName_error, featureName), fixedWidth);
                }
                GUILayout.EndVertical();
            }

            settings.EldritchKnightFix      = GUILayout.Toggle(settings.EldritchKnightFix, RES.EldritchKnightFix_info, fixedWidth);
            settings.DrawbackForextraTraits = GUILayout.Toggle(settings.DrawbackForextraTraits, RES.DrawbackForextraTraits_info, fixedWidth);
            settings.OracleHas3SkillPoints  = GUILayout.Toggle(settings.OracleHas3SkillPoints, RES.OracleHas3SkillPoints_info, fixedWidth);
            OracleClass.MaybeUpdateSkillPoints();

            settings.RelaxAncientLorekeeper = GUILayout.Toggle(settings.RelaxAncientLorekeeper, RES.RelaxAncientLorekeeper_info, fixedWidth);
            settings.RelaxTonguesCurse      = GUILayout.Toggle(settings.RelaxTonguesCurse, RES.RelaxTonguesCurse_info, fixedWidth);
            settings.ShowCustomPortraits    = GUILayout.Toggle(settings.ShowCustomPortraits, RES.ShowCustomPortraits_info, fixedWidth);
            settings.CheatCustomTraits      = GUILayout.Toggle(settings.CheatCustomTraits, RES.CheatCustomTraits_info, fixedWidth);
            settings.HighDCl = GUILayout.Toggle(settings.HighDCl, RES.HighDCl_info, fixedWidth);
        }
    public void Begin()
    {
        string name = NameInputField.text.ToLower();

        Logger.Instance.UserID = name;
        GameVersion.T version = GameVersion.GetVersion(name);
        if (version == GameVersion.T.Integrated)
        {
            Logger.Instance.LogAction("Version", "Integrated", name);
        }
        else
        {
            Logger.Instance.LogAction("Version", "Non-Integrated", name);
        }
        LevelSelection.SetVersion(version);
        Commands.AutoplayReady = true;
        Session.LoadLevel("IntroCutscene1");
    }
Esempio n. 6
0
        static void OnGUI(UnityModManager.ModEntry modEntry)
        {
            if (!Enabled)
            {
                return;
            }

            var fixedWidth = new GUILayoutOption[1] {
                GUILayout.ExpandWidth(false)
            };

            if (testedGameVersion != GameVersion.GetVersion())
            {
                GUILayout.Label($"<b>This mod was tested against game version {testedGameVersion}, but you are running {GameVersion.GetVersion()}.</b>", fixedWidth);
            }

            if (HarmonyPatcher == null)
            {
                GUILayout.Label($"<b>Error: failed to instantiate Harmony patcher.</b>");
            }
            if (HarmonyPatcher.FailedPatches.Count > 0)
            {
                GUILayout.BeginVertical();
                GUILayout.Label("<b>Error: Some patches failed to apply. These features may not work:</b>", fixedWidth);
                foreach (var featureName in HarmonyPatcher.FailedPatches)
                {
                    GUILayout.Label($"  • <b>{featureName}</b>", fixedWidth);
                }
                GUILayout.EndVertical();
            }
            if (HarmonyPatcher.FailedLoading.Count > 0)
            {
                GUILayout.BeginVertical();
                GUILayout.Label("<b>Error: Some assets failed to load. Saves using these features won't work:</b>", fixedWidth);
                foreach (var featureName in HarmonyPatcher.FailedLoading)
                {
                    GUILayout.Label($"  • <b>{featureName}</b>", fixedWidth);
                }
                GUILayout.EndVertical();
            }

            Settings.UseSoftCover = GUILayout.Toggle(Settings.UseSoftCover, "Use Soft Cover rules", fixedWidth);
        }
Esempio n. 7
0
        static void OnGUI(UnityModManager.ModEntry modEntry)
        {
            if (!enabled)
            {
                return;
            }

            GL.BeginVertical("box");

            if (testedGameVersion != GameVersion.GetVersion())
            {
                SingleLineLabel(string.Format(RES.testedGameVersion_warning, testedGameVersion, GameVersion.GetVersion()));
            }
            if (failedPatches.Count > 0)
            {
                SingleLineLabel(RES.failedPatches_error);
                foreach (var featureName in failedPatches)
                {
                    SingleLineLabel(string.Format(RES.featureName_error, featureName));
                }
            }
            if (failedLoading.Count > 0)
            {
                SingleLineLabel(RES.failedLoading_error);
                foreach (var featureName in failedLoading)
                {
                    SingleLineLabel(string.Format(RES.featureName_error, featureName));
                }
            }

            SingleLineToggle(ref settings.EldritchKnightFix, RES.EldritchKnightFix_info, RES.EldritchKnightFix_tip);
            SingleLineToggle(ref settings.DrawbackForextraTraits, RES.DrawbackForextraTraits_info);
            SingleLineToggle(ref settings.OracleHas3SkillPoints, RES.OracleHas3SkillPoints_info);
            OracleClass.MaybeUpdateSkillPoints();
            SingleLineToggle(ref settings.RelaxAncientLorekeeper, RES.RelaxAncientLorekeeper_info);
            SingleLineToggle(ref settings.RelaxTonguesCurse, RES.RelaxTonguesCurse_info, RES.RelaxTonguesCurse_tip);
            SingleLineToggle(ref settings.ShowCustomPortraits, RES.ShowCustomPortraits_info);
            SingleLineToggle(ref settings.CheatCustomTraits, RES.CheatCustomTraits_info);
            SingleLineToggle(ref settings.HighDCl, RES.HighDCl_info);

            GL.EndVertical();
            ShowTooltip();
        }
Esempio n. 8
0
        static void OnGUI(UnityModManager.ModEntry modEntry)
        {
            if (!enabled)
            {
                return;
            }

            var fixedWidth = new GUILayoutOption[1] {
                GUILayout.ExpandWidth(false)
            };

            if (testedGameVersion != GameVersion.GetVersion())
            {
                GUILayout.Label($"<b>This mod was tested against game version {testedGameVersion}, but you are running {GameVersion.GetVersion()}.</b>", fixedWidth);
            }
            if (failedPatches.Count > 0)
            {
                GUILayout.BeginVertical();
                GUILayout.Label("<b>Error: Some patches failed to apply. These features may not work:</b>", fixedWidth);
                foreach (var featureName in failedPatches)
                {
                    GUILayout.Label($"  • <b>{featureName}</b>", fixedWidth);
                }
                GUILayout.EndVertical();
            }
            if (failedLoading.Count > 0)
            {
                GUILayout.BeginVertical();
                GUILayout.Label("<b>Error: Some assets failed to load. Saves using these features won't work:</b>", fixedWidth);
                foreach (var featureName in failedLoading)
                {
                    GUILayout.Label($"  • <b>{featureName}</b>", fixedWidth);
                }
                GUILayout.EndVertical();
            }

            settings.EldritchKnightFix = GUILayout.Toggle(settings.EldritchKnightFix,
                                                          "Eldritch Knight requires martial class (doesn't affect existing EKs)", fixedWidth);

            settings.ShowCustomPortraits = GUILayout.Toggle(settings.ShowCustomPortraits,
                                                            "Show custom portraits in the portrait list at character creation (if changed, requires restart)", fixedWidth);

            settings.CheatCustomTraits = GUILayout.Toggle(settings.CheatCustomTraits,
                                                          "Enable Show alll traits,spells even custom and homebrew(if changed, requires restart for changes to show up)", fixedWidth);


            string message = "Enable Picking Bloodline mutations on every bloodline class(if changed, requires new save but it doesn't work yet)";

            settings.DrawbackForextraTraits = GUILayout.Toggle(settings.DrawbackForextraTraits,
                                                               "features incompatible with call of the wild(Turn off for compatibility Call of the wild 1.57+)(if changed, requires restart)", fixedWidth);

            settings.FavoredMetamagic = GUILayout.Toggle(settings.FavoredMetamagic,
                                                         "favored class bonus and metamagic feats", fixedWidth);

            settings.HighDCl = GUILayout.Toggle(settings.HighDCl,
                                                "Outlander spells gain caster level and Dc max{cheat}", fixedWidth);

            settings.OracleHas3SkillPoints = GUILayout.Toggle(settings.OracleHas3SkillPoints,
                                                              "Give Oracle class 3+int skill points on level up (instead of 4, due to condensed skills)");
            OracleClass.MaybeUpdateSkillPoints();

            settings.RelaxAncientLorekeeper = GUILayout.Toggle(settings.RelaxAncientLorekeeper,
                                                               "Any race can choose the Oracle Ancient Lorekeeper archetype", fixedWidth);

            settings.RelaxTonguesCurse = GUILayout.Toggle(settings.RelaxTonguesCurse,
                                                          "Disable Tongues curse penalty (that party members need 1 rank Knowledge: World to be controlled by PC in combat)", fixedWidth);
        }
Esempio n. 9
0
        static void OnGUI(UnityModManager.ModEntry modEntry)
        {
            try
            {
                if (!enabled)
                {
                    return;
                }
#if (DEBUG)
                GUILayout.Label($"Game Version: {GameVersion.GetVersion()}");
                if (GUILayout.Button("DumpAssets"))
                {
                    AssetsDump.DumpAssets();
                }
                if (GUILayout.Button("DumpClassRaceBlueprints"))
                {
                    AssetsDump.DumpQuick();
                }
                if (GUILayout.Button("DumpSampleOfBlueprints"))
                {
                    AssetsDump.DumpBlueprints();
                }
                if (GUILayout.Button("DumpAllBlueprints"))
                {
                    AssetsDump.DumpAllBlueprints();
                }
                if (GUILayout.Button("DumpAllBlueprintsVerbose"))
                {
                    AssetsDump.DumpAllBlueprintsVerbose();
                }
                if (GUILayout.Button("DumpFlags"))
                {
                    var blueprints = ResourcesLibrary.GetBlueprints <BlueprintUnlockableFlag>();
                    Directory.CreateDirectory("Blueprints");
                    using (var file = new StreamWriter("Blueprints/log.txt"))
                    {
                        foreach (var blueprint in blueprints)
                        {
                            if (blueprint.AssetGuid.Length != 32)
                            {
                                continue;
                            }
                            Main.DebugLog($"Dumping {blueprint.name} - {blueprint.AssetGuid}");
                            try
                            {
                                AssetsDump.DumpBlueprint(blueprint);
                            }
                            catch (Exception ex)
                            {
                                file.WriteLine($"Error dumping {blueprint.name}:{blueprint.AssetGuid}:{blueprint.GetType().FullName}, {ex.ToString()}");
                            }
                        }
                    }
                }
                if (GUILayout.Button("DumpEquipmentEntities"))
                {
                    AssetsDump.DumpEquipmentEntities();
                }
                if (GUILayout.Button("DumpUnitViews"))
                {
                    AssetsDump.DumpUnitViews();
                }
                if (GUILayout.Button("DumpList"))
                {
                    AssetsDump.DumpList();
                }
                if (GUILayout.Button("DumpScriptableObjects"))
                {
                    AssetsDump.DumpScriptableObjects();
                }
                if (GUILayout.Button("DumpAssetBundles"))
                {
                    AssetsDump.DumpAssetBundles();
                }
                if (GUILayout.Button("DumpUI"))
                {
                    AssetsDump.DumpUI();
                }
                if (GUILayout.Button("DumpSceneList"))
                {
                    AssetsDump.DumpSceneList();
                }
                if (GUILayout.Button("DumpKingdom"))
                {
                    AssetsDump.DumpKingdom();
                }
                if (GUILayout.Button("DumpView"))
                {
                    var view      = ResourcesLibrary.TryGetResource <GameObject>("adf003833b2463543a065d5160c7e8f1");
                    var character = view.GetComponent <Character>();
                    JsonBlueprints.Dump(character, "adf003833b2463543a065d5160c7e8f1");
                }
                if (GUILayout.Button("TestLoad"))
                {
                    var vp = JsonBlueprints.Load <BlueprintRaceVisualPreset>("mods/customraces/data/TestPreset.json");
                    DebugLog("Loaded " + vp.name);
                }
#endif
            } catch (Exception e)
            {
                DebugLog(e.ToString() + " " + e.StackTrace);
            }
        }