public static void InitStart(InitParams initParams)
        {
            mod = initParams.Mod;

            gameobjectDistantTerrain = new GameObject("DistantTerrain");
            componentDistantTerrain  = gameobjectDistantTerrain.AddComponent <DistantTerrain>();

            ModSettings settings = mod.GetSettings();

            shaderDistantTerrainTilemap             = mod.GetAsset <Shader>("Shaders/DistantTerrainTilemap.shader");
            shaderBillboardBatchFaded               = mod.GetAsset <Shader>("Shaders/DaggerfallBillboardBatchFaded.shader");
            shaderTransitionRingTilemap             = mod.GetAsset <Shader>("Shaders/TransitionRingTilemap.shader");
            shaderTransitionRingTilemapTextureArray = mod.GetAsset <Shader>("Shaders/TransitionRingTilemapTextureArray.shader");

            enableTerrainTransition = settings.GetValue <bool>("GeneralSettings", "TerrainTransition");
            enableFadeIntoSkybox    = settings.GetValue <bool>("GeneralSettings", "FadeIntoSkybox");
            enableSeaReflections    = settings.GetValue <bool>("GeneralSettings", "SeaReflections");
            enableImprovedTerrain   = settings.GetValue <bool>("ImprovedTerrainSettings", "EnableImprovedTerrain");
            indicateLocations       = settings.GetValue <bool>("ImprovedTerrainSettings", "IndicateLocations");

            componentDistantTerrain.EnableTerrainTransition                 = enableTerrainTransition;
            componentDistantTerrain.EnableFadeIntoSkybox                    = enableFadeIntoSkybox;
            componentDistantTerrain.EnableSeaReflections                    = enableSeaReflections;
            componentDistantTerrain.EnableImprovedTerrain                   = enableImprovedTerrain;
            componentDistantTerrain.IndicateLocations                       = indicateLocations;
            componentDistantTerrain.ShaderDistantTerrainTilemap             = shaderDistantTerrainTilemap;
            componentDistantTerrain.ShaderBillboardBatchFaded               = shaderBillboardBatchFaded;
            componentDistantTerrain.ShaderTransitionRingTilemap             = shaderTransitionRingTilemap;
            componentDistantTerrain.ShaderTransitionRingTilemapTextureArray = shaderTransitionRingTilemapTextureArray;
        }
Example #2
0
        private void Start()
        {
            ModSettings settings = mod.GetSettings();

            encounterAvoidanceSystem = settings.GetValue <bool>("AvoidRandomEncounters", "AvoidRandomEncounters");
            maxSuccessChance         = settings.GetValue <int>("AvoidRandomEncounters", "MaxChanceToAvoidEncounter");

            hudVitals    = DaggerfallUI.Instance.DaggerfallHUD.HUDVitals;
            playerEntity = GameManager.Instance.PlayerEntity;

            TediousData.Instance.LoadPortTowns();
            baseFixedDeltaTime = Time.fixedDeltaTime;
            DaggerfallUI.UIManager.OnWindowChange += travelMapInterceptor;
            travelMap          = new TediousTravelMap(DaggerfallUI.UIManager, this);
            travelUi           = new TediousTravelControllMenu(DaggerfallUI.UIManager, travelMap);
            travelUi.OnCancel += (sender) => {
                destinationName = "";
            };
            travelUi.OnClose += () => {
                InterruptFastTravel();
            };

            travelUi.OnTimeCompressionChanged += (newTimeCompression) => { SetTimeScale(newTimeCompression); };

            ridingAudioSource = GameManager.Instance.TransportManager.GetComponent <AudioSource>();
            Debug.Log("riding audio source: " + ridingAudioSource);

            // Clear destination for new or loaded games.
            SaveLoadManager.OnLoad       += (saveData) => { destinationName = ""; };
            StartGameBehaviour.OnNewGame += () => { destinationName = ""; };
        }
Example #3
0
        public static void InitStart(InitParams initParams)
        {
            // check if debug gameobject is present, if so do not initalize mod
            if (GameObject.Find("debug_RealtimeReflections"))
            {
                return;
            }

            // Get this mod
            mod = initParams.Mod;

            // Load settings. Pass this mod as paramater
            ModSettings settings = mod.GetSettings();

            // settings
            floorReflectionTextureWidth       = settings.GetValue <int>("FloorReflectionTexture", "width");
            floorReflectionTextureHeight      = settings.GetValue <int>("FloorReflectionTexture", "height");
            lowerLevelReflectionTextureWidth  = settings.GetValue <int>("LowerLevelReflectionTexture", "width");
            lowerLevelReflectionTextureHeight = settings.GetValue <int>("LowerLevelReflectionTexture", "height");
            roughnessMultiplier = settings.GetValue <float>("ReflectionParameters", "roughnessMultiplier");

            shaderTilemapWithReflections                   = mod.GetAsset <Shader>("Shaders/DaggerfallTilemapWithReflections.shader");
            shaderTilemapTextureArrayWithReflections       = mod.GetAsset <Shader>("Shaders/DaggerfallTilemapTextureArrayWithReflections.shader");
            shaderCreateLookupReflectionTextureCoordinates = mod.GetAsset <Shader>("Shaders/CreateLookupReflectionTextureCoordinates.shader");
            shaderCreateLookupReflectionTextureIndex       = mod.GetAsset <Shader>("Shaders/CreateLookupReflectionTextureIndex.shader");
            shaderDeferredPlanarReflections                = mod.GetAsset <Shader>("Shaders/DeferredPlanarReflections.shader");
            textureTileatlasReflective        = mod.GetAsset <Texture2D>("Resources/tileatlas_reflective");
            textureTileatlasReflectiveRaining = mod.GetAsset <Texture2D>("Resources/tileatlas_reflective_raining");

            initMod();

            //after finishing, set the mod's IsReady flag to true.
            ModManager.Instance.GetMod(initParams.ModTitle).IsReady = true;
        }
