This is a list of most of the functions built in to Quest, grouped by type. For a list in alphabetical order, go here.
Functions for Attributes
Functions for checking and setting attributes on objects.
- DecreaseHealth
- DecreaseMoney
- DecreaseScore
- GetAttribute
- GetAttributeNames
- GetBoolean
- GetDouble
- GetInt
- GetString
- HasAttribute
- HasBoolean
- HasDelegateImplementation
- HasDouble
- HasInt
- HasObject
- HasScript
- HasString
- IncreaseHealth
- IncreaseMoney
- IncreaseScore
- SetObjectFlagOff
- SetObjectFlagOn
Functions for Variables
Functions that check or change the values of variables (and can be used on attributes too).
Functions for Objects and Exits
- Clone
- CloneObject
- CloneObjectAndMove
- CloneObjectAndMoveHere
- DoesInherit
- GetObject
- MakeObjectInvisible
- MakeObjectVisible
- MoveObject
- CreateBiExits
- GetExitByLink
- GetExitByName
- LockExit
- MakeExitInvisible
- MakeExitVisible
- UnlockExit
Timers and Turnscripts
- DisableTimer
- DisableTurnScript
- GetTimer
- SetTimeout
- SetTimeoutID
- SetTimerInterval
- SetTimerScript
- SetTurnScript
- SetTurnTimeout
- SetTurnTimeoutID
- SuppressTurnscripts
User Interface Functions
Functions that change what is displayed or how it is displayed or require the player to do something, rather than affecting the game world.
- Ask
- ClearFramePicture
- ClearScreen
- DisplayList
- DisplayMailtoLink
- GetCurrentFontFamily
- GetInput
- InitUserInterface
- OutputText
- OutputTextNoBr
- OutputTextRaw
- OutputTextRawNoBr
- PrintCentered
- SetAlignment
- SetBackgroundColour
- SetBackgroundImage
- SetBackgroundOpacity
- SetFontName
- SetFontSize
- SetForegroundColour
- SetFramePicture
- SetWebFontName
- ShowMenu
- ShowVimeo
- ShowYouTube
- TextFX_Typewriter
- TextFX_Unscramble
- UpdateStatusAttributes
List Functions
Functions for manipulating lists. For a discussion on how to use lists, see here.
- Contains
- FilterByAttribute
- FilterByNotAttribute
- FilterByType
- IndexOf
- ListCombine
- ListContains
- ListCompact
- ListCount
- ListExclude
- ListItem
- NewList
- NewObjectList
- NewStringList
- ObjectListCompact
- ObjectListItem
- ObjectListSort
- ObjectListSortDescending
- RemoveSceneryObjects
- StringListItem
- StringListSort
- StringListSortDescending
Scope Functions
Functions that will return a list of objects (in the loosest sense). See more here.
- AllCommands
- AllExits
- AllObjects
- AllRooms
- AllTurnScripts
- GetAllChildObjects
- GetDirectChildren
- ScopeAllExitsForRoom
- ScopeCommands
- ScopeExits
- ScopeExitsAll
- ScopeExitsForRoom
- ScopeUnlockedExitsForRoom
- ScopeInventory
- ScopeReachable
- ScopeReachableForRoom
- ScopeReachableInventory
- ScopeReachableNotHeld
- ScopeReachableNotHeldForRoom
- ScopeVisible
- ScopeVisibleForRoom
- ScopeVisibleNotHeld
- ScopeVisibleNotHeldForRoom
- ScopeVisibleNotHeldNotScenery
- ScopeVisibleNotHeldNotSceneryForRoom
- ScopeVisibleNotReachable
- ScopeVisibleNotReachableForRoom
Dictionary Functions
Functions for manipulating dictionaries. For a discussion on how to use dictionaries, see here.
- DictionaryAdd
- DictionaryContains
- DictionaryCount
- DictionaryItem
- DictionaryRemove
- NewDictionary
- NewObjectDictionary
- NewScriptDictionary
- NewStringDictionary
- ObjectDictionaryItem
- QuickParams
- ScriptDictionaryItem
- StringDictionaryItem
String Functions
- Asc
- CapFirst
- Chr
- Conjugate
- Decimalise
- DisplayMoney
- DisplayNumber
- DynamicTemplate
- EndsWith
- FormatList
- GetMatchStrength
- Instr
- InstrRev
- IsNumeric
- IsRegexMatch
- Join
- LCase
- Left
- LengthOf
- LTrim
- Mid
- PadString
- ProcessText
- Replace
- ReverseDirection
- Right
- RTrim
- SafeXML
- Spaces
- Split
- StartsWith
- Template
- ToRoman
- ToWords
- Trim
- UCase
- WriteVerb
Clothing Functions
Randomising Functions
These functions all return a random value. See also here.
- DiceRoll
- GetRandomDouble
- GetRandomInt
- PickOneChild
- PickOneChildOfType
- PickOneExit
- PickOneObject
- PickOneString
- PickOneUnlockedExit
- RandomChance
General Functions
Core.aslx Functions
Functions with very specific effects in the game world.
- AddToInventory
- CanReachThrough
- CanSeeThrough
- ChangePOV
- CheckDarkness
- FormatExitList
- FormatObjectList
- GetBlockingObject
- GetDefiniteName
- GetDisplayAlias
- GetDisplayName
- GetDisplayNameLink
- GetDisplayVerbs
- GetListDisplayAlias
- GetNonTransparentParent
- GetVolume
- Got
- HelperCloseObject
- HelperOpenObject
- IsSwitchedOn
- ListParents
- SetDark
- SetExitLightstrength
- SetLight
- SetObjectLightstrength
- ShowRoomDescription
- SwitchOff
- SwitchOn
Internal Core.aslx Functions
Most games shouldn’t need to call these directly.
- AddExternalStylesheet
- AddStatusAttributesForElement
- CloseObject
- CommandLink
- CompareNames
- ContainsAccessible
- ContainsReachable
- ContainsVisible
- DisplayHttpLink
- DoAskTell
- DoDrop
- DoTake
- FormatStatusAttribute
- GenerateMenuChoices
- GetDefaultPrefix
- GetKeywordsMatchStrength
- GetPlacesObjectsList
- GetTaggedName
- GetUniqueElementName
- Grid_AddNewShapePoint
- Grid_ClearCustomLayer
- Grid_DrawArrow
- Grid_DrawGridLines
- Grid_DrawImage
- Grid_DrawLine
- Grid_DrawShape
- Grid_DrawSquare
- Grid_DrawSvg
- Grid_LoadSvg
- Grid_SetCentre
- Grid_ShowCustomLayer
- Grid_CalculateMapCoordinates
- Grid_DrawPlayerInRoom
- Grid_DrawRoom
- Grid_Redraw
- Grid_SetScale
- HandleCommand
- HandleSingleCommand
- HandleSingleCommandPattern
- InitInterface
- InitPOV
- InitVerbsList
- IsGameRunning
- ListObjectContents
- OnEnterRoom
- ObjectLink
- OpenObject
- Populate
- ResolveName
- ResolveNameInternal
- ResolveNameList
- ResolveNameListItem
- RunTurnScripts
- StartGame
- TryOpenClose
Mathematical Functions
These will not be relevant to many games at all, but are available as a consequence of the .NET framework Quest is built on. They are included here for completeness; if you need them, you will know what they do. There is no further documentation.
Quest has e and pi as built-in constants.
These all take a single floating point number, and return the corresponding floating point number. Note that the trigonometric functions use radians rather than degrees.
- Abs
- Acos
- Asin
- Atan
- Cos
- Exp
- Log
- Log10
- Sin
- Sinh
- Sqrt
- Tan
- Tanh
The following functions all take a floating point parameter and return an integer.
- Ceiling
- Floor
- Round
- Truncate
- Sign
These two functions take two parameters, and can be used with either floating point or integers, and return the same type.
- Max
- Min
Table of contents
- Functions for Attributes
- Functions for Variables
- Functions for Objects and Exits
- Timers and Turnscripts
- User Interface Functions
- List Functions
- Scope Functions
- Dictionary Functions
- String Functions
- Clothing Functions
- Randomising Functions
- General Functions
- Core.aslx Functions
- Internal Core.aslx Functions
- Mathematical Functions