Daggerfall Unity 0.4.x - "DragonBreak" Update

For all talk about quest development - creation, testing, and quest system.
Post Reply
User avatar
Interkarma
Posts: 7236
Joined: Sun Mar 22, 2015 1:51 am

Daggerfall Unity 0.4.x - "DragonBreak" Update

Post by Interkarma »

Welcome To The "DragonBreak" Update

New Live Builds are now available for DragonBreak #88 and up. This release has the complete main quest available from start to end (including any bugs I didn't catch on my playthrough). This represents a major milestone for Daggerfall Unity. You can read the related blog post here.

Console Commands

These commands will modify main quest state directly by setting player level, faction reputation, and global variable state. Please create a new save specifically for these tests - do not save over your main character!
  • clearmqstate - Purge all quests, sets all reputations to 0, clears all global variables. Use this to clear out all state. This will be called automatically by "setmqstage".
  • setlevel <level> - Sets player level to a value from 1 to 30. This does not change player's stats or equipment, just the numerical value of their level for script checks. You will not be able to distribute new attribute points. This will also be called by "setmqstage" to bring player to appropriate level for testing stage.
  • setmqstage <stage> - Resets player and world state for quest stage 1-7. See below for more information. Think of this command as restoring you to different checkpoints along the main story arc, or like bookmarks.
  • levitate on | levitate off - Turn levitate on and off. Useful for navigating difficult parts of dungeons (especially Mantellan Crux).
  • tele2qspawn - Teleport to quest spawn location (monster/NPC) inside dungeon.
  • tele2qitem - Teleport to quest item location inside dungeon.
  • tele2exit - Teleport back to exit of dungeon.
  • teleport - Teleport to wherever crosshair is pointing. Useful if you're stuck.
  • groundme - Undo last teleport command if you end up in the void.
  • tgm - Toggle god mode (invulnerability) on/off.
  • killall - Kill all enemies in scene. May trigger quest execution out of order.
  • opendoor - Open the door player is looking at, regardless of lock state.
  • openalldoors - Open all doors in the dungeon at once.
  • map_reveallocations - Temporarily show all locations on the travel map regardless of discovery state.
  • help - See all console commands.
  • help <commandname> - See more information about a specific command.

Keyboard Shortcuts
  • Shift+Tab - Cycle through quest debugger HUD state. States are on/full/off. Quest debugger is on by default and will show quest state, timers, and building site links. Displaying full will show global variable state. Setting to off will hide all debugger information.
  • [ and ] - Cycle through quests loaded in the quest machine.

User avatar
Interkarma
Posts: 7236
Joined: Sun Mar 22, 2015 1:51 am

Re: Daggerfall Unity 0.4.x - "DragonBreak" Update

Post by Interkarma »

under construction

Known Issues / Limitations
  • Levitate state not currently saved/loaded and will persist across games in the same session. If you save in mid-air and reload later, you will start falling immediately. Will add levitation state to save games shortly.
  • Teleporting to quest resources (tele2qspawn/tele2qitem) can be unreliable when multiple resources placed by quest. Working on a solution closer to classic Daggerfall's cycling through marker positions.
  • Magical item quest rewards are not true magical items. They are just regular items with a dummy effect list. Magical items will be built out further in 0.5.
under construction

User avatar
Interkarma
Posts: 7236
Joined: Sun Mar 22, 2015 1:51 am

Re: Daggerfall Unity 0.4.x - "DragonBreak" Update

Post by Interkarma »

Main Quest Stage 1-7 Summary

Quests stages are grouped by sequence they are deployed in quest scripts, which is not always the same order player will experience them in game. During normal gameplay, followup quests might not launch until player reaches a certain level or reputation level. By comparison, the "setmqstage" system is structured for you to play directly through a quest chain as scripted. This is to allow immediate replay of a specific chain if needed.

Please review quest links below before embarking on a particular stage to acquaint yourself with how the quest begins and of any known problems with the quest itself.

There are also several small follow-up quests that do little more than give player a reward, send a letter, change reputation, or configure stare. These will fire as normal during gameplay but are not linked below.


Backbone Quests

Depending which stage of main quest you launch, one or more of the following quests will always be present. The player's level, reputations, and global variables will be automatically set so player is able to play through stage in one stretch.
  • Sx977 "Curse of Daggerfall" - spawns ghosts and wraiths in Daggerfall at Night until curse if lifted.
  • Sx999 "Main Quest Backbone" - complete backbone of main quest.
  • __MQSTAGE00 - "Offer Main Quest" - offers full main quest to player at start.
  • __MQSTAGE03-06 - "Main Quest Backbone (Test Stage 3-6)" - custom backbone to offer a specific limited range of quests.

setmqstage 1
setmqstage 2
  • Sx004 "Morgiah's Wedding" > Sx021 "Lich's Soul"
  • Sx005 "Concern for Nulfaga" > Sx013 "Mynisera's Letters"
