From 9fb9fd3169c67782e779189cab4f097d3d80b0a0 Mon Sep 17 00:00:00 2001 From: Pierre Etchemaite Date: Sun, 4 Aug 2024 01:58:11 +0200 Subject: [PATCH] More expressive remote dungeons selection Currently, for a dungeon required for a quest, a quest writer can either pick a dungeon type, or just any random dungeon. If a dungeon type is specified but no dungeon of that type can be found, the engine picks a random dungeon instead. That fallback means sometimes the quest writer intentions are not followed, including some very bad cases in my opinion (reward map for a rare dungeon type that can be replaced by a map for a random dungeon). So this PR removes the automatic fallback to "any dungeon". On the other hand, it introduces the possibility to provide more than one target dungeon type, as a list: Place _someplace_ remote dungeonA,dungeonB,..,dungeonC The engine will pick in priority dungeons of type dungeonA, then dungeonB, etc, enlarging the pool of dungeons to select from until it reaches the new setting DungeonsPoolSizeTarget (default 3), or no more fallback types have been specified. Of course, "dungeon" can be specified as a last fallback type to get the equivalent of current Daggerfall Unity for some place. DungeonsPoolSizeTarget=0 will totally disable the fallback mechanism DungeonsPoolSizeTarget=999 (or large values in general) will take all fallback dungeons into consideration no matter what, if player prefers randomization over quests consistency. I also edited existing quests to benefit from this feature, but did not spend a lot of time carefully picking the best set of dungeon types for each one, so there's more likely room for improvement. --- Assets/Resources/defaults.ini.txt | 3 +- Assets/Scripts/Game/Questing/Place.cs | 70 ++++++++++++++++------ Assets/Scripts/SettingsManager.cs | 3 + Assets/StreamingAssets/Quests/$CUREVAM.txt | 2 +- Assets/StreamingAssets/Quests/$CUREWER.txt | 4 +- Assets/StreamingAssets/Quests/20C00Y00.txt | 2 +- Assets/StreamingAssets/Quests/60C00Y00.txt | 2 +- Assets/StreamingAssets/Quests/70C00Y00.txt | 2 +- Assets/StreamingAssets/Quests/A0C0XY04.txt | 2 +- Assets/StreamingAssets/Quests/B0B00Y00.txt | 2 +- Assets/StreamingAssets/Quests/B0B10Y04.txt | 2 +- Assets/StreamingAssets/Quests/B0B40Y08.txt | 2 +- Assets/StreamingAssets/Quests/B0B40Y09.txt | 2 +- Assets/StreamingAssets/Quests/B0B60Y12.txt | 2 +- Assets/StreamingAssets/Quests/B0B70Y14.txt | 2 +- Assets/StreamingAssets/Quests/B0B80Y17.txt | 2 +- Assets/StreamingAssets/Quests/B0B81Y02.txt | 2 +- Assets/StreamingAssets/Quests/B0C00Y06.txt | 2 +- Assets/StreamingAssets/Quests/C0B00Y01.txt | 2 +- Assets/StreamingAssets/Quests/C0B00Y03.txt | 2 +- Assets/StreamingAssets/Quests/C0B00Y14.txt | 2 +- Assets/StreamingAssets/Quests/E0B00Y00.txt | 2 +- Assets/StreamingAssets/Quests/H0B00Y00.txt | 2 +- Assets/StreamingAssets/Quests/K0C00Y02.txt | 2 +- Assets/StreamingAssets/Quests/K0C01Y00.txt | 2 +- Assets/StreamingAssets/Quests/K0C01Y10.txt | 2 +- Assets/StreamingAssets/Quests/L0B00Y02.txt | 2 +- Assets/StreamingAssets/Quests/L0B10Y03.txt | 2 +- Assets/StreamingAssets/Quests/L0B20Y02.txt | 2 +- Assets/StreamingAssets/Quests/M0B00Y17.txt | 2 +- Assets/StreamingAssets/Quests/M0B11Y18.txt | 2 +- Assets/StreamingAssets/Quests/M0B1XY01.txt | 2 +- Assets/StreamingAssets/Quests/M0B20Y02.txt | 2 +- Assets/StreamingAssets/Quests/P0B10L07.txt | 2 +- Assets/StreamingAssets/Quests/P0B10L08.txt | 2 +- Assets/StreamingAssets/Quests/Q0C10Y00.txt | 2 +- Assets/StreamingAssets/Quests/R0C10Y21.txt | 2 +- Assets/StreamingAssets/Quests/T0C00Y00.txt | 2 +- Assets/StreamingAssets/Quests/U0C00Y00.txt | 4 +- Assets/StreamingAssets/Quests/__DEMO12.txt | 2 +- 40 files changed, 97 insertions(+), 57 deletions(-) diff --git a/Assets/Resources/defaults.ini.txt b/Assets/Resources/defaults.ini.txt index 25fec25626..f167e2f738 100644 --- a/Assets/Resources/defaults.ini.txt +++ b/Assets/Resources/defaults.ini.txt @@ -170,7 +170,8 @@ TerrainDistance=3 TerrainHeightmapPixelError=5 SmallerDungeons=False CustomBooksImport=True -AssetCacheThreshold = 25 +AssetCacheThreshold=25 +DungeonsPoolSizeTarget=3 [Enhancements] LypyL_GameConsole=True diff --git a/Assets/Scripts/Game/Questing/Place.cs b/Assets/Scripts/Game/Questing/Place.cs index b2652a78e3..68a02b46d5 100644 --- a/Assets/Scripts/Game/Questing/Place.cs +++ b/Assets/Scripts/Game/Questing/Place.cs @@ -42,6 +42,7 @@ public class Place : QuestResource int p1; // Parameter 1 int p2; // Parameter 2 int p3; // Parameter 3 + int[] alternateDungeonTypeIndices; // DFU extension for remote dungeons SiteDetails siteDetails; // Site found using inputs @@ -143,8 +144,7 @@ public override void SetResource(string line) base.SetResource(line); // Match string for Place variants - string matchStr = @"(Place|place) (?[a-zA-Z0-9_.-]+) (?local|remote|permanent) (?\w+)|" + - @"(Place|place) (?[a-zA-Z0-9_.-]+) (?randompermanent) (?[a-zA-Z0-9_.,]+)"; + string matchStr = @"(Place|place) (?[a-zA-Z0-9_.-]+) (?local|remote|permanent|randompermanent) (?[a-zA-Z0-9_.,]+)"; // Try to match source line with pattern bool randomSiteList = false; @@ -183,21 +183,22 @@ public override void SetResource(string line) } // Get place name for parameter lookup - name = match.Groups["siteName"].Value; - if (string.IsNullOrEmpty(name) && !randomSiteList) - { - throw new Exception(string.Format("Place site name empty for source: '{0}'", line)); - } + string srcSiteList = match.Groups["siteList"].Value; + string[] siteNames = srcSiteList.Split(','); // Pick one permanent place from random site list if (randomSiteList) { - string srcSiteList = match.Groups["siteList"].Value; - string[] siteNames = srcSiteList.Split(','); if (siteNames == null || siteNames.Length == 0) throw new Exception(string.Format("Place randompermanent must have at least one site name in source: '{0}'", line)); name = siteNames[UnityEngine.Random.Range(0, siteNames.Length)]; } + else // !randomSiteList + { + if (siteNames == null || siteNames.Length == 0) + throw new Exception(string.Format("Place site name empty for source: '{0}'", line)); + name = siteNames[0]; + } // Try to read place variables from data table Table placesTable = QuestMachine.Instance.PlacesTable; @@ -213,6 +214,24 @@ public override void SetResource(string line) throw new Exception(string.Format("Could not find place name in data table: '{0}'", name)); } + // Alternate places (used for remote dungeon types) + if (siteNames.Length > 1) + { + alternateDungeonTypeIndices = new int[siteNames.Length - 1]; + for (int i = 1; i < siteNames.Length; i++) + { + if (placesTable.HasValue(siteNames[i])) + { + // Store value + alternateDungeonTypeIndices[i - 1] = CustomParseInt(placesTable.GetValue("p2", siteNames[i])); + } + else + { + throw new Exception(string.Format("Could not find place name in data table: '{0}'", siteNames[i])); + } + } + } + // Handle place by scope if (scope == Scopes.Local) { @@ -761,7 +780,7 @@ void SetupRemoteSite(string line) result = SelectRemoteTownSite((DFLocation.BuildingTypes)p2); break; case 1: - result = SelectRemoteDungeonSite(p2); + result = SelectRemoteDungeonSite(p2, alternateDungeonTypeIndices); break; case 2: result = SelectRemoteLocationExteriorSite(p2); @@ -770,10 +789,6 @@ void SetupRemoteSite(string line) throw new Exception(string.Format("An unknown P1 value of {0} was encountered for Place {1}", p1, Symbol.Original)); } - // If searching for a dungeon and first numbered choice not found, then try again with any random dungeon type - if (!result && p1 == 1) - result = SelectRemoteDungeonSite(-1); - // Throw exception when remote place could not be selected, e.g. a dungeon of that type does not exist in this region if (!result) throw new Exception(string.Format("Search failed to locate matching remote site for Place {0} in region {1}. Resource source: '{2}'", Symbol.Original, GameManager.Instance.PlayerGPS.CurrentRegionName, line)); @@ -878,7 +893,7 @@ bool SelectRemoteTownSite(DFLocation.BuildingTypes requiredBuildingType) /// This is probably because types 17-18 don't seem to contain quest markers. /// Warning: Not all dungeon types are available in all regions. http://en.uesp.net/wiki/Daggerfall:Dungeons#Overview_of_Dungeon_Locations /// - bool SelectRemoteDungeonSite(int dungeonTypeIndex) + bool SelectRemoteDungeonSite(int dungeonTypeIndex, int[] alternateDungeonTypeIndices) { // Get player region int regionIndex = GameManager.Instance.PlayerGPS.CurrentRegionIndex; @@ -893,14 +908,35 @@ bool SelectRemoteDungeonSite(int dungeonTypeIndex) // Get indices for all dungeons of this type int[] foundIndices = CollectDungeonIndicesOfType(regionData, dungeonTypeIndex); + + //Debug.LogFormat("Found a total of {0} possible dungeons of type {1} in {2}", foundIndices == null ? 0 : foundIndices.Length, dungeonTypeIndex, regionData.Name); + + // Add equivalence(s) if too few dungeons to select from + if (dungeonTypeIndex >= 0 && alternateDungeonTypeIndices != null) + { + int equivalentIndex = 0; + if (foundIndices == null) + { + foundIndices = new int[] {}; + } + while (foundIndices.Length < DaggerfallUnity.Settings.DungeonsPoolSizeTarget && alternateDungeonTypeIndices.Length > equivalentIndex) + { + int[] equivalentIndices = CollectDungeonIndicesOfType(regionData, alternateDungeonTypeIndices[equivalentIndex]); + if (equivalentIndices != null && equivalentIndices.Length > 0) + { + // Debug.LogFormat("Adding {0} possible dungeons of type {1} by equivalence", equivalentIndices.Length, alternateDungeonTypeIndices[equivalentIndex]); + foundIndices = foundIndices.Concat(equivalentIndices).ToArray(); + } + equivalentIndex++; + } + } + if (foundIndices == null || foundIndices.Length == 0) { Debug.LogFormat("Could not find any random dungeons of type {0} in {1}", dungeonTypeIndex, regionData.Name); return false; } - //Debug.LogFormat("Found a total of {0} possible dungeons of type {1} in {2}", foundIndices.Length, dungeonTypeIndex, regionData.Name); - // Select a random dungeon location index from available list int index = UnityEngine.Random.Range(0, foundIndices.Length); diff --git a/Assets/Scripts/SettingsManager.cs b/Assets/Scripts/SettingsManager.cs index bd0c24924d..be51ec2faf 100644 --- a/Assets/Scripts/SettingsManager.cs +++ b/Assets/Scripts/SettingsManager.cs @@ -322,6 +322,7 @@ string ReadDistributionSuffix() public float TerrainHeightmapPixelError { get; set; } public bool SmallerDungeons { get; set; } public int AssetCacheThreshold { get; set; } + public int DungeonsPoolSizeTarget { get; set; } // [Enhancements] public bool LypyL_GameConsole { get; set; } @@ -555,6 +556,7 @@ public void LoadSettings() TerrainHeightmapPixelError = GetFloat(sectionExperimental, "TerrainHeightmapPixelError", 1, 10); SmallerDungeons = GetBool(sectionExperimental, "SmallerDungeons"); AssetCacheThreshold = GetInt(sectionExperimental, "AssetCacheThreshold", 0, 120); + DungeonsPoolSizeTarget = GetInt(sectionExperimental, "DungeonsPoolSizeTarget", 0, 999); LypyL_GameConsole = GetBool(sectionEnhancements, "LypyL_GameConsole"); LypyL_ModSystem = GetBool(sectionEnhancements, "LypyL_ModSystem"); @@ -747,6 +749,7 @@ public void SaveSettings() SetFloat(sectionExperimental, "TerrainHeightmapPixelError", TerrainHeightmapPixelError); SetBool(sectionExperimental, "SmallerDungeons", SmallerDungeons); SetInt(sectionExperimental, "AssetCacheThreshold", AssetCacheThreshold); + SetInt(sectionExperimental, "DungeonsPoolSizeTarget", DungeonsPoolSizeTarget); SetBool(sectionEnhancements, "LypyL_GameConsole", LypyL_GameConsole); SetBool(sectionEnhancements, "LypyL_ModSystem", LypyL_ModSystem); diff --git a/Assets/StreamingAssets/Quests/$CUREVAM.txt b/Assets/StreamingAssets/Quests/$CUREVAM.txt index 75261c8476..d0890a52bc 100644 --- a/Assets/StreamingAssets/Quests/$CUREVAM.txt +++ b/Assets/StreamingAssets/Quests/$CUREVAM.txt @@ -241,7 +241,7 @@ Person _vamp2_ face 4 factiontype Vampire_Clan male remote Person _hunter_ face 1 factiontype Knightly_Guard remote anyInfo 1011 rumors 1012 Place _fatherdung_ remote dungeon8 -Place _wrongdung_ remote dungeon5 +Place _wrongdung_ remote dungeon5,dungeon6 Clock _S.10_ 1.00:00 2.22:00 Clock _S.13_ 7.00:00 27.23:40 diff --git a/Assets/StreamingAssets/Quests/$CUREWER.txt b/Assets/StreamingAssets/Quests/$CUREWER.txt index 39e3626d26..3eccbd0b0f 100644 --- a/Assets/StreamingAssets/Quests/$CUREWER.txt +++ b/Assets/StreamingAssets/Quests/$CUREWER.txt @@ -338,10 +338,10 @@ Person _alchemist_ group Chemist remote Person _father_ face 5 group Noble male remote anyInfo 1013 rumors 1014 Person _local_ group Resident1 remote -Place _mapdung_ remote dungeon4 +Place _mapdung_ remote dungeon4,dungeon7 Place glenmorilCoven permanent GlenmorilCoven Place _childhouse_ remote house2 -Place _hintdung_ remote dungeon11 +Place _hintdung_ remote dungeon11,dungeon2 Clock _S.05_ 7.00:00 27.23:40 Clock _huntstart_ 60.00:00 0 diff --git a/Assets/StreamingAssets/Quests/20C00Y00.txt b/Assets/StreamingAssets/Quests/20C00Y00.txt index 09072bab1a..45ab31282d 100644 --- a/Assets/StreamingAssets/Quests/20C00Y00.txt +++ b/Assets/StreamingAssets/Quests/20C00Y00.txt @@ -137,7 +137,7 @@ Person _dummy_ face 1 group Spellcaster remote Place _mondung_ remote dungeon9 Place _tavern_ remote tavern -Place _hideout_ remote dungeon11 +Place _hideout_ remote dungeon11,dungeon2 Clock _1stparton_ 00:00 0 flag 1 range 0 5 Clock _S.08_ 00:01 00:04 diff --git a/Assets/StreamingAssets/Quests/60C00Y00.txt b/Assets/StreamingAssets/Quests/60C00Y00.txt index 6afd88d028..5bb195993c 100644 --- a/Assets/StreamingAssets/Quests/60C00Y00.txt +++ b/Assets/StreamingAssets/Quests/60C00Y00.txt @@ -146,7 +146,7 @@ Person _questgiver_ face 112 named Sheogorath anyInfo 1012 Person _qgfriend_ face 1 group Innkeeper remote anyInfo 1011 rumors 1014 Place _mondung_ remote dungeon -Place _contactdung_ remote dungeon3 +Place _contactdung_ remote dungeon3,dungeon Clock _1stparton_ 00:00 0 flag 1 range 2 5 diff --git a/Assets/StreamingAssets/Quests/70C00Y00.txt b/Assets/StreamingAssets/Quests/70C00Y00.txt index 5098682e44..cd59b8dfb7 100644 --- a/Assets/StreamingAssets/Quests/70C00Y00.txt +++ b/Assets/StreamingAssets/Quests/70C00Y00.txt @@ -131,7 +131,7 @@ Item _artifact_ artifact Sanguine_Rose anyInfo 1014 Person _questgiver_ face 112 named Sanguine anyInfo 1011 Person _contact_ face 232 faction The_Cabal remote anyInfo 1012 -Place _mondung_ remote dungeon4 +Place _mondung_ remote dungeon4,dungeon7 Clock _1stparton_ 00:00 0 flag 1 range 2 5 diff --git a/Assets/StreamingAssets/Quests/A0C0XY04.txt b/Assets/StreamingAssets/Quests/A0C0XY04.txt index dc945dc81f..496bf0ea0f 100644 --- a/Assets/StreamingAssets/Quests/A0C0XY04.txt +++ b/Assets/StreamingAssets/Quests/A0C0XY04.txt @@ -179,7 +179,7 @@ Person _dummymage_ face 1 faction The_Mages_Guild remote Person _dummyorc_ face 1 named Gortwog Person _dummydarkb_ face 49 faction The_Dark_Brotherhood remote -Place _dungeon_ remote dungeon7 +Place _dungeon_ remote dungeon7,dungeon4,dungeon Place _meetingplace_ local apothecary Clock _extratime_ 00:30 0 flag 1 range 0 1 diff --git a/Assets/StreamingAssets/Quests/B0B00Y00.txt b/Assets/StreamingAssets/Quests/B0B00Y00.txt index 88d675d973..11f66b8f55 100644 --- a/Assets/StreamingAssets/Quests/B0B00Y00.txt +++ b/Assets/StreamingAssets/Quests/B0B00Y00.txt @@ -156,7 +156,7 @@ Person _qgiver_ group Questor Person _lady_ face 2 group Noble female local Person _vamp_ face 40 factiontype Vampire_Clan local -Place _mondung_ remote dungeon8 +Place _mondung_ remote dungeon8,dungeon Clock _2mondung_ 00:00 0 flag 17 range 0 2 Clock _S.07_ 10:00 1.16:00 diff --git a/Assets/StreamingAssets/Quests/B0B10Y04.txt b/Assets/StreamingAssets/Quests/B0B10Y04.txt index c708e1cc87..afc8c13b02 100644 --- a/Assets/StreamingAssets/Quests/B0B10Y04.txt +++ b/Assets/StreamingAssets/Quests/B0B10Y04.txt @@ -134,7 +134,7 @@ QBN: Person _qgiver_ group Questor -Place _mondung_ remote dungeon1 +Place _mondung_ remote dungeon1,dungeon Place tavern local tavern Clock _2mondung_ 00:00 0 flag 17 range 0 2 diff --git a/Assets/StreamingAssets/Quests/B0B40Y08.txt b/Assets/StreamingAssets/Quests/B0B40Y08.txt index f93c02e848..2eafeb1577 100644 --- a/Assets/StreamingAssets/Quests/B0B40Y08.txt +++ b/Assets/StreamingAssets/Quests/B0B40Y08.txt @@ -83,7 +83,7 @@ QBN: Person _qgiver_ group Questor Person _local_ face 207 group Resident2 female local -Place _dungeon_ remote dungeon1 +Place _dungeon_ remote dungeon1,dungeon Clock _2dung_ 00:00 0 flag 17 range 0 2 diff --git a/Assets/StreamingAssets/Quests/B0B40Y09.txt b/Assets/StreamingAssets/Quests/B0B40Y09.txt index 2e0a79ad64..076ec2e4af 100644 --- a/Assets/StreamingAssets/Quests/B0B40Y09.txt +++ b/Assets/StreamingAssets/Quests/B0B40Y09.txt @@ -90,7 +90,7 @@ Item _gold_ gold Person _qgiver_ group Questor Person _local_ face 207 group Resident2 female local -Place _dungeon_ remote dungeon13 +Place _dungeon_ remote dungeon13,dungeon Clock _2dung_ 00:00 0 flag 17 range 0 2 diff --git a/Assets/StreamingAssets/Quests/B0B60Y12.txt b/Assets/StreamingAssets/Quests/B0B60Y12.txt index cd43da3664..e4da4cc82d 100644 --- a/Assets/StreamingAssets/Quests/B0B60Y12.txt +++ b/Assets/StreamingAssets/Quests/B0B60Y12.txt @@ -124,7 +124,7 @@ Person _qgiver_ group Questor Person _nobleman_ group Resident1 remote Person _local_ face 1 group Resident2 local -Place _dungeon_ remote dungeon0 +Place _dungeon_ remote dungeon0,dungeon Clock _2dung_ 00:00 0 flag 17 range 0 2 diff --git a/Assets/StreamingAssets/Quests/B0B70Y14.txt b/Assets/StreamingAssets/Quests/B0B70Y14.txt index 33fc301135..c46acb2a2e 100644 --- a/Assets/StreamingAssets/Quests/B0B70Y14.txt +++ b/Assets/StreamingAssets/Quests/B0B70Y14.txt @@ -131,7 +131,7 @@ Item _gold_ gold Person _qgiver_ group Questor -Place _dungeon_ remote dungeon7 +Place _dungeon_ remote dungeon7,dungeon4,dungeon Clock _2dung_ 00:00 0 flag 17 range 0 2 diff --git a/Assets/StreamingAssets/Quests/B0B80Y17.txt b/Assets/StreamingAssets/Quests/B0B80Y17.txt index 7fafe75a4b..c818ebd22b 100644 --- a/Assets/StreamingAssets/Quests/B0B80Y17.txt +++ b/Assets/StreamingAssets/Quests/B0B80Y17.txt @@ -95,7 +95,7 @@ QBN: Person _qgiver_ group Questor Person _local_ face 1 group Resident2 local -Place _dungeon_ remote dungeon0 +Place _dungeon_ remote dungeon0,dungeon11,dungeon Clock _2dung_ 00:00 0 flag 17 range 0 2 diff --git a/Assets/StreamingAssets/Quests/B0B81Y02.txt b/Assets/StreamingAssets/Quests/B0B81Y02.txt index 6e93c8acc0..2b84ae08ff 100644 --- a/Assets/StreamingAssets/Quests/B0B81Y02.txt +++ b/Assets/StreamingAssets/Quests/B0B81Y02.txt @@ -228,7 +228,7 @@ Person _wizard_ face 1 group Spellcaster remote Place _dungeon_ remote dungeon Place _dungeon2_ remote dungeon Place _mageguild_ remote magery -Place _dungeon3_ remote dungeon0 +Place _dungeon3_ remote dungeon0,dungeon11 Clock _2dung_ 00:00 0 flag 17 range 0 2 Clock _S.30_ 180.13:20 0 flag 1 range 0 1 diff --git a/Assets/StreamingAssets/Quests/B0C00Y06.txt b/Assets/StreamingAssets/Quests/B0C00Y06.txt index 845e2d8673..acabd87ad7 100644 --- a/Assets/StreamingAssets/Quests/B0C00Y06.txt +++ b/Assets/StreamingAssets/Quests/B0C00Y06.txt @@ -94,7 +94,7 @@ QBN: Person _qgiver_ group Questor Person _local_ face 207 group Resident2 female local -Place _dungeon_ remote dungeon13 +Place _dungeon_ remote dungeon13,dungeon Clock _2dung_ 00:00 0 flag 17 range 0 2 diff --git a/Assets/StreamingAssets/Quests/C0B00Y01.txt b/Assets/StreamingAssets/Quests/C0B00Y01.txt index e38303b1dd..780fe47233 100644 --- a/Assets/StreamingAssets/Quests/C0B00Y01.txt +++ b/Assets/StreamingAssets/Quests/C0B00Y01.txt @@ -471,7 +471,7 @@ Person _prophet_ face 1 group Local_4.0 anyInfo 1038 Person _replace_ face 3 factiontype Temple female anyInfo 1023 Person _lover_ face 104 group Group_7.0 remote anyInfo 1017 -Place _mondung_ remote dungeon4 +Place _mondung_ remote dungeon4,dungeon7 Place _tavern_ remote tavern Place _prophouse_ remote tavern diff --git a/Assets/StreamingAssets/Quests/C0B00Y03.txt b/Assets/StreamingAssets/Quests/C0B00Y03.txt index 652d4136a0..93e61f3a15 100644 --- a/Assets/StreamingAssets/Quests/C0B00Y03.txt +++ b/Assets/StreamingAssets/Quests/C0B00Y03.txt @@ -118,7 +118,7 @@ QBN: Person _qgiver_ group Questor Person _cleric_ face 105 factiontype Temple -Place _mondung_ remote dungeon4 +Place _mondung_ remote dungeon4,dungeon7,dungeon Clock _queston_ 00:00 0 flag 17 range 0 2 diff --git a/Assets/StreamingAssets/Quests/C0B00Y14.txt b/Assets/StreamingAssets/Quests/C0B00Y14.txt index a98c2dcb65..cec242a096 100644 --- a/Assets/StreamingAssets/Quests/C0B00Y14.txt +++ b/Assets/StreamingAssets/Quests/C0B00Y14.txt @@ -146,7 +146,7 @@ Item _I.00_ item class 10 subclass 4 Person _questgiver_ group Questor Person _priest_ group Cleric remote -Place _mondung_ remote dungeon4 +Place _mondung_ remote dungeon4,dungeon7 Clock _qtime_ 00:00 0 flag 17 range 1 5 diff --git a/Assets/StreamingAssets/Quests/E0B00Y00.txt b/Assets/StreamingAssets/Quests/E0B00Y00.txt index a96f4bf6f3..4498c7be45 100644 --- a/Assets/StreamingAssets/Quests/E0B00Y00.txt +++ b/Assets/StreamingAssets/Quests/E0B00Y00.txt @@ -124,7 +124,7 @@ Item _reward_ gold Person _questgiver_ group Questor -Place _mondung_ remote dungeon4 +Place _mondung_ remote dungeon4,dungeon7,dungeon Clock _1stparton_ 00:00 0 flag 17 range 0 2 diff --git a/Assets/StreamingAssets/Quests/H0B00Y00.txt b/Assets/StreamingAssets/Quests/H0B00Y00.txt index cf91dcbab9..218a48bdc8 100644 --- a/Assets/StreamingAssets/Quests/H0B00Y00.txt +++ b/Assets/StreamingAssets/Quests/H0B00Y00.txt @@ -100,7 +100,7 @@ Item _reward_ gold Person _questgiver_ group Questor -Place _mondung_ remote dungeon4 +Place _mondung_ remote dungeon4,dungeon7 Clock _1stparton_ 00:00 0 flag 17 range 0 2 diff --git a/Assets/StreamingAssets/Quests/K0C00Y02.txt b/Assets/StreamingAssets/Quests/K0C00Y02.txt index 3ab6dc70ee..8d8d04d925 100644 --- a/Assets/StreamingAssets/Quests/K0C00Y02.txt +++ b/Assets/StreamingAssets/Quests/K0C00Y02.txt @@ -137,7 +137,7 @@ Item _I.07_ gold Person _qgiver_ group Questor Place _depository_ remote bank -Place _mondung_ remote dungeon2 +Place _mondung_ remote dungeon2,dungeon15 Place _palace_ remote palace Place _mansion_ remote house1 diff --git a/Assets/StreamingAssets/Quests/K0C01Y00.txt b/Assets/StreamingAssets/Quests/K0C01Y00.txt index 8ae186cbb2..dbae640c0c 100644 --- a/Assets/StreamingAssets/Quests/K0C01Y00.txt +++ b/Assets/StreamingAssets/Quests/K0C01Y00.txt @@ -194,7 +194,7 @@ Person _victim_ face 1 group Group_7.0 Person _tg_ faction The_Thieves_Guild local Place _mondung_ remote dungeon -Place _mondung2_ remote dungeon2 +Place _mondung2_ remote dungeon2,dungeon15 Clock _queston1_ 00:00 0 flag 17 range 0 2 Clock _S.05_ 08:20 3.11:20 diff --git a/Assets/StreamingAssets/Quests/K0C01Y10.txt b/Assets/StreamingAssets/Quests/K0C01Y10.txt index f791109c04..9ac408596c 100644 --- a/Assets/StreamingAssets/Quests/K0C01Y10.txt +++ b/Assets/StreamingAssets/Quests/K0C01Y10.txt @@ -189,7 +189,7 @@ Item _bothdorjii_ letter used 1011 Person _qgiver_ group Questor -Place _mondung_ remote dungeon4 +Place _mondung_ remote dungeon4,dungeon7 Clock _queston_ 00:00 0 flag 17 range 0 2 diff --git a/Assets/StreamingAssets/Quests/L0B00Y02.txt b/Assets/StreamingAssets/Quests/L0B00Y02.txt index 78a70a69b2..070712c375 100644 --- a/Assets/StreamingAssets/Quests/L0B00Y02.txt +++ b/Assets/StreamingAssets/Quests/L0B00Y02.txt @@ -149,7 +149,7 @@ Item _letter_ letter used 1011 Person _qgiver_ face 110 group Questor Place _mondung_ remote dungeon -Place _stronghold_ remote dungeon2 +Place _stronghold_ remote dungeon2,dungeon15 Clock _queston_ 00:00 0 flag 17 range 0 5 diff --git a/Assets/StreamingAssets/Quests/L0B10Y03.txt b/Assets/StreamingAssets/Quests/L0B10Y03.txt index 5171cf6e9c..41abb320f5 100644 --- a/Assets/StreamingAssets/Quests/L0B10Y03.txt +++ b/Assets/StreamingAssets/Quests/L0B10Y03.txt @@ -147,7 +147,7 @@ QBN: Person _qgiver_ group Questor Person _contact_ face 176 group Innkeeper -Place _mondung_ remote dungeon8 +Place _mondung_ remote dungeon8,dungeon Clock _queston_ 00:00 0 flag 17 range 0 2 diff --git a/Assets/StreamingAssets/Quests/L0B20Y02.txt b/Assets/StreamingAssets/Quests/L0B20Y02.txt index b28753ed23..106ac8cba3 100644 --- a/Assets/StreamingAssets/Quests/L0B20Y02.txt +++ b/Assets/StreamingAssets/Quests/L0B20Y02.txt @@ -111,7 +111,7 @@ Item _reward_ gold Person _questgiver_ face 112 group Questor Person _damsel_ face 2 group Group_6.0 female local -Place _mondung_ remote dungeon2 +Place _mondung_ remote dungeon2,dungeon15 Clock _1stparton_ 00:00 0 flag 18 range 0 2 diff --git a/Assets/StreamingAssets/Quests/M0B00Y17.txt b/Assets/StreamingAssets/Quests/M0B00Y17.txt index 8e9a216b06..5db23b2763 100644 --- a/Assets/StreamingAssets/Quests/M0B00Y17.txt +++ b/Assets/StreamingAssets/Quests/M0B00Y17.txt @@ -208,7 +208,7 @@ Person _victim_ face 1 group Group_6.0 remote Person _love_ face 1 group Group_7.0 remote Person _dummy_ group Noble local -Place _mondung_ remote dungeon6 +Place _mondung_ remote dungeon6,dungeon5 Place _newdung_ remote dungeon --unneeded dungeon variable Place _lovehouse_ local house2 diff --git a/Assets/StreamingAssets/Quests/M0B11Y18.txt b/Assets/StreamingAssets/Quests/M0B11Y18.txt index 8622dc36c8..68e3a1f48a 100644 --- a/Assets/StreamingAssets/Quests/M0B11Y18.txt +++ b/Assets/StreamingAssets/Quests/M0B11Y18.txt @@ -338,7 +338,7 @@ Person _enemy_ face 1 group Resident2 remote Person _traitor_ face 1 named Lord_K'avar Place _L.00_ remote dungeon -Place _stronghold_ remote dungeon2 +Place _stronghold_ remote dungeon2,dungeon15 Place _tavern_ local tavern Place _targethouse_ local house2 Place _palace_ remote palace diff --git a/Assets/StreamingAssets/Quests/M0B1XY01.txt b/Assets/StreamingAssets/Quests/M0B1XY01.txt index 58a3765b8f..069637c632 100644 --- a/Assets/StreamingAssets/Quests/M0B1XY01.txt +++ b/Assets/StreamingAssets/Quests/M0B1XY01.txt @@ -108,7 +108,7 @@ Item _reward_ gold Person _questgiver_ group Questor -Place _mondung_ remote dungeon10 +Place _mondung_ remote dungeon Place _newdung_ remote dungeon Clock _1stparton_ 00:00 0 flag 17 range 0 2 diff --git a/Assets/StreamingAssets/Quests/M0B20Y02.txt b/Assets/StreamingAssets/Quests/M0B20Y02.txt index 8036469bea..cec69985e6 100644 --- a/Assets/StreamingAssets/Quests/M0B20Y02.txt +++ b/Assets/StreamingAssets/Quests/M0B20Y02.txt @@ -113,7 +113,7 @@ Item _reward_ gold Person _questgiver_ group Questor -Place _mondung_ remote dungeon13 +Place _mondung_ remote dungeon13,dungeon Place _newdung_ remote dungeon Clock _1stparton_ 00:00 0 flag 17 range 0 2 diff --git a/Assets/StreamingAssets/Quests/P0B10L07.txt b/Assets/StreamingAssets/Quests/P0B10L07.txt index af592dfe9c..dce1d00d0a 100644 --- a/Assets/StreamingAssets/Quests/P0B10L07.txt +++ b/Assets/StreamingAssets/Quests/P0B10L07.txt @@ -159,7 +159,7 @@ Item _jewelry_ trinket Person _vamp_ factiontype Vampire_Clan local Person _knight_ face 69 factiontype Knightly_Guard male remote -Place _mondung_ remote dungeon2 +Place _mondung_ remote dungeon2,dungeon15 Clock _queston_ 00:00 0 flag 17 range 0 2 diff --git a/Assets/StreamingAssets/Quests/P0B10L08.txt b/Assets/StreamingAssets/Quests/P0B10L08.txt index 6778876510..be182226ae 100644 --- a/Assets/StreamingAssets/Quests/P0B10L08.txt +++ b/Assets/StreamingAssets/Quests/P0B10L08.txt @@ -194,7 +194,7 @@ Item _gem_ gem Person _vamp_ factiontype Vampire_Clan local Person _daedra_ face 1 factiontype Daedra remote -Place _mondung_ remote dungeon7 +Place _mondung_ remote dungeon7,dungeon4 Clock _queston_ 00:00 0 flag 17 range 0 2 diff --git a/Assets/StreamingAssets/Quests/Q0C10Y00.txt b/Assets/StreamingAssets/Quests/Q0C10Y00.txt index 01d89be5e7..202186ddd7 100644 --- a/Assets/StreamingAssets/Quests/Q0C10Y00.txt +++ b/Assets/StreamingAssets/Quests/Q0C10Y00.txt @@ -140,7 +140,7 @@ Item _reward3_ jade Person _qgiver_ group Questor anyInfo 1011 -Place _dungeon1_ remote dungeon6 +Place _dungeon1_ remote dungeon6,dungeon5 Place _dungeon2_ remote dungeon12 Place _dungeon3_ remote dungeon10 diff --git a/Assets/StreamingAssets/Quests/R0C10Y21.txt b/Assets/StreamingAssets/Quests/R0C10Y21.txt index 2cb4eaa59d..a7ae53c8d2 100644 --- a/Assets/StreamingAssets/Quests/R0C10Y21.txt +++ b/Assets/StreamingAssets/Quests/R0C10Y21.txt @@ -120,7 +120,7 @@ Person _questgiver_ face 112 group Questor Person _qgfriend_ group Noble remote anyInfo 1011 Person _dummyorc_ faction Orsinium remote -Place _mondung_ remote dungeon4 +Place _mondung_ remote dungeon4,dungeon7 Clock _1stparton_ 00:00 0 flag 1 range 2 5 diff --git a/Assets/StreamingAssets/Quests/T0C00Y00.txt b/Assets/StreamingAssets/Quests/T0C00Y00.txt index 02f5a35507..6f6e99c7dc 100644 --- a/Assets/StreamingAssets/Quests/T0C00Y00.txt +++ b/Assets/StreamingAssets/Quests/T0C00Y00.txt @@ -140,7 +140,7 @@ Item _artifact_ artifact Azuras_Star anyInfo 1014 Person _questgiver_ face 112 named Azura anyInfo 1013 Person _qgfriend_ group Librarian anyInfo 1011 rumors 1012 -Place _mondung_ remote dungeon4 +Place _mondung_ remote dungeon4,dungeon7 Clock _1stparton_ 00:00 0 flag 1 range 2 5 diff --git a/Assets/StreamingAssets/Quests/U0C00Y00.txt b/Assets/StreamingAssets/Quests/U0C00Y00.txt index 12cd41c653..768a34c7a7 100644 --- a/Assets/StreamingAssets/Quests/U0C00Y00.txt +++ b/Assets/StreamingAssets/Quests/U0C00Y00.txt @@ -176,8 +176,8 @@ Person _questgiver_ face 112 named Boethiah anyInfo 1013 Person _qgfriend_ group Librarian anyInfo 1011 rumors 1012 Person _mfriend_ group Local_4.0 remote -Place _mondung_ remote dungeon2 -Place _hideout_ remote dungeon6 +Place _mondung_ remote dungeon2,dungeon15 +Place _hideout_ remote dungeon6,dungeon5 Clock _1stparton_ 00:00 0 flag 1 range 2 5 Clock _escapetime_ 00:00 0 flag 1 range 2 3 diff --git a/Assets/StreamingAssets/Quests/__DEMO12.txt b/Assets/StreamingAssets/Quests/__DEMO12.txt index 1537f82ccc..8399eae764 100644 --- a/Assets/StreamingAssets/Quests/__DEMO12.txt +++ b/Assets/StreamingAssets/Quests/__DEMO12.txt @@ -141,7 +141,7 @@ Item _gold_ gold Person _qgiver_ group Questor male -Place _mondung_ remote dungeon0 +Place _mondung_ remote dungeon0,dungeon8 Clock _queston_ 00:00 0 flag 17 range 0 2