Interkarma / daggerfall-unity

Open source recreation of Daggerfall in the Unity engine
http://www.dfworkshop.net
MIT License
2.75k stars 333 forks source link

Receice quests from MG and Knights based on either rank or level #2678

Closed petchema closed 3 months ago

petchema commented 4 months ago

In classic Daggerfall, Mages guild and knightly orders can provide quests not only if the player's rank is sufficient, but also if his/her level is sufficient. This PR implements this behavior.

This uses a bit in FactionData's flags, so I think it could be set by mods too.

I provided stubs for mods backward compatibility, even if I don't know if any mod overrides QuestListManager.GetGuildQuest() or QuestListManager.GetGuildQuestPool()

Remark: FACTION.TXT is parsed then cached in FactionData.txt in saves, so you may have to edit or remove FactionData.txt to get updated faction data?

Forums: https://forums.dfworkshop.net/viewtopic.php?p=68013#p68013 https://forums.dfworkshop.net/viewtopic.php?p=43591#p43591

KABoissonneault commented 3 months ago

Change seems good. Was the Coven and Vampire clans from your testing? I can't find info on whether their quests accept level as a rank too, but it also seems under documented

ajrb commented 3 months ago

Hi all, I only found out about this a couple days ago when github emailed me. This was something that I recall discussions about how quests were allocated back in the day but no one ever found that mages & knightly orders behaved differently - I think the assumption was that they were consistent with other guilds who's behaviour was checked - likely the Fighters from my side as that's where I started. I just now confirmed this behavior with a Knight Order on vanilla Daggerfall in DosBox.

Pechema, I do wish you'd contacted me about this right from the start. I'd have happily worked on a fix for this. It looks like you've used a faction data flag or something for this, but the design in DFU was to not drive the quest offer system off of the flawed Daggerfall faction data - hence the quest list stuff etc. I hate to be that guy after the last month of effort on this PR, but I would like the opportunity to submit an alternative approach that's more aligned with the re-implementation I did for DFU if that would be okay? This will also avoid the faction data change issue for existing saves.

From what I've read here, the change required is just MG and Knight Orders allow quests by rep (as already implemented) or by player level, unless I'm missing something subtle here?

KABoissonneault commented 3 months ago

Allegedly, the fix should cover vampire clans and witch covens too. I'm not sure where this has been verified

ajrb commented 3 months ago

That would complicate things a little since they're not actually proper 'guilds', can anyone verify thatin vanilla? I don't have any saves that would enable doing that quickly.

petchema commented 3 months ago

@ajrb This is an idea I experimented with after seeing a streamer being offered by classic DF two rank 7 knight quests right after joining the order, so there was an obvious discrepancy with what DFU currently does.

I have no issue with another implementation replacing this one at all, that's something I tried for myself on a subsystem I don't know well, so I'm sure I did plenty of things wrong ;)

This PR can be closed, or left open as a reminder until it's replaced, as you prefer

ajrb commented 3 months ago

@petchema Thanks, will submit my alternate proposed solution soon. I noticed that UESP now correctly states this for MG & Knights pages. I'm fairly sure that wasn't the case back in March 2018 when I wrote the quest list code originally, but maybe I was just not dilligent enough back then. :)

Did you have some evidence for this behaviour also being used for Vampire Clan and Witch Covern quest dispensing that KAB mentioned? It doesn't make sense to me for Vampire quest as they are dispensed by delivered letters once the player has joined the vamps, rank or level is not relevant. For witches coverns, UESP states reputation is how quests are selected. It would be easy enough to change if someone does provide evidence from classic.

petchema commented 3 months ago

Obsoleted by #2688