Daggerfall Unity Quest Pack #1

A curated forum for approved mods. Users are unable to create new topics in this forum but can reply to existing topics. Please message a moderator to have your mod moved into this forum area.
Post Reply
User avatar
pango
Posts: 2348
Joined: Wed Jul 18, 2018 6:14 pm
Location: France
Contact:

Re: Daggerfall Unity Quest Pack #1

Post by pango » Thu Jan 23, 2020 10:31 am

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...
When a measure becomes a target, it ceases to be a good measure.
-- Charles Goodhart

User avatar
Hazelnut
Posts: 2191
Joined: Sat Aug 26, 2017 2:46 pm
Contact:

Re: Daggerfall Unity Quest Pack #1

Post by Hazelnut » Thu Jan 23, 2020 11:25 am

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

User avatar
pango
Posts: 2348
Joined: Wed Jul 18, 2018 6:14 pm
Location: France
Contact:

Re: Daggerfall Unity Quest Pack #1

Post by pango » Thu Jan 23, 2020 1:14 pm

Hazelnut wrote:
Thu Jan 23, 2020 11:25 am
there's something seeding it before the action updates to a fixed value or something? Did you find anything like that?
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...
When a measure becomes a target, it ceases to be a good measure.
-- Charles Goodhart

sebastian7
Posts: 22
Joined: Fri Nov 23, 2018 2:24 am

Re: Daggerfall Unity Quest Pack #1

Post by sebastian7 » Sat Jan 25, 2020 4:36 am

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

User avatar
Hazelnut
Posts: 2191
Joined: Sat Aug 26, 2017 2:46 pm
Contact:

Re: Daggerfall Unity Quest Pack #1

Post by Hazelnut » Sat Jan 25, 2020 11:53 am

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

sebastian7
Posts: 22
Joined: Fri Nov 23, 2018 2:24 am

Re: Daggerfall Unity Quest Pack #1

Post by sebastian7 » Sat Jan 25, 2020 9:32 pm

Hazelnut wrote:
Sat Jan 25, 2020 11:53 am
Do you use any other mods?
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

User avatar
Helegad
Posts: 142
Joined: Sun Oct 07, 2018 6:24 am

Re: Daggerfall Unity Quest Pack #1

Post by Helegad » Sun Jan 26, 2020 12:48 am

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

User avatar
Helegad
Posts: 142
Joined: Sun Oct 07, 2018 6:24 am

Re: Daggerfall Unity Quest Pack #1

Post by Helegad » Sun Jan 26, 2020 2:32 am

Just ran into another bug.

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 10 times

User avatar
Jay_H
Posts: 3257
Joined: Tue Aug 25, 2015 1:54 am

Re: Daggerfall Unity Quest Pack #1

Post by Jay_H » 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:

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
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.
Come join Lysandus' Tomb, a Daggerfall Unity fan Discord.
In-progress guide for Quest Pack 1 here.

User avatar
Helegad
Posts: 142
Joined: Sun Oct 07, 2018 6:24 am

Re: Daggerfall Unity Quest Pack #1

Post by Helegad » Sun Jan 26, 2020 9:18 am

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:

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
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.
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.
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.

Post Reply