Example #4
0
        public static void InitStart(InitParams initParams)
        {
            // check if debug gameobject is present, if so do not initalize mod
            if (GameObject.Find("debug_DistantTerrain"))
            {
                return;
            }

            // Get this mod
            mod = initParams.Mod;

            // Load settings.
            ModSettings settings = mod.GetSettings();

            // settings
            enableTerrainTransition = settings.GetValue <bool>("GeneralSettings", "TerrainTransition");
            enableFadeIntoSkybox    = settings.GetValue <bool>("GeneralSettings", "FadeIntoSkybox");
            enableSeaReflections    = settings.GetValue <bool>("GeneralSettings", "SeaReflections");
            enableImprovedTerrain   = settings.GetValue <bool>("ImprovedTerrainSettings", "EnableImprovedTerrain");
            indicateLocations       = settings.GetValue <bool>("ImprovedTerrainSettings", "IndicateLocations");

            shaderDistantTerrainTilemap             = mod.GetAsset <Shader>("Shaders/DistantTerrainTilemap.shader");
            shaderBillboardBatchFaded               = mod.GetAsset <Shader>("Shaders/DaggerfallBillboardBatchFaded.shader");
            shaderTransitionRingTilemap             = mod.GetAsset <Shader>("Shaders/TransitionRingTilemap.shader");
            shaderTransitionRingTilemapTextureArray = mod.GetAsset <Shader>("Shaders/TransitionRingTilemapTextureArray.shader");

            initMod();

            //after finishing, set the mod's IsReady flag to true.
            ModManager.Instance.GetMod(initParams.ModTitle).IsReady = true;
        }
Example #5
0
        void Awake()
        {
            ModSettings settings = mod.GetSettings();

            apMax          = settings.GetValue <int>("AttributePoints", "MaximumAttributePoints");
            apMin          = settings.GetValue <int>("AttributePoints", "MinimumAttributePoints");
            curvedAP       = settings.GetValue <bool>("AttributePoints", "ActivateCurvedLeveling");
            startAttribute = settings.GetValue <int>("StartingAttributes", "AdjustStartingAttributesBy");
            maxAttribute   = settings.GetValue <int>("AttributeMaximum", "MaximumAttributePoints");
            hpMaxSetting   = settings.GetValue <int>("HitPoints", "MaximumHitPoints");
            hpMinSetting   = settings.GetValue <int>("HitPoints", "MinimumHitPoints");
            medianHP       = settings.GetValue <bool>("HitPoints", "MedianHitPoints");
            retroEnd       = settings.GetValue <bool>("HitPoints", "RetroactiveEnduranceBonus");

            if (apMax != 6 || apMin != 4)
            {
                editAP = true;
            }
            if (startAttribute != 0)
            {
                editStartAP = true;
            }
            if (maxAttribute != 100)
            {
                editMaxAP = true;
            }
            if (hpMaxSetting != 1 || hpMinSetting != 1 || medianHP || retroEnd)
            {
                editHP = true;
            }
        }
Example #6
0
        void Start()
        {
            ModSettings settings = mod.GetSettings();

            volume  = settings.GetValue <float>("Settings", "Volume");
            minDist = settings.GetValue <float>("Settings", "MinVolumeDistance");
            maxDist = settings.GetValue <float>("Settings", "MaxVolumeDistance");
            pitch   = settings.GetValue <float>("Settings", "Pitch");

            PlayerEnterExit.OnTransitionDungeonInterior += PlayerEnterExit_OnTransitionDungeonInterior;
        }
        private void Start()
        {
            ModSettings settings = mod.GetSettings();

            volume  = settings.GetValue <float>("Settings", "Volume");
            minDist = settings.GetValue <float>("Settings", "MinVolumeDistance");
            maxDist = settings.GetValue <float>("Settings", "MaxVolumeDistance");

            playerEnterExit = GameManager.Instance.PlayerEnterExit;

            SaveLoadManager.OnLoad       += (saveData) => { currentLocationName = null; };
            StartGameBehaviour.OnNewGame += () => { currentLocationName = null; };
        }
Example #8
0
        static void LoadSettings(ModSettings modSettings, ModSettingsChange change)
        {
            SettingMenuUnlock                 = modSettings.GetValue <int>("Gameplay", "MenuUnlock");
            SettingEntries                    = modSettings.GetValue <int>("Gameplay", "Entries");
            SettingSpawnItem                  = modSettings.GetBool("Gameplay", "ItemSpawning");
            SettingDefaultRotation            = modSettings.GetValue <int>("UserInterface", "DefaultMobOrientation");
            SettingAnimationUpdateDelay       = modSettings.GetValue <int>("UserInterface", "DelayBetweenAnimationFrames");
            SettingAnimate                    = modSettings.GetBool("UserInterface", "EnableAnimations");
            SettingEnableAllDirectionRotation = modSettings.GetBool("UserInterface", "EnableEightDirectionRotation");

            openMenuKeyCode = SetKeyFromText(modSettings.GetValue <string>("Controls", "Keybind"));
            InitializeUI();
        }
        private void LoadSettings(ModSettings settings)
        {
            enableFog      = settings.GetValue <bool>("Dungeon Fog", "enableFog");
            maxFogDistance = settings.GetValue <float>("Dungeon Fog", "maxFogDistance");
            minFogDistance = settings.GetValue <float>("Dungeon Fog", "minFogDistance");
            maxFogStart    = settings.GetValue <float>("Dungeon Fog", "maxFogStart");
            minFogStart    = settings.GetValue <float>("Dungeon Fog", "minFogStart");

            enableAmbientLighting = settings.GetValue <bool>("Dungeon Lighting", "enableFogAmbientEffect");
            dungeonDarkness       = settings.GetValue <float>("Dungeon Lighting", "dungeonDarkness");
            ambientLerp           = settings.GetValue <float>("Dungeon Lighting", "fogAmbientEffect");

            enableAO       = settings.GetValue <bool>("Effects", "enableAO");
            enableVignette = settings.GetValue <bool>("Effects", "enableVignette");
        }