Note: Starting from stage 1 or 2 will use the standard backbone quest Sx999, and allows player to keep playing as normal. Subsequent stages use a custom backbone to deliver only the quests related to that stage.


setmqstage 3
  • Sx002 "Blackmailing Prince Helseth" > Sx011 "Barenziah's Book"

setmqstage 4
  • Sx001 "Missing Prince" > Sx017 "Wayrest Painting" > Sx010 "Stronghold of the Blades"

setmqstage 5
  • Sx006 "Elysana's Robe" (optional)
  • Sx007 "The Werebeast" > Sx012 "The Emperor's Courier" > Sx020 "Orcish Treaty" > Sx988 "Mantella Revealed"
  • Sx009 "Elysana's Betrayal" (optional)
Note: The Werebeast does not support alternate path from QUESTPAK.ZIP at this time, despite quest happening in Tristore Laboratory on the island of Betony. It's also possible for multiple foe/letter spawns, meaning player will need to explore dungeon to clear quest. Using "tele2qspawn" may not teleport you to correct spawn (see limitations).


setmqstage 6
  • Sx003 "Freeing Medora" > Sx018 "Dust of Restful Death" > Sx022 "Lysandus' Revelation" > Sx015 "Lysandus' Revenge"

setmqstage 7
  • Sx008 "Who Gets the Totem" > Sx016 "Journey to Aetherius"

User avatar
Interkarma
Posts: 7236
Joined: Sun Mar 22, 2015 1:51 am

Re: Daggerfall Unity 0.4.x - "DragonBreak" Update

Post by Interkarma »

under construction

Playing Tips


Use A High-Level Character

While "setmqstage" will artificially raise/lower your character's level, skills and equipment will remain the same. It helps to start with a high-level character with powerful equipment. The goal is to test quest script execution flow, not game balance.


Save Often

The oldest Daggerfall tip in existence. It's possible to break one of the main quests by refusing an offer or failing in some way, so it's useful to have a backup of your progress. At least in Daggerfall Unity, you can have unlimited saves per character.

Also be sure to start a fresh save with your character before using "setmqstage", or import from a classic character. Don't overwrite your main.


Receiving Letters

You will need to be outside in a town between the hours of 7am through 6pm to receive a letter. Pending letters will be delivered a random amount of time (around 2-60 seconds) after you cross the town border. The fastest way to receive a letter if one is pending is to visit the nearest town and just stand around waiting for a minute (don't rest or use any UI windows).

Sometimes letters are not delivered until a timer expires. Check the quest debugger for a clock timer which is often called "2letter". When this timer has run down (turned red) the letter should be pending. If you're unsure, check the script for that quest in StreamingAssets/Quests.

Usually a letter will notify the player upon arrival, but in quest Sx009 the letter is delivered silently. You will need to keep checking inventory every 10 seconds or so for letter arrival.


under construction

User avatar
AlexanderSig
Posts: 324
Joined: Wed Jul 19, 2017 10:35 pm

Re: Daggerfall Unity 0.4.x - "DragonBreak" Update

Post by AlexanderSig »

Absolutely insane progress these past few weeks, amazing work Gav! :)

User avatar
Interkarma
Posts: 7236
Joined: Sun Mar 22, 2015 1:51 am

Re: Daggerfall Unity 0.4.x - "DragonBreak" Update

Post by Interkarma »

Thanks man. :)

User avatar
Midknightprince
Posts: 1324
Joined: Fri Aug 11, 2017 6:51 am
Location: San Antonio TX
Contact:

Re: Daggerfall Unity 0.4.x - "DragonBreak" Update

Post by Midknightprince »

I have been waiting for this !
Can't wait to dive into this thing.
Thank you Gav !
Check out my YouTube Channel!

User avatar
Interkarma
Posts: 7236
Joined: Sun Mar 22, 2015 1:51 am

Re: Daggerfall Unity 0.4.x - "DragonBreak" Update

Post by Interkarma »

Cheers, and thanks for all your work on the videos showing off different parts of the game.:)

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

Re: Daggerfall Unity 0.4.x - "DragonBreak" Update

Post by Jay_H »

I have now beaten DFU. The Underking won the game :) I didn't try out the crossbow mechanic fix in Mantella, so I want to go back and do that when I get a chance. The travel-letter bug I mentioned in the other forum made me lose a few quests, but the quests themselves seem to be functioning well.

I have to say I've been waiting for the teleport quest action for awhile. I have some plans for it :D

User avatar
Interkarma
Posts: 7236
Joined: Sun Mar 22, 2015 1:51 am

Re: Daggerfall Unity 0.4.x - "DragonBreak" Update

Post by Interkarma »

That's awesome Jay! Happy to hear you were able to make your way through the main quest. I'll fix that letter bug on my next session.

I still need to implement both forms of the teleport action. Will try to get that in at the same time. :)

Post Reply