Daggerfall Unity Quest Pack #1
- pango
- Posts: 3359
- Joined: Wed Jul 18, 2018 6:14 pm
- Location: France
- Contact:
Re: Daggerfall Unity Quest Pack #1
I wonder if UnityEngine.Random is correctly seeded when quests are parsed, or not. It's hard to be sure.
Given that Daggerfall Unity is moddable, it seems difficult to assume that it will always be the case.
Just as a safety, I wonder if we should reseed UnityEngine.Random before calling the parser.
And as a warning, it can be called several times from the same frame, say to build lists of available quests, so just seeding with Time.time or Time.frameCount won't be sufficient, but they're other ways, including System.Random...
Given that Daggerfall Unity is moddable, it seems difficult to assume that it will always be the case.
Just as a safety, I wonder if we should reseed UnityEngine.Random before calling the parser.
And as a warning, it can be called several times from the same frame, say to build lists of available quests, so just seeding with Time.time or Time.frameCount won't be sufficient, but they're other ways, including System.Random...
Mastodon: @pango@fosstodon.org
When a measure becomes a target, it ceases to be a good measure.
-- Charles Goodhart
When a measure becomes a target, it ceases to be a good measure.
-- Charles Goodhart
- Hazelnut
- Posts: 3016
- Joined: Sat Aug 26, 2017 2:46 pm
- Contact:
Re: Daggerfall Unity Quest Pack #1
It's nothing to do with the quest parser from what I can see Pango. It's the pick one action that does the rng based choice when updated - i.e. when the quest is running, not when it's parsed. What issue will re-seeding it fix anyway? Unless there's something seeding it before the action updates to a fixed value or something? Did you find anything like that?
See my mod code for examples of how to change various aspects of DFU: https://github.com/ajrb/dfunity-mods
- pango
- Posts: 3359
- Joined: Wed Jul 18, 2018 6:14 pm
- Location: France
- Contact:
Re: Daggerfall Unity Quest Pack #1
I'm trying to find such case, but it's hard to get proofs. However similar issues happened before (guild giving quests always in the same location).
And mods using seeding could break a lot of stuff, I don't know if we want to defend against that or declare mods shouldn't do that...
Mastodon: @pango@fosstodon.org
When a measure becomes a target, it ceases to be a good measure.
-- Charles Goodhart
When a measure becomes a target, it ceases to be a good measure.
-- Charles Goodhart
-
- Posts: 28
- Joined: Fri Nov 23, 2018 2:24 am
Re: Daggerfall Unity Quest Pack #1
I've gotten the same cartographer's guild quest, the one about going to a dungeon for a group of guards who are going to storm it, 4 times in a row on my main character now and 3 times in a row on another character - seems quite unlikely to be happening by chance.
Check out my let's play series of modded daggerfall where I showcase all the great work people here have done: https://www.youtube.com/playlist?list=P ... hwqq1ioAdW
- Hazelnut
- Posts: 3016
- Joined: Sat Aug 26, 2017 2:46 pm
- Contact:
Re: Daggerfall Unity Quest Pack #1
Do you use any other mods?
See my mod code for examples of how to change various aspects of DFU: https://github.com/ajrb/dfunity-mods
-
- Posts: 28
- Joined: Fri Nov 23, 2018 2:24 am
Re: Daggerfall Unity Quest Pack #1
Yeah quite a number of others: warm ashes, DREAM + all recommended graphics mod, villager overhaul, taverns redone, persistent dungeons, and a few others.
Check out my let's play series of modded daggerfall where I showcase all the great work people here have done: https://www.youtube.com/playlist?list=P ... hwqq1ioAdW
- alphaTECH
- Posts: 142
- Joined: Sun Oct 07, 2018 6:24 am
Re: Daggerfall Unity Quest Pack #1
This is my lineup too:
Daggerfall Unity 0.10.17
Tedious Travel 0.4.2
Archaeologists 0.11
Warm Ashes 3.0.3
Handpainted Models 1.83c
Improved Interior Lighting 1.0.2
Post Processing 1.0.1
Enhanced Sky 2.1.1
Villager Immersion Overhaul 4
Birds In Daggerfall 2.0
World Map 1.0
Mountains & Hills 1.02
Skyshards 1.00
Convenient Clock 1.03
Vibrant Wind 0.5
Real Grass 2.6
Autosave 0.9.0b
Quest Pack 1 14-12-19
Cleaned Sound Clips 1.3
Charcoal Ghosts 1.1
Unofficial Book Patch 2
Fancy Vitals Indicators (type) 2
Persistent Dungeons 1?
Windmills of Daggerfall 1
Compass Retexture 20-04-19
Drafty Secret Doors 1.4
Harvestable Crops 1.2.1
DREAM 2020-rc1
Taverns Redone 0.12
Trees of Daggerfall 1.0
Roleplay & Realism 0.8
Loot Realism 0.1
Climates & Cloaks 1.0
Inventory Filter 1.1
Outfit Manager 2.0
Filling Food 1.1
Daggerfall Unity 0.10.17
Tedious Travel 0.4.2
Archaeologists 0.11
Warm Ashes 3.0.3
Handpainted Models 1.83c
Improved Interior Lighting 1.0.2
Post Processing 1.0.1
Enhanced Sky 2.1.1
Villager Immersion Overhaul 4
Birds In Daggerfall 2.0
World Map 1.0
Mountains & Hills 1.02
Skyshards 1.00
Convenient Clock 1.03
Vibrant Wind 0.5
Real Grass 2.6
Autosave 0.9.0b
Quest Pack 1 14-12-19
Cleaned Sound Clips 1.3
Charcoal Ghosts 1.1
Unofficial Book Patch 2
Fancy Vitals Indicators (type) 2
Persistent Dungeons 1?
Windmills of Daggerfall 1
Compass Retexture 20-04-19
Drafty Secret Doors 1.4
Harvestable Crops 1.2.1
DREAM 2020-rc1
Taverns Redone 0.12
Trees of Daggerfall 1.0
Roleplay & Realism 0.8
Loot Realism 0.1
Climates & Cloaks 1.0
Inventory Filter 1.1
Outfit Manager 2.0
Filling Food 1.1
- alphaTECH
- Posts: 142
- Joined: Sun Oct 07, 2018 6:24 am
Re: Daggerfall Unity Quest Pack #1
Just ran into another bug.
JHMG007, the assassin is not in the dungeon I have been teleported to.
I've attached the save file.
JHMG007, the assassin is not in the dungeon I have been teleported to.
I've attached the save file.
- Attachments
-
- Quest Pack bug 1.zip
- (784.98 KiB) Downloaded 104 times
- Jay_H
- Posts: 4073
- Joined: Tue Aug 25, 2015 1:54 am
- Contact:
Re: Daggerfall Unity Quest Pack #1
That quest has a two- to four-hour timer before the enemy spawns. Once that timer is met, the enemy will occasionally be spawned within the dungeon:
This is to overcome a limitation in Daggerfall, that there can only be one spawn point for the quest in the same dungeon. Had I used a static spawn, you'd be teleported directly to the enemy every time, which isn't much of a quest.
Code: Select all
Clock _battle_ 2:00 4:00
_spawn_ task:
when _battle_ and _inside_ and not _slain_
create foe _enemy_ every 5 minutes indefinitely with 5% success
- alphaTECH
- Posts: 142
- Joined: Sun Oct 07, 2018 6:24 am
Re: Daggerfall Unity Quest Pack #1
Jay_H wrote: ↑Sun Jan 26, 2020 5:06 am That quest has a two- to four-hour timer before the enemy spawns. Once that timer is met, the enemy will occasionally be spawned within the dungeon:
This is to overcome a limitation in Daggerfall, that there can only be one spawn point for the quest in the same dungeon. Had I used a static spawn, you'd be teleported directly to the enemy every time, which isn't much of a quest.Code: Select all
Clock _battle_ 2:00 4:00 _spawn_ task: when _battle_ and _inside_ and not _slain_ create foe _enemy_ every 5 minutes indefinitely with 5% success
It's very heavily implied that the guy is already there. I get the logic behind the way you've done this, but it's going to throw off a lot of people. When I explore a room, I do it thoroughly and make an effort not to go back there. Dungeons can be huge, there is very little reason beyond making a mistake that will draw the player to an area they've already been, unless they're instructed to somehow, or whatever spawns in there comes after the player instead.We have been given the order
<ce> of disposing of an outlaw in some ruins,
<ce> who must be surprised by the use of teleportation.
<ce> Apparently all other means have failed to find
<ce> the knave. If you are willing and ready, we should
<ce> like to teleport you this instant to get this over with.