Example #10
0
        private void LoadSettings(ModSettings settings)
        {
            enableCustomFootsteps = settings.GetValue <bool>("Better Footsteps", "enable");

            armorSoundVolume    = settings.GetValue <float>("Better Footsteps", "armorVolume");
            footstepSoundVolume = settings.GetValue <float>("Better Footsteps", "footstepVolume");

            footstepsComponent.FootstepsArmor.SetVolume(0.4f * armorSoundVolume);
            footstepsComponent.FootstepSoundDungeon.SetVolume(0.3f * footstepSoundVolume);
            footstepsComponent.FootstepSoundBuilding.SetVolume(0.4f * footstepSoundVolume);
            footstepsComponent.FootstepSoundShallow.SetVolume(0.4f * footstepSoundVolume);
            footstepsComponent.FootstepSoundOutside.SetVolume(0.15f * footstepSoundVolume);
            footstepsComponent.FootstepSoundSubmerged.SetVolume(footstepSoundVolume);
            footstepsComponent.FootstepSoundSnow.SetVolume(footstepSoundVolume);
        }
Example #11
0
        void GetModSettings()
        {
            ModSettings settings = DecoratorModLoader.Mod.GetSettings();

            hotKeyOption    = settings.GetValue <int>("Options", "HotKeyOptions");
            hotKey          = settings.GetValue <string>("Options", "HotKey");
            placeObjectCost = settings.GetValue <string>("Options", "PlaceObjectCost");

            GuildRestriction = settings.GetValue <bool>("Options", "GuildRestriction");

            if (hotKeyOption == 0)
            {
                hotKeyKeyCode = KeyCode.Slash;
            }
            else if (hotKeyOption == 1)
            {
                try
                {
                    hotKeyKeyCode = (KeyCode)Enum.Parse(typeof(KeyCode), hotKey, true);
                }
                catch (ArgumentException)
                {
                    hotKeyKeyCode = KeyCode.Slash;
                }
            }

            try
            {
                PlaceObjectCost = int.Parse(placeObjectCost);

                if (PlaceObjectCost < 0)
                {
                    PlaceObjectCost = 100;
                }
            }
            catch (FormatException)
            {
                PlaceObjectCost = 100;
            }
            catch (OverflowException)
            {
                PlaceObjectCost = 100;
            }
        }
        private void Start()
        {
            ModSettings settings = mod.GetSettings();

            UseNativeDfShipCalculations = settings.GetValue <bool>(SHIP_TRAVEL_OPTIONS_SETTINGS_SECTION, "EnableDaggerfallNativeShipTravel");
            UseInnsWhenTravelingByShip  = settings.GetValue <bool>(SHIP_TRAVEL_OPTIONS_SETTINGS_SECTION, "UseInnsWhenTravelingByShip");

            int avoidEncounterInt = settings.GetValue <int>(RANDOM_ENCOUNTERS_SETTINGS_SECTION, "AvoidRandomEncounters");

            avoidEncounters  = (AvoidEncounterChoice)Enum.ToObject(typeof(AvoidEncounterChoice), avoidEncounterInt);
            maxSuccessChance = settings.GetValue <int>(RANDOM_ENCOUNTERS_SETTINGS_SECTION, "MaxChanceToAvoidEncounter");

            hudVitals    = DaggerfallUI.Instance.DaggerfallHUD.HUDVitals;
            playerEntity = GameManager.Instance.PlayerEntity;

            TediousData.Instance.LoadPortTowns(mod.PersistentDataDirectory);
            baseFixedDeltaTime = Time.fixedDeltaTime;
            DaggerfallUI.UIManager.OnWindowChange += travelMapInterceptor;
            travelMap          = new TediousTravelMap(DaggerfallUI.UIManager, this);
            travelUi           = new TediousTravelControllMenu(DaggerfallUI.UIManager, travelMap);
            travelUi.OnCancel += (sender) =>
            {
                destinationName = null;
            };
            travelUi.OnClose += () =>
            {
                InterruptFastTravel();
            };

            travelUi.OnTimeCompressionChanged += (newTimeCompression) => { SetTimeScale(newTimeCompression); };

            ridingAudioSource = GameManager.Instance.TransportManager.GetComponent <AudioSource>();
            Debug.Log("riding audio source: " + ridingAudioSource);

            // Clear destination for new or loaded games.
            SaveLoadManager.OnLoad       += (saveData) => { destinationName = null; };
            StartGameBehaviour.OnNewGame += () => { destinationName = null; };
            GameManager.OnEncounter      += GameManager_OnEncounter;

            rain = GameManager.Instance.WeatherManager.PlayerWeather.RainParticles;
            snow = GameManager.Instance.WeatherManager.PlayerWeather.SnowParticles;
        }
