Morrowind

The Quest Manager controls the definition/retrieval of Quest types, as well as the registration/unregistration of Boss Monsters.

Quest Support
In most cases, Quest mods should work out of the box. The only quests that need to be registered are Main Quests, Guild Quests*, Misc Tasks, and noXP quests. What these terms mean are described below

  • Main Quest - This one is pretty self explanatory. Main Quest describes quests that are part of a longform, centralized quest chain that is unconnected from any one particular faction. Examples Include the Morrowind Main Quest, the Tribunal Main Quest, and the Bloodmoon Prophecy quests. They generally don't award any faction repuation, but are more narratively significant then random side quests.
  • Guild Quest - This refers to the jobs handed out by Faction and Guild leaders, such as the Imperial Guilds, the Great Houses, and the Religious Institutions. They typically reward reputation points with their associated faction, and are occasionally (but not always) components of larger questlines.
  • Misc Task - This is a very niche category of quest. I originally created this category to handle one particular edge case: The Ald'ruhn Town quest. The quest involves a local resident named Ienas Sarandas who owes money to several of the town's merchants. The quest is actually divided into 5 subquests, 1 for each merchant he owes money to. Since I didn't want to give the player 250 xp for one sidequest,  I decided to classify each subquest as a "task" that's worth a fifth the xp as a standard side quest. Later I decided to make it a proper category and added an MCM setting and interop functions for it. Use this for trivial quests that aren't worth the reward of a proper side quest.
  • Side Quest - This is the catch-all category for any quest that isn't one of the categories above. If a quest isn't registered, it will be considered a Side Quest for the purposes of rewarding XP. Side quests do not need to be registered, and there isn't even a function to do so, so don't try it.
  • noXP - I included this for the sake of completeness, though I don't use it for any vanilla quests. Quests registered with this type will not reward any XP for being completed

*Guild Headers
Guild Quests CAN be manually registered using an Interop function, but they don't actually need to, and probably shouldn't be registered manually. Guild Quests can be identified by the mod by searching for a "Guild Header" in the EditorID of a quest topic. In the vanilla game, most quest topics follow regular naming conventions. For example, all Fighters' Guild quests are prefixed with "FG_", all House Telvanni Quests are prefixed "HT_", etc. If these headers are found in a quests editorID, the mod will automatically register it as a Guild Quest. The Header doesn't need to be at the very front of the ID, as long as the Header is somewhere in the ID, the mod will recognize it. (For example, "TR_m1_HT_Dr1" will be recognized as a guild quest)
The full list of recognized Headers is a follows:
  • "FG_" - Fighters' Guild
  • "MG_" - Mages' Guild
  • "TG_" - Thieves' Guild
  • "TT_" - Tribunal Temple
  • "MT_" - Morag Tong
  • "IC%d+_" - Imperial Cult (Vanilla Imperial Cult quests are named stupidly)
  • "IC_" - Use this header for custom imperial cult quests
  • "IL_" - Imperial Legion
  • "HH_" - House Hlaalu
  • "HR_" - House Redoran
  • "HT_" - House Telvanni
  • "CO_" - East Empire Company
  • "VA_" - Vampire Clans
Registering Custom Guild Headers - Custom Headers can be registered with the quest function registerGuildHeader(Header). Generally speaking, guild headers should be composed of 2 Uppercase Letters followed by an underscore (ex. "CV_", "BB_", "ZL_") in order to avoid false positives. You should not include number in your guild headers. In addition, the following headers Should not be registered under any circumstances:
  • "A%D_" "B%D_" "C%D_" "CX_" - these are used by the vanilla main quests
  • "DA_" - used by the Daedric Quests. At some point I might add a separate configurable XP reward just for these
  • "EB_" - used for several merchant-related side quests in Vanilla Morrowind
  • "MS_" - used for several side quests in vanilla morrowind
  • "MV_" - used for several side quests related to wilderness encounter in vanilla morrowind
  • "TR_" - used for numerous side/main quests in the Tribunal Expansion, as well as in Tamriel Rebuilt
  • "BM" - used for numerous side/main quests in the Bloodmoon Expansion

Boss Monsters
If you want to a creature from a mod to be treated as a boss monster, you can register it with the quest function registerBossMonster(editorID), this will insert the creature's editorID into the list of recognized boss monsters.
Creatures can similarly be removed from the list using the function unregisterBossMonster(editorID).

Full list of Functions:
quest.registerMainQuest(id) - Registers the given editorID as a "main" quest
quest.registerGuildQuest(id) - Registers the given editorID as a "guild" questquest.registerTaskQuest(id) - Registers the given editorID as a "task" quest
quest.registerNoXPQuest(id) - Registers the given editorID as a "noXP" quest

quest.registerBossMonster(id) - registers the given editorID as a Boss Monster
quest.unregisterBossMonster(id) - removes an editorID from the boss monster table if it was present

quest.registerGuildHeader(header) - registers a given string to the guild header's table

quest.getQuestType(ID) - returns the quest type of the given editor id. If no match is found, it returns "side", otherwise it will return "main", "guild", "task", or "noXP" as appropriate.

Article information

Added on

Written by

KirbonatedBeverage

0 comments