Page 2 of 4

Re: Classic quest bugs

Posted: Mon Jun 04, 2018 10:44 pm
by Interkarma
I've started working through these now as I have time. Reserving a post for myself to update on status on above. I'll continue to edit this post and my comments above as I progress. Please keep adding more below as you find them.

Bug #1
RESOLVED
  • Now "saying nnnn" will only display once.
  • Now also supports alternate variant "pc at aPlace do aTask"

Bug #2
NOT REPRODUCED
  • TotingItemAndClickedNpc already breaks check once parent task triggered. There should be no issues with multiple instances of this trigger condition under a single parent task. This is not a continuous toggle like HaveItem.
  • Successfully tested with A0C00Y00 and task S.02 is triggered as scripted when player clicks on quest giver with any of the chosen letter variants.
  • Note1: This test is inclusive of Bug #3 fixes. It's most probable cause was actually inability to drop item to satisfy S.03.
  • Note2: Picking up the treasure "the courier's belongings" will also make quest impossible to complete. Quest giver will not deliver reward if the belongings are disturbed, as scripted.
  • Note3: A0C00Y00 is a problematic quest for other reasons as well. It's almost impossible to pick up the letter without touching the belongings (which fails the quest) and there's no feedback for this action even if the user intended it.

Bug #3
RESOLVED
  • DroppedItemAtPlace now stops processing once parent task triggers. This prevents issue encountered when multiple "dropped item" conditions are used underneath same parent task.
  • Reworked how drop logic is handled so item is able to be successfully dropped when in correct quest location.
  • Added support for "saying nnnn". Will only be shown once.

Bug #4
RESOLVED
  • Added support for "saying nnnn". Will only be shown once.

Bug #5
RESOLVED
  • Added support for "saying nnnn". Will only be shown once.

Bug #6
RESOLVED
  • Added support for "saying nnnn". Will only be shown once.

Bug #7
RESOLVED
  • Implemented "make pc ill with aDisease" and related Quests-Diseases data table.

Bug #8
RESOLVED
  • Implemented "cure aDisease" quest action.

Bug #9
RESOLVED
  • Added support for "saying nnnn". Will only be shown once.

Bug #10
RESOLVED
  • "give item" will now remove said item player's inventory if they have it..

Bug #11
RESOLVED
  • Quest messages now use a stack which fixes multiple issues related to message and execution concurrency

Bug #12
RESOLVED
  • This one appears to have been resolved around the time I fixed a related issue with NPC placement. Just played through quest successfully in test.

Bug #13
RESOLVED
  • I was able to play through quest successfully. It appears problem has been resolved by another fix.

Bug #14
RESOLVED
  • Dungeons quests will now fallback to a random dungeon type if specific dungeon not available.

Bug #15
RESOLVED
  • CreateFoe now supports msg message ID displayed on placement of first spawn only.

Bug #16
RESOLVED
  • Place resource will now try to match preferred dungeon type first (e.g. "dungeon4"). If preferred dungeon type does not exist in region, it will fall back to use any available random dungeon type so quest can continue.

Bug #17
RESOLVED
  • RestrainFoe flag is no longer cleared on master Foe resource by first spawned enemy. All spawned enemies can now process restrained flag.

Bug #18
RESOLVED
  • DestroyNpc action now accepts both "destroy npc anNPC" and "destroy anNPC" variants. Did the same for HideNpc action.

Bug #20
RESOLVED
  • Fixed regex and processing issues so item class/subclass variants are generated.

Bug #21
RESOLVED
  • Removed apostrophe to fix table link.

Bug #22
RESOLVED
  • Foe and Item resources can now be hot-placed to another location and will be removed from initial location.

Bug #23
RESOLVED
  • Added a fallback to random house if specified house type not found.

Bug #24
RESOLVED
  • HUD faces now supports portraits for faction type children.

Re: Classic quest bugs

Posted: Tue Jun 05, 2018 7:01 pm
by Jay_H
Bug report #11:

Code: Select all

_S.05_ task:
	injured _mages_ saying 1021 
	injured _guards_ saying 1020 
	injured _F.03_ saying 1023 
	injured _F.01_ saying 1022 
	prompt 1019 yes yes no _no_ 
Source:

A0C00Y17

Description of problem:

The prompt action will fire before the "injured saying" actions.

Suggestions:

The quest functions but is a little non-sensical. As it currently stands, the questgiver starts bragging to the attackers before they make their hostile intentions known. If you then choose to turn him over (or resist), they'll explain why they want him, which isn't how the dialogue is supposed to work.

Interkarma's Notes:

RESOLVED
  • Quest messages now use a stack which fixes multiple issues related to message and execution concurrency

Re: Classic quest bugs

Posted: Sat Jun 09, 2018 8:11 pm
by Jay_H
Bug report #12:

Code: Select all

Person _sister_ face 2 group Resident2 female
create npc _sister_
Source:

A0C01Y09

Description of problem:

The sister is created in a remote location, not local.

Suggestions:

UESP confirms this quest is all meant to take place in one city. The town I test in is small but still accomodates various residences, so this must be something other than lack of space. Repeated in K0C00Y04.