Example #13
0
        public static void Init(InitParams initParams)
        {
            mod = initParams.Mod;

            gameobjectRealtimeReflections     = new GameObject("RealtimeReflections");
            componentUpdateReflectionTextures = gameobjectRealtimeReflections.AddComponent <UpdateReflectionTextures>();

            ModSettings settings = mod.GetSettings();

            shaderTilemapWithReflections                   = mod.GetAsset <Shader>("Shaders/DaggerfallTilemapWithReflections.shader");
            shaderTilemapTextureArrayWithReflections       = mod.GetAsset <Shader>("Shaders/DaggerfallTilemapTextureArrayWithReflections.shader");
            shaderCreateLookupReflectionTextureCoordinates = mod.GetAsset <Shader>("Shaders/CreateLookupReflectionTextureCoordinates.shader");
            shaderCreateLookupReflectionTextureIndex       = mod.GetAsset <Shader>("Shaders/CreateLookupReflectionTextureIndex.shader");
            shaderDeferredPlanarReflections                = mod.GetAsset <Shader>("Shaders/DeferredPlanarReflections.shader");
            shaderDungeonWaterWithReflections              = mod.GetAsset <Shader>("Shaders/DungeonWaterWithReflections.shader");
            shaderInvisible                   = mod.GetAsset <Shader>("Shaders/Invisible.shader");
            textureTileatlasReflective        = mod.GetAsset <Texture2D>("Resources/tileatlas_reflective");
            textureTileatlasReflectiveRaining = mod.GetAsset <Texture2D>("Resources/tileatlas_reflective_raining");

            componentUpdateReflectionTextures.IsEnabledOutdoorGroundReflections           = settings.GetValue <bool>("GeneralSettings", "OutdoorGroundReflections");
            componentUpdateReflectionTextures.IsEnabledOutdoorSeaReflections              = settings.GetValue <bool>("GeneralSettings", "OutdoorSeaReflections");
            componentUpdateReflectionTextures.IsEnabledIndoorBuildingFloorReflections     = settings.GetValue <bool>("GeneralSettings", "IndoorBuildingFloorReflections");
            componentUpdateReflectionTextures.IsEnabledIndoorBuildingLowerLevelReflection = settings.GetValue <bool>("GeneralSettings", "IndoorBuildingLowerLevelReflection");
            componentUpdateReflectionTextures.IsEnabledDungeonGroundReflections           = settings.GetValue <bool>("GeneralSettings", "DungeonGroundReflections");
            componentUpdateReflectionTextures.IsEnabledDungeonWaterReflections            = settings.GetValue <bool>("GeneralSettings", "DungeonWaterReflections");
            componentUpdateReflectionTextures.IsFeatureEnabledFakeParallaxReflections     = settings.GetValue <bool>("Features", "FakeParallaxReflections");
            componentUpdateReflectionTextures.FloorReflectionTextureWidth       = settings.GetValue <int>("FloorReflectionTexture", "width");
            componentUpdateReflectionTextures.FloorReflectionTextureHeight      = settings.GetValue <int>("FloorReflectionTexture", "height");
            componentUpdateReflectionTextures.LowerLevelReflectionTextureWidth  = settings.GetValue <int>("LowerLevelReflectionTexture", "width");
            componentUpdateReflectionTextures.LowerLevelReflectionTextureHeight = settings.GetValue <int>("LowerLevelReflectionTexture", "height");
            componentUpdateReflectionTextures.RoughnessMultiplier                            = settings.GetValue <float>("ReflectionParameters", "roughnessMultiplier");
            componentUpdateReflectionTextures.ShaderTilemapWithReflections                   = shaderTilemapWithReflections;
            componentUpdateReflectionTextures.ShaderTilemapTextureArrayWithReflections       = shaderTilemapTextureArrayWithReflections;
            componentUpdateReflectionTextures.ShaderCreateLookupReflectionTextureCoordinates = shaderCreateLookupReflectionTextureCoordinates;
            componentUpdateReflectionTextures.ShaderCreateLookupReflectionTextureIndex       = shaderCreateLookupReflectionTextureIndex;
            componentUpdateReflectionTextures.ShaderDeferredPlanarReflections                = shaderDeferredPlanarReflections;
            componentUpdateReflectionTextures.ShaderDungeonWaterWithReflections              = shaderDungeonWaterWithReflections;
            componentUpdateReflectionTextures.ShaderInvisible                   = shaderInvisible;
            componentUpdateReflectionTextures.TextureTileatlasReflective        = textureTileatlasReflective;
            componentUpdateReflectionTextures.TextureTileatlasReflectiveRaining = textureTileatlasReflectiveRaining;
        }
        public static void InitStart(InitParams initParams)
        {
            // check if debug gameobject is present, if so do not initalize mod
            if (GameObject.Find("debug_EnhancedSky"))
            {
                return;
            }

            // Get this mod
            mod = initParams.Mod;

            // Load settings. Pass this mod as paramater
            ModSettings settings = mod.GetSettings();

            // settings
            //enableSunFlare = settings.GetBool("GeneralSettings", "UseSunFlare");
            //cloudQuality = settings.GetInt("GeneralSettings", "CloudQuality");

            sunSize        = settings.GetValue <float>("GeneralSettings", "SunSize");
            enableSunFlare = settings.GetValue <bool>("GeneralSettings", "UseSunFlare");
            cloudQuality   = settings.GetValue <int>("GeneralSettings", "CloudQuality");

            shaderDepthMask          = mod.GetAsset <Shader>("Materials/Resources/DepthMask.shader") as Shader;
            shaderUnlitAlphaWithFade = mod.GetAsset <Shader>("Materials/Resources/UnlitAlphaWithFade.shader") as Shader;


            starsMat = mod.GetAsset <Material>("Materials/Resources/Stars") as Material;
            skyMat   = mod.GetAsset <Material>("Materials/Resources/Sky") as Material;

            sunFlare = mod.GetAsset <Flare>("LightFlares/Sun.flare") as Flare;

            //cloudMesh = mod.GetAsset<Mesh>("Model Imports/Hemisphere_01_smooth.fbx") as Mesh;

            containerPrefab = mod.GetAsset <Object>("Prefabs/Resources/NewEnhancedSkyContainer.prefab") as Object;

            initMod();

            //after finishing, set the mod's IsReady flag to true.
            ModManager.Instance.GetMod(initParams.ModTitle).IsReady = true;
        }
        void Start()
        {
            //Sets up object instances for GameManager, so said scripts can be manipulated/accessed. Prints Message when done.
            playerMotor      = GameManager.Instance.PlayerMotor;
            heightChanger    = playerMotor.GetComponent <PlayerHeightChanger>();
            mainCamera       = GameObject.FindGameObjectWithTag("MainCamera");
            playerController = playerMotor.GetComponent <CharacterController>();

            //StartCoroutine(debug());

            //pulls setting data and assigns it to script vars for dodge routine below.
            dodgeDistanceMult = settings.GetValue <float>("Settings", "DodgeDistanceMult");
            dodgeTimeMult     = settings.GetValue <float>("Settings", "DodgeTimeMult");
            dodgeCostMult     = settings.GetValue <float>("Settings", "DodgeCostMult");
            dodgeDuckCamera   = settings.GetValue <float>("Settings", "DodgeDuckCamera");
            inputKey          = settings.GetValue <string>("Settings", "Key");

            DaggerfallUI.Instance.PopupMessage("Dodge Script Started:");

            //converts string key setting into valid unity keycode. Ensures mouse and keyboard inputs work properly.
            dodgeKeyCode = (KeyCode)Enum.Parse(typeof(KeyCode), inputKey);
        }
