Show / Hide Table of Contents

Namespace DaggerfallWorkshop.Game.Questing.Actions

Classes

AddFace

Adds an NPC or Foe portrait to HUD which indicates player is escorting this NPC or Foe.

ClearTask

Unsets 1 or more tasks so they can be triggered again

Climate

DFU extension action. Triggers when the player is at a location with the right climate

CreateNpc

Places a Person to a random building in their home town within current region.

CreateNpcAt

Tipton calls this "create npc at" but its true function seems to reserve a quest site before linking resources. "create npc at" is usually followed by "place npc" but can also be followed by "place item" or "create foe" for example. This action likely initiates some book-keeping in Daggerfall's quest system. In Daggerfall Unity this creates a SiteLink in QuestMachine.

CurePcDisease

Cure specific disease on player through quest system.

DropFace

Drops an NPC or Foe portrait from HUD that player is currently escorting.

DroppedItemAtPlace

EndQuest

GetItem

Give a quest Item to player. Currently ignoring "get item from" as it appears to behave identically to "get item".

GiveItem

GivePc

Give a quest Item to player. This has three formats:

  • "give pc anItem" - Displays QuestComplete success message and opens loot window with reward. Could probably be called "give quest reward anItem".
  • "give pc nothing" - Also displays QuestComplete success message but does not open loot window as no reward.
  • "give pc anItem notify nnnn" - Places item directly into player's inventory and says message ID nnnn.

HideNpc

Hide NPC from world temporarily.

InjuredFoe

Triggers when a Foe has been injured. Will not fire if Foe dies immediately (e.g. player one-shots enemy).

JournalNote

Adds a text entry to the player journal as a note.

JuggleAction

Example action to give contributors a starting point. This action simulates the player juggling some number of objects with a chance to drop each frame. Inherits from ActionTemplate which implements basics of IQuestAction.

KilledFoe

KillFoe

Kills a specified foe instantly

LogMessage

Adds Qrc text message to player journal

MakePcDiseased

Inflicts a disease on player through quest system.

PayMoney

Take an amount from player, and start a task depending on if they could pay. Amount can be gold, letter of credit, or a combination.

PcAt

Condition which checks if player character at a specific place.

PickOneOf

This action triggers a random task

PlaceFoe

PlaceItem

Moves item into world at a reserved site.

PlaceNpc

Moves NPC to a reserved site. Fixed NPCs always starts in their home location but quests can move them around as needed. Random NPCs are instantiated to target location only as they don't otherwise exist in world. Site must be reserved before moving NPC to that location.

PlaySound

PlayVideo

Plays one of the ANIMXXXX.VID videos for quest

Prompt

Prompt which displays a yes/no dialog that executes a different task based on user input.

PromptMulti

Prompt which displays a dialog with 2-4 buttons that each execute a different task based on user selection.

Example usage: promptmulti 1072 4:noChoice dirRand 24:south headS 25:west headW 28:swest headSW

RemoveFoe

RemoveLogMessage

Removes Qrc text message from player journal

RestoreNpc

Restore NPC previously hidden from world.

RestrainFoe

Makes a foe non-hostile until player strikes them again. Quest authors should also use a popup message to inform player that foe is no longer aggressive.

Say

Displays a prompt which user can click to dismiss.

StartStopTimer

Starts and stops a Clock resource timer.

StartTask

Starts a task by setting it active. Added alternate form "setvar taskname".

TakeItem

Remove a quest Item from player.

TotingItemAndClickedNpc

Condition triggers when player clicks on NPC while holding a quest Item in their inventory. Superficially very similar to ClickedNpc but also requires item check to be true. NOTES:

  • Will clear click after handling if player clicks NPC while holding specified item.
  • If used in combination with ClickedNpc on same NPC elsewhere in quest, always call TotingItemAndClickedNpc check BEFORE ClickedNpc.

UnsetTask

Unsets one or more tasks. Unlike clear, which simply rearms a task, unset will permanently disable that task.

Weather

DFU extension action. Triggers when the current weather matches the condition

WhenPcEntersExits

Trigger for player entering or exiting an exterior type as defined in places table.

Structs

AddFace.SaveData_v1

ClearTask.SaveData_v1

Climate.SaveData_v1

CreateNpc.SaveData_v1

CreateNpcAt.SaveData_v1

CurePcDisease.SaveData_v1

DropFace.SaveData_v1

DroppedItemAtPlace.SaveData_v1

EndQuest.SaveData_v1

GetItem.SaveData_v1

GiveItem.SaveData_v1

GivePc.SaveData_v1

HideNpc.SaveData_v1

InjuredFoe.SaveData_v1

JournalNote.SaveData_v1

JuggleAction.MySaveData

Data to serialize action state can be placed in a struct. It's a good idea to version struct in case you need to migrate between very different state setups in future. For basic changes (e.g. just adding a new field with a sensible default) no migration should be needed. See FullSerializer versioning docs for more: https://github.com/jacobdufault/fullserializer/wiki/Versioning

KilledFoe.SaveData_v1

KillFoe.SaveData_v1

LogMessage.SaveData_v1

MakePcDiseased.SaveData_v1

PayMoney.SaveData_v1

PcAt.SaveData_v1

PickOneOf.SaveData_v1

PlaceFoe.SaveData_v1

PlaceItem.SaveData_v1

PlaceNpc.SaveData_v1

PlaySound.SaveData_v1

PlayVideo.SaveData_v1

Prompt.SaveData_v1

PromptMulti.SaveData_v1

RemoveFoe.SaveData_v1

RemoveLogMessage.SaveData_v1

RestoreNpc.SaveData_v1

RestrainFoe.SaveData_v1

Say.SaveData_v1

StartStopTimer.SaveData_v1

StartTask.SaveData_v1

TakeItem.SaveData_v1

TotingItemAndClickedNpc.SaveData_v1

UnsetTask.SaveData_v1

Weather.SaveData_v1

WhenPcEntersExits.SaveData_v1

Delegates

GivePc.OnOfferPendingHandler

In This Article
Back to top Generated by DocFX