Interkarma's Notes:

RESOLVED
  • This one appears to have been resolved around the time I fixed a related issue with NPC placement. Just played through quest successfully in test.

Re: Classic quest bugs

Posted: Sat Jun 09, 2018 8:38 pm
by Jay_H
Bug report #13:

Code: Select all

Person _ruler_ factiontype Province female
Source:

A0C10Y05

Description of problem:

_ruler_ NPC can't be generated. Quest log says immediately after the priest NPC, showing a problem with the ruler:

Code: Select all

[A0C10Y05]Parsing quest A0C10Y05.txt FAILED!
GetCurrentRegionFaction() did not find exactly 1 match.
Suggestions:

Sounds like unimplemented machinery. There'll have to be some way to import the regional ruler as a quest NPC.

Interkarma's Notes:

RESOLVED
  • It appears problem has been resolved by another fix.

Re: Classic quest bugs

Posted: Tue Oct 16, 2018 8:14 pm
by Interkarma
Bug report #14:

Exception in GetTravelTimeInSeconds() as Place not resolved. Place.SiteDetails are not popluated. Only single Place definition in quest.

Code: Select all

Place _dungeon_ remote dungeon1
Source:

B0C00Y10

Description of problem:

Quest throws exception during compile.

Code: Select all

Could not find Quest Place /
UnityEngine.Debug:LogErrorFormat(String, Object[])
DaggerfallWorkshop.Game.Questing.Clock:GetTravelTimeInSeconds(Place, Boolean) (at Assets/Scripts/Game/Questing/Clock.cs:452)
DaggerfallWorkshop.Game.Questing.Clock:GetTravelTimeInSeconds(Boolean) (at Assets/Scripts/Game/Questing/Clock.cs:418)
DaggerfallWorkshop.Game.Questing.Clock:SetResource(String) (at Assets/Scripts/Game/Questing/Clock.cs:227)
DaggerfallWorkshop.Game.Questing.Clock:.ctor(Quest, String) (at Assets/Scripts/Game/Questing/Clock.cs:112)
DaggerfallWorkshop.Game.Questing.Parser:ParseQBN(Quest, List`1) (at Assets/Scripts/Game/Questing/Parser.cs:270)
DaggerfallWorkshop.Game.Questing.Parser:Parse(String[]) (at Assets/Scripts/Game/Questing/Parser.cs:138)
Interkarma's Notes:

QUEST DESIGN RELATED
  • Problem is simply that quest is asking for a dungeon1 type (Orc Stronghold) this dungeon types does not exist in all regions, e.g. there are no Orc Strongholds in Daggerfall. This just means it won't be available in regions without an Orc Stronghold, which is likely by design. No further action at this time.

Re: Classic quest bugs

Posted: Fri Dec 28, 2018 1:25 am
by Interkarma
Jay, I've finally processed through all of these now. :D

If you feel like testing classic quests some more later and adding any further bugs in this format, I'm happy to keep working through them as I can.

Thank you for your excellent reporting and diagnostics in this thread.

Re: Classic quest bugs

Posted: Thu Apr 18, 2019 1:33 am
by Jay_H
Bug report #15:

Code: Select all

create foe _warrior_ every 15 minutes 40 times with 100% success msg 1012 
Source:

Q0C00Y03

Description of problem:

Message 1012 is intended to display upon first spawn of _warrior_.

Code: Select all

Message:  1012
<ce>                        "Witch lover! Child of
<ce>                           _daedra_!" a voice
<ce>                                shrieks.
There is currently no mechanism to make this occur in DFU. In other cases I've been able to rearrange this action with "say" but this case is unique.

Interkarma's Notes:

Bug #15
RESOLVED
  • CreateFoe now supports msg message ID displayed on placement of first spawn only.

Re: Classic quest bugs

Posted: Thu May 16, 2019 7:57 pm
by Jay_H
Bug report #16:

Code: Select all

Parsing quest $CUREVAM.txt FAILED! Search failed to locate matching remote site for Place _wrongdung_ in region Daggerfall. Resource source: 'Place _wrongdung_ remote dungeon5'
Source:

$CUREVAM

Description of problem:

Quest cannot initialize since the Daggerfall region lacks the proper dungeon.
The same problem exists in $CUREWER.

Interkarma's Notes:

RESOLVED
  • Place resource will now try to match preferred dungeon type first (e.g. "dungeon4"). If preferred dungeon type does not exist in region, it will fall back to use any available random dungeon type so quest can continue.

Re: Classic quest bugs

Posted: Sun May 19, 2019 5:05 am
by Interkarma
Jay, just making a special note that I fixed bug #16. As this is a very common issue, I decided to change how Place resource handles this situation.

Place resource will now try to match preferred dungeon type first (e.g. "dungeon4"). If preferred dungeon type does not exist in region, it will fall back to use any available random dungeon type so quest can continue.

Re: Classic quest bugs

Posted: Sun May 19, 2019 5:20 am
by Jay_H
Great, I'm sure that'll prevent a lot of future problems. Thanks for doing that.