Example #16
0
        void Awake()
        {
            ModSettings settings = mod.GetSettings();
            int         rules    = settings.GetValue <int>("Features", "Rules");

            classic     = (rules == 0);
            modern      = (rules == 1);
            mod.IsReady = true;
            StartGameBehaviour.OnStartGame += RacesRedone_OnStartGame;
            Debug.Log("[Races Redone] Classic Rules = " + classic.ToString());
            Debug.Log("[Races Redone] Modern Rules = " + modern.ToString());
            Debug.Log("[Races Redone] Ready");
            Debug.Log("[Races Redone] Awake dumbPlayer = " + dumbPlayer.ToString());
        }
 private void LoadSettings(ModSettings settings)
 {
     damageShaker.fadeInTime            = settings.GetValue <float>("Camera Shake", "fadeInTime");
     damageShaker.fadeOutTime           = settings.GetValue <float>("Camera Shake", "fadeOutTime");
     damageShaker.maxShake              = settings.GetValue <float>("Camera Shake", "maxShake");
     damageShaker.roughness             = settings.GetValue <float>("Camera Shake", "roughness");
     damageShaker.shakeAmountAdd        = settings.GetValue <float>("Camera Shake", "shakeAmountAdd");
     damageShaker.shakeAmountMultiplier = settings.GetValue <float>("Camera Shake", "shakeAmountMultiplier");
 }
Example #18
0
        private void Start()
        {
            //sets shield texture path, using the application base directory.
            shieldTexture_Path = Application.dataPath + "/Scripts/Game/shield.png";
            // Get weapon scale
            shieldScaleX = (float)Screen.width / 320;
            shieldScaleY = (float)Screen.height / 200;

            StartCoroutine(debug());

            //assigns loaded texture to shieldTex using loadPNG method.
            shieldTex = LoadPNG(shieldTexture_Path);

            blockKey = settings.GetValue <string>("Settings", "blockKey");
        }
Example #19
0
 //binds key settings to script strings for input detection in update routine.
 void Start()
 {
     NextOutfitKey   = settings.GetValue <string>("Settings", "NextOutfitKey");
     PrevOutfitKey   = settings.GetValue <string>("Settings", "PrevOutfitKey");
     EquipOutfitKey  = settings.GetValue <string>("Settings", "EquipOutfitKey");
     ToggleGuiKey    = settings.GetValue <string>("Settings", "ToggleGuiKey");
     SaveOutfitKey   = settings.GetValue <string>("Settings", "SaveOutfitKey");
     DeleteOutfitKey = settings.GetValue <string>("Settings", "DeleteOutfitKey");
     UIWindowFactory.RegisterCustomUIWindow(UIWindowType.Inventory, typeof(OutfitManagerInventoryWindow));
     UIWindow          = (OutfitManagerInventoryWindow)UIWindowFactory.GetInstance(UIWindowType.Inventory, uiManager, null);
     dfAudioSource     = GameManager.Instance.PlayerObject.AddComponent <DaggerfallAudioSource>();
     console           = GameObject.Find("Console");
     consoleController = console.GetComponent <ConsoleController>();
 }
        /// <summary>
        /// Load settings and init window.
        /// </summary>
        private void LoadSettings(ModSettings settings, ModSettingsChange change)
        {
            guiDepth = settings.GetValue <int>("UiSettings", "GuiDepth");

            // General
            const string generalSection = "General";

            dungeons    = settings.GetBool(generalSection, "Dungeons");
            buildings   = settings.GetBool(generalSection, "Buildings");
            minimumWait = settings.GetInt(generalSection, "ShowForMinimum");
            pressAnyKey = settings.GetBool(generalSection, "PressAnyKey");

            // Death Screen
            const string deathScreenSection = "DeathScreen";

            deathScreen  = settings.GetBool(deathScreenSection, "Enable");
            disableVideo = settings.GetBool(deathScreenSection, "DisableVideo");

            window = new LoadingScreenWindow(settings);
            Toggle(true);
        }
        private void UpdateReverbZone()
        {
            isInsideDungeon        = GameManager.Instance.PlayerEnterExit.IsPlayerInsideDungeon;
            reverbZone.enabled     = isInsideDungeon;
            reverbZone.minDistance = 1000;
            reverbZone.maxDistance = 1000;

            int level = settings.GetValue <int>("Dungeon Reverb", "level");

            if (level == 0) // Low
            {
                reverbZone.reverbPreset = AudioReverbPreset.Cave;
            }

            if (level == 1) // Medium
            {
                reverbZone.reverbPreset = AudioReverbPreset.Stoneroom;
            }

            if (level == 2) // High
            {
                reverbZone.reverbPreset = AudioReverbPreset.Quarry;
            }
        }
Example #22
0
        void Awake()
        {
            Debug.Log("Begin mod init: TravelOptions");

            Mod  roadsMod        = ModManager.Instance.GetMod(ROADS_MODNAME);
            bool roadsModEnabled = roadsMod != null && roadsMod.Enabled;

            ModSettings settings = mod.GetSettings();

            RoadsIntegration = settings.GetValue <bool>("RoadsIntegration", "Enable") && roadsModEnabled;
            if (RoadsIntegration)
            {
                VariableSizeDots = settings.GetValue <bool>("RoadsIntegration", "VariableSizeDots");
                followKeyCode    = followKeys[settings.GetValue <int>("RoadsIntegration", "FollowPathsKey")];
            }

            enableWeather   = settings.GetValue <bool>("GeneralOptions", "AllowWeather");
            enableSounds    = settings.GetValue <bool>("GeneralOptions", "AllowAnnoyingSounds");
            enableRealGrass = settings.GetValue <bool>("GeneralOptions", "AllowRealGrass");
            locationPause   = settings.GetValue <int>("GeneralOptions", "LocationPause");

            CautiousTravel = settings.GetValue <bool>("CautiousTravel", "PlayerControlledCautiousTravel");
            int speedPenalty = settings.GetValue <int>("CautiousTravel", "SpeedPenalty");

            CautiousTravelMultiplier = 1 - ((float)speedPenalty / 100);
            maxAvoidChance           = settings.GetValue <int>("CautiousTravel", "MaxChanceToAvoidEncounter");
            CautiousHealthMinPc      = settings.GetValue <int>("CautiousTravel", "HealthMinimumPercentage");
            CautiousFatigueMin       = settings.GetValue <int>("CautiousTravel", "FatigueMinimumValue") + 1;

            StopAtInnsTravel               = settings.GetValue <bool>("StopAtInnsTravel", "PlayerControlledInnsTravel");
            ShipTravelPortsOnly            = settings.GetValue <bool>("ShipTravel", "OnlyFromPorts");
            ShipTravelDestinationPortsOnly = settings.GetValue <bool>("ShipTravel", "OnlyToPorts");

            defaultStartingAccel   = startAccelVals[settings.GetValue <int>("TimeAcceleration", "DefaultStartingAcceleration")];
            alwaysUseStartingAccel = settings.GetValue <bool>("TimeAcceleration", "AlwaysUseStartingAcceleration");
            accelerationLimit      = settings.GetValue <int>("TimeAcceleration", "AccelerationLimit");

            UIWindowFactory.RegisterCustomUIWindow(UIWindowType.TravelMap, typeof(TravelOptionsMapWindow));
            UIWindowFactory.RegisterCustomUIWindow(UIWindowType.TravelPopUp, typeof(TravelOptionsPopUp));

            baseFixedDeltaTime = Time.fixedDeltaTime;

            travelControlUI           = new TravelControlUI(DaggerfallUI.UIManager, defaultStartingAccel, accelerationLimit);
            travelControlUI.OnCancel += (sender) => { ClearTravelDestination(); };
            travelControlUI.OnClose  += () => { InterruptTravel(); };
            travelControlUI.OnTimeAccelerationChanged += (timeAcceleration) => { SetTimeScale(timeAcceleration); };

            // Clear destination on new game or load game.
            SaveLoadManager.OnLoad                    += (saveData) => { ClearTravelDestination(); };
            StartGameBehaviour.OnNewGame              += () => { ClearTravelDestination(); };
            GameManager.OnEncounter                   += GameManager_OnEncounter;
            PlayerGPS.OnEnterLocationRect             += PlayerGPS_OnEnterLocationRect;
            PlayerGPS.OnMapPixelChanged               += PlayerGPS_OnMapPixelChanged;
            StreamingWorld.OnUpdateLocationGameObject += StreamingWorld_OnUpdateLocationGameObject;

            mod.MessageReceiver = MessageReceiver;
            mod.IsReady         = true;

            Debug.Log("Finished mod init: TravelOptions");
        }
 private void LoadSettings(ModSettings settings)
 {
     enableBetterRain = settings.GetValue <bool>("Better Rain", "enableBetterRain");
     enableBetterSnow = settings.GetValue <bool>("Better Rain", "enableBetterSnow");
 }
Example #24
0
        private void Start()
        {
            ModSettings settings = mod.GetSettings();

            // General
            saveInterval        = settings.GetValue <int>("Autosave", "AutosaveInterval");
            enableAutosaveTimer = saveInterval != 0 ? true : false;
            saveInCombat        = settings.GetValue <bool>("Autosave", "SaveInCombat");
            onEnterExitSave     = settings.GetValue <bool>("Autosave", "OnEnterExitSave");
            onRestSave          = settings.GetValue <bool>("Autosave", "OnRestSave");
            autosaveLimit       = settings.GetValue <int>("Autosave", "AutosaveLimit");
            onFastTravel        = settings.GetValue <bool>("Autosave", "OnFastTravel");

            // Formatting
            calendarIndex = settings.GetValue <int>("Formatting", "Calendar");
            switch (calendarIndex)
            {
            case 0:
                calendarFormat = "";
                break;

            case 1:
                calendarFormat = "MM/dd/yyyy ";
                break;

            case 2:
                calendarFormat = "dd/MM/yyyy ";
                break;

            case 3:
                calendarFormat = "yyyy MMMM ";
                break;

            case 4:
                calendarFormat = "MMMM yyyy ";
                break;

            default:
                calendarFormat = "";
                break;
            }
            use24HourClock = settings.GetValue <bool>("Formatting", "24hrClock");
            timeFormat     = use24HourClock ? "HH:mm" : "h:mm tt";
            displayTime    = calendarFormat + timeFormat;
            enableLocation = settings.GetValue <bool>("Formatting", "ShowLocationName");

            if (enableAutosaveTimer)
            {
                // Check the watch every 45 seconds
                InvokeRepeating("CheckWatch", 45, 45);
            }

            if (onRestSave)
            {
                // Subscribe to sleep event
                DaggerfallRestWindow.OnSleepTick += Autosave;
            }

            if (onEnterExitSave)
            {
                // Subscribe to transition events, needs to be pre transition for now
                PlayerEnterExit.OnPreTransition += FireTransitionSave;
            }

            if (onFastTravel)
            {
                // Subscribe to fast travel event
                DaggerfallTravelPopUp.OnPostFastTravel += Autosave;
            }

            //Save game when starting new game
            StartGameBehaviour.OnNewGame += Autosave;
        }
        private void LoadSettings(ModSettings settings, ModSettingsChange change)
        {
            const string
                style = "Style",
                waterPlantsSection = "WaterPlants",
                grassSection       = "Grass",
                advancedSection    = "Advanced";

            options.WaterPlants = settings.GetBool(waterPlantsSection, "Enabled");
            var properties = new PrototypesProperties()
            {
                GrassHeight = settings.GetTupleFloat(grassSection, "Height"),
                GrassWidth  = settings.GetTupleFloat(grassSection, "Width"),
                NoiseSpread = settings.GetFloat(grassSection, "NoiseSpread"),
                GrassColors = new GrassColors()
                {
                    SpringHealthy       = settings.GetColor(grassSection, "SpringHealthy"),
                    SpringDry           = settings.GetColor(grassSection, "SpringDry"),
                    SummerHealty        = settings.GetColor(grassSection, "SummerHealty"),
                    SummerDry           = settings.GetColor(grassSection, "SummerDry"),
                    FallHealty          = settings.GetColor(grassSection, "FallHealty"),
                    FallDry             = settings.GetColor(grassSection, "FallDry"),
                    SeasonInterpolation = settings.GetBool(grassSection, "SeasonInterpolation")
                },
                UseGrassShader  = !settings.GetBool(style, "Billboard"),
                TextureOverride = settings.GetBool(advancedSection, "TextureOverride")
            };

            var density = new Density()
            {
                GrassThick   = settings.GetTupleInt(grassSection, "ThickDensity"),
                GrassThin    = settings.GetTupleInt(grassSection, "ThinDensity"),
                WaterPlants  = settings.GetTupleInt(waterPlantsSection, "Density"),
                DesertPlants = settings.GetTupleInt(waterPlantsSection, "DesertDensity"),
            };

            switch (settings.GetInt(style, "Stones"))
            {
            case 0:
                options.TerrainStones = false;
                break;

            case 1:
                options.TerrainStones = true;
                density.Rocks         = 2;
                break;

            case 2:
                options.TerrainStones = true;
                density.Rocks         = 4;
                break;
            }

            if (change.HasChanged(style, "Style"))
            {
                switch (settings.GetValue <int>(style, "Style"))
                {
                case 0:
                default:
                    options.GrassStyle = GrassStyle.Classic;
                    break;

                case 1:
                    options.GrassStyle = GrassStyle.Mixed;
                    break;

                case 2:
                    options.GrassStyle = GrassStyle.Full;
                    break;
                }
            }

            if (change.HasChanged(advancedSection))
            {
                options.DetailObjectDistance = settings.GetValue <int>(advancedSection, "DetailDistance");
                string detailDistanceOverride = settings.GetValue <string>(advancedSection, "DetailDistanceOverride");
                if (!string.IsNullOrWhiteSpace(detailDistanceOverride) && int.TryParse(detailDistanceOverride, out int value))
                {
                    options.DetailObjectDistance = value;
                    Debug.Log($"{this}: override detail distance with {value}", this);
                }

                options.DetailObjectDensity = settings.GetValue <float>(advancedSection, "DetailDensity");
                options.FlyingInsects       = settings.GetValue <bool>(advancedSection, "FlyingInsects");
            }

            detailPrototypesManager = new DetailPrototypesManager(mod, transform, options, properties);
            densityManager          = new DensityManager(mod, options, density);

            if (isEnabled)
            {
                RefreshTerrainDetailsAsync();
            }
        }
        void Start()
        {
            Debug.Log("Wilderness Overhaul: Initiating Mod");
            settings = mod.GetSettings();
            dynamicVegetationClearance = settings.GetValue <bool>("TerrainNature", "DynamicVegetationClearance");
            vegetationInLocations      = settings.GetValue <bool>("TerrainNature", "VegetationInsideJungleLocations");
            fireflies                 = settings.GetValue <bool>("Nature", "Fireflies");
            shootingStars             = settings.GetValue <bool>("Nature", "ShootingStars");
            fireflyActivationDistance = settings.GetValue <float>("Nature", "FireflyActivationDistance");
            shootingStarsMin          = settings.GetValue <float>("Nature", "ShootingStarsMinChance");
            shootingStarsMax          = settings.GetValue <float>("Nature", "ShootingStarsMaxChance");
            generalNatureClearance    = settings.GetValue <float>("TerrainNature", "GeneralNatureClearance");
            natureClearance1          = settings.GetValue <float>("DynamicNatureClearance", "Cities");
            natureClearance2          = settings.GetValue <float>("DynamicNatureClearance", "Hamlets");
            natureClearance3          = settings.GetValue <float>("DynamicNatureClearance", "Villages,Homes(Wealthy),ReligiousCults");
            natureClearance4          = settings.GetValue <float>("DynamicNatureClearance", "Farms,Taverns,Temples,Homes(Poor)");
            natureClearance5          = settings.GetValue <float>("DynamicNatureClearance", "Dungeons(Laybinths,Keeps,Ruins,Graveyards,Covens)");

            woNature = new WOTerrainNature(
                mod,
                DREAMModEnabled,
                InterestingErodedTerrainModEnabled,
                dynamicVegetationClearance,
                vegetationInLocations,
                fireflies,
                shootingStars,
                fireflyActivationDistance,
                shootingStarsMin,
                shootingStarsMax,
                generalNatureClearance,
                natureClearance1,
                natureClearance2,
                natureClearance3,
                natureClearance4,
                natureClearance5);
            woTexturing   = new WOTerrainTexturing(InterestingErodedTerrainModEnabled, BasicRoadsModEnabled);
            woMatProvider = new WOTerrainMaterialProvider(mod);

            DaggerfallUnity.Instance.TerrainNature           = woNature;
            DaggerfallUnity.Instance.TerrainTexturing        = woTexturing;
            DaggerfallUnity.Instance.TerrainMaterialProvider = woMatProvider;

            mod.IsReady = true;
            Debug.Log("Wilderness Overhaul: Mod Initiated");
        }
Example #27
0
        void Awake()
        {
            ModSettings settings = mod.GetSettings();

            editAP = settings.GetValue<bool>("AttributePoints", "ChangeAttributePoints");
            apMax = settings.GetValue<int>("AttributePoints", "MaximumAttributePoints");
            apMin = settings.GetValue<int>("AttributePoints", "MinimumAttributePoints");
            curvedAP = settings.GetValue<bool>("AttributePoints", "ActivateCurvedLeveling");

            editMaxAP = settings.GetValue<bool>("AttributeMaximum", "ChangeAttributeMaximum");
            maxAttribute = settings.GetValue<int>("AttributeMaximum", "MaximumAttributePoints");

            editHP = settings.GetValue<bool>("HitPoints", "ChangeHitPoints");
            hpMax = settings.GetValue<int>("HitPoints", "MaximumHitPoints");
            hpMin = settings.GetValue<int>("HitPoints", "MinimumHitPoints");
            retroEnd = settings.GetValue<bool>("HitPoints", "RetroactiveCalculation");

            editLvlSpeed = settings.GetValue<bool>("LevelingSpeed", "ChangeLevelingSpeed");
            lvlSpeed = settings.GetValue<int>("LevelingSpeed", "LevelSpeed");
        }
Example #28
0
        private void LoadSettings(ModSettings settings, ModSettingsChange change)
        {
            const string
                waterPlantsSection = "WaterPlants",
                grassSection       = "Grass",
                othersSection      = "Others",
                advancedSection    = "Advanced";

            // Optional details
            int waterPlantsMode = settings.GetInt(waterPlantsSection, "Mode");

            WaterPlants  = waterPlantsMode != 0;
            WinterPlants = waterPlantsMode == 2;

            // Detail prototypes settings
            var properties = new PrototypesProperties()
            {
                GrassHeight = settings.GetTupleFloat(grassSection, "Height"),
                GrassWidth  = settings.GetTupleFloat(grassSection, "Width"),
                NoiseSpread = settings.GetFloat(grassSection, "NoiseSpread"),
                GrassColors = new GrassColors()
                {
                    SpringHealthy = settings.GetColor(grassSection, "SpringHealthy"),
                    SpringDry     = settings.GetColor(grassSection, "SpringDry"),
                    SummerHealty  = settings.GetColor(grassSection, "SummerHealty"),
                    SummerDry     = settings.GetColor(grassSection, "SummerDry"),
                    FallHealty    = settings.GetColor(grassSection, "FallHealty"),
                    FallDry       = settings.GetColor(grassSection, "FallDry"),
                },
                UseGrassShader    = settings.GetInt(grassSection, "Shader") == 1,
                NoiseSpreadPlants = settings.GetFloat(waterPlantsSection, "NoiseSpread"),
                TextureOverride   = settings.GetBool(advancedSection, "TextureOverride")
            };

            // Detail prototypes density
            var density = new Density()
            {
                GrassThick   = settings.GetTupleInt(grassSection, "ThickDensity"),
                GrassThin    = settings.GetTupleInt(grassSection, "ThinDensity"),
                WaterPlants  = settings.GetTupleInt(waterPlantsSection, "Density"),
                DesertPlants = settings.GetTupleInt(waterPlantsSection, "DesertDensity"),
            };

            switch (settings.GetInt(othersSection, "Flowers"))
            {
            case 0:
                Flowers = false;
                break;

            case 1:
                Flowers         = true;
                density.Flowers = 5;
                break;

            case 2:
                Flowers         = true;
                density.Flowers = 25;
                break;

            case 3:
                Flowers         = true;
                density.Flowers = 50;
                break;
            }

            switch (settings.GetInt(othersSection, "Stones"))
            {
            case 0:
                TerrainStones = false;
                break;

            case 1:
                TerrainStones = true;
                density.Rocks = 2;
                break;

            case 2:
                TerrainStones = true;
                density.Rocks = 4;
                break;
            }

            if (change.HasChanged(grassSection, "Realistic"))
            {
                RealisticGrass = settings.GetValue <bool>(grassSection, "Realistic");
            }

            if (change.HasChanged(othersSection, "FlyingInsects"))
            {
                FlyingInsects = settings.GetValue <bool>(othersSection, "FlyingInsects");
            }

            if (change.HasChanged(advancedSection))
            {
                DetailObjectDistance = settings.GetValue <int>(advancedSection, "DetailDistance");
                DetailObjectDensity  = settings.GetValue <float>(advancedSection, "DetailDensity");
            }

            detailPrototypesManager = new DetailPrototypesManager(properties);
            densityManager          = new DensityManager(density);

            if (isEnabled)
            {
                RefreshTerrainDetailsAsync();
            